Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Note
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
A nyelvelemző egy adott típusú szövegelemző , amely lexikális elemzést végez a célnyelv nyelvi szabályaival. Minden kereshető sztringmező rendelkezik elemző tulajdonsággel. Ha a tartalom lefordított sztringekből áll, például az angol és a kínai szöveg külön mezőiből, az egyes mezők nyelvelemzőit is megadhatja az elemzők gazdag nyelvi képességeinek eléréséhez.
Mikor érdemes nyelvelemzőt használni?
Érdemes megfontolnia egy nyelvelemzőt a klasszikus keresési munkafolyamatokban, amelyek nem tartalmaznak nagy nyelvi modelleket és azok nyelvi szabályokkal, valamint többnyelvű tartalommal kapcsolatos tudatosságát.
Az osztálykeresés során hozzáadhat egy nyelvelemzőt, ha a szavak vagy mondatok szerkezetének megismerése értéket ad a szövegelemzéshez. Gyakori példa a szabálytalan igealakok ("bring" és "brought") vagy többes számú főnév ("egerek" és "egér") társítása. Nyelvi tudatosság nélkül ezek a karakterláncok csak a fizikai jellemzők alapján kerülnek elemzésre, ami nem érzékeli a kapcsolatot. Mivel a nagy mennyiségű szöveg nagyobb valószínűséggel rendelkezik ezzel a tartalommal, a leírásokból, véleményekből vagy összefoglalókból álló mezők jó jelöltek egy nyelvelemző számára.
A nyelvelemzők akkor is megfontolandók, ha a tartalom nem nyugati nyelvű karakterláncokból áll. Míg az alapértelmezett elemző (Standard Lucene) nyelv-agnosztikus, a szóközök és speciális karakterek (kötőjelek és perjelek) elválasztására való használata a nyugati nyelvekre jobban alkalmazható, mint a nem nyugati nyelvekre.
Például a kínai, japán, koreai (CJK) és más ázsiai nyelvekben a szóköz nem feltétlenül szóelválasztó. Vegye figyelembe a következő japán karakterláncot. Mivel nincs szóköze, egy nyelvfüggetlen elemző valószínűleg a teljes karakterláncot egy tokenként elemezné, amikor valójában a karakterlánc valójában egy kifejezés.
これは私たちの銀河系の中ではもっとも重く明るいクラスの球状星団です。
(This is the heaviest and brightest group of spherical stars in our galaxy.)
A fenti példában a sikeres lekérdezésnek tartalmaznia kell a teljes jogkivonatot, vagy egy helyettesítő karaktert használó részleges jogkivonatot, ami természetellenes és korlátozott keresési élményt eredményez.
Egy jobb élmény, ha az egyes szavakat keresi: 明るい (Fényes), 私たちの (Mi), 銀河系 (Galaxis). Az Azure AI Keresésben elérhető egyik japán elemző használata nagyobb valószínűséggel oldja fel ezt a viselkedést, mivel ezek az elemzők jobban fel vannak szerelve a szövegrészek jelentéssel bíró szavakra való felosztására a célnyelven.
Lucene és Microsoft Analyzers összehasonlítása
Az Azure AI Keresés 35, Lucene által támogatott nyelvelemzőt és 50 nyelvelemzőt támogat, amelyeket az Office-ban és a Bingben használt, saját fejlesztésű Microsoft természetes nyelvi feldolgozási technológia támogat.
Egyes fejlesztők előnyben részesíthetik a Lucene nyílt forráskódú megoldását. A Lucene nyelvelemzők gyorsabbak, de a Microsoft-elemzők fejlett képességekkel rendelkeznek, például lemmatizálással, szóbontással (például német, dán, holland, svéd, norvég, észt, finn, magyar, szlovák) és entitásfelismerés (URL-címek, e-mailek, dátumok, számok). Ha lehetséges, futtassa a Microsoft és a Lucene elemzők összehasonlítását, hogy eldöntse, melyik a jobb választás. Az Analyze API használatával megtekintheti az adott szövegből létrehozott jogkivonatokat egy adott elemző használatával.
A Microsoft-elemzőkkel végzett indexelés átlagosan 2-3-szor lassabb, mint a Lucene-megfelelőik, a nyelvtől függően. Az átlagos méretű lekérdezések esetében a keresési teljesítményt nem szabad jelentősen befolyásolni.
Angol elemzők
Az alapértelmezett elemző a Standard Lucene, amely angolul is jól működik, de talán nem olyan jól, mint Lucene angol elemzője vagy a Microsoft angol elemzője.
Lucene angol elemzője kibővíti a Standard elemzőt. Eltávolítja a birtokosokat (záró 's-okat) a szavakból, a Porter Stemming algoritmus szerint szótöveket képez, és eltávolítja az angol stopwords szavakat.
A Microsoft angol elemzője lemmatizálást végez a szótövezés helyett. Ez azt jelenti, hogy sokkal jobban képes kezelni a felfújt és szabálytalan szavakat, ami relevánsabb keresési eredményeket eredményez.
Nyelvelemző megadása
Állítsa be az elemzőt az index létrehozásakor, mielőtt betöltené az adatokat.
A meződefinícióban győződjön meg arról, hogy a mező "kereshető" és Edm.String típusú.
Állítsa az "analyzer" tulajdonságot a támogatott elemzők listájában szereplő nyelvelemzők egyikére.
Az "analyzer" tulajdonság az egyetlen tulajdonság, amely elfogadja a nyelvelemzőt, és az indexeléshez és a lekérdezésekhez is használható. Az elemzővel kapcsolatos egyéb tulajdonságok ("searchAnalyzer" és "indexAnalyzer") nem fogadnak el nyelvelemzőt.
A nyelvelemzők nem szabhatók testre. Ha egy elemző nem felel meg a követelményeinek, hozzon létre egy egyéni elemzőt a microsoft_language_tokenizer vagy a microsoft_language_stemming_tokenizer használatával, majd adjon hozzá szűrőket a tokenizáció előtti és utáni feldolgozáshoz.
Az alábbi példa egy index nyelvelemző specifikációját szemlélteti:
{
"name": "hotels-sample",
"fields": [
{
"name": "Description",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "en.microsoft",
"indexAnalyzer": null,
"searchAnalyzer": null
},
{
"name": "Description_fr",
"type": "Edm.String",
"retrievable": true,
"searchable": true,
"analyzer": "fr.microsoft",
"indexAnalyzer": null,
"searchAnalyzer": null
},
Az index létrehozásáról és a mezőtulajdonságok beállításáról további információt az Index létrehozása (REST) című témakörben talál. A szövegelemzéssel kapcsolatos további információkért lásd : Elemzők az Azure AI Keresésben.
Támogatott nyelvelemzők
Az alábbiakban látható a támogatott nyelvek listája Lucene és Microsoft-elemzők nevével.
| Nyelv | Microsoft Analyzer neve | Lucene Analyzer neve |
|---|---|---|
| Arab | ar.microsoft | ar.lucene |
| Örmény | hy.lucene | |
| Bengáli | bn.microsoft | |
| Baszk | eu.lucene | |
| Bolgár | bg.microsoft | bg.lucene |
| Katalán | ca.microsoft | ca.lucene |
| kínai (egyszerűsített) | zh-Hans.microsoft | zh-Hans.lucene |
| Kínai (hagyományos) | zh-Hant.microsoft | zh-Hant.lucene |
| Horvát | hr.microsoft | |
| Cseh | cs.microsoft | cs.lucene |
| Dán | da.microsoft | da.lucene |
| Holland | nl.microsoft | nl.lucene |
| Angol | en.microsoft | en.lucene |
| Észt | et.microsoft | |
| finn | fi.microsoft | fi.lucene |
| Francia | fr.microsoft | fr.lucene |
| Gallego | gl.lucene | |
| Német | de.microsoft | de.lucene |
| Görög | el.microsoft | el.lucene |
| Gudzsaráti | gu.microsoft | |
| héber | he.microsoft | |
| hindi | hi.microsoft | hi.lucene |
| Magyar | hu.microsoft | hu.lucene |
| Izlandi | is.microsoft | |
| Indonéz nyelv (Bahasa) | id.microsoft | id.lucene |
| Ír | ga.lucene | |
| Olasz | it.microsoft | it.lucene |
| Japán | ja.microsoft | ja.lucene |
| Kannada | kn.microsoft | |
| Koreai | ko.microsoft | ko.lucene |
| lett | lv.microsoft | lv.lucene |
| Litván | lt.microsoft | |
| Malajálam | ml.microsoft | |
| Maláj (latin) | ms.microsoft | |
| Marathi | mr.microsoft | |
| Norvég | nb.microsoft | no.lucene |
| Perzsa | fa.lucene | |
| Lengyel | pl.microsoft | pl.lucene |
| Portugál (Brazília) | pt-Br.microsoft | pt-Br.lucene |
| Portugál (Portugália) | pt-Pt.microsoft | pt-Pt.lucene |
| Pandzsábi | pa.microsoft | |
| Román | ro.microsoft | ro.lucene |
| Orosz | ru.microsoft | ru.lucene |
| Szerb (cirill betűs) | sr-cirillic.microsoft | |
| Szerb (latin betűs) | sr-latin.microsoft | |
| Szlovák | sk.microsoft | |
| Szlovén | sl.microsoft | |
| Spanyol | es.microsoft | es.lucene |
| svéd | sv.microsoft | sv.lucene |
| Tamil | ta.microsoft | |
| Telugu | te.microsoft | |
| thai | th.microsoft | th.lucene |
| Török | tr.microsoft | tr.lucene |
| Ukrán | uk.microsoft | |
| urdu | ur.microsoft | |
| Vietnámi | vi.microsoft |
A Lucene-nel jegyzett összes elemzőt Apache Lucene nyelvelemzői működtetik.