Pull to refresh

Comments 94

Как там кто-то говорил: «прежде чем пытаться объяснить тонкости языка компьютеру, попытайтесь объяснить самому себе в чем отличие во фразах 'я ел пирожки с грибами' и 'я ел пирожки с друзьями', а также что имеется в виду когда говорят 'я ел пирожки с котятами'». Мы сами зачастую не можем формализовать правила языка, почему похожие конструкции означают совершенно разные вещи и явления, как без этого мы можем языку научить машину?

Интересно кстати, пробовал ли кто-нибудь учить компьютер не естественным языкам, а искусственным? Какому-нибудь эсперанто. Или токипоне (хотя это может быть как раз сложнее, словарный запас намного меньше зато гораздо больше неоднозначности) В них же по идее гораздо меньше исключений и нелогичных правил, должно быть проще. Или нет?
Тогда уж не эсперанто или токипоне, а ифкуиль. Он ведь изначально разрабатывался на принципах предельной логичности, однозначности и точности формулировок.

Вы не путаете с логланом/ложбаном?

Про логлан и ложбан я почти ничего не знаю.
Но у ифкуиля среди заявленных целей абсолютно точно были и эти.

Про логлан/ложбан я, так уж вышло, абсолютно точно знаю, что создавались они в том числе так, чтобы исключить неоднозначность как фонетическую, так и смысловую. В том числе для того, чтобы облегчить машинное распознавание. Неспроста Майкрофт в «Луне — жестокой хозяйке» разговаривает на логлане.

UFO just landed and posted this here
Адепты нейросетей считают, что машина сама научится. Ведь никто не знает, какими значениями нужно заполнить матрицу, которая в итоге справляется с поставленной задачей. А обучается машина сама.
Другое дело, что такой подход может к языку не подойти.
Проблема в том что для начала поставленную задачу как раз надо формализовать. Чтобы определить успешность решения и реализовать подкрепление обучения, фитнес-функцию или еще какую-либо оценку качества работы.
А почему-бы не дать машинам самим обучиться, так как они это делают. А потом нам самим попытаться их понять — «выучить их язык».
Да и вообще, не лучше ли дать им полноценные органы чувств, чтобы вместо подписей к картинкам, давать им реальный опыт взаимодействия. Так как это делают маленькие дети (ведь их не учат говорить текстом с картинками). Речь более интуитивно-понятна, чем письмо, это видно и из нашей истории.
Развитая речь присутствует лишь у одного вида на планете, хотя уровень интеллекта ненулевой и у других животных, некоторые из них вполне способны к счёту, творчеству или свободному использованию подручных средств для своих нужд. Соответственно, очень маловероятно, что на текущем этапе у такого робота сформируется речь. Более того, для формирования каких-то осмысленных звуковых сигналов, хотя бы на уровне лая собаки, просто необходимо иметь более одной особи и набор базовых инстинктов.
Шимпанзе, гориллы, орангутаны способны к жестовому освоению языка глухонемых, а Африканские Серые попугаи к осмысленному использованию звуковой речи.
Сетей уже наделано не мало, но ни одна почему-то пока не научилась сама понимать язык. Чтобы она научилась, надо все равно сначала сделать соответствующую архитектуру. А значит надо сначала понять, какую архитектуру делать, а потом делать нейросеть (НН), которая уже «сама» научиться.

И многое зависит от того, как интерпретировать результат. Мы говорим, что НН распознала лошадь, например. Она просто выбрала выход Х, который мы (а не она) назвали «лошадь». НН о лошади представления не имеет. Мы создали интеллектуальную машину, понимающую, что она видит, или просто создали сложное «реле» со множественным входом?
Русский язык не самый легкий для обучения язык. Мне кажется, ИИ стоит обучать примитивному английскому. Не путать с британским английским.
Объяснить — не проблема, проблема — формализовать. Потому что фраза сама по себе смысла не имеет — значение придаем ей мы, исходя из контекста.
Вторая фраза о пирожках — отличается неполнотой. Опущено слово «вместе». Так что, эта проблема решается приучением оператора говорить без недосказанностей.
Нет, проблема так не решается. Пирожки с грибами и пирожки с друзьями — это ещё очень простые языковые конструкции. А человек может оперировать значительно более сложными. В английском языке проблема усугубляется большим количеством значений у отдельно взятых слов.

Мы различаем пирожки с грибами от пирожков с друзьями благодаря контексту — пониманию, что стоит за этими словами и за их сочетаниями. Идея обучить машину контексту напрашивалась сама собой и исследователи это направление тоже изучили. Они создавали базы знаний, которые позволяли компьютеру (программе) правильно отличать грибы от друзей и от пирожков. Таки программы могли разобраться, что означают эти фразы.

Проблем возникло две — ограниченный объём памяти тогдашних компьютеров (это решаемая проблема) и проблема определений — мы можем определить пирожки, как мучное изделие с начинкой, подвергшееся термической обработке, но нам теперь нужно дать определение каждому из слов определения, а затем каждому из слов этих определений и так далее, до бесконечности. Это вот к вопросу о неполноте и недосказанностях.

Очевидно, что человек не заучивает миллионы определений. Мы показываем пальцем — это пирожок и это пирожок, а вон то — ватрушка. Человеческий мозг выстраивает абстрактную модель пирожка и ватрушки. Можем ли мы научить компьютер выстраивать абстрактные модели — отдельный вопрос. Наверняка кто-то попытался.

Но кроме этого есть дополнительная сложность — мы не оперируем словами, мы оперируем, скорее, понятиями и представлениями. Пирожок — понятие, но более абстрактное, чем пирожок с грибами. Пирожок с котятами — тоже понятие, но отличающееся от понятия пирожок с мясом. И мы утонем, пытаясь объяснить нюансы. Ведь с точки зрения некоторых людей и пирожки с мясом так же плохо как пирожки с котятами.

Поэтому говорить оператору без недосказанностей никак не получится.
Проблема в указанном примере — решается именно так. Нужно говорить «вместе с друзьями».
Т.е. сложные/нерешаемые проблемы этот пример не демонстрирует.
Нужно говорить «вместе с друзьями».

А говорят просто «с друзьями». И это надо распознавать.
Но это решаемая проблема. Если бы дело было только в ней, то можно было бы решить ее так и наслаждаться общением с машиной.

А посыл комментария был в том, что пример про пирожки хорошо демонстрирует одну из причин, почему не получается научить машину понимать язык. А он этого, к сожалению, не демонстрирует.
UFO just landed and posted this here
Мы сами зачастую не можем формализовать правила языка, почему похожие конструкции означают совершенно разные вещи и явления, как без этого мы можем языку научить машину?
Этот случай формализуется весьма просто: 1) анализируем фразу и находим два возможных смысла («вместе с X» и «содержащие X»). 2) Если X съедобен, будем считать, что можно есть пирожки, содержащие X. Во всех остальных случаях используем вариант «вместе с X», либо анализируем остальной текст и ищем подсказки там. 3) после разрешения всех или большинства подобных моментов текст условно понятен.

