文本匹配_全面梳理文本相似度/匹配-附代码-深度好文-不容错过

本文全面介绍了文本匹配和相似度判定的重要性及其应用场景,包括无监督和有监督的方法。无监督方法中,重点讲解了BM25、WMD和SIF的原理。有监督方法中,探讨了SiamGRU和ESIM模型。理解这些方法对于在搜索、去重等场景中的文本处理至关重要。
摘要由CSDN通过智能技术生成

微信公众号:NLP从入门到放弃

本文涉及到的代码:https://github.com/DA-southampton/NLP_ability/blob/master/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/%E6%96%87%E6%9C%AC%E5%8C%B9%E9%85%8D_%E6%96%87%E6%9C%AC%E7%9B%B8%E4%BC%BC%E5%BA%A6/src/models.py

如果想要获取本文PDF版本,查看这个文章获取对应文章PDF:https://mp.weixin.qq.com/s?__biz=MzIyNTY1MDUwNQ==&mid=2247484174&idx=1&sn=da89d66cb09b39297144dd50cfe10820&chksm=e87d3128df0ab83eeaa5fa1c3bcf6ffb1bb3b46d1471f26e3cfb92c2a0b1e686876cc2f809ff&token=1539851539&lang=zh_CN#rd

1. 前言-为什么需要文本匹配/文本相似度判定使用场景

先问一个核心问题,为啥需要文本相似度/文本匹配?换句话说,文本匹配的应用场景有哪些?

举个例子,比如说海量文本去重。

在一些社交媒体,某个话题之下,存在大量的营销号的文本,这些文本存在一个特点,内容大同小异,都在说同一个事情。

我在对这些文本进行处理的时候,本质上只需要处理其中的一条就可以,这样可以极大提高我的处理速度。

那么问题来了,我如何判定句子a和句子b/c/d/e等等是在说同一个事情?

再举个例子,老生常谈,搜索场景,你在某度搜索“深度学习如何入门?”,某度如何返回和你这个问题最接近的问题/文章/博客等等内容网页?

这些本质上都是在做文本相似度的判定或者说文本匹配,只是在不同场景下,有着不同办法不同的特色。

文本匹配,并不是简简单单的词汇层次的匹配:比如“深度学习如何入门”和“如何入门深度学习”。

还会有语义方面的匹配考虑,比如说“我想撒尿去哪里啊?”和“我想去卫生间”。这两句话在问答系统中,匹配到标准问题都是“卫生间在哪里”这个问题。

对文本匹配方法来说,我们一般可以使用两种:无监督和有监督。

2.无监督文本匹配

首先我们来谈一下无监督的方法。

对于无监督的文本匹配,我们需要实时把握两个重点:文本表征和相似函数的度量。

文本表征指的是我们将文本表示为计算机可以处理的形式,更准确了来说是数字化文本。而这个数字化文本,必须能够表征文本信息,这样才说的通。

相似函数的度量就是你选择何种函数对文本相似度进行一个判定,比如欧氏距离,余弦距离,Jacard相似度,海明距离等等

我大概梳理了一下无监督的几种比较典型的方法,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值