|
|
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
В tsvector размечены позиции лексемм. Код: plsql 1. 'box':5 'fox':1 'sleep':2 В то же время, поиск по коннотациям или строгому порядку слов недоступен. Зачем нужна разметка позиций в документе, если ей нельзя воспользоваться? Или же можно, но или я невнимателен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 14:46 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
tadmin, позиции слов используются при расчёте релевантности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 15:14 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
tadmin, вот две хорошие статьи по реализации FTS в PostgreSQL http://www.sai.msu.su/~megera/postgres/talks/fts_pgsql_intro.html http://rus-linux.net/lib.php?name=/MyLDP/subd/pgfts.html в PostgreSQL есть возможность маркировать слова принадлежащими к разным секциям, которых правда всего может быть 4 Каждой секции можно назначать свой вес и уже потом получать лучшую релевантность поиска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 17:10 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
smagenпозиции слов используются при расчёте релевантности. Понимаю. Но в tsquery запросить расстояние между словами я не могу. Верно? Для поиска коннотаций близость имеет абсолютное значение, а релевантность меняется гладко, поэтому результат ненадежен. Да и вычислять ее дорого. Теоретически, для выявления близко расположенных слов можно поместить нормализованные лексеммы и их позиции из tsvector в jsonb. Но тогда теряется функционал FTS. Придется "в лоб" сравнивать лексеммы. 2 all: кто-нибудь делал подобные попытки? grufos, Про set_weight я знаю, но для выявления коннотаций в произвольных текстах четырех маркеров будет явно недостаточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 17:53 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
tadmin, более формально можно определить "коннотаций" в вашем случае ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 22:36 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, Употребление слова в связке с другим позволяет (иногда) определить смысл. Например "мамин халат" и "Мамин-Сибиряк" содержат одну одну и ту же форму одной лексемы, но с разным контекстом и семантикой. Или знание о том, что в длинном тексте упомянуты red & box & big & fox, не позволяет судить о цвете лисы и размере коробки. Абсолютные же позиции лексем в тексте дают возможность установить связку между ними, когда слова идут подряд или разделены стоп-словами. Для русского и английского, как минимум, это неплохое приближение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:06 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
tadmin, http://www.postgresql.org/docs/9.4/static/textsearch-controls.html ну, если быть точными, то позиции нам нужны тут 12.3.3. Ranking Search Results ts_rank_cd бла бла This function requires lexeme positional information to perform its calculation. -- но. тут же читаем: " However, the concept of relevancy is vague and very application-specific. Different applications might require additional information for ranking, e.g., document modification time. The built-in ranking functions are only examples. You can write your own ranking functions and/or combine their results with additional factors to fit your specific needs. " You can write your own ranking functions в приделах движка, да. -- но интересно, где вам надо такую "точную" релевантность. чем плохо показать и автор"мамин халат" и "Мамин-Сибиряк" сразу. Юзер и сам не знает, что ему надо, а уж мы и тем более. пусть решает может сам юзер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:19 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, скорее всего, имелись в виду коллокации tadmin, для поиска коллокаций есть разные инструменты, можно, напр., попробовать прикрутить к PostgreSQL модуль Text::NSP с CPAN. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:22 |
|
||
|
fts: позиции лексемм - зачем они?
|
|||
|---|---|---|---|
|
#18+
Ы, ну да, возможно и так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2015, 23:28 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=115&tid=1998161]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 386ms |

| 0 / 0 |
