词语之间的语义相似度怎么算_文本匹配方法系列––多维度语义交互匹配模型...

c9df20b45197189e7a5f93fd5ae7d263.png

摘要

本文基于接着多语义匹配模型[1]和BERT匹配模型[2]介绍一些多维度语义交互匹配模型,包括2017 BiMPM模型[3]和腾讯出品的2018 MIX[4]。这些方法的核心特征都是在多语义网络的基础上,从多视角提出新增特征维度,新增多信道信息交叉,构造attention等方式,而后拼接特征或者通过卷积变换通道方式整合特征,一般效果都会超过之前介绍的ESIM模型[1]。本文结合实际使用情况进行小结介绍。

1 BiMPM模型[3]

BiMPM模型全称 Bilateral multi-perspective matching model, 为2017IJCAI论文。图1是模型网络框架图,其基本继承多语义模型多种方法的基本思想,采用Bi-LSTM来构建表示层。同时,采用了含参数的方式参与匹配:

7581e3098cadb57aea285c071a4d81ea.png

其中算不得新奇的一种有效手法是:BiMPM 使用词级别和字符级别的词向量,使得文本语义表示更加充分【说明:这个还是比较常见的,实际应用还可以自行构建千万级的无标签数据先训练一个字符以及词语的word2vec模型,作为模型embedding的初始化,效果会更好

de5410b46ac57bd7246f5f831b3b45b0.png

下面详细介绍其匹配层的构造如图2,其余基本操作可参见本系列前述文章。这篇文章的特点在于充分利用了句子表示的语义:1、双边,对每一个step的输出进行从p到q和从q到p的两两配对计算;2、多角度,在考虑句子间的交互关系时采用了4种不同的方式。

8ab114d23f3e92876ca6f922de5bc3db.png
图2 BIMPM模型匹配层构造

(1)Full-Matching.:如图2(a)所示是一个句子的表示即LSTM最后隐层输出跟另一句的每个单词输出作匹配,前向的LSTM是最后一个,后向的LSTM是第一个。

9c39c84d67d9225ff5bd5b540393185a.png

(2)Maxpooling-Matching:如图2(b)句子P与另一个句子Q每一个隐藏层的输出作匹配,取最大值(最大池化)。

119e37bf36b8668d4d172508ea5e8c4a.png

(3)Attentive-Matching:如图2(c)利用句子P中单词的embedding和另一个句子Q的各个单词的embeddings分别计算余弦相似度,然后用softmax归一化做成attention权重,加权求和再进行带参余弦相似度计算。【就有点类似ESIM的思想

d4d59a7980be4bf7ef9388a35c72f94b.png

6ef3a5748bec3d5cc1ef95602f12f320.png

e1deea5b8c5d09813d6c5fff8b1c2a83.png

(4)Max-Attentive-Matching:如图2(d)所示,与Attentive-Matching相似,先计算出attention的权重,取其中权重最大的而不是加权求和,做相似度匹配。

2 MIX模型[4]

腾讯出品必属精品,2018KDD SOTA论文MIX: Multi-Channel Information Crossing for Text Matching 是来自腾讯 MIG 移动浏览产品部和阿尔伯塔大学的研究者提出一种用于文本匹配的新模型 MIX,这是一个多信道信息交叉模型;腾讯使用有实际业务场景验证:在 QQ 浏览器搜索直达业务使用中也表现出了优秀的性能,相对提升点击率 5.7%,所以理论实践都倍儿棒。以下做一些介绍。

MIX 模型组合使用全局匹配和局部匹配技术,对两个文本片段之间的相关性进行建模,MIX 模型能够有层次、多维度地描绘文本匹配问题的本质,图3是其示意图。

09c62375b05e8d8614864ddc16ca3484.png
图3 MIX

MIX模型特点如下:

(1)如图 3左上方Sentence B所发出的三个箭头所示,为了考虑到单个词语匹配过程中存在的不准确性,句子被解析成不同粒度的文本片段,如一元分词、二元分词和三元分词。用这种方式,MIX 通过找到文本片段最合适的语义表征(可以是单词、短语或词组)来改善局部匹配的准确率;

(2)充分利用attention机制,其权重矩阵设计非常优秀,研究者提取语法信息,如相对权重和词性标注,据此在注意力信道中设计注意力矩阵,以封装丰富的结构模式,而不是简单的随机矩阵。文中使用的用词的idf表示的词权重attention、Part-of-Speech(PoS)权重信息以及词语所在的位置权重 均有其直接的意义。

(3)融合多通道,形成的4维矩阵而不是三维,使用3D卷积来融合多通道特征,其做法基本与图像领域操作一致,故而有人称之为矩阵匹配。

