В семантическом поиске используются три общие метрики сходства для измерения сходства/расстояния между векторами, включая квадрат L2 (l2), внутренний продукт (ip) и косинусное сходство (косинус).

Для L2 его обычно называют евклидовым расстоянием. Предположим, что есть два вектора размерности n:

Квадратное расстояние L2:

В семантическом поиске мы обычно используем расстояние. Внутренний продукт используется для подобия. Таким образом, мы получаем его расстояние путем вычитания.

Мы применяем ту же идею вычитания к косинусному подобию.

На самом деле, если x и y нормализованы, все три расстояния эквивалентны. Контекст таков, что нормализовано, тогда скалярный продукт ‹x, x› = ‹y, y› = 1

  1. Подобие косинусов и внутренний продукт совпадают.
  2. Для l2 и ip отношение равно l2=2*ip. Таким образом, два расстояния просто пропорциональны, что не меняет результат поиска.

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