?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Читая логи чатбота
kelijah
Пробежался глазами по логам чатбота одной очень, очень крупной компании. И вот что бросается в эти самые глаза. Процентов 15 сообщений сводится к "мне нужен специалист а не робот".

Ну понятно, что чатбот несовершенен, иногда тупит и отвечает вариантами "я есть Грут". Но это временные, устранимые недостатки. Лет через пять, по мере улучшения чатботов и параллельного сокращения затрат на живые колл-центры, неизбежно появится и платная услуга "Поговорить с живым оператором".

Второе следствие взросления технологии - взломы корпоративного чатбота через вербальный канал, а-ля "Белая трость калибра 7.62". Найдется умная голова, которая придумает грамматический эксплойт для махины из парсеров, нейросеток и регулярок, пролезет через микросервисы и доберется до БД.

shallow парсинг и grammar inference для нормализации грязных данных в MDM системе?
kelijah
В результате интерференции родилась такая мысль, надо ее застолбить :)

Задача

Вот, допустим, есть у нас некая MDM система, которая помимо прочего в рамках ETL процедуры должна уметь забирать описания товара из какой-нибудь 1C. Данные, как это водится, грязные. Вводят их вручную менеджеры, операторы склада или бухгалтеры. А даже если вводят специально выделенные люди (aka "эксперты НСИ"), то могут быть свои забавные способы впихнуть в короткую текстовую строку самую разную информацию. Хотя, казалось бы, для некоторых материальных сущностей эти описания регламентируются ГОСТами и т.д.
Read more...Collapse )

Нулевая связка в новом парсере
kelijah
Продолжая тему нового парсера на замену старому.

Добавил в качестве эксперимента в этот парсер поддержку нулевой связки, точнее любого подразумеваемого токена. Зачем?

Read more...Collapse )

Гугл: квантовое преимущество, искусственный интеллект, первые признаки сингулярности в google pay
kelijah
Кто там мемично шутил про "бигдата, аджайл, где карту получали, в то отделение и ступайте"? Ввожу обязательные параметры в Google Pay, подключаю виртуальную визу. На форме ввода нужно ввести почтовый индекс. Ввожу - "неправильно заполнено поле индекса". Переввожу, пробую другие соседние индексы, пробую сменить город и индекс на Вологду - толку 0. Гуглю проблему (тонкий британский юмор ситуации). Оказывается, этому багу в гугл пэе много лет, но чинить его не торопятся. Да, нейросети, квантовое преимущество, искуственный интеллект - все в комплекте.
Read more...Collapse )

Неудачная попытка использования XGBRanker и LGBMRanker для задачи определения перефразировки
kelijah
Под катом - особенности определения синонимичности фраз в языке, использование BERT, метрики для оценки моделей и проблема с задачей ранжирования.
Read more...Collapse )

Пример претензии к pymorphy2 в качестве поставщика морфологии для парсера
kelijah
Одна из основных проблем при использовании pymorphy2 в качестве морфологического анализатора для парсера видна на следующем примере. Вот результаты анализа слов в тестовом предложении "в огромном сарае лежало старое сено":
Read more...Collapse )

Bottomup парсер на чистом питоне
kelijah
Раз в два-три года я пробую делать какой-то новый парсер для русского языка. Последний раз это была неудачная попытка прикрутить reinforcement learning для shift-reduce парсера, обучаемого на корпусе эталонных разборов.

В этот раз за полтора месяца сделан прототип восходящего вероятностного парсера на чистом питоне.

Read more...Collapse )

Расширение поддержки русского языка в Duckling
kelijah
Duckling - библиотека от Facebook, позволяющая извлекать из текста структурированные данные. Например, с ее помощью из строки "смартфон стоит двенадцать тысяч рублей" можно выделить числительное "двенадцать тысяч". Попутно для извлеченной информации делается некоторая нормализация, то есть получим представление в числовом виде "12000".

Помимо других альтернативных инструментов, Duckling можно использовать в фреймворке чатботов RASA для NER.

Чтобы "пощупать" этот экстрактор, нужно скачать репозиторий, скомпилировать, запустить rest-сервис. После чего через браузер или curl можно прокачивать тексты и видеть json-результаты.

Попробуем:
Сборка, тестирование, расширение duckling...Collapse )

а вот простейшая seq2seq модель для генерации реплик в читчат боте что выдает
kelijah
После обучения на объединенном датасете диалогов из Толоки + мои датасеты для чатбота, модель, не учитывающая контекст, а только текст заданного вопроса, выдает такую "болтовню":
Read more...Collapse )

Классификация интентов в чатботе - сравнение моделей ELMO, BERT и char-level linear sklearn
kelijah
Сравнение выполнялось по f1 weighted метрике на датасете с ~5100 сэмплов через 8-фолдовую кросс-валидацию. Чуть больше 70 интентов с большим дисбалансом.

Финальные результаты:

LinearSVC ~0.77
BERT        ~0.815
ELMo        ~0.817
Пояснения по моделямCollapse )