Поиск сообщения в базе для бота?

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
Вот пример баз для ботов ВК https://vk.com/topic-76425828_34465524
привет\привет\0
привет\дарова\0
привет\ку\0

Так вот, как в зеннопостере грамотно сравнивать сообщение с такой базой? Нужен нечеткий поиск

Вроде всё просто кроме этого момента в создании чат-бота на зенке
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 930
Благодарностей
6 389
Баллы
113
ну как бы не совсем просто, надо брать текст вопроса и разделять его на слова, потому что не шаблонно отвечают, кроме "привет" - односложно

а вот напишут так "привет, как твои дела, что нового, чего расскажешь?" или лучше так "привет как твои дела что нового чего расскажешь" без знаков препинаний ... народ щас ( :-) ) малообразованный
вытащить все по словно и каждое слово сравнить с базой, если есть одно совпадение - то в принципе просто, если несколько, то тут надо думать
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
Вот и нужно искать как-то примерно, а не конкретное слово... Разработчик такого бота послал меня гуглить "расстояние Левенштейна" :D
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 930
Благодарностей
6 389
Баллы
113

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
Но на C# вроде есть такая реализация нечеткого поиска, вопрос как впихнуть в зеннопостер
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
а что на кубиках нельзя взять строку нечётную ?
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
а что на кубиках нельзя взять строку нечётную ?
Речь о том, как сравнивать сообщение пользователя с базой ответов на него. Тут не прокатит точный поиск по слову
Это называется нечетким поиском (вроде) На всех популярных языках есть реализация такого
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Речь о том, как сравнивать сообщение пользователя с базой ответов на него. Тут не прокатит точный поиск по слову
Это называется нечетким поиском (вроде) На всех популярных языках есть реализация такого
у тебя бд, как я понял ?
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
если кинуть сообщение в БД и такое будет то выдаст исключение, можно не кидать можно его там найти
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
не сильно силён я в таком понимкании, база .bin это файл или БД ?
файл, вот вам пример https://yadi.sk/d/XVMkTQAuKW8AVg

сообщение не совпадает 1 в 1, в этом проблема. Пользователь может написать по-разному сообщение, нужно наиболее близкий ответ подобрать из того что есть в базе
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
так база в файле ?
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
в файле
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
имеем файл

2018-12-24_074100.png


надо точное совпадение ?
ну там не не миллиард, даже не милион, в чёи проблема проверить в цикле ??
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
НЕТОЧНОЕ СОВПАДЕНИЕ. Нужен принцип работы чат-бота
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
а ступил, не точное, так в чём проблема ?
а тебе код надо ?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
файл наполняется или всегда одни фразы ?
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
Да, мне нужен код, я не знаю как это делать на C#
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
if (list.Contains(line))
{
//to do сука полное совпадение )
}
else
{
// to do сука нет совпадения )
}
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
if (list.Contains(line))
{
//to do сука полное совпадение )
}
else
{
// to do сука нет совпадения )
}
Это пример полного совпадения ведь. А какой алгоритм тут должен быть чтобы анализировал фразу пользователя и подбирал строку которая наиболее похожа по содержащимся словам?
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Это пример полного совпадения ведь. А какой алгоритм тут должен быть чтобы анализировал фразу пользователя и подбирал строку которая наиболее похожа по содержащимся словам?
так тебе % надо ?
 

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28
так тебе % надо ?
Ну да. Например совпадает 50% слов в строке.... Как-то так.

Написали "Привет, как дела что делаешь", а бот нашел строку с "как дела" и ответил. А еще лучше если будет понимать ашипки и опичатки хоть минимальные.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Ну да. Например совпадает 50% слов в строке.... Как-то так.

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

lisiv

Client
Регистрация
21.05.2015
Сообщения
149
Благодарностей
30
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
чат бот на зенке браузере ещё наверно ?? )
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Есть сообщение человека живого и база ответов бота. И больше ничего нет
ну оптимальный вармнт выше что я написал
хотя можно обучить, там проще будет
но для тебя легче будет первый метод
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)