Entiteiten herkennen

Voltooid

Herkenning van benoemde entiteiten is een mogelijkheid die wordt aangeboden door Azure Language. Het identificeert en categoriseert entiteiten in ongestructureerde tekst. Het ondersteunt verschillende categorieën entiteiten, waaronder personen, locaties, gebeurtenissen, producten, organisaties, enzovoort.

Er zijn verschillende manieren om de benoemde entiteitsherkennings-API aan te roepen. Hier gebruikt u de azure_ai extensie om entiteiten te herkennen uit de tekst in SQL-query's.

Vereiste voorwaarden

U hebt een flexibele Azure Database for PostgreSQL-server nodig, waarbij de azure_ai extensie is ingeschakeld en geconfigureerd. U moet deze ook autoriseren met Azure Cognitive Services door de sleutel en het eindpunt van een taalresource in te stellen.

Scenariën

Entiteitsherkenning is handig in verschillende domeinen, zoals:

  • Zoeken en indexeren: Bouw automatisch kennisgrafieken en tagmappen met geïdentificeerde entiteiten.
  • Procesautomatisering: hiermee worden producten en locaties in ongestructureerde tekst automatisch herkend en doorgestuurd naar klantondersteuningsaanvragen.
  • Marktanalyse: Meet de meest frequente entiteiten en entiteitsclusters van sociale media, klantbeoordelingen, ondersteuningstickets, enzovoort, om relevante onderwerpen te bepalen en trends te anticiperen.

Benoemde entiteitsherkenning gebruiken in SQL met Azure Cognitive Services

De flexibele server van Azure Database for PostgreSQL azure_ai-extensie biedt door de gebruiker gedefinieerde functies (UDF's) voor toegang tot AI-mogelijkheden vanuit SQL rechtstreeks. De herkennings-API voor benoemde entiteiten wordt geopend met de azure_cognitive.recognize_entities functie die wordt geleverd door azure_ai:

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
)

De vereiste parameters zijn text, de invoer en language, de taal waarin de text taal is geschreven. Is bijvoorbeeld en-us Amerikaans Engels en fr frans. Zie taalondersteuning voor de volledige lijst met beschikbare talen.

Entiteitsherkenning wordt standaard gestopt als deze niet binnen 3.600.000 ms = 1 uur eindigt. U kunt deze vertraging aanpassen door timeout_ms te wijzigen.

Als er een fout optreedt, is het standaardgedrag het gooien van een uitzondering, wat resulteert in een transactierollback. U kunt dit gedrag uitschakelen door in te stellen throw_on_error op False.

Zie de documentatie voor de Azure Cognitive Services-extensie voor volledige parameterdocumentatie.

U kunt bijvoorbeeld deze query aanroepen:

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

Geeft dit resultaat:

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

Als u aangeeft dat de naam van de entiteit Cognitive Services is, wordt deze geïdentificeerd als een vaardigheid met een betrouwbaarheidsscore van 0,94.

U kunt tabelkolommen gebruiken voor de invoertekst:

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

Hiermee wordt het volgende geretourneerd:

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

Samenvatting

Herkenning van benoemde entiteiten identificeert en categoriseert entiteiten in invoertekst. Het taalmodel van Azure Cognitive Services voert de zware verwerking van natuurlijke taal uit. De azure_ai extensie voor Azure Database for PostgreSQL biedt de azure_cognitive.recognize_entities API toegang tot benoemde entiteitsherkenning rechtstreeks binnen SQL-query's.