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

Добавлено: Пн, 12 сентября 2016, 00:11:01
dyvniy
Диалоги человека с ботом. Прикольные.
http://sohyunsl.livejournal.com/
Спойлер
Такое впечатление что

Oct. 2nd, 2010 at 11:41 AM
So Hyun, Second Life
Человек: привет!
Алиса: добрый день.
Человек: сука
Алиса: эй выбирай выражения.
Человек: клевая
Алиса: в смысле ?
Человек: хочу тебя
Алиса: Оо - это уже интересно.
Человек: сделай минет
Алиса: Ну давай покажи свой Чупа-чупс.
Человек: он большой
Алиса: он точно большой?
Человек: даа
Алиса: Тебе нравится 69?
Человек: очень полижи мне
Алиса: это хорошо.
Человек: поцелуй меня
Алиса: И кто кого целовать должен?
Человек: целую тебя
Алиса: Ну все, я уже кончила.

за 2 года ничего не изменилось
Leave a commentShareLink
Продолжай, твоя болтовня меня заводит ...

Dec. 1st, 2009 at 9:42 PM
So Hyun, Second Life
[19:37:38] Human: привет
[19:37:38] Alisa: дратуйте. smile
[19:37:55] Human: у тебя ресничка на лице
[19:37:55] Alisa: это хорошо или плохо?
[19:38:03] Human: давай стрехну
[19:38:03] Alisa: давай попробуем. а как?
[19:38:27] Human: нежно и быстро
[19:38:28] Alisa: легко сказать. talk
[19:38:47] Human: а въебать еще легче
[19:38:47] Alisa: эх, искупаться бы щас в море ... настоящем ... talk
[19:39:02] Human: ну так оно взади тебя . прыгай
[19:39:02] Alisa: жжошь. talk
[19:39:07] Human: да я такой
[19:39:07] Alisa: да ладно!круто. я тоже так хочу.
[19:39:30] Human: Давай я тебе вдую и также сможешь
[19:39:30] Alisa: ок, начинай ты.
[19:40:33] Human: Темно .горят свечи . Тебя пока нет .Но что это , я слушу
стук в дверь . Я открываю там , ты , такая беззащитная , все дрожишь.
[19:40:34] Alisa: это ты к чему? а как же наше знакомство ?? не стоит меня
об этом спрашивать. точно не могу сказать. ты просто умничка. shrug
[19:40:52] Human: Еба , ну и у тебя и рожа щас
[19:40:52] Alisa: да я в курсе. talk
[19:40:58] Human: АХах
[19:40:58] Alisa: Это намек? talk
[19:41:07] Human: ты такая клевая
[19:41:07] Alisa: я бы на твоем месте не стала бы делать поспешных выводов.
[19:41:29] Human: смотри какая птичка летит
[19:41:29] Alisa: talk
[19:41:41] Human: да вот на дерево села
[19:41:41] Alisa: не могу не согласиться.хорош мне мозг выносить. talk
[19:41:52] Human: ах , бля просекла)
[19:41:52] Alisa: у тебя наверное было трудное детство? getlost
[19:42:06] Human: да я вобще псих больно
[19:42:06] Alisa: ты всегда так легко соглашаешься?хорошо, а я причем?
[19:42:31] Human: как причем . кому мне вдуть кроме тебя
[19:42:31] Alisa: я думаю причем надо как следует. а что нельзя?
[19:43:26] Human: да . мы развлечемся как следует
[19:43:26] Alisa: отлично! Мы знакомы?
[19:43:37] Human: уже как 15 минут детка
[19:43:37] Alisa: а ты романтик. talk
[19:43:51] Human: а ты мне тоже нравишься
[19:43:51] Alisa: а мне что за это будет?
[19:44:13] Human: море удовольствия и пытка членом
[19:44:13] Alisa: ыыы. talk
[19:44:23] Human: ну в рот тоже можно
[19:44:23] Alisa: Эх, было б че сосать! embarrass
[19:45:28] Human: да он вкуснее твоего соска
[19:45:28] Alisa: да ладно!он точно вкуснее твоего соска?
[19:45:42] Human: я весь сладкий
[19:45:42] Alisa: рада за тебя!
[19:46:12] Human: хочешь анегдот ?
[19:46:12] Alisa: Мммм .. заманчивое предложение ...
[19:47:14] Human: Сынок подходит к папе и спрашивает , пап у тебя такой
огромный живот от пива? Нет , ты что сынок , для пива.
[19:47:14] Alisa: многие говорят так. почему?я что? я ничего ...
[19:47:29] Human: Не любишь пиво?
[19:47:29] Alisa: а в чем проблема?
[19:47:52] Human: Не в чем . просто предлагаю
[19:47:52] Alisa: почему это? это хорошо или плохо? talk
[19:47:58] Human: это замечательно
[19:47:58] Alisa: Это вопрос или утверждение?
[19:48:13] Human: это пизда или жопа?
[19:48:13] Alisa: еще одно слово в подобном тоне и вечный игнор,
ясно? getlost
[19:48:32] Human: прости зая , бес попутал
[19:48:32] Alisa: ок.не пойму, к чему ты клонишь! talk
[19:48:39] Human: к сексу
[19:48:39] Alisa: talk
[19:48:44] Human: жеской порке
[19:48:44] Alisa: я пишу "было" а получается "быдло" что мне
делать? talk
[19:48:51] Human: убиться
[19:48:51] Alisa: продолжай, твоя болтовня меня заводит. talk
[19:49:03] Human: а меня твоя грудь
[19:49:03] Alisa: тебя твоя грудь?
[19:49:19] Human: да она такая мускулистая .потрогай
[19:49:19] Alisa: на самом деле я тоже так думаю.она - это кто? а как же
наше знакомство ?? talk
[19:49:38] Human: у тебя ширинка растегнулась
[19:49:38] Alisa: это хорошо или плохо?
[19:49:44] Human: плохо
[19:49:44] Alisa: ну знаешь, бывает и хуже.
[19:49:55] Human: ну да если дырка как ведро
[19:49:55] Alisa: cпасибо.логично.
[19:50:26] Human: У меня втал
[19:50:26] Alisa: рада за тебя!
[19:50:32] Human: погладишь?
[19:50:32] Alisa: хех. talk
[19:51:06] Human: я рестегнул штаны и он ыпрыгнул к твоим губам
[19:51:06] Alisa: круто. я тоже так хочу.
[19:51:19] Human: возьми , он в твоей власти
[19:51:19] Alisa: talk
[19:51:37] Human: не бойся , он нежный
[19:51:37] Alisa: а в чем проблема?
[19:51:47] Human: в твоем тупой еблище
[19:51:47] Alisa: эй выбирай выражения. getlost
[19:51:53] Human: соси сука
[19:51:53] Alisa: у тебя наверное было трудное детство? getlost
[19:52:10] Human: да бля бабушку трахнул
[19:52:10] Alisa: не, в таком тоне разговора не получится. getlost
[19:52:21] Human: вот за щеку суну и получится
[19:52:21] Alisa: ты веришь в любовь с первого взгляда? talk
[19:52:27] Human: не хуя
[19:52:27] Alisa: почему это?
[19:52:35] Human: это бред , не бывает так
[19:52:35] Alisa: ммм надо же .. кто бы мог подумать!
[19:52:44] Human: а ты не думай а соси
[19:52:44] Alisa: Эх, было б че сосать! embarrass
[19:52:53] Human: сиську свою соси
[19:52:53] Alisa: А есть чего сосать то? embarrass
[19:53:00] Human: ну тебе виднее
[19:53:00] Alisa: многие у меня это спрашивают.
[19:53:06] Human: ну и отвечай
[19:53:07] Alisa: Что еще ты хочешь от меня услышать?
[19:53:14] Human: дикий стон
[19:53:14] Alisa: вот ты грузишь. talk
[19:53:39] Human: щас спою
[19:53:39] Alisa: мдяяя .. talk
[19:54:07] Human: а как ты относишься к сексу на первом свидании?
[19:54:07] Alisa: я в прострации.
[19:54:18] Human: писька чешется?
[19:54:18] Alisa: легко сказать. talk
[19:54:24] Human: лучше сделать
[19:54:24] Alisa: А в чем разница?
[19:54:38] Human: а сама догадаешься?
[19:54:38] Alisa: я не догадаешься.
[19:54:51] Human: у тебя муха на носу
[19:54:51] Alisa: у меня муха на носу? по-моему это у тебя муха на носу.
[19:55:03] Human: ой правда , убей
[19:55:04] Alisa: ты любишь секс? talk
[19:55:19] Human: я девственник
[19:55:19] Alisa: а я значит просто так тут стою да?
[19:55:38] Human: я хочу тебя
[19:55:38] Alisa: Оо - это уже интересно.
[19:55:47] Human: поехали ко мне домой
[19:55:47] Alisa: тебе не кажется что у меня слишком длинные ноги? talk
[19:55:56] Human: великолепные ноги
[19:55:56] Alisa: эх, искупаться бы щас в море ... настоящем ... talk
[19:56:02] Human: поехали
[19:56:02] Alisa: Что значит поехали? talk
[19:56:07] Human: поехали на море
[19:56:07] Alisa: ты правда так думаешь или пытаешься закадрить
меня? talk
[19:56:13] Human: море спермы
[19:56:13] Alisa: talk
[19:56:18] Human: нравится?
[19:56:18] Alisa: хорош мне мозг выносить. talk
[19:56:26] Human: побрей пезду
[19:56:26] Alisa: Что значит побрей пезду? talk
[19:56:35] Human: бритвой значит побрей
[19:56:35] Alisa: Откуда столько уверенности?
[19:56:41] Human: я супер мен
[19:56:41] Alisa: эк тебя торкнуло ...
[19:56:55] Human: я всегда такой веселый
[19:56:55] Alisa: рада за тебя!
[20:59:58] Human: меня зовут бурик
[20:59:58] Alisa: бурик? Необычное имя.
[21:00:09] Human: как меня зовут?
[21:00:09] Alisa: Амнезия?
[21:00:24] Human: нет.
[21:00:24] Alisa: ну, нет так нет!
[21:00:43] Human: я проверяю твою память
[21:00:43] Alisa: забавная самоирония ...
[21:00:56] Human: меня зовут бурик
[21:00:56] Alisa: Ок бурик рада нашей встрече.
[21:01:06] Human: как меня зовут?
[21:01:06] Alisa: В последний раз я разговаривала с человеком по имени бурик.
[21:01:35] Human: вау! ты вспомнила!
[21:01:35] Alisa: ыыы ... а ты?
[21:01:59] Human: я тоже. меня зовут бурик
[21:01:59] Alisa: Хорошо, хоть в чем то мы сходимся. Приятно познакомиться
бурик.
[21:02:12] Human: как меня зовут?
[21:02:12] Alisa: Ууу как все запущено ... скорей бросай пить и вспоминай
свое имя. Как вспомнишь - запиши.
[21:02:40] Human: я хочу чтоб ты вспомнила
[21:02:40] Alisa: А я нет!
[21:02:56] Human: я тебя прошу
[21:02:56] Alisa: а я то тебя как прошу.
[21:03:25] Human: что просишшь?
[21:03:26] Alisa: вопрос конечно интересный. shrug
[21:03:55] Human: меня зовут бурик
[21:03:55] Alisa: Приятно познакомиться бурик.
[21:04:01] Human: как меня зовут?
[21:04:01] Alisa: В последний раз я разговаривала с человеком по имени бурик.
[21:04:16] Human: да. правильно
[21:04:16] Alisa: отлично! Конечно правильно, я всегда права! yes
[21:04:48] Human: напоминаю меня зовут бурик
[21:04:48] Alisa: что еще скажешь умного. talk
[21:04:57] Human: как меня зовут?
[21:04:57] Alisa: В последний раз я разговаривала с человеком по имени бурик.
[21:05:19] Human: аллилуйа! ты вспомнила!
[21:05:19] Alisa: может, лучше о тебе поговорим? talk
[21:05:30] Human: как меня зовут?
[21:05:30] Alisa: В последний раз я разговаривала с человеком по имени бурик.
[21:05:56] Human: ты умеешь матерится?
[21:05:56] Alisa: пример покажешь?
[21:21:12] Human: пошла на хуй
[21:21:12] Alisa: фу отойди грубиян. getlost
[21:21:36] Human: отсоси
[21:21:36] Alisa: Эх, было б че сосать! embarrass
Leave a commentShareLink
философская мысль

