Небольшое исследование качества корпуса PARUS на гитхабе

По поводу вот этого корпуса https://parus-proj.github.io/PaRuS/

Архив с корпусом в формате Conll после распаковки имеет размер около 130 Гб. То есть данных много. Закономерный вопрос - насколько качественны эти данные, учитывая, что ручной модерации они не подвергались в силу объема.

Я сделал небольшой лексический анализ. Искал словоформы, которые отсутствуют в лексиконе Грамматического Словаря. Видно, что данные в какой-то степени грязные. Например, есть "существительные" (лемма + слово):
Collapse )

Релиз чатбота: заготовки для будущих skill'ов

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

1) Расширен и частично переработан набор intent'ов. По результатам предварительного анализа типичных вопросов в датасете "Mail.ru Ответы", добавлены несколько новых интентов для частых запросов в чатботах, например 'определение объекта на фотографии', 'поиск книги по описанию', 'odqa - вопросы к Википедии' и т.д.

2) Для этих интентов сделаны заготовки сценариев, в которых в будущем можно будет реализовать соответствующие skill'ы с детальной обработкой вариантов запросов. Например, в ответ на реплику "помоги решить задачу по математике" чатбот сейчас выдаст: "Мастер помощи с домашними заданиями еще не реализован!". По этой реплике можно найти исходник соответствующего сценария в файле rules.yaml.

3) Запуск новых сценариев для skill'ов происходит в случае, если не получилось найти ответ в базе фактов или FAQ. Например, для вопроса "Что такое хрусталик?" бот выдаст ответ из FAQ, а для вопроса "Что такое бензокаин?" будет запущен odqa-сценарий.
Collapse )

Изменения в движке чатбота

В движок чатбота, в его rule-driven подсистему, добавлены две экспериментальные возможности. Собранный докер с этой версией бота выложен тут.

Обе возможности относятся к приоритетным правилам генерации реплики бота. Эти правила срабатывают до того, как в дело вступает стандартный механизм подбора ответа в FAQ или релевантного факта в базе знаний. В файле правил rules.yaml они находятся в секции с незамысловатым именем "rules".
Collapse )

Читая логи чатбота

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

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

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

shallow парсинг и grammar inference для нормализации грязных данных в MDM системе?

В результате интерференции родилась такая мысль, надо ее застолбить :)

Задача

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

Нулевая связка в новом парсере

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

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

Collapse )

Гугл: квантовое преимущество, искусственный интеллект, первые признаки сингулярности в google pay

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

Неудачная попытка использования XGBRanker и LGBMRanker для задачи определения перефразировки

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