|
|
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток други! Здравы будете! Вот у меня вопросик возник... Надо сделать программку, в которую можно загружать текст. Кроме того, в этой программке необходимо осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности. Здесь непонятно, что значит "сортировать по релевантности", "коэффициент релевантности"... Ведь релевантность - означает соответствие результатов поиска запросу. Чем выше соответствие, тем выше релевантность. В плане контента релевантность – это соответствие описания содержанию. Объясните пожалуйста, не дайте умереть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 18:47:31 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Ну видимо надо придумать систему "баллов", соответствующую релевантности. Наивысший балл - полное совпадение, затем придумать возможные варианты отклонений от точного совпадения и оценить их. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 22:01:54 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
"нечеткий поиск", "полнотекстовый поиск", "контекстный поиск" - по этим фразам сделать поиск :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2010, 22:43:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
S.G."нечеткий поиск", "полнотекстовый поиск", "контекстный поиск" - по этим фразам сделать поиск :) точно?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 10:41:26 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Я здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 12:05:16 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotЯ здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? По самому простому алгоритму: "мама мыла раму" релевантность 1, "мама раму" релевантность 0.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 14:52:49 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
an0nymgnotЯ здесь понимаю так: Воодим мы в поисковике сочетание "мама мыла". А нам выпадают результаты "мама мыла раму", "мама раму" Так что-ли? По самому простому алгоритму: "мама мыла раму" релевантность 1, "мама раму" релевантность 0.5. Вообще не понял, что же необходимо конечному пользователю... Допустим, я пользователь, открыл текст, ввожу МАМА, а мне выпадает список мама мыла раму, мама раму... Примерно так? И как рассчитывать словосочетания с коэффициентом релевантности ? Как условия задавать? Что-то вообще запутался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 16:38:19 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Вообще, ЧТО какой результат должен получить конечный пользователь? мама мыла раму, мама раму, мама мыла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 16:41:25 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Или так: Если ввожу словосочетание "мама мыла раму", то в в первую очередь выпадают часть текстов со словосочетаниями "мама мыла", так что-ли? Ну или хоть ссылку дайте на алгоритмы поиска по релевантности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:15:52 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, Не существует какого-то единого, стандартного или универсального способа расчета релевантности. Этот способ вытекает из требований задачи. В вашем случае - "поиск выбранного слова или словосочетания" понятие релевантности (почти) вырождается. Т.е. есть нужное слово - 1. Нет - 0. Максимум, что может быть посередине - другие словоформы этого же слова. Но нужно их учитывать или нет - из вашего текста неясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:21:08 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnot, кстати, почитайте тут - http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%BB%D0%B5%D0%B2%D0%B0%D0%BD%D1%82%D0%BD%D0%BE%D1%81%D1%82%D1%8C и далее по ссылкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 17:28:30 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
miksoftgnot, Не существует какого-то единого, стандартного или универсального способа расчета релевантности. Этот способ вытекает из требований задачи. В вашем случае - "поиск выбранного слова или словосочетания" понятие релевантности (почти) вырождается. Т.е. есть нужное слово - 1. Нет - 0. Максимум, что может быть посередине - другие словоформы этого же слова. Но нужно их учитывать или нет - из вашего текста неясно. То есть так: Мама мыла - есть нужное слово? мама раму -нет нужного слова? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:15:27 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotТо есть так: Мама мыла - есть нужное слово? мама раму -нет нужного слова?Откуда ж я могу знать как вам надо? Спрашивайте того, кто вам задачу ставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:21:40 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Надо сделать программу, в которую можно загружать текст. Кроме того, в этой программке необходимо осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности. Вот и вся задача... А если отойти от сложных алгоритмов, интегралов по вычислению релевантности, то как должен осуществляться поиск? Ну например, пользователь ввел в поисковике "мама мыла раму". И ему выпадают ссылки на словосочетания, содержащие данные слова? То есть "мама", "мама мыла", "мама мыла раму","мама раму", "мыла раму"? вводит слово "мама" - ему выпадают слово "мама". вводит словосочетание "мама мыла" - ему выпадают "мама", "мама мыла", "мама мыла раму", "мама раму"? И вообще, откуда я знаю, что пользователь хочет именно сочетание "мама мыла"? Мо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 18:32:00 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Или можно сделать так: Есть у нас текст, в котором слово "мама" встречается 10 раз, слово "мыла" -10 раз, слово "раму" - 4 раза. Тогда в поисковике при вводе слова "мама мыла раму" будут выводиться словосочетания в таком порядке: "мама", "мама мыла", "мама мыла раму", "мама раму" "мыла раму" Так можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2010, 20:03:13 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Можно по всякому. Все алгоритмы поиска в тексте выдают результат в виде нечёткой оценки. Как сравнивать близость шаблона поиска - и документа это ты можешь сам придумать исходя из задачи. Например можно усложнить поиск введя элемент грамматики. Т.е. рама, раму, рамы.... и т.д. будет отображаться на одну сущность токена. Тогда индекс по документу должен быть очищен от падежей, склонений и т.п. Если тебе очень важно найти жёсткую фразу "мама мыла.." тогда индекс должен быть бюлее тяжёлым. Учитывать порядок токенов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 14:44:31 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
О! Представим себе, что словосочетания находятся в каком -либо поле в таблице БД. Скажем, есть у нас таблица work. В ней есть поля - id(уникальный идентификатор, можно сделать в виде даты), description (описание работ). В поле description и находятся описания работы нашей мамы) Структура примерно такая id Description 1.01 мама мыла раму 2.01 мама мыла пол 3.01 мама мыла шкаф 4.01 мама мыла люстру 5.01 мама раму запечатывала Как видим, словосочетание "мама мыла" встречается гораздо чаще, следовательно, оно будет более релевантным. А словосочетание "мама раму" - менее релевантно. У слова "мама" получается вообще релевантность 100% ) Так вот, как это сформировать в виде запроса SQL с учетом релевантности каждого слова? И соответственно вывести результат) Как я понял, результат должен выводиться в соотвествии с релевантностью: на первом месте - более релевантные словосочетания, на втором -менее и тд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 23:17:04 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
gnotО! Представим себе, что словосочетания находятся в каком -либо поле в таблице БД. Здесь - архитектурный просчёт. Поисковые системы по тексту так не проектируются. Если вы хотите обсуждать термин релевантность - это одно. А если вы фантазируете на тему, как работает TextSearch - то скорее всего ошибаетесь. Я вообще не понимаю в чём смысл такого (очевидно ненормализованного) хранения данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2010, 23:37:15 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
А из самой постановки задачи. Вот "Написать приложение, позволяющее заводить в программу данные, содержащие текст. Данные должны храниться в базе данных. Программа должна позволять просматривать документы и осуществлять поиск выбранного слова или словосочетания в других документах, сортируя результат по релевантности. Имеется в виду, что сочетание «мама мыла раму» будет соответствовать искомой строке «мама мыла», а так же строке «мама раму», но уже с меньшим коэффициентом релевантности " Как это понимать? Что здесь подразумевается под данными, под текстом? Как они должны быть структурированы? Ну и пр и пр... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:21:51 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
для меня это что-то из области "Э! Слыыышь! Там короче... ээээ... Ну ты понял!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:31:26 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
тут можно по-всякому понимать. Либо документы должны храниться в БД, либо какие-то данные должны извлекаться из БД, а помто внедряться в документы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:34:01 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Какую СУБД ты планируешь использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 11:37:40 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
да простейшую -MS Access) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:12:19 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
Вам надо рассмотреть возможность использования более сильной СУБД (PostgreSQL, MySQL под Windows). У них по крайней мере существует опция textsearch. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:18:44 |
|
||
|
Релевантность
|
|||
|---|---|---|---|
|
#18+
ну поскольку не сказано, какую именно надо СУБД... Просто ближе к делу - как Вы видите поставленную задачу? Что откуда надо извлечь? Как понял, надо запросом вывести из БД какие-то данные, отобразить их в программе в текстовом виде. Сделать возможность поиска неких словосочетаний с учетом релевантности. Под релевантностью я понял так: если есть в запросе, в словосочетании три слова, то первые два слова имеют большую релевантность, чем первое и третье... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2010, 12:25:07 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36484118&tid=1343863]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
188ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 511ms |

| 0 / 0 |
