Az egyéni elnevezett entitások felismerésének ismertetése

Befejeződött

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

Conceptual diagram showing a project steps to define entities, tag data, train model, view model, improve model, deploy model, and extract entities.

Az entitáskinyerési modell létrehozása általában a legtöbb Azure AI Language szolgáltatáshoz hasonló útvonalat követ:

  1. 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.
  2. 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.
  3. 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.
  4. 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).
  5. 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).
  6. 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.
  7. 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 CustomEntityRecognitionkö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.