2019大数据挑战赛

1.前言

2.基础知识准备

对于此次比赛,从本质上讲是计算query与title相似度,而相似度的度量方式一般可以分为如下几种
1.通过tf-idf / bm25 计算每一个word权重值,以权重值作为word的表示,使用欧氏距离或者余弦相似度计算query和title之间的相似度
2.使用word to vector 训练每一个word的向量表示,将query中每一个word的向量表示求平均(或者使用tf-idf做加权平均),然后通过余弦相似度计算query和title之间的相似度
3.使用深度学习的方法,一般在深度学习model中会将label encoding之后的query和title进行embedding操作,得到query和title中每一个word的embedding向量,每一个query和title对应一个embedding矩阵,通过使用不同的特征提取器(CNN,RNN,Transformer)提取特征,然后通过不同的相似度计算方式(MLP距离,余弦相似度,向量按位相乘,neural tensor network等)计算相似度。
在深度学习的方法中又可以细分为两种,即Representation based model 以及 Interaction based model
其中 representation based model 直接将单文本embedding化,然后直接计算两个向量间的文本相似度。当然为了使得相似度计算更加精细 representation based model 会使用不同粒度的representation,使用单一粒度的句子表示可能还不够精细,分别提取词,短语,句子的表示,然后再计算不同粒度之间的向量相似度来作为文本的匹配度。
interaction based model,即匹配模式,其中心思想就是 对于匹配问题,需要更加精细的建模匹配的过程 ,尽早的让query和title进行交互,然后利用交互后的feature map进行进一步的特征挖掘 。

2.1 语义相似度度量

在这里,首先介绍一下常用的相似度度量方式,一般进行相似度度量可以分为两种情况,第一个为使用统计特征表示每一个word,得到句子表示,然后利用该句子表示进行相似度计算,经典方法为 tf-idf,bm25
tf-idf
原理:为了求word的权重,word在一个文档中出现的次数越多,则说明在该文档中其所占比重越高
因此 tf score:word在文档中出现的次数 / 文档总长度
同时 一个词在所有文档中出现的次数越多 越说明该词不具有特异性,比如一些停用词 ‘的’ 等,
因此 idf score: log(总文档数/包含该词的文档数)
tf - idf score : tf-score * idf-score

BM25
BM25 其实是在计算tf值的时候进行了额外的处理,具体公式比较复杂,自行百度

第二种为使用word to vector 等方法或者深度学习方法将word 稠密化处理,得到每一个word的表示向量,利用向量之间的交互关系计算向量之间的相似度。经典方法为:

欧氏距离
s = ( q − d ) 2 s=\sqrt{ (q-d)^2} s=(qd)2

Cosine Similarity
s = q T . d q 2 d 2 s=\frac{q^T . d} {\sqrt{ q^2}\sqrt{ d^2}} s=

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值