Распознавание сущностей

Завершено

Распознавание именованных сущностей — это возможность , предлагаемая языком Azure. Он определяет и классифицирует сущности в неструктурированном тексте. Она поддерживает несколько категорий сущностей, включая людей, расположения, события, продукты, организации и т. д.

Существует несколько способов вызова API распознавания именованных сущностей. Здесь вы используете azure_ai расширение для распознавания сущностей из текста в запросах SQL.

Предпосылки

Вам нужен гибкий сервер Базы данных Azure для PostgreSQL с azure_ai расширением. Кроме того, необходимо авторизовать его с помощью Azure Cognitive Services, задав ключ и конечную точку ресурса языка.

Сценарии

Распознавание сущностей полезно в нескольких доменах, таких как:

  • Поиск и индексирование. Автоматическое создание графов знаний и каталогов тегов с идентифицированными сущностями.
  • Автоматизация процессов: автоматически распознает продукты и места в неструктурированном тексте и направляет их в запросы службы поддержки клиентов.
  • Анализ рынка: измеряет наиболее частые сущности и кластеры сущностей из социальных сетей, отзывов клиентов, запросов в службу поддержки и т. д., чтобы определить соответствующие темы и предвидеть тенденции.

Использование распознавания именованных сущностей в SQL с Azure Cognitive Services

Гибкий сервер базы данных Azure для PostgreSQL azure_ai предоставляет пользовательские функции (UDF) для прямого доступа к возможностям искусственного интеллекта из SQL. Доступ к API для распознавания именованных сущностей осуществляется с помощью функции azure_cognitive.recognize_entities, предоставленной 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
)

Обязательные параметры : textвходные данные и languageязык, на котором text записывается запись. Например, en-us — это американский вариант английского языка, а fr — это французский язык. Полный список доступных языков см. в поддержке языков .

По умолчанию распознавание сущностей останавливается, если оно не завершается в 3600 000 мс = 1 час. Эту задержку можно настроить, изменив timeout_ms.

Если возникает ошибка, по умолчанию создается исключение, что приводит к откату транзакции. Это поведение можно отключить, установив throw_on_error значение false.

См. документацию по расширению Azure Cognitive Services для полной документации по параметрам.

Например, вызов этого запроса:

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

Дает следующий результат:

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

Указывая, что имя сущности — Cognitive Services, оно идентифицируется как навык с уровнем доверия 0,94.

Столбцы таблицы можно использовать для входного текста:

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

Возвращает:

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

Сводка

Распознавание именованных сущностей определяет и классифицирует сущности в входном тексте. Языковая модель Azure Cognitive Services выполняет тяжелую обработку естественного языка. Расширение azure_ai для базы данных Azure PostgreSQL предоставляет API azure_cognitive.recognize_entities для прямого доступа к распознаванию именованных сущностей в запросах SQL.