Предположим, есть 2 документа D1 и D2. Нам нужно вычислить расстояние между ними. Здесь расстояние показывает сходство между этими двумя документами.

Документы в основном воспринимаются как последовательность слов, а слова - это строка буквенно-цифровых символов. Они похожи, если имеют много общих слов.

Для Документа D и слова W. D [W] = количество раз, которое W встречается в D (это целое число).

Например:

D1 = «кот»

D2 = «собака»

Предположим, что D1 и D2 являются векторами.

Здесь, на графике, D1 и D2 имеют общее «the», поэтому оба вектора встречаются на «оси», но другие части векторов лежат в другой плоскости.

Обозначим расстояние между двумя документами как d ’(D1, D2).

Тогда d ’(D1, D2) = D1. D2 (скалярное произведение) = sigmaW D1 [W]. D2 [W]. - Мы называем это счетом.

Это скалярное произведение не зависит от масштаба, оценка для большого документа больше.

Чтобы решить эту проблему, мы разделим на длину векторов, то есть угол между обоими векторами даст оценку.

Оценка d ’(D1, D2) = D1. D2 / (| D1 || D2 |) = arc cosd ’

Алгоритм выполнения вышеуказанного:

  1. Разделите документ на слова.
  2. Вычислить частоту слов.
  3. Скалярное произведение.

Первый шаг - разделение и сохранение слов при появлении пробела.

На втором этапе выполняется итерация по документу и добавление слов в частотный словарь.