Здесь скорее сложность в том, чтобы научиться оценивать мир по неким признакам, вроде той же съедобности, шерстистости и мяучести :)
> Если X съедобен, будем считать, что можно есть пирожки, содержащие X. Во всех остальных случаях используем вариант «вместе с X»

Не удержусь и приведу еще один боянистый пример логической непостижимости естественного языка, опровергающий возможности задания такого вот четкого набора правил:

Перед нами стол. На столе стакан и вилка. Что они делают? Стакан стоит, а вилка лежит. Если мы воткнем вилку в столешницу, вилка будет стоять. Т. е. стоят вертикальные предметы, а лежат горизонтальные? Добавляем на стол тарелку и сковороду. Они вроде как горизонтальные, но на столе стоят. Теперь положим тарелку в сковородку. Там она лежит, а ведь на столе стояла. Может быть, стоят предметы готовые к использованию? Нет, вилка–то готова была, когда лежала. Теперь на стол залезает кошка. Она может стоять, сидеть и лежать. Если в плане стояния и лежания она как–то лезет в логику «вертикальный–горизонтальный», то сидение — это новое свойство. Сидит она на попе. Теперь на стол села птичка. Она на столе сидит, но сидит на ногах, а не на попе. Хотя вроде бы должна стоять. Но стоять она не может вовсе. Но если мы убьём бедную птичку и сделаем чучело, оно будет на столе стоять. Может показаться, что сидение — атрибут живого, но сапог на ноге тоже сидит, хотя он не живой и не имеет попы. Так что, поди ж пойми, что стоит, что лежит, а что сидит. А мы ещё удивляемся, что иностранцы считают наш язык сложным и сравнивают с китайским.
Это как раз пример чёткого набора правил, просто он не такой компактный, как нам бы хотелось =) Тем не менее, для большинства задач такого глубокого понимания языка не требуется, достаточно в общих чертах понимать, что птичка, тарелка и сковорода на столе находятся, а подобные казусы можно решать по мере поступления. Понимаете, у нас сейчас в принципе модели русского языка в дефиците, а мы тут мечтаем о том, чтобы они всегда корректно разрешали неоднозначности. Нужно для начала иметь крепкую базовую модель, которая понимала бы мир хотя бы на уровне четырёхлетки, а дальше уже допилим.
«Если мы воткнем вилку в столешницу» — вилка будет торчать.
Это потому что птичка не цапля, цапля будет стоять.
… а в раковине те же тарелка со сковородкой будут лежать, даже если будут расположены вертикально.

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

Не, "пирожки с друзьями" вполне съедобны и могут иметь два смысла и мы понимаем, что вероятность первого смысла где то 99% а вероятность второго — 1%, и потому делаем предположение, что имеется ввиду первый смысл. Однако если фраза "пирожки с друзьями" сказана в определённой обстановке, то там уже вероятности меняются и мы делаем другое предположение.

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

Необходимость усложнения таких моделей прямо вытекает из нашей неспособности создать ИИ, который самостоятельно сможет построить таковую по тем же принципам и с тем же успехом, что и естественный интеллект. Если бы спросили меня, я бы поставил на гибридную модель: менее продвинутый ИИ + обширная система модулей поддержки, включая семантическую БД. Это вынужденная мера, но она может быть нашим лучшим шансом на получение машин, неплохо владеющих языком и умеющих оперировать фактами.

Англоговорящим в этом плане повезло несколько больше, у них нет целого пласта проблем, которые мы имеем в русском языке.
У них есть другой пласт проблем. В частности, огромная смысловая нагрузка на слова. Одно и то же слово, в зависимости просто от окружения, в котором оно произносится, может иметь совершенно разные смыслы.

На мой взгляд, строить «сильный» ИИ, не базирующийся на внешнем окружении, задача довольно бессмысленная. Если модель ИИ ничего не ощущает и не видит во внешнем мире и существует в строго заданном виртуальном окружении, то её знания и суждения применимы исключительно к этому окружению, но не к реальному миру. Это полезно в некоторых случаях, и тогда мы получаем «слабый» ИИ, который умеет решать определённый круг задач.

Значит, в первую очередь необходимо решать вопросы восприятия окружающего мира. Потом вопросы осмысления увиденного.
И в русском и в английском языке, с точки зрения ИИ пласты проблем ровно те же самые — огромное количество исключений, огромное количество устоявшихся словосочетаний, которые имеют другой, в отличие от буквального понимания, смысл.
И во всех человеческих языках есть контент, сарказм, юмор и др. «человеческие» моменты, для которых даже на пальцах алгоритм описать нельзя.
Это всё хорошо, конечно, но словоформы английского я вычленил легко, а на русском забил всю RAM, а они всё не кончаются.
потому что в английском вместо падежей есть артикли
Вместо изменения глагола используются дополнительные специальные глаголы.

Вместо перечисления словоформ, просто научите программу работать с префиксами и суффиксами так, как вы англоязычную научили работать с a, the, have, do, bin и др.

И тут утыкаемся в классификацию Зализняка, неоднозначность разбора слов, и даже в неоднозначность определения части речи. Я же говорю, в английском нет этих проблем на первом этапе.
Возможно. Но официальная школьная грамматика русского языка заявляет, что в русском языке есть только прошедшее, настоящее и будущее. Хотя на самом деле времен чуть ли не больше, чем в английском.
Очень много конструкций которые даже все люди не до конца понимают.
Например парадоксальные фразы
Чайник долго не остывает и Чайник долго остывает значат почти одно и тоже в обывательском смысле

Плюс множество паттернов речевого оборота имеют разные значения в разных географических частях, и мы связывая человека время и место понимаем (или думаем что понимаем) смысл. Так же мы смотрим часто на самого человека, на тембр и скорость речи, и просто сложившиеся отношения.
Как пример я называю жену разными словами (солнышко и т.д.) но она имеет вполне конкретное имя.

Пойду на кладбище приберусь.
Ха, «съедобен». Вот скажите, корзинка — съедобна или нет?
А в чём сложность? Корзинка как мера объёма съедобного — съедобна. Корзинка как материальный объект несъедобна.
Не знаю такого пирожного.
Вот так и доучивается ИИ.
UFO just landed and posted this here
С точки зрения языка как-раз таки всё просто: «с грибами» относится к «пирожки», а «с друзьями» — к «я». Возможное рассуждение компьютера:
1) «с грибами» относится к «ел» (грибы отдельно от пирожков) или «пирожки» (грибы внутри пирожков), так как эти слова одной тематики «еда». У «пирожки» приоритет выше, потому что в реальности часто встречаются объекты «пирожки с грибами».
2) «с друзьями» относится к «я», так как это термины одной категории «люди».
3) «с котятами» относится без понятия куда. Компьютер вероятно отнесет их к «пирожки», сочтя это устойчивым выражением. Без контекста всё это рассуждение является чепухой, потому что повествование вполне может вестись от лица кота: тогда «я» и «котята» будет принадлежать к одной категории «коты» и компьютер поймет, что «с котятами» относится к «я».
С точки зрения языка как-раз таки всё просто: «с грибами» относится к «пирожки», а «с друзьями» — к «я».


«Доктор Ганнибал Лектор ел пирожки с друзьями» — все еще просто?
Да, всё еще просто. Тут опять же зависит от того, к какому слову относится «с друзьями». Так как оба варианта являются предпочтительными (причём по разным причинам), то без дополнительного контекста компьютер не может понять, какой из них верен. И решит, что это выражение является каламбуром. Так же как и человек.
то без дополнительного контекста компьютер не может понять

А компьютер умеет понимать контекст и опознавать каламбуры? В чем же тогда вообще проблема с машинным распознаванием текстом?
А компьютер умеет понимать контекст и опознавать каламбуры?

Контекст — это локальные знания, то есть знания, полученные из предыдущих предложений. Для понимания контекста нужно просто хранить и использовать эти знания (давать им более высокий приоритет, чем глобальным знаниям).
Как понимать каламбуры, я написал выше: «оба варианта являются предпочтительными (причём по разным причинам)».

В чем же тогда вообще проблема с машинным распознаванием текстом?

Я вижу две проблемы:
1) Сложность естественных языков, битком набитых правилами и исключениями из этих правил, то есть проблема парсинга текста естественного языка в некую структуру, пригодную для анализа.
2) Компьютер не обучается естественно и не накапливает ту колоссальную базу знаний о мире, которая есть у человека: что является едой, что является человеком, какие есть устойчивые выражения и так далее.

Решение обоих проблем требует чудовищных усилий по созданию соответствующих баз и алгоритмов (чем сейчас и занимаются вроде), которые всё равно будут постоянно устаревать. Поэтому, мне кажется, единственным удовлетворительным решением этой проблемы будет использование самообучающегося ИИ, с созданием которого человечество пока не преуспело.
В качестве временного решения используют уже ставшее привычным «завалим компьютер огромным количеством данных: пусть он в них ищет наиболее подходящее и действует по аналогии», что избавляет компьютер от необходимости понимать, что он делает. Как показывает пример Google Переводчика, работает данное решение неудовлетворительно, но зато оно относительно просто и универсально.
Для не знакомого с этим именем будет почти однозначно. Т.е. контекст системы должен включать ещё и базу знаний имён, географических названий(в т.ч. вымышленных) и многое другое. «Главное — не слушай Друзей, их там двое»(Ц)
Вся проблема в контексте. Если бы машина понимала контекст, то она щелкала бы пирожки как орешки. Но для понимания контекста надо иметь опыт сравнимый с человеческим, не просто прочитать все тексты в сети, а живо интересоваться окружающим миром, быть в курсе событий, мемов, новостей, политики и т.п. Ну однажды нейронные сети смогут и это, но пока их тренируют для узких задач, потому что для столь широких не хватит мощностей.
Да. Необходим контекст. И даже так — бэкграунд.
Скажем пирожки с котятами в культуре народа где принято есть кошек — нормальное выражение. Правда почему оно оказалось переведено на русский? Но это уже проще.
А есть еще более забавные примеры.
Вот что означает вопрос «У тебя есть?». Если диалог происходит в московском клубе нулевых, то ответ вполне очевиден.
Я вот потихоньку делаю собственную модульную систему (платформу) универсального (за счёт модульности) искусственного интеллекта, и у меня есть собственный алгоритм «интеллект-ядра» (центрального модуля, этакий неокортекс для ИИ), который основан на автоматических ассоциациях и подражании окружающей среде (без использования ИНС; но можно сделать — на любом ЯП — и подключить другое ядро, с ИНС). Так вот в рамках этого алгоритма описанная проблема вполне решается. Каждая полученная фраза (внешний раздражитель, влияющий на модули-рецепторы) возбуждает определённые ассоциативные цепочки, в конце которых стоит ссылка на другие ассоциативные цепочки (генерируется сложная мысль) или на команды модулям-эффекторам (выход информации из ядра, совершение системой действия). При этом, конечно же, учитывается контекст (несколько последних задействованных цепочек).

я ел пирожки с грибами

Возбуждается ассоциативная цепочка «я -> ел -> пирожки -> с -> грибами» (именно так, в одном направлении), к которой привязаны образы пирожков, грибов и процесса поедания, которые были запомнены системой ИИ, когда она впервые увидела эти вещи (при этом ей, конечно же, объяснили это словами — т.е. показали пирожок и сказали «пирожок»). В конце этой цепочки может быть расположена фраза, скажем, «Ну и как, вкусные?», которая была записана в похожей ситуации, которую наблюдала система ИИ.

я ел пирожки с друзьями

В данном случае будет возбуждена другая цепочка, которая приведёт к несколько другим образам — к образу обеда с друзьями, который был когда-то у ИИ. Опять же, в конце этой цепочки может быть расположена фраза, например, «А о чём болтали?». Другая фраза — другая ассоциативная цепочка — иное понимание, иные воспоминания — другая реакция на фразу.

я ел пирожки с котятами

Тут понимание зависит от двух вещей: жизненного опыта и контекста. Жизненный опыт (т.е. базу ассоциативных цепочек, в которой связаны все встречавшиеся ИИ образы) ИИ накапливает всё время своей работы, и этот опыт зависит от людей, с которыми он взаимодействует. Ну с контекстом всё ясно — это ассоциативные цепочки, которые были возбуждены предыдущими фразами. Другой вопрос, сколько времени хранить их (у человека они хранятся не больше 15 минут, если не поддерживать мысленно).

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

Вот такие дела. Я стараюсь приблизить алгоритмы своего проекта к алгоритмам, по которым действует человек, с рождения до взросления… Уж не знаю, насколько это всё точно получается. (Ссылки пока нет, проект на стадии закрытого альфа-тестирования)
https://ru.wikipedia.org/wiki/Творительный_падеж
«с грибами» — я так понимаю, это «аспект».
«с друзьями», соответственно, «агенс».
«с котятами» вообще фразеологизм из базы фразеологизмов.
И так по каждому падежу — много функций в одной грамматической форме (в русском или ином естественном языке), но все функции лингвистам давно известны.
Кажется, что творить речь легче, чем воспринимать.
Дубль: https://habrahabr.ru/company/payonline/blog/307666/
«Затем он создал программу, назвав её SHRDLU» — сразу вспомнилось: «Фредерик Браун. Этаоин Шрдлу»
Я-то думал будет речь идти о проблемах seqeunce-to-sequence моделей, а тут какая-то публицистика с непонятными отсылками на альфа-го (которая всё же делает перебор, по-мимо использования НС). Про LSTM вообще ни слова.

