Sprache erkennen
Die Azure KI-API für Spracherkennung wertet Texteingaben aus und gibt für jedes übermittelte Dokument Sprachen-IDs mit einem Score zurück, der die Zuverlässigkeit der Analyse angibt.
Diese Funktion ist hilfreich für Inhaltsspeicher, die willkürliche Texte mit unbekannter Sprache sammeln. Ein weiteres Beispiel für ein Szenario ist ein Chatbot. Wenn ein Benutzer eine Sitzung mit dem Chatbot startet, kann die verwendete Sprache mithilfe der Sprachenerkennung ermittelt werden. So können Sie Ihre Bot-Antworten in der entsprechenden Sprache konfigurieren.
Sie können die Analyseergebnisse analysieren, um die Sprache des Eingabedokuments zu bestimmen. Die Antwort gibt außerdem einen Score zwischen 0 und 1 zurück, der die Konfidenz des Modells angibt.
Die Sprachenerkennung kann für Dokumente oder für einzelne Sätze verwendet werden. Wichtiger Hinweis: Das Dokument darf höchstens 5.120 Zeichen umfassen. Die Größenbeschränkung gilt pro Dokument, und jede Sammlung ist auf 1.000 Elemente (IDs) begrenzt. Ein Beispiel für ordnungsgemäß formatierte JSON-Nutzdaten, die Sie im Anforderungstext an den Dienst übermitteln können, wird hier gezeigt, einschließlich einer Sammlung von Dokumenten, von denen jedes eine eindeutige ID und den zu analysierenden Text enthält. Optional können Sie einen 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 den Zuverlässigkeitsgrad (Konfidenz) der Vorhersage angibt. Das Konfidenzniveau ist ein Wert zwischen 0 und 1, und Werte, die näher bei 1 liegen, bezeichnen ein höheres Konfidenzniveau. Hier sehen Sie ein Beispiel für eine standardmäßige JSON-Antwort, die der obigen JSON-Anforderung entspricht.
{ "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 ist für alle Sprachen eine Konfidenz von 1 angegeben, weil der Text relativ einfach und die jeweilige Sprache leicht zu ermitteln ist.
Wenn Sie ein Dokument mit mehrsprachigem Inhalt als Eingabe übergeben, verhält sich der Dienst etwas anders. Wenn in einem Dokument Inhalte in verschiedenen Sprachen enthalten sind, wird die Sprache zurückgegeben, die in den Inhalten überwiegt – allerdings mit einer niedrigeren positiven Bewertung, die die marginale Stärke dieser Bewertung widerspiegelt. Im folgenden Beispiel entspricht die Eingabe einer Mischung aus Englisch, Spanisch und Französisch. Das Analyseprogramm verwendet eine statistische Analyse 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?"
}
]
}
Im Folgenden wird eine Antwort für dieses mehrsprachige Beispiel gezeigt.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "Spanish",
"iso6391Name": "es",
"confidenceScore": 0.9375
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}
Die letzte zu berücksichtigende Bedingung ist eine Mehrdeutigkeit der Sprachinhalte. Zu diesem Szenario kann es kommen, wenn Sie Textinhalte übermitteln, die das Analyseprogramm nicht analysieren kann, z. B. aufgrund von Problemen mit der Zeichencodierung beim Konvertieren des Texts in eine Zeichenfolgenvariable. Deshalb gibt die Antwort für den Sprachnamen und den ISO-Code „(unbekannt)“ an, und der Bewertungswert wird als 0
zurückgegeben. Die entsprechende Antwort wird unten gezeigt.
{
"documents": [
{
"id": "1",
"detectedLanguage": {
"name": "(Unknown)",
"iso6391Name": "(Unknown)",
"confidenceScore": 0.0
},
"warnings": []
}
],
"errors": [],
"modelVersion": "2022-10-01"
}