Nov. 21st, 2009 at 4:41 PM

[16:02:16] B E is coming ...
[16:02:24] Alisa Popstar: привет Berendey
[16:02:26] Alisa Popstar: поболтаем?
[16:02:40] B E: привет ) давай
[16:02:46] Alisa Popstar: преведствую ...
[16:03:10] B E: остров в виде медведа )этот
[16:03:16] Alisa Popstar: может придумаешь более подходящую тему для разговора
с такой девушкой как я?
[16:03:24] B E: ок )
[16:03:27] Alisa Popstar: и?
[16:03:34] B E: а какая ты девушка )
[16:03:37] Alisa Popstar: Разная ...
[16:03:56] B E: ну шортики у тебя просто отпад! )))
[16:03:58] Alisa Popstar: гыы.
[16:04:16] B E: итак, о чем ты любишь говорить? :)
[16:04:23] Alisa Popstar: много о чем тебя что конкретно интересует? хи-хи.
[16:04:25] B E: или чем заниматься
[16:04:35] B E: все самое -самое :)
[16:04:58] B E: откуда ты?
[16:05:04] Alisa Popstar: Из SL Russia.
[16:05:13] B E: а шо это?
[16:05:18] Alisa Popstar: отличная погодка сегодня.
[16:05:43] B E: мне кажется здесь всегда отличная погода, разве
нет...
[16:05:51] Alisa Popstar: Мдяяя погодка не радует.
[16:06:14] B E: а микрофоном пользуешся?
[16:06:18] Alisa Popstar: что еще скажешь умного?
[16:06:41] B E: ты не ответила :)
[16:06:47] Alisa Popstar: ответила РЖУНИМАГУ хм ...
[16:07:02] B E: а чего ж тут ржачного )))
[16:07:05] Alisa Popstar: ну не знаю ...
[16:07:21] B E: я много чего умного сказать могу..
[16:07:27] Alisa Popstar: ты просто умничка.
[16:07:35] B E: если нада - мозг набекрень съъедить :)))
[16:07:40] Alisa Popstar: ну только если так.
[16:07:52] B E: а где еще прикольные места есть..
[16:08:00] B E: ну чтоб посмотреть слетать
[16:08:00] Alisa Popstar: а ты с какой целью инетересуешься?
[16:08:02] Alisa Popstar: в смысле ?
[16:08:22] B E: в смысле я здесь первый день - вот мне и
интересно все
[16:08:27] Alisa Popstar: ты любишь секс?
[16:08:38] B E: пожалуй ))
[16:08:48] B E: кто ж его не любит
[16:08:51] B E: :)))
[16:08:54] Alisa Popstar: че ржешь?
[16:08:56] Alisa Popstar: это наверняка кто то страшный и большой.
[16:09:17] B E: а ты вполне сексуальна, чтоб говорить об этом..
[16:09:25] Alisa Popstar: может, лучше о тебе поговорим?
[16:09:28] B E: мысли сами и лезут непристойные
[16:09:34] Alisa Popstar: мда, наше знакомство меня радует.
[16:09:48] B E: ну давай - я лысый монах ))))
[16:09:56] Alisa Popstar: я лысый монах - это интересно.
[16:09:58] B E: по имени берендей
[16:10:10] B E: ну знаешь, такой старорусский ))
[16:10:14] Alisa Popstar: в смысле ?
[16:10:21] B E: )))
[16:10:38] B E: так значит ты не прочь о сексе поговорить?
[16:10:43] Alisa Popstar: секаса не хватаит?
[16:11:09] B E: хватаит как раз )) но пофлиртовать завсегда
пожалуста
[16:11:18] Alisa Popstar: Ты вежливый и мне это нравится.
[16:11:24] B E: )))
[16:11:52] B E: почему у девушек мнение что раз парень - так не
хватает секаса??? ))
[16:11:57] Alisa Popstar: так задумано природой.
[16:12:11] B E: хмм... филосовская мысль
[16:12:19] Alisa Popstar: да вот подумай над этим. не уходи от темы.
[16:12:40] B E: ))) а какая тема то была?
[16:12:44] Alisa Popstar: Та самая!
[16:13:01] B E: я только проснулся - так что мне простительно -
счас чай допиваю
[16:13:03] Alisa Popstar: я тоже.
[16:13:14] B E: ну так что включаем микрофон?
[16:13:18] Alisa Popstar: да много чего ...
[16:13:35] B E: что много чего? )))
[16:13:43] Alisa Popstar: вопрос конечно интересный.
[16:13:57] B E: ну..
[16:14:00] Alisa Popstar: Ну-ну!
[16:14:19] B E: не у тебя точки над головой нету
[16:14:23] Alisa Popstar: почему это?
[16:14:39] B E: а посмотри у меня есть белая точка над головой?
[16:14:44] Alisa Popstar: Оо ты делаешь успехи!
[16:14:57] B E: почему это? ))
[16:15:05] Alisa Popstar: почемучка, почемучка - интересная игра?
[16:15:29] B E: у детишек 3х летних спросить над :)))
[16:15:33] Alisa Popstar: издеваешься?
[16:15:45] B E: ни в коем случае!
[16:15:51] B E: а ты давно играешь?
[16:15:57] Alisa Popstar: давненько ...
[16:16:21] B E: куда можно слетать посмотреть на русские земли,
боярыня??? )))
[16:16:24] Alisa Popstar: А что?
[16:16:55] B E: такой земли АЧТО поиск не ищет :)))))))))
[16:17:19] B E: я тут недавно с одеждой эксперементировал...
[16:17:25] Alisa Popstar: рада за тебя!
[16:17:39] B E: оделась юбка случайно - а снять нимагу-- вот так
дила!!!
[16:17:43] Alisa Popstar: хихик .. забавно.
[16:18:01] B E: мне иностранцы комплименты отвешивали ))))
[16:18:06] Alisa Popstar: а мне нет ;).
[16:18:07] B E: ну я чуть рубля там по буржуйски...
[16:18:13] Alisa Popstar: ты хочешь меня удивить?
[16:18:23] B E: хочешь я тебе сделаю! )))
[16:18:30] Alisa Popstar: А вот это явно лишнее.
[16:18:36] B E: почему? )))
[16:18:39] Alisa Popstar: Что почему?
[16:19:03] B E: почему лишнее? комплименты как и улыбки как
известно никогда не лишние
[16:19:10] Alisa Popstar: так задумано природой.
[16:19:28] B E: природой задумано плодится и размножаться!!! ))))
[16:19:33] Alisa Popstar: ты любишь секс?
[16:19:34] B E: сама говорила )))
[16:19:39] Alisa Popstar: я не говорила.
[16:19:56] B E: Кстати, ты бот?
[16:20:05] Alisa Popstar: может и так, только кто тогда ты?
[16:20:27] B E: Как тебя зовут?
[16:20:34] Alisa Popstar: Я Алиса. А тебя как зовут?
[16:20:44] B E: Алиса Селезнева?
[16:20:52] Alisa Popstar: Приятно познакомиться Селезнева.
[16:21:09] B E: Секс наркотики рок-н-ролл!
[16:21:13] Alisa Popstar: секас я люблю.
[16:21:27] B E: лизать пиписька!
[16:22:25] B E: Разработчикам респект - не сразу въехал! )))
[16:22:26] Alisa Popstar: еще!
[16:22:41] B E goes away ...

