如何计算两篇文章的相似度? 基础知识预备: 1.什么是空间向量: 空间中具有大小和方向的量叫做空间向量。向量的大小叫做向量的长度或模(modulus) 空间向量的坐标表示:A(x,y ,z)
2.空间向量的运算: 空间向量的坐标运算:设a=(x1,y1,z1),b=(x2,y2,z2) |a|=
(根据勾股定理) a+b=(x1+x2,y1+y2,z1+z2) a-b=(x1-x2,y1-y2,z1-z2) ka=k(x1,y1,z1)=(kx1,ky1,kz1) a·b=x1x2+y1y2+z1z2 a∥b<=> a=kb(b≠0, ) a⊥b<=> a·b=0<=>x1x2+y1y2+z1z2=0
3. TF-IDF算法--用于筛选关键词 TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。 TF表示词条在文档d中出现的频率。 当然,并不是说一个词出现的次数多,那么就可以使用这个词当做文章的关键词。比如说一篇文章中出现女性,果酸,激光的频率是一样的,但是明显果酸和激光的重要程度要大于女性,因为女性是一个很常见的词,所以我们就需要引入一个“权重的概念”来给特征词做一个排序。 IDF就是这个权重。 词频乘以权重,就是这个词的TF-IDF。TF-ID越大,那么表示这个词就很可能是文章的关键词。 简单来说,如果一个词很少见,但是在这篇文章里出现的频率很大,那么就可以算作是我们我们想要的关键词。 假如一篇文件的总词语数是100个,而词语“母牛”出现了3次,那么“母牛”一词在该文件中的词频就是3/100=0.03。一个计算文件频率 (IDF) 的方法是文件集里包含的文件总数除以测定有多少份文件出现过“母牛”一词。所以,如果“母牛”一词在1,000份文件出现过,而文件总数是10,000,000份的话,其逆向文件频率就是 lg(10,000,000 / 1,000)=4。最后的TF-IDF的分数为0.03 * 4=0.12。 Gensim and scikit-learn已经实现了TFIDF算法,可以直接在python里调用,就能帮我们提取关键词。 4.余弦相似度 Cosine similarity is a measure of similarity between two vectors of an inner product space that measures the cosine of the angle between them. The cosine of 0° is 1, and it is less than 1 for any other angle.
https://en.wikipedia.org/wiki/Cosine_similarity 简单来说,对于给定的词或者短语或者文章,计算转换成TF-IDF vectors,然后计算他们的夹角余弦值。 为什么余弦相似度可以用来判断文章相似度? 设想一下,二维平面的有两条有方向的线段,如果他们的夹角是0,那么意味着他们方向一致,重合,如果是90度,意味着他们的方向不一致;如果是180度,则意味着他们的方向相反。因此,我们可以通过向量的夹角,来判断向量的相似程度。使用余弦来表示就是,如果靠近1,就说明相似度大,如果靠近0,意味着相似度很小。 举个例子,判断以下两个句子的相似度? a:我今天在食堂吃早饭 b:我今天也在食堂喝粥。 a 取关键词:我,今天,食堂,吃,早饭 b 取关键词:我,今天, 麦当劳,吃,早饭 我们的特征词就是 我,今天, 食堂,吃,早饭,喝粥。 分别给a和b两个句子,转换成相应的向量,向量纬数就是关键词的数量,各个维数的值是哥证词的频率。所以a的向量是{1,1,1,1,1,0},b的向量是{1,1,1,0,0,1} (为什么拿到词频数之后,就需要转换成向量运算?比如我们如果需要比较两条线段,只需要一个纬度(长度),比较正方形,需要两个纬度,宽和高。同理,每个句子或者每篇文章都可以当作是关键词的组成。当我们拿到所有的特征词之后,就需要转换成统一的n纬向量进行比较。) 计算着两个6纬的空间向量的夹角的cos值(参考前面的公式)0.707 总结以下,计算两篇文章的相似度的思路是: 1。根据TF-IDF算法提取两片文章相同数量的特征词(比如每篇文章10个) 2。汇总提取出来的关键词,生成一个新的特征词集合(比如最终15个特征词) 3。根据第二步提取出来的特征词集合,分别计算两篇文章的特征值向量 4。计算两个向量的夹角的余弦值。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/74117.html