Иметь корпус более миллиона документов
Для данного документа нужно найти похожие документы с использованием косинуса, как в модели векторного пространства
Все tf были нормализованы с использованием увеличенной частоты, чтобы предотвратить смещение к более длинным документам, как в этом tf-idf :
Предварительно рассчитали все
Предварительно рассчитать значения для знаменателя.
Так что для данного нужно набрать более 1 млн.
Имеют порог в 0,6 косинуса для сходства.
Я могу наблюдать, что для данногосуществует довольно узкий диапазондля косинуса 0.6
Например, в одном поиске для косинуса 0.6 и a7,7631 тогдадиапазон от 7,0867 до 8,8339,
где за пределами порога косинуса 0,6диапазон от 0,7223 до 89,3395
Это было при стандартной нормализации тф документов.
Она смотрит на многокоторые не имеют шансов быть косинусом 0,6 матча
Напоследок вопрос:
для дачии косинус> = 0,6, как можно определить диапазончто есть шанс?
Которыйя могу безопасно устранить? | | д 2 | | | | д 2 | |
Я также знаю количество терминов в и d 2, если есть диапазон подсчета терминов.
С помощью экспериментов
и | | д 2 | | < | | д 1 | | / .8
кажется безопасным, но, надеюсь, есть диапазон, который доказал свою безопасность
Создано несколько тестовых случаев с очень некоторыми уникальными терминами, некоторые не настолько уникальными, а некоторые общими. Конечно же, вы можете взять самый уникальный термин и увеличить эту частоту в сравнении. Числитель (точка произведения) будет расти, и поэтому || будет сравнивать || и получит косинус очень близко к 1.
Вид связан, а не вопрос.
Я также использую tf-idf для группировки документов в группы. Клиентская база, в которую я продаю, используется почти рядом с двойными группами. Там я использую связанный подход, я считаю, что подсчет наименьшего срока и сравниваю его с подсчетом до 3х. Таким образом, отсчет сроков 10 смотрит на 10-30 (4-9 уже сделали свой выстрел в 10). Здесь я могу позволить себе пропустить одно, подцепить его за другое. Я сделал 10%, а самое большое соотношение - 1,8.
Пожалуйста, определите недостатки в этом анализе.
Как указано в AN6U5, в этом анализе есть недостаток.
Это уже не косинус, если документ нормализован на взвешенном
И, как указал Мэтью, также не может прийти к выводу, d1⋅d2≤d1⋅d1
Я еще надеясь на то , чтобы дать мне трудно связаны , но люди , которые , кажется, знают этот материал говорят мне , нет ,
я не хочу , чтобы изменить этот вопрос так просто игнорировать это
я буду делать некоторый анализ и возможно опубликовать отдельный вопрос о документе нормализации
для Цель этого вопроса - предположить, что документ нормализован по сырому тф
Извините, но я не очень хорошо разбираюсь в том, какая когда-либо разметка используется для составления уравнений.
Так что в моих обозначениях
|| d1 || = sqrt (сумма (w1 x w1))
d1 точка d2 = сумма (w1 X w2)
Предположим, что d1 является более коротким документом.
Самая лучшая точка d1 d2, которую можно достичь, это d1 точка d1.
Если d1 состоит в браке 100, пол 20
И d2 состоит в браке, 100 пол 20, петер 1
Нормализован
d1, женат 1 пол 1/5
d2 женат 1 пол 1/5 петр 1/100
Ясно, у брака и Павла одинаковый idf в обоих документах
. Наилучшее возможное d1 точка d2 это d1 точка d1
Максимально возможное совпадение с d1 равно d1,
потому что d1 точка d1 / || d1 || || Д2 ||
квадрат обе стороны
cos X cos = (d1 точка d1) X (d1 точка d1) / ((d1 точка d1) X (d2 точка d2)) cos X cos = (d1 точка d1) / (d2 точка d2)
взять квадрат корень с обеих сторон
cos = || d1 || / || d2 ||
это || d2 || не ограничен кос?
Если я просто использую || d2 || > = cos || d1 || и || d2 || <= || d1 || / Потому что я получаю скорость вычислений мне нужно
источник
Ответы:
К сожалению, математика упрощается, чтобы показать, что вы не можете строго обосновать ограничение косинусного сравнения векторов на основе их длин.
Ключевым моментом является то, что показатель косинуса подобия нормализуется на основе длины, поэтому учитываются только единичные векторы. Я знаю, что это не обязательно тот ответ, который вы хотели получить, но математика ясно показывает, что метрики косинусного сходства не зависят от длины вектора.
Давайте посмотрим на математику более подробно:
Вы применяете метрику сходства косинусов и требуете, чтобы эта метрика была больше 0,6:
.
Но скалярные длины снизу можно распределить по перекрестным произведениям выше (свойство распределения):
Therefor:
зависит только от ориентации векторов, а не от их величины (то есть длины).
Примиряя это с тем, что вы делаете:
Несмотря на то, что показывают результаты линейной алгебры, вы все равно можете увидеть статистически значимый результат. Практически говоря, вы можете обнаружить, что статистика показывает, что ограничения длины действительны для ваших данных. Например, вы можете обнаружить, что твиты никогда не имеют косинусного сходства по сравнению с «Войной и миром» Толстого. Если ваша статистика выглядит хорошо для использования | | д 2 | | > .8 | | д 1 | | и | | д 2 | | < | | д 1 | |≥0.6 ||d2||>.8||d1|| ||d2||<||d1||/.8
Возможно, вы можете согласовать то, что вы делали, с метриками расстояния, также учитывая евклидово расстояние. Если косинусное сходство возвращает значение только от -1 до 1 на основе угла между двумя векторами, евклидовы расстояния будут возвращать значения, которые зависят от длины двух векторов. В некотором смысле вы комбинируете аспекты евклидова расстояния с косинусным сходством.
Весьма разумно требовать, чтобы относительные длины находились в пределах 25% друг от друга в том смысле, что это объединяет аспект евклидова расстояния для создания групповых куполов, что сокращает время вычисления, тогда можно использовать сходство по косинусу без учета длины окончательный определитель.
Обратите внимание, что 1 / .8 = 1.25, поэтому d2> =. 8d1 является более жестким ограничением, чем d2 <= d1 / .8. Я предлагаю использовать d2> =. 75d1 и d2 <= 1.25d1, так как это симметрично.
Надеюсь это поможет!
источник
Чтобы проработать некоторую алгебру, позвольте мне ввести еще несколько терминов (и переименовать некоторые в более короткие):
источник
Я отправляю ответ, но ясно, я буду награждать бонус другому
Я думаю, что есть максимальный числитель, если документ TF нормализован
d1⋅d2 / (|| d1, d2, |||| ||)
Предположим, d1 имеет одинаковые или меньшие термины (или просто беру d с меньшим количеством терминов)
. Максимально возможное нормализованное значение tf равно 1.
Таким образом, максимально возможная сумма числителя (tf1, i * idf, i * 1 * idf, i)
|| Д2 || = сумма (tf1, i * idf, i * 1 * idf, i) / || d1 || / .6
Как минимум, я работаю над этим, но, безусловно, есть минимум.
Если вы собираетесь соответствовать, у вас будет || d ||
источник