Azure Document Intelligence

Aus Helper
Zur Navigation springen Zur Suche springen

Beschreibung

Document Intelligence ist ein AI basierter cognigitive service von Microsoft Azure.

Der Dienst besteht zumindest aus einem Document intelligence Objekt und einem zugehörigen Speicherkonto.
Wenn ein neues Projekt in Document intelligence Studio (kurz: DIS) angelegt wird, muss dafür ein Speicherkonto genannt werden. Das Speicherkonto wird benötigt, um die Trainingsdateien für die AI Modelle zur Verfügung zu stellen.

Die Feldkonfiguration für die extraktion und das Training eines zugehörigen Models werden im WebUI des DIS gehandhabt. Die Handhabung der Daten sehen wir uns im Kapitel Speicherlaufwerke genauer an.

DIS bietet verschiedene vorkonfigurierte Modelle, diese sind für uns an dieser Stelle erstmal nicht relevant.
Um eigene Modelle zu erstellen und zu trainieren, verwenden wir die "Custom extraction", bzw. die "custom classification" falls die Dokumente erst separiert werden müssen.

Azure Ressourcen

Auf der Portalseite von Azure finden sich die Ressourcen welche der Ressourcengruppe BSB_AI-Services zugehörig sind. Aktuell ist dort ein Document intelligence Dienst und ein Speicherkonto zu finden.

Verschiedene Projekte können problemlos auf den selben Ressource ausgeführt werden. Das DIS WebUI ist eine davon losgelöste Plattform, welche darunter laufenden Projekte an ein Benutzerkonto bindet. Die Projekte selbst werden jedoch beim erstellen dauerhaft mit den hier gezeigten Ressourcen verknüpft.

Cognitive Service - Document Intelligence

Die Resource des vorläufig ersten Document intelligence Objektes heisst "BSBDocInt". Es gibt dort keine weiteren Einstellungen, welche durch den Benutzer vorgenommen werden sollten.

Die Detailseite der Resource ermöglicht die Anzeige der Zugriffsschlüssel und des Endpunktes für die Konfiguration des Helper Arbeitsschrittes.

Die Endpunkte setzen sich grunsätzlich aus dem Namen der Resource und der Endung cognitiveservices.azure.com zusammen. E.g.: https://bsbdocint.cognitiveservices.azure.com

Speicherlaufwerke

Das Speicherkonto "databsb" ist als günstiger Blob Storage und vorerst nur mit Key Access ohne Benutzerkonten oder Dateifreigaben ausgelegt.
Es wird ausschliesslich für die Ablage der Trainigsdaten von Projekten verwendet, welche über das WebUI des DIS erstellt und verwaltet werden.

Die Verwaltung des speichers kann aktuell nur über das Azure Portal ausgeführt werden. Hier können die Projekt, bzw. Modelspezifischen Ordner angelegt und bearbeitet werden.

Der Zugriff auf das Laufwerk wird über den Storage Browser geregelt. Dazu wird die Storage Resource im Portal durch klicken auf die bsbdata Resource geöffnet. Im darauf erscheinenden UI im linken Menubereich die Option "Storage Browser" auswählen. Danach um Untermenü rechts davon die Option "Blob containers" auswählen. Dies ist der Hauptcontainer des Speicherkontos.

Darin befindet sich ein Container mit dem Namen "trainingdata". Dies ist so zu sagen das Laufwerk, in dem wir die Trainingsdaten ablegen. Bzw. wo wir die Projektorder für die Daten erstellen. In einem Projekt kann der Unterordner für die Daten dann laufend geändert werden.

Übersicht der Storage Browsers


Der Blob container trainingdata

Datenhaltung

Es empfiehlt sich je Projekt einen eigenen Ordner im container "trainingdata" anzulegen. In dem jeweiligen Projektordner werden dann nach Bedarf weitere Unterordner für jedes zu Trainierende Model angelegt.

Die Trainingsdaten können bereits hier in die entsprechenden Ordner hochgeladen, oder später bei der Trainingskonfiguration im DIS UI.

Je nach Konfigurationsfortschritt eines Projektes über das DIS WebUI, werden neben den Dokumenten weitere Dateien angelegt. Dies sind Dateien für das OCR und die eingefügten Labels.

Die vollstängige Labelbeschreibung wird in der Datei fields.json abgelegt. Diese Datei kann einfach in andere Projektunterordner kopiert werden, falls die Felder dort identisch heissen werden.

Für die OCR Daten, welche bei der "Run layout" Funktion im DIS generiert werden, entsteht eine dem Dateinamen des zugehörigen Dokumentes identische Datei mit der zusätzlichen Endung .ocr.json.

Für die Labelzuordnung wird nochmals eine Datei mit dem gleichen Dateinamen wie das Dokument mit der endung .labels.json erstellt.

Bsp. für eine Datei mit dem Namen "MeinDokument.pdf":

MeinDokument.pdf
MeinDokument.pdf.ocr.json
MeinDokument.pdf.labels.json
fields.json


Bsp. Datenstruktur für einen Projektordner Flora und dessen Unterordner für die Modelle:

Document Intelligence Studio

Über diese Plattform werden die Dokumente analysiert, die Feldkonfigurationen gemacht und die AI Modelle trainiert.

Scrolle auf der Einstiegseite nach unten zu den Custom model um zu den UI's für die extraktion oder die klassifikation zu gelangen.


Cutsom modelle erstellen

Öffne die gewünschte Seite für die custom modelle über einen der beiden Links unter custom models. Hier werden dir die vorhanden Projekte, welche mit deinem Login Konto verknüpft sind angezeigt.

Projekte verwalten

Unter "My Projects" sind alle Projekte, welche von dir selbst erstellt wurden, oder welche du über die entsprechende Funktion zuvor importiert hast, sichtbar.


Neues Projekt erstellen

Um ein neues Projekt zu erstellen, klicke auf "Create a project". Du wirst durch vier Seiten geleitet, mit den Tasten unten navigierst du durch diese bis zum Abschluss.

1. Gib dem Projekt einen Sinnvollen Namen und füge ggf. eine kurze Beschreibung hinzu

2. Richte die Document intelligence Resource ein. Übernimm dazu die Einstellungen aus der Grafik.

3. Richte die Datenquelle für das Training ein. Übernimm auch hier wieder die Einstellung aus der Grafik, bis auf den Parameter "Folder path" ganz unten. Dort gibst du den Namen des Projektspezifischen Ordners an. Der Pfad kann später noch geändert werden.

4. Erstelle das Project über die Taste "Create Project", nachdem du die Einstellungen nochmals überprüft hast.


Nach kurzer Zeit wird das Projekt nun in deiner Liste mit Projekten erscheinen und kann entweder geteilt werden, oder zur weitere Konfiguration durch klicken auf den Link geöffnet werden.


Vorhandene Projekte teilen

Damit ein anderer Benutzer Zugriff auf ein von dir erstelltes Projekt erhält, muss das Projekt geteilt werden. Wähle dazu das zu teilende Projekt und drücke auf den "share" link im Menü über den Projekten.

Es wird ein Zugriffstoken erstellt, welches an alle Benutzer die Zugriff auf das Projekt erhalten sollen übermittelt werden muss.

Über die "import" link im Menü über den Projekten, kann dieses Token zum importieren von Projekten dann eingetragen werden. Danach sollte das Projekt auf für weitere Benutzer sichtbar werden. Da die Daten des Projektes auf den gleichen Ressource liegen, wirken sich jegliche Änderungen anderer Benutzer auf das ganze Projekt aus.