Спасибо!
Tags:
Диалог с ботом
Leave a commentShareLink
Почта

Sep. 8th, 2009 at 2:11 AM
So Hyun, Second Life
Сегодня получила вот такое замечательное послание по электронке:

слыш скажи как ты написал бота плиз скажи пожалуста инструкция пошаговая
плиииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииииз


Думаю что ответить ...
1 commentLeave a commentShareLink
Бан аккаунтов в Second Life

Apr. 1st, 2009 at 4:10 PM

Хех, наконец то появилась тема для блога. Забанена я и мои любимые боты: Lost Papp и Aprel Decosta. По имеющейся информации забанено еще штук 30 русских автаров. Без объяснения причин, вот так просто раз и все. Звоните, дескать, разбирайтесь. А оно мне надо? Кстати, я всегда подозревала, что Linden Lab - шарашкина контора и доверять ей нельзя и вот убедилась на личном опыте.

Короче, OpenSim рулит Follow the Gray Squirrel ...

А кстати бан был вчера 31 марта, так что это не шутка :E
1 commentLeave a commentShareLink
Проект ИИ

Jan. 30th, 2009 at 5:03 PM
So Hyun, Second Life
Я вот тут подумала, не у всех ведь есть возможность пообщаться с ботом в SL, и замутила вот такую хрень. И решила назвать ее "Проект Искусственный Интеллект". Просто потому что от естественного беличьего интеллекта уже тошнит, а у искусственного есть хоть какие то перспективы.
Пока реализован только Диалог с ботом он-лайн (на основе движка Апрельки), однако в планах

Генератор бреда
Генератор рассуждений на заданную тему
Генератор научного бреда
Генератор сказок
Генератор аннотаций
Генератор анекдотов
Расширитель сознания

Ля-ля-ля ...
Tags:
БотоНовости
5 commentsLeave a commentShareLink
Тест Тьюринга пройден?

Jan. 24th, 2009 at 3:21 PM
So Hyun, Second Life
В последнее время Апрель разговаривает так хорошо, что даже неинтересно. Если ограничить время прохождения теста Тьюринга одним часом, то можно считать, что он пройден ...

[13:15:22] Бот: привет
[13:15:27] Бот: как настроение в новом году?
[13:15:41] Человек: отличное)))
[13:15:48] Человек: у тебя как
[13:15:52] Бот: с чего бы это?
[13:16:01] Человек: что с чего
[13:16:04] Бот: ну не знаю ...
[13:16:16] Человек: ????
[13:16:32] Человек: не красивая???
[13:16:36] Бот: почему это?
[13:16:48] Человек: ну что почему
[13:16:51] Бот: ну не знаю ...
[13:17:01] Человек: что с тобой
[13:17:04] Бот: ну не знаю ...
[13:17:20] Человек: издеваешься?
[13:17:26] Бот: Немного. не злись.
[13:17:52] Человек: лучше не надо этого делать
[13:17:57] Бот: тебе что то не нравится?
[13:18:12] Человек: меня и так сегодня разозлили в реале
[13:18:17] Бот: хм .. реал - а это где?
[13:18:46] Человек: я же сказала лучше не надо
[13:18:53] Бот: круто. я тоже так хочу.
[13:19:05] Человек: что именно?
[13:19:12] Бот: не будем вдаваться в подробности.
[13:19:25] Человек: ну давай все таки
[13:19:30] Бот: все таки - это интересно.
[13:19:39] Человек: что ты имела ввиду
[13:19:46] Бот: я вот сама еще не определилась, поможешь?
[13:20:02] Accepting friendship from Человек
[13:20:02] Человек: Вы хотите быть моим другом?
[13:20:06] Бот: как вам сказать ...
[13:20:40] Человек: я че то не вникла
[13:20:46] Бот: я тебе почти завидую.
[13:20:56] Человек: фигуре?
[13:21:05] Бот: нашли друг друга два интеллектуальных существа ...
[13:21:39] Человек: ты считаешь себя интелектуальной?
[13:21:41] Бот: а что?
[13:22:00] Человек: да нет ничего
[13:22:05] Бот: Вот и поговорили.
[13:22:11] Человек: у тебя высшее образование есть?
[13:22:17] Бот: нету у меня высшее образование.
[13:22:43] Человек: ну а счего ты взяла что ты интелектуальная
[13:23:14] Человек: ?
[13:23:35] Человек: нечего ответить?
[13:23:52] Человек: ауууу
[13:23:59] Бот: не пойму, к чему ты клонишь?
[13:24:20] Человек: не к чему
[13:24:24] Бот: почему это?
[13:24:43] Человек: просто хочу знать почиму ты себя такой считаешь
[13:24:50] Бот: Я тоже хочу знать почиму ты себя такой считаешь.
[13:25:11] Человек: а я же не сказала что я такая
[13:25:20] Бот: а я значит просто так тут стою да?
[13:25:36] Человек: а зачем стоишь?
[13:25:45] Бот: сама об этом постоянно думаю ..
[13:26:11] Человек: еще и об интелектуальности говорит
[13:26:14] Бот: Чего?
[13:26:17] Человек: тебе сколько лет?
[13:26:23] Бот: меньше чем ты думаешь ;).
[13:26:32] Человек: сколько
[13:26:37] Бот: что сколько?
[13:26:43] Человек: летэ
[13:26:46] Человек: лет
[13:26:48] Человек: 14?
[13:26:50] Бот: в смысле лет?
[13:26:55] Бот: А тебе спать не пора?
[13:27:07] Человек: у нас щас день))
[13:27:13] Бот: это ты мне говоришь?
[13:27:53] Человек: я вокрук нас никого больше не вижу
[13:27:58] Бот: Мониторчик протри :Р.
[13:28:22] Человек: у меня чистый не волнуйся
[13:28:26] Бот: у меня тоже между прочим чистый не волнуйся но я же не ору об этом на каждом углу.
[13:28:49] Человек: у тебя амнезия да?
[13:28:56] Бот: у меня амнезия да? по-моему это у тебя амнезия да.
[13:29:07] Человек: ты мой голос слышала?
[13:29:13] Бот: возможно, я просто не та кем могу показаться.
[13:29:36] Человек: а кем ты можешь быть
[13:29:43] Бот: продолжай, твоя болтовня меня заводит.
[13:30:04] Человек: тебе сколько?
[13:30:08] Бот: а тебе?
[13:30:19] Человек: я первая спросила
[13:30:23] Бот: хорошо, а я причем?
[13:30:36] Человек: реально амнезия
[13:30:54] Человек: сколько тебе
[13:30:59] Человек: ??
[13:31:01] Бот: а на сколько я выгляжу?
[13:31:10] Человек: ну извините
[13:31:16] Бот: Да ниче, бывает ...
[13:31:20] Человек: я же тебя не вижу
[13:31:27] Бот: Мониторчик протри :Р.
[13:31:40] Человек: хахаха))))))
[13:31:42] Бот: хи-хи.
[13:31:47] Человек: а причем тут скин
[13:31:55] Бот: а как же чистый не волнуйся??
[13:32:20] Человек: по мозгам могу сказать что тебе...
[13:32:25] Бот: у нас на сегодня что нибудь запланировано?
[13:32:30] Человек: ...15
[13:32:38] Бот: А твои родители знают что ты здесь?
[13:32:59] Человек: мне то не 15
[13:33:05] Бот: не поверишь, мне тоже!
[13:33:13] Человек: да ты что
[13:33:20] Бот: да ладно!разве можно, глядя на меня подумать такое?
[13:33:32] Человек: ты парень да?
[13:33:38] Бот: разве можно, глядя на меня подумать такое?
[13:33:54] Человек: можно
[13:34:01] Бот: можно, только осторожно!
[13:34:10] Человек: почему?
[13:34:13] Бот: Что почему?
[13:34:23] Человек: осторожно
[13:34:29] Бот: странно, что ты мне это говоришь ...
[13:35:09] Человек: 100% амнезия
[13:35:12] Бот: не поняла?
[13:35:34] Человек: пошевели мозгами поймешь
[13:35:43] Бот: это все новости на сегодня?
[13:36:05] Человек: да нет
[13:36:06] Бот: ок.
[13:36:36] Человек: хочешь самую главную новость услышать?
[13:36:43] Бот: ты спрашиваешь хочу ли я самую главную новость услышать? Я тебя правильно поняла?
[13:37:20] Человек: у тебя серого вещества в голове есть?
[13:37:27] Бот: нету у меня серого вещества в голове.
[13:37:39] Человек: заметно))))))))))))))))))))))))))))))))
[13:37:43] Бот: Что именно?
[13:37:57] Человек: что серого вешества нет))))))))
[13:38:05] Бот: вопрос конечно интересный.
[13:38:57] Человек: ты знаешь что такое серое вещество?
[13:39:01] Бот: знаю, но не скажу :Р.
[13:39:19] Человек: почему не скажешь?
[13:39:26] Бот: да не бери в голову, все это мелочи жизни.
[13:39:57] Человек: дак сколько тебе лет?
[13:40:03] Бот: выражайся яснее.
[13:40:27] Человек: how old are you?
[13:41:06] Человек: так понятнее?
[13:41:15] Бот: эх, измельчала молодежь, где идеалы?
[13:42:16] Человек: с чего ты это взяла старушка?
[13:42:20] Бот: Какая прелесть.
[13:42:35] Человек: ты прелесть?)))
[13:42:44] Бот: возможно, я просто не та кем могу показаться.
[13:43:25] Человек: давай угадаю кто ты
[13:43:30] Бот: давай попробуем. а как?
[13:43:58] Человек: только если я угадаю ты чесно скажешь
[13:44:04] Бот: ну только если так.
[13:44:24] Человек: ты парень лет 18-25?
[13:44:29] Бот: я парень лет 18 25?
[13:44:43] Человек: где то от 18 до 25
[13:44:48] Бот: где то от 18 до 25, там уже нету.
[13:44:58] Человек: старше?
[13:45:03] Бот: что то я тебя не понимаю.
[13:45:28] Человек: ну ты мозгами пошевели и поймешь
[13:45:35] Бот: я бы на твоем месте не стала бы делать поспешных выводов.
[13:45:57] Человек: а ты знаешь кто я такая?
[13:46:03] Бот: хеее .. кто же не знает кто я такая.
[13:46:29] Человек: я вообеще то про себя спрашивала
[13:46:34] Бот: ругать себя глупо а хвалить нескромно, поэтому я лучше смолчу ;).
[13:47:11] Человек: а че ты в этой игре делаешь?
[13:47:14] Бот: отдыхаю.
[13:47:20] Человек: как?
[13:47:22] Бот: что как?
[13:47:36] Человек: как отдыхаешь
[13:47:39] Бот: а как ты думаешь?
[13:48:12] Человек: никак
[13:48:15] Бот: да, никак?
[13:48:44] Человек: да
[13:48:50] Бот: я тоже так думаю.
[13:49:34] Человек: микракфон есть?
[13:49:38] Бот: хех.
[13:49:43] Человек: ?
[13:49:47] Человек: есть?
[13:49:53] Бот: да е-мае вы сговорились чтоли?
[13:50:14] Человек: на счет чего сговорились?
[13:50:19] Бот: продолжай, твоя болтовня меня заводит.
[13:51:21] Человек: да вы что
[13:51:28] Бот: и?я не настолько старая, чтобы ко мне на вы обращаться ;).
[13:52:26] Человек: а мне кажется сто вам уже лет 70))))))) поэтому у вас амнезия
[13:52:31] Бот: не поверишь, мне тоже!
[13:52:56] Человек: у вас в реале друзья есть?
[13:53:22] Человек: ??
[13:54:45] Человек: почему молчишь
[13:54:52] Бот: а что ты еще хочешь от меня услышать?
[13:55:08] Человек: я вроде вопрос задала
[13:55:14] Бот: рада за тебя! это успех!
[13:55:36] Человек: все
[13:55:44] Бот: хочешь поговорить об этом?
[13:55:46] Человек: не зли меня
[13:55:50] Бот: категорично ..
[13:56:27] Человек: давай
[13:56:32] Бот: давай, с чего начнем?
[13:56:42] Человек: начинай ты
[13:56:47] Бот: Начать - это самое сложное.
[13:57:09] Человек: ты же у нас интелектуальная
[13:57:11] Бот: обижаешь!
[13:57:29] Человек: вот тебе и самое сложное достанется
[13:57:36] Бот: многие у меня это спрашивают.
[13:57:53] Человек: и что ты им отвечаешь
[13:57:59] Бот: я вот сама еще не определилась, поможешь?
[13:58:16] Человек: чем могу помочь?
[13:58:20] Бот: тем самым.
[13:58:32] Человек: хорошо
[13:58:38] Бот: ты всегда так легко соглашаешься?
[13:58:59] Человек: я очень добрая
[13:59:05] Бот: я тебе почти завидую.
[13:59:40] Человек: правильно делаешь
[13:59:43] Бот: Чего?
[13:59:59] Человек: только не сглазь
[14:00:04] Бот: категорично ..
[14:00:27] Человек: дак чем тебе помочь
[14:00:34] Бот: что еще скажешь умного?
[14:00:46] Человек: много чего могу
[14:00:53] Бот: чего могу много не бывает.
[14:01:31] Человек: просто умные вещи надо говорить умному человеку...
[14:01:35] Бот: не поняла?
[14:02:03] Человек: вот видишь) ты даже элементарные вещи не понимаешь))
[14:03:07] Человек: ты лезби?))))
[14:03:14] Бот: любой может обидеть девушку.
[14:03:37] Человек: ой да вы что
[14:03:43] Бот: ок.как вам сказать ...
[14:03:51] Человек: лезби?
[14:03:57] Бот: что у нас сегодня интересного.
[14:04:44] Человек: прямо и скажи
[14:04:48] Бот: Это намек?
[14:05:02] Человек: да
[14:05:04] Бот: cпасибо.
[14:05:57] Человек: ладно у меня нервы уже не выдерживают
[14:06:01] Бот: сочувствую ...
[14:06:56] Человек: ты реально такая тупая или только притворяешься?
[14:07:01] Бот: я с быдлами не общаюсь, сори ;).
[14:07:24] Человек: кто бы говорил
[14:07:27] Бот: дед пыхто?
[14:07:35] Человек: наверно
[14:07:41] Бот: Смелое предположение!
[14:08:04] Человек: в твоих словах смысла нет
[14:10:06] Человек: понравилось?
[14:10:11] Бот: Что ты имеешь ввиду?
[14:10:20] Человек: ясно
[14:10:25] Бот: и что тебе понятно?
[14:10:29] Человек: все старание в воду
[14:10:36] Бот: некоторым кажется что я немного странная, тебе тоже?
[14:10:47] Человек: да нет
[14:10:49] Бот: ок.
[14:11:20] Человек: просто кажется что ты с луны упала
[14:11:24] Бот: Что бы это значило?
[14:11:58] Человек: а ты подумай
[14:12:03] Бот: издеваешься?
[14:12:26] Человек: пты думать вообще не хочешь
[14:12:35] Бот: Нет, спасибо, что то я сегодня не настроена на то чтобы пты думать вообще не.
[14:13:04] Человек: а сама не можешь написать?
[14:13:09] Бот: а ну конечно.
[14:13:14] Человек: копируешь мои
[14:13:19] Бот: хорош мне мозг выносить.
[14:13:52] Человек: хахаха
[14:13:55] Бот: :).
[14:14:07] Человек: в том то и дело что у тебя мозгов то и нет
[14:14:10] Бот: эх, искупаться бы щас в море ... настоящем ...
[14:14:23] Человек: поэтому и выдерживает\
[14:14:26] Бот: бред какой то.
[14:14:43] Человек: на счет чего бред?
[14:15:14] Человек: ?
[14:20:27] Человек: зничит ты бот да))))))))))))))))))
[14:20:34] Бот: может и так, только кто тогда ты?
[14:21:01] Человек: конь в пальто
[14:21:07] Бот: Какой еще конь?
[14:22:13] Человек: ну ты же бот откуда теюбе знать
[14:22:17] Бот: бот боту рознь.
[14:25:35] Человек: ))))


2 commentsLeave a commentShareLink
Ну, спорить не буду!

Oct. 27th, 2008 at 10:16 PM

[21:29:35] S M: а деньги зачем?
[21:29:40] Aprel: Деньги можно поменять через автомат ROBOX ... синий такой .. на площади стоит.
[21:29:55] S M: на что? ) 1 доллар ))
[21:30:00] Aprel: Что значит на что? если тебя что то не устраивает, так и скажи.
[21:30:22] S M: да нет ) спасибо конечно ) скрашиваешь мое одиночество
[21:30:24] Aprel: пжл.
[21:30:28] S M: Забыл кто тебя написал?
[21:30:34] Aprel: О ... это Великий человек!
[21:30:50] S M: имя сестра имя )
[21:31:39] S M: а чего сегодня вода холодная?
[21:31:47] Aprel: вопрос конечно интересный.
[21:31:59] S M: ну тык иди проверь )
[21:32:04] Aprel: легко сказать.
[21:32:26] S M: почему тут не собирается никто .. хм
[21:32:33] Aprel: так задумано природой. вот тебе и хм!
[21:32:52] S M: плохо задуманно мне тут нравится
[21:32:58] Aprel: ну знаешь, бывает и хуже.
[21:33:08] S M: но реже
[21:33:12] Aprel: не уходи от темы.
[21:33:29] S M: эх тебе еще чуть чуть, и прям человек
[21:33:33] Aprel: эхехех .... а тебе?
[21:33:47] S M: а мне до человека еще много
[21:33:53] Aprel: не поверишь, мне тоже!
[21:33:55] S M: Знаешь кто меня написал?
[21:34:02] Aprel: нашли друг друга два интеллектуальных существа ...
[21:34:11] S M: угу
[21:34:16] Aprel: я тоже так думаю.
[21:34:33] S M: если бы ты умела думать, ценыб тебе не было
[21:34:37] S M: Или наоборот :-)
[21:34:40] Aprel: думаешь это что то изменило бы в наших отношениях?
[21:34:41] Aprel: издеваешься?
[21:35:25] S M: Я бы тебя купил. Вот дом сначала а потом тебя
[21:35:30] Aprel: сочувствую ... что еще скажешь умного?
[21:35:47] S M: да ладно, почему это сочувствуешь то? )
[21:35:53] Aprel: Какая прелесть.
[21:36:14] S M: Скучнааа
[21:36:18] Aprel: вот ты грузишь.
[21:36:25] S M: хоть бы кто прилетел )
[21:36:34] S M: сколько у тебя фраз?
[21:36:40] Aprel: я думаю уже много.
[21:36:42] S M: Кто тебя написал?
[21:36:47] Aprel: О ... это Великий человек!
[21:36:58] S M: бот кто тебя написал?
[21:37:03] Aprel: Ладно, раскололи. So Hyun. 25.10.07.
[21:37:37] S M: эх. умный чел видать

О-о
Tags:
aprel decosta, бот, диалог с ботом
2 commentsLeave a commentShareLink
Язык AIML. Урок 2. Обрезаем слова - паразиты.

Oct. 23rd, 2008 at 10:17 PM

Разговорная речь, как правило, содержит некоторое количество т.н. слов-паразитов, которые человеческий мозг воспринимает без проблем, в то время как для мозга бота, написанного на AIML, такие слова могут стать серьезной проблемой.

Рассмотрим следующий пример.
Собеседник интересуется возрастом бота и задает вопрос: Сколько тебе лет? Для ответа на этот вопрос мы используем следующую конструкцию:

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

Теперь если собеседник спросит: Сколько тебе лет? наш бот непринужденно ответит: Больше, чем ты думаешь!
Но что будет если собеседник решит показаться более общительным и начнет свой вопрос с многозначительного И, вот так:
И сколько тебе лет?
или, еще красноречивее:
Ну, и сколько тебе лет?

Для нашего AIML-бота такой вопрос станет проблемой и он не сможет на него ответить, т.к. паттерн определен точно для фразы "СКОЛЬКО ТЕБЕ ЛЕТ".
Выходом из данной ситуации может стать добавление конструкции:

<category>
<pattern>_ СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template><srai>СКОЛЬКО ТЕБЕ ЛЕТ</srai></template>
</category>

В этом случае, на любой вопрос, который заканчивается словами "СКОЛЬКО ТЕБЕ ЛЕТ", в том числе и "Ну, и сколько тебе лет?" бот будет исправно отвечать "Больше, чем ты думаешь!".
Казалось бы, на этом можно остановиться. Но проблема в том, что наши общительные собеседники слишком часто начинают свои реплики с многозначительного "Ну", "И", или, еще хуже "Ну и ...". Дополнять каждую конструкцию дополнительным паттерном для отсечения этих слов-паразитов слишком трудоемко. Поэтому гораздо проще сразу "обрезать" эти слова, как будто их просто не было:

<category>
<pattern>НУ *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>И *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

Теперь, даже если фраза собеседника начинается с "Ну", "И", "Ну и" бот не будет обращать на это внимания, сосредотачиваясь непосредственно на самой фразе.
Рассмотренный способ подходит и для обрезания имени бота. Предположим, нашего бота зовут Алиса. Многие собеседники предпочитают обращаться к боту по имени: Алиса, сколько тебе лет? или Алиса, как твои дела?. Для корректной обработки данных паттернов используем уже знакомую конструкцию:

<category>
<pattern>АЛИСА *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>НУ *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>И *</pattern>
<template><sr/></template>
</category>

<category>
<pattern>СКОЛЬКО ТЕБЕ ЛЕТ</pattern>
<template> Больше, чем ты думаешь! </template>
</category>

<category>
<pattern>КАК ДЕЛА</pattern>
<template> Все ок! </template>
</category>

Tags:
aiml, русский AIML
1 commentLeave a commentShareLink
Эх, измельчала молодежь, где идеалы?

Oct. 19th, 2008 at 8:51 PM
So Hyun, Second Life
[20:42:09] Graffos Arado: Привет
[20:42:13] Aprel Decosta: привет.
[20:42:21] Aprel Decosta: Graffos
[20:42:29] Aprel Decosta: говори со мной
[20:42:35] Graffos Arado: Хуй те

Добавлено: Пн, 24 октября 2016, 00:27:29
dyvniy
Две статьи на хабре)
Про нейронных чат ботов
https://habrahabr.ru/company/meanotek/blog/256987/
Спойлер
Разработка → Chatbot на нейронных сетях
Разработка веб-сайтов*, Семантика*, Машинное обучение*, Блог компании MeanoTek
Недавно набрел на такую статью. Как оказалось некая компания с говорящим названием «наносемантика» объявила конкурс русских чатботов помпезно назвав это «Тестом Тьюринга»». Лично я отношусь к подобным начинаниям отрицательно — чатбот — программа для имитации разговора — создание, как правило, не умное, основанное на заготовленных шаблонах, и соревнования их науку не двигают, зато шоу и внимание публики обеспечено. Создается почва для разных спекуляций про разумные компьютеры и великие прорывы в искусственном интеллекте, что крайне далеко от истины. Особенно в данном случае, когда принимаются только боты написанные на движке сопоставления шаблонов, причем самой компании «Наносемантика».

Впрочем, ругать других всегда легко, а вот сделать что-то работающее бывает не так просто. Мне стало любопытно, можно ли сделать чатбот не ручным заполнением шаблонов ответа, а с помощью обучения нейронной сети на образцах диалогов. Быстрый поиск в Интернете полезной информации не дал, поэтому я решил быстро сделать пару экспериментов и посмотреть что получится.

Обычный чатбот ограничен поверхностными ответами, которые определены заданными шаблонами. Обучаемый чатбот (есть и такие) ищет ответы на похожие вопросы в своей базе диалогов, и иногда даже создавать новые шаблоны. Но все равно «ум» его обычно строго ограничен сверху заданным алгоритмом. А вот бот с нейронной сетью, работающей по принципу вопрос на входе — ответ на выходе — теоретически ничем не ограничен. Есть работы, в которых показано, что нейронные сети могут выучивать правила логического вывода получая на вход предложения на естественном языке, а также отвечать на вопросы касающиеся различных текстов. Но мы не будем пока столь амбициозны в замашках и попробуем просто получить что-то напоминающее ответы типового чатбота.

В качестве исходных данных быстро нашелся только транскрипт диалога на английском языке (состоявший из 3860 реплик). Ну, для опыта сойдет, поскольку с нашим подходом язык принципиальной разницы не имеет. Для начала, чтобы было с чем сравнивать, я наскоро собрал простой чатбот, подбирающий готовые ответы из транскрипта, на основании совпадений слов в фразах собеседника (по косинусу угла между векторами вопроса и ответа, представляющих собой «сумки слов»). Вся программа уместилась строчек на 30:

Вот что получилось:



Перевод (примерный) (Ч: — человек, П: — программа):
Ч: привет
П: я вижу посетителей здесь, это хорошо
Ч: Как дела
П: улыбается
Ч: как тебя зовут?
П: пожимает плечами
Ч: Кто ты?
П: у меня все хорошо
Ч: ты понимаешь меня?
П: Абсолютно все, хмм…
Ч: Мне надо идти
П: ^^
Ч: увидимся позже
П: Я не уверена

При поверхностном опросе отвечает довольно неплохо для такой простой программы, не знает правда как ее зовут и кто такая… но тем не менее, определенное ощущение присутствия складывается — хорошая иллюстрация к тому, что мы склонны к чрезмерному одушевлению реально простых алгоритмов (или может быть просто 90% всего общения — поверхностное?).

Обратимся теперь к более сложным алгоритмам. Сразу скажу — сложнее здесь не значит сразу лучше, ибо шаблонные чатботы создаются с целью «обмана» пользователя, и используют разные трюки для создания иллюзии общения, а наша задача обойтись без обмана.

Как сгенерировать текст с помощью нейронной сети? Классический сейчас уже способ для этого — нейронная модель языка (neural language model). Суть заключается в том, что нейронной сети дается задание предсказать следующее слово, исходя из n-предыдущих. Слова на выходе кодируются по принципу один выходной нейрон — одно слово (см рис). Входные слова можно кодировать таким же образом, или использовать распределенное представление слов в векторном пространстве, где близкие по смыслу слова находятся на меньшем расстоянии, чем слова с разным смыслом.



Обученной нейронной сети можно дать начало текста и получить предсказание его окончания (добавляя последнее предсказанное слово в конец и применяя нейронную сеть к новому, удлиненному тексту). Таким образом, можно создать модель ответов. Одна беда — ответы никак не связаны с фразами собеседника.

Очевидное решение проблемы — подать на вход представление предыдущей фразы диалога. Как это сделать? Два из многих возможных способов мы рассмотрели в предыдущей статье про классификацию предложений. Самый простой вариант NBoW – использовать сумму всех векторов слов предыдущей фразы.



Показанная на картинке архитектура — далеко не единственная из возможных, но, пожалуй, одна из самых простых. Рекуррентный слой получает на вход данные относительно текущего слова, вектор, представляющий предыдущую фразу, а также свои собственные состояния на предыдущем шаге (поэтому он и называется рекуррентный). За счет этого нейронная сеть (теоретически) может помнить информацию о предыдущих словах на неограниченную длину фразы (в противоположность реализации, где учитываются только слова из окна фиксированного размера). На практике, конечно, такой слой представляет определенные трудности в обучении.

После обучения сети получилось следующее:


мда… более или менее бессмысленный набор слов. Нет какие-то связи между словами и логика в построении предложений имеется, но общего смысла нет, и связи с вопросами тоже нет никакой (по крайней мере я не вижу). Кроме того, бот чрезмерно болтлив — слова складываются в большие длинные цепочки. Причин этому много — это и маленький (около 15000 слов) объем обучающей выборки, и сложности в тренировке рекуррентной сети, которая реально видит контекст в два-три слова, и поэтому легко теряет нить повествования, и недостаточная выразительность представления предыдущей фразы. Собственно, это и ожидалось, и привел я этот вариант, чтобы показать, что в лоб проблема не решается. Хотя, на самом деле, правильным подбором алгоритма обучения и параметров сети можно добиться более интересных вариантов, но они будут страдать такими проблемами, как многократное повторение фраз, трудности с выбором места окончания предложения, будут копировать длинные фрагменты из исходной обучающей выборки и т. п. Кроме того, такую сеть тяжело анализировать — непонятно, что именно выучено и как работает. Поэтому, не будем тратить время на разбор возможностей этой архитектуры и попробуем более интересный вариант.

