Share via


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:
  • "name": A legfelső szintű entitás; a "normalizált" űrlapot jelöli.
  • "id": Az entitás egyedi azonosítója az "Egyéni entitásdefinícióban" meghatározottak szerint.
  • "description": A felhasználó által az "Egyéni entitásdefiníció formátumában" definiált entitás leírása.
  • "type": A felhasználó által az "Egyéni entitásdefiníció formátumában" definiált entitástípus.
  • "subtype": A felhasználó által az "Egyéni entitásdefiníció formátumában" definiált entitás-altípus.
  • "matches": Összetett típusok tömbje, amelyek a következőket tartalmazzák:
    • "text" forrásdokumentumból
    • "offset" a találat helyének helyét,
    • "length" karakterben mért szöveg
    • "matchDistance" vagy az egyezés és az entitás "name"között különbséget tevő karakterek száma.

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.

Lásd még