Словарь ИИ
Что такое косинусное сходство
Коротко
Косинусное сходство это мера близости двух векторов по углу между ними: чем меньше угол, тем выше значение и тем больше похожи тексты, которые эти векторы описывают.
Поиск и RAG · cosine similarity
Михаил МозгПроверено: 1 минута чтения
Ребенку
Представь, что ты и друг стоите в центре площадки и показываете руками направление. Если вы оба показываете на горку, ваши руки смотрят почти в одну сторону. Если ты на горку, а он на качели, между руками большой угол. Неважно, у кого рука длиннее. Косинусное сходство измеряет, насколько два направления совпадают.
Простыми словами
Когда текст превращают в эмбеддинг, получается стрелка в пространстве с множеством осей. Тексты с похожим смыслом дают стрелки, которые смотрят почти в одну сторону. Эта мера сравнивает именно направление, а не длину стрелок. Значение 1 значит, что направления совпадают, 0 значит, что стрелки перпендикулярны и тексты не связаны, отрицательное значение значит, что они смотрят в разные стороны. Например, фразы «сломался принтер» и «не печатает МФУ» получат высокое значение, а «сломался принтер» и «график отпусков» низкое.
Для бизнеса
Эту формулу использует почти любой поиск по смыслу, и руководителю полезно знать одно: число сходства не означает процент правильности. Значение 0,8 у разных моделей означает разное, а порог «считать фрагмент подходящим» подбирают на ваших данных. Ошибка с порогом стоит дорого: слишком низкий тянет в ответ мусор, слишком высокий оставляет ассистента без материала, и он отвечает «не знаю». Сами вычисления дешевые, расходы определяют число векторов и способ поиска по ним. Когда команда говорит «сходство 0,9», спросите, на каком наборе вопросов проверен порог. Такие вопросы проще задавать, если понимать общий принцип работы ИИ.
Для специалиста
Косинусное сходство (cosine similarity) векторов a и b равно их скалярному произведению, деленному на произведение норм: cos θ = a·b / (‖a‖ ‖b‖). Значение лежит от -1 до 1 и не зависит от длины векторов. Для векторов единичной длины оно совпадает со скалярным произведением, а ранжирование по нему совпадает с ранжированием по евклидову расстоянию. В документации OpenAI по эмбеддингам косинус рекомендован по умолчанию с оговоркой, что выбор функции расстояния обычно мало влияет. Sentence-BERT (Reimers, Gurevych, 2019) сравнивает эмбеддинги предложений именно косинусом. Ограничения: Steck, Ekanadham, Kallus (2024) аналитически показали на регуляризованных линейных моделях, что косинусное сходство выученных эмбеддингов может давать произвольные значения, зависящие от выбора регуляризации, и призвали не применять его без проверки. В векторных базах косинус часто реализуют через нормирование векторов при записи и скалярное произведение при поиске, что упрощает индексы приближенного поиска.
Пример
Ассистент получает вопрос «как оформить больничный» и сравнивает его вектор с векторами всех фрагментов базы. Фрагмент из положения о временной нетрудоспособности получает сходство выше остальных и уходит в ответ.
Связанные термины
Вопросы и ответы
Что значит косинусное сходство 0,8?
Чем косинусное сходство отличается от скалярного произведения?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений