Erkennen von Entitäten

Abgeschlossen

Erkennung von benannte Entitäten ist eine Funktion, die von Azure KI Language angeboten wird. Sie identifiziert und kategorisiert Entitäten in unstrukturiertem Text. Sie unterstützt mehrere Entitätskategorien, darunter Personen, Standorte, Ereignisse, Produkte, Organisationen usw.

Es gibt mehrere Möglichkeiten, die API für Erkennung von benannten Entitäten aufzurufen. Hier verwenden Sie die azure_ai-Erweiterung, um Entitäten aus dem Text in SQL-Abfragen zu erkennen.

Voraussetzungen

Sie benötigen einen Azure Database for PostgreSQL – Flexible Server mit aktivierter und konfigurierter azure_ai-Erweiterung. Sie müssen ihn auch bei Azure Cognitive Services autorisieren, indem Sie den Schlüssel und Endpunkt einer Sprachressource festlegen.

Szenarien

Die Entitätserkennung ist in mehreren Domänen hilfreich, z. B.:

  • Suchen und Indizieren: Erstellen Sie automatisch Wissensdiagramme und Tagverzeichnisse mit identifizierten Entitäten.
  • Prozessautomatisierung: Erkennt Produkte und Standorte automatisch in unstrukturiertem Text und leitet sie an Kundensupportanfragen weiter.
  • Marktanalyse: Misst die häufigsten Entitäten und Entitätscluster aus sozialen Medien, Kundenrezensionen, Supporttickets usw., um relevante Themen zu ermitteln und Trends zu antizipieren.

Verwenden der Erkennung von benannten Entitäten in SQL mit Azure Cognitive Services

Die azure_ai-Erweiterung für Azure Database for PostgreSQL – Flexible Server bietet benutzerdefinierte Funktionen (UDFs), um direkt in SQL auf KI-Funktionen zuzugreifen. Auf die API für Erkennung von benannten Entitäten wird mit der von azure_ai bereitgestellten azure_cognitive.recognize_entities-Funktion zugegriffen:

azure_cognitive.recognize_entities(
 text text,
 language text,
 timeout_ms integer DEFAULT 3600000,
 throw_on_error boolean DEFAULT true,
 disable_service_logs boolean DEFAULT false
)

Die erforderlichen Parameter sind text, die Eingabe und language, die Sprache, in der die text geschrieben wird. Beispielsweise ist en-us US-Englisch und fr Französisch. Siehe Sprachunterstützung für eine vollständige Liste der verfügbaren Sprachen.

Die Entitätserkennung wird standardmäßig beendet, wenn sie nicht in 3.600.000 ms = 1 Stunde abgeschlossen ist. Sie können diese Verzögerung anpassen, indem Sie timeout_ms ändern.

Wenn ein Fehler auftritt, besteht das Standardverhalten darin, eine Ausnahme auszuwerfen, was zu einem Transaktionsrollback führt. Sie können dieses Verhalten deaktivieren, indem Sie throw_on_error auf „false“ festlegen.

Eine vollständige Parameterdokumentation finden Sie in der Dokumentation zur Azure Cognitive Services-Erweiterung.

Beispiel: Aufrufen dieser Abfrage:

SELECT azure_cognitive.recognize_entities('For more information, see Cognitive Services Compliance and Privacy notes.', 'en-us');

Gibt dieses Ergebnis an:

{"(\"Cognitive Services\",Skill,\"\",0.94)"}

Gibt an, dass der Name der Entität „Cognitive Services“ lautet und wird als Skill mit einem Konfidenzwert von 0,94 identifiziert.

Sie können Tabellenspalten für den Eingabetext verwenden:

SELECT description, azure_cognitive.recognize_entities(description, 'en-us')
FROM listings LIMIT 1;

Ausgabe des Befehls:

 {"(house,Location,\"\",0.77)","(2013.,DateTime,DateRange,1)","(\"rooftop deck\",Location,\"\",0.88)","(\"lounge area\",Location,Structural,0.97)","(tub,Product,\"\",0.52)","
(5,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.92)","(\"gourmet kitchen\",Location,\"\",0.87)","(2-3,Quantity,NumberRange,0.87)","(downtown,Location,Structural,0.8)","(\
"Queen Anne neighborhood\",Location,\"\",0.74)","(house,Location,\"\",0.96)","(barnwood,Product,\"\",0.61)","(steel,Product,\"\",0.73)","(concrete,Product,\"\",0.7)","(living
,Location,Structural,0.53)","(\"gourmet kitchen\",Location,\"\",0.7)","(kitchen,Location,\"\",0.77)","(reading,Skill,\"\",0.54)","(half,Quantity,Number,0.8)","(\"tv room\",Lo
cation,\"\",0.89)","(kitchen,Location,\"\",0.64)","(Fireplace,Product,\"\",0.91)","(sofa,Product,\"\",0.98)","(\"sitting area\",Location,\"\",0.93)","(\"Basement room\",Locat
ion,\"\",0.98)","(kids,PersonType,\"\",0.73)","(room,Location,Structural,0.78)","(patio,Location,Structural,0.75)","(basketball,Product,\"\",0.57)","(bedroom,Location,\"\",0.
8)","(basement,Location,\"\",0.94)","(\"concrete heated floors\",Product,\"\",0.95)","(\"queen sleeper sofa\",Product,\"\",0.86)","(tv,Location,\"\",0.54)","(basement,Locatio
n,\"\",0.92)","(room,Location,Structural,0.9)","(\"a second\",DateTime,Duration,0.85)","(family,PersonType,\"\",0.71)","(kids,PersonType,\"\",0.65)","(\"2nd floor\",Location,
Structural,0.56)","(4,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.66)","(one,Quantity,Number,0.8)","(one,Quantity,Number,0.8)","(bedroom,Location,\"\",0.54)","(\"twin bu
nk beds\",Product,\"\",0.67)"}

Zusammenfassung

Die Erkennung von benannten Entitäten identifiziert und kategorisiert Entitäten im Eingabetext. Das Azure Cognitive Services-Sprachmodell führt die rechenintensive Verarbeitung natürlicher Sprachen durch. Die azure_ai-Erweiterung für Azure Database for PostgreSQL stellt die azure_cognitive.recognize_entities-API für den Zugriff auf die Erkennung von benannten Entitäten direkt in SQL-Abfragen bereit.