Допустим, у нас есть n строк в strs
. Вы сравниваете все строки вместе, полную перестановку (n ^ 2) и строите матрицу nxn, где каждая ячейка является показателем сходства между 2 строками (i, j).
Как мне сделать этот шаг дальше и сгруппировать их в ведра? Практически, я ожидаю, что эти строки будут похожи / попадут в ведро - но есть вероятность, что некоторые новые могут не совпадать, поэтому я хочу найти наиболее близкое сходство или пересчитать ведра.
public Map<String, List<String>> bucketIt(String[] strs) {
int[][] arr = new int[strs.length][strs.length];
for (int i = 0; i < strs.length; i++) {
for (int j = 0; j < strs.length; j++) {
arr[i][j] = getSimilarityScore(strs[i], strs[j]);
}
}
// How do I take the scores out of arr[][] and group the strings of strs into buckets.
}
Я планирую использовать tdebatty / java -string-Similarity для подсчета очков. Решение, которое использует пороговое значение для всех сегментов, также приемлемо.