GECK, по-моему, всё просто - это особенность движка. Схема примерно такая: принимаем фразу, анализируем слова, если есть похожее слово/словосочетание в базе - воспроизводим соответствующий ответ из базы на экране, ИНАЧЕ (если словосочетание в базе не найдено) выдаём ответ "Что?". По такой схеме в базе сложно поставить этот ответ, хотя... Другой вариант: в базе хранятся не просто словосочетания, но и варианты, например: "# как # дела #", где вместо # может стоять любое символ/слово/словосочетание. Именно такую схему применяют в современных (возможно, я немного ошибаюсь в летосчислении...) системах... [о чёрт, я раскрыл секретную разработку китайцев ] Ну и, соответственно, такая запись в базе: "#" = "Что?", означает, что при любом входе на выходе будет "Что?", но такая запись должна иметь наименьший приоритет, чтобы выводиться только, если других вариантов больше нет. Но у товарища V1talik30 и компании, похоже, используется первый вариант. P.S.
Quote (V1talik30)
Добавляйте идеи для добавления в программу!
Ну я тебе наводку дал, дальше сам копай... Вообще я читал специально разные книги и статьи об ИИ, названий не помню, так что ищи сам. Там много чего интересного есть...
Только, эх, мне эти способы не подходят - я бы мог сделать такую программу, но я хочу "настоящий" ИИ сделать... (в смысле настоящий [возможный к эволюционному появлению и развитию в природе {не обязательно нашей <белковой> } ] интеллект, отличием которого является его работа в среде современного компьютера) ...однако такое либо невозможно, либо нужны совершенно иные принципы разработки...
TimKruz, У нас подобные, но по сути отличающиеся принципы. Но раскрывать я их не буду, "Секрет фирмы" .
Quote (TimKruz)
Только, эх, мне эти способы не подходят - я бы мог сделать такую программу, но я хочу "настоящий" ИИ сделать... (в смысле настоящий [возможный к эволюционному появлению и развитию в природе {не обязательно нашей <белковой> } ] интеллект, отличием которого является его работа в среде современного компьютера) ...однако такое либо невозможно, либо нужны совершенно иные принципы разработки...
Для ИИ нужны источники информации для их анализа и дальнейшего применения. Например если сделать распознавание речи, программа сможет слушать наши разговоры и обучатся от нас самих пополняя свои знания. (Я планирую сделать подобное только ему надо будет вводить или копировать чужие диалоги с короткими предложениями). А если сделать распознавание предметов, лиц, объектов(Можно использовать 3д камеру для создания мало полигональных 3д моделей и распознавания их по форме), да ещё и ноги и руки прикрепить то программа сможет ориентироваться в пространстве. Этот разум сможет анализировать все полученные данные и улучшать существующее, тоесть эволюционировать, но сначала только копировать существующие живые существа и набираться знаний. Но всё же копия человека только не способная придумывать тоже прогресс! =) Так что AiDi это очень простой прототип разума способного имитировать собеседника, за счёт анализа и копирования чужих знаний.
Не думаю. Можно добавить в конец базы еще одну строку, и обрабатывать ее как обычную, но только если в базе не нашлось ответа на фразу. Я считаю, что в такой гибкой системе, как ИИ, зашивать реплики в код как минимум странно. Все, не флужу И да, TimKruz дело говорит. Всё гениальное просто. И хреново работает.
- Вы девушка? - Я не вдуплился. (Чё? Я не вдуплил.) (Я не врубился) - Ты девушка? - Да.
Это гермафродит? Прикольно. А, вот! Вопросы "Ты женат?" и "Ты замужем?" - точно гермафродит.
V1talik30, наверное, ты прав, но суть в том, что наш собственный, настоящий интеллект ни кто не создавал. Так вот я и думаю воссоздать первобытные условия, чтобы по той же схеме синтезировать нечто подобное, но упрощённое и работающее по другим схемам... Есть варианты ИИ, где создаётся модель нейрона (очень упрощённая), и модели взаимодействуют так же, как в реальном мозгу. Но возможности компьютеров и наши неглубокие знания в устройстве нашего мозга не позволяют сделать более точную модель... А почему бы не сделать модель не продукта природы (мозга, интеллекта), а модель процесса создания (эволюционного) природой этого самого продукта? Но с другими входными данными - с помощью того же алгоритма получится совершенно другой продукт, не похожий на "натуральный", т.е. искусственный. Но у меня нет идей практической реализации такой сложной (хотя в теории всё чрезвычайно просто и легко - запустил и забыл) штуки.
Сообщение отредактировал TimKruz - Четверг, 21 Июля 2011, 23:44
TimKruz, V1talik30, то о чём вы мечтаете - НЕРЕАЛЬНО! Гипотетически, система сможет самообучаться и использовать свои знания, но на практике... Уроки по GM+39DLL.
...но на практике есть самообучающиеся системы, но они очень слабые. А вообще-то, я знаю, что это нереально, по-крайней мере - пока.
Добавлено (21.07.2011, 23:58) V1talik30, и ещё, на счёт девушек: надо не просто пол указывать, а делать женственнее ответы ну и т.п. Девушка-терминатор не каждому по вкусу.
На fundux.ru есть такая игра - SayMe (третья часть, как я понял, так и не вышла, но демо было, потом закрыли открытый тест; когда она выйдет - фиг знает), посмотри. Там единственное отличие - это картинка, а в остальном тоже самое. Ну, это я к чему? Сам не помню, что-то сказать вроде хотел.
Сообщение отредактировал TimKruz - Пятница, 22 Июля 2011, 00:00
V1talik30, а для самосовершенствования нельзя сделать ему свободный выход в инет для посещения форумов, где и будет собирать диалги.(Я наверное тупость сказал) просто интересно)). отличный сайт http://13thsky.ru/
Ну это должен быть уже серьёзного уровня ИИ. Либо встраивать обработку форумов... Но у меня другой вариант (возможно, не идеальный, но по-моему хороший): создаём FTP-сервер 24/7, где вечно хранятся наши файлы (подойдёт, например, nextmail.ru). Программа может скачивать с сервера файл и добавлять к своей базе, либо изменять базу (патчи от ошибок). Мы же [разработчики] периодически обновляем файл, ну например alldata.txt, к которому-то и идёт запрос от программы. В принципе, можно на любой сервер залить и скачивать через http (потому что программе не надо менять данные в этом файле, только прочитать/скачать), но просто нужен сервер, с которого никогда ничего неожиданного не удалят.
А вот для этого есть специальные алгоритмы, и выход в интернет не нужен. Опять же, нужно читать литературу... В двух словах: есть режим с учителем и без; если с учителем - учитель даёт конкретные данные, ну это примитив, а если без него, то там реализуется довольно сложный (и сомнительный) алгоритм, использующий алгоритмы мутации и скрещивание для создания новых данных (связей вход-выход в таблице базы) и особый алгоритм для выбора приоритета конкретных данных, самые слабы удаляются. Если откопаю на компе нужный файл (и если он вам нужен) со статьёй - могу сюда загрузить.
А ты? Как-то с "виртуальной девушкой" и поговорить-то не о чём. Кстати, можешь встроить процедуру, чтобы она погоду могла узнать (с погодных интернет-серверов)? И можно сделать, типа, она в другом городе живёт.
Quote
- Привет! Как дела? - Привет! Да так себе, дождь идёт... А у вас как?
Возможность обновления базы знаний будет доступна с версии 0.3 . В последующих версиях будет реализована функция: Wikipedia_Search, позволяющая программе находить информацию о вещах, людях или объектах о которых вы её спрашиваете.