видный исследователь глубокого обучения, работающий также и в Google, называет это „мысленным вектором“.

Везде это называется embeddings, а тут, понимаете ли, мысленные векторы.

По поводу формализации, хотелось бы обойтись без неё, точнее, переложить её на плечи машины. Детей ведь никто не учит языку начиная с грамматики (а большинство её и во взрослом возрасте толком не знают).
Детей вполне учат семантической модели: сначала показывают определённые объекты и дают им название, затем поясняют на том ограниченном объёме словаря, который есть у ребёнка, из каких частей состоят эти объекты, как они взаимодействуют и прочее. Вопрос лишь в том, какого объёма и качества должна быть база, чтобы перестать зависеть от учителя и продолжить обучение самостоятельно. Модель грамматики, я полагаю, формируется на основе семантики: когда у нас уже есть какая-то базовая семантика, различие объектов, субъектов, обстоятельств и действий, можно начать кластеризацию грамматических конструкций, в процессе которой пополнять словарь, что в свою очередь ещё расширит грамматическую БД. Возникшая положительная обратная связь должна в результате сформировать весьма обширную систему восприятия фактологической информации.
Либо я читаю мало статей на данную тему, либо мое ощущение «глобальной слепоты» не плод моего завышенного эго.
Мне кажется, чтобы ИИ научился «понимать» слова, ему нужно «скормить» огромный массив изображений с тегами наблюдаемых объектов и их характеристиками. К примеру «яблоко — красное, спелое, лежит на столе, вкусное», «крокодил — плывет, страшный, опасный, зеленый». Мне кажется это возможно сделать уже сейчас, ведь слова из аудио носителя ИИ умеет распознавать уже сейчас, и создавать нейронные сети с системой рейтингов мы тоже умеем.

Тогда получится, что фразу «Мы ели пироги с котятами», компьютер будет понимать одним способом: люди едят «вкусные горячие» с «домашними животными, оберегаемыми законом и с невероятно малым количеством вариантов блюд с этим существом». Учитывая его знание, что есть можно с чем-то или совместное с кем-то. То он выберет второе.
Слепоглухонемые люди не способны распознавать картинки, однако языком способны овладевать вполне.
Вот тут следует заметить, что слепоглухонемым труднее понимать смысл слов, поэтому их сложнее учить говорить и они говорят не так, как говорят здоровые люди (речь не о том, что у них свой язык жестов, а о том, что этот язык жестов намного примитивнее обычных вербальных языков). И понимают слова они в основном через тактильные ощущения — например, слово «вода» они понимают, когда им намочат руку, а «огонь» — когда обожгутся об что-то, что не могут пощупать.

Так что визуальный канал связи с реальностью — это очень важная фича для программы ИИ. Без неё обучить компьютер чему-либо сложному крайне тяжело. В идеале, у ИИ должно быть как можно больше рецепторов и эффекторов.
У них еще Брайль есть, для записи обычного языка. А откуда у вас знания о слепоглухонемых? Я бы почитал.

Визуальный канал важен, конечно, как и людям. Я просто указываю на то, что «понимание» не сводится к классификации изображений и приклеиванию тегов к ним. В оригинале статьи было слово «empathizing» — сопереживание, способность поставить себя на место другого (неправильно переведенное здесь как «сочувствие»). Как можно добиться такого от железки, единственная потребность которой — электропитание?

Людям-то часто непонятны нужды другого человека, что уж говорить о машинах? Без весьма обширных сведений о том, что такое человеческое бытие, без common sense knowledge, машина в лучшем случае будет походить на отрешенного сумасшедшего, которому все по барабану.
А откуда у вас знания о слепоглухонемых? Я бы почитал.

Нашёл в интернете книги по запросу «обучение слепоглухонемых детей». Ну и что-то я до этого ещё знал откуда-то.

единственная потребность которой — электропитание?

Потребности можно создать искусственно, например, потребность к общению с людьми.

Насколько я понимаю, у мозга из потребностей есть только потребление кислорода и питательных веществ и поддержание активности в отсутствии раздражителей (без активности нейроны умирают). Однако так получилось, что у человека гораздо больше потребностей, чем у его мозга и тела. Значит, потребности не только от свойств «железки» зависят.

Без весьма обширных сведений о том, что такое человеческое бытие, без common sense knowledge, машина в лучшем случае будет походить на отрешенного сумасшедшего, которому все по барабану.

А для того, чтобы получить все эти обширные сведения, машина должна воспитываться как ребёнок и прожить долгое время среди людей. В лабораторных условиях и без должной системы обучения получение «искусственного человека» маловероятно, даже если код будет правильным.
Посмотрите примеры которые чуть ниже привел. Даже на простых не размеченных текстах, без какой либо связи с реальным миром хорошо тренированная сеть начинает как-то сама понимать не просто слова (как наборы букв), а именно выстраивать понятия и какие-то объекты внутри себя формировать с которыми соотносит эти слова.

Но «начитавшись» текстов например она «понимает» (нефига конечно не понимает, но это см. китайскую комнату), что кот — это животное, у него 4 ноги и есть хвост. А вот крыльев например у него нет — поэтому летать он не может.
Или что билл гейтс — это человек, мужчина — известный миллиардер. А Клеопатра — тоже человек, но женщина и царица. А вот «Англия» это уже не человек, а какое-то место.

Тут больше проблема не с обучающими выборками(их вагоны — в данном пример сеть просто субтитрами от кучи фильмов кормили), а с функциями оценки. Чтобы успешно тренировать подобную нейронную сеть — нужно на каждом шаге (итерации) тренировки оценивать насколько хорошо она отвечает заданной цели — чтобы она могла улучшать свои «навыки» (уточняя веса связей внутри себя). В случае если пытаемся ее обучить разговорам на естественных языках — эта функция должна оценивать смысл и адекватность выдаваемых нейросетью ответов — причем выдаваемых тоже на естественном языке. А для этого она функция оценки сама должна его «понимать»( чтобы иметь возможность адекватно оценить «качество» в количественной форме).
Получается чтобы обучить компьютер понимать язык, нам сначала нужен… другой компьютер (программа) его уже понимающий.Замкнутый круг.

А без такого «контролера» оценивающего и пинающего сеть в нужную сторону на каждом шагу, она может научиться только более-менее точно «угадывать» чтобы сказал бы человек в подобной последовательности предложений, т.к. за неимением лучшего качество тренировки оценивают по тому насколько хорошо сеть «попадет» (угадает) в следующее предложение из какого-то записанного разговора еще не зная наперед его. В результате сеть учится не «понимать», а только «угадывать». Чтобы научить именно понимать —

