Sprache erkennen
Die Azure AI Language-Erkennungs-API wertet Die Texteingabe aus und gibt für jedes übermittelte Dokument Sprach-IDs mit einer Bewertung zurück, die die Stärke der Analyse angibt.
Diese Funktion ist nützlich für Inhaltsspeicher, die beliebigen Text sammeln, wobei die Sprache unbekannt ist. Ein weiteres Szenario könnte einen Chat-Bot umfassen. Wenn ein Benutzer eine Sitzung mit dem Chat-Bot startet, kann die Spracherkennung verwendet werden, um zu bestimmen, welche Sprache sie verwenden, und Sie können Ihre Bot-Antworten in der entsprechenden Sprache konfigurieren.
Sie können die Ergebnisse dieser Analyse analysieren, um zu bestimmen, welche Sprache im Eingabedokument verwendet wird. Die Antwort gibt auch eine Bewertung zurück, die das Vertrauen des Modells (einen Wert zwischen 0 und 1) widerspiegelt.
Die Spracherkennung kann mit Dokumenten oder einzelnen Ausdrücken verwendet werden. Es ist wichtig zu beachten, dass die Dokumentgröße unter 5.120 Zeichen liegt. Die Größenbeschränkung beträgt pro Dokument, und jede Auflistung ist auf 1.000 Elemente (IDs) beschränkt. Ein Beispiel für eine ordnungsgemäß formatierte JSON-Nutzlast, die Sie möglicherweise an den Dienst im Anforderungstext senden können, wird hier gezeigt, einschließlich einer Sammlung von Dokumenten, die jeweils eine eindeutige -ID und den zu analysierenden Text enthalten. Optionalerweise können Sie ein countryHint bereitstellen, um die Vorhersageleistung zu verbessern.
{
"kind": "LanguageDetection",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id": "1",
"text": "Hello world",
"countryHint": "US"
},
{
"id": "2",
"text": "Bonjour tout le monde"
}
]
}
}
Der Dienst gibt eine JSON-Antwort zurück, die ein Ergebnis für jedes Dokument im Anforderungstext enthält, einschließlich der vorhergesagten Sprache und eines Werts, der die Konfidenzstufe der Vorhersage angibt. Das Konfidenzniveau ist ein Wert zwischen 0 und 1 mit Werten, die näher an 1 liegen, ein höheres Konfidenzniveau. Hier ist ein Beispiel für eine standardmäßige JSON-Antwort, die auf das obige Anforderungs-JSON verweist.
{ "kind": "LanguageDetectionResults",
"results": {
"documents": [
{
"detectedLanguage": {
"confidenceScore": 1,
"iso6391Name": "en",
"name": "English"
},
"id": "1",
"warnings": []
},
{
"detectedLanguage": {
"confidenceScore": 1,
"iso6391Name": "fr",
"name": "French"
},
"id": "2",
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
}
In unserem Beispiel zeigen alle Sprachen eine Konfidenz von 1, hauptsächlich, weil der Text relativ einfach und die Sprache leicht zu identifizieren ist.
Wenn Sie ein Dokument mit mehrsprachigem Inhalt übergeben, verhält sich der Dienst etwas anders. Gemischte Sprachinhalte innerhalb desselben Dokuments geben die Sprache mit der größten Darstellung des Inhalts zurück, aber mit einer niedrigeren positiven Bewertung, die die marginale Stärke dieser Bewertung widerspiegelt. Im folgenden Beispiel ist die Eingabe eine Mischung aus Englisch, Spanisch und Französisch. Der Analyseanalysator verwendet statistische Analysen des Texts, um die vorherrschende Sprache zu bestimmen.
{
"documents": [
{
"id": "1",
"text": "Hello, I would like to take a class at your University. ¿Se ofrecen clases en español? Es mi primera lengua y más fácil para escribir. Que diriez-vous des cours en français?"
}
]
}
Das folgende Beispiel zeigt eine Antwort für dieses mehrsprachige Beispiel.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.9375
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
Die letzte zu berücksichtigende Bedingung besteht darin, dass es Mehrdeutigkeit hinsichtlich des Sprachinhalts gibt.The last condition to consider is when there is ambiguity as the language content. Das Szenario kann auftreten, wenn Sie textbezogene Inhalte übermitteln, die der Analyzer nicht analysieren kann, z. B. aufgrund von Zeichencodierungsproblemen beim Konvertieren des Texts in eine Zeichenfolgenvariable. Daher gibt die Antwort für den Sprachnamen und den ISO-Code (unbekannt) an, und der Bewertungswert wird als 0
zurückgegeben. Das folgende Beispiel zeigt, wie die Antwort aussehen würde.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}