Болталка "Кадилимэн" / kadiliman: Chatbot

Дополнения к OpenKore, расширяющиее её функциональность, называются плагинами.

Модератор: 4epT

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

АПДЕЙТ!

Вот теперь я счастлив. ^___^
Версия "Б" корректно выбирает русские фразы, благодаря кой-каким изменениям!

Вот изменения, и пример диалога с этой версией (заране извиняюсь за тематику и содержание диалога - она может быть любой, я просто хотел показать, что Kore может оставаться "в теме"):

ЗЫ: Я не знаю как это всё работает, я просто надергал кусков кода их разных мест Kore...
use strict;
+use Text::Wrap; #?

Код: Выделить всё

+sub rusLc {
+	my ($string) = @_;
+	my $message=$string;
+	$message = lc $message; # valid for latin characterz only
+	my ($endspace) = $message =~ /(\s*)$/; #? #Save trailing whitespace: wrap kills spaces near wraps, especialy at the end of stings, so "\n" becomes "", not what we want
+	$message = wrap('', '', $message); #?
+	$message =~ tr/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/абвгдеёжзийклмнопрстуфхцчшщъыьэюя/; # from rus2dos
+	$message =~ s/\s*$/$endspace/; #restore the whitespace #?
+	return $message;
+}

Код: Выделить всё

-	$tmp = lc $tmp; # convert to lowercase
+	$tmp = rusLc $tmp; # convert to lowercase
-	$tmp =~ s/[^A-Za-z_0-9 \']/ /g; # remove non alpha-numeric characters
+	$tmp =~ s/[^A-Za-zА-Яа-я_0-9 \']/ /g; # remove non alpha-numeric characters

Код: Выделить всё

-	$input = lc $input; # convert to lowercase
+	$input = rusLc $input; # convert to lowercase
-	$input =~ s/[^A-Za-z_0-9 \']/ /g; # remove non alpha-numeric characters
+	$input =~ s/[^A-Za-zА-Яа-я_0-9 \']/ /g; # remove non alpha-numeric characters
* * *

Человек и Коре:
ЧерныйПовелитель : Хайль Гитлер!
БоБот : зиг хайль
ЧерныйПовелитель : Ты истинный ариец?
БоБот : ЧТО ты не понял?
ЧерныйПовелитель : Ты тормоз?
БоБот : Ты истинный ариец? >__<
ЧерныйПовелитель : Я истинный ариец!
БоБот : Ты истинный ариец?
ЧерныйПовелитель : Да, блядь, я истинный ариец!
БоБот : Ты истинный ариец?
ЧерныйПовелитель : Заебал.
БоБот : зиг >__<
ЧерныйПовелитель : ХАЙЛЬ!
БоБот : зиг хайль
ЧерныйПовелитель : hello
БоБот : hello
ЧерныйПовелитель : bb
БоБот : zzz
ЧерныйПовелитель : Зиг?
БоБот : зиг
ЧерныйПовелитель : Зиг Хайль!
БоБот : хайль O_o
ЧерныйПовелитель : с тобой приятно общаться
БоБот : хай
ЧерныйПовелитель : чо те нада?
БоБот : ты пидор
ЧерныйПовелитель : ты бля пидор
БоБот : ты пидор
ЧерныйПовелитель : пнх
БоБот : пнх
ЧерныйПовелитель : ну вот и поговорили
БоБот : и?
ЧерныйПовелитель : ПАКА
БоБот : пака
ЧерныйПовелитель : Пока
БоБот : хайль
ЧерныйПовелитель : Зиг ХАЙЛЬ!
БоБот : ХАЙЛЬ!
ЧерныйПовелитель : ах ты сцука тупая
БоБот : ЧТО ты не понял?
ЧерныйПовелитель : не пезди
БоБот : не грузи
ЧерныйПовелитель : козел
БоБот : карты o_O
ЧерныйПовелитель : деньги и два ствола
БоБот : ну вот и поговорили
ЧерныйПовелитель : деньги давай!
БоБот : деньги и два ствола
ЧерныйПовелитель : zzz
БоБот : zzz
ЧерныйПовелитель : ЗИГ хайль!
БоБот : Зиг Хайль!
ЧерныйПовелитель : Ты сцука не истинный ариец!
БоБот : Ты сцука не истинный ариец! ^_^
ЧерныйПовелитель : Ты сцука не истинный ариец!!!
БоБот : Да, блядь, я истинный ариец!
ЧерныйПовелитель : Хайль Гитлер!
БоБот : хайль
Замечание: диалог велся при почти пустом словаре у плагина (89 фраз после окончания диалога), поэтому много лишних повторений, которых могло бы и не быть.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Antarx
Бывалый
Сообщения: 640
Зарегистрирован: Вс янв 07, 2007 5:56 am

Сообщение Antarx »

ЧерныйПовелитель : чо те нада?
БоБот : ты пидор
Вряд ли это правильное ведение диалога...
Превосходство некоторых людей над окружающими одни считают несправедливостью, требующей уравнивания, другие - неполноценностью недовольных.
Выбор взгляда за Вами...
Изображение :)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Еще раз подчеркиваю - в этом примере "лексикон" плагина почти на нуле.
Плюс, никто не мешает тебе "чистить" словарь от "нежелательных" фраз и слов.
Последний раз редактировалось piroJOKE Ср мар 14, 2007 5:51 pm, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
Aib0
Бывалый
Сообщения: 961
Зарегистрирован: Чт ноя 16, 2006 12:50 am
Контактная информация:

Сообщение Aib0 »

ЧерныйПовелитель : ну вот и поговорили
БоБот : и?
Вопрос как он тут выбрал ответ? Сомневаюсь что хэши вопроса и ответа похожи..
Wtf is "OpenKore"?

"What we're dealing with here is a total lack of respect for the law"
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

А как эта штука работала ДО этого ("Б") апдейта? Она вообще от фонаря выбирала фразы. И тоже, было довольно неплохо. :D

ЗЫ: Последний раз говорю, для того диалога НЕ использовался даже тот словарь, что прилагается к примеру в 1-м посте. В этом диалоге словарь был искусственно очищен (и чуть-чуть, около 60 фраз набит ругательствами), чтобы наблюдать "обучение".
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Теперь наша следующая цель - срастить likeHuman и Кадилимана, и заставить их работать в связке. Интересно, возможно ли это после всех этих изменений?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Что мне в этой штуке не нравится, это то, что он часто просто повторяет фразу, обращенную к нему. Надо с этим шо-то сделать...
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
lirikpl
Грамотный
Сообщения: 476
Зарегистрирован: Вс ноя 12, 2006 12:58 am

Сообщение lirikpl »

кадилмана починил давно,точнее помогли уж на то пошло.и бегают ботики у мну с лайкхьмани+кадилман уже как месяца полтора два.
так вот повторяет он у мну обращенные к нему фразы по одной причине.если слышит их в первый раз,или был маленький словарик,я специально просил разных людей с ним пофлудить,так сказать разные характеры набрать ему,а выбирает он вполне прилично,беузсловно бывают косяки,но все равно когда идет правильный ответ от лайкхьюмани+херь от кадилмана это прикольно))ржал первые 3 дня чуть не сдох ,просто советую опробывать в качестве поднятия настроения хотя бы))
гамер:ты шо твориш???
бот: а минет мне???
гамер: мудак!!!
бот: старших нада уважать!!
гамер:малец иди в школу
вот такой фигни из реального пользования полно)))
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4776
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse »

piroJOKE
Апдейт То что нужно. И к стати, он набивает словарь повторениями чтобы выделить часто используемые фразы.

:lol: :lol: :lol: РжуНимагу... а вообще именно так он должен работать.
Lims
Нууууп
Сообщения: 723
Зарегистрирован: Чт ноя 09, 2006 7:55 pm

Сообщение Lims »

а прикольная штука. делает вид что играет персоонажем невменяемый человек, с которым нету особого желания болтать.
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

киирр писал(а):повторяет он у мну обращенные к нему фразы (...) если слышит их в первый раз,или был маленький словарик
Специально проверю завтра, но по-моему причина не в этом.
Разумеется, расширение словаря разнообразит его ответы,
но прямого запрета повторять фразы (особенный цирк - длинные фразы!) у него нет.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Psicho
Начинающий
Сообщения: 19
Зарегистрирован: Чт ноя 16, 2006 10:11 pm
Контактная информация:

Сообщение Psicho »

piroJOKE

Я так понял он отслеживает
privatemessage.txt
publicchat.txt

настройки:
logChat 0
logPrivateChat 1
logPublicChat 1

Но в логах кора сохраняет всё в :
chat_*********_0-- если пишут в приват и
chat----если пишут в общий
Что у меня нетак с корой?Версия 194SVN5506
Павлик_морозов
Новичок
Сообщения: 6
Зарегистрирован: Пн ноя 13, 2006 5:03 pm

Сообщение Павлик_морозов »

вопрос, а его моно настроить так чтобы он только логил фразы но не отвечал на них?
Просто ручками перекидывать из логов лениво. 8)
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Павлик, а ты вообще на его настройки смотрел? ;)
Просто укажи ему - не отвечать на общак, не отвечать на приваты.
Имхо, он будет "учиться" в таком режиме.

ЗЫ: Хотя, я бы рекомендовал побеседовать с ним "по душам" самому. :D

* * *

Psicho, я не знаю, на самом деле его тонкой настройкой никогда не занимался.
Лезь читай форум OpenKore, потом расскажешь нам по-русски, чо как. ;)
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Аватара пользователя
piroJOKE
Модератор
Сообщения: 8205
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE »

Мда... Радость моя поутихла. Эта штука работает, но толку от нее мало.
Вся проблема в том, что самое близкое соответствие НЕ ОЗНАЧАЕТ самый лучший из возможных ответов.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download
Ответить