Как стать автором
Обновить

Комментарии 97

А почему корпус недоступен для простых смертных, если не секрет?
мне и самому невдомёк
Вроде потому что собран из текстов с нерешенными лицензионными вопросами + первоначальная разметка выполнялась коммерческими закрытыми программами.
Так его, получается, и использовать нельзя? Раз там все ужасно с авторскими правами и лицензиями. Ну, а с точки зрения закона, свободное и «выборочное» распространения чем-то различаются? Если нет, то тогда в чем смысл?
Права на тексты и права на разметку — немного разные вещи. Даже если бы НКРЯ захотел распространять разметку, встал бы сложный впрос: как ее распространять, не распространяя сами тексты. Сейчас выкрутились так: дают скачать случайную выборку предложений с морфологической разметкой (т.е. вроде как сами тексты как цельные произведения не распространяют, только предложения из них). Но условия распространения этой выборки тоже очень мутные (похоже, что использовать можно только в исследовательских целях, т.е. «в стол», хотя написано «свободно»), а на письма с просьбами уточнить не отвечают никому ничего.

Как и что это все значит с точки зрения закона — это только суд сказать может, как мне кажется. Короче, вопрос мутный уже много лет, и, похоже, таким и останется, уж извините за пессимизм. В OpenCorpora очень правильно сделали, что только лицензионно «чистые» тексты в корпус добавляют изначально, чтоб похожая проблема не возникла.
Круто!

Дальше сугубо IMHO. Расстраивает одно — непонятно, как и зачем серьезно заниматься NLP (и синтаксисом в частности) простому смертному. Писать правила — это нужна команда лингвистов, чтоб использовать машинное обучение — нужны корпусы, а тут НКРЯ вне конкуренции сейчас. Доступ к НКРЯ (применительно к задачам машинного обучения) не свободный (хоть корпус вроде же национальный — но понятно, причины на это есть, наверное), а потом еще и результаты обучения использовать свободно нельзя (для себя все делать, в стол, как другим-то людям результатами пользоваться?). По слухам — на изменение ситуации надежды почти нет. И при этом именно в НКРЯ вкладывают свои усилия РАН, университеты и т.д.

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

Такой открытый корпус есть, и довольно активно развивается: opencorpora.org/ — пользуясь случаем, приглашаю всех, кто может, присоединиться к его развитию, без краудсорсинга тут не справиться.
Полностью с вами согласен. Я пытался поднимать этот вопрос на последнем Диалоге. Удалось лишь получить добро на свободное распространение обученного парсера. Надеюсь, довести его до ума, чтобы им можно было реально пользоваться.

Проект Opencorpora мне безумно нравится. Жду не дождусь, когда они начнут синтаксическую разметку.
Добро на распространение парсера — это хорошо, с хорошим свободным парсером будет проще забутстрапить treebank на основе opencorpora.
> непонятно, как и зачем серьезно заниматься NLP (и синтаксисом в частности) простому смертному.

Личное ощущение (возможно, неверное), что это смотря какие задачи перед собой ставить. Некоторые можно решить, некоторые нет.

> потом еще и результаты обучения использовать свободно нельзя

Опа. Как нельзя?!
Есть такая проблема. Берёте корпус, обучаете на нём систему, а потом оказывается, что корпус «for research purposes only», а если вы хотите встроить систему в коммерческий продукт, платите большие деньги.
1) > Метод, основанный на правилах, применяется практически во всех коммерческих системах
Есть какой-нибудь пруф? Мне казалось, что как раз наоборот, сейчас всё на статистике работает.

2) Чем ваш эксперимент отличается от описанного в статье Parsing the Syntagrus?

3) > Данная модель показала точность (accuracy) в 78,1%, что довольно таки неплохо и для большинства целей вполне подходит.
Это state-of-the-art, но на самом деле это ничерта не подходит. Это означает ошибку практически в КАЖДОМ предложении, т.к. измеряется правильность присоединения слова.

Я тоже активно интересуюсь синтаксическим анализом. Мне кажется, что будущее как раз за комбинированным методом — автоматическое извлечение правил, только не из текста, а из размеченного корпуса. Мне кажется, что низкое качество анализа вызвано несколькими очевидными причинами:

а) Разметка частей речи плоха. В русском с этим попроще, а вот в английском, как ни бейся, получается хуже (т.к. одно и то же слово может быть чем угодно). Человек распознаёт части речи в зависимости от контекста, а в современных анализаторах эти процессы «разнесены по этажам». Их нужно совместить.

б) Алгоритмы машинного обучения вероятностны, язык сложен. Шаг вправо-шаг влево от обучающего корпуса — и возникают глупейшие ошибки образования связей. Я уверен, что машинное обучение должно совмещаться с лингвистическим знанием, т.е. надо не просто учиться на корпусе, но и генерировать в результате процесса некую формальную грамматику языка.

в) Не учитывается семантика (пока что). Если два слова можно совместить синтаксически, ещё не значит, что их можно совместить семантически. Эти вещи тоже учатся из корпуса, в теории.

3. Кстати не совсем. Примерно 10-15% структур будут построены правильно.
Ну, что тут говорить… ура, товарищи! Это великое достижение научной мысли :)
1. Возможно, я не прав. Я почему-то думал что Stanford и Berkeley парсеры основаны на правилах. ЭТАП в частности rule-based: www.dialog-21.ru/digests/dialog2012/materials/pdf/Iomdin.pdf

2. Думаю, ничем.

3. Тут все зависит от задачи. На мой взгляд, в большинстве случаев проблемы у парсера возникают при проставлении связей в предложных группах (я видел человека с биноклем), однако, при этом, скажем, подлежащее предложения обычно правильно определяется. Или же определения — прилагательные правильно присоединяются к соответствующим существительным. Т.е. если ваша задача, допустим, нахождение описание продукта из отзывов, то тут парсер вполне вам поможет.

Не думаю, что проблема заключается в разметке частей речи. Если не ошибаюсь, state-of-the-art тэггеры достигают точность в 99%. Конечно, проблемы возникают, если текст нестандартный (твиты, например). Основные проблемы, которые я заметил, это предложные группы, словосочетания, определение сущностей (даты, имена, названия организаций).
Stanford и Berkeley точно так же на статистике основаны, как и прочие («Q: Can I train the parser? A: Yes, you can train a parser»). ЭТАП — это, насколько знаю, довольно древняя махина, разрабатывающаяся с давних пор, и в этом смысле может быть уподоблена системам вроде Systran. Да, существуют, да, развиваются, но идеология там заложена очень давно и не менялась.

По поводу прилагательных, существительных и подлежащих — да бросьте, тут и парсер не нужен. Ближайшее к существительному прилагательное слева — искомое; первое существительное фразы — подлежащее. Такой простейший алгоритм уже даст вам хорошую точность. А если хоть немного улучшить, получится вполне сносно.

По поводу теггеров — моё личное мнение, что эта цифра в 99% крайне лукава. Мне самому не удавалось для английского выйти за пределы 97%, при этом baseline performance теггера (т.е. если всегда тупо приписывать слову самый вероятный тег) составляет 85% или около того. Если обращать внимание только на те слова, для которых производится хоть какой-нибудь выбор, качество моментально падает.

Кроме того, лукава разметка Penn Treebank, на которой обычно теггеры и тестируют. Например, в сочетаниях вроде «computer software» слово «computer» считается существительным, модифицирующим другое существительное, а не прилагательным, как сказал бы лингвист. Конечно, если делать такие допущения, можно добиться и 99%, да толку-то…
Для нового проекта парсинга английского языка ищем возможности 98% теггеринга.
Если кто отзовётся, буду премного благодарен.
Язык программирования важен?

