jonny64 / flybot

чатбот/антиспам расширение для клиента пиринговой файлообменной сети FlylinkDC
1 stars 0 forks source link

Приоритеты #11

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Постарайтесь кратко и точно описать 
проблему/предложение.
Некорректная обработка приоретета фраз
Какие шаги приведут к появлению проблемы?
1. Дополнение словаря flydict.ini новыми, 
одинаковыми шаблонами фраз, с 
различными вариантами ответа бота (в 
зависимости от приоритета), с 
установкой для каждого ответа различных 
приоритетов.
2.
3.

Что ожидается? Что Вы фактически получаете?
Ожидается, что ответ бота на шаблон фразы с 
приоритетом 1 будет 
выводиться первее, чем другой ответ на 
точно такой же шаблон, но с 
приоритетом 2. 
Фактически ответы выводятся вне 
зависимости от приоритета. Например 
ответ на фразу с приоритетом 2 выодится 
раньше, чем ответ на такую же 
фразу но с приоритетом 1.

Какую версию бота Вы используете? Какой DC 
клиент?
Бот flybot-0.22.3    DC клиент FlylinkDC++(r361)

Укажите, пожалуйста, дополнительную 
информацию здесь
При использовании словаря по-умолчанию, 
также не собюлюдается приоритет 
фраз. Например, при вводе !!! может 
выводиться сначала как фраза-ответ 
с приоритетом 81, а лишь затем с 80.

Original issue reported on code.google.com by d1m...@mail.ru on 1 Oct 2008 at 9:33

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
>может выводиться сначала как фраза-ответ 
>с приоритетом 81, а лишь затем с 80.

Зависимость факта выдачи ответа от 
приоритета не очевидна и нигде не описана.
Задумывалось, что выбор ответа должен 
происходить по принципу лотереи (у кого 
больше
билетов).
Воспользуюсь геометрической аналогией.
Три варианта ответа (шаблона) с 
приоритетами 10, 20 и 50 разбивают отрезок на 
три
части с соотношением длин 10-20-50.
На отрезок бросается (произвольно) точка. 
От того, в 'чью' часть она попадет, зависит
выдаваемый ответ.

При таком раскладе ответ на фразу с 
приоритетом 2 вполне может выводиться 
раньше, чем
ответ на такую же фразу, но с приоритетом 1.

Опишите, пожалуйста, приемлемый для Вас 
алгоритм выбора сообщения из списка
подошедших по шаблону.

Original comment by astro64m@googlemail.com on 1 Oct 2008 at 4:49

GoogleCodeExporter commented 9 years ago
Уважаемый astro64m
Спасибо за разъяснение используемого 
принципа приоритета.
Этот способ имеет свои преимущества внося 
элемент случайности в работу бота, но в 
это же заключен его и недостаток. Так 
редактор словаря не может со 100% 
уверенностью предположить "реакцию" бота 
на ключевое слово (фразу), что в свою 
очередь приведет, допустим к занесению в 
игнор лист пользователя без 
предупреждения 
ботом , к примеру, за единичный флуд или мат.

На мой взгляд, более оптимально было бы 
установить "жесткий" приоритет сотен и 
десятков, т.е. фраза с приоритетом 10-19 со 100% 
вероятностью будет выведена первее 
фразы с приоритетом 20-29, но фраза с 
приоритетом 10 не всегда будет выводиться 
первее фразы с приоритетом 19. 
Это реализовать, конечно, более сложнее, но 
зато такой способ дает больше 
возможностей редактору словаря, и делает 
поведение бота более прогнозируемым. 

Можно пойти и более простым путем - 
установить жесткий приритет на весь 
диапазон. 
Т.е. ответ на шаблон с приоритетом 1 будет 
всегда выводиться первее ответа с 
приоритетом 2 на этот же шаблон.

Как по мне эти 2 алгоритма более логичны, 
чем используемый в данный момент, но 
решать только Вам. 

Original comment by d1m...@mail.ru on 1 Oct 2008 at 6:01

GoogleCodeExporter commented 9 years ago
так как наплыва желающих сменить поведение 
не наблюдается, оставляю все как есть...

Original comment by astro64m@googlemail.com on 29 Dec 2008 at 10:10

GoogleCodeExporter commented 9 years ago
Issue 24 has been merged into this issue.

Original comment by astro64m@googlemail.com on 27 Aug 2010 at 6:09

GoogleCodeExporter commented 9 years ago
Reopened by Issue 24

Original comment by astro64m@googlemail.com on 27 Aug 2010 at 6:10

GoogleCodeExporter commented 9 years ago
> ответ на шаблон с приоритетом 1 будет 
всегда выводиться первее ответа с 
приоритетом 2 на этот же шаблон
То есть проверять все шаблоны с 
приоритетом 1, потом 2 и т.д.
Срабатывание шаблонов с одинаковым 
приоритетом сделать равновероятным?

Original comment by astro64m@googlemail.com on 27 Aug 2010 at 6:15

