Extrakce dat pomocí indexeru
Jádrem řešení Azure AI Search je vytvoření indexu , který obsahuje prohledávatelný obsah a je vytvořen a aktualizován, nedive se, indexerem.
Proces indexování začíná zdrojem dat: umístěním úložiště původních datových artefaktů; například kontejner úložiště objektů blob Azure plný dokumentů, databáze nebo jiného úložiště.
Indexer automatizuje extrakci a indexování datových polí prostřednictvím kanálu rozšiřování, ve kterém použije prolomení dokumentu k extrakci obsahu zdrojových dokumentů a použije přírůstkové kroky k vytvoření hierarchického dokumentu (založeného na JSON) s požadovanými poli pro definici indexu.
Výsledkem je vyplněný index, na který se dá dotazovat tak, aby vracela zadaná pole z dokumentů, které splňují kritéria dotazu.
Způsob vytváření dokumentů během indexování
Proces indexování funguje vytvořením dokumentu pro každou indexovanou entitu. Během indexování obohacovací proces iterativně sestavuje dokumenty, které kombinují metadata ze zdroje dat s obohacenými poli extrahovanými nebo generovanými dovednostmi. Každý indexovaný dokument si můžete představit jako strukturu JSON, která se zpočátku skládá z dokumentu s poli indexu, která jste namapovali na pole extrahovaná přímo ze zdrojových dat, například takto:
-
dokument
- metadata_storage_name
- metadata_author
- obsah
Když dokumenty ve zdroji dat obsahují obrázky, můžete indexer nakonfigurovat tak, aby extrahovali data obrázku a umístili každý obrázek do normalized_images kolekce, například takto:
-
dokument
- metadata_storage_name
- metadata_author
- obsah
-
normalized_images
- image0
- obrázek 1
Normalizace dat obrázků tímto způsobem umožňuje používat kolekci obrázků jako vstup pro dovednosti, které extrahují informace z dat obrázků.
Každá dovednost přidá do dokumentu pole, takže například dovednost, která rozpozná jazyk , ve kterém je dokument napsaný, může uložit svůj výstup do pole jazyka , například takto:
-
dokument
- metadata_storage_name
- metadata_author
- obsah
-
normalized_images
- image0
- obrázek 1
- Jazyk
Dokument je strukturovaný hierarchicky a dovednosti se použijí na konkrétní kontext v hierarchii, což vám umožní spouštět dovednosti pro každou položku na konkrétní úrovni dokumentu. Můžete například spustit dovednost optického rozpoznávání znaků (OCR) pro každý obrázek v normalizované kolekci obrázků, abyste extrahovali jakýkoli text, který obsahují:
-
dokument
- metadata_storage_name
- metadata_author
- obsah
-
normalized_images
-
image0
- Text
-
obrázek 1
- Text
-
image0
- Jazyk
Výstupní pole z jednotlivých dovedností lze použít jako vstupy pro další dovednosti později v procesu, které pak ukládají své výstupy ve struktuře dokumentu. Pomocí dovednosti sloučení bychom mohli například zkombinovat původní textový obsah s textem extrahovaným z každého obrázku a vytvořit nové pole merged_content obsahující veškerý text v dokumentu, včetně textu obrázku.
-
dokument
- metadata_storage_name
- metadata_author
- obsah
-
normalized_images
-
image0
- Text
-
obrázek 1
- Text
-
image0
- Jazyk
- spojený_obsah
Pole ve finální struktuře dokumentu na konci procesu jsou indexátorem mapována na indexová pole jedním ze dvou způsobů:
- Pole extrahovaná přímo ze zdrojových dat se mapují na pole indexu. Tato mapování můžou být implicitní (pole se automaticky mapují na pole se stejným názvem v indexu) nebo explicitní (mapování se definuje tak, aby odpovídalo zdrojovému poli s indexovým polem, často kvůli přejmenování pole na něco užitečnějšího nebo použití funkce na hodnotu dat při mapování).
- Výstupní pole z dovedností v sadě dovedností se explicitně mapují z jejich hierarchického umístění ve výstupu na cílové pole v indexu.