自然语言句子的多视角匹配

github: https://github.com/daiyizheng/shortTextMatch/blob/master/src/DL_model/classic_models/models/BIMPM.py

介绍

本文作者提出了一个双边多视角匹配(BiMPM)模型。给定两个句子P和Q,模型首先用BiLSTM编码器对它们进行编码。接下来,我们将两个编码后的句子在两个方向P对Q, Q对P进行匹配。在每个匹配的方向上,一个句子的每一个时间步都从多个角度匹配另一个句子的所有时间步。然后,利用另一个BiLSTM层将匹配结果聚合成固定长度的匹配向量。最后,基于匹配向量,通过全连通层进行决策。模型的结构如下:

自然语言句子匹配是比较两个句子并识别它们之间的关系。随着神经网络模型的复兴,有人提出了两种深度学习框架,第一个框架是基于“Siamese”架构,第二种框架“matching-aggregation”架构。但是这些框架仍然有一定的限制。本文作者就推出了BiMPM模型,用于NLSM任务。

方法

BiMPM模型来估计概率分布Pr(y|P,Q), 属于“匹配-聚合”框架。与之前的“匹配-聚合”方法相反,我们的模型在两个方向上匹配P和Q (P->Q和P<-Q)。

Word Representation Layer

这一层的目标是用一个D维向量来表示P和Q中的每个词,包含两个分量的D维向量:一个词嵌入和一个字符组合嵌入。

Context Representation Layer

该层的目的是将上下文信息纳入P和Q的每个时间步长的表示中。使用双向LSTM做上下文嵌入,公式如下:

Matching Layer

这是我们的模型中的核心层。该层的目标是将一个句子的每个上下文嵌入(时间步)与另一个句子的所有上下文嵌入(时间步)进行比较。两个句子P和Q进行两个方向的匹配:将P的每个时间步与Q的所有时间步进行匹配,将Q的每个时间步与P的所有时间步进行匹配。如下图所示:

Aggregation Layer

该层用于将两个匹配向量序列聚合成一个固定长度的匹配向量。利用另一个BiLSTM模型,分别将其应用于两个匹配向量序列。然后,通过将BiLSTM模型最后一个时间步长的四个绿色向量串联起来,构造定长匹配向量。

Prediction Layer

这一层的目的是计算概率分布Pr(y|P,Q)。为此,我们采用了两层前馈神经网络来计算定长匹配向量,并在输出层应用了softmax函数。

Multi-perspective Matching Operation

这里定义了一个多角度余弦匹配函数fm来比较两个向量:如下

其中 v 1 v_1 v1v 2 v_2 v2是两个d维的向量, W W W是具有 l x d l x d lxd 维的可训练参数, l l l 为perspective的数量,返回值 m m m是一个 l l l 维度的向量 m = m [ m 1 , … , m l ] m=m[m_1,…,m_l] m=m[m1,,ml]。每个元素 m k m_k mk从第 k k k个角度得到一个匹配值,并由两个加权向量之间的余弦相似度计算得到。

其中, o o o表示向量乘法, W k W_k Wk代表 W W W的第 k k k行,它控制第 k k k个角度,并为 d d d维空间的不同维度分配不同的权重。

基于 f m f_m fm定义了四种匹配策略来比较一个句子的每个时间步和另一个句子的所有时间步。为了避免重复,我们只定义了一个匹配方向P->Q的匹配策略。

Full-Matching

每个向前(向后)上下文嵌入 h → i p o r ( h ← i p ) \overrightarrow{h}^p_i or( \overleftarrow{h}^p_i) h

ipor(h

ip
)与其他句子 h → N q o r ( h ← 1 q ) \overrightarrow{h}^q_N or( \overleftarrow{h}^q_1) h

Nq
or(h

1q
)
最后的时间步相比。

Maxpooling-Matching

每个向前(向后)上下文嵌入 h → i p o r ( h ← i p ) \overrightarrow{h}^p_i or( \overleftarrow{h}^p_i) h

