英文关键词计算tf-idf 余弦相似度_文本相似度的那些事

本文介绍了文本相似度的三种主要解决方案:基于关键词的传统方法,利用TF-IDF和余弦相似度的向量空间方法,以及深度学习的方法。重点讨论了TF-IDF的优缺点,word2vec的创新之处,以及多种距离度量在计算向量间相似度的应用。随着深度学习的发展,传统方法逐渐被取代。
摘要由CSDN通过智能技术生成

c5b6f0ba7c1a79b935e444aa88e2b843.png

生活中,人们会产生大量的文本信息,而这些信息当中蕴含了巨大的信息,需要我们用一些技能去最大化的挖掘他的价值,从而反过来促进社会的发展,从而良性循环。

文本是一种高纬度的语义空间, 对其合理的分解,从而转换成数学问题, 利用向量进行计算,或者转换成分类问题进行求解, 或者转化成聚类问题。

在文本相似度这方面,现在主要的解决方案可以大致分为三大类。第一大类,给予关键词的传统方法。第二大类,将文本映射到向量空间,再利用余弦相似度。第三大类,利用深度学习的方法,进行特征embedding,比如基于用户点击数据的深度学习语义匹配模型DSSM, 基于卷积神经网络的ConvNet。

本文作为相似度的总结,对每一种都做简要概括。

基于关键字匹配,类似物理学两个铁球同时落地那个实验,所见见所得。说白了,就是把句子切分成多个小段文字,然后进行俩俩字符串比较。脑袋瓜转一下,当两个句子是完全成景象的,那么他们就完全不相似。

Jaccard 相似度,这个我们可以理解成,字重叠率,对与重叠部分与所有总和的比值,这个看起来要比上面的要合理些。

基于上面的传统方案,并不是太理想,之后,人们就转战到讲句子投影到向量空间的方法

还是先提一下基于公式计算来的吧。没错,那就是TF-IDF。这个不得不说,某次在中科院面试,竟然有被问到

问:你是如何构建句子的特征的?

答:利用tf-idf。。。。。。

问:这个怎么构建特征,它计算的是权重呀?

这个,这个作者当时还真碰到了,现场我还愣了一下,这面试官是果然是刚毕业的小硕一枚哈。

本质上IDF是一种试图抑制噪音的加权 ,并且单纯地认为文本频数小的单词就越重要,文本频数大的单词就越无用,显然这并不是完全正确的。IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能,所以TFIDF法的精度并不是很高。

对于一想常用词,比如的,得,地,很是难搞。这不 word2vec出来了,这个我之前有博客。最早出现在Bengio等人在《A neural probabilistic language model》。Mikolov et al. (2013)提出的word2vec核心思想是认为词的意思可以从它频繁出现的上下文信息中体现《A word’s meaning is given by the words that frequently appear close-by》。

这个word2vec我不得不说,真实一个好的发明,虽然在18年之后,它变得不厉害了,但是依然很受程序小哥们的喜爱。因为他实在是太好了,完全可以把它当成一个词典,遇到不知道的单词,查表,就能搞定。

而它也并不是没有缺点,只是被优点完全掩盖了。但是我还是提一下它的不足,在进行语义表示的时候,是属于一对一的,但是,在生活中,一个人突然说苹果,你能知道它说的指代什么吗?而且训练之后向量就不能改变,针对特定任务优化很难搞!

上面聊的都是表示,拿到向量,我们应该怎么计算呢?这个就多了,只要能衡量两个数字之间的差距,就可以了。比如欧式距离,曼哈顿距离,余弦相似度,问可夫斯基,汉明距离等等,实在是太多了。

当然了,还是当下已经是深度学习的天下,传统的方案也就慢慢的退出历史的舞台。这就像计算机的发展一样,从二进制表示到量子计算机的发展。

伪代码如下:

embedding|word2vec|elmo|glove|bert|gpt
lookup
conv|cnn|lstm|gru|rnn|
dense

这里只列举了一项工作中常会考虑的方案,当然这一部分还有好多算法实验,但是并不是所有的都需要,比如BM25公式更加复杂,而它也是面试常问的,个人观点,这个就没什么意思了,问这个,还不如问问它针对tf-idf做了那些改进,然后在工作中才会去优化它。

好了,今天就写这些吧,尽量通熟易懂!少一些公式,多一些大白话。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TF-IDF余弦相似度是一种常用的文本相似度计算方法。TF-IDF(term frequency–inverse document frequency)表示词频-逆向文件频率,用于评估一个词在一个文件集或语料库中的重要程度。TF-IDF计算公式为TF-IDF = TF(词频)* IDF(逆文档频率),其中词频指的是一个词在一篇文章中出现的频率,逆文档频率指的是该词在整个语料库中出现的频率的倒数。通过计算文本中每个词的TF-IDF值,并将其表示为向量,可以根据这些向量之间的夹角余弦值来衡量文本之间相似度。余弦值越接近1,表示夹角越接近0度,即两个文本越相似。因此,TF-IDF余弦相似度可以用于查找相似的文章或进行文本分类等任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [TF-IDF与余弦相似性的应用(二) 找出相似文章](https://download.csdn.net/download/weixin_38614417/12871339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [TF-IDF算法和余弦相似度算法计算文本相似度(纯手撕)](https://blog.csdn.net/yjh_SE007/article/details/108429694)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值