RAWY_EX писал(а):
ну они хотя бы мозг мыши сделали а вы? давайте хоть что то. давайте ии с БД(привет,как зовут, как дела,пока)Зачем изобретать велосипед, если Леонид уже сделал бота.
http://forum.hiasm.com/topic/27472
Во фразе пользователя ищутся ключевые слова; каждое слово-стимул вызывает соответствующую реакцию. Предыдущие фразы никак не учитываются.
поиск идет "по маске", то есть во фразе ищутся несколько сочетаний символов, стоящих в определенном порядке и разделенных другими последовательностями символов.
Самый сложный бот. (точно не уверен, скорее всего найдется лучше.)
1. Фраза, выводимая программой, не выбирается из числа готовых фраз, а формируется с помощью заполнения некоторого шаблона (или одного из имеющихся шаблонов) словами из базы в зависимости от контекста разговора.
2. В разговоре учитывается не только последняя фраза человека, но и предыдущие фразы (в простейшем случае - две-три фразы, в более сложном - весь предшествующий разговор, то есть в ходе диалога происходит движение по некоторому графу, ответная реплика выбирается в зависимости от того, на какой вершине графа мы находимся, а вершина, к которой нужно перейти после произнесения реплики, выбирается в зависимости от фразы, сказанной человеком). Это может быть отслеживание контекста разговора и/или просто учет темы предыдущих реплик.
Обучение
1. Каждая фраза пользователя заносится в базу после предварительного анализирования (в этом случае, если алгоритм анализа фразы хороший, программа умнеет на глазах, но размер базы катастрофически быстро растет, и очень скоро программа начинает "тормозить").
2. После предварительного анализа в базу заносятся не все, а лишь некоторые фразы (например, относящиеся к значимым темам или являющиеся ответом на наиболее часто встречающиеся реплики). В этом случае, даже если алгоритм анализа фразы примитивен, программа умнеет достаточно быстро, а в базу не попадают бессмысленные реплики; но необходимо выработать удачные критерии отбора фраз.