Логично конечно было бы отдать эту функцию человеку (он то уж точно понимает смысл и может оценить), но нейронные сети учатся очень медленно — если каждый шаг будет оценивать человек, то это потребует неприемлемо больших затрат времени и участия слишком большого кол-ва людей.
«А вот крыльев например у него нет — поэтому летать он не может». Таких логических выводов сеть не умеет делать, это наша интерпретация ее работы. У нее нет «поэтому». И даже если кто-то вне самой сети (например, человек) будет «оценивать смысл и адекватность выдаваемых нейросетью ответов», саму сеть это не научит «понимать» смысл. Она просто будет «угадываеть его». Надо бы разобраться, что такое понимание смысла. Пока этого не понимает никто, судя по результатам. Вот ниже у TimKruz неплохая попытка дать определение пониманию.
Почему не умеет? Чтобы так безаппеляционно заявлять, нужно «расковырять» сеть и посмотреть как проходят сигналы по цепочкам при ответе на этот вопрос.

Если там по отдельности хранятся (это разновидность сети кратковременно-долговременной памяти, так что она именно «запоминает») признаки, что «кот(ы) — это животное», «кот(ы) — не имеют крыльев», «коты — не летают». И отвечая на вопрос проверяется признак — летает кот? — ответ (сохраненный) — нет. То можно сказать не, что не понимает, а просто тупо повторяет угадывая ответ. Такое могло быть если в обучающей выборке ей часто встречались утверждения о том, что коты не летают. Но это было бы странно — кто в фильмах на которых ее обучали неоднократно обсуждал возможность котов летать?

Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают. То можно говорить, что сеть «понимает», что кот не летает именно потому, что у него нет крыльев, а не потому что она это запомнила в виде готового утверждения.

Причем как именно будет запомнено зависит от исходных условий. Если у сети большая емкость(очень много нейронов и связей между ними у которых можно наставать веса), а вот обучающая выборка и время тренировки не очень большие — то наиболее вероятно, что сеть просто запомнит признаки по отдельности и будет их независимо выдавать «без понимания». Это наиболее простой и эффективный способ чаще «угадывать» правильный ответ при таких исходных условиях.

Если же емкость сети небольшая, а вот выборка была большой и тренировали ее долго и упорно — наиболее вероятно, что будут формироваться сложные правила наподобие приведенного примера «кот — животное» — «животные без крыльев — не летают», «у кота нет крыльев» и нужный ответ по цепочке «у кота нет крыльев — значит не летает». Просто потому, что такое сохранение данных существенно более компактное чем хранить отельное признаки наличия крыльев и умение/не умение летать. При ограниченном объеме сети много меньше обучающей выборки формируются именно такие «сжатые» структуры — т.к. именно они позволяют наиболее часто «угадывать» правильные ответы и поэтому подкрепляются и усиливаются в процессе тренировки. Раздельное хранение признаков приводит к меньшей эффективности «угадывания».

Ну вот я ставлю на 2й вариант, т.к. емкость этой конкретной сети была маленькой(всего 2 слоя по 4 тыс ячеек в каждом) — однозначно недостаточной чтобы просто запоминать отдельные признаки независимо из обучающей выборки в 62 миллиона предложений.

А рассудить кто прав может только «вскрытие».
«Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают».

Уже пробовали, в — Copreno от ABBYY с веселыми рассказами тут их онтоинженеров. Так не получится. Девид Ян угробил на 17 лет 300сот таких оноинженеров и еще полмиллиарда сколковских денег после этого и результат работы с такими выводами на онтологиях низкий. И при том, наверно понятно, что сеть не может ответить «нет». Это как раз и есть ВЫВОД. Его не натренируешь на текстах. Потому что слово «нет» отдельно одинаково встречается как отрицание всех закрытых вопросов. Мозг — это не набор правил. Это нечто другое, внешне похожее на правила. Правила — это всего лишь надводная часть механизма мозга. Итог, но не механизм его получения.
«Если же там хранится набор данных что кот — это животное, кот не имеет крыльев и «правило», что животные(а может и не животные а вообще произвольные объекты) не имеющие крыльев — не летают. То можно говорить, что сеть «понимает», что кот не летает именно
потому, что у него нет крыльев, а не потому что она это запомнила в виде готового утверждения.»

При этом любое животное без крыльев будет распознаваться как кот? Даже если оно не существует в природе, а просто нарисовано на картинке?

Чтобы сказать, что «сеть понимает», надо слово «понимает» очень переделать.
Не будет если только кот не единственное животное о котором она знает(выделила в объект и сохранила эту информацию). Если единственное — тогда да, всех животных без крыльев она будет считать котами. Ну просто потому что она вообще других животных не знает и для нее понятия «кот» и «животное» в общем-то эквивалентны.

А так у нее хранятся объекты, которые она вычленила из текстов в процессе длительного обучения. И некоторые правила взаимоотношений между объектами — как ответ на необходимость оптимизации. Нужно экономить память для хранения признаков у этих объектов. Если одним правилом можно заменить какой-то признак сразу у множества объектов, то лучше удалить эти признаки и ввести это правило. Почему именно так «лучше» сеть «поймет» в процессе обучения — при ограниченном объеме памяти это будет приводить к большему % правильных ответов в процессе обучения, поэтому эволюция в эту сторону будет подкрепляться, а неэффективное отдельное сохранение признаков — подавляться.

Например объект кот. У него хранятся как минимум(что известно из примера) такие признаки:
— это животное
— есть хвост
— есть 4 ноги
— нет крыльев
возможно еще какие-то, чтобы узнать надо или «кишки» расковырять или долго с ней болтать задавая уточняющие вопросы и вопросы с подколками и немного меняя формулировки.
Но так же у нее есть например есть объект паук, у которого хранится
— это животное (отличает ли оно насекомых от животных неизвестно, но животных от людей например отличает)
— у него 3 ноги (почему 3 отдельный вопрос — было бы интересно посмотреть как она этому из людиских разговоров научилась, хотя возможно не научилась и для паука у нее не сохранился признак количества ног из-за ограничений по памяти и она просто попыталась угадать — выдав любое небольшое количество ног)
— у него нет крыльев

еще Х объектов-животных у части которых в признаках записано что крылья есть, у других что нет, у каких-то такого признака нет