3 应用

BIMPM模型论文中给出的结果如图4所示,实际工业数据效果会在80%左右,一般比ESIM高一些。需要提示的是,其训练速度也是非常的慢,其attention所带来的时耗并不亚于ESIM模型,一般数百万数据训练需要一周以上,实际使用需要谨慎选择

38e5709b5a94fce9dde26841a40c1269.png
图4 BIMPM模型效果展示

而关于MIX模型其效果实际工业数据不会低于ESIM和bimpm模型,应用中的问题是句子被解析以及多种权重构造输入其实也是一个费劲的事情,实际应用可以根据需要减少其中一部分。

f922a62e6ee41c2afe21b8d2f24c7b83.png
图5 MIX模型效果

4 结语

本文介绍的两篇多维度匹配文章,总的来说核心思想还是多维度多视角进行交互计算,充分利用交互相似性构建attention,充分利用多种NLP领域有意义的做法构建权重,通过拼接或者卷积变换通道的方式进行特征合并,无出其外。

同时回首整个系列做法,BI-LSTM模型特点被充分应用,越往后模型越复杂训练时间也会越长。但是这些模型并未结合预训练(如BERT或者早一些的GPT模型),也并未应用transformer机制,所以可见这个方向仍然还有提升空间,本人认为这是未来的一个很好的继续研究方向

参考文献

[1]多语义匹配模型:

debuluoyi:文本匹配方法系列––多语义匹配模型​zhuanlan.zhihu.com
12ef3dce60ef583e32b8309f0098631e.png

[2]BERT匹配模型:

debuluoyi:文本匹配方法系列––BERT匹配模型​zhuanlan.zhihu.com
90709166590965a781eea53db8346296.png

[3]BiMPM: Wang, Z., Hamza, W., & Florian, R. (2017). Bilateral multi-perspective matching for natural language sentences.arXiv preprint arXiv:1702.03814.

[4]腾讯MIX: Chen, H., Han, F. X., Niu, D., Liu, D., Lai, K., Wu, C., & Xu, Y. (2018, July). Mix: Multi-channel information crossing for text matching. InProceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining(pp. 110-119). ACM.

【文本匹配系列终于写完了!基本把本人实际做过的都总结了一遍。

下一个系列是 知识图谱系列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NC6系列UAP语义模型技术红皮书 第一章 前言 4 1.1 概念 5 1.2 定位 5 第二章 结构 6 2.1 应用模型 7 2.2 语义模型 7 2.2.1 定义形态 7 2.2.2 执行流程 9 2.2.3 数据形态 10 2.3 语义提供者 10 2.3.1 接口 11 2.3.2 扩展 14 2.4 函数 17 2.4.1 函数解析 17 2.4.2 函数扩展 17 2.5 参数 20 2.5.1 参数定义 20 2.5.2 参数引用 20 2.5.3 参数设置 20 2.5.4 参照依赖 21 2.5.5 自定义参照 21 2.6 宏变量 22 2.7 描述器 23 2.8 数据加工 24 2.8.1 概念 24 2.8.2 定位 24 2.8.3 执行原理 25 2.8.4 使用 25 2.8.5 常见问题 27 2.9 物化策略 27 2.10 复合语义模型 27 2.10.1 设计向导方式 28 2.10.2 语义脚本方式 29 2.11 语义上下文 31 2.12 脚本规则 31 2.12.1 实现规则类 32 2.12.2 配置文件注册 32 2.12.3 操作使用 33 第三章 语义模型管理 35 3.1 对象管理 36 3.1.1 目录管理 36 3.1.2 语义模型管理 37 3.1.3 监控 37 3.1.4 权限 38 3.1.5 全局变量配置 38 3.2 环境配置 39 3.3 导入导出 41 3.3.1 导出逻辑 41 3.3.2 导入逻辑 43 第四章 功能扩展 47 4.1 扩展语义提供者 48 4.2 扩展业务函数 48 4.3 使用数据加工 48 4.4 自定义执行策略 48 4.5 业务规则扩展 49 4.6 元定义驱动扩展 49 4.6.1 接口 50 4.6.2 实现 50 4.6.3 配置文件 50 4.6.4 使用 51 第五章 范例 52 5.1 脚本中引用参数范例 53 第六章 附录 57 6.1 入门 58 6.2 语义模型API 63 6.3 语义函数 65 6.4 其他函数 65 6.5 脚本引擎 66 6.6 针对查询引擎的改进 67 6.7 性能监控 67 6.8 多语言支持 68

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值