Erkennen von Entitäten

Abgeschlossen

Die Benannte Entitätserkennung ist eine Funktion , die von Azure Language angeboten wird. Es 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 benannte Entitätserkennungs-API aufzurufen. Hier verwenden Sie die azure_ai Erweiterung, um Entitäten aus dem Text in SQL-Abfragen zu erkennen.

Voraussetzungen

Sie benötigen einen flexiblen Azure-Datenbankserver für PostgreSQL mit aktivierter azure_aiund konfigurierter Erweiterung. Sie müssen sie auch mit 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 Social Media, Kundschaftsrezensionen, Supporttickets usw., um relevante Themen zu ermitteln und Trends zu antizipieren.

Verwenden der benannten Entitätserkennung in SQL mit Azure Cognitive Services

Die Azure-Datenbank für PostgreSQL flexible Server-azure_ai-Erweiterung bietet benutzerdefinierte Funktionen (UDFs), um direkt in SQL auf KI-Funktionen zuzugreifen. Auf die benannte Entitätserkennungs-API wird mit der azure_cognitive.recognize_entities-Funktion von azure_ai 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 en-us ist US-Englisch und fr französisch. Siehe Sprachunterstützung für die 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 auf "false" festlegen throw_on_error .

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

Wenn Sie beispielsweise diese Abfrage aufrufen:

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 einer Konfidenzbewertung 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;

Gibt Folgendes zurück:

 {"(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

Benannte Entitätserkennung identifiziert und kategorisiert Entitäten im Eingabetext. Das Azure Cognitive Services-Sprachmodell führt die schwere Verarbeitung natürlicher Sprachen durch. Die azure_ai Erweiterung für Azure-Datenbank für PostgreSQL bietet die azure_cognitive.recognize_entities API für den Zugriff auf benannte Entitätserkennung direkt in SQL-Abfragen.