【发布时间】:2014-08-31 23:40:12
【问题描述】:
我有 python 程序,它从几个站点获取文章并将它们存储在数据库中,就我而言,当我不想在数据库中添加新文章时,我应该检查它不是重复的文章。我想简单地通过获取相似性百分比并为其设置阈值来完成这项工作(例如,我说如果(两个字符串的相似性百分比)> 70% 那么新文章是重复的)
我的问题是找到相似度的百分比。现在我使用difflib 和 SequenceMatcher 类:
diff = SequenceMatcher(
None, article1.content, article2.content).ratio()
但这是不对的,我认为在这种情况下使用HashingVectorizer 更好(?):
vectorizer = HashingVectorizer(n_features=(2**18))
article1_vector = vectorizer.transform([article1.content])
article2_vector = vectorizer.transform([article2.content])
如何获得两个哈希向量的相似度百分比(例如余弦距离)以及如何将其转换为百分比?谢谢你的回答。
【问题讨论】:
标签: python scikit-learn vectorization