Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.
Analyzátor jazyka je specifický typ analyzátoru textu, který provádí lexikální analýzu pomocí lingvistických pravidel cílového jazyka. Každé prohledávatelné řetězcové pole má vlastnost analyzátoru. Pokud se váš obsah skládá z přeložených řetězců, jako jsou samostatná pole pro text v angličtině a čínštině, můžete na každém poli zadat jazykové analyzátory, abyste využili bohaté lingvistické možnosti těchto analyzátorů.
Kdy použít analyzátor jazyka
Analyzátor jazyka byste měli zvážit v klasických pracovních postupech vyhledávání, které neobsahují velké jazykové modely a jejich povědomí o jazykových pravidlech a vícejazyčný obsah.
Při vyhledávání tříd můžete přidat analyzátor jazyka, když povědomí o struktuře slov nebo vět zvyšuje hodnotu analýzy textu. Běžným příkladem je asociace nepravidelných tvarů sloves ("bring" a "brought") nebo množných jmen ("myši" a "myš"). Bez lingvistického povědomí se tyto řetězce analyzují pouze na základě fyzických vlastností, což neumožňuje zachytit spojení. Vzhledem k tomu, že velké bloky textu budou pravděpodobně mít tento obsah, jsou pole skládající se z popisů, recenzí nebo souhrnů vhodnými kandidáty pro analyzátor jazyka.
Analyzátory jazyka můžete zvážit také v případech, kdy se obsah skládá z řetězců jiných jazyků než západního jazyka. I když je výchozí analyzátor (Standard Lucene) nezávislý na jazyce, koncept použití mezer a speciálních znaků (spojovníků a lomítek) k oddělení řetězců je vhodnější pro západní jazyky než pro nezápadní jazyky.
Například v čínštině, japonštině, korejštině (CJK) a jiných asijských jazycích není mezera nutně oddělovačem slov. Představte si následující japonský řetězec. Vzhledem k tomu, že neobsahuje mezery, analyzátor nezávislý na jazyce by pravděpodobně analyzoval celý řetězec jako jeden token, pokud je ve skutečnosti řetězec ve skutečnosti frází.
これは私たちの銀河系の中ではもっとも重く明るいクラスの球状星団です。
(This is the heaviest and brightest group of spherical stars in our galaxy.)
V příkladu výše by úspěšný dotaz musel obsahovat celý token nebo částečný token s použitím zástupného znaku na konci, což vede k nepřirozené a omezující vyhledávací zkušenosti.
Lepší je hledat jednotlivá slova: 明るい (Bright), 私たちの (Naše), 銀河系 (Galaxy). Použití některého z japonských analyzátorů dostupných ve službě Azure AI Vyhledávač je pravděpodobnější, že toto chování odemknete, protože tyto analyzátory jsou lépe vybavené rozdělením bloku textu na smysluplná slova v cílovém jazyce.
Porovnání Lucene a Microsoft Analyzerů
Azure AI Vyhledávač podporuje 35 analyzátorů jazyka podporovaných Lucene a 50 analyzátorů jazyka podporovaných proprietární technologií microsoftu pro zpracování přirozeného jazyka používané v Office a Bingu.
Někteří vývojáři můžou preferovat opensourcové řešení Lucene. Analyzátory jazyka Lucene jsou rychlejší, ale analyzátory Microsoftu mají pokročilé funkce, jako je lemmatizace, dekompounding slov (v jazycích, jako je němčina, dánština, holandština, švédština, norština, estonsko, finština, maďarština, slovenština) a rozpoznávání entit (adresy URL, e-maily, kalendářní data, čísla). Pokud je to možné, měli byste spustit porovnání analyzátorů Microsoftu i Lucene, abyste se rozhodli, která z nich je vhodnější. Pomocí rozhraní ANALYZE API můžete zobrazit tokeny generované z daného textu pomocí konkrétního analyzátoru.
Indexování pomocí analyzátorů Microsoftu je v závislosti na jazyce průměrně dvakrát až třikrát pomalejší než jejich ekvivalenty Lucene. Výkon vyhledávání by neměl být výrazně ovlivněn u dotazů průměrné velikosti.
Anglické analyzátory
Výchozí analyzátor je Standard Lucene, který funguje dobře pro angličtinu, ale možná ne stejně jako anglický analyzátor Lucene nebo anglický analyzátor Microsoftu.
Analyzátor angličtiny v systému Lucene rozšiřuje standardní analyzátor. Odebere z slov přivlastňovací výrazy (koncové "s"), použije se na základě algoritmu porter stemmingu a odebere slova stop v angličtině.
Anglický analyzátor společnosti Microsoft provádí lemmatizaci místo stemmingu. To znamená, že dokáže zpracovat inlektované a nepravidelné tvary slov mnohem lépe, což vede k relevantnějším výsledkům hledání.
Určení analyzátoru jazyka
Před načtením dat nastavte analyzátor během vytváření indexu.
V definici pole se ujistěte, že je pole přiřazeno jako "prohledávatelné" a je typu Edm.String.
Nastavte vlastnost analyzátoru na jeden z analyzátorů jazyka ze seznamu podporovaných analyzátorů.
Vlastnost "analyzer" je jediná vlastnost, která přijme analyzátor jazyka a používá se pro indexování i dotazy. Jiné vlastnosti související s analyzátorem ("searchAnalyzer" a "indexAnalyzer") nepřijímají analyzátor jazyka.
Analyzátory jazyka nelze přizpůsobit. Pokud analyzátor nesplňuje vaše požadavky, vytvořte vlastní analyzátor s microsoft_language_tokenizer nebo microsoft_language_stemming_tokenizer a přidejte filtry pro zpracování před a po tokenizaci.
Následující příklad znázorňuje specifikaci analyzátoru jazyka v indexu:
{
"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
},
Pro více informací o vytváření indexu a nastavení vlastností polí, viz Vytvoření indexu (REST). Další informace o analýze textu najdete v tématu Analyzátory ve službě Azure AI Vyhledávač.
Podporované analyzátory jazyka
Níže je seznam podporovaných jazyků s názvy Analyzátorů Lucene a Microsoftu.
| Jazyk | Název nástroje Microsoft Analyzer | Název analyzátoru Lucene |
|---|---|---|
| Arabština | ar.microsoft | ar.lucene |
| Arménština | hy.lucene | |
| Bengálština | bn.microsoft | |
| Baskičtina | eu.lucene | |
| Bulharština | bg.microsoft | bg.lucene |
| Katalánština | ca.microsoft | ca.lucene |
| Čínština (zjednodušená) | zh-Hans.microsoft | zh-Hans.lucene |
| Tradiční čínština | zh-Hant.microsoft | zh-Hant.lucene |
| Chorvatština | hr.microsoft | |
| Čeština | cs.microsoft | cs.lucene |
| Dánština | da.microsoft | da.lucene |
| Nizozemština | nl.microsoft | nl.lucene |
| Angličtina | en.microsoft | en.lucene |
| Estonština | et.microsoft | |
| Finština | fi.microsoft | fi.lucene |
| Francouzština | fr.microsoft | fr.lucene |
| Galicijština | gl.lucene | |
| Němčina | de.microsoft | de.lucene |
| Řečtina | el.microsoft | el.lucene |
| Gudžarátština | gu.microsoft | |
| Hebrejština | he.microsoft | |
| Hindština | hi.microsoft | Ahoj, Lucene |
| Maďarština | hu.microsoft | hu.lucene |
| Islandština | is.microsoft | |
| Indonéština (Bahasa) | id.microsoft | id.lucene |
| Irština | ga.lucene | |
| Italština | it.microsoft | it.lucene |
| Japonština | ja.microsoft | ja.lucene |
| Kannadština | kn.microsoft | |
| Korejština | ko.microsoft | ko.lucene |
| Lotyština | lv.microsoft | lv.lucene |
| Litevština | lt.microsoft | |
| Malajalámština | ml.microsoft | |
| Malajá (latinka) | ms.microsoft | |
| Maráthština | mr.microsoft | |
| Norština | nb.microsoft | no.lucene |
| Perština | fa.lucene | |
| Polština | pl.microsoft | pl.lucene |
| Portugalština (Brazílie) | pt-Br.microsoft | pt-Br.lucene |
| portugalština (Portugalsko) | pt-Pt.microsoft | pt-Pt.lucene |
| Paňdžábština | pa.microsoft | |
| Rumunština | ro.microsoft | ro.lucene |
| Ruština | ru.microsoft | ru.lucene |
| Srbština (cyrilice) | sr-cyrillic.microsoft | |
| Srbština (latinka) | sr-latin.microsoft | |
| Slovenština | sk.microsoft | |
| Slovinština | sl.microsoft | |
| Španělština | es.microsoft | es.lucene |
| Švédština | sv.microsoft | sv.lucene |
| Tamilština | ta.microsoft | |
| Telugština | te.microsoft | |
| Thajština | th.microsoft | th.lucene |
| Turečtina | tr.microsoft | tr.lucene |
| Ukrajinština | uk.microsoft | |
| Urdština | ur.microsoft | |
| Vietnamština | vi.microsoft |
Všechny analyzátory s názvy anotovanými pomocí Lucene využívají analyzátory jazyka Apache Lucene.