В предыдущий раз мы написали на Хабре о краудсорсинге лингвистических данных. Речь шла о морфологической разметке (part of speech tagging) современных текстов на русском языке. С тех пор было размечено около 2.2 млн. заданий, и около 3 тысяч человек приняли в этом участие. Мы с вами прошли чуть больше половины пути. Спасибо, что вы помогаете нам!

В OpenCorpora мы создаём открытые данные для обучения и тестирования математических моделей анализа текста на русском языке. Таким образом, мы помогаем российской компьютерной лингвистике догнать западную. Потом будем помогать обгонять ;)

Сегодня мы расскажем о разметке именованных сущностей. Это ещё один слой разметки текстов в Открытом корпусе. Мы будем выделять в тексте имена людей, названия компаний и географических объектов.




Зачем мы это делаем?

Морфологическую разметку мы начали и продолжаем по собственной инициативе. Работу над разметкой сущностей мы ведём совместно с оргкомитетом соревнования factRuEval-2016, которое пройдёт в рамках конференции по компьютерной лингвистике Диалог-21. На данном этапе сущности размечаются не во всём корпусе, а только в небольшом его подмножестве, которое станет обучающей и тестовой коллекциями для участников соревнования. В сумме это около 1000 новостных текстов объёмом по 3-4 абзаца. Как обычно, результат разметки будет опубликован на условиях лицензии Creative Commons. Обучающая часть коллекции будет публиковаться по мере её модерации, а разметка тестовой части — не ранее завершения соревнования и подведения его итогов.

Что такое разметка именованных сущностей?

Извлечение именованных сущностей из текста — одна из востребованных функций текстовой аналитики (см. об этом подробно, например, в блоге компании Textocat).

Было бы классно, если бы существовало несколько десятков конкурирующих между собой решений, позволяющих перечислить все упомянутые в тексте объекты, дать их нормализованные названия и соответствующие им идентификаторы объектов. И всё это для русского языка и с открытым исходным кодом. Принимая участие в организации соревнования factRuEval и в подготовке данных для него, мы делаем шаг в эту сторону и приглашаем вас присоединиться.

Если коротко, то выделение именованных сущностей состоит в том, чтобы найти в текстах имена собственные (ФИО персон, названия организаций и географических объектов), выделить их и пометить соответствующим тегом. Например, для персон нужно отдельно отметить фамилию, имя и отчество, после чего объединить выделенные отрезки в одно упоминание объекта с типом Person. Об этом мы написали подробную инструкцию и записали маленькое видео.



Что будет дальше?

Разметка сущностей уже идёт. Следующими этапами разметки коллекции текстов для factRuEval будет идентификация упоминаний объектов между собой, связывание их с WikiData и разметка фактов. Первые два пункта подразумевают, что несколько отдельных упоминаний в тексте одного и того же объекта реального мира (например, Иванов Иван, Иванов и Иванов И.И.) будут объединены друг с другом в одну сущность. Для этой сущности будет указываться идентификатор из WikiData.



Под фактами имеются в виду описанные в тексте отношения между уже выделенными на предыдущих этапах объектами: отношение Occupation (работать в компании) между персоной и организацией, отношение Ownership (владеть) между персоной и организацией и другие подобные отношения.



Как нам помочь?

1. примите участие в разметке.
Теперь у нас есть два направления работы: именованные сущности и морфология. Для выполнения заданий в обоих направлениях достаточно прочитать инструкции.

2. напишите об этой работе в социальных сетях и попросите ваших друзей помочь нам.
Не все читают GeekTimes, но очень многие готовы помогать по чуть-чуть.

Update: Прямая ссылка на разметку сущностей: http://opencorpora.org/ner.php (она есть в инструкции, пусть будет и тут тоже).

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


  1. MichaelBorisov
    16.12.2015 22:22
    +1

    Попытался зарегистрироваться, выдает «DB Error». Хабраэффект?


    1. bocharov
      16.12.2015 22:27
      +1

      Спасибо.
      Нет, не он. Скорее всего вы делали это через Facebook или другую соцсеть. Мы давно используем Loginza для интеграции с ними. Последнее время Loginza глючит.

      Попробуйте следующее:

      1. повторить попытку входа тем же способом (иногда это помогает)

      Если первое не поможет:

      2. сделать другой логин прямо на OpenCorpora. Если вы раньше уже заходили через соцсеть, пришлите, пожалуйста, ссылку на профиль, через который заходили. Мы свяжем два профиля у себя в один.

      Прошу прощения за неудобство.


  1. Sadler
    17.12.2015 07:57
    +2

    Удачи вам. Я некоторое время пытался привести викисловарь к состоянию такой универсальной лингвистической БД, да одного человека здесь явно мало.


    1. bocharov
      17.12.2015 10:42
      +1

      Спасибо!
      Чем-то похожим, на то, о чём вы пишите, занимается (или занимался) vk.com/componavt. Возможно, что вы сможете объединить усилия.


  1. dema
    17.12.2015 09:46
    +2

    1. Не даёт удалить span даже если нет упоминаний.
    2. Не даёт проставить тип Location/Person. Написано, что надо кликнуть на спане, не работает.

    В консоли выдаёт ошибку:
    POST opencorpora.org/ajax/ner.php 500 (Internal Server Error)
    formData=act=newEntity&tokens%5B%5D=112615&types%5B%5D=15¶graph=Array
    возвращает "{«error»:1,«error_message»:""}"


    1. bocharov
      17.12.2015 10:38

      Спасибо. Разбираемся.
      Скажите, пожалуйста, идентификатор текста (он в урле).



    1. bocharov
      17.12.2015 19:11
      +1

      На всякий случай отписываюсь здесь о том, что ошибку нашли и исправили ;)


  1. Nashev
    17.12.2015 21:03
    +1

    А Компрено не поможет? Или это наоборот, чтобы его сравнить с чисто человеческой разметкой, и затем доучивать?


    1. bocharov
      17.12.2015 21:09
      +1

      Это как раз для того, чтобы разную автоматику сравнить с условным идеалом, оценить и осознать перспективы.

      Компрено поможет, но сделает результаты оценки слегка перекошенными в сторону тех примеров, которые Компрено понимает хорошо. Оценить само Компрено при этом будет проблематично, а хочется. Поэтому делаем всё чисто, т.е. вручную.