Уверенный пользователь ПК
0,0
рейтинг
1 октября 2012 в 08:37

Разное → NLPub — каталог лингвистических решений

Я хочу представить NLPub — небольшую базу знаний, посвящённую компьютерной лингвистике в России.

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

Почему подавляющее большинство устройств, приложений и сервисов не работает с русским языком?

Мне часто приходится это повторять, но причина проста и трагична. Дело в том, что решение задач обработки естественного языка сопряжено с использованием специализированных программ — анализаторов, которые остро нуждаются в информационных ресурсах — словарях, корпусах, тезаурусах, именно благодаря которым они способны выполнять свою функцию.

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

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

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

Какие сведения собираются в рамках NLPub?


Особое внимание уделяется следующим темам:

  • инструменты обработки текста, доступные как для коммерческого, так и для некоммерческого применения — токенизаторы, морфологические анализаторы, синтаксические парсеры, средства анализа тональности;
  • ресурсы — словари, тезаурусы, корпусы текстов, необходимые для решения фундаментальных и прикладных задач;
  • мероприятия — тематические конференции и семинары для исследователей и разработчиков;
  • образование — учебные заведения и курсы профессиональной переподготовки в области обработки естественного языка и анализа данных.

Как можно помочь проекту?


Я вижу три доступных способа:

  • пополнять базу знаний, обеспечивая читателей качественным, корректным и актуальным материалом о положении дел в отечественной компьютерной лингвистике;
  • исправлять неточности, допущенные в процессе составления и развития базы знаний;
  • рассказывать про NLPub в различных тематических сообществах, повышая общественный интерес к области обработки естественного языка (хотя бы в блоге о нём напишите, как это сделал я).

Кому это принадлежит?


NLPub явлется некоммерческим проектом и не имеет аффилированности с коммерческими компаниями. Это ни в коем случае не закрывает путь в него для коммерческих компаний. Напротив, размещение информации об их продуктах чрезвычайно приветствуется наравне с открытыми и свободными решениями. Уже сегодня в перечне инструментов можно встретить немало коммерческих продуктов.

Я с радостью отвечу на все вопросы и замечания, изложенные как в комментариях здесь, так и через более приватные каналы связи.
Димочка @dustalov
карма
55,5
рейтинг 0,0
Уверенный пользователь ПК
Реклама помогает поддерживать и развивать наши сервисы

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

