Reconocimiento de entidades

Completado

El reconocimiento de entidades con nombre es una funcionalidad que ofrece Lenguaje de Azure AI. Identifica y clasifica las entidades en texto no estructurado. Admite varias categorías de entidad, como personas, ubicaciones, eventos, productos, organizaciones, etc.

Hay varias maneras de llamar a la API de reconocimiento de entidades con nombre. Aquí se usa la extensión azure_ai para reconocer entidades del texto en consultas SQL.

Requisitos previos

Necesita un servidor flexible de Azure Database for PostgreSQL, con la azure_ai extensión habilitada y configurada. También debe autorizarlo con Azure Cognitive Services estableciendo la clave y el punto de conexión de un recurso de lenguaje.

Escenarios

El reconocimiento de entidades es útil en varios dominios, como:

  • Búsqueda e indexación: Cree automáticamente gráficos de conocimiento y directorios de etiquetas con entidades identificadas.
  • Automatización de procesos: Reconoce automáticamente los productos y ubicaciones en texto no estructurado y los enruta a las solicitudes de soporte técnico al cliente.
  • Análisis de mercado: Mide las entidades y clústeres de entidades más frecuentes de las redes sociales, las revisiones de clientes, las incidencias de soporte técnico, etc., para determinar los temas pertinentes y anticipar tendencias.

Uso del reconocimiento de entidades con nombre en SQL con Azure Cognitive Services

La extensión azure_ai del servidor flexible de Azure Database for PostgreSQL proporciona funciones definidas por el usuario (UDF) para acceder a las funcionalidades de inteligencia artificial desde SQL directamente. Se tiene acceso a la API de reconocimiento de entidades con nombre con la función azure_cognitive.recognize_entities proporcionada por 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
)

Los parámetros necesarios son text, la entrada y language, el idioma en el que está escrito text. Por ejemplo, en-us es inglés de EE. UU. y fr es francés. Consulte compatibilidad con idiomas para obtener la lista completa de idiomas disponibles.

De forma predeterminada, el reconocimiento de entidades se detiene si no finaliza en 3600 000 ms = 1 hora. Puede personalizar este retraso cambiando timeout_ms.

Si se produce un error, el comportamiento predeterminado es producir una excepción, lo que da lugar a una reversión de transacciones. Puede deshabilitar este comportamiento estableciendo throw_on_error en false.

Consulte la documentación de la extensión de Azure Cognitive Services para obtener documentación completa sobre parámetros.

Por ejemplo, invocar esta consulta:

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

Proporciona este resultado:

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

Indica que el nombre de la entidad es "Cognitive Services", se identifica como una aptitud con una puntuación de confianza de 0,94.

Puede usar columnas de tabla para el texto de entrada:

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

Que devuelve:

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

Resumen

El reconocimiento de entidades con nombre identifica y clasifica las entidades en el texto de entrada. El modelo de lenguaje de Azure Cognitive Services realiza el procesamiento intensivo del lenguaje natural. La extensión azure_ai para Azure Database for PostgreSQL proporciona la API de azure_cognitive.recognize_entities para acceder al reconocimiento de entidades con nombre directamente dentro de las consultas SQL.