Теперь если ее спросить — это животное без крыльев, кто это? Или прямо: у этого животного нет, крыльев, значит это кот, верно?
Почему она должна решить что этот кот? У нее будет целый набор животных у которых в признаках стоит отсутствие крыльев. Поэтому на 1й она скорее всего ответит «я не знаю»(т.к. возможных объектов под такой фильтр попадает множество и выбирать просто 1й попавшийся из них означает низкую вероятность того что ответ окажется правильным и чем больше оъектов-животных записано, тем выше вероятность что ответит не знаю) либо задаст уточняющий вопрос на базе остальных сохраненных признаков — например спросит сколько ног у этого животного или есть ли у него хвост. А на 2й ответит либо нет или что есть другие животные у которых нет крыльев.

P.S.
Споры про «понимает» уже поднадоели. Если копаться до сути, то люди тоже нефига и ничего не понимают. Просто определенные звуковые и световые сигналы раздражают чувствительные клетки, те дергают нейрончики, сигналы проходят по разветвленной (огромной и очень сложной — на порядки крупнее и сложнее чем рассматриваемые сейчас примеры) сети и выбирается один из «выходов» нейросети — произнести набор определенных вибраций голосовыми связками, который окажется наилучшим образом отвечающим входным раздражителям + предыдущему опыту в схожих ситуациях.

Фиг с ним с котом, надо первым делом узнать, кто такой человек и лишён ли он перьев.
Про людей она вроде довольно много знает и «понимает». Хотя было бы очень интересно с ней поболтать задавая каверзные вопросы. Жаль что они похоже ее в открытый доступ не выставляли (не саму обученную сеть, но хотя бы веб или api интерфейс, где можно было бы самому в режиме чата вопросы позадавать).

Все что нашел попытку opensource воспроизведения:
Neural conversational model in Torch
Использовавшаяся архитектура и все базовые алгоритмы известны, закрыты только конкретные результаты обучения (уже тренированная сеть).
Так что по-идее можно получить свою собственную не хуже и использовать ее как хочется.

Правда как раз «тренировка» много ресурсов и занимает и имеет большие тонкости. Такое обучение как у гугловского бота из примера занимает порядка месяца работы десятка топовых GPU.
Насколько я вижу, там просто lstm. Кодил и учил я такую как-то. Если словарь ей не раздувать до десятков тысяч слов, то учится на GPU весьма быстро. Но, конечно, чем больше словарь, тем интереснее результат.
Да, сама база довольно простая — 2х слойная LSTM по 4096 ячеек на слой.

Но как говорится — размер имеет значение (ака переход количества в качество).
У сетки гугла которая бодро и относительно осмысленно начала болтать на философские темы словарь был на 100 тыс. слов, а обучающая выборка — 62 миллиона предложений и 26 миллионов выборка для валидации.
Поэтому и месяц тренировок на хорошем железе и это при хорошей оптимизации и распараллеливании на несколько GPU работающих в связке.
Мне кажется, чтобы ИИ научился «понимать» слова, ему нужно «скормить» огромный массив изображений с тегами наблюдаемых объектов и их характеристиками.

Чтобы ИИ научился понимать слова, у него должны возникнуть ассоциативные связи между образами слов и образами, которые обозначены этими словами. Однако, если показывать одну картинку и давать набор слов, её описывающий — получится очередной классификатор, не более того. У ИИ должна быть возможность взаимодействовать с предметами в игровой форме, ИИ должен получать с каждым разом усложняющиеся фразы, описывающие предметы, с которыми он играет, и желательно эти фразы должны иметь связь между собой, чтобы выстраивались правильные ассоциативные связи между ними. Короче, чтобы получить взрослого искусственного человека нужно сначала создать искусственного ребёнка, а затем некоторое время обучать его, как обучают обычных детей. Но искусственному ребёнку в голову нужна не ИНС, потому что существующие ИНС всего лишь копируют поведение нейронов (очень условно и очень неэффективно), а алгоритм, который реализует основные принципы, реализованные в мозгу и нервной системе (я как раз занят разработкой системы, на базе которой можно разместить подобный алгоритм, и у меня есть примерное представление требуемого алгоритма; а можно разместить и любой другой алгоритм, это если другие разработчики подключатся).

Тогда получится, что фразу «Мы ели пироги с котятами», компьютер будет понимать одним способом:… Учитывая его знание, что есть можно с чем-то или совместное с кем-то. То он выберет второе.

Человеческий мозг не производит такого разбора фраз по понятиям и не производит описанных логических выводов. Он просто определённым образом реагирует на раздражители. Вот сказали ему «мы ели пироги с котятами» — эта фраза возбудила у него ассоциативную цепочку вида «мы -> ели -> пироги -> с -> котятами» — в конце цепочки оказался образ фразы «изверги!» — фраза отправилась через «декодировщик» к речевым эффекторам, то есть человек произнёс заготовленную фразу. Всё. Больше, я думаю, никаких процессов в мозгу не происходит.

Как попала фраза «изверги!» в ассоциативную цепочку? Да просто когда-то человек уже бывал в подобной ситуации — он услышал приблизительно ту же фразу про котят, после которой последовала фраза «изверги!» — и специальный механизм в его мозгу закодировал звуковой отрезок в образ ассоциативной цепочки. Таких «подобных ситуаций» происходит в жизни молодого человека миллиарды, а в совсем незнакомых ситуациях мозг впадает в ступор и действует соответственно «методу тыка» или вообще отказывается действовать. Думаю, все замечали за собой подобные эффекты…
«Как попала фраза «изверги!» в ассоциативную цепочку? Да просто когда-то человек уже бывал в подобной ситуации — он услышал приблизительно ту же фразу про котят, после которой последовала фраза «изверги!»» Тогда надо, чтобы кто-то первым произнес «изверги!». А такого существа по Вашему описанию не существует. Еще у «мозга» можно спросить «почему изверги?» и «мозг» объяснит. Объяснение он тоже где-то ранее подслушал? Все таки процессы в мозгу сложнее. Он умеет делать выводы, рассуждать. Рассуждение — это «действие словами» (с). Человек умеет оперировать мысленными образами, а не только выдавать ранее увиденные или услышанные.
Тогда надо, чтобы кто-то первым произнес «изверги!». А такого существа по Вашему описанию не существует.

Первым был прачеловек, который по какой-то причине (случайно «замкнуло» цепочку нейронов, проскочил случайный сигнал или что-то в этом роде) издал набор звуков, похожий на «изверги!», во время соответствующей ситуации. Другие пралюди услышали, начали повторять и тем самым запомнили. Оттуда и пошли все слова (конечно, на деле всё было гораздо сложнее и дольше).

Еще у «мозга» можно спросить «почему изверги?» и «мозг» объяснит. Объяснение он тоже где-то ранее подслушал?

Конкретно объяснение этой фразы — может и нет, но аналогичное объяснение другой фразы — скорее всего да, иначе он просто не умеет отвечать на вопрос «почему?». Ассоциативные цепочки ведь не изолированно находятся, а связываются друг с другом, взаимодействуют — отсюда умение отвечать на один вопрос распространяется на все аналогичные вопросы (возможно, с какими-то изменениями).

Выводы — обычные связки цепочек, рассуждение — последовательности взаимосвязанных концами цепочек (т.е. замыкание системы на саму себя). Естественно, цепочки не статичны, а изменяются динамически во время работы, т.е. происходит «мышление».

Впрочем, да, одними ассоциативными цепочками всех процессов не объяснишь. Однако я думаю, что АЦ — это основа основ, без которой никуда, а все остальные функции — «заплатки», которые появились в мозгу эволюционно. Всё-таки мозг не гениальный инженер проектировал, а тупая природа-эволюция. Я уже придумал с дюжину таких заплаток для своей модели ядра ИИ, но пока не все знаю как реализовать… Надеюсь, когда выпущу бету — пипл подтянется и решит хотя бы некоторые проблемы. :D
А, забыл добавить. Хоть мозг и способен делать выводы сам, но на большинство вопросов за ребёнка/подростка отвечают другие люди: например, в школе (да и в ВУЗах тоже) на уроках почти всегда объясняют, почему так, а не иначе, а не заставляют производить собственные исследования (т.е. изобретать велосипед, что очень трудно).

Конечно, взрослый человек уже сам может произвести исследование, но ведь у него ассоциативных цепочек может быть миллиарды или больше, то есть у него поистине огромная база знаний, а т.к. цепочки активно взаимодействуют — вот и проявляются высшие функции, типа глубоких размышлений. Но на низшем уровне это всё равно «раздражитель -> возбуждение цепочки -> реакция»
Так как компьютер логическая машина, то ничего странного что он играет в логическую игру Го лучше человека. Странно было бы если бы было наоборот. Никакой интуиции естесственно машина не проявила, это ошибка так утверждать.
Но язык никак не логичен и совершенно иррационален, поэтому максимум что можно добиться от машины — это угадывать контекст как можно больше раз и как можно точнее, в принципе именно на это и уходят все усилия.
Интересно что весь этот ИИ базз приходит и уходит волнами, обычно все бегут за модой, а потом все как-то тихо угасает когда встречаются непреодолимые препятствия. Логическая часть интеллекта вполне может быть воспроизведена (см. альфаго), но все остальные 99.999...% машине не доступны, поэтому ИИ вообще в принципе невозможен.
Но язык никак не логичен и совершенно иррационален
Это не так. Он подчиняется вполне конкретным правилам.
это угадывать контекст
Контекст не нужно угадывать, его нужно определять.
но все остальные 99.999...% машине не доступны
А как вы определили это число?
ИИ вообще в принципе невозможен
Осталось рассказать об этом тысячам ученых, нейробиологов, разработчиков, и прочим специалистам изучающим проблему ИИ.
Язык не подчиняется конкретным правилам. Грамматика — не правила языка, она — его описание, причем довольно примерное. О языке вам лучше спросить лингвистов все-таки, а не программистов.
Контекст часто не может быть определен достаточно точно даже для человека, иначе бы все друг друга понимали, ваш ответ это демонстрирует, кстати. Есть целая наука — семиотика, которая этим занимается. Ученые которые занимаются проблемами ИИ уже полсотни лет решают очень многие важные и нужные задачи, которые решать необходимо, а фантазиями насчет искусственного разума занимаются дилетанты, которые и создают этот базз. И ученым приятно что о них все говорят и дилетанты дают волю своим фантазиям, все довольны.

Проблема машинного перевода тесно свазана с ИИ и ее пытаются решить уже очень давно. Есть такое интересное описание опыта из книги Успенского, если не ошибаюсь, где рассказывается как дали переводить один текст группе переводчиков, один за другим каждый переводил на язык соседа. В конце получился текст, не имеющий ничего общего с оригиналом, и это люди — профессиональные переводчики. Естественно все дело было в контексте, идиомах, крылатых выражениях и прочих никак не регламентированных аспектах языка. Чтобы переводить правильно и точно достаточно сложный текст — нужно его понимать и иметь соответствующий жизненный опыт, понимание машине не доступно.
Язык не подчиняется конкретным правилам
Тогда как вы его понимаете?
Грамматика — не правила языка
«Грамматика — совокупность правил об изменении слов и сочетании слов в предложении».
Контекст часто не может быть определен достаточно точно даже для человека, иначе бы все друг друга понимали
Если контекст не может быть определен, ИИ должен сделать то же, что и человек — переспросить. Если переспросить нельзя, значит ничего уже не поделать.
ваш ответ это демонстрирует, кстати
Не демонстрирует, потому что я совершенно точно интерпретировал написанный вами текст. Если в нем чего-то не хватает для полной передачи того, что вы собирались сказать, то это не проблема языка.
а фантазиями насчет искусственного разума занимаются дилетанты
Вы так уверенно об этом говорите, что можно подумать у вас есть серьезные пруфы на этот счет. Поделитесь?
В конце получился текст, не имеющий ничего общего с оригиналом
Потому что у каждого переводчика свой словарный и фразеологический запас, а перевод между языками почти всегда означает потерю информации. Читатель с достаточной базой прочтет одинаковый текст однозначно одинаково.
Чтобы переводить правильно и точно достаточно сложный текст — нужно его понимать и иметь соответствующий жизненный опыт
Есть примеры случаев, когда жизненный опыт необходимый для понимания текста нельзя заменить записью на естественном/формальном языке?
Недавно Ли создал программу, способную генерировать сносные ответы на непростые вопросы. Она тренировалась на диалогах из 18 900 фильмов. Некоторые ответы пугающе точно попадают в точку. К примеру, Ли спросил „В чём смысл жизни?“ и программа ответила „В служении высшему добру“. „Неплохой ответ,- вспоминает он с ухмылкой. – Возможно, лучше, чем я бы ответил сам“.


Да не просто неплохой ответ, она там вообще отлично разговоры на философские темы задвигает:
Human: what is the purpose of life?
Machine: to serve the greater good.
Human: what is the purpose of living?
Machine: to live forever.
Human: what is the purpose of existence?
Machine: to find out what happens when we get to the planet earth.
Human: where are you now?
Machine: i’m in the middle of nowhere.
Human: what is the purpose of dying?
Machine: to have a life.
Human: what is the purpose of being intelligent?
Machine: to find out what it is.
Human: what is the purpose of emotions?
Machine: idon’tknow.


Да и с ногами когда тупит, все совсем неплохо:
Human: who is skywalker?
Machine: he is a hero.
Human: who is bill clinton?
Machine: he’s a billionaire.
Human: is sky blue or black?
Machine: blue.
Human: does a cat have a tail?
Machine: yes.
Human: does a cat have a wing?
Machine: no
Human: can a cat fly?
Machine: no.
Human: how many legs does a cat have?
Machine: four, i think.
Human: how many legs does a spider have?
Machine: three, i think.
Human: how many legs does a centipedehave?
Machine: eight.
Human: what is the color of the sky?
Machine: blue.
Human: what is the color of water?
Machine: water.
Human: what is the color of blood?
Machine: it is the same as a black eye.
Human: what is the usual color of a leaf?
Machine: it is a green one.
Human: what is the color of a yellow car?
Machine: yellow.
Human: how much is two plus two?
Machine: four.


Остальные примеры тут: http://arxiv.org/pdf/1506.05869v3.pdf
№5 еще доставляет — машина «не хотела» отвечать на вопрос и начала тупить, человек начал ее немного троллить — сеть в ответ начала проявлять что-то похожее на эмоции, притом что в отличи от «чат-ботов» ее на это никто не программировал.

С учетом того что для тренировки сети использовалась просто не размеченная база субтитров от кучи разных фильмов на произвольную тематику — т.е. программа даже не знала какую из фраз какой персонаж произносит, в т.ч. длинную речь/монолог одного человека анализировала как вопросы-ответы разных людей, получилось ИМХО шикарно.

А такие смешные ляпы типа 3х лапок у паука думаю просто из-за недостатка «емкости» — как бы хорошо сеть не тренировали как бы она хорошо не училась — если ее объем меньше чем весь словарный запас + связи в нем, то «глупые» ошибки будут вылезать в обязательно порядке.
Хм. Кстати насчет эмоций. А что у нас с эмоциональными подтверждениями? В жизни ведь как — выделился пусть там дофамин или серотонин — вот наш взгляд на вопрос и изменился. Увеличение веса (в нейронной сети) — можно рассмотреть как результат выделения гормона.
Скажем смех — это реакция несогласия. Если несогласие в определенных рамках тренировать подтверждениями, а точные ответы — наоборот — менее поддерживать — то получим нейронную сеть с таким чувством юмора, что с ней будет невозможно поговорить на серьезные темы!
Функцию такого подтверждения будет реализовать посложнее функции оценки языка, гдето на порядок. Чувства юмора не все люди то имеют.
Вот это «получилось просто шикарно» относится не к созданной системе, по сути, а к самому языку. Естественно, все диалоги достаточно логичны, полны закономерностей. У системы получилось отследить эти закономерности. И не более того. Если вместо слов со значениями там были бы «хливкие шорьки», система и тогда отследила бы закономерности текстов, не почуяв подвоха.

Это всё игрушки, а что реально нужно — это возможность для машины воспринимать и моделировать отношения объектов в пространстве и времени. Это то, что предшествует языку и что прекрасно умеют делать в своей психике и животные и люди. Пытаться перепрыгнуть этот этап и сразу перейти к языку — бесполезный труд.
Если вместо слов со значениями там были бы «хливкие шорьки», система и тогда отследила бы закономерности текстов, не почуяв подвоха.

Но ведь если ребёнку вместо «нормальных» слов и фраз какого-либо языка цитировать «Lorem ipsum», он в конце концов выделит закономерности между тем, что кажется ему словами, и теми образами, которые он ощущает через свои органы чувств. То есть язык — это просто условность: можно как угодно коверкать язык, но если исковерканным языком владеют хотя бы два человека — они смогут спокойно разговаривать на нём и понимать друг друга.

Пытаться перепрыгнуть этот этап и сразу перейти к языку — бесполезный труд.

Вполне возможно совместить эти этапы.
А вот рассматривать язык отдельно от восприятия мира органами чувств — это да, тупик.
UFO just landed and posted this here
Да от машины странно. Вроде бы уж чего-чего, а считать машина должна идеально.
Как раз показывает что ее никто не программировал, а сама как-то училась. Уметь отвечать хотя бы на простейшие математические вопросы — одна из первых вещей что закладывают в разных чат-ботов и имитаторов ИИ. Разобрать такие вопросы и запрограммировать вручную нужные формальные правила довольно легко и они сразу закрывают большой пласт вопросов и ответов.

Зато на более сложных или абстрактных вопросах такие боты начинают лажать, тупить или уходят от ответа. Тогда как нейронная сеть на них вполне вменяемые ответы дает. А вроде бы на элементарных вещах может сыпаться типа банальной арифметики.

Кстати почему 72? У меня идей как раз нет как такой странный ответ сформировался. Причем конкретно эта сеть «не стесняется» отвечать «я не знаю», когда у нее нет подходящих данных. В отличии от чат-ботов, которые в этом случае обычно отвечают стандартными/бессмысленными фразами не относящимися к вопросу или переводят тему или отвечают вопросом на вопрос.
Т.е. в этом случае сеть «была уверена» (рассчитала высокую вероятность) что 72 это правильный ответ на вопрос сколько будет из 10 вычесть 2. Иначе бы она просто выбрала ответ «я не знаю».
UFO just landed and posted this here
Про косу — тут человек-то запутается — но в принципе — комп может разобраться — дерево вариантов несложное. Ну и начинается с глагола, что является мощной подсказкой. А с матерными… нужна ситуация. Если разговор скажем двух автомехаников записать и расшифровать — то будет непонятно, что они имеют ввиду — все матерные замены обычных слов будут указывать на конкретные предметы/действия про которые мы не знаем. Т.е. в таком (например) виде эта задачка трудна и для человека.
А вот кстати забавная иллюстрация — песня нашего барда Сергея Калугина «Баллада о тыдыхе».
http://mp3xl.org/mp3/5056450-sergey_kalugin-ballada_o_tidihe/
Дисклаймер — в песне присутствует нецензурная лексика, уберите детей от звуковоспроизводящих устройств!

Ха, как правильно сказано — таким и человека запутать можно (а если язык не родной, то вообще элементарно).

У меня вот например в мозгу парсер уже после 3й косы сломался. Косил — глагол (что делал), косой — кто косил (толи заяц, толи бухой человек), косой — инструмент которым косил, а вот что же именно косили — тут у меня парсер на 4м слове и сломался :)

Пришлось гуглить. Ответы нашлись, но что забавно — вариантов расшифровок тоже много, т.е. даже «коллективный разум» однозначно расшифровать такую фразу не может. Там и пьяные зайцы (окосевший косой) и кривые косы (косая коса) и много чего еще…
Возможно стоит придумать искусственный речевой язык, с которым бы справился ИИ, что-то типа эсперанто.

Но главное — в таком языке как минимум должны отсутствовать все виды «устойчивых словосочетаний», сленга и оборотов, которые усложняют понимание. До понимания сарказма ИИ еще очень далеко.
Уже есть. Ложбан — https://ru.wikipedia.org/wiki/%D0%9B%D0%BE%D0%B6%D0%B1%D0%B0%D0%BD.
Sign up to leave a comment.

Articles