Чтобы вычислить сходство между двумя документами, я создаю вектор признаков, содержащий термины частот. Но затем, для следующего шага, я не могу решить между "" сходство с косинусом" и " Расстояние Хэмминга.
Мой вопрос: У вас есть опыт работы с этими алгоритмами? Какой из них дает вам лучшие результаты?
В дополнение к этому: Не могли бы вы рассказать мне, как закодировать сходство косинусов в PHP? Для расстояния Хэмминга у меня уже есть код:
function check ($terms1, $terms2) {
$counts1 = array_count_values($terms1);
$totalScore = 0;
foreach ($terms2 as $term) {
if (isset($counts1[$term])) $totalScore += $counts1[$term];
}
return $totalScore * 500 / (count($terms1) * count($terms2));
}
Я не хочу использовать какой-либо другой алгоритм. Мне хотелось бы только помочь решить между ними.
И, может быть, кто-то может что-то сказать о том, как улучшить алгоритмы. Получите ли вы лучшие результаты, если отфильтровать слова остановки или общие слова?
Надеюсь, ты поможешь мне. Спасибо заранее!