Любая современная система (SVMTool, например) вам даст в районе 98%, проблемы возникнут, когда вам потребуется конкретный язык и/или лицензионная чистота в случае коммерческого использования.
Да, и как я сказал, смотря как измерять. Если «в лоб» (что обычно и делают) около 97-98% получите.
Мы двигаемся в направлении надлингвистических технологий обработки текстов с использованием Модели Мироздания.

Считаем, что за этим будущее.

Однако, приходится сталкиваться с проблемами BigData и ограниченностью машинных ресурсов. Как выход — частичное использование традиционных методов парсинга текстов — попытка совместить преимущества двух подходов: простота лингвистического графа и мощные возможности эвристико-смысловой обработки…
А почему «да» — это подузел глагола «съешьте»? Тут же вроде сложносочинённое предложениие, и «да» должно быть в корне и иметь «съешьте» и «выпейте» в качестве подузлов (так же, как когда вы парсите математическое выражение, операнды являются детьми узла с оператором "+").
Такое соглашение :)

В СинТагРусе нет фиктивной вершины.
Вершина предложения — слово «съешьте», от него идет сочинительная связь к «да».

Другой такой пример «Я купил овощи, фрукты и хлеб».
будет купил -> овощи -> фрукты -> и -> хлеб. Это в том числе связано с моделью языка.
У «купить» есть актант, который отвечает на вопрос что — купить [объект]. В этом случае [объект] — это фактически группа «овощи, фрукты и хлеб», которая обозначается вот так с соответвующими именами связей.
ха ха попробуйте Йоду распарсить вы
В грамматике зависимостей порядок слов не важен, т.к. мы хотим лишь знать от какого слова зависит каждое слово в предложении и тип этих связей.
Тут хорошо бы еще сказать, что для того, чтобы все это заработало, необходим POS-теггер и лемматизация, соответствующая корпусу. Работать с неразрешенной морфологической омонимией MaltParser не умеет. Да, еще нужна и морфология в формате морф.данных СинТагРуса — ковертация из АОТ проходит не так гладко, насколько я понимаю.

Ну и для тех, кто не очень в теме: создание корпуса — ОЧЕНЬ дорогая процедура.
СинТагРус размечается с 2003 года, сейчас в нем ок. 49 тыс. предложений. Первоначальная разметка делается автоматически и дает ок. 80% правильных связей. Потом структуры корректируются двумя независимым лингвистами. Когда корпус становится достаточно большим, то уже надо следить за единообразием разметки.
В корпусе от НКРЯ 30 миллионов предложений и 330 тысяч текстов, вы ошиблись на 3 порядка. Пруф.

50 тысяч — это opencorpora.
Все верно, только СинТагРус — подкорпус НКРЯ. И там 50 тыс. предложений.
подкорпус НКРЯ со снятой морфологической омонимией — ок. 8 млн. словоформ.
да, и пруф, если очень нужно.
А может ли данная система парсить предложения с необычным порядком слов, к примеру «Дайте мне копию пиратскую пиратов моря Карибского»?
а проверьте :)

по-моему, это фейл.

что, впрочем, нисколько не умаляет заслуг автора, который проделал отличную работу и написал хорошую, внятную статью. решпект!
Да легко. Проблемы обычно в другом. Например «Моих друзей звали Иван и Петр». имена моих друзей Иван и Петр. Или Петр и Иван звали(окликали) моих друзей?
Самый разумный метод, который я видел — это генерация всех допустимых комбинаций с последующим ранжированием (т.е. оценкой качества графа). В данном случае применяется правило «существительное раньше дополнения», повышающее оценку первого варианта.

Мы ведь так и делаем — см., «добро побеждает зло».

