[PYTHON] Stapelverarbeitungsformulare mit Azure Form Recognizer

Es gibt einen Dienst namens Azure Form Recognition. https://azure.microsoft.com/ja-jp/services/cognitive-services/form-recognizer/

Es ist ein ausgezeichnetes, das das Formular gut liest und die Zieldaten extrahiert. Da es auch eine API gibt, habe ich ein Python-Skript geschrieben, das mehrere Formulare gleichzeitig verarbeiten kann https://github.com/yosukearaiMS13/formrecognizerbatch/blob/master/fy.py

Der Inhalt des Skripts und seine Verwendung werden unten erläutert.

Inhalt des Skripts

Das Skript wird erstellt, indem das Beispiel im Dokument erweitert wird https://docs.microsoft.com/ja-jp/azure/cognitive-services/form-recognizer/quickstarts/python-labeled-data?tabs=v2-0

Das Skript besteht aus 4 Abschnitten https://github.com/yosukearaiMS13/formrecognizerbatch/blob/master/fy.py

fr.py



# Configurations:Verschiedene Einstellparameter

#Post-Analyse-Ziel-PDF-Abschnitt
##Veröffentlichen Sie alle zu analysierenden Daten im Formularerkenner

# Get analyze results section
##Rufen Sie das Analyseergebnis (einschließlich der extrahierten Daten) der zuvor veröffentlichten Daten ab.

#CSV-Ausgabeabschnitt des Extraktionsergebnisses
##Das Extraktionsergebnis wird ausgegeben. Entfernen Sie zusätzlichen Leerraum und ersetzen Sie unzuverlässige extrahierte Werte
##(Wenn es unter dem Schwellenwert liegt, wird der extrahierte Wert nicht übernommen und stattdessen die Zuverlässigkeit verwendet.[]Ausgabe in Box)
##Macht gerade

Der Abschnitt Get-Analyseergebnisse und CSV-Ausgabe der Extraktionsergebnisse analysiert den vom Formularerkenner zurückgegebenen JSON. Klicken Sie hier für das JSON-Format https://github.com/Azure-Samples/cognitive-services-REST-api-samples/blob/master/curl/form-recognizer/Invoice_1.pdf.ocr.json

Das Format der Ausgabe-CSV ist wie folgt.

Die in den einzelnen Abschnitten verwendeten APIs lauten wie folgt --Postanalysiertes PDF: Formular analysieren

Verwendung des Skripts

1. Umwelt

Win10 Enterprise, Python 3.8.5, IDE ist optional

2. Vorbereitung der Datenextraktion

(* Von der erforderlichen Arbeit bis zur Vorbereitung der Datenextraktion 1 ist dieser Qiita-Artikel ebenfalls hilfreich.)

fr.py


## Configurations
endpoint = r"https://xxxxx.cognitiveservices.azure.com/"
apim_key = "xxxxx"
model_id = "xxxxx"
sourceDir = r"C:\xxxxx\*"
confidence_setting = 0.9 # 0~1.Wird nicht übernommen, wenn die Zuverlässigkeit unter diesem Wert liegt

--endpoint: Formularerkennungsendpunkt --apim_key: Formularerkennungsschlüssel 1 oder 2![Image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/327770/21e50af5-135e-a847-6040 -233601fdfbbf.png) --sourceDir: Beschreiben Sie den Speicherort der zu analysierenden Formulardatei mit dem vollständigen Pfad --confidence_setting: Setzen Sie einen Wert von 0 bis 1 (* Wenn die Zuverlässigkeit als Skriptspezifikation kleiner oder gleich diesem Wert ist, wird der extrahierte Wert nicht übernommen, sondern der Zuverlässigkeitsbewertungswert wird in [] ausgegeben. Ist)

fr.py


## Configurations
endpoint = r"https://xxxxx.cognitiveservices.azure.com/"
apim_key = "xxxxx"
model_id = "xxxxx"
sourceDir = r"C:\xxxxx\*"
confidence_setting = 0.9 # 0~1.Wird nicht übernommen, wenn die Zuverlässigkeit unter diesem Wert liegt

--Model_id: Legen Sie die oben erhaltene Modell-ID fest

3. Datenextraktion

4. Einschränkungen usw.

――Es ist ein Dateiformat des zu trainierenden und zu analysierenden Formulars, aber ich habe nur PDF ausprobiert

Recommended Posts

Stapelverarbeitungsformulare mit Azure Form Recognizer
Bildverarbeitung mit MyHDL
Datensätze mit Pandas verarbeiten (1)
Datensätze mit Pandas verarbeiten (2)
Bildverarbeitung mit Python
Parallelverarbeitung mit Mehrfachverarbeitung
Bildverarbeitung mit PIL