Самое читаемое Разное

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

  • +2
    Для синтаксического анализа есть еще MSTParser
    • +2
      Добавил, спасибо!
  • +1
    Полезное начинание — «Одобрямс».
    Языковые технологии надо всячески развивать и поддерживать.
    Удачи автору.

    Когда мне нужны будут инструменты и словари, непременно воспользуюсь ресурсом для вдохновения.

    Планируете ли вы делать еще публичный API для сервисов?
    • +1
      Спасибо!

      Каких именно сервисов? Цель ресурса — собрать сведения, о предоставлении интерфейса на «поиграться» я не задумывался. Для некоторых инструментов (тот же TreeTagger) есть описание как установить и пользоваться. Некоторые решения имеют демонстрационные странички на собственных сайтах.

      Быть может, я неправильно понял сообщение?
      • 0
        Имелось в виду API к различным языковым сервисам, наподобие google API. Например сервис синонимов, антонимов, проверка орфографии, «реверсивные» словари, поиск слов по смыслу, поиск по действию.

        Через какой-нибудь RPC-протокол по http запрашиваешь и получаешь ответ в нужном формате. Ну собственно есть DICT, но он очень примитивен и не совсем удобен. В вашем проекте собственно говоря уже есть условия для реализации этого.

        Причем можно развить идею: сервисы можно при необходимости разместить локально на своей территории.
        • +1
          Интересная и хорошая мысль, обеспечить как «игровую площадку», так и единую точку входа для внешних сервисов. Организационно NLPub вполне соответствует данной идее, но у меня пока нет видения, как такой Linguistic API должен работать.

          Однозначно, я запомню это предложение и через некоторое время подумаю ещё раз. Спасибо!
          • +1
            как такой Linguistic API должен работать.

            Стандартный сервис через http с реализацией стандартных протоколов rpc: RPC-JSON, SOAP, просто JSON+AJAX

            Пример: en.wikipedia.org/wiki/JSON-RPC

            Еще добавьте раздел: полезные приемы и алгоритмы (или другое название). Суть: сборник рецептов и паттернов для задач лингвистики.

            Например: когда-то придумал алгоритм, призванный находить «неправильные» слова в большой БД. Работал он так: найти все слова, состоящие из подмножества согласных, не содержащих или содержащих мало гласных. Данный алгоритм позволял находить «мусор» в базе. Хорошо бы иметь коллекцию таких оригинальных методов. На вашем ресурсе самое им там место.
            • +1
              Сверху всё очевидно: XML-RPC или REST+WADL. Не совсем понятно, как организовать сервисы внутри. Думаю, мне тут пока больше нечего сказать.

              Рецепты и паттерны — очень круто. Есть желание присоединиться?
              • 0
                Возможно. Надо обдумать. Спасибо за предложение.

                Не совсем понятно, как организовать сервисы внутри.

                Ну как организовывать? Кодить и ставить ))
        • +1
          ого, я бы таким пользовался даже за деньги
          • 0
            Спасибо за поддержку. Это легко реализовать на мой взгляд.
            • +1
              Я часто об этом думал в своё время, но у меня никак не складывалась более-менее внятная модель монетизации.

              В принципе, подобные штуки довольно легко подбиваются на гранты того же РФФИ (как это сделали коллеги с machinelearning.ru), но схему прямых продаж я здесь в упор не замечаю. Если доведётся и решусь — можно зафигачить заявку.
              • +1
                Это проще можно монетизировать. Доступ для ознакомления и с небольшим трафиком бесплатный + сокрость поменьше. Для тех, кто готов идти дальше: покупает пакетный доступ. Так-же для поддержки и развития кнопки донаций: paypal, webmoney, mobile phone

                Для тех кто не хочет платить или не может — тоже нельзя обижать. Отдаются запросы с рекламой + привлекаются рекламодатели. Главное открытость.

                А гранты интересно, но долго ждать и распилят все, обдурят. Рано или поздно лед тронется. Ведь это полезное и нужное дело. Технологии развиваются, лингвистика запаздывает. Скоро кроме роботов, вокруг никого не будет. Все будут за компами сидеть. Говорить и читать так можно и разучиться. Нельзя этого допускать.
                • +1
                  Пожалуйста, ознакомьтесь. Специально для таких случаев писал.
                  • 0
                    Прочитал. Идея ясно. Еще почитаю потом пару раз. Не сразу воспринимается — скажу откровенно. С этим понятна картина. Надо делать удобные сервисы и монетизировать для больших объемов. Пока эта вики является отличным началом. Нужно кончено постоянная поддержка проекта. Об этом говорилось выше. Пока достаточно вам разместить несколько кнопок для сбора донаций. Так все проекты живут открытые.
                    • +1
                      Момент про донат я изначально уточнил в анонсе и даже дал номер Яндекс.Денег, хотя очень не хотел этого делать. Это просто дань традициям, поскольку для меня ценность заключается именно в планируемом сообществе вокруг NLPub. Мне кажется, что я зарабатываю достаточно, чтобы немного заниматься благотворительностью.

                      Дополнительные средства могут понадобиться на какие-либо инициативы в рамках проекта — делать тестовый полигон, проводить мероприятия IRL или заниматься издательской деятельностью. Но это вопрос не сегодняшнего дня, а повестка дня завтрашнего.
                      • 0
                        Момент про донат я изначально уточнил в анонсе

                        Пропустил, не заметил.

                        делать тестовый полигон, проводить мероприятия IRL или заниматься

                        Да в общем. Важно, чтобы сформировалось сообщество. Но на сервисы потребуются ресурсы. Проведение мероприятий тоже полезно и вообще развития лингвистики как токовой. Сам факт уже радует. Главное чтобы все было открыто и могло расширятся и дополняться.

                        Издательская деятельность тоже очень интересно.

                        • +1
                          Сейчас основной акцент я делаю именно на построение более-менее внятного описания того, что сейчас можно взять и использовать. Чтобы студенты не тратили месяцы на беготню по Интернету, как это время тратил я. Чтобы бизнес сразу мог понять: стоит брать FLOSS-решение или обратиться к коммерческому поставщику. Когда каталог окажется более-менее заполненным и описанным, я бы посмотрел в сторону привлечения исследователей и информационной поддержки соответствующих конференций.

                          Это пока лишь моё видение и представление. Реальность расставит всё по местам, и какие-то инициативы от самого NLPub мне кажутся достаточно далёкой перспективой, до которой сначала нужно дожить, пройдя «долину смерти».
  • –1
    Я-я… а вы кто?
    • +3
      Доброжелатель.
  • +2
    Для синтаксического анализа могу еще порекомендовать AGFL и правила для русского
    • 0
      Круто, добавлю.

      Вот уже сейчас начинает вырисовываться ситуация, что куча полезных и замечательных решений (FreeLing, Link Grammar Parser, AGFL, etc) лицензируется под GPL, которая накладывает заметные ограничения в распространении ПО. Получается, что как стартапы, так и сложившиеся бизнесы оказываются вынуждены изобретать велосипеды не от неспособности посмотреть по сторонам, а из-за лицензионных ограничений у существующих продуктов.
      • 0
        Link Grammar Parser

        под LGPL => можно использовать как библиотеку в комм. проектах
    • +1
  • +2
    В OpenCorpora.org словари тоже есть ( opencorpora.org/dict.php ) — но количество лемм с aot.ru сравнивать там некорректно, т.к. у OpenCorpora леммы более «гранулированные» + доступна информация о связях между леммами. У aot.ru связанные (по терминологии OpenCorpora) леммы просто объединены в одну. Лучше imho количество словоформ писать.

    Еще пилю github.com/kmike/pymorphy2 потихоньку — там основа готова (подготовка словарей из OpenCorpora, разбор слов по словарю, предсказатель, работа с Cython-расширениями и без них — все со скоростью порядка 100тыс слов/сек и потреблением памяти порядка 15Мб) — нужно подописывать еще документацию, выложить скомпиленные словари и релиз сделать, но, мне кажется, в список тоже добавлять можно.
    • +2
      Согласен, вечером исправлю на количество словоформ, добавлю словари OpenCorpora и hunspell и ударения АОТ. Я бы вообще предложил создать отдельную страницу про pymorphy (аналогичную странице про mystem) и рассказать обо всём этом.

      Кстати, ты всё ещё в Екатеринбурге? Дело в том, что моё изучение NLP началось с ковыряния исходников pymorphy с попытками реализовать данную функциональность на Ruby. Всякие АОТ и прочие решения я нашёл уже позже. Так что я бы вообще предложил встретиться и пива попить :)
      • 0
        Можно как-нить (я правда по пиву не очень), ну это в личку уже)
        • +1
          Всё добавил, сделал для pymorphy сноску. Есть есть возможность и желание, то я бы предложил продублировать документацию по адресу http://nlpub.ru/wiki/Pymorphy. Хотя бы краткую.
  • 0
    А, да, в словарях из aot.ru еще информация об ударениях есть.

    И еще есть словари hunspell ( code.google.com/p/hunspell-ru/ ).
  • 0
    solarix.ru

    сам не пользовался, но на вид лингвистический движок весьма хорош.
    • +1
      Я тоже не щупал Solarix, но слышал немало положительных отзывов. Кстати, они перечислены на NLPub в разделе «Инструменты».
      • 0
        В любом случае буду следить за вашим проектом. Благодарное это дело, да и лицензия подкупает.
        • +1
          Спасибо! А ещё лучше — участвовать, редактировать и повышать интерес людей к этой области! :)
    • +1
      Я пользовался в своей программе. Движок мощный и очень быстрый. Распространяется как в скомпилированном виде, так и в исходных кодах (значительно дороже). Выбрал из-за достаточно подробной документации и наличия большого количества примеров. Да и автор постоянно был на связи и помогал с решением возникавших затруднений.
  • +1
    Так как упоминается словарь синонимов Абрамова, обратите внимание и на эту внушительную разработку:

    www.trishin.ru/left/dictionary/

    Кажется, на сегодняшний день это самый объёмный словарь синонимов.

    Из тезаурусов также хорошо бы упомянуть и полную акцентуированную парадигму Зализняка (см. www.speakrus.ru/dict/).

    • +1
      Насчёт www.speakrus.ru/dict/ долго думал: включать ли все материалы оттуда в NLPub или нет. Наверное, пока сделаю ссылочку на полную акцентуированную парадигму Зализняка.

      За словарь Тришина — спасибо!
  • +2
    Всем огромное спасибо! Считаю, что запуск прошёл успешно.
    • +1
      И если упоминать софт от Информатик, тогда обязательно нужно и разработки от ABBYY описать. Сегодня Lingvo, например, — это лучший агрегатор словарей с возможностями гибкого полнотекстового поиска (а значит — он может работать как корпус), под него оцифровано огромное количество бумажных и сетевых словарей и языковых справочников.
      • +1
        Всему своё время. Сейчас в списке есть ABBYY Compreno, до Lingvo пока руки не дошли и из ABBYY ко мне никто не обращался. Добавлю днём.

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