GoogleCodeExporter commented 9 years ago
да думаю так будет нормально, но проблема 
описанная в iisue 24 скорее всего в разборе 
регэкспов, а не в системе приоритетов 
на одной машине у меня вот такой набор 
шаблонов 

5/\w*слот\w*/нняка слотик на сутки:)/cs
5/\w*slot\w*/keep.../cs
9/.*//c

а на другой вот такой: 

2/Вероятная попытка несанкционированной 
рекламы//c
2/успешно добавлен \w* к зарегистрированным 
пользователям.//c
2/Поздравляем! Вы сделали прекрасный выбор! 
Клиент FlylinkDC\+\+ - самый быстро 
развивающийся//c
2/((х\s?а\s?б+)|(h\s?u\s?b))//c
3/}{@б/и тут реклама... если вы и правда хотите 
со мной связатся перестаньте спамить ) 
иначе бот вас не пустит... а я даже не увижу 
этого всего =ъ/c
3/dchub/и тут реклама... если вы и правда хотите 
со мной связатся перестаньте спамить ) 
иначе бот вас не пустит... а я даже не увижу 
этого всего =ъ/c
3/ЗАРЕГИСТРИРОВАН/бот... если вы и правда 
хотите со мной связатся перестаньте 
спамить ) иначе бот вас не пустит... а я даже 
не увижу этого всего =ъ/c
3/!анкет/бот... если вы и правда хотите со 
мной связатся перестаньте спамить ) иначе 
бот вас не пустит... а я даже не увижу этого 
всего =ъ/c
3/письмо/за письма счастья в ..., с уважением, 
бот :) если вы и правда хотите со мной 
связатся перестаньте спамить ) иначе бот 
вас не пустит... а я даже не увижу этого 
всего =ъ/c
3/reghelp/бот... если вы и правда хотите со мной 
связатся перестаньте спамить ) иначе бот 
вас не пустит... а я даже не увижу этого 
всего =ъ/c
5/\w*слот\w*/нняка... твой Флай/cs
5/\w*slot\w*/keep... your Fly/cs 

и там и там пролазиют многострочные 
сообщения  с мусором на конце, а 
периодически и однострочные тоже

Original comment by a.rain...@gmail.com on 28 Aug 2010 at 6:36

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
всплывающие сообщения у меня отключены, 
т.к. хабов много, а окно с личкой, да 
остаётся открытым 
включил логирование в шаблоне, жду рекламы 
:)
9/.*//cl
2/((х\s?а\s?б+)|(h\s?u\s?b))//cl

ps: притом сообщения по большей части с 
рекламой хабов и там откровенным текстом 
написано dchub://адрес , т.е. шаблон
2/((х\s?а\s?б+)|(h\s?u\s?b))//c
тоже не отрабатывает

Original comment by a.rain...@gmail.com on 28 Aug 2010 at 4:40

GoogleCodeExporter commented 9 years ago
лог с первой машины:

20:40:41: 9/.*//cl => Закрыта личка Distr
20:51:26: 9/.*//cl => Закрыта личка hyCEw
21:04:34: 9/.*//cl => Закрыта личка [-DYON-]-Roxana
21:05:56: 9/.*//cl => Закрыта личка kMRfc
21:11:46: 9/.*//cl => Закрыта личка Adrium
22:13:10: 9/.*//cl => Закрыта личка Welcome
22:13:15: 9/.*//cl => Закрыта личка IpNet
22:13:15: 9/.*//cl => Закрыта личка *Ё[-Glaurung-]Ё*
22:13:19: 9/.*//cl => Закрыта личка ENGELS
22:13:21: 9/.*//cl => Закрыта личка [Bot]Multinex
22:13:29: 9/.*//cl => Закрыта личка [-CooL-BoT-]
22:13:29: 9/.*//cl => Закрыта личка VerliHub
22:13:29: 9/.*//cl => Закрыта личка Welcome
22:18:18: 9/.*//cl => Закрыта личка aPHVf
22:18:28: 9/.*//cl => Закрыта личка drghh37K43
22:18:55: 9/.*//cl => Закрыта личка drghhkRlX4SoP
22:19:37: 9/.*//cl => Закрыта личка drghhV5Kr9O
22:20:27: 9/.*//cl => Закрыта личка drghh0F0qB
22:23:58: 9/.*//cl => Закрыта личка HSYUg
22:30:24: 9/.*//cl => Закрыта личка Security
22:36:13: 9/.*//cl => Закрыта личка Uskgs
22:44:34: 9/.*//cl => Закрыта личка WacUt
22:49:59: 9/.*//cl => Закрыта личка IOKWZ
22:58:49: 9/.*//cl => Закрыта личка Zukbo
22:58:55: 9/.*//cl => Закрыта личка aZBiA
23:00:04: 9/.*//cl => Закрыта личка WXEYd
23:01:22: 9/.*//cl => Закрыта личка Inhub
23:06:54: 9/.*//cl => Закрыта личка AXtSJ
23:19:02: 9/.*//cl => Закрыта личка Security
23:24:46: 9/.*//cl => Закрыта личка OcmWV
23:27:44: 9/.*//cl => Закрыта личка ssrvT
23:31:35: 9/.*//cl => Закрыта личка mjdwt
23:32:39: 9/.*//cl => Закрыта личка OcmWV
23:34:15: 9/.*//cl => Закрыта личка erEmD
23:38:33: 9/.*//cl => Закрыта личка .«¤•°MaxiLand°•¤».
23:39:05: 9/.*//cl => Закрыта личка Security
23:40:36: 9/.*//cl => Закрыта личка Information
23:40:37: 9/.*//cl => Закрыта личка Information
23:40:38: 9/.*//cl => Закрыта личка Information
23:42:01: 9/.*//cl => Закрыта личка .«¤•°MaxiLand°•¤».
23:43:19: 9/.*//cl => Закрыта личка Welcome
23:43:20: 9/.*//cl => Закрыта личка Welcome
23:43:21: 9/.*//cl => Закрыта личка Welcome
23:45:56: 9/.*//cl => Закрыта личка Welcome
23:47:05: 9/.*//cl => Закрыта личка pIRGl
23:50:02: 9/.*//cl => Закрыта личка VerliHub
23:55:52: 9/.*//cl => Закрыта личка Asmadeus
23:57:20: 9/.*//cl => Закрыта личка .«¤•°MaxiLand°•¤».
0:01:46: 9/.*//cl => Закрыта личка mAKtt
0:06:19: 9/.*//cl => Закрыта личка JXhRP
0:16:28: 9/.*//cl => Закрыта личка GWCMIPG7Dmh4
0:27:18: 9/.*//cl => Закрыта личка Рani
0:33:05: 9/.*//cl => Закрыта личка Wjucc
0:36:43: 9/.*//cl => Закрыта личка uHSAA
0:38:28: 9/.*//cl => Закрыта личка mAKtt
0:40:29: 9/.*//cl => Закрыта личка ftDll
0:42:08: 9/.*//cl => Закрыта личка PCdAy

