@StudLab read-only
Пользователь
2 апреля 2013 в 13:23

Томита-парсер Яндекса для всех из песочницы

Яндекс продолжает развивать свои API-функции. И вот результат в виде нового парсера. Томита-парсер – это инструмент для извлечения структурированных данных (фактов) из текста на естественном языке. Извлечение фактов происходит при помощи контекстно-свободных грамматик и словарей ключевых слов. Парсер позволяет написать свою грамматику, добавить свои словари и запустить на текстах.

Томита-парсер позволяет по написанным пользователем шаблонам (КС-грамматикам) выделять из текста разбитые на поля цепочки слов или факты. Например, можно написать шаблоны для выделения адресов. Здесь фактом является адрес, а его полями — «название города», «название улицы», «номер дома» и т.д. Парсер включает в себя три стандартных лингвистических процессора: токенизатор (разбиение на слова), сегментатор (разбиение на предложения) и морфологический анализатор (mystem). Основные компоненты парсера: газеттир, набор КС-грамматик и множество описаний типов фактов, которые порождаются этими грамматиками в результате процедуры интерпретации.

Алгоритм работы парсера на одном предложении и одной грамматике

1. Ищутся вхождения всех ключей из газеттира. Если ключ состоит из нескольких слов (например, «Нижний Новгород»), то создается новое искусственное слово, которое мы называем «мультиворд».

2. Из всех найденных ключей газеттира отбираются те, которые упоминаются в грамматике.

3. Среди отобранных ключей могут встречаться и мультиворды, пересекающиеся друг с другом или включающие в себя одиночные ключевые слова. Парсер пытается покрыть предложение непересекающимися ключевыми словами так, чтобы как можно большие куски предложения были охвачены ими.

4. Линейная цепочка слов и мультивордов подается на вход GLR-парсеру. Терминалы грамматики отображаются на входные слова и мультиворды.

5. На последовательности множеств терминалов GLR-парсер строит все возможные варианты. Из всех построенных вариантов также отбираются те, которые как можно шире покрывают предложение.

6. Затем парсер запускает процедуру интерпретации на построенном синтаксическом дереве. Он отбирает специально помеченные подузлы, а слова, которые им соответствуют, записываются в порождаемые грамматикой поля фактов.

Какие задачи можно решать? Например, выдавать структурированную информацию о датах рождения известных личностей, месте рождения, учебных заведениях, в которых они учились и так далее. Наверное, можно говорить, о том, что это первый текстовый анализатор серьезного уровня, к которому будет свободный доступ для решения новых лингвистических прикладных задач по обработке текстов и их выдаче. Разработчикам еще предстоит осознать всю мощь полученного инструментария, но уже сейчас понятно, что возможности эти вдохнут новую жизнь в технологии создания сайтов.
@StudLab
карма
6,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (5)

  • +1
    Читал про него на Яндексе месяц назад. Очень интересная штука. Например для финансовых аналитиков. Можно парсить новости и строить социальный граф основываясь на том, какие политические деятели куда поехали, с кем проводились встречи и какие результаты были достигнуты в ходе встречь. И уже на основе графа выдавать аналитические отчеты и прогнозы относительно изменения цен.
    • 0
      Основные возможности изложены в руководстве разработчика. Руководство датировано: 14.0302013
      • 0
        Вот это было доступно больше месяца назад. Вы говорите о PDF. Да возможно PDF был сделан только 14.03.2013
        • 0
          Да, скорее всего Вы правы, но видать здесь никто раньше на этот парсер не обратил внимание. А инструмент интересный.
          • 0
            Интересный но узкоспециализированный.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.