Косинусное сходство
Работает это так. Представьте два вектора как стрелки, выходящие из одной точки. Если стрелки указывают почти в одну сторону — угол между ними мал, его косинус близок к единице, и объекты считаются похожими. Если стрелки перпендикулярны — косинус равен нулю, значит, связи нет. Если направлены противоположно — косинус равен минус единице, объекты по смыслу враждебны. Длина стрелок не важна: вектор «кошка» и вектор «очень-очень кошка» будут иметь высокое сходство, потому что смысл у них почти одинаковый.
Прикладной пример: поиск по запросу «быстрый автомобиль». Система превращает запрос и каждый документ в вектор. Документ про «скоростную машину» получит высокий балл, даже если в нём нет слова «быстрый», ведь векторы этих фраз направлены схоже. А статья про «медленную лошадь» окажется почти перпендикулярной запросу и получит низкий балл.
Косинусное сходство — простая и наглядная метрика, которая лежит в основе многих современных ИИ-систем, помогая им сопоставлять смыслы, а не просто буквы.
Поделиться