Ускорение сравнения текста (с разреженными матрицами) - PullRequest
0 голосов
/ 21 сентября 2009

У меня есть функция, которая принимает две строки и выдает значение сходства косинусов, которое показывает связь между обоими текстами.

Если я хочу сравнить 75 текстов друг с другом, мне нужно сделать 5625 отдельных сравнений, чтобы все тексты сравнивались друг с другом.

Есть ли способ уменьшить это количество сравнений? Например разреженных матриц или k-средних?

Я не хочу говорить о своей функции или о способах сравнения текстов. Просто о сокращении количества сравнений.

Ответы [ 2 ]

1 голос
/ 21 сентября 2009

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

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

1 голос
/ 21 сентября 2009

Если ваш алгоритм является попарным, то вы, вероятно, не сможете уменьшить количество сравнений по определению.

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

Без подробной информации о вашей функции трудно оказать какую-либо конкретную помощь.

...