Признаки похожести

1 234
E
На сайте с 12.01.2004
Offline
17
#31
Как писал Rusl


Просто сравнивая 1-ый ранг (шинглы кратны 10) с 3-им (шинглы кратны 40), из первого для сравнения выбираем только кратные 40-ка. Понимаете?

А если прийдется сравнивать наоборот, 3-й ранг (шинглы кратны 40) с 1-м рангом (шинглы кратны 10), ведь 40 не кратно 10?

R
На сайте с 29.04.2003
Offline
37
#32
Как писал eshum

А если прийдется сравнивать наоборот, 3-й ранг (шинглы кратны 40) с 1-м рангом (шинглы кратны 10), ведь 40 не кратно 10?

Сравнить 3-й с 1-м рангом при кратности шинглов 10 нельзя по принципиальным причинам (иначе Вам необходимо хранить для 3-го ранга шинглы кратные 10, что самом по себе убивает весь смысл в разделении на ранги).

3-й ранг сравнивается с 1-м точно так же как и 1-й с 3-м. Какая разница? Просто для сравнения из шинглов 1го ранга кратных 10 берутся только шинглы кратные 40-ка.

E
На сайте с 12.01.2004
Offline
17
#33
Как писал Rusl


Сравнить 3-й с 1-м рангом при кратности шинглов 10 нельзя по принципиальным причинам (иначе Вам необходимо хранить для 3-го ранга шинглы кратные 10, что самом по себе убивает весь смысл в разделении на ранги).

3-й ранг сравнивается с 1-м точно так же как и 1-й с 3-м. Какая разница? Просто для сравнения из шинглов 1го ранга кратных 10 берутся только шинглы кратные 40-ка.

Ведь смысл в шинглах вычислить их для каждого вновь добавляемого документа один раз и сохранить только кратные некоторому числу для последующего сравнения, тем самым съэкономив ресурсы машины.

А так, при поиске документа 3-го ранга среди ранее сохраненных шинглах документов 1-х рангов прийдется либо пересчитывать шинглы "на лету" для всех документов 1-го ранга, либо хранить все шинглы и при поиске брать только кратные искомому.

Я имею ввиду ситуацию, когда документы добавляются в коллекцию в произвольном порядке (не в порядке возрастания/убывания их длины), что характерно для большинства поисковых машин.

R
На сайте с 29.04.2003
Offline
37
#34
Как писал eshum


А так, при поиске документа 3-го ранга среди ранее сохраненных шинглах документов 1-х рангов прийдется либо пересчитывать шинглы "на лету" для всех документов 1-го ранга, либо хранить все шинглы и при поиске брать только кратные искомому.

...либо хранить все шинглы и при поиске брать только кратные искомому. Но это только для документов разных рангов! Для документов же одних рангов, будем брать все шинглы имеющие кратность соответствующую данному рангу. Например

док1 (ранг1):

19734298510

44578957880

36719111850

94235456700

док2 (ранг2):

54887592520

52856783240

Сравниваем только:

из док1 - 44578957880, 94235456700

из док2 - 54887592520, 52856783240

E
На сайте с 12.01.2004
Offline
17
#35
Как писал Rusl


...либо хранить все шинглы и при поиске брать только кратные искомому. Но это только для документов разных рангов! Для документов же одних рангов, будем брать все шинглы имеющие кратность соответствующую данному рангу. Например...

Кажется понял. Т.е. Вы предпологаете что документы разной длины всегда различны если они не находятся в пределах одного ранга.

R
На сайте с 29.04.2003
Offline
37
#36
Как писал eshum

Кажется понял. Т.е. Вы предпологаете что документы разной длины всегда различны если они не находятся в пределах одного ранга.

Да нет же. Страницы на границе рангов вполне могут быть "почти похожими". Я уж и не знаю как объяснить.

Хотя...

может быт, это и не такая плохая идея. Для повышения скорости можно сравнивать только документы объем которых различается не более чем в заранее заданное число раз. Так как если документы отличаются, например, больше чем в два раза то они не могут быть "почти похожими". Хотя, стоит оговорится, если необходимо помимо почти-дубликатов определять и включенность, то этот метод не прокатит.

1 234

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