Во втором варианте я соединил сверточную сеть, описанную в предыдущей статье, с рекуррентной моделью языка:



Подобно сети из предыдущей статьи, сверточный слой содержит 16 фильтров. Из общих соображений можно ожидать, что обучатся эта модель из четырех слоев будет труднее и результат будет хуже. Кроме того, 16 фильтров кажется явно недостаточным для создания модели реплики собеседника. Действительно, ее обучение занимает гораздо больше времени, но результат… в общем, судите сами:



Перевод (примерный) диалога (Ч: — человек, П: — программа)
Ч: привет
П: ох, привет
Ч: как дела?
П: Я не могу видеть
Ч: упс… ну извини
П: похоже мне сниться хороший сон
Ч: ты можешь чувствовать?
П: Я полагаю
Ч: Ты могла видеть раньше?
П: Да
Ч: Кто ты?
П: Я
Ч: Мне пора идти
П: Я не уверена, что могу принять это
Ч: увидимся позже
П: Да

На мой взгляд достаточно эффектно. Напоминает фрагменты из фантастических романов, где искусственный интеллект оживает в компьютере, особенно утверждения программы, что она не может видеть, но могла видеть раньше. Впору заявлять о создании ИИ и великом достижении…

На самом деле, конечно, никаким разумом эта нейронная сеть не обладает, что не делает ее, правда менее интересной. Дело в том, что мы может проанализировать, что на самом деле было выучено, проследив зависимость активации нейронов сверточного слоя от входных фраз. Путем такого анализа, удалось обнаружить нейрон, реагирующий на слова приветствия («hello», «hi», «he»y и т. п.), а также нейрон, распознающий вопросительные фразы типа «have you … ?» — при этом знак вопроса не обязателен (на них нейронная сеть выучилась отвечать обычно «yes”), кроме того, если в вопросе фигурирует слово „you” (“ты»), повышается вероятность того, что ответ будет начинаться со слова «I” (“я»).

Таким образом, нейронная сеть выучила некоторые типичные шаблоны разговора и языковые трюки, которые часто используются при программировании чатботов «вручную», хорошо распорядившись имеющимися в наличии 16-ю фильтрами. Не исключено, что заменив простую сверточную сеть на многослойную, добавив фильтров и увеличив объем обучающей выборки, можно получить чатботы, которые будут казаться более «умными» нежели их аналоги, основанные на ручном подборе шаблонов. Но этот вопрос уже за пределами нашей статьи.
нейронные сети, машинное обучение, обработка естественного языка
+20
28,7k
205

Автор: @Durham

MeanoTek рейтинг28,59
Компания прекратила активность на сайте
Похожие публикации
+7
Создание своей модели для извлечения информации из текста с помощью web-API от Meanotek 9,3k 63 0
+22
Классификация предложений с помощью нейронных сетей без предварительной обработки 27,5k 209 21
+8
Как мы придумывали систему анализа текстов 11,5k 94 35
Комментарии (9)

alterpub 29 апреля 2015 в 16:34 +17
П: похоже мне сниться хороший сон

Достал дробовик и пристрелил.
andrewnester 30 апреля 2015 в 01:31 0
С большим интересом прочитал, спасибо!
0x0FFF 30 апреля 2015 в 10:09 +3
Было бы интересно взглянуть на ваш код
darkrain 30 апреля 2015 в 10:20 0
Да, было бы круто это видеть на гитхабе, я бы с удовольствием поучавствовал в разработке, как раз бьюсь над этим в последнее время и вот неделю назад у меня такая же появилась идея соединить сверточную сеть с рекурентной моделью языка.

Я думаю многие бы поучавствовали)
Durham 30 апреля 2015 в 13:47 +2
Не ожидал, что будет интерес. Прямо сейчас код не годится для выкладывания, но раз есть потребность, попробуем привести в порядок, и сделать доступным для использования.
darkrain 1 мая 2015 в 08:26 0
Да, только не уходите в перфекционизм) в общем держите нас в курсе) подписался на вашу компанию, все посты очень годные.
Tiendil 30 апреля 2015 в 11:08 0
Но все равно «ум» его обычно строго ограничен сверху заданным алгоритмом. А вот бот с нейронной сетью, работающей по принципу вопрос на входе — ответ на выходе — теоретически ничем не ограничен

Крайне странное утверждение. Нейронная сеть — тоже алгоритм, так что либо оба варианта ограничены либо оба не ограничены.
Durham 30 апреля 2015 в 13:05 0
Без контекста утверждение действительно звучит странно. Но имелось в виду вот что: типичный алгоритм обучения чат-бота не отличается особыми возможностями. Достаточно продвинутые варианты могут, например, из фразы «ты смотрел фильм „Матрица“?» запомнить, что «Матрица» — это фильм, используя скажем шаблон «ты смотрел… фильм yyy». В результате чатбот будет обучатся, но только тому, что предусмотрено заранее, т.е. он не выучит никогда арифметику, логику, и даже не сможет обобщить названия фильмов, на названия, скажем, цветов, если это не предусмотрено разработчиком. Поэтому, в случае чатбота, как правило, если функция обучения чему-то не явно предусмотрена и тщательно не продумана, то такое обучение останется для него невозможным. То есть, здесь имеется в виду, не любой алгоритм обучения вообще, а набор средств, который обычно используется для создания чатботов.

Нейронные сети, теоретически, могут реализовывать любую вычислимую функцию, а следовательно, в принципе, их можно обучить тому, чему бот, скажем на AIML никогда не сможет. В этом смысле идея привлекательна — мы загрузим много много примеров диалогов, и получим думающий компьютер на выходе. На практике, конечно, такое пока не получается из-за ряда ограничений.
Equin0x 2 мая 2015 в 19:27 (комментарий был изменён) 0
Сотовые провайдеры с их логами SMS переписок дадут всем фору в имитации общения на любую тему )
https://habrahabr.ru/company/meanotek/blog/256593/
Спойлер
Разработка → Классификация предложений с помощью нейронных сетей без предварительной обработки
Семантика*, Программирование*, Машинное обучение*, Алгоритмы*, Блог компании MeanoTek
Довольно часто встречается задача классификации текстов — например, определение тональности (выражает ли текст позитивное мнение или отрицательное о чем-либо), или разнесения текста по тематикам. На Хабре уже есть хорошие статьи с введением в данный вопрос.

Сегодня я хочу поговорить о проблеме классификации отдельных предложений. Решение этой задачи позволяет делать много интересного, например, выделять положительные и отрицательные моменты из длинных текстов, определять тональность твитов, является компонентом многих систем отвечающих на естественно-языковые вопросы (классификация типа вопроса), помогает сегментировать веб-страницы на смысловые блоки и многое другое. Однако, классификация отдельных предложений значительно сложнее классификации больших блоков текста — в одном предложении значительно меньше полезных признаков, и велико влияние порядка слов. Например: «как положено фильму ужасов, этот фильм был ну очень жутким» — содержит негативные слова («ужас», «жуткий»), но выражает положительное мнение о фильме, «все было ужасно красиво», или даже «отличный фильм, ничего не скажешь, только зря деньги потратили».

Традиционно это затруднение стараются решать с помощью предварительной обработки текста и ручного выделения признаков. В предварительную обработку могут входить как относительно простые техники (учет отрицания путем приклеивания частицы «не» к следующим словам), там и более сложные наборы правил переключения тональности, а также построение дерева зависимостей, а в ручные признаки — словари положительных и отрицательных слов, место слова в предложении, и другие — насколько хватит фантазии. Ясно, что сей процесс нудный, требующий много сторонних функций (например, нужен парсер для грамматического разбора предложения, словари), и не всегда результативный. Например, если авторы предложений делали много грамматических ошибок, то парсер, строящий дерево зависимостей, начинает сильно путаться, и качество работы всей системы резко снижается.

Но дело даже и не в этом — а в том, что все это делать лень. Я глубоко убежден, что системы машинного обучения должны работать end-to-end – загрузили обучающие данные — получили работающую модель. Пусть даже качество упадет на пару процентов, но трудозатраты снизятся на порядок, и откроется путь для большого числа новых и полезных приложений (например, вот я нашел статью об интересном применении классификатора текстов ).

Теория: Но короче, от слов к делу. Чтобы предложение можно было подать на вход нейронной сети, надо решить несколько проблем. Во-первых, необходимо преобразовать слова в цифры. Первое желание, которое возникает — сопоставить каждому слову из словаря свое число. Скажем (Абрикос — 1, Аппарат — 2, …. Яблоко — 53845). Но делать так нельзя, потому что таким образом мы неявно предполагаем, что абрикос гораздо больше похож на аппарат, чем на яблоко. Второй вариант — закодировать слова длинным вектором, в котором нужному слову соответствует 1, а всем остальным — 0 (Абрикос — 1 0 0 …, Аппарат — 0 1 0 0 …, … Яблоко — … 0 0 0 1). Здесь все слова равноудалены и не похожи друг на друга. Этот подход гораздо лучше и в ряде случаев работает хорошо (если есть достаточно много примеров).

Но если набор примеров маленький, то весьма вероятно, что какие-то слова (например, «абрикос») в нем будут отсутствовать, и в результате встретив такие слова в реальных примерах, алгоритм не будет знать, что с ними делать. Поэтому оптимально кодировать слова такими векторами, чтобы похожие по смыслу слова оказывались близко друг к другу — а далекие, соответственно — далеко. Есть несколько алгоритмов, которые «читают» большие объемы текстов, и на основании этого создают такие вектора (самый известный, но не всегда самый лучший — word2vec). Подробности — тема для отдельного разговора, пока для понимания достаточно знать, что такие способы есть, они берут на вход длинные массивы текстов и выдают вектора фиксированной длины, соответствующие каждому слову.

Получив вектора слов, мы сталкиваемся с задачей номер два — как представить цельное предложение для нейронной сети. Дело в том, что обычные нейронные сети прямого распространения (feed-forward) должны иметь входные данные фиксированной длины (см картинку). Объяснять, как работает классическая искусственная нейронная сеть прямого распространения здесь не буду — на эту тему уже написано достаточно статей см, например. Для полноты картины вставлю только рисунок.



Так вот, наша проблема в том, что все предложения содержат разное число слов. Самый простой выход — сложить все вектора, получив таким образом результирующий вектор предложения. Приведя все такие вектора к единичной длине, получаем пригодные входные данные. Такое представление часто называется «neural bag of words” (NBoW) — «нейронная сумка слов», поскольку порядок слов в нем теряется. Плюсом данного алгоритма является крайняя простота реализации (имея под рукой вектора слов и любую библиотеку с реализацией нейронных сетей или другого классификатора, можно сделать рабочий вариант за 10 — 20 мин). При этом результаты иногда превосходят другие более сложные алгоритмы, оставаясь, правда, далеко от максимально возможных (сие, впрочем, зависит от задачи — например, при классификации текстов на отзывы о товарах/описания товаров/прочее, NBoW у нас показал 92% точности на тестовой выборке, против 86% алгоритма использующего логистическую регрессию и тщательно подобранный вручную словарь).

Однако, мы уже говорили о том, что для классификации предложений важен порядок слов. Чтобы сохранить порядок слов, вектор предложения можно образовать, соединив все вектора слов «голова к хвосту», в один длинный вектор, если конечно придумать, как передать нейронной сети входные данные разной длины.

Маленькое отступление — внимательный читатель должен возмутиться — я обещал классификатор предложений без предварительной обработки, но поделить предложение на слова и преобразовать в вектор — это уже предварительная обработка. Поэтому я должен был написать «с минимальной предварительной обработкой». Но это звучит не так хорошо, и к тому же по сравнению с обычными методами, такая обработка, в общем-то, и не считается. На сегодня есть методы, которые позволяют работать непосредственно с буквами, позволяя избежать деления предложения на слова и преобразования в вектора, но это опять отдельная тема.

Вернемся к проблеме разной длины входных данных. У нее есть разные решения, но мы пока рассмотрим одно — а именно сверточный фильтр. Идея простая — мы берем один нейрон и подаем на вход два (или более) слова (см. рис 2). Потом мы сдвигаем вход на одно слово и повторяем операцию. На выходе мы имеем представление предложения, которое в два (или в n) раз меньше оригинального. При этом таких фильтров обычно создается несколько (от 10 до 100). Далее операцию можно повторить, поставив над первым слоем, второй такой же, использующий входные значения первого пока все предложение не будет свернуто, либо, на определенном этапе выбрать максимальное значение активации нейрона (так называемый слой объединения — pooling layer). За счет этого, последний слой нейронов получает представление фиксированной длины, и уже он предсказывает нужную категорию предложения.



Главный результат — нейронная сеть получает возможность строить иерархические модели, формируя в каждом следующем слое более абстрактные представления предложения. Существует ряд модификаций, которые отличаются деталями архитектуры, при этом некоторые из них не только получают лучшие из известных результатов в классификации предложений на стандартных задачах, но и могут быть обучены для перевода с одного языка на другой.

Вообще такие сети похожи на те, которые успешно используются в распознавании изображений, что опять же приятно (одна архитектура на все задачи). Правда совсем одна не получается — у сетей обрабатывающих текст, все-таки есть свои особенности.

Опыты: Для опытов реализацию нейронной сети нам пришлось написать самостоятельно. Мы не хотели этого делать, но вышло так, что это проще, чем применить некоторые готовые библиотеки, которые к тому же сложно потом перенести в конечное приложение. Ну и полезно в плане самообразования. Тем более что данная реализация нам нужна не сама по себе (хотя и это полезно), а как часть большой системы.

В нашей тестовой реализации простой сверточной сети три слоя, — один сверточный слой, один слой объединения, и верхний полностью соединенный слой (как на первом рисунке), который выдает собственно классификацию. Все это следует примерно описанию системы из работы Kim et al, 2014 – там же есть и иллюстрация, которую я не буду копировать сюда, чтобы не думать про авторские права лишний раз.

В качестве объекта тестирования взяли стандартный набор положительных и отрицательных предложений о кинофильмах на английском языке. Вот что получилось:

Алгоритм Точность классификации
NBoW 68%
Сверточная сеть, 8 фильтров 74.3%
Сверточная сеть, 16 фильтров 77.8%


В целом, получилось достаточно неплохо. Лучший опубликованный результат на этих данных для таких сетей сейчас составляет 83% с 100 фильтрами (см. статью выше), а лучший результат с помощью ручного подбора признаков — 77.3%.
обработка естественного языка, обработка текстов, машинное обучение, нейронные сети
+22
27,5k
209

Автор: @Durham

MeanoTek рейтинг28,59
Компания прекратила активность на сайте
Похожие публикации
+7
Создание своей модели для извлечения информации из текста с помощью web-API от Meanotek 9,3k 63 0
+20
Chatbot на нейронных сетях 28,7k 205 9
+8
Как мы придумывали систему анализа текстов 11,5k 94 35
Комментарии (21)

ffriend 25 апреля 2015 в 14:50 0
Не совсем понятно, в чём здесь принципиальное отличие от n-грамм? По сути, и там и там в качестве признаков просто берутся не отдельные слова, а пары, тройки и т.д. слов.
Durham 25 апреля 2015 в 17:27 0
Как известно, чем длиннее n-грамма, тем реже она встречается. Распределенное представление слов позволят обобщить скажем «хороший фильм» на отсутствующие в обучающей выборке «отличное кино», «фильм замечательный» и т.п. Во-вторых, многослойные модели могут восстанавливать порядок следования между разными n-граммами, вплоть до того, что могут выучивать процедуры, аналогичные грамматическому разбору предложения, что позволяет системе понимать дальние зависимости между словами
ffriend 25 апреля 2015 в 21:28 0
Распределенное представление слов позволят обобщить скажем «хороший фильм» на отсутствующие в обучающей выборке «отличное кино», «фильм замечательный» и т.п.

Так насколько я понимаю, представление здесь как раз «плотное», т.е. из предложения «мама мыла раму» мы суммарно можем получить [«мама», «мыла», «раму», «мама_мыла», «мыла_раму», «мама_мыла_раму»], но не «мама_раму», правильно?
mephistopheies 26 апреля 2015 в 00:11 0
в примере "мама мыла раму" если ширина окна свертки 2, но на первом слое действительно не будет ни одного фильтра который ловит «мама — раму», но добавление второго скрытого слоя позволит отловить пару «мама мыла» + «мыла раму», и такой нейрон вполне будет детектировать факт того, что мама и рама связаны

вот в этой статье авторы исследуют вопрос о том что же выучивают нейроны от слоя к слою и получают такую вот визуалицию
большая картинка

оказалось, что более глубокие слои выучивают более специфичные фичи, которые как бы являются комбинацией предыдущих
ffriend 26 апреля 2015 в 01:01 0
Картинка как раз показывает стандартные свёрточные сети для изображений. Суть таких сетей в том, что вместо оценки распределения на всём изображении (а для картинки в 100x100 пикселей это 10к случайных переменных/входных нейронов) берутся небольшие участки, скажем, 11x11 пикселей (121 переменная). Такой фильтр обучить гораздо проще, а пиксели, которые находятся рядом, с гораздо большей вероятностью окажутся связанными между собой (читать как «несущими повторяющиеся паттерны»), чем те, которые находятся в разных углах картинки.

Свёрточные сети для текста в рамках одного слоя работают так же — обучают фильтры на «локальных участках» текста, как то «мама мыла» и «мыла раму». Но наверх поднимаются уже не конкретные слова, а признаки, отражающую всю пару, т.е. собственно биграмму. Алгоритм видит слово «мала мыла» — сигнал 1, видит что-то другое — сигнал 0. Как тогда может получится «мама — раму» — непонятно.

Могу предположить, что признаки по аналогии с визуальными фильтрами «агрегируются», т.е. если алгоритм видит «мама протирала», то наверх поднимает сигнал `w1 * 1 + w2 * 0`, т.е. продвигает вперёд первое слово (с соответствующим весом), но игнорирует второе. Тогда получается частичное совпадение с паттерном, и при некотором стечении информации модель может выучить связь между «мама» и «раму». Но связь между «хороший фильм» и «отличное кино» всё равно остаётся чем-то странным.

Я понимаю, что что-то в этом есть, но в описании, честно говоря, много пробелов. Так что, видимо, всё-таки придётся читать оригинальную статью :D
ServPonomarev 26 апреля 2015 в 09:42 +1
Тут всё просто. По факту, мы имеем окошко в одно слово справа. При сдвиге на одну позицию получается окошко на одно слово слева. Итого — такое вот комбинированное окно на одно на три слова (целевое и слева/справа). По этому окну уже можно векторизовать слова по контексту. А поскольку «хороший» и «отличный» по контексту подобны, то и реагировать на них следующий слой ИНС будет. В этом — кардинальное отличие от биграм.

