Kurz: Funkce Document Intelligence se službami Azure AI
Azure AI Document Intelligence je služba Azure AI , která umožňuje vytvářet aplikaci automatizovaného zpracování dat pomocí technologie strojového učení. V tomto kurzu se dozvíte, jak snadno rozšířit data v Azure Synapse Analytics. Funkce Document Intelligence slouží k analýze formulářů a dokumentů, extrakci textu a dat a vrácení strukturovaného výstupu JSON. Rychle získáte přesné výsledky přizpůsobené vašemu konkrétnímu obsahu bez nadměrného ručního zásahu nebo rozsáhlých odborných znalostí datových věd.
Tento kurz ukazuje použití funkce Document Intelligence se SynapseML k:
- Extrahování textu a rozložení z daného dokumentu
- Detekce a extrakce dat z účtenek
- Detekce a extrakce dat z vizitek
- Zjišťování a extrahování dat z faktur
- Detekce a extrakce dat z identifikačních dokumentů
Pokud nemáte předplatné Azure, vytvořte si před zahájením bezplatného účtu.
Požadavky
- Azure Synapse pracovní prostor Analytics s Azure Data Lake Storage Gen2 účtem úložiště nakonfigurovaným jako výchozí úložiště. Musíte být přispěvatelem dat objektů blob služby Storage Data Lake Storage Gen2 systému souborů, se kterým pracujete.
- Fond Sparku v pracovním prostoru Azure Synapse Analytics. Podrobnosti najdete v tématu Vytvoření fondu Sparku v Azure Synapse.
- Kroky předběžné konfigurace popsané v kurzu Konfigurace služeb Azure AI v Azure Synapse.
Začínáme
Otevřete Synapse Studio a vytvořte nový poznámkový blok. Začněte tím, že naimportujete SynapseML.
import synapse.ml
from synapse.ml.cognitive import *
Konfigurace funkce Document Intelligence
Použijte propojenou funkci Document Intelligence, kterou jste nakonfigurovali v krocích před konfigurací .
ai_service_name = "<Your linked service for Document Intelligence>"
Analýza rozložení
Extrahujte text a informace o rozložení z daného dokumentu. Vstupní dokument musí mít jeden z podporovaných typů obsahu – "application/pdf", "image/jpeg", "image/png" nebo "image/tiff".
Příklad vstupu
from pyspark.sql.functions import col, flatten, regexp_replace, explode, create_map, lit
imageDf = spark.createDataFrame([
("<replace with your file path>/layout.jpg",)
], ["source",])
analyzeLayout = (AnalyzeLayout()
.setLinkedService(ai_service_name)
.setImageUrlCol("source")
.setOutputCol("layout")
.setConcurrency(5))
display(analyzeLayout
.transform(imageDf)
.withColumn("lines", flatten(col("layout.analyzeResult.readResults.lines")))
.withColumn("readLayout", col("lines.text"))
.withColumn("tables", flatten(col("layout.analyzeResult.pageResults.tables")))
.withColumn("cells", flatten(col("tables.cells")))
.withColumn("pageLayout", col("cells.text"))
.select("source", "readLayout", "pageLayout"))
Očekávané výsledky
Analýza stvrzenek
Detekuje a extrahuje data z účtenek pomocí optického rozpoznávání znaků (OCR) a našeho modelu účtenek, což vám umožní snadno extrahovat strukturovaná data z účtenek, jako je jméno obchodníka, telefonní číslo obchodníka, datum transakce, celkový počet transakcí a další.
Příklad vstupu
imageDf2 = spark.createDataFrame([
("<replace with your file path>/receipt1.png",)
], ["image",])
analyzeReceipts = (AnalyzeReceipts()
.setLinkedService(ai_service_name)
.setImageUrlCol("image")
.setOutputCol("parsed_document")
.setConcurrency(5))
results = analyzeReceipts.transform(imageDf2).cache()
display(results.select("image", "parsed_document"))
Očekávané výsledky
Analýza vizitek
Detekuje a extrahuje data z vizitek pomocí optického rozpoznávání znaků (OCR) a našeho modelu vizitek, což vám umožní snadno extrahovat strukturovaná data z vizitek, jako jsou jména kontaktů, názvy společností, telefonní čísla, e-maily a další.
Příklad vstupu
imageDf3 = spark.createDataFrame([
("<replace with your file path>/business_card.jpg",)
], ["source",])
analyzeBusinessCards = (AnalyzeBusinessCards()
.setLinkedService(ai_service_name)
.setImageUrlCol("source")
.setOutputCol("businessCards")
.setConcurrency(5))
display(analyzeBusinessCards
.transform(imageDf3)
.withColumn("documents", explode(col("businessCards.analyzeResult.documentResults.fields")))
.select("source", "documents"))
Očekávané výsledky
Analýza faktur
Detekuje a extrahuje data z faktur pomocí optického rozpoznávání znaků (OCR) a našich modelů hlubokého učení na faktuře, což vám umožní snadno extrahovat strukturovaná data z faktur, jako jsou odběratel, dodavatel, ID faktury, datum splatnosti faktury, celková částka faktury, splatná částka faktury, částka daně, příjemce, faktura do, řádkové položky a další.
Příklad vstupu
imageDf4 = spark.createDataFrame([
("<replace with your file path>/invoice.png",)
], ["source",])
analyzeInvoices = (AnalyzeInvoices()
.setLinkedService(ai_service_name)
.setImageUrlCol("source")
.setOutputCol("invoices")
.setConcurrency(5))
display(analyzeInvoices
.transform(imageDf4)
.withColumn("documents", explode(col("invoices.analyzeResult.documentResults.fields")))
.select("source", "documents"))
Očekávané výsledky
Analýza dokumentů ID
Rozpozná a extrahuje data z identifikačních dokumentů pomocí optického rozpoznávání znaků (OCR) a našeho modelu dokumentu ID, což vám umožní snadno extrahovat strukturovaná data z dokumentů ID, jako je jméno, příjmení, datum narození, číslo dokumentu a další.
Příklad vstupu
imageDf5 = spark.createDataFrame([
("<replace with your file path>/id.jpg",)
], ["source",])
analyzeIDDocuments = (AnalyzeIDDocuments()
.setLinkedService(ai_service_name)
.setImageUrlCol("source")
.setOutputCol("ids")
.setConcurrency(5))
display(analyzeIDDocuments
.transform(imageDf5)
.withColumn("documents", explode(col("ids.analyzeResult.documentResults.fields")))
.select("source", "documents"))
Očekávané výsledky
Vyčištění prostředků
Pokud chcete zajistit vypnutí instance Sparku, ukončete všechny připojené relace (poznámkové bloky). Fond se vypne při dosažení doby nečinnosti zadané ve fondu Apache Sparku. Můžete také vybrat zastavit relaci ze stavového řádku v pravém horním rohu poznámkového bloku.
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro