工具类
- jieba
- snownlp:分词、词性标注、情感分析、文本分析、转化拼音、繁体字转简体字、提取文本关键词、提取文本的摘要、tf、idf、句子分割、文本相似度、
- xmnlp:今日头条团队的、轻量级的NLP
- deepnlp
概述
每年毕业季,各位学子都会使用一个叫做论文查重系统,来检测是否毕业论文存在抄袭嫌疑。如何衡量两篇论文之间的相似度呢?面对类似的问题,人们提出了文档相似度的概念。文档相似度指的是两篇文档之间的相似程度,也被称为文档距离。文档相似度通常是文本聚类、信息检索等NLP任务的基础,常见的计算文档距离的方法包括simhash和余弦距离。
simhash算法
simhash是由Charikar在2002年提出来的,论文名为《Similarity estimation techniques from rounding algorithms》。Google基于simhash在海量网页中进行相似度计算并去重。通常对比两个文档是否相同时,会计算对应的hash值,常见的算法包括md5和sha256。实际使用中,对于检测文档是否被篡改时,使用hash值具有不错的表现。但是当文档内容因为修改少许文字,插入广告甚至只是修改了标点符合和错别字,都会导致hash值改变