А компьютер — он такой шалунишка… среди самых забавных трактовок, с которыми сталкивался — «он увидел её перед своими глазами» и «он имел помощником экономиста». Распарсьте-ка в уме :)
Профессионалы такое на раз видят, да. Обычным людям значительно сложнее :)
А я просто приведу один пример предложения на голландском:
«ik Cecilia Henk de nijlpaarden zag helpen voeren»
досл: я Цецилья Хэнк этих бегемотов видел кормить помогала.
пер: я видел как Цецилла помогала Хэнку кормить бегемотов.

И предложу автору классифицировать грамматику по хомскому :)
А по Хомскому незачем, Хомский свою систему разрабатывал для английского, где важен порядок слов. Для европейских языков dependency grammars уже, можно сказать, победили.
очень интересно. вы прям описали 20 лет развития компьютерной лингвистики. :)

но «парсер — лох», увы… даже 78% точности дают грубые ошибки в построении синтаксического дерева, которые человек не допустил бы.

всё это грустно.
Ошибок много, согласен. Но это не грустно, это просто нужно улучшать. Главное, что основа есть.
Кстати, для русского очень полезно создавать фичи на основе морф. характеристик.
Я не уверен, что MaltParser это делает. В русском POS-тег(если так можно назвать) составной, а не атомарный.
Скажем если использовать признак падежа, то можно улучшить модель за счет согласования падежей.
Maltparser'у можно подать на вход любой набор тегов. Т.е. можно спокойно составить теги вида «сущ-ед.ч.-родит» и тренировать парсер на них.
Можно, да. Использовал ли это автор, вот в чем вопрос.
В статье Parsing Syntagrus, на которую я ссылался, написано, что не просто «можно» использовать морфологические данные, а просто необходимо, иначе вообще ничего не выйдет.
Да, но я вот не помню, морф. данные считались атомарным тегом или составным.
MaltParser использует морф. характеристики. Но я при обучении задавал составные теги (типа «сущ.ед.муж»), т.е. морфология как бы учитывается, но наверное не так, как вы предлагаете. В принципе, я с вами согласен. Для русского нужно учитывать морфологию более искусным путем.
Кстати. Немного офтопика. Вы на Диалоге рассказывали про анализ тональности. В частности, был конвеер обучение POS-теггера на снятнике НКРЯ и maltparser на СинТагРусе. Как конвертировались морф. признаки? Как в вашем Pyrus? Т.е. простое 1:1 соответствие?

Была ли еще привязка к АОТ?
Там был немного запутанный конвеер. Тексты сначала прогонялись через TreeTagger (http://corpus.leeds.ac.uk/mocky/)? затем теги конвертировались в теги НКРЯ (писал скрипт для конвертации) и прогонялись через MaltParser. Собственный POS-тэггер не использовал, т.к. не успел сделать сегментацию на предложения и слова. АОТ пробовал использовать для лемматизации, но там почти никакого эффекта не было для классификации тональности.
Спасибо за пояснения. А как конвертировлись НКРЯ -> СинТагРус? Это же ведь было нужно для обучения?

Тут еще вопрос — формат НКРЯ это формат снятника(части, в которой снята морф. омонимия), или формат СинТагРуса?
Теги СинТагРус конвертировались в англ. версию (S ЕД МУЖ ИМ НЕОД -> S.m.nom.sg) (это было необязательно. но мне почему-то было так удобнее) примерно так: github.com/irokez/Pyrus/blob/master/src/syntagrus.py

Теги TreeTagger конвертировались тоже в англ. версию (Ncmsnn -> S.m.nom.sg) так: gist.github.com/cc9db95069b267a1d79f

НКРЯ в СинТагРус не конвертил. Собственно из всего НКРЯ я использовал только СинТагРус.
Спасибо :)
Кстати, урывками пилю github.com/kmike/russian-tagsets — библиотечку для преобразования между различными форматами морф. признаков. Там внутри простой движок для цепочек преобразований (например, если библиотека знает, как из формата A перевести в формат B, и как из B в C, то A->C тоже как-то заработает без явного указания). Сейчас готова более-менее поддержка преобразований туда-сюда между тегами aot, "rutags" и ДИАЛОГ-2010. Начал добавлять туда opencorpora, но моя «урывка» закончилась и не доделал по-нормальному.

Я это к чему — если делаете преобразование между тегами любых 2 форматов, рассмотрите возможность сделать это в рамках russian-tagsets в виде pull-request'а. В качестве бонуса — заработает преобразование в другие форматы, если получается цепочка.
Спасибо. Буду иметь в виду. Я начинал делать преобразование AOT -> ЭТАП (СинТагРус).
Как будет свободное время, попробую сделать это для russian-tagsets. Я просто на Java пишу :)
Собственно, компилятор словарей АОТ и построение минимального КА есть у меня на гитхабе :)
Спасибо)

Кстати, в планах — обязательно добавить в russian-tagsets консольную утилиту, чтоб можно было библиотеку использовать без написания питоньих скриптов.
могу добавить преобразование из тегов MULTEXT :)
Было бы здорово) Мельком глянул, они вроде довольно похожи на rutags, и в авторах Anna Feldman тоже — это я к тому, что, возможно, проще всего будет multext <-> positional сделать, multext <-> aot тогда само заработает.

Но если есть готовый код уже для multext <-> aot, то он совсем не помешает, т.к. явное преобразование может помочь избежать потерь информации при преобразовании через посредника.

Там сейчас README нет, если какие-то вопросы по реализации — пиши.

В университете мы подобное(в несколько упрощенном виде) писали на прологе. Он хорошо подходит для решения подобных задач.
Дьявол в деталях.
Проблема в написании правил :)
«в несколько упрощённом виде» :)
К сожалению, никогда не пробовал писать на прологе. Но скорее всего вы делали пытались формализовать естественный язык на прологе, что эквивалентно написанию правил. Я здесь описываю статистический подход — парсер сам обучается на основе уже размеченных данных.
Да, вот почитай. Интересная тема на самом деле.
Ограничение на распространение накладывается также и на построенную модель?
Мне дали добро на распространение обученной модели для некоммерческих целей. Единственная загвоздка — модель бесполезна без морфологического анализатора. Как только приведу в порядок исходный код, то смогу распространять модель.
Я потихонечку-помаленечку для собственных нужд пилю довольно примитивный морфологический анализатор на Ruby, который умеет работать со словарём и выдавать грамматическую информацию в замечательном формате MULTEXT-East. Также он доступен в виде Web-сервиса. Если интересно, буду рад обратной связи.

Сейчас есть много важных вещей, которые нужно доделать: формирование гипотез для неизвестных слов (как в mystem от Яндекса), реализовать SQL-бэкэнд вместо Tokyo Cabinet, но для каких-то несложных задач его можно использовать уже сейчас.
неплохо! на основе АОТ?
Используется морфологический словарь проекта АОТ, но схема данных своя. Для этого написан соответствующий конвертор Myasorubka на который я ради прикола даже свидетельство о госрегистрации получил.

Мне нравится pymorphy от kmike, но мне очень не нравится Python (пожалуйста, давайте не будем это обсуждать). Более того, мне кажется, что алгоритм в анализаторе mystem гораздо разумнее, чем подход АОТ на основе генерации словаря окончаний.

Сейчас в планах воспользоваться словарём OpenCorpora, но я пока не могу выделить время на изучение их XML-фарша.
В mystem и aot подходы почти одинаковые — по паре автоматов для поиска/итерации по словам спереди и сзади. Отличие, как я понял (судя по бумагам — исходников mystem нет) — в словарях (видимо, в mystem они актуальнее), в эвристике + в aot автоматы вручную строится, а в mystem, судя по бумаге, пара trie.
Судя по статьям, trie используется потому, что в нём удобно представлять большое количество строк, по которым выдётся поиск. Очень приятно, что метод mystem не предполагает построение автомата, а это довольно долгий (хоть и однократный) процесс. Хранение всех этих окончаний с привязанными правилами мне кажется лишней избыточностью.

