From TextCNN to Sentence Similarity(句子分类到表征)

TextCNN basic

基础知识

自动提取文本的特征,将sentence进行分词,组成每个句子的词,每个词对应一个id,(也可以不分词,以字为粒度)并将词转化为id,每个句子都是id组成的数据,将所有的句子都padding到最长的句子max_len_stence,也可以设置一个值为句子长度值。然后进行embedding,每个id对应一个size的词向量,这样每个句子的presentation即为[max_len_stence,size],到此也就完成了embedding,后面类似图像的卷积和池化提取句子的特征。以下来自论文:Convolutional Neural Networks for Sentence Classification
conv & pooling
Embedding可以理解为把输入层每一个句字话转化成了一个二维的图像:每一排是一个词的word2vec向量,纵向是这句话的每个词按序排列。输入数据的size,也就是图像的size,n×k,n代表训练数据中最长的句子的词个数,这里是64(不够64个词的句子采用zero padding),k是embbeding的维度,这里是300。所谓的static和non-static的chanel解释如下:
1、CNN-rand: 所有的word vector都是随机初始化的,同时当做训练过程中优化的参数;
2、CNN-static: 所有的word vector直接使用无监督学习即Google的Word2Vector工具(COW模型)得到的结果,并且是固定不变的;
3、CNN-non-static: 所有的word vector直接使用无监督学习即Google的Word2Vector工具(COW模型)得到的结果,但是会在训练过程中被Fine tuned;
4、CNN-multichannel: CNN-static和CNN-non-static的混合版本,即两种类型的输入;
从输入层还可以看出kernel的size。很明显kernel的高(h)会有不同的值,图上有的是2,有的是3。这很容易理解,不同的kernel想获取不同范围内词的关系;和图像不同的是,nlp中的cnn的kernel的宽(w)一般都是图像的宽,也就是word2vec的维度,这也可以理解,因为我们需要获得的是纵向的差异信息,也就是不同范围的词出现会带来什么信息。

tensorBoard Graph

在这里插入图片描述
parameters to learn:
embedding(|V| * size) + conv-pool(sizeconvnumconvsize[3,4,5]) + FNN ((num_filters+1)*labels),如果采用cnn-static则embedding层参数不需要学习。
num_filters = convnum * len(convsize),可见一个最简单的Textcnn做classification也有几十上百万个参数需要训练。
在这里插入图片描述
在这里插入图片描述
note: the most popular is non-static to do Fine tuned (how bert works)

句子表征 Sentence Similarity

Siamese Network Structure
Siamese Network
在这里插入图片描述
句子分类、实体识别等针对句子信息的实体可以增强句子表征从而做相似度计算。

问答匹配

问答系统本质上是一个信息检索(IR)系统,只是它从文具中获取更多信息,返回更加精准的答案。传统的问答系统将按照以下的流程工作:(1)问题解析(2)信息检索(3)答案抽取。问题解析的工作包括分词、词性标注、句法分析、命名实体识别、问题分类、问题扩展等;信息检索则是以问题解析模块的结果作为输入,从底层知识库重返回一系列相关的排序后的文档;答案抽取,顾名思义,就是从文档中抽取出最终的答案。

  1. pos, ner ,intention are included in step 1 (what intention and ner do)
    (2) Similarity computation based on step 2 (what similarity model do)
    (3) answer selection, computation similarity between questions and answers (what cqa extractions do)
    传统问答系统基本框架。最下层为实体层,为上层模型提供计算单元(语义社区搜索、语义消歧、词共现等);第二层为语义层,包含了具有一定语义信息的文本,提取出了一部分语义特征;第三层则是最终的核心应用部分。(Our cumstom-robot)
    为了降低模型使用门槛,同时也为了使模型内部负责各种功能的组件能够更好地协调配合,从而提升模型整体性能,越来越多的研究者将所有的问答系统功能封装在一个端到端的自动化问答系统中。当然,我们并不是说传统的问答系统研究就失去了其研究价值,事实上,传统的可解释性更强的问答系统的研究可以反哺端到端的深度学习问答系统,从而为设计深度学习系统提供更多启发和理论依据。 (QANet)
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值