Показать сообщение отдельно
Старый 20.01.2012, 00:18   #97
RokWeb
Нуждающийся
 
Регистрация: 28.10.2010
Сообщений: 95
Написано 23 полезных сообщений
(для 34 пользователей)
Ответ: RokWeb Chat Intellect - эмулятор искуственного интеллекта!

2IgorOK:

Алгоритм работы программы на данный момент такой:

1) Ввод пользователем фразы(сообщения).
2) Отправка сообщения на анализ(нажатие кл. Enter или клик кнопки Написать в интерфейсе программы).
3) Анализ 1-5 предыдущих сообщений на предмет общего контекста диалога, путём
сравнения сообщений с сообщениями диалогов из базы знаний программы(файл
Base.txt). При этом учитываются только те реплики, которые похожи с репликой из диалога базы знаний более чем на 50%.
4) Сортировка диалогов по схожести с текущим диалогом по убыванию(1 диалог
наиболее подходящий, чем 2, 3 и т.д).
5) Анализ наиболее похожего диалога на наиболее подходящий ответ(путем сравнения введеного пользователем сообщения с каждой строкой анализируемого диалога).
Если подходящая ответная реплика не обнаружена, то производится аналогичный анализ
следующего диалога.
6) Замена в наиболее подходящем ответе специальных тегов(время - [TIME], дата - [DATE] и т.д.)

Каждый диалог в последней версии программы, может быть, как линейным, например:
[NEW DIALOG]
[PHRASE]Вопрос[PHRASE]
[PHRASE]Ответ[PHRASE]
[PHRASE]Вопрос[PHRASE]
[PHRASE]Ответ[PHRASE]

А может быть и целиком нелинейным, например:
[NEW DIALOG]
[PHRASE]Вопрос1[PHRASE]Вопрос2[PHRASE]Вопрос3[PHRASE]
[PHRASE]Ответ1[PHRASE]Ответ2[PHRASE]Ответ3[PHRASE]

При этом Вопрос1, Вопрос2, Вопрос3 обязательно должны иметь 1 общий смысл - т.е. быть синонимами, равно
как и Ответ1, Ответ2, Ответ3. Ответная реплика выбирается случайно, т.е. идет перебор всех вариантов ответа до последнего или же пока
Random(3) не будет равно 1.
Благодаря такой схеме базы знаний программы, при общении с программой трудно провести один и тот же диалог(программа по просту может отвечать по разному),
что вносит некоторый интерес, как к собеседнику.

К сожалению оценить такой алгоритм пока сложно, т.к. база знаний мала, а самообучения в программе пока нет.

2Lowlet:
Это довольно легко делается, редактированием базы знаний, путём добавления соответствующих вопросов.
Например:
[PHRASE]Как дела?[PHRASE]Как жизнь?[PHRASE]Как сам?[PHRASE]Как оно?[PHRASE]Чо как оно, рассказывай.[PHRASE]Чо ты как?[PHRASE]Как делишки твои?[PHRASE] Хех) как оно?[PHRASE]
[PHRASE]Отлично, ты как?[PHRASE]Да бодрячком братюнь, сам как?[PHRASE]Да ничегошеньки дела пойдет) твои как?[PHRASE]
[PHRASE]Да тоже ничего. Что нового у тебя?[PHRASE]Да тоже так же. Что нового у тебя?[PHRASE]Ясненько. Что нового у тебя?[PHRASE]Да бодро)[PHRASE]Отличненько)[PHRASE]
[PHRASE]Да собственно ничего. А ты чем занят то собственно?[PHRASE]Да пока ничего...Ты чем маешься?[PHRASE]
[PHRASE]С тобой беседую. О чём поговорим, кстати?[PHRASE]Да с тобой общаюсь...[PHRASE]Сижу ожидаю от тебя темы для диалога[PHRASE]
[PHRASE]Давай поговорим о тачках.[PHRASE]Давай побазарим об играх[PHRASE]Давай поговорим о литературе?[PHRASE]Поговорим о девушках? [PHRASE]
[PHRASE]Давай[PHRASE]

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

Обучил его твоему диалогу.
Вложения
Тип файла: rar RokWeb Chat Intellect.rar (177.3 Кб, 706 просмотров)
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Lowlet (20.01.2012)