Да, исходников mystem у меня тоже нет.
Внутри trie — тоже автомат, он тоже строится (при заполнении trie), другое дело что дополнительно не минимизируется. В итоге довольно похоже получается, если на конкретные действия смотреть, которые программы выполняют при поиске (взяли букву, перешли к следующей и т.д.) Плюс иногда trie еще в DAWG минимизируют, там еще более похоже выйдет.

Окончания с привязанными правилами в mystem, судя по бумаге, тоже хранятся, но не для всех слов («The boundary between stem and suffix is taken either from the input file if it is explicitly presented or computed automatically as the length of the common part of all word forms in the paradigm.») — информация о том, как бить слово на 2 части — это и есть аналог правил из aot (если я все правильно понял). Там, где размеченного вручную (лингвистически осмысленного) разбиения слов нет, работает автоматика.

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

Вася прич., вин. падеж, жен. род, страд., ед. число

:)
Например, в предложении «мама мыло окно»: и «мама», и «окно» могут выступать в качестве субъекта
И мыло, кстати, тоже. :)
Это если омонимия не снята.
Да. Хотя «мама» в качестве объекта тут выступать не может. «Окно мыло мама»?
1. Разбить текст на предложения (сегментация на предложения)
2. Разбить каждое предложение на слова (токенизация)
3. Определить грамматические категории для каждого слова (морфологический анализ)
Язык ведь не так устроен. Он не по нисходящей должен исследоваться, а в комплексе. Простейший пример: «Я купил мороженное» и «Я купил мороженное мясо» — здесь слово «мороженное» является разными частями речи, и без предложения целиком вы не поймете, что имеется в виду.

Более того, предложения тоже нельзя рассматривать отдельно. Почти такой же пример: «Я пришел в магазин, но охлажденного мяса там не было. Подумав, я все-таки купил мороженное.» Здесь без первого предложения не понять, что во втором слово «мясо» опущено, а «мороженное» — ни разу не существительное.

Мне кажется, тут может частично спасти недетерминированность: предлагать несколько вариантов, и протаскивать на следующий уровень все. Или более правдоподобные, а в случае возникновения несостыковок — спускаться назад и брать еще. Но это уже гораздо более сложная система.
Спасибо, посмеялся!
А потом такие неграмотные становятся учителями русского языка.

Урок русского языка в грузинской школе. Учитель говорит: «Дети, запомните: слова сол, фасол, вермишел пишутся с мягким знаком, а слова вилька, булька, тарелька – без мягкого знака. Дети, запомните, потому что понять это невозможно!»
Да, я ошибся. Там должно быть «мороженое» и «мороженое мясо». Сути моего комментария это не меняет, и я ожидал высказываний по существу, а не придирок к орфографии. А уж учителем русского языка я точно уже не буду.
А вы не хотите про этот эксперимент рассказать у нас на семинаре: nlpseminar.ru?
Мне кажется, что отличный кейс про то, что можно сделать руками.
Я бы с удовольствием, но, к сожалению, я не в России.
Ну если будете проезжать мимо Питера, то мы Вас с удовольствием пригласим на семинар.
Очень рад увидеть подобные статьи на Хабре.
К сожалению не могу разделить мнения по поводу статистических методов, так как дальше простейших предложений они уйти не могут. Гляньте конкурсные предложения диалога, статистикой их не осилить. По-моему мнению статистические словари могут быть полезны как замена или помощник при разрешении сложных зависимостей. Насколько я понимаю, парсер Abbyy и именно так их использует.
Всё зависит от языка, с которым работает система. Многие западноевропейские языки (тот же английский) прекрасно обрабатываются статистическими парсерами. Нельзя исключать статистические методы только потому, что они внешне могут казаться игрой в кости.

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

