Распознавание именованных сущностей
Важно!
Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.
Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.
- См. сведения о перемещении проектов машинного обучения из ML Studio (классической) в Машинное обучение Azure.
- См. дополнительные сведения о Машинном обучении Azure.
Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.
Распознает именованные сущности в столбце текста.
категория: Анализ текста
Примечание
применимо к: только Машинное обучение Studio (классическая модель)
Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.
Обзор модуля
в этой статье описывается, как использовать именованный модуль распознавания сущностей в Машинное обучение Studio (классическая модель) для указания имен объектов, например людей, компаний или расположений в столбце текста.
Распознавание именованных сущностей — это важная область исследований в сфере машинного обучения и обработки естественного языка (NLP), так как его можно использовать для ответа на многие вопросы реального мира, например, следующие.
Содержит ли Твит имя человека? Содержится ли в твите его текущее местоположение?
Какие компании упомянуты в новостной статье?
Были ли указанные продукты, упомянутые в жалобах или рецензиях?
Для получения списка именованных сущностей в качестве входных данных предоставляется набор данных, содержащий столбец текста. Затем в именованном модуле распознавания сущностей будут определены три типа сущностей: люди (на), расположения (LOC) и организации (org).
Кроме того, этот модуль помечает последовательности, в которых были найдены эти слова, что позволяет использовать их в дальнейшем анализе.
Например в следующей таблице представлены простые входные предложения, а также термины и значения, создаваемые модулем.
Входной текст | Выходные данные модуля |
---|---|
"Бостон — отличное место для жизни". | 0,Boston,0,6,LOC |
Выходные данные можно интерпретировать следующим образом.
Первый "0" означает, что эта строка является первой входной статьей модуля.
Так как одна статья может содержать несколько сущностей, включая номер строки статьи в выходных данных, это важно для сопоставления компонентов для статьи.
Boston
Распознанная сущность.Следующий
Boston
параметр0
означает, что сущностьBoston
начинается с первой буквы входной строки. Индексы отсчитываются от нуля.6
значение означает, что длина сущностиBoston
равна 6.LOC
означает, что сущностьBoston
является местом или расположением. Другие поддерживаемые именованные типы сущностей — Person (PER
) и Organization (ORG
).
Настройка распознавания именованных сущностей
Добавьте именованный модуль распознавания сущностей в эксперимент в студии (классическая модель). модуль можно найти в категории Анализ текста .
На входе с именем StoryПодключите набор данных, содержащий анализируемый текст.
«Статья» должна содержать текст, из которого извлекаются именованные сущности.
Столбец, используемый в качестве статьи , должен содержать несколько строк, где каждая строка состоит из строки. Строка может быть короткой, например предложением или длинным, как в новостной статье.
Можно подключить любой набор данных, содержащий текстовый столбец. Однако если входной набор данных содержит несколько столбцов, используйте Выбор столбцов в наборе данных , чтобы выбрать только столбец, содержащий текст, который требуется проанализировать.
Примечание
Второй вход, настраиваемые ресурсы (ZIP), в настоящее время не поддерживается.
В будущем можно добавить файлы настраиваемых ресурсов для идентификации различных типов сущностей.
Запустите эксперимент.
Результаты
Модуль выводит набор данных, содержащий строку для каждой распознанной сущности, а также смещения.
Поскольку каждая строка входного текста может содержать несколько именованных сущностей, номер идентификатора статьи автоматически создается и включается в выходные данные для идентификации входной строки, содержащей именованную сущность. Идентификатор статьи основан на естественном порядке строк во входном наборе данных.
Этот выходной набор данных можно преобразовать в CSV-файл для скачивания или сохранить в качестве набора данных для повторного использования.
Использовать распознавание именованных сущностей в веб-службе
при публикации веб-службы из Машинное обучение Studio (классической) и необходимости использования веб-службы с помощью C#, Python или другого языка, такого как R, необходимо сначала реализовать код службы, предоставленный на странице справки веб-службы.
Если веб-служба предоставляет несколько строк вывода, URL-адрес веб-службы, добавляемый в код C#, Python или R, должен иметь суффикс scoremultirow
вместо score
.
Например, предположим, что для веб-службы используется следующий URL: https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/score
Чтобы включить вывод из нескольких строк, измените URL-адрес на https://ussouthcentral.services.azureml.net/workspaces/<workspace id>/services/<service id>/scoremultirow
Чтобы опубликовать эту веб-службу, необходимо добавить дополнительный модуль выполнить сценарий R после именованного модуля распознавания сущностей , чтобы преобразовать многострочный вывод в единый разделитель точкой с запятой (;). Причина для объединения нескольких строк вывода в одну — возвращение нескольких сущностей во входной строке.
Предположим, например, что входное предложение содержит две именованные сущности. Вместо того чтобы возвращать две строки на каждую строку ввода, вы можете возвращать одну строку с несколькими сущностями, разделенными точкой с запятой, как показано ниже.
Входной текст | Выходные данные веб-службы |
---|---|
У корпорации Майкрософт два офиса в Бостоне. | 0,Microsoft,0,9,ORG,;,0,Boston,38,6,LOC,; |
В следующем образце кода показано, как это сделать:
# Map 1-based optional input ports to variables
d <- maml.mapInputPort(1) # class: data.frame
y=length(d) ##size of cols
x=dim(d)[1] ##size of rows
longd=matrix("NA",nrow=1,ncol=x*(y+1))
for (i in 1:x)
{
for (j in 1:y)
{
longd[1,j+(i-1)*(y+1)]=toString(d[i,j])
}
longd[1,j+(i-1)*(y+1)+1]=c(";")
}
final_output=as.data.frame(longd)
# Select data.frame to be sent to the output Dataset port
maml.mapOutputPort("final_output");
Примеры
Этот блог содержит расширенное объяснение того, как работает распознавание именованных сущностей, его фоновый режим и возможные приложения:
См. также следующие примеры экспериментов в Коллекция решений ии Azure для демонстрации использования методов классификации текста, обычно используемых в машинном обучении.
Пример категоризации новостей. использует хэширование компонентов для классификации статей в предопределенный список категорий.
Пример аналогичных компаний: использует текст статей Википедии для классификации компаний.
Классификация текста. шаг 1 из 5. Подготовка данных. в этом пошаговом руководстве по классификации текста из сообщений Twitter используется для выполнения анализа тональности. Также демонстрируются различные способы предварительной обработки текста.
Технические примечания
Поддержка языков
В настоящее время модуль Распознавание именованной сущности поддерживает только текст на английском языке. Он может определять названия организаций, личные имена и расположения в предложениях на английском языке. При использовании модуля на других языках может возникнуть ошибка, но результаты не так хороши, как текст на английском языке.
В будущем поддержку дополнительных языков можно будет включить путем интеграции многоязыковых компонентов, предоставляемых в библиотеке Office Natural Language Toolkit.
Ожидаемые входные данные
Имя | Тип | Описание |
---|---|---|
Описание | Таблица данных | Входной набор данных (DataTable), содержащий текстовый столбец, который необходимо проанализировать. |
CustomResources | Почтовый индекс | (Необязательно) Файл в формате ZIP, содержащий дополнительные пользовательские ресурсы. Этот параметр недоступен в данный момент и предоставляется для обеспечения прямой совместимости. |
Выходные данные
Имя | Тип | Описание |
---|---|---|
Сущности | Таблица данных | Список смещения знаков и сущностей |
См. также раздел
Анализ текста
Хэширование признаков
Оценка модели Vowpal Wabbit 7-4
Обучение модели Vowpal Wabbit 7-4