IDF яндекса не логарифмичен??

12
Hkey
На сайте с 30.09.2006
Offline
222
2901

В литературе указана логарифмическая зависимость. Но на практике нет. Смотрел по сервису MiRaj и к-ву найденных документов.

СЛОВО IDF Число найденных документов в миллионах(Ni)

разработка 5091 192

производство 3252 265

вендинг 1062907 1

оптимизация 31473 35

создание 4094 523

популяция 409337 2

пикап 150515 5

рекогносцировка 6030449 0,189

мелиорация 2395939 0.981

В базе Яндекса 4 644 миллионов документов

Написал программу для счета log(4 644/Ni) - разница несколько порядков.

Потом просто перемножил два числа (IDFi*Ni) получилось, что разница не превышает порядок. Причем в среднем Сi не увеличивалась с ростом Ni или IDF. Т.е. алгоритм IDF = Сonst/Ni

Нигде я не ошибся?

HTraffic.ru (http://HTraffic.ru/) - удобная система для управления контекстной рекламой. тема на форуме (/ru/forum/810827) HTracer (http://htracer.ru/) - скрипт для автопродвижения сайтов по НЧ и СЧ запросам. Для больших сайтов от 100 страниц. (тема на форуме (/ru/forum/676867))
G00DMAN
На сайте с 19.04.2008
Offline
122
#1

Вывод получился верный, хотя ошиблись везде. :)

1. Ni никогда не присутствовало в вычислении IDF, вычисления ведутся по коллекции документов, а не по всей базе.

2. База Райцина парсилась давно, когда это было возможно, IDF тогда был не логарифмом.

3. К базе Яндекса с того времени приклеилось немеряно англоязычных доков.

Сейчас IDF - логарифм, почти наверняка. Это показывают мои исследования. База Райцина устарела, тогда например стоп-слова вообще не учитывались, а сейчас это не так. Т.е. для получения нормальной базы IDF нужно делать свою коллекцию или брать чью-то готовую, например в ромипе.

ЯПБ тоже наверное перешел на логарифмы, т.к. закрыли выдачу IDF. :(

ЗЫ. Я пока пользуюсь базой Михаила, других нет.

Илья Зябрев, AlterTrader Research Ltd. Последние статьи: Об отмене ссылок в Яндексе. (www.altertrader.com/publications38.html)|Поведенческие факторы (формулы) (www.altertrader.com/publications36.html) Жадные алгоритмы Яндекса. (www.altertrader.com/publications20.html)|MatrixNet для «чайников». (www.altertrader.com/publications19.html)
Hkey
На сайте с 30.09.2006
Offline
222
#2

Возникает вопрос про ваши эксперименты. Как они проводились?

Почему этот вопрос я задаю: потому что считаю гипотезу изменения на log маловероятной. Поскольку Яндекс существует намного больше, чем база Михаила. Сначала внутренние факторы играли важную роль. Во всех источниках написан логарифм. Логарифм довольно быстро вычисляется по таблице.

Хотя возможно такое, что число которое загоняешь в колдовку логарифмируется?Т.е пишешь ::5066, а вес для расчетов будет равен log(5066).

G00DMAN
На сайте с 19.04.2008
Offline
122
#3

Считать огромное число раз логарифм в реале нет смысла, как мне кажется.

Мой научно-исследовательский коллектив сейчас экспериментирует с аннотированием, пытается раскусить алгоритмы получения сниппетов в выдаче. Благо есть косячная статья с последнего ромипа, еще кое-какая инфа и база Михаила. Аннотирование использует логарифм, потому я и считаю, что ранжирование использует его же.

Hkey
На сайте с 30.09.2006
Offline
222
#4
G00DMAN:
Считать огромное число раз логарифм в реале нет смысла, как мне кажется.
Мой научно-исследовательский коллектив сейчас экспериментирует с аннотированием, пытается раскусить алгоритмы получения сниппетов в выдаче. Благо есть косячная статья с последнего ромипа, еще кое-какая инфа и база Михаила. Аннотирование использует логарифм, потому я и считаю, что ранжирование использует его же.

Помой му подсветку уже давно отстала от мозгов.

A
На сайте с 11.05.2007
Offline
155
#5
Hkey:

Хотя возможно такое, что число которое загоняешь в колдовку логарифмируется?Т.е пишешь ::5066, а вес для расчетов будет равен log(5066).

ИМХО это просто транжирство. зачем выбрасывать на ветер ресурсы?

G00DMAN:
1. Ni никогда не присутствовало в вычислении IDF, вычисления ведутся по коллекции документов, а не по всей базе.

а что за коллекция? Или вы про неточность что дает прюнинг?

G00DMAN
На сайте с 19.04.2008
Offline
122
#6
aalexeev:
а что за коллекция? Или вы про неточность что дает прюнинг?

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

Hkey
На сайте с 30.09.2006
Offline
222
#7
aalexeev:
ИМХО это просто транжирство. зачем выбрасывать на ветер ресурсы?

есть такая вещь как таблица логарифмов. Пару сотен КБ в памяти и все логарифмы от целых чисел находятся за одно действие.

float * LogTable;

float inline Log(long i)

{

return LogTable;
}

Данил
На сайте с 17.01.2006
Offline
153
#8
G00DMAN:
IDF считается по массиву документов, который принято называть коллекцией.

Или корпус ;)

G00DMAN:
Есть мнение, что в такую коллекцию входит не весь индекс Яндекса.

Есть мнение, что вначале корпус состоял из библиотеки Мошкова...:)

Покупаю сайты (/ru/forum/394337). Заработай себе на екро — Сапа (http://www.sape.ru/r.0d0e35f6a7.php). Для продвжиения быстро и на автомате (http://www.seowizard.ru/r.0d0e35f6a7.php)!
A
На сайте с 11.05.2007
Offline
155
#9

человек считает

Hkey:
число найденных документов в миллионах(Ni)

прюнинг дает неточность. Конечно фигня, я понимаю, и по закону больших чисел погрешность будет равномерно распределена.

G00DMAN:
Есть мнение, что в такую коллекцию входит не весь индекс Яндекса.

может это лишь неточность дает, неужели прямо на несколько порядков??

Hkey:
есть такая вещь как таблица логарифмов. Пару сотен КБ в памяти и все логарифмы от целых чисел находятся за одно действие.

float * LogTable;
float inline Log(long i)
{
return LogTable;
}
_

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

Hkey
На сайте с 30.09.2006
Offline
222
#10
aalexeev:

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

На каждое слово в запросе одна лишняя итерация. Это не так уж много. Тем более это улучшает качество поиска.

12

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