Az egyéni elnevezett entitások felismerésének ismertetése
Az egyéni NER egy Azure API-szolgáltatás, amely megvizsgálja a dokumentumokat, azonosítja és kinyeri a felhasználó által definiált entitásokat. Ezek az entitások bármi lehetnek a nevektől és címektől kezdve a bankszámlakivonatokon át a tudásbányászatig a keresési eredmények javítása érdekében.
Az egyéni NER az Azure AI-szolgáltatásokBan az Azure AI Nyelv része.
Egyéni és beépített NER
Az Azure AI Language bizonyos beépített entitásfelismerést biztosít az olyan dolgok felismeréséhez, mint egy személy, hely, szervezet vagy URL. A beépített NER lehetővé teszi a szolgáltatás minimális konfigurációval történő beállítását és entitások kinyerét. Egy beépített NER meghívásához hozza létre a szolgáltatást, és hívja meg az adott NER-szolgáltatás végpontját az alábbi módon:
<YOUR-ENDPOINT>/language/analyze-text/jobs?api-version=<API-VERSION>
Helyőrző | Érték | Példa |
---|---|---|
<YOUR-ENDPOINT> |
Az API-kérés végpontja | https://<your-resource>.cognitiveservices.azure.com |
<AIP-VERSION> |
A hívott API verziója | 2023-05-01 |
A hívás törzse tartalmazza az entitások kinyert dokumentumait, a fejlécek pedig a szolgáltatáskulcsot.
A fenti hívás válasza felismert entitásokból álló tömböt tartalmaz, például:
<...>
"entities":[
{
"text":"Seattle",
"category":"Location",
"subcategory":"GPE",
"offset":45,
"length":7,
"confidenceScore":0.99
},
{
"text":"next week",
"category":"DateTime",
"subcategory":"DateRange",
"offset":104,
"length":9,
"confidenceScore":0.8
}
]
<...>
A beépített NER használatára példák a helyek, nevek vagy URL-címek megkeresése hosszú szöveges dokumentumokban.
Tipp.
Az elismert entitáskategóriák teljes listája elérhető a NER dokumentációjában.
Az egyéni NER, amely a modul többi részének középpontjában áll, akkor érhető el, ha a kinyerni kívánt entitások nem részei a beépített szolgáltatásnak, vagy csak adott entitásokat szeretne kinyerni. Az egyéni NER-modellt az alkalmazáshoz szükséges módon egyszerűvé vagy összetettebbé teheti.
Példák arra, hogy mikor szeretné az egyéni NER-t konkrét jogi vagy banki adatokkal, tudásbányászattal javítani a katalóguskeresést, vagy adott szöveget keresni a naplózási szabályzatokhoz. Ezen projektek mindegyikéhez egy adott entitás- és adatkészletre van szükség, amelyeket ki kell nyernie.
Az Azure AI Language projekt életciklusa
Az entitáskinyerési modell létrehozása általában a legtöbb Azure AI Language szolgáltatáshoz hasonló útvonalat követ:
- Entitások definiálása: Az azonosítani kívánt adatok és entitások megismerése, és próbálja meg a lehető legtisztábbá tenni őket. Meghatározhatja például, hogy a bankszámlakivonat mely részeit szeretné kinyerni.
- Adatok címkézése: A meglévő adatok címkézése vagy címkézése, megadva, hogy az adathalmaz melyik szövegének felel meg. Ez a lépés fontos, hogy pontosan és teljesen elvégezzen, mivel a hibás vagy elmulasztott címkék csökkentik a betanított modell hatékonyságát. A lehetséges bemeneti dokumentumok jó változata hasznos. Ilyen lehet például a bank neve, az ügyfél neve, az ügyfél címe, a konkrét hitel- vagy számlafeltételek, a hitel vagy a számla összege, valamint a számlaszám.
- Modell betanítása: A modell betanítása az entitások címkézése után. A betanítás bemutatja a modellnek, hogyan ismerheti fel a címkézett entitásokat.
- Modell megtekintése: A modell betanítása után tekintse meg a modell eredményeit. Ez az oldal 0–1 pontszámot tartalmaz, amely a tesztelt adatok pontosságán és visszahívásán alapul. Láthatja, hogy mely entitások működnek jól (például ügyfélnév), és mely entitásokat kell továbbfejleszteni (például fiókszámot).
- Modell javítása: A modell javítása azáltal, hogy láthatja, hogy mely entitásokat nem sikerült azonosítani, és mely entitások lettek helytelenül kinyerve. Megtudhatja, hogy milyen adatokat kell hozzáadni a modell betanításához a teljesítmény javítása érdekében. Ez az oldal bemutatja, hogyan hiúsultak meg az entitások, és mely entitásokat (például számlaszámot) kell megkülönböztetni más hasonló entitásoktól (például hitelösszegtől).
- Modell üzembe helyezése: Ha a modell a kívánt módon teljesít, telepítse a modellt, hogy elérhetővé tegye az API-val. Példánkban elküldheti a modellnek küldött kéréseket, amikor üzembe helyezték a bankszámlakivonat-entitások kinyeréséhez.
- Entitások kinyerése: A modell használatával kinyerheti az entitásokat. A labor bemutatja az API használatát, és további részletekért tekintse meg az API-referenciát .
Az adatkijelölés és -finomítási entitások szempontjai
A legjobb teljesítmény érdekében kiváló minőségű adatokat kell használnia a modell és a egyértelműen definiált entitástípusok betanítása érdekében.
A kiváló minőségű adatokkal kevesebb időt tölthet finomítással, és jobb eredményeket érhet el a modellből.
- Sokszínűség – az adathalmazok lehető legváltozatosabb használata anélkül, hogy elveszítené a valós adatokban várt valós eloszlást. A lehető legtöbb forrásból származó mintaadatokat érdemes használnia, amelyek mindegyike saját formátumokkal és entitások számával rendelkezik. A legjobb, ha az adathalmaz a lehető legtöbb különböző forrást képviseli.
- Disztribúció – a dokumentumtípusok megfelelő eloszlásának használata. A modell betanítása érdekében változatosabb adatkészlet segít a modellnek elkerülni a helytelen kapcsolatok tanulását az adatokban.
- Pontosság – olyan adatokat használjon, amelyek a lehető legközelebb állnak a valós adatokhoz. A hamis adatok a betanítási folyamat elindításához működnek, de valószínűleg eltérnek a valós adatoktól oly módon, hogy a modell nem tud megfelelően kinyerni.
Az entitásokat is körültekintően kell figyelembe venni, és a lehető legkülönlegesen kell meghatározni. Kerülje a kétértelmű entitásokat (például két nevet egymás mellett egy bankszámlakivonaton), mivel ez megnehezíti a modell megkülönböztetését. Ha kétértelmű entitásokra van szükség, győződjön meg arról, hogy a modellnek további példákat kell használnia a tanuláshoz, hogy megérthesse a különbséget.
Az entitások megkülönböztetése szintén sokat segít a modell teljesítményének javításában. Ha például egy telefonszámot, közösségi médialeírót vagy e-mail-címet tartalmazó "Kapcsolattartási adatok" kifejezéshez hasonlót próbál kinyerni, több példa is szükséges a modell helyes tanításához. Ehelyett próbálja meg lebontani őket konkrétabb entitásokra, például a "Telefon", az "E-mail" és a "Közösségi média" kifejezésre, és hagyja, hogy a modell megjelölje az általa talált kapcsolattartási adatokat.
Entitások kinyerése
A kinyerési feladat elküldéséhez az API megköveteli, hogy a JSON-törzs határozza meg, hogy melyik feladatot kell végrehajtani. Egyéni NER esetén a JSON hasznos adatainak feladata a CustomEntityRecognition
következő: .
A hasznos adatok a következő JSON-hoz hasonlóan fognak kinézni:
{
"displayName": "string",
"analysisInput": {
"documents": [
{
"id": "doc1",
"text": "string"
},
{
"id": "doc2",
"text": "string"
}
]
},
"tasks": [
{
"kind": "CustomEntityRecognition",
"taskName": "MyRecognitionTaskName",
"parameters": {
"projectName": "MyProject",
"deploymentName": "MyDeployment"
}
}
]
}
Projektkorlátok
Az Azure AI Language szolgáltatás a következő korlátozásokat kényszeríti ki:
- Betanítás – legalább 10 fájl, de legfeljebb 100 000
- Üzembe helyezés – Projektenként 10 üzembe helyezési név
- API-k
- Létrehozás – ez az API létrehoz egy projektet, betanít és üzembe helyezi a modellt. Legfeljebb 10 POST és 100 GET percenként
- Elemzés – ez az API végzi az entitások tényleges kinyerését; egy feladatot kér le, és lekéri az eredményeket. Legfeljebb 20 GET vagy POST
- Projektek – projektenként csak 1 tárfiók, erőforrásonként 500 projekt és projektenként 50 betanított modell
- Entitások – minden entitás legfeljebb 500 karakter hosszúságú lehet. Legfeljebb 200 entitástípussal rendelkezhet.
Részletes információkért tekintse meg az Azure AI-nyelv szolgáltatási korlátait ismertető oldalt.