Riconoscere le entità

Completato

Il riconoscimento delle entità denominate è una funzionalità offerta dal linguaggio di Azure. Identifica e classifica le entità in testi non strutturati. Supporta diverse categorie di entità, tra cui persone, posizioni, eventi, prodotti, organizzazioni e così via.

Esistono diversi modi per chiamare l'API di riconoscimento entità denominata. In questo caso si usa l'estensione azure_ai per riconoscere le entità dal testo nelle query SQL.

Prerequisiti

È necessario un server flessibile di Database di Azure per PostgreSQL, con l'estensione azure_aiabilitata e configurata. È anche necessario autorizzarla con Servizi cognitivi di Azure impostando la chiave e l'endpoint di una risorsa di linguaggio.

Scenari

Il riconoscimento entità è utile in diversi domini, ad esempio:

  • Ricerca e indicizzazione: compila automaticamente grafi dei contenuti e directory di tag con entità identificate.
  • Automazione dei processi: riconosce automaticamente i prodotti e le posizioni in testo non strutturato e li indirizza alle richieste dell'assistenza clienti.
  • Analisi del mercato: misura le entità e i cluster di entità più frequenti di social media, recensioni dei clienti, ticket di supporto e così via, per determinare gli argomenti pertinenti e anticipare le tendenze.

Uso del riconoscimento di entità denominate in SQL con Servizi cognitivi di Azure

Il server flessibile di Database di Azure per PostgreSQL azure_ai estensione fornisce funzioni definite dall'utente (UDF) per accedere direttamente alle funzionalità di intelligenza artificiale dall'interno di SQL. L'API di riconoscimento entità denominata è accessibile con la funzione azure_cognitive.recognize_entities fornita da 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
)

I parametri obbligatori sono text, l'input e language, la lingua in cui viene scritto .text Ad esempio, en-us è inglese degli Stati Uniti e fr è francese. Per l'elenco completo delle lingue disponibili, vedere supporto per la lingua .

Per impostazione predefinita, il riconoscimento delle entità viene arrestato se non termina in 3.600.000 ms = 1 ora. È possibile personalizzare questo ritardo modificando timeout_ms.

Se si verifica un errore, il comportamento predefinito consiste nel generare un'eccezione, generando un rollback delle transazioni. È possibile disabilitare questo comportamento impostando su throw_on_error false.

Per la documentazione completa dei parametri, vedere la documentazione dell'estensione Servizi cognitivi di Azure .

Ad esempio, richiamare questa query:

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

Restituisce questo risultato:

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

Indicando che il nome dell'entità è "Servizi cognitivi", viene identificato come competenza con un punteggio di attendibilità pari a 0,94.

È possibile usare colonne di tabella per il testo di input:

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

Che restituisce:

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

Riassunto

Il riconoscimento di entità denominate identifica e classifica le entità nel testo di input. Il modello linguistico di Servizi cognitivi di Azure esegue l'elaborazione del linguaggio naturale heavy. L'estensione azure_ai per Database di Azure per PostgreSQL fornisce all'API azure_cognitive.recognize_entities l'accesso al riconoscimento entità denominata direttamente all'interno delle query SQL.