Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die OcR-Fähigkeit (Optische Zeichenerkennung) erkennt gedruckten und handschriftlichen Text in Bilddateien. Dieser Artikel bildet die Referenzdokumentation zum OCR-Skill. Verwendungsanweisungen finden Sie unter Extrahieren von Text aus Bildern.
Die OCR-Fähigkeit verwendet die maschinellen Lernmodelle, die von Azure Vision in Foundry Tools API v3.2 bereitgestellt werden. Die Qualifikation OCR ist den folgenden Funktionen zugeordnet:
Für die unter azure Vision-Sprachunterstützung aufgeführten Sprachen wird die Lese-API verwendet.
Für Griechisch und Serbisch Kyrillisch wird die ältere OCR in Version 3.2-API verwendet.
Die OCR-Fähigkeit extrahiert Text aus Bilddateien und eingebetteten Bildern. Folgende Dateiformate werden unterstützt:
- . JPEG
- .JPG
- .PNG
- .BMP
- . KABBELEI
Unterstützte Datenquellen für OCR und Bildanalyse sind Blobs in Azure Blob Storage und Azure Data Lake Storage (ADLS) Gen2 und Bildinhalte in Microsoft OneLake. Bilder können eigenständige Dateien oder eingebettete Bilder in einer PDF oder anderen Dateien sein.
Hinweis
Diese Fähigkeit ist an Foundry Tools gebunden und erfordert eine abrechnende Ressource für Transaktionen, die 20 Dokumente pro Indexer pro Tag überschreiten. Die Ausführung der integrierten Fähigkeiten wird zum Preis der Foundry Tools Standard berechnet.
Darüber hinaus wird die Bildextraktion durch Azure KI Search abgerechnet.
Skillparameter
Bei Parametern wird die Groß-/Kleinschreibung beachtet.
| Parametername | Beschreibung |
|---|---|
detectOrientation |
Erkennt die Bildausrichtung. Gültige Werte sind true oder false. Dieser Parameter gilt nur, wenn die ältere OCR-Version 3.2-API verwendet wird. |
defaultLanguageCode |
Sprachcode des Eingabetexts. Unterstützte Sprachen umfassen alle allgemein verfügbaren Sprachen von Azure Vision. Sie können auch unk (unbekannt) angeben. Wenn der Sprachcode nicht angegeben oder Null ist, wird als Sprache automatisch Englisch festgelegt. Wenn die Sprache explizit auf unk festgelegt ist, werden alle gefundenen Sprachen automatisch erkannt und zurückgegeben. |
lineEnding |
Der Wert, der als Zeilentrennzeichen verwendet werden soll. Mögliche Werte: "Space", "CarriageReturn", "LineFeed". Der Standardwert ist "Space". |
In früheren Versionen gab es einen Parameter namens „textExtractionAlgorithm“ zum festlegen der Extraktion von „gedrucktem“ oder „handschriftlichem“ Text. Dieser Parameter ist veraltet, da der aktuelle Algorithmus der Lese-API beide Arten von Text gleichzeitig extrahiert. Wenn Ihr Skill diesen Parameter enthält, brauchen Sie ihn nicht zu entfernen, aber er wird bei der Ausführung des Skills nicht verwendet.
Skilleingaben
| Eingabename | Beschreibung |
|---|---|
image |
Komplexer Typ. Arbeitet derzeit mit dem Feld „/document/normalized_images“, das vom Azure Blob-Indexer generiert wird, wenn imageAction auf einen anderen Wert als none gesetzt ist. |
Skillausgaben
| Ausgabename | Beschreibung |
|---|---|
text |
Aus dem Bild extrahierter Nur-Text-Inhalt. |
layoutText |
Komplexer Typ, der den extrahierten Text und die Fundstelle beschreibt. |
Wenn Sie die OCR für Bilder aufrufen, die in PDFs oder anderen Anwendungsdateien eingebettet sind, befindet sich die OCR-Ausgabe am unteren Rand der Seite, nachdem Text extrahiert und verarbeitet wurde.
Beispieldefinition
{
"skills": [
{
"description": "Extracts text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": null,
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text",
"targetName": "myText"
},
{
"name": "layoutText",
"targetName": "myLayoutText"
}
]
}
]
}
Beispieltext und „layoutText“-Ausgabe
{
"text": "Hello World. -John",
"layoutText":
{
"language" : "en",
"text" : "Hello World. -John",
"lines" : [
{
"boundingBox":
[ {"x":10, "y":10}, {"x":50, "y":10}, {"x":50, "y":30},{"x":10, "y":30}],
"text":"Hello World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
],
"words": [
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"Hello"
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"World."
},
{
"boundingBox": [ {"x":110, "y":10}, {"x":150, "y":10}, {"x":150, "y":30},{"x":110, "y":30}],
"text":"-John"
}
]
}
}
Beispiel: Text, der aus eingebetteten Bildern extrahiert wurde, wird mit dem Inhalt des Dokuments zusammengeführt.
Bei der Dokumententschlüsselung, dem ersten Schritt der Skillset-Ausführung, werden Text- und Bildinhalte getrennt. Ein häufiger Anwendungsfall für die Textzusammenführung ist das Einbinden der Textdarstellung von Bildern (Text aus einem OCR-Skill oder die Untertitel eines Bilds) in das Inhaltsfeld eines Dokuments. Dies gilt für Szenarien, in denen das Quelldokument ein PDF- oder Word-Dokument ist, das Text mit eingebetteten Bildern kombiniert.
Mit der folgenden Beispielqualifikationsgruppe wird das Feld mit der Bezeichnung merged_text erstellt. Dieses Feld enthält den Textinhalt des Dokuments und den per OCR erkannten Text aus den einzelnen im Dokument eingebetteten Bildern.
Syntax des Anforderungstexts
{
"description": "Extract text from images and merge with content text to produce merged_text",
"skills":
[
{
"description": "Extract text (plain and structured) from image.",
"@odata.type": "#Microsoft.Skills.Vision.OcrSkill",
"context": "/document/normalized_images/*",
"defaultLanguageCode": "en",
"detectOrientation": true,
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "text"
}
]
},
{
"@odata.type": "#Microsoft.Skills.Text.MergeSkill",
"description": "Create merged_text, which includes all the textual representation of each image inserted at the right ___location in the content field.",
"context": "/document",
"insertPreTag": " ",
"insertPostTag": " ",
"inputs": [
{
"name":"text",
"source": "/document/content"
},
{
"name": "itemsToInsert",
"source": "/document/normalized_images/*/text"
},
{
"name":"offsets",
"source": "/document/normalized_images/*/contentOffset"
}
],
"outputs": [
{
"name": "mergedText",
"targetName" : "merged_text"
}
]
}
]
}
Im oben gezeigten Beispiel für das Skillset wird davon ausgegangen, dass ein Feld mit normalisierten Bildern vorhanden ist. Um ein Feld zu erhalten, legen Sie die Konfiguration imageAction in Ihrer Indexerdefinition auf generateNormalizedImages fest, wie unten gezeigt:
{
//...rest of your indexer definition goes here ...
"parameters": {
"configuration": {
"dataToExtract":"contentAndMetadata",
"imageAction":"generateNormalizedImages"
}
}
}