Вопрос: Что вас останавливает в процессе создания ИИ?

Лучший ответ:
Давайте напишем ИИ. Пусть болтает с людьми, делает что-нибудь полезное. В самом деле, сколько можно — 60 лет прошло, а ИИ все нет.

1) И так, попробуем с языка. Пусть слушает, понимает и отвечает.

Вот у нас текст. Разобъем на слова. Обработаем окончания и прочая. Готов модуль морфологии, это было несложно. Далее, как-то нужно вытащить структуру из текста. То же не проблема — контекстно-свободные грамматики в помощь, и готов модуль синтаксиса. Пока все хорошо: разобрали морфологию, построили дерево связей слов. Но что дальше? По-хорошоему, нужно чтоб ИИ понимал текст. Вот тут и начинаются пляски с бубнами. Что такое «понимать» никто толком не понимает :). 

а) Вариант первый — логика в помощь. Нам вообще не нужно понимание, главное чтоб все было четко:
Все люди смертны
Сократ человек,
Сократ — смертен

Modus ponens, это все что нужно. Пролог умеет с этим работать. Выделяем из текста (синтаксического дерева) конструкции типа VB (SUBJ OBJ), запихиваем в предикат VB(SUBJ, OBJ) и готово.

Но тут, внезапно:

> «Сократ был человеком.»

Эм… это что, время? Мы такое не обрабатываем. Ну не страшно, изобретем какую-нибудь темпоральную логику. 

> «По моему, Сократ — человек»

Это что, модальность? Откуда она взялась? Придется как-то обрабатывать степерь уверенности поставляемых кем-то фактов… 

И что, для каждого языкового ньюанса выпиливать свою логику? А потом их как-то объединять? А потом вывод еще будет и неразрешим, ИИ зависнет на фразе «привет мир». Нет, сложновато получается. Нужно придумать что-то другое.

Можно конечно обратится к лингвистам. Но они над одной простой конструкцией могут десятилетием копья ломать, а нам тут нужно весь язык сразу выучить. Не пойдет. 

Вообще-то, это работает, но только очень ограничено. Попытки были, но провалились. Гуглить по имени «Терри Виноград» и его программе SHRDLU. Также полезно загуглить рамматику Монтегью. 

б) Да к черту логику. Давайте напишем граф, который бы описал любую ситуацию. 

Так, чтобы сделать граф, нужно задать какие-то концепты. Оптимально — описываем термины, и задаем как они взаимодействуют друг с другом. Понятно, что граф получится большой, но если постараться, у нас все получится. Так?

Нет, не так. Гуглим проект Cyc. Начинал писаться с 1984. Большинство, участвующих в данной дискуссии еще и не родились. Так и где результаты? Они есть, довольно-таки средненькие:
 — граф получается громадный
 — отношения между терминами не очень хотят выстраиваться в красивый граф
 — многозначность 
 — сложность добавления знаний

См также язык Фреймов и другие представления знаний.

Но похоже мы тут тоже провалились. Что дальше?

2) А давайте зайдем совсем с другой стороны — напишем свой язык программирования. Видимо, с ним проще пойдет.

Но и тут затык — какой бы язык мы не написали, он будет эквивалентым (или слабее) машины Тьюринга или любой Тьюринг-полной вычислительной системе. Да, да, и даже Брейнфаку. 

3) Может запихнуть это все в НЕЙРОННУЮ СЕТЬ и обучить все ГЕНЕТИЧЕСКИМ АЛГОРИТМОМ? Звучит заманчиво, только если перевести это на математический язык — мы всего лишь занимаемся оптимизацией, пытаясь найти некое вероятностное распределение. Вообще, машинное обучение довольно конкретно. Здесь мы решаем узкие и конкретные задачи — строим классификаторы или регрессии. Не очень похоже на сильный ИИ, да и выглядит вся эта математика как-то не секси :) — градиентные спуски, гессианы, энтропии. 

Но как ни странно, как раз эта область и является тем, над чем работают серьезные ученые. И здесь много проблем. Модели без скрытых состояний слишком наивны. Модели со скрытыми состояниями сложно обучать. Да и вычислительные мощности нужны. Но это наиболее конструктивный подход и уже позволяет добится интересных результатов. 

Простите меня за сарказм. Видимо, я слишком часто натыкаюсь на такие вопросы. Надеюсь, я дал ответ. Я предлагаю для погружения в обалсть написать простой POS-таггер. Это самый первый шаг в комп. лингвистике. Но он позволяет почуствовать всю сложность проблемы.

Худший ответ:
«Ну, меня придется ждать несколько лет» — почему так пессимистично? =)