лог со второй машины:

21:12:01: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
Adrium
23:26:33: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
[NNZ]ynTcc
23:38:48: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
.«¤•°MaxiLand°•¤».
23:42:15: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
.«¤•°MaxiLand°•¤».
23:54:45: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка mBLuu
23:56:02: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
Asmadeus
23:56:02: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка 
Asmadeus
0:20:43: 2/((х\s?а\s?б+)|(h\s?u\s?b))//cl => Закрыта личка NblUU

т.е. оно конечно работает :) но кое что 
пролетает, и не совсем понятно почему

Original comment by a.rain...@gmail.com on 28 Aug 2010 at 8:45

GoogleCodeExporter commented 9 years ago
[00:52:38] <xXicv> Hi IRainman-x64! Please Join:  dchub://dc.rplanets.ru   And 
Type   /fav  On Mainchat! Thx. --- Rfmoy
[00:52:38]  *** Юзер ушёл [xXicv] ***

собственно вот, пролетело 

Original comment by a.rain...@gmail.com on 28 Aug 2010 at 8:53

GoogleCodeExporter commented 9 years ago
Какая версия бота и клиента?
Собственно, на поднятом замшелом PtokaX не 
воспроизводится, а на локальных за такое 
сразу банят, так что не потестируешь особо.
Что за хаб? Надеюсь, публичный (попробую 
посидеть с дебаггером)

Original comment by astro64m@googlemail.com on 29 Aug 2010 at 6:43

GoogleCodeExporter commented 9 years ago
Версия бота 0.32 от 21 августа, сам клиент r500 
beta11 

да, хаб открытый, как придёт напишу :)

ps:  кстати обрати внимание в логе есть такие 
же пяти буквенные произвольные ники, 
наверняка тот же скрипт, их Flybot закрывает 

Original comment by a.rain...@gmail.com on 29 Aug 2010 at 8:55

GoogleCodeExporter commented 9 years ago
не могу никак поймать с какого хаба валится 
:(

[21:37:55] <smPgz> Hi   IRainman-x64    Hub Partener:  dchub://AS.EZUA.COM:444  
   *** You are asked to Enter  /fav  here  mainchat  thanks ***

  --- uyYyJ
[21:37:55] <smPgz> Hi   IRainman-x64    Hub Partener:  dchub://AS.EZUA.COM:444  
   *** You are asked to Enter  /fav  here  mainchat  thanks ***

  --- uyYyJ
[21:37:55]  *** Юзер ушёл [smPgz] ***

Original comment by a.rain...@gmail.com on 29 Aug 2010 at 5:53

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
вот он,  вот он - этот злосчастный сервер :)
dchub://dc.optik.net.ua

Original comment by a.rain...@gmail.com on 4 Sep 2010 at 8:04

GoogleCodeExporter commented 9 years ago
есть мысль сделать так,  добавить в 
настройки опцию с конфигурацией 
диапазонов, внутри них делать 
вероятностные выборки, но между 
диапазонами установить жёсткий приоритет.
для примера вариантик:
диапазоны: 1-50, 51-80, 80-900 , ну или через слеш 
или ещё как :)

Original comment by a.rain...@gmail.com on 22 Jan 2011 at 12:31