Pull to refresh

Comments 4

Не вполне понятно, почему для сравнения алгоритмов выбрано евклидово расстояние? Во-первых, как правило, sentence transformers тренируют на косинусном расстоянии. Во-вторых, а что, после преобразования Вы также используется косинусное расстояние для поиска похожих, ведь так? Так откуда и зачем использовать евклидово?

Добрый день!

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

Однако сравнение алгоритмов это уже не задача о сходстве. Я получил значения эталонных оценок и значения базового и преобразованных семантических сходств.

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

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

Спасибо за замечания!

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

Идея хорошая!

Sign up to leave a comment.

Articles