Category: технологии

Category was added automatically. Read all entries about "технологии".

Какой он на самом деле современный "Диалоговый Искусственный Интеллект"

Разницу между тем,

1) что позволено видеть потребителю (а для корпоративного маркетолога все мы - "кастомеры"),
2) и как на самом деле все это работает,

хорошо иллюстрирует вот этот клипчик про съемки фильма "Automata":
Collapse )В диалоговых системах роль зеленых человечков играют те, кто составляют сценарии бесед, определяют ключевые темы и переходы, прописывают "эмоции", которые чатботы будут "проявлять".

О языковой креативности в период усвоения родного языка

Только накануне я с умным видом распинался о том, что мол одно из зримых отличий генеративных нейросеток от человека в период language acquisiton - отсутствие у сеток "языковой креативности".

Кто общался с детьми, тот знает, что в определенный период они весьма активно конструируют новые слова из знакомых морфем. Например, берут некий корень, добавляют суффик и окончание и получают вполне валидное слово, адекватно передающее необходимый смысл и вписывающееся в синтаксический контект. Ну или собирают составное слово из парочки корней. Обычно это выглядит забавно, потому что получающееся слово взрослым человеком не употребляется - либо есть другое устоявшееся слово, либо... ну вот не говорят так и все.

В качестве примера - слово "колесос" для пылесоса на колесиках.

И вот разгребаю сегодня лог беседы ботов, и вижу фрагмент для генерации ответа:

заданный вопрос: где растут одуванчики?
подобранный факт: одуванчики зацвели и затенили окно
сгенернированный ответ: около затенилища


Что тут должно привлечь внимание?

Слово "затенилища". Это существительное явно собрано нейросеткой из BPE-токенов на основе глагола "затенили". Сетка применила вполне валидную модель словообразования с суфиксом -ищ- и просклоняла получившееся существительное в правильный падеж, выбрав нужное окончание -а.

Это как раз такое поведение, которое есть у детей.

Перевод англоязычных датасетов на русский язык с помощью OpenNMT

Мир несправедлив, в том числе в объеме доступных русскоязычных датасетов для NLP.
В связи с ростом качества нейросетевых систем машинного перевода возникает мысль прогонять тексты через такой переводчик.
Я взял OpenNMT и en-ru модель отсюда.
На входе - англоязычные диалоги.

Результаты:

- Hello!
- Hi! How are you?
- Not bad! And You?
- I'm doing well. Just got engaged to my high school sweetheart.
- Wowowowow! Congratulations! Is she pretty?
- She 's pretty cute. She invited me to dinner tonight. 🙂
- Cool! Have a good time you both! And what is your hobby?
- I love music! I love Taylor swift. 😉
- Me too. And what about Iggy Pop?
- I love Ziggy! He is my favorite. Are you and your wife millennial too?
- I have no wife. And I'm not millenial, I'm X generation. Hey? Where are you?
- I am sorry to hear that. What do you do for fun?
- I'm playing pipe organ.
- That sounds impressive. I like to go out to eat with my friends.
- Cool! See ya!
----------------------------------------------------
- Здравствуйте!
- Привет! Как дела?
- Неплохо!
- У меня все хорошо.
- Воовы! Поздравляем!
- Она довольно симпатичная.
- Классно провели время вместе!
- Я люблю музыку! Я люблю Тейлор Свифт.
А что насчет Игги Попа?
- Я люблю Зигги! Он мой любимый.
- У меня нет жены. И я не милленал, я - Х поколение.
- Мне очень жаль это слышать.
- Я играю на органе.
- Звучит впечатляюще.
- Круто!



Временами появляется бред, но его не так уж много, так что ручная модерация должна помочь:

- Я разработчик программного обеспечения.
- О, круто.
- Я танцую барабан и базу!

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

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

Твердое "может быть" в вопросно-ответной системе

В догонку к предыдущему - еще пример обмена репликами, когда буквальное значение и подразумеваемое противоположны:

- Хотите повторить?
- Почему бы и нет?


Ответ (кстати, в форме вопроса, хе-хе) содержит "нет", но однозначно подразумевает "да". Даже так - он полностью синонимичен "да":

- Хотите повторить?
- Да.

Нейросетевое решение AGRR-2019

Код с пояснениями для чисто нейросетевого решения задачи https://github.com/dialogue-evaluation/AGRR-2019 выложен в репозитории https://github.com/Koziev/AGRR-2019

Решение с BERT не взлетело, причем судя по всему из-за нехватки вычресурсов, так как после нескольких суток тренировки BERT'а модель почти достигла бейзлайна на рекуррентной сетке. 2 или 4 1080 Ti явно помогли бы :)

дилемма с BERT в AGRR-2019

По результатам тестов классификатора предложений для https://github.com/dialogue-evaluation/AGRR-2019, возникла дилемма.

С одной стороны, базовая нейросетевая модель выбивает на этой задаче более 90% точности при кросс-валидации.

С другой стороны, крайне урезанная BERT (обучена на 100,000 парах предложений, урезана до 2 heads и другие усечения) плюс fine tuning дала почти 85%.

По ощущениям, повысив сложность BERT хотя бы до 4 или 6 heads, можно поднять и точность последующей классификации. Но усеченная BERT обучалась на GTX 1080 Ti более суток. То есть любые улучшения потребуют несколько суток прогона. С другой стороны, эту обученную русскую BERT можно будет использовать и в других конкурсах. А до дедлайнов по AGRR осталось совсем немного.

Вот и вопрос - стоит ли оно того, при наличных вычислительных ресурсах.

PS (15-02-2019): Увеличил сложность BERT до 4х heads, переобучил на тех же 100,000 парах предложений. Точность классификации предложений для задачи AGRR на кроссвалидации выросла до ~91%.

Слишком хороший f1 и roc-auc score в моделях релевантности/синонимичности с triple loss

1. Что выдает модель сама по себе

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

(anchor) кошка ловит мышку
(positive) на мышку охотится кошка
(negative) дети играют в кошки-мышки
Collapse )

Неудачные эксперименты с triple и contrastive loss архитектурами для определения перефразировок

1. Постановка задачи

Нужна модель, которая определяет, эквивалентны ли два фрагмента текста (предложения) семантически.Правила синтаксиса и морфологии допускают очень большую свободу выражения латентной семантики, поэтому простая похожесть цепочек символов недостаточно хороша для некоторых случаев:

Collapse )