среда, 26 декабря 2012 г.

Умничание вокруг лемматизации

Не то что бы я сильный любитель natural language processing, но так получилось что в исскуственном интеллекте этот раздел занимает очень уважаемую позицию. Да и в Grammarly нахватался кое-чего. Так что теперь это для меня родное, и следовательно, продолжаем разговор.

Итак, лемматизация. Начнем с того, почему это понадобилось. Как я уже писал ранее, я сталкивался с задачей классификации текстов. Есть много подходов, и немало эффективных техник основанно на подсчете частот вхождения слов. В общем речь о частотах и модели bag of words. И вот тут все хорошо в английском. Но неважно в русском или немецком. Потому как в этих языках очень большая вариативность словарных форм. Ответ простой. Привести все слова к  леммам. Однако все опять таки просто для английского, но для русского и немецкого правила намного разнообразнее и сложнее. 

пятница, 7 декабря 2012 г.

Встреча AI клуба. Тема: Natural Language Processing.

Вчера при поддержке Grammarly состоялась очередная встреча AI клуба. Я очень люблю эти встечи, огромное спасибо организаторам, плюс  оба спикера приятно удивили.

Первый докладчик Jordi Carrera, в некотором роде мой наставник в плане освоения техник в Natural Language Processing, и вообще приятный человек, рассказывал об определенноного рода кластеризации для задач категоризации текстов. Зная насколько действительно сложно из корпусов выделить признаки отдельных категорий и произвести кластеризацию я был впечатлен простотой и эффективностью подхода примененного Джорди.
Для непосвещенных поясню. Обычно для решения задачи категоризации / классификации текстов (как тут) применяется машинное обучение с учителем. То есть для того чтобы алгоритм работал, ему нужно "скормить" некоторое количество уже категоризированных (человеком) данных, чтобы он научился узнавать жанры(категории). Так работает и Naive Bayes Classifier и Support Vector Machine Classifier. Ключевым тут является то, что требуется иметь уже классифицированные корпуса для обучения. Что не всегда возможно, иногда дорого, а так же вообще более примитивная техника исскуственного интеллекта. Работа Джорди, по сути позволяет не только распознавать класс докуметов из большого набора таковых, но и ко всему прочему именно из самих этих докуметнов узнать, какие категории там представлены, то есть выдилить эти самые группы. В математике, машинном обучении и исск. интеллекте это называется словом "кластеризация".
См. Презентация.


Второй докладчик, Митя Сичинава, (очень рад знакомству), лингвист. Участвует в работе века над национальным корпусом Русского Языка, произвел впечатление не только очень образованного человека, но ко всему прочему и искренне влюбленного в лингвистику в целом и в корпусную лингвистику в частности. Работа в которой он активно участвует имеет огромное значение. Дело в том, что в исскуственном интеллекте качество и количество данных иногда намного важнее даже качества алгоритма использующего эти данные (Data Beats Algorithms). По этому, огромное спасибо за эту работу, а так же за презенацию.
Мы с ребятами давно планировали провести некоторые эксперементы по алгоритмам для обработки корпусов русского языка, теперь я знаю откуда брать эти самые корпуса. Да, кстати, yandex активно сотрудничает с научной группой, хостит у себя корпуса и использует данные для улучшения своих продуктов.

См. Презентация.

Презентации выложил, скоро ожидается видео на канале http://www.youtube.com/user/grammarlylabs.