- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В литературе указана логарифмическая зависимость. Но на практике нет. Смотрел по сервису 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
Нигде я не ошибся?
Вывод получился верный, хотя ошиблись везде. :)
1. Ni никогда не присутствовало в вычислении IDF, вычисления ведутся по коллекции документов, а не по всей базе.
2. База Райцина парсилась давно, когда это было возможно, IDF тогда был не логарифмом.
3. К базе Яндекса с того времени приклеилось немеряно англоязычных доков.
Сейчас IDF - логарифм, почти наверняка. Это показывают мои исследования. База Райцина устарела, тогда например стоп-слова вообще не учитывались, а сейчас это не так. Т.е. для получения нормальной базы IDF нужно делать свою коллекцию или брать чью-то готовую, например в ромипе.
ЯПБ тоже наверное перешел на логарифмы, т.к. закрыли выдачу IDF. :(
ЗЫ. Я пока пользуюсь базой Михаила, других нет.
Возникает вопрос про ваши эксперименты. Как они проводились?
Почему этот вопрос я задаю: потому что считаю гипотезу изменения на log маловероятной. Поскольку Яндекс существует намного больше, чем база Михаила. Сначала внутренние факторы играли важную роль. Во всех источниках написан логарифм. Логарифм довольно быстро вычисляется по таблице.
Хотя возможно такое, что число которое загоняешь в колдовку логарифмируется?Т.е пишешь ::5066, а вес для расчетов будет равен log(5066).
Считать огромное число раз логарифм в реале нет смысла, как мне кажется.
Мой научно-исследовательский коллектив сейчас экспериментирует с аннотированием, пытается раскусить алгоритмы получения сниппетов в выдаче. Благо есть косячная статья с последнего ромипа, еще кое-какая инфа и база Михаила. Аннотирование использует логарифм, потому я и считаю, что ранжирование использует его же.
Считать огромное число раз логарифм в реале нет смысла, как мне кажется.
Мой научно-исследовательский коллектив сейчас экспериментирует с аннотированием, пытается раскусить алгоритмы получения сниппетов в выдаче. Благо есть косячная статья с последнего ромипа, еще кое-какая инфа и база Михаила. Аннотирование использует логарифм, потому я и считаю, что ранжирование использует его же.
Помой му подсветку уже давно отстала от мозгов.
Хотя возможно такое, что число которое загоняешь в колдовку логарифмируется?Т.е пишешь ::5066, а вес для расчетов будет равен log(5066).
ИМХО это просто транжирство. зачем выбрасывать на ветер ресурсы?
1. Ni никогда не присутствовало в вычислении IDF, вычисления ведутся по коллекции документов, а не по всей базе.
а что за коллекция? Или вы про неточность что дает прюнинг?
а что за коллекция? Или вы про неточность что дает прюнинг?
Прюнинг тут ни при чем, да и не дает он особой неточности, релевантность выдачи все время повышается. IDF считается по массиву документов, который принято называть коллекцией. Есть мнение, что в такую коллекцию входит не весь индекс Яндекса.
ИМХО это просто транжирство. зачем выбрасывать на ветер ресурсы?
есть такая вещь как таблица логарифмов. Пару сотен КБ в памяти и все логарифмы от целых чисел находятся за одно действие.
float * LogTable;
float inline Log(long i)
{
return LogTable;
}
IDF считается по массиву документов, который принято называть коллекцией.
Или корпус ;)
Есть мнение, что в такую коллекцию входит не весь индекс Яндекса.
Есть мнение, что вначале корпус состоял из библиотеки Мошкова...:)
человек считает
число найденных документов в миллионах(Ni)
прюнинг дает неточность. Конечно фигня, я понимаю, и по закону больших чисел погрешность будет равномерно распределена.
Есть мнение, что в такую коллекцию входит не весь индекс Яндекса.
может это лишь неточность дает, неужели прямо на несколько порядков??
есть такая вещь как таблица логарифмов. Пару сотен КБ в памяти и все логарифмы от целых чисел находятся за одно действие.
float * LogTable;
float inline Log(long i)
{
return LogTable;
}
_
Если вспомнить что счет идет на миллисекунды и код вылизывается до блеска то оставить сотни и тысячи лишних итераций (даже в 1 действие) на каждый документ кажется мне по меньшей мере странным и малореальным.
Если вспомнить что счет идет на миллисекунды и код вылизывается до блеска то оставить сотни и тысячи лишних итераций (даже в 1 действие) на каждый документ кажется мне по меньшей мере странным и малореальным.
На каждое слово в запросе одна лишняя итерация. Это не так уж много. Тем более это улучшает качество поиска.