Wednesday, November 26, 2008

Тест Тьюринга

Недавно исполнилось 71 год машине Тьюринга на которой в основном строятся все современные вычислительные машины.

Мои идеи к реализации решения этого теста методом Китайской комнаты. Решение которой только свидетельствует интеллекте создателя, а не машины.

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

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

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

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

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

No comments: