Egyéni entitáskeresési kognitív képesség
Az egyéni entitáskeresési képesség az Ön által definiált entitások észlelésére vagy felismerésére szolgál. A készségkészlet végrehajtása során a képesség egy egyéni, felhasználó által definiált szó- és kifejezéslistából keres szöveget. A képesség ezzel a listával címkézi meg a forrásdokumentumokban található egyező entitásokat. A képesség támogatja a fuzzy egyezés fokát is, amely alkalmazható a hasonló, de nem pontos egyezések megkeresésére.
Feljegyzés
Ez a képesség nem egy Azure AI-szolgáltatási API-hoz van kötve, de egy Azure AI-szolgáltatási kulcsra van szükség, amely több mint 20 tranzakciót tesz lehetővé. Ezt a képességet az Azure AI Search méri.
@odata.type
Microsoft.Skills.Text.CustomEntityLookupSkill
Adatkorlátok
- A maximális bemeneti rekordméret 256 MB. Ha fel kell szakítania az adatokat, mielőtt elküldené azokat az egyéni entitáskeresési képességnek, fontolja meg a Szöveg felosztása készség használatát. Ha szöveges felosztási készséget használ, állítsa az oldalhosszt 5000-re a legjobb teljesítmény érdekében.
- Az egyéni entitásdefiníció maximális mérete 10 MB, ha külső fájlként van megadva, és az "entityesDefinitionUri" paraméteren keresztül van megadva.
- Ha az entitások beágyazott módon vannak definiálva az "inlineEntitiesDefinition" paraméterrel, a maximális méret 10 KB.
Képességparaméterek
A paraméterek megkülönböztetik a kis- és nagybetűket.
Paraméter neve | Leírás |
---|---|
entitiesDefinitionUri |
Az összes célszöveget tartalmazó külső JSON- vagy CSV-fájl elérési útja. Ezt az entitásdefiníciót az indexelő futtatásakor olvassa be a rendszer; A fájl futás közbeni frissítései csak a későbbi futtatások során lesznek megvalósítva. Ennek a fájlnak HTTPS-en keresztül kell elérhetőnek lennie. A várt CSV- vagy JSON-sémát az alábbi egyéni entitásdefiníciós formátumban találja. |
inlineEntitiesDefinition |
Beágyazott JSON-entitásdefiníciók. Ez a paraméter felülírja az entitásdefinitionUri paramétert, ha van ilyen. Legfeljebb 10 KB konfiguráció adható meg a beágyazott fájlban. A várt JSON-sémát lásd alább az egyéni entitásdefinícióban . |
defaultLanguageCode |
(Nem kötelező) A bemeneti szöveg tokenizálásához és lehatárolásához használt beviteli szöveg nyelvi kódja. A következő nyelvek támogatottak: da, de, en, es, fi, fr, it, pt . Az alapértelmezett érték az angol (en ). Ha egy formátumot languagecode-countrycode ad át, a rendszer csak a languagecode formátum egy részét használja. |
globalDefaultCaseSensitive |
(Nem kötelező) A képesség alapértelmezett kis- és nagybetűkre érzékeny értéke. Ha defaultCaseSensitive egy entitás értéke nincs megadva, ez az érték lesz az defaultCaseSensitive adott entitás értéke. |
globalDefaultAccentSensitive |
(Nem kötelező) A képesség alapértelmezett ékezetérzékeny értéke. Ha defaultAccentSensitive egy entitás értéke nincs megadva, ez az érték lesz az defaultAccentSensitive adott entitás értéke. |
globalDefaultFuzzyEditDistance |
(Nem kötelező) A képesség alapértelmezett fuzzy edit distance értéke. Ha defaultFuzzyEditDistance egy entitás értéke nincs megadva, ez az érték lesz az defaultFuzzyEditDistance adott entitás értéke. |
Készségbemenetek
Bemeneti név | Leírás |
---|---|
text |
Az elemezni kívánt szöveg. |
languageCode |
Opcionális. Az alapértelmezett szint a "en" . |
Képességkimenetek
Kimeneti név | Leírás |
---|---|
entities |
Összetett típusok tömbje, amely a következő mezőket tartalmazza:
|
Egyéni entitásdefiníció formátuma
Az egyéni entitások listájának az Egyéni entitások kereséséhez három módszer létezik:
- . CSV-fájl (UTF-8 kódolású)
- . JSON-fájl (UTF-8 kódolású)
- Beágyazott a képességdefiníción belül
Ha a definíciófájl egy . CSV vagy . JSON-fájl, adja meg a teljes elérési utat az "entitiesDefinitionUri" paraméterben. A fájl minden indexelő futtatásakor le lesz töltve. Az indexelő leállításáig elérhetőnek kell maradnia.
Ha beágyazott definíciót használ, adja meg az "inlineEntitiesDefinition" képességparaméter alatt.
Feljegyzés
Az indexelők támogatják a JSON- és CSV-fájlok speciális elemzési módjait. Az egyéni entitáskeresési készség használata esetén a "parsingMode" beállítás értéke "alapértelmezett". A képesség a JSON-t és a CSV-t nem átértelmezett állapotban várja.
CSV formátum
Megadhatja a vesszővel tagolt érték (CSV) fájlban keresni kívánt egyéni entitások definícióját a fájl elérési útjának megadásával és az "entitiesDefinitionUri" képességparaméter beállításával. Az elérési útnak https helyen kell lennie. A definíciós fájl mérete legfeljebb 10 MB lehet.
A CSV formátum egyszerű. Minden sor egy egyedi entitást jelöl az alábbiak szerint:
Bill Gates, BillG, William H. Gates
Microsoft, MSFT
Satya Nadella
Ebben az esetben három entitás adható vissza (Bill Gates, Satya Nadella, Microsoft). Az aliasok a fő entitás után következnek. Az aliasok egyezése az elsődleges entitás alá van csomagolva. Ha például a "William H. Gates" sztring megtalálható egy dokumentumban, a rendszer egyezést ad vissza a "Bill Gates" entitáshoz.
JSON formátum
A JSON-fájlban keresendő egyéni entitások definícióját is megadhatja. A JSON formátum egy kicsit rugalmasabb, mivel lehetővé teszi az egyező szabályok kifejezésenkénti meghatározását. Megadhatja például a homályos egyező távolságot (Damerau-Levenshtein távolság) minden egyes kifejezéshez, vagy azt, hogy az egyeztetésnek megkülönbözteti-e a kis- és nagybetűk megkülönböztetése vagy sem.
A CSV-fájlokhoz hasonlóan meg kell adnia a JSON-fájl elérési útját, és be kell állítania az "entitiesDefinitionUri" képességparaméterben. Az elérési útnak https helyen kell lennie. A definíciós fájl mérete legfeljebb 10 MB lehet.
Az egyéni JSON-entitások legalapvetőbb listadefiníciója az egyező entitások listája lehet:
[
{
"name" : "Bill Gates"
},
{
"name" : "Microsoft"
},
{
"name" : "Satya Nadella"
}
]
Az összetettebb definíciók felhasználói azonosítót, leírást, típust, altípust és aliasokat biztosíthatnak. Ha egy aliaskifejezés megfeleltetve van, a rendszer az entitást is visszaadja:
[
{
"name" : "Bill Gates",
"description" : "Microsoft founder." ,
"aliases" : [
{ "text" : "William H. Gates", "caseSensitive" : false },
{ "text" : "BillG", "caseSensitive" : true }
]
},
{
"name" : "Xbox One",
"type": "Hardware",
"subtype" : "Gaming Device",
"id" : "4e36bf9d-5550-4396-8647-8e43d7564a76",
"description" : "The Xbox One product"
},
{
"name" : "LinkedIn" ,
"description" : "The LinkedIn company",
"id" : "differentIdentifyingScheme123",
"fuzzyEditDistance" : 0
},
{
"name" : "Microsoft" ,
"description" : "Microsoft Corporation",
"id" : "differentIdentifyingScheme987",
"defaultCaseSensitive" : false,
"defaultFuzzyEditDistance" : 1,
"aliases" : [
{ "text" : "MSFT", "caseSensitive" : true }
]
}
]
Az alábbi táblázatok az egyéni entitások definiálásakor beállítható konfigurációs paramétereket írják le:
Mező neve | Leírás |
---|---|
name |
A legfelső szintű entitásleíró. A képességkimenetben szereplő egyezéseket ez a név fogja csoportosítani, és a talált szöveg "normalizált" formáját kell jelölnie. |
description |
(Nem kötelező) Ez a mező átengedhető a megfeleltetett szöveg(ek) egyéni metaadataihoz. Ennek a mezőnek az értéke az entitás minden egyezésével megjelenik a képességkimenetben. |
type |
(Nem kötelező) Ez a mező átengedhető a megfeleltetett szöveg(ek) egyéni metaadataihoz. Ennek a mezőnek az értéke az entitás minden egyezésével megjelenik a képességkimenetben. |
subtype |
(Nem kötelező) Ez a mező átengedhető a megfeleltetett szöveg(ek) egyéni metaadataihoz. Ennek a mezőnek az értéke az entitás minden egyezésével megjelenik a képességkimenetben. |
id |
(Nem kötelező) Ez a mező átengedhető a megfeleltetett szöveg(ek) egyéni metaadataihoz. Ennek a mezőnek az értéke az entitás minden egyezésével megjelenik a képességkimenetben. |
caseSensitive |
(Nem kötelező) Alapértelmezés szerint hamis. Logikai érték, amely azt jelzi, hogy az entitás nevével való összehasonlításnak érzékenynek kell-e lennie a karakterházra. A "Microsoft" nem érzéketlen példái lehetnek: microsoft, microSoft, MICROSOFT |
accentSensitive |
(Nem kötelező) Alapértelmezés szerint hamis. Logikai érték, amely azt jelzi, hogy az ékezetes és a nem formázott betűknek, például az "é" és az "e" betűnek azonosnak kell-e lenniük. |
fuzzyEditDistance |
(Nem kötelező) Alapértelmezés szerint 0. Maximális érték: 5. Azon eltérő karakterek elfogadható számát jelöli, amelyek továbbra is egyeznek az entitás nevével. A lehető legkisebb homályosságot adja vissza az adott találatokhoz. Ha például a szerkesztési távolság 3, akkor a "Windows 10" továbbra is megfelel a "Windows", a "Windows10" és a "windows 7" értéknek. Ha a kis- és nagybetűk érzékenysége hamis értékre van állítva, a kis- és nagybetűk közötti különbségek NEM számítanak bele a rugalmassági tűréshatárba, de máskülönben igen. |
defaultCaseSensitive |
(Nem kötelező) Módosítja az entitás alapértelmezett kis- és nagybetűk bizalmassági értékét. Az aliasok caseSensitive értékeinek alapértelmezett értékének módosítására használható. |
defaultAccentSensitive |
(Nem kötelező) Módosítja az entitás alapértelmezett ékezetes bizalmassági értékét. Az összes alias ékezetes jelölőértékének alapértelmezett értékének módosítására használható. |
defaultFuzzyEditDistance |
(Nem kötelező) Módosítja az entitás alapértelmezett fuzzy edit távolságértékét. Az összes alias alapértelmezett értékének módosítására használható fuzzyEditDistance értékek. |
aliases |
(Nem kötelező) Összetett objektumok tömbje, amelyek a gyökérentitás nevének alternatív helyesírási vagy szinonimáinak megadására használhatók. |
Alias tulajdonságai | Leírás |
---|---|
text |
Egy cél entitás nevének alternatív helyesírása vagy ábrázolása. |
caseSensitive |
(Nem kötelező) Ugyanúgy működik, mint a fenti "caseSensitive" fő entitás paraméter, de csak erre az egy aliasra vonatkozik. |
accentSensitive |
(Nem kötelező) Ugyanúgy működik, mint a fenti "accentSensitive" fő entitás paraméter, de csak erre az egy aliasra vonatkozik. |
fuzzyEditDistance |
(Nem kötelező) Ugyanúgy működik, mint a fenti "fuzzyEditDistance" fő entitás, de csak erre az egy aliasra vonatkozik. |
Beágyazott formátum
Bizonyos esetekben kényelmesebb lehet beágyazni az egyéni entitásdefiníciót úgy, hogy az beágyazott legyen a képességdefinícióval. Ugyanazt a JSON-formátumot használhatja, mint a fent leírt, azzal a különbséget leszámítva, hogy a képességdefiníció tartalmazza. Csak a 10 KB-nál kisebb méretű (szerializált) konfigurációk definiálhatók beágyazottan.
Minta készségdefiníció
Az alábbiakban egy beágyazott formátumot használó készségdefiníciós minta jelenik meg:
{
"@odata.type": "#Microsoft.Skills.Text.CustomEntityLookupSkill",
"context": "/document",
"inlineEntitiesDefinition":
[
{
"name" : "Bill Gates",
"description" : "Microsoft founder." ,
"aliases" : [
{ "text" : "William H. Gates", "caseSensitive" : false },
{ "text" : "BillG", "caseSensitive" : true }
]
},
{
"name" : "Xbox One",
"type": "Hardware",
"subtype" : "Gaming Device",
"id" : "4e36bf9d-5550-4396-8647-8e43d7564a76",
"description" : "The Xbox One product"
}
],
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "entities",
"targetName": "matchedEntities"
}
]
}
Másik lehetőségként egy külső entitásdefiníciós fájlra is mutathat. A formátumot használó entitiesDefinitionUri
minta készségdefiníció az alábbiakban látható:
{
"@odata.type": "#Microsoft.Skills.Text.CustomEntityLookupSkill",
"context": "/document",
"entitiesDefinitionUri": "https://myblobhost.net/keyWordsConfig.csv",
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "entities",
"targetName": "matchedEntities"
}
]
}
Minta indexdefiníció
Ez a szakasz egy indexdefiníció mintáját tartalmazza. Az "entitások" és a "egyezések" összetett típusú tömbök. Dokumentumonként több entitás is lehet, és minden entitáshoz több egyezés is tartozhat.
{
"name": "entities",
"type": "Collection(Edm.ComplexType)",
"fields": [
{
"name": "name",
"type": "Edm.String",
"facetable": false,
"filterable": false,
"retrievable": true,
"searchable": true,
"sortable": false,
},
{
"name": "id",
"type": "Edm.String",
"facetable": false,
"filterable": false,
"retrievable": true,
"searchable": false,
"sortable": false,
},
{
"name": "description",
"type": "Edm.String",
"facetable": false,
"filterable": false,
"retrievable": true,
"searchable": true,
"sortable": false,
},
{
"name": "type",
"type": "Edm.String",
"facetable": true,
"filterable": true,
"retrievable": true,
"searchable": false,
"sortable": false,
},
{
"name": "subtype",
"type": "Edm.String",
"facetable": true,
"filterable": true,
"retrievable": true,
"searchable": false,
"sortable": false,
},
{
"name": "matches",
"type": "Collection(Edm.ComplexType)",
"fields": [
{
"name": "text",
"type": "Edm.String",
"facetable": false,
"filterable": false,
"retrievable": true,
"searchable": true,
"sortable": false,
},
{
"name": "offset",
"type": "Edm.Int32",
"facetable": true,
"filterable": true,
"retrievable": true,
"sortable": false,
},
{
"name": "length",
"type": "Edm.Int32",
"facetable": true,
"filterable": true,
"retrievable": true,
"sortable": false,
},
{
"name": "matchDistance",
"type": "Edm.Double",
"facetable": true,
"filterable": true,
"retrievable": true,
"sortable": false,
}
]
}
]
}
Bemeneti mintaadatok
{
"values": [
{
"recordId": "1",
"data":
{
"text": "The company, Microsoft, was founded by Bill Gates. Microsoft's gaming console is called Xbox",
"languageCode": "en"
}
}
]
}
Példakimenet
{
"values" :
[
{
"recordId": "1",
"data" : {
"entities": [
{
"name" : "Microsoft",
"description" : "This document refers to Microsoft the company",
"id" : "differentIdentifyingScheme987",
"matches" : [
{
"text" : "microsoft",
"offset" : 13,
"length" : 9,
"matchDistance" : 0
},
{
"text" : "Microsoft",
"offset" : 49,
"length" : 9,
"matchDistance" : 0
}
]
},
{
"name" : "Bill Gates",
"description" : "William Henry Gates III, founder of Microsoft.",
"matches" : [
{
"text" : "Bill Gates",
"offset" : 37,
"length" : 10,
"matchDistance" : 0
}
]
}
]
}
}
]
}
Figyelmeztetések
"Reached maximum capacity for matches, skipping all further duplicate matches."
Ez a figyelmeztetés akkor jelenik meg, ha az észlelt egyezések száma meghaladja az engedélyezett maximális értéket. A rendszer nem ad vissza több duplikált egyezést. Ha magasabb küszöbértékre van szüksége, támogatási jegyet is beszúrhat az egyéni használati esettel kapcsolatos segítségért.