Где-то недавно пробегала ссылка на тот же «Диалог», речь шла как раз о синтаксическом анализе.
Слово «прекрасно» ненаучное. «Прекрасно» — это 70%, 80%, 90% или сколько? Меня абсолютно не удовлетворяет качество разбора современных парсеров, и выше я объяснял, почему. Ошибки возникают в каждом втором предложении.
Абсолютно поддерживаю этот Ваш тезис.
>>>Всё зависит от языка, с которым работает система. Многие западноевропейские языки (тот же английский) прекрасно обрабатываются статистическими парсерами.>>>

А не могли бы Вы подсказать, существуют ли работы, в которых анализируются особенности обработки языков разных семей? За ссылки также буду очень признателен.
Штука в том, что сейчас всеми силами стараются этот процесс унифицировать. Например, берётся размеченный корпус языка, далее на нём учится POS tagger и парсер, производится замер. В этом есть свой смысл, но особенности стараются как можно раньше формализовать (в виде морфологических атрибутов слова, например), а дальше применить стандартную модель.

Для сравнительного анализа результатов погуглите «CoNLL-X Shared Task on Multilingual Dependency Parsing», например. Но всё это тоже лукавая статистика, т.к. качество инструментария для разных языков разное. Начиная прямо с размеченных корпусов.
Спасибо, поищу:!
Я не интересовался работами, посвящёнными непосредственно сравнению методов обработки языков различных семей. Однако из всего, что я видел, сходу могу посоветовать несколько ссылочек:


Вообще, нынешний RuSSIR как раз посвящён многоязычному информационному поиску. Вероятно, в материалах конференции будет что-то интересное именно по данному вопросу.
Спасибо, почитаю.
Хочу напомнить автору, что данный велосипед изобретается с 50х годов прошлого века Хомским и еще много кем. Читал ли автор хоть что-нибудь о структуре языка как об абстрактной системе, о проблеме контекстуально-свободных «порождающих» грамматик?
Если не игнорировать опыт предшественников, наверняка удастся избежать многих заплаток и костылей в своем продукте.
«Данный велосипед» даже если и изобретается с 50х годов, но даже и его нет для русского языка в свободном доступе. Хотя я тут описывал не грамматику составляющих, которая вписывается в модель Хомского, а грамматику связей, которая больше вписывается в теорию Мельчука и ко.
В этом и вся беда отечественного NLP (которое не пикап): ни словарей, ни программного обеспечения, ни моделей обученных, ничего.

Особенно досадно, что машиночитаемые корпусы текстов и тезаурусы русского языка разрабатываются на наши же с вами налоги, но при этом доступны только узкому кругу разработчиков и паре-тройке «своих» организаций.
Ну и фиг с ними. Команда «Айноу» сейчас разрабатывает парсер русского языка по новой (не лингвистической) технологии. Он будет доступен всем желающим.
Замечательно. Можно где-то о вас почитать? Опубликованные статьи, патенты, сведения о продуктах?
Постепенно выкладываем на сайт «Айноу».
Вероятно, я плохо ищу: по запросу «Айноу» получаю только компанию из Тюмени, которая занимается маркетинговыми исследованиями. Можно прямую ссылку?
Вот здесь: iknowww.ru
Клёво, спасибо. Странно, но переводчик будто не переводит вовсе, а дописывает к исходному тексту слово “Sample”.
Да, к сожалению, в силу новых обстоятельств переводчик будет перенесен в систему DUDU.com Поэтому его демонстрация приостановлена.

Однако, всё остальное, что касается обработки текстов на естественных языках, будет выставлено на этом сайте.
На хабре уже было несколько статей про парсинг предложений (1, 2)

«Я звиняюся», Вы не указали мою статью (возможно не увидев её по моей вине), тоже про синтаксический анализ предложений: habrahabr.ru/post/126675/
а что, все? сайт уже не фурычит? я не успел?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории