为了计算两个文档之间的相似度,我创建了一个包含术语频率的特征向量。但是,在下一步中,我无法决定使用 "余弦相似度" 还是 "汉明距离"。
我的问题是:您是否有这些算法的经验?哪一个给您带来更好的结果?
此外:您能告诉我如何在 PHP 中编写余弦相似度吗?对于汉明距离,我已经得到了代码:
我不想使用其他算法,我只希望获得在两者之间做决策的帮助。
也许有人可以谈谈如何改进算法。如果过滤掉停用词或常用词,是否会获得更好的结果?
希望你能帮助我。提前感谢!
我的问题是:您是否有这些算法的经验?哪一个给您带来更好的结果?
此外:您能告诉我如何在 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));
}
我不想使用其他算法,我只希望获得在两者之间做决策的帮助。
也许有人可以谈谈如何改进算法。如果过滤掉停用词或常用词,是否会获得更好的结果?
希望你能帮助我。提前感谢!
echo check(array('a', 'b', 'c'), array('a', 'b', 'c'));
。它应该返回1(cos(0)),但他的函数返回0.33。:( - Toto