ipor(h

ip
)与每一个其他句子的前向(后向)上下文嵌入 h → j q o r ( h ← j q ) j ∈ ( 1... N ) \overrightarrow{h}^q_j or( \overleftarrow{h}^q_j) j \in (1...N) h

jq
or(h

jq
)j
(1...N)
比较,而只保留每个维度的最大价值。

Attentive-Matching

首先计算每个前向(后向)上下文嵌入之间的余弦相似性 h → i p o r ( h ← i p ) \overrightarrow{h}^p_i or( \overleftarrow{h}^p_i) h

ipor(h

ip
)和每一个其他句子的前向(后向)上下文嵌入 h → j q o r ( h ← j q ) j ∈ ( 1... N ) \overrightarrow{h}^q_j or( \overleftarrow{h}^q_j) j \in (1...N) h

jq
or(h

jq
)j
(1...N)


然后计算 α → i , j o r ( α ← i , j ) \overrightarrow{\alpha}_{i,j} or ( \overleftarrow{\alpha}_{i,j}) α

i,j
or(α

i,j
)
作为 h → j q o r ( h ← j q ) \overrightarrow{h}^q_j or( \overleftarrow{h}^q_j) h

jq
or(h

jq
)
的权重,并且为整个句子 Q Q Q计算一个attentive vector并对 Q Q Q所有上下文嵌入项进行加权求和。

h → i p o r ( h ← i p ) \overrightarrow{h}^p_i or( \overleftarrow{h}^p_i) h

ipor(h

ip
)的每一个前向(或后向)上下文嵌入与其对应的attentive向量进行匹配。

Max-Attentive-Matching

策略类似于注意力匹配策略。 然而,我们没有将所有上下文嵌入的加权和作为注意力向量,而是选择余弦相似度最高的上下文嵌入作为注意力向量。 然后,我们将句子 P 的每个上下文嵌入与其新的注意力向量相匹配。

实验设置

word_embedding: 300(freeze)
OOV: initialize randomly
character-composed embedding: 初始化为20维向量, 然后将每个词输入到50维的lstm
BiLSTM hidden layer: 100
dropout: 0.1
损失函数: cross entropy
optimizer: ADAM
learning rate: 0.001

结论

在“匹配聚合”框架下提出双边多视角匹配(BiMPM)模型。 与之前的“匹配聚合”方法不同,模型在两个方向(P → Q 和 P ← Q)匹配句子 P 和 Q。 在标准基准数据集上的实验结果表明,模型在所有任务上都达到了最先进的性能。

