【阅读笔记】Text Matching as Image Recognition

Pang, Liang, et al. “Text Matching as Image Recognition.” AAAI. 2016.
https://github.com/pl8787/MatchPyramid-TensorFlow

概述:构建文本与文本的相似矩阵,把相似矩阵当作是图片,然后采用 CNN 对其进行分类二分类(相似与不相似)。
在这里插入图片描述
构建相似矩阵 M:

  • Indicator function: 相同为1,不同为0
  • 相似性:构建词向量,用余弦相似性或者点乘的方式得到相似值

得到图 M,然后进行卷积得到特征图
再用动态最大池化将变长的特征图变为尺度一定(所谓动态池化就是使用池化窗口大小等于文本实际大小除确定的大小向上取整)
然后再进行卷积和max-pool得到最终的特征图
最后再用两层感知机(全连网络)和softmax进行二分类
训练时就采用梯度下降进行训练
在这里插入图片描述
读后感:感觉这种方法对语序比较鲁棒,想法也比较直观。在阅读代码时学习到一个好用的 tensorflow 函数 tf.einsum,爱因斯坦求和,6到飞起。

# tf.einsum( equation, *inputs) 
# Matrix multiplication
output = tf.einsum('ij,jk->ik', u, v)  # output[i,k] = sum_j u[i,j] * v[j, k]

# Dot product
output = tf.einsum('i,i->', u, v)  # output = sum_i u[i]*v[i]

# Outer product
output = tf.einsum('i,j->ij', u, v)  # output[i,j] = u[i]*v[j]

# Transpose
output = tf.einsum('ij->ji', u)  # output[j,i] = u[i,j]

# Batch matrix multiplication
output = tf.einsum('aij,ajk->aik', u, v)  # output[a,i,k] = sum_j u[a,i,j] * v[a, j, k]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值