Riconoscere le entità
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.