Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Автоответчик
123456  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 889
Пользователь №: 30352
На форуме: 5 лет, 26 дней
Карма: 12




Всем привет!

Может у кого есть идеи, как реализовать автоответчик??

Интересует сама структура БД и запросы к ней...


К примеру пользователь написал "Как дела?"

И запросом необходимо выбрать из бд ответ.... если ответа нет, то ничего не выбирать....


Я думаю создать две таблицы
Вопросы
id_вопроса | text_вопроса
------------------------------


и

Ответы
id_ответа | id_вопроса | id_текст ответа
----------------------------------------------



И каким-то образом искать вопросы по соответствующей таблице... Только вот каким образом лучше всего искать?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Медведь  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 2482
Пользователь №: 37963
На форуме: 3 года, 3 месяца, 22 дня
Карма: 27




Тема из старой оперы wink.gif

Были такие игрушки в детстве, создавалась с нуля так:

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

Ответ выбирается с наибольшим количеством совпадений слов в предложении и не забывай, что форма слова может меняться.


--------------------

Заходил 29.09.2016
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
123456  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 889
Пользователь №: 30352
На форуме: 5 лет, 26 дней
Карма: 12




Надо вопрос по другому задать:

"Как сделать нечеткий поиск по таблице?"

Есть сообщение от пользователя

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

И надо найти сообщение в таблице... Если такое имеется
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5902
Пользователь №: 1
На форуме: 10 лет, 9 месяцев, 23 дня
Карма: 125

Не пью :
22 года, 2 месяца, 26 дней


Цитата (123456 @ 6.08.2016 - 17:44)
могут отличаться падежи, могут быть опечатки, разные знаки препинания и т.д.)

Дарю:
Функция отсекает окончания слов
function clean_y_value($v){
$v = strtolower($v);
if( strlen($v)>8 and in_array(substr($v,-6),array("овская","евская")) )$v = substr($v,0,-6);
elseif( strlen($v)>7 and in_array(substr($v,-5),array("аться","яться","иться","ается","яется","енный","енная","енное")) )$v = substr($v,0,-5);
elseif( strlen($v)>6 and in_array(substr($v,-4),array("ться","аюсь","яюсь","евый","ёвый","овый","овой","евая","ёвая","овая","евое","ёвое","овое","евые","ёвые","овые","ость","есть","йный","йная","ящий","ящая","ящие","вный","вная")) )$v = substr($v,0,-4);
elseif( strlen($v)>5 and in_array(substr($v,-3),array("ать","ять","ить","ого","оем","ому","ает","яет")) )$v = substr($v,0,-3);
elseif( strlen($v)>4 and in_array(substr($v,-2),array("ів","ам","ая","ее","ей","ий","ие","их","ию","ия","ми","ов","ое","ой","ок","ом","оя","ую","ые","ый","ых","ья","ям","ях","яя")) )$v = substr($v,0,-2);
elseif( strlen($v)>3 and in_array(substr($v,-1),array("a","e","i","а","е","и","й","о","у","ы","ь","ю","я","э")) )$v = substr($v,0,-1);
return $v;
}


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11782
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 8 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 9 дней


Цитата (123456 @ 6.08.2016 - 19:44)
"Как сделать нечеткий поиск по таблице?"

Есть сообщение от пользователя

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

И надо найти сообщение в таблице... Если такое имеется

Sphinx, например.


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
123456  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 889
Пользователь №: 30352
На форуме: 5 лет, 26 дней
Карма: 12




Invis1ble
на сервере не установлен sphinx, а устанавливать на сервер ничего нельзя.

FatCat
Спасибо.

В общем что я сделал:
1. Сделал проверку на опечатки о орфографию;
2. Удалил окончания и падежи;
3. Удалил все знаки припенания.

А вот смысл от этого?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (123456 @ 7.08.2016 - 09:31)
Invis1ble
на сервере не установлен sphinx, а устанавливать на сервер ничего нельзя.

Ты сначала сделай сайт используя всё инструменты, которые тебе необходимы, затем уже арендуешь сервер на котором сможешь запустить сайт.

Это же глупо думать, что раз на большинстве хостингов установлен только php и mysql, то буду делать сайт используя только php и mysql. Так можно навсегда застрять в вебе 90ых.

Всё равно полнотекстовый поиск mysql ничего не умеет http://www.hackingwithphp.com/9/3/18/advan...ll-text-indexes, так что не мучай задний привод и ищи другие решения. Начни например с сфинкса.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
FatCat  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чеширский кот
******

Профиль
Журнал
Группа: Администратор
Почтальон группы
Сообщений: 5902
Пользователь №: 1
На форуме: 10 лет, 9 месяцев, 23 дня
Карма: 125

Не пью :
22 года, 2 месяца, 26 дней


Цитата (123456 @ 7.08.2016 - 07:31)
смысл от этого?

Искать в БД.


--------------------
Бесплатному сыру в дырки не заглядывают...
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса