Вот, наконец-то, я выложил здесь свой чат-бот, в котором попытался воссоздать личность Нудл. Да, я согласен с тем, что Киборг в таком виде смотрелась бы логичнее, но когда я начинал работу над ним, Киборга ещё не было. Эта работа велась с большими перерывами, и от случая к случаю начиная с 2008 года, а некоторые идеи и участки кода были заимствованы из гораздо более ранних поделок подобного рода. Думаю, суммарно она заняла один-два месяца :-) Предупреждаю сразу - я не думаю, что этот бот будет интересным не только обычному человеку, но и фанату Гориллаз. Объём баз со сценариями диалогов очень мал, поэтому интересной беседы не получиться. Наверно, оценить это творение по достоинству смогут только любители программ такого рода, и программисты. Ведь в движок этого бота вложено немало труда. Если кто-то возьмётся помочь мне в составлении сценариев диалогов, я буду очень благодарен. Более того, мне не составит труда реализовать в виде чат-ботов и других участников группы. Кстати говоря, для написания сценариев совсем не обязательно разбираться с технической стороной их реализации. - Можно просто описать мне своими словами, что и при каких условиях бот должен отвечать собеседнику, а я уже сам выполню всю техническую работу.
Программа тестировалась только под Windows XP. На Win 7 и Vista не запускал. Если работает – сообщите, если нет, то попробуйте установить режим совместимости с XP.
Никаких ограничений на распространение и другие действия над этой програмой я не налагаю, однако она содержит модули сторонних разработчиков, юридическую муть к которым я толком не читал.
Для специалистов и любителей ниже привожу техническое описание программы:
+ Сценарии диалогов. + Учёт предыдущих реплик в сценариях. + Неограниченное число настроений. + Смена картинок. + Спонтанная активность. + Регулярные выражения. + Приближённый поиск. + Особая обработка наличия/отсутствия "не" перед словами. + Вывод с паузами. + Детектор "издевательства" (повторение одной и той же фразы, эвристическое определение строк из случайных символов). ! [Почти не работает] Поиск ответа на заданные вопросы в истории текущего диалога (находит только ответы, содержащиеся в явном виде, если запрашивалось существительное или прилагательное). ! [Не проверено] Возможность задания маски, совпадающей с определённой частью речи (<ГЛАГОЛ>, <ПРИЛОГАТЕЛЬНОЕ>, и т.д. а также <НАПРИМЕР_слово>). + Настраиваемая перефразировка выводимых ответов. + Примитивное самообучение (может быть отключено). + Файл настроек - Noodle.ini (их описание приведено в самом файле). + Редактор баз, с возможностью отладки регулярных выражений. "Универсальные отмазки". Предварительная обработка форматирования текста. Встроенный генератор случайных последовательностей знаков, двух видов (для ответа на "издевательства", и только автору понятного смысла). Используется грамматический движок Solarix (www.solarix.ru), использующий около 110 Мб ОЗУ, и снижающий быстродействие программы. - _Всё_ _в_ _базе_ _чувствительно_ _к_ _пробелам_ _и_ _регистру_. - Нет никакой обработки, _никаких_ ошибок (включая внутренние ошибки переполнения). Их последствия даже не проверялись. - Все записи, всех реплик, делаются в одну строку, не длиннее чем 255 символов. - Самообучение не сохраняет личности Нудл, размывая её до банального бота. - Нет никакой гарантии корректной работы с другой версией грамматического движка Solarix, и, особенно, словаря. - Чрезвычайно неполное использование возможностей грамматического движка Solarix. - [Возможно исправлено]: Редактор баз содержит ошибку, из-за которой может неверно сохранить базу. Используйте только для визуализации сценариев и отладки регулярных выражений.