Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сходство текстов

Сообщения:  [1-7] 

 
 автор: Axxil   (05.03.2009 в 16:29)   письмо автору
 
   для: serebrus   (05.03.2009 в 15:51)
 

Тут можно посоветовать при добавлении новой темы разбивать её название на слова (осмысленные, выкидывая предлоги, частицы и т.д.). Дальше эти слова добавлять в т.н. индекс (обычная таблица, куда заносится слово и id тем, где это слово встречается).

Уже созданные темы можно прогнать задним числом и добавить слова в индекс.

При создании темы шерстим индекс и ищем совпадения. А так как с каждым словом ассоциированы id тем, то вывести их несложно.

  Ответить  
 
 автор: serebrus   (05.03.2009 в 15:57)   письмо автору
 
   для: Axxil   (05.03.2009 в 15:35)
 

Я понял тебя, да ты прав, я привел пример (про нахождении похожих книг), но самом деле, т.е. у меня такой случай: есть система типа форума.
Я хотел чтоб, при добавлении нового вопроса, до написании ответа кем либо, система выводила те ответы которые их вопросы наиболее "ПОХОЖИЕ" добавленному вопросу.

В моем случае нелегко определить ключевое слово среди слов текста вопроса.

  Ответить  
 
 автор: serebrus   (05.03.2009 в 15:51)   письмо автору
 
   для: Axxil   (05.03.2009 в 15:35)
 

Я понял тебя, да ты прав, я привел пример (про нахождении похожих книг), но самом деле, т.е. у меня такой случий: есть система типа форума.
Я хотел чтоб, при добавлении нового вопроса, до написании ответа кем либо, система выводила те ответы которые их вопросы наиболее "ПОХОЖИЕ" добавленному вопросу.

В моем случае нолегко определить ключевое слово среди слов текста вопроса.

  Ответить  
 
 автор: Axxil   (05.03.2009 в 15:35)   письмо автору
 
   для: serebrus   (05.03.2009 в 14:56)
 

Много слов может быть?
А вообще механизм тегов (меток) не зря придумали. При вводе, например, книги в базу явно указывается её жанр, автор и т.д. в отдельных полях как раз для того чтобы потом можно было по-вякому группировать и находит похожие.

Если слов в поле name немного (до 5-ти) и таких меток нет, можно попробовать написать скрипт, который эти метки из названий вытащит.

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

Понятно, что делать это на лету нельзя. Нужно заранее прогнать скрипт и сохранить результаты для вывода.

  Ответить  
 
 автор: serebrus   (05.03.2009 в 14:56)   письмо автору
 
   для: Axxil   (05.03.2009 в 14:31)
 

Друг, среди нескольких слов (т.е. текст) как определишь, который из ник ключевое?

  Ответить  
 
 автор: Axxil   (05.03.2009 в 14:31)   письмо автору
 
   для: serebrus   (05.03.2009 в 14:02)
 

А что мешает выделить из поля name ключевые слова и по ним провести обычный поиск `bookname` like '%keyword%'?

  Ответить  
 
 автор: serebrus   (05.03.2009 в 14:02)   письмо автору
 
 

Привет народ форума.

По моему многие знают или встречались с таким случаем как, при поиске книги на сайте, система показывает книг удовлетворяющие запрос а также список похожих книг.

Ну в принцпе это понятно, (список дополнительных книг составляется с помощю запроса удовлетворяющий клечевое слово, т.е. типо этого: ... `bookname` like '%keyword%').

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

  Ответить  

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования