Распознавание сущностей
Распознавание именованных сущностей — это возможность , предлагаемая языком 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.