Использование именованных сущностей (NE) в NLPCraft

Dmitriy Monakhov
Jul 17 · 5 min read
  • Привести их в базовую форму (леммы, стеммы). Получить, если это необходимо, сведения о частях речи и прочую низкоуровневую информацию.
  • Распознать слова и словосочетания, то есть вычленить из текста именованные сущности и попытаться извлечь из них так называемые нормализованные значения.

Spacy

OpenNLP

StanfordNLP

Google Language API

  • Spacy — интересен прежде всего наличием большого числа готовых моделей для множества языков, а также привычной для аналитиков средой разработки (язык Python)
  • StanfordNLP интересен значительным количеством готовых моделей, прежде всего для английского языка, а также поддержкой ими генерации нормализованных значений для ряда NE (Пример. Хорошо когда слово ‘tomorrow’ определяется как дата — но еще лучше, если дополнительно предоставляется значение даты относительно текущего времени)
  • Google Language API — отличается высоким качеством распознавания, поддержкой нормализованных значений в готовых моделях и, несмотря на то, что решение от данной компании появилось относительно недавно, уже сейчас нет никаких сомнений в том, что оно будет одним из самых значимых на рынке.

NLPCraft

Помимо вышеперечисленных провайдеров NER компонентов, NLPCraft представляет собственный механизм распознавания таких элементов как DATE, GEO, NUM, COORDINATE и FUNCTION.

  • Создать семантическую модель NLPCraft, определив наборы синонимов, регулярных выражений и правил основанных на предикатах для слов и словосочетаний или предложений в целом (быстрый старт проекта, корпус не требуется)
  • MONEY элементов (NER компонентами от Spacy),
  • ORGANIZATION элементов (NER компонентами от OpenNLP)
  • от наличия уже существующих у него наработок, то есть собственных обученных моделей, или же просто
  • от наличия тех или иных специалистов компании, которым проще и привычнее работать со знакомым средством.

OpenNLP

  • Название — имя сущности
  • Probability — вероятностная оценка правильности определения найденной сущности
  • Пример. Слово ‘today’ определится в тесте как сущность ‘opennlp:date’ со значением ‘probability’ равным 0.9987.

Spacy

  • название — имя сущности
  • vector — численная характеристика обнаруженной в тексте сущности (подробнее https://spacy.io/api/span#vector_norm)
  • sentiment — оценка настроения предоставляемая для токена системой Spacy
  • meta — набор пар (ключ/значение) пользовательских атрибутов обнаруженных NE
  • Пример. Слово ‘$299’ определится в тесте как сущность ‘spacy:money’ со значением vector равным 27.3814.

Stanford

  • название — имя сущности -
  • confidence — вероятностная оценка правильности определения обнаруженной в тексте сущности
  • nne — нормализованное значение сущности (23:00 значение времени для найденной сущности ‘11PM’)
  • Пример. Слово ‘http://nlpcraft.org' определится в тесте как сущность ‘stanford:url’ со значением confidence равным 0.9993, NNE отсутствует.

Google

  • название — имя сущности
  • salience — численная характеристика обнаруженной в тексте сущности (подробнее https://cloud.google.com/natural-language/docs/basics)
  • meta — набор пар (ключ/значение) атрибутов характерных для данной сущности
  • mentionsBeginOffsets, mentionsContents, mentionsTypes- параметры, указывающие на ссылки на данную сущность в обрабатываемом тексте.
  • Пример. Слово ‘Hewlett-Packard’ определится в тесте как сущность ‘google:organization’ со значением salience равным 0.12638 и дополнительной информацией в виде ссылки на описание компании wikipedia_url=https://en.wikipedia.org/wiki/Hewlett-Packard

NLPCraft

  • Название — имя сущности.
  • Атрибуты. Подробно расписывать все атрибуты элементов, возвращаемые NER компонентами системы NLPCraft мы не будем, а лишь ограничимся ссылкой на соответствующий раздел документации https://nlpcraft.org/apis/latest/org/nlpcraft/model/NCToken.html
  • Пример. Словосочетание ’21 meter’ определится в тесте как nlpcraft:num’ со значением равным ‘27’, типом ‘metr’ и группой ‘length’.

    Dmitriy Monakhov

    Written by

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade