Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Поиск похожих строк в базе MySQL 
:(
    Опции темы
Digit
Дата 1.9.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Доброго времени суток!

Имеется база данных MySQL, в которой хранятся строки.
В самой базе 2 таблицы: первая (основная) для постоянного хранения строк, вторая для хранения строк, которые добавили посетители сайта для модерации.

Нужно: выделять модератору новые строки (из второй таблицы), которые имеют "похожие" строки в основной (первой) таблице

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

Подскажите как решить эту задачку. Возможна реорганизация базы.
PM MAIL ICQ   Вверх
bars80080
Дата 1.9.2009, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



во-первых, имеются ввиду слова или целые фразы
а во-вторых, в чём схожесть строк? банальное расхождение в наборе символов /не те символы, да не на тех позициях/ или всё же смысловое расхождение? допустим разные окончания?
PM MAIL WWW   Вверх
Digit
Дата 1.9.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Цитата(bars80080 @  1.9.2009,  22:11 Найти цитируемый пост)
во-первых, имеются ввиду слова или целые фразы
а во-вторых, в чём схожесть строк? банальное расхождение в наборе символов /не те символы, да не на тех позициях/ или всё же смысловое расхождение? допустим разные окончания? 

1) вот пример
2) расхождения: как минимум грамматические и пунктуационные ошибки, новые строчки (например четверостишье один раз написано просто в строку, другой раз как положено) + присутствие/отсутствие других символов (именно символов. не букв)


Это сообщение отредактировал(а) Digit - 2.9.2009, 00:13
PM MAIL ICQ   Вверх
IZ@TOP
Дата 1.9.2009, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73





--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Digit
Дата 2.9.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



IZ@TOP, спасибо за статью, но на мой взгляд там не выйдет с помощью этого поиска найти id строки в основной базе "похожей" на новую строчку.
PM MAIL ICQ   Вверх
IZ@TOP
Дата 2.9.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Цитата(Digit @  2.9.2009,  10:54 Найти цитируемый пост)
IZ@TOP, спасибо за статью, но на мой взгляд там не выйдет с помощью этого поиска найти id строки в основной базе "похожей" на новую строчку. 

Все зависит от того, что ты имеешь ввиду под "похожестью".


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Simpliest
Дата 2.9.2009, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



http://ua.php.net/manual/en/function.soundex.php

и там же на странице ниже еще пара функций


--------------------
user posted image
PM   Вверх
IZ@TOP
Дата 2.9.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Как на счет этого http://ua.php.net/manual/en/function.pspell-suggest.php ? Вообще я даже на sphinxsearch видел обсуждение поиска с использованием soundex. Думаю, если погуглить в нужном направлении, можно что-то интересное найти.
Хотя я до сих пор не понимаю, что конкретно нужно автору smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Digit
Дата 2.9.2009, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 3.7.2005

Репутация: нет
Всего: нет



Вот пример "похожих" строк:
1) "Я счастлива! У меня есть я" = "Я счастлив, у меня есть я" (разные окончания + разная разбивка на предложения)
2) "Не бойтесь совершенства.\n Оно вам не грозит.\n //Дали" = "Не бойтесь совершенства. Оно вам не грозит.\n Дали ©" (по разному стоят переносы строк + разные символы)
3) "Не бойся своих желаний! Бойся моих!" = "Не бойся желаний своих! Бойся моих!" (перестановка слов)

Нужно вылавливать "похожие" строки с различними вариантами смешения примеров 1, 2 и 3.
soundex и metaphone не очень хорошо работают со строками, особенно длинными.

Я думаю, что надочислять для строки какое то значение на подобие soundex или metaphone и хранить его в базе вместе со строкой.

Это сообщение отредактировал(а) Digit - 2.9.2009, 23:35
PM MAIL ICQ   Вверх
IZ@TOP
Дата 3.9.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Digit, а чем, собственно sphinx не подошел под эту задачу? Он умеет искать по нормализованым словам, по целым фразам и при этом поиск релевантный и полностью вписывается в задачу.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 17.5.2010, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 0
Всего: 140



Господа некрофилы, смотрите пожалуйста на дату последнего сообщения (для особо одаренных - 3.9.2009). Пол года прошло, тема не актуальна! 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
  
Закрытая темаСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0808 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.