Расчет веса используя координатный индекс

12
AA
На сайте с 16.04.2001
Offline
70
#11
Как писал AlexA
Если я правильно понял вопрос (поиска близких позиций n объектов)...
Как писал MaxGubin
На самом деле у вас все немного в кучу...Если подходить к этому вопросу несколько шире...

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

С уважением, Антонов Александр.
I
На сайте с 15.12.2000
Offline
80
#12

Я сейчас не в Москве -- найти не смогу. В любом случае она не сильно отличается от западной

AA
На сайте с 16.04.2001
Offline
70
#13
Как писал iseg
Я сейчас не в Москве -- найти не смогу. В любом случае она не сильно отличается от западной

Раньше не интересовался этим вопросом, вот что нашел. Данные, правда, старые. Может, кому и пригодится.

Table 1. Comparative statistics across 1997 and 1999 Web query data sets.

Variables 1997 Excite Study 1999 Excite Study

(1M Queries) (1M Queries)

Mean Terms Per Query 2,4 2,4

Terms Per Query

1 Term 26.3% 29.8%

2 Terms 31.5% 33.8%

3+ Terms 43.1% 36.4%

Mean Unique Queries Per User 2,5 1,9

Mean Pages Viewed Per Query 1,7 1,6

% of Users Who Viewed

1 Page 28.6% 42.7%

2 Pages 19.5% 21.2%

3+ Pages 51.9% 36.1%

% of Users Who Modified Queries 52% 39.6%

Session Size-Unique Queries

1 Query 48.4% 60.4%

2 Queries 20.8% 19.8%

3+ Queries 30.8% 19.8%

% of Boolean Queries 5% 5%

% of Queries - Relevance Feedback 5% 9.7%

% of Terms Unique to the Data Set 57.1% 61.6%

[Удален]
#14
Как писал draal


Указанные вами ссылки я читал и до того... но вопрос в другом (не в том как выбрать пересечение 2 ссылка, и не в том как подсветить слова с учетом словоформы)
а как найти оптимально слова находящиеся рядом анализируя только координатный индекс:

например слова из запроса "работа в киеве"
работа на странице встречается на 2 5 10 11 22 33 позиции
а киеве на 3 12 ....

и нужно как можно более оптимально найти место работа 11 - киев 12 - что указывает на то что в документе слова рядом..

Я не совсем понял описание вашего метода, но на мой взгляд моё решение немного продуктивнее. Во-первых, задача делится на две разные, первая - вариант, если задано только 2-а слова в вопросе, вторая - если 3 и более.

Для первого варианта решение такое:

Есть массив P позиций для каждого слова, соединяем их и сортируем по возрастанию, получается:

2 3 5 10 11 12 22 33 ...

Есть массив M слов принадлежащей каждой позиции:

работа киев работа работа работа киев работа работа ...

задаём min=1000000

перебираем массив M по указателю i,

если M не равно M[i+1], тогда считаем разницу в позиции: r=P[i+1]-P-1, если r<min ( min=r, запоминаем найденные позиции в массиве IP=(P,P[i+1]) )
если r=0 - выходим из цикла

после цикла имеем на выходе:
1) r - минимульную разницу
2) массив IP - позиций искомых слов с минимальным расстоянием

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

Если есть желание, могу описать вариант для 3 и более слов, пишите.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий