dr_klm: (Default)
Dr. K. L. Metlov ([personal profile] dr_klm) wrote2011-03-14 01:31 am

Аватар 2.0

Применение самообучаемых байесовских экспертных систем в области машинного перевода привело к статистической (и стохастической) революции (благодаря которой, в частности, появился сайт http://translate.google.com/). Современное определение искусственного интеллекта дается в терминах взаимодействия агента и среды, которые по-сути говорят об одном и том-же (будущем, которое и для среды и для агента общее), но на своих языках (среда общается с агентом языком сенсоров, агент соответствующим образом отвечает языком приказов своим исполнительным устройствам). Аватар 2.0, это еще один агент, который, пассивно наблюдая за этой беседой, строит свою модель поведения основного агента в контексте среды. При достаточной формализации взаимодействия агента (человека) и среды (например, таком как в компьютерных играх-песочницах типа DF или X), это не должно быть намного сложнее машинного перевода (что позволило бы превратить песочницы в MMO(ffline)RPG, с возможностью offline дообучения на примере отдельных сложных для предыдущей версии агента, т.е. "интересных" ситуаций). Могут быть и вполне серьезные применения.

Интересно, кто-нибудь думал уже в этом направлении ?

update (27.03.2011): Как говорилось в обсуждении, решение одной задачи AI, тянет за собой другие. Вот, свежий пример, распознаватель поз Kinect (популярно, детально). И над всем этим витает дух того самого известного пресвитерианского священника. ;-)

update (16.06.2011) А вот и исследователи из Университета Северной Каролины пришли к той-же идее. Судя по PR, ничего кроме идеи они пока и не опубликовали (корреляция между достижениями -- это только повод высказаться).

[identity profile] p2004r.blogspot.com (from livejournal.com) 2011-03-14 07:13 am (UTC)(link)
Извините, но качество перевода на русский на гуглтранслятэ, что то не свидетельствует о наличии "революции"...

[identity profile] dr-klm.livejournal.com 2011-03-14 02:56 pm (UTC)(link)
Да, но само _наличие_ гуглтранслейта свидетельствует. Я застал еще ту эпоху, когда машинный перевод делался на базе многоступенчатого анализа текста: морфологического, синтаксического, семантического... и последующей многоступенчатой-же генерации. Сделать универсальный переводчик на той основе было просто немыслимо.

Что касается качества, то оно есть функция количества скормленных байесовской экспертной системе примеров. С индонезийского, например, Google Translate переводит еще хуже чем с русского, а с немецкого лучше.

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

К.Л.М.

[identity profile] p2004r.blogspot.com (from livejournal.com) 2011-03-14 03:21 pm (UTC)(link)
Тут есть одна тонкость, которая как мне кажется принципиально у гугла не отражена. Мне представляется что не понимая смысла текста любая статистическая система дает только варианты перевода.

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

Перевод подавляющего числа предложений множественный.


PS ну в самом деле, что гугл не мог корпус переводов Гербета Уэлса (или другого классика?) например зарядить в свой трансляте как обучающий пример, разбив на абзацы-предложения? В этом корпусе встречаются _все_ словесные конструкции в превосходном качестве.

[identity profile] dr-klm.livejournal.com 2011-03-14 10:04 pm (UTC)(link)
Я уверен, что все, что они могут зарядить, они зарядят. Это всего-лишь вопрос времени.

Генерация случайных чисел в их переводчике инициализируется контрольной суммой всего текста. Это значит, что, например, добавив в текст ничего не значащий пробел Вы получите другой вариант перевода (то, в чем формула Байеса дает большую вероятность скорее всего не изменится, а где 50/50 -- слова поменяются). Добавив еще пробел, получите еще вариант...

Вы ведь слышали о классе NP-полных задач ? Решив одну из них со степенной асимптотикой, мы решаем их все. В каком-то смыслпе задача машинного перевода подобна. Решив ее, можно свести к этому решению другие задачи ИИ (как, например, создание аватара 2.0, который был бы не только визуальным, но и интеллектуальным отображением человека в другой реальности).

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

К.Л.М.

Очевидно, думал, и не один

[identity profile] combinator30.livejournal.com 2011-03-14 11:36 am (UTC)(link)
Например, я так понимаю, что при реализации Ватсона был применён во многом схожий подход.

[identity profile] dr-klm.livejournal.com 2011-03-14 02:57 pm (UTC)(link)
А кто такой Ватсон ?

К.Л.М.

[identity profile] combinator30.livejournal.com 2011-03-14 03:26 pm (UTC)(link)
Очень популярное изложение см., например, здесь, несколько более серьёзное рассмотрение можно глянуть, скажем, тут.

[identity profile] dr-klm.livejournal.com 2011-03-14 10:13 pm (UTC)(link)
Ах да, знаю знаю. Только у меня это ассоциировалось с Jeopardy, поскольку слово Ватсон уже было занято. Ну... это хороший поисковик... или современный механический турок-шахматист... а может быть и то и другое (поисковик выдает хороший набор вариантов, спрятанный в столе гроссмейстер быстро выбирает)...

В любом случае, как работает эта программа -- не известно (в отличие от описанной в статьях и монографиях методики статистического перевода), есть только догадки и мистификации.

К.Л.М.

(Anonymous) 2011-03-21 08:04 pm (UTC)(link)
с немецкого на английский и обратно гуглопереводчик переводит очень плохо.
я иногда поражаюсь насколько плохо! все-таки без "понимания" что такое род, число, время получить грамотный перевод сложно.

[identity profile] dr-klm.livejournal.com 2011-03-22 02:49 pm (UTC)(link)
Да, плохо. Но другого такого универсального нет. К тому же, есть люди, которые переводят еще хуже. Как и они, Google translate хорош своей способностью к обучению. Конечно, "понимать" он от такого обучения больше не станет, но, просто за счет запоминания, воспроизводить сложные тексты на другом языке будет лучше.

Что касается морфологических категорий, то их можно добавить. Байесовские экспертные системы, подобно живым организмам, в некоторой степени обладают свойством эквифинальности. Можно просто "бросить в котел" все возможные дополнительные признаки и система в процессе обучения сама выделит те, которые (возможно в совокупности) коррелируют с правильным ответом.

Конкретный пример: Программе spamassassin, сочетает в себе байесовскую экспертную систему и экспертную систему, построенную на явных правилах. Причем, в ней есть огромное количество явных правил, которые никак не влияют на конечный "счет" (спам/не спам) анализируемого сообщения. Зачем они ? Дело в том, что все "сработавшие" явные правила, независимо от их счета, скармливаются байесовскому классификатору и уже он сам динамически определяет их значимость.

Таким образом можно ввести явные морфологические признаки и в систему статистического перевода. Причем, не обязательно в виде явных правил, а, например, в виде такой-же самообучающейся экспертной системы, которая классифицировала бы каждое слово и слова в предложении. Результат этой классификации можно потом "вбросить" в сам переводчик, дополнительно к тексту.

К.Л.М.