文本匹配、文本相似度模型之BIMPM相关推荐

  1. 【文本匹配】表示型模型

    基于表示的匹配模型的基本结构包括: (1)嵌入层,即文本细粒度的嵌入表示: (2)编码层,在嵌入表示的基础上进一步编码: (3)表示层:获取各文本的向量表征: (4)预测层:对文本pair的向量组进行 ...

  2. 文本相似度、文本匹配、文本聚类

    1 1在Keras的Embedding层中使用预训练的word2vec词向量:https://blog.csdn.net/u012052268/article/details/90238282 imp ...

  3. 谈谈文本匹配和多轮检索

    非常详细全面的文本匹配和多轮检索发展整理,建议收藏 1. 关于文本匹配  文本匹配是NLP的基础任务之一,按照论文中的实验对传统的文本匹配任务进行分类,大致可以分为「文本检索(ad-hoc),释义识别 ...

  4. 【NLP】深度文本匹配综述

    目  录 1.研究背景与意义  2.深度学习在自然语言处理的应用  3.深度文本匹配与传统文本匹配  4.深度文本匹配国内外研究现状  4.1基于单语义表达的文本匹配 4.2基于多语义表达的文本匹配 ...

  5. 对话系统-“问答型”单轮对话:FAQ检索式对话系统【步骤:①用户意图判断、②文本检索召回、③文本匹配计算排序】【搜索引擎的最终形态】

    一.基本概念 文本匹配:计算文本之间的相似度,主要分为两大类: 1)基于句子向量表示的相似度模型(适合初始召回): 2)基于词级别匹配的相似度模型(适合对召回结果重排) 问答系统:信息检索的一种高级形 ...

  6. laravel 分词搜索匹配度_DSSM文本匹配模型在苏宁商品语义召回上的应用

    文本匹配是自然语言处理中的一个核心问题,它不同于MT.MRC.QA 等end-to-end型任务,一般是以文本相似度计算的形式在应用系统中起核心支撑作用1.它可以应用于各种类型的自然语言处理任务中,例 ...

  7. nc65语义模型设计_文本匹配方法系列––多维度语义交互匹配模型

    摘要 本文基于接着多语义匹配模型[1]和BERT匹配模型[2]介绍一些多维度语义交互匹配模型,包括2017 BiMPM模型[3]和腾讯出品的2018 MIX[4].这些方法的核心特征都是在多语义网络的 ...

  8. 文本匹配(语义相似度/行为相关性)技术综述

    NLP 中,文本匹配技术,不像 MT.MRC.QA 等属于 end-to-end 型任务,通常以文本相似度计算.文本相关性计算的形式,在某应用系统中起核心支撑作用,比如搜索引擎.智能问答.知识检索.信 ...

  9. 文本匹配开山之作--双塔模型及实战

    作者 | 夜小白 整理 | NewBeeNLP 在前面一篇文章中,总结了Representation-Based文本匹配模型的改进方法, 基于表征(Representation)的文本匹配.信息检索. ...

最新文章

  1. 思科isis路由的优先级_何谓“路由” ,带你了解路由的本质,轻松配置路由简单排除故障...
  2. IOS和Andriod手机浏览器内核
  3. 大型网站技术架构:摘要与读书笔记
  4. js ajax上传图片到服务器
  5. 如何确定python开发环境已经配置好_python学习第一天:window安装python开发环境完整篇...
  6. lin通信ldf文件解析_手把手教你在CANoe中创建一个LIN通讯工程
  7. 用Python增强Excel的3大集成方法及用途
  8. Openresty支持HTTP2
  9. 保持进程在Shell退出后能继续运行的方法
  10. Dummy Sample
  11. removeclass 传入两个类_jQuery源码解读之removeClass()方法分析
  12. 哈工大操作系统学习笔记十——信号量与死锁
  13. .net and oracle
  14. 手里没有USB转TTL模块调试红外学习模块不要紧,利用最小系统板自己焊接一个
  15. 小白面试:EF Core的三种事务
  16. Neo4j图数据库高级应用系列 / 服务器扩展指南 APOC(5.4) - 导出数据到Cypher脚本文件
  17. CC1101之信道空闲评估(CCA:Clear Channel Assessment)
  18. 【安全知识分享】安全生产责任制培训.pptx(附下载)
  19. MahApps.Metro扁平化UI控件库(可修改主题色等)
  20. cenetos 查看字体库_iFonts字体管理软件,支持win/mac,还有海量免费字库

热门文章

  1. mysql schema 保存数据_在MySQL中,所有触发器的定义都保存在information_schema数据库下的()表中。_学小易找答案...
  2. 360°大视野安全帽识别系统-深度学习智能视频分析
  3. 怎么下载在阿里云平台注册域名的域名证书
  4. 2020年中国汽车芯片行业政策及市场容量分析[图]
  5. virtualbox centos7,访问海康录像机
  6. 管理有方!华为云数据库为医药行业管理加速
  7. php wordpress单本小说网站源码+采集,晒晒我写的WordPress单本小说通用采集程序
  8. 如何彻底删除VMWare
  9. 二进制fuzz测试,拒接服务漏洞刷洞技巧
  10. 视听领域:LED显示相关知识简单介绍--------2021-07-07