Если брать в расчет фразу "Под пассажем мы понимаем ...", получается, что стандарта, вроде как и нет.
Кстати, процитированное высказывание не исключает возможности пересечения пассажей.
Дык, вот... Никак не народится :)
Так что у Вас есть шанс на белого коня :)
Ну, в моих терминах это и не надстройка вовсе. Если, все же считать это надстройкой, то, имхо, она на порядки проще того, о чем шла речь выше.
Не совсем согласен :) случаи немного различаются :)
Тут я с Вольфом солидарен - из-за "собираются", имхо, уши суммы торчат :)
Ну почему же не выйдет? Еще как выйдет... если пассажи пересекаются :)
По остальному возражений нет? :)
С одной стороны, Сегалович и так, имхо, несколько отошел от классического алгоритма tf*idf.
С другой стороны, для согласования алгоритма пересекающихся пассажей с "идеей алгоритма tf*idf" достаточно разделить вес "общих" терминов между пассажами (это выше уже обсуждали). ИМХО, это не сложно сделать корректно.
Не согласен. На конкретном примере показываются преимущества яндексовского алгоритма расчета веса словопозиции:
Если это не очевидно, можно во второй пассаж добавить еще одну (или несколько) конструкций типа
_ _ _ AA _ cc _ _ _
Да, арифметика.
При существенной разнице в весах терминов, недобор веса пассажем из-за большого растояния между терминами bb cc и dd будет незначителен.
Например, поднабором ТНК :) Т.к. если применить упрощенный алгоритм ограничения учета повторяющихся терминов, не получится уловить различия в релевантности для довольно большой группы пассажей.
Соответственно, вопрос. Зачем так уродовать надстройками (кстати, тоже не идеальными) один алгоритм, когда другой (в чистом виде, без надстроек) позволяет достичь тех же результатов?
Ведь все эти надстройки и модули необходимо еще грамотно настроить изначально, а в дальнейшем постоянно перенастраивать.
Мне все не кажется таким простым. В частности, имея запрос [aa bb cc dd] и следуя Вашим простым алгоритмам без поднабора, из двух пассажей
[AA bb cc dd] и [AA bb _ _ _ _ _ _ AA _ cc _ _ _ _ _ _ _ AA _ _ dd] более релевантным запросу будет признан второй. Что не очень согласуется с цитатой Сегаловича из моего предыдущего поста.
wolf, я немного другое в виду имел.
Если мы имеем пассаж без повторов терминов, то все относительно просто - производим "вычисление веса каждой словопозиции с учетом расстояния до всех остальных слов из запроса, попавших в пассаж". При этом используется табулированный набор коэффициентов и обеспечивается вот это:
Но если у нас появляются повторы терминов, то при использовании того же самого табулированного набора коэффициентов(ТНК) возникает опасность что пассаж, обладающий меньшим контекстуальным сходством получит больший вес. Что бы этого не произошло, в ТНК необходимо предусмотреть отдельный "поднабор" коэффициентов для повторяющихся терминов. С учетом разнообразия вариантов "повторяемости" терминов, объем этого "поднабора", имхо, будет на порядки больше, чем изначальный ТНК. При этом, как минимум, данный "поднабор" требует тщательной настройки и "обкатки", а, как максимум, создать подобный "поднабор" невозможно (т.е. ни при каких коэффициентах выполняться (во всем диапазоне возможных "значений") процитированное выше не будет).
При всем при этом, мы условно знаем, что ТНК применяется.
Учитывая чрезвычайно высокую сложность создания и "обслуживания" описанного выше "поднабора" (не говоря уже о том, что сама возможность его существования под вопросом), можно предположить, что ТНК существует без этого "поднабора".
Если ТНК существует без "поднабора", то механизм учета контекстуального сходства пассажа и запроса все же может корректно работать. Например, при использовании метода "пересекающихся пассажей", в которых повторяемость терминов отсутствует как класс.
Так какая сторона перевешивает?
Сумма :)
А вот это уже зависит от Правила формирования пассажей. Может куча, а может и меньше. Даже если и куча, что с того? Зато в точности выигрыш получаем.
имхо, не сложнее всего остального, о чем мы уже знаем.
Я правильно понимаю, что вы (в смысле, группа лиц :) ) предлагаете использовать простейший из возможных в данном случае алгоритмов расчета контекстуального сходства - раздельный расчет веса каждой (в том числе, повторяющейся) словопозиции? В этом случае, действительно, усложнять этот самый "табулированный набор" не потребуется.
Но как тогда быть с основным козырем яндексовского алгоритма расчета контекстуального сходства:
Если взвешивать каждую (в том числе, повторяющуюся) позицию отдельно, то пассаж, обладающий меньшим контекстуальным сходством может получить больший вес.
Нам со стороны сложно судить, что именно прижилось в поиске и по каким причинам.
Первое, имхо, логичнее т.к. получится учесть веса повторяющихся терминов при вычислении веса пассажа. Но возникнут сложности с "табулированным набором коэффициентов" - он же не резиновый, на все варианты "повторяемости терминов" коэффициентов, имхо, не напасешься :) В случае использования пересекающихся пассажей такая проблема не стоит.