Страница 3 из 13

Добавлено: Ср мар 14, 2007 5:01 pm
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 фраз после окончания диалога), поэтому много лишних повторений, которых могло бы и не быть.

Добавлено: Ср мар 14, 2007 5:29 pm
Antarx
ЧерныйПовелитель : чо те нада?
БоБот : ты пидор
Вряд ли это правильное ведение диалога...

Добавлено: Ср мар 14, 2007 5:50 pm
piroJOKE
Еще раз подчеркиваю - в этом примере "лексикон" плагина почти на нуле.
Плюс, никто не мешает тебе "чистить" словарь от "нежелательных" фраз и слов.

Добавлено: Ср мар 14, 2007 5:51 pm
Aib0
ЧерныйПовелитель : ну вот и поговорили
БоБот : и?
Вопрос как он тут выбрал ответ? Сомневаюсь что хэши вопроса и ответа похожи..

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

ЗЫ: Последний раз говорю, для того диалога НЕ использовался даже тот словарь, что прилагается к примеру в 1-м посте. В этом диалоге словарь был искусственно очищен (и чуть-чуть, около 60 фраз набит ругательствами), чтобы наблюдать "обучение".

Добавлено: Ср мар 14, 2007 5:55 pm
piroJOKE
Теперь наша следующая цель - срастить likeHuman и Кадилимана, и заставить их работать в связке. Интересно, возможно ли это после всех этих изменений?

Добавлено: Ср мар 14, 2007 6:31 pm
piroJOKE
Что мне в этой штуке не нравится, это то, что он часто просто повторяет фразу, обращенную к нему. Надо с этим шо-то сделать...

Добавлено: Ср мар 14, 2007 7:00 pm
lirikpl
кадилмана починил давно,точнее помогли уж на то пошло.и бегают ботики у мну с лайкхьмани+кадилман уже как месяца полтора два.
так вот повторяет он у мну обращенные к нему фразы по одной причине.если слышит их в первый раз,или был маленький словарик,я специально просил разных людей с ним пофлудить,так сказать разные характеры набрать ему,а выбирает он вполне прилично,беузсловно бывают косяки,но все равно когда идет правильный ответ от лайкхьюмани+херь от кадилмана это прикольно))ржал первые 3 дня чуть не сдох ,просто советую опробывать в качестве поднятия настроения хотя бы))
гамер:ты шо твориш???
бот: а минет мне???
гамер: мудак!!!
бот: старших нада уважать!!
гамер:малец иди в школу
вот такой фигни из реального пользования полно)))

Добавлено: Ср мар 14, 2007 8:20 pm
kLabMouse
piroJOKE
Апдейт То что нужно. И к стати, он набивает словарь повторениями чтобы выделить часто используемые фразы.

:lol: :lol: :lol: РжуНимагу... а вообще именно так он должен работать.

Добавлено: Ср мар 14, 2007 9:15 pm
Lims
а прикольная штука. делает вид что играет персоонажем невменяемый человек, с которым нету особого желания болтать.

Добавлено: Чт мар 15, 2007 2:24 am
piroJOKE
киирр писал(а):повторяет он у мну обращенные к нему фразы (...) если слышит их в первый раз,или был маленький словарик
Специально проверю завтра, но по-моему причина не в этом.
Разумеется, расширение словаря разнообразит его ответы,
но прямого запрета повторять фразы (особенный цирк - длинные фразы!) у него нет.

Добавлено: Чт мар 15, 2007 10:56 am
Psicho
piroJOKE

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

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

Но в логах кора сохраняет всё в :
chat_*********_0-- если пишут в приват и
chat----если пишут в общий
Что у меня нетак с корой?Версия 194SVN5506

Добавлено: Чт мар 15, 2007 1:38 pm
Павлик_морозов
вопрос, а его моно настроить так чтобы он только логил фразы но не отвечал на них?
Просто ручками перекидывать из логов лениво. 8)

Добавлено: Чт мар 15, 2007 2:21 pm
piroJOKE
Павлик, а ты вообще на его настройки смотрел? ;)
Просто укажи ему - не отвечать на общак, не отвечать на приваты.
Имхо, он будет "учиться" в таком режиме.

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

* * *

Psicho, я не знаю, на самом деле его тонкой настройкой никогда не занимался.
Лезь читай форум OpenKore, потом расскажешь нам по-русски, чо как. ;)

Добавлено: Пт мар 16, 2007 11:46 am
piroJOKE
Мда... Радость моя поутихла. Эта штука работает, но толку от нее мало.
Вся проблема в том, что самое близкое соответствие НЕ ОЗНАЧАЕТ самый лучший из возможных ответов.