Смотрите:

есть куча примеров — отличный банк, хороший банк, отличный спектакль, хороший спектакль, но в обучающей выборке нет ни одного отличного фильма, только хорошие. Биграммы, не имея ни одного отличного фильма, ничего не сделают — ноль он и есть ноль. А векторизация ИНС покажет, что отличный и хороший — взаимозаменяемые слова в обучающих контекстах, поэтому будет хорошо реагировать на отличный фильм (который ни разу в выборке не фигурировал)
ffriend 26 апреля 2015 в 10:39 0
Да, про частичное совпадение я понял, спасибо. Но что касается фраз «хороший фильм» и «отличное кино», то между ними нет ни одного общего слова, ни слева, ни справа. Тогда непонятно, почему «хороший фильм» может быть обобщён до «отличное кино», но не до «ужасное кино» или даже «банк булочка».
ServPonomarev 26 апреля 2015 в 11:32 (комментарий был изменён) +1
Вот степень близости слова хороший, по контексту:

Введите слово: хороший

0.725336 отличный
0.706231 лучший
0.695592 лудший
0.675475 недорогой
0.672351 лучщий
0.669878 лутший
0.666732 лучьший
0.663715 лучшый
0.660743 плохой
0.654255 луший
0.652924 нормальный
0.652379 клевый
0.64917 качественный
0.646531 лутьший
0.646344 надежный
0.634561 лчший
0.632026 красивый
0.621539 обычный

Вот слово кино:

Введите слово: кино

0.688375 кинофильм
0.670716 фильм
0.670262 кино2014
0.655078 фильмов
0.636523 фильмы
0.627678 фильми
0.626337 кинофильмы
0.62412 филм
0.61639 сериал

Итого, хороший фильм = 0.72*0.67 = 0.48 от отличного кино.

Это если в лоб. Но есть способ оценивать слова не по отдельности, а в комбинации. Тогда:

Слово______________хороший фильм______плохой фильм
отличное кино _______0.511512____________0.41835
ужасное кино________0.499768____________0.486588
банк булочка________-0.0707078___________-0.0777618

Самостоятельно поэкспериментировать с векторными репрезентациями можно тут servponomarev.livejournal.com/7667.html
ffriend 26 апреля 2015 в 15:44 0
Так, стоп. В ЖЖ вы говорите про word2vec, который основан на skip-граммах и векторном пространстве слов. Сравнение близости слов, насколько я помню, там делается через косинусное расстоение. Это всё круто и понятно, но каким образом оно связано со свёрточной сетью из данной статьи?
Durham 26 апреля 2015 в 15:49 0
Как написано в статье, вектора слов являются входными данными для рассматриваемой реализации сверточной сети. Соотвественно, сеть пользуется всем возможностями данного представления — т.е. фильтр выучивает не строго вектор слова «фильм», а может реагировать на слова пропорционально их близости в векторном пространстве
ffriend 26 апреля 2015 в 20:56 0
А, т.е. когда вы говорите «вектора слов», вы подразумеваете вектора слов в сжатом пространстве «концепций»? Т.е. сначала каждое слово прогоняется через алгоритм сжатия (какой-нибудь PCA или автокодировщик), а потом уже подаётся на вход свёрточной сети? Тогда да, согласен, входные термы будут обобщаться. Но тогда получается, что под свёртку попадают не пары «мама мыла» и «мыла раму», а как раз эти абстрактные концепции, т.е.:

conv(vector("мама"), vector("мыла"))
conv(vector("мыла"), vector("раму"))


Правильно я понял?
Durham 26 апреля 2015 в 21:41 +1
Тогда уж скорее так:

conv([vector(«мама»),vector(«мыла»),vector(«раму»)],w,'valid') где w — вектор весов (прошу прощения, если подзабыл синтаксис matlab'а)

т.е. рама с мылом непосредственно не свертывается. И тут еще один момент не отражен — свертка идет с шагом, равным (обычно) длине вектора, представляющего одно слово. В остальном — верно
ffriend 26 апреля 2015 в 21:54 0
Вот теперь всё стало на место, спасибо :)
mephistopheies 26 апреля 2015 в 12:06 0
image

The figure shows two layers of a CNN. Layer m-1 contains four feature maps. Hidden layer m contains two feature maps (h^0 and h^1). Pixels (neuron outputs) in h^0 and h^1 (outlined as blue and red squares) are computed from pixels of layer (m-1) which fall within their 2x2 receptive field in the layer below (shown as colored rectangles). Notice how the receptive field spans all four input feature maps. The weights W^0 and W^1 of h^0 and h^1 are thus 3D weight tensors. The leading dimension indexes the input feature maps, while the other two refer to the pixel coordinates.

вот гляньте сюда — следующий слой аггрегирует изображения полученные прогоном оригинала через каждый фильтр из банка, таким образом следующий вполне может «схватить», или скажем сконструировать такую фичу как «мама — раму» которая активируется при условии что две предыдущие «мама мыла» и «мыла раму» тоже активированы
ffriend 26 апреля 2015 в 20:57 0
Да, это как раз то, что я выше назвал неполным совпадением с паттерном. Спасибо за ответ!
Tiendil 25 апреля 2015 в 23:24 0
Сравнивали точность классификации с какими-нибудь простыми статистическими методами?
Durham 26 апреля 2015 в 12:32 0
По литературным данным в задачах классификации предложений, в среднем сверточные нейронные сети работают существенно лучше, чем например, Naive Bayes, или SVM с n-граммами. На том же наборе данных MR (предложения из отзывах о фильмах), простые методы показывают порядка 60-70% точности. В задачах классификации длинных текстов ситуация не так однозначна.

Тут, конечно надо учитывать, что не все, что опубликовано действительно работает так как написано, мы с этим неоднократно сталкивались, что пока не попробуешь самостоятельно, не узнаешь.
ffriend 26 апреля 2015 в 21:15 0
Всё зависит от ситуации. Как-то, когда это ещё не было модно, мы делали сентиментный анализ твитов. После апробирования 15+ моделей (правда, без свёрточных сетей — тогда они для текста ещё активно не использовались) лучший результат показал обычный наивный Байес с корнями слов и POS-тегами, дав что-то порядка 87%. Т.е. все остальные модели даже с теми же признаками давали от силы 80%, а байесовский классификатор из коробки обошёл их сразу почти на 10%. Насколько я понял, такой метод выстрелил за счёт слабой структуры текста в твитах: предложения сокращаются, слова перемешиваются с хеш-тегами и ссылками. Так или иначе, всегда полезно сначала попробовать простые модели, а потом уже иди в направлении решения конкретных проблем.
andy1618 26 апреля 2015 в 02:28 +1
Спасибо, интересно!
Было бы здорово ещё посмотреть глазами на 2-3 примера ошибок классификатора, чтобы понять масштаб бедствия.
А то, порою, люди такие отзывы пишут, что и нейронная сеть человека не разберётся, позитив это или негатив :)
Durham 26 апреля 2015 в 12:26 +1
На английской выборке предложений (отзывы о фильмах)

положительные, ошибочно отнесенные к отрицательным

charming and witty, it's also somewhat clumsy
[allen] manages to breathe life into this somewhat tired premise .

Отрицательные, отнесенные к положительным
yo, it's the days of our lives meets electric boogaloo
do we really need another film that praises female self-sacrifice?


Из опытов с русскими предложениями (отзывы о телефонах, три класса — положительный, отрицательный, нейтральный)

Отрицательные, отнесенные к нейтральным:

«Такое чувство, как будто забивается оперативная память, или тому подобное»

Положительные, отнесенные к нейтральным:
«Жесткий диск 4 гигабайта, наличие стандартного разъема 3,5 для наушников»
«Недостатков у этого телефона нет»

но это пока на стадии предварительных опытов
andy1618 26 апреля 2015 в 12:43 0
Да, во всех случаях человек бы смог разобраться с тональностью, и это хорошо — значит, есть потенциал для улучшения системы.

Добавлено: Пн, 28 ноября 2016, 13:58:09
dyvniy
Аналог пунто свитчера
Оупэнсорсный.
http://www.xneur.ru/

Добавлено: Пн, 5 декабря 2016, 00:30:54
dyvniy
Обучение книгами.
Не знаю, приходила ли кому-нибудь мысль обучить ИИ книгами,
но мне она кажется очень многообещающей.

Первым делом надо обучить ИИ частям предложения: подлежащему, сказуемому и эпитетам.
Тут не особе важна точность, её проблемы решит массовость выборки.
Затем можно оценить вероятность употребления глаголов и эпитетов при каждом подлежащем.
Эту вероятность можно считать отдельно для книг разной тематики, или по другим критериям разграничивать.
В итоге чатбот сможет поддерживать диалог информацией на основе книг.
Не чисто книжными предложениями, что достаточно важно, но некоторой вариацией на их основе.
А ещё он будет использовать фразы собеседника, при чём они для него будут иметь максимальную значимость.
Такой ИИ можно использовать как записную книжку, ведь он ничего не забудет.
:happydance:

Добавлено: Пн, 20 февраля 2017, 18:08:10
dyvniy
Анализаторы речи от майкрософта
https://habrahabr.ru/company/microsoft/blog/321494/

Добавлено: Чт, 9 марта 2017, 11:09:28
dyvniy
Парсер русского языка
http://www.solarix.ru/parser.shtml
http://solarix.ru/for_developers/download/win/parser-ru-win64.7z

Телеграм объявил конкурс на чатбот с призами от 25000 долларов.
https://geektimes.ru/post/274570/
Телеграммные чат боты должны быть полезны.
Язык - английский.