伤感网名,设备不學習:应用场景深度学习的自动化问答系统,人人美剧

| 导语 问答体系是信息检索的一种高档办法,能够愈加精确地了解用户用自然语言提出的问题,并经过检索语料库、常识图谱或问答常识库回来简练、精确的匹配答案猪肚鸡。相较于搜索引擎,问答体系能更好地了解用户发问的实在目的, 进一步能更有效地满意用户的信息需求。问答体系是现在人工智能和自然语言处理范畴中一个倍受重视并具有广泛发展前景的研讨方向。

一、导言

问答体系处理的方针首要包含用户的问题以及答案。依据问题所属的常识范畴,问答体系可分为面向限制域的问答体系、面向敞开域的问答体系、以及面向常用问题集(牙周炎症状Frequently Asked Questions, FAQ)的问答体系。依据答案来历,问答体系可分为依据结构化数据的问答体系如KBQA、依据文本的问答体系如机器阅览了解、以及依据问答对的问答体系如FAQ问答。此外,依照答案的反应机制区分,问答体系还能够分为依据检索式的问答体系和依据生成式的问答体系。

本文首要论述FAQBot检索型问答体系的相关研讨和处理结构,以及深度学习在其间的运用。FAQ检索型问答是依据用户的新Query去FAQ常识库找到最合适的答案并反应给用户。如图所示:

其间,Qi是常识库里的规范问,Ai是规范问对应的答案。

具体处理流程为:

  • 候选集离线建好hp驱动官网索引。选用Lucene引擎,为数万个类似问调集树立字等级倒排索引。Lucene引擎的功用能够将召回时刻控制在毫秒等级,大大减轻后续模块的核算压力;
  • 线上收到用户 query 后,开端召回一批候选集作为粗排成果传入下一模块进行进一步精确排序;
  • 运用matching模型核算用户query和FAQ常识库中问题或答案的匹配程度;
  • 运用ranking 模型对候选集做 rerank 并回来 topk个候选答案。桦甸青年

能够看出,FAQ问答体系的中心使命能够笼统为文本匹配使命。传统文本匹配办法如信息检索中的BM25,向量空间模型VSM等办法,首要处理字面类似度问题。可是因为中文含义的丰富性,我国教育网一般很难直接依据要害字匹配或许依据机器学习的浅层模型来确认两个语句之间的语义类似度。近几年,运用神经网络,尤其是深度学习模型学习文本中深层的语义特征,对文本做语义表明后进行语义匹配的办法开端被提出并运用于检索式问答体系。依据深度学习的模型一方面能够节约人工提取特征的许多人力物力。此外,比较于传统办法,深度文本匹配模型能够从许多的样本中主动提取出词语之间的联系,并能结合短语匹配中的结构信息和文本匹配的层次化特性,开掘传统模型很难开掘的隐含在许多数据中含义不明显的特征,更精细地描绘文本匹配问题。

二、深度学习文本匹配

FAQ问答体系一般有两种处理思路,一种是类似问题匹配,即比照用户问题与现有FAQ常识库中问题的类似度,回来用户问题对应的最精确微商署理的答案,这种思路类似于text paraphrase;另一种是问题答案对匹配,即比照用户问题与FAQ常识库中答案的匹配度,回来用户问题对应的最精确的答案,这种思路为答案挑选,即QA匹配。这两个类型相通的当地在于都能够看作文本语义匹配,许多模型能一同在两个使命上都得到很好的作用,差异在于QA匹配存在问题与答案不同质的问题。

下面总结一些莱芜在线依据深度学习的文本匹配作业,期望能够抛砖引玉,如有遗失或过错,欢迎弥补或指出。

2.1 模型结构

归纳来讲,深度语义匹配模型能够分为两大类,别离是representation-based method 和 interaction-based method。

1) Represention-based Method

结构图如下:

这类算法首要将待匹配的两个方针经过深度学习模型进行表明,之后核算这两个表明之间的类似度便可输出两个方针的匹配度。这种办法下,愈加偏重对表明层的构建,使其尽或许充沛地将待匹配的两个方针都转换成等长的语义表明向量。然后在两个方针对应的两个语义表明向量根底上,进行匹配度的核算。针对匹配度函数f(x,y)的核算,一般有两种办法,如下图所示:一种是经过类似度衡量函数进行核算,实际运用进程中最常用的便是 cosine 函数,这种办法简略高效,而且得分区间可控含义清晰;另一种办法是将两个向量再接一个多层感知器网络(MLP),经过数据去练习拟合出一个匹配度得分,愈加灵敏拟合才能更强,但对练习的要求也更高。

Represention-based Extended

上述的representation-based method存在的问题是直接依据语句的表明太粗糙,无法精确进行文本匹配使命。受信息检索范畴的启示,结合主题等级和单词等级的匹配信息一般能够获得更好的表现。所以进一步对语句表明进行扩展,参加细粒度匹配信息。结构图如下:

2) Interaction-based Method

结构图如下:

依据交互的办法是经过Interaction来对文本类似性建模。该办法更着重待匹配的两个语句得到更充沛的交互,以及交互后的匹配。在表明层不会将语句转换成一个全体表明向量,一般情况下会保存和词方位相对应的一组表明向量。伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧首要依据表明层选用DNN或直接由word embedding得到的语句表明,和词方位对应的每个向量表现了以本词语为中心的必定的大局信息;然后对两个语句按词对应交互,由此构建两段文本之间的 matching pattern,这儿面包含了更详尽更部分的文本交互信息;依据该匹配矩阵,能够进一步运用DNN等来提取更高层次的匹配特征,终究核算得到终究匹配得分。Interaction-based 办法匹配建模愈加详尽、充沛,一般来说作用更好,但核算成本增加,愈加合适一些作用精度要求高但对核算功用要求不高的场景。

下面总结了不同类型的深度学习文本匹配模型。能够看出,深度文本匹配现有作业许多,本文将对近几年的部分作业进行具体介绍,其他可参阅对应文献进行深化阅览。

  • representation-based:DSSM[1]; CDSSM[2]; ARC I[3]; CNTN[4]; LSTM-RNN[5]
  • representation-based extension:MultiGranCNN[6]; MV-LSTM[7]
  • interaction-based伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧:ARC II[8]; MatchPyramid[9]; Match-SRNN[10]; DeepMatch[11]; ABCNN[12]; QA-LSTM/CNN-attention[13,14]; AP[15]; AICNN[16]; MVFNN[17]; BiMPM[18]; DQI[22]; DIIN[23]

2.2 模型介绍

2.2.1 ABCNN[12]

首要介绍BCNN,它是ABCNN模型的根底,即未增加Attention的模型。模型结构如图所示:

输入层:将输入语句进行padding后转化成词向量即可;

卷积层:对语句表明进行卷积,运用wide conv的办法;

pooling层:论文中运用了两种pooling办法,一种是伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧终究一个pooling层为all-ap,还有一种是中心pooling层为w-ap。差异便是池化时的窗口巨细不同;

输出层:接logistic 回归层做2分类。

ABCNN是在BCNN的根底上加了两种attention机制。模型成果如下图:

(1)在输入层参加attention

其原理为将输入拓宽成双通道。新增加的通道是attention feature map,即上图中的蓝色部分。首要核算attention matrix A,其每个元素Aij代表语句1中第i个单词对语句二中第j个单词的match_score,这儿运用了Euclidean间隔核算。然后再别离核算两个语句的attention feature map。运用两个矩阵W0,W1别离和A还有 A的转置相乘,得到与本来feature尺度相同的feature map。W0和W1都是模型参数,能够运用相同的W,即同享两个矩阵。这样咱们就将原始的输入拓宽成了两个通道。

(2)在pooling层参加attention

Attention matrix A的核算办法与上述相同,得到A后需求为两个语句别离核算attention权重向量,如上图中的两个虚线部分col-wise sum和row-wi杜冷丁说明书se sum。这两个向量中的每个元素别离代表了相应单词在做Average Pooling时的权重。相当于pooling不再是简略的Average Pooling,而是依据核算出的Attention权重向量得到的pooling。

2.2.2LSTM/CNN,attention[13,14]

给定一个(q,a)pair,q是问题,a是候选答案。首要得到它们的词向量,再运用biLSTM进行encoder,生成问题和答案的散布式表明,然后运用余弦类似度来衡量它们的间隔。练习方针是hinge loss。

在biLSTM表明输出的根底上进一步运用CNN,CNN能够获取biLSTM输出的向量之间的部分信息。然后给出问题和答案的更多复合表明。

当biLSTM模型在问题和答案上长间隔传达依靠联系时,躲藏向量的固定宽度成为瓶颈。经过动态调整问题答案的更多信息部分,能够运用留意力机制来缓解这种缺点。在max/mean pooling前,每个biLSTM输出向量将乘以softmax权重,该权重由biLSTM的问题嵌入得到。

2.2.3 Attentive Pooling Networks[15]

QA_LSTM with attention中attention的规划是经过问题对答案的影响进行特征加权,可是它疏忽了答案黄大仙对问题的影响。Attentive pooling networks一同将attention运用到问题和答案,进步算法的精确率。经过一同学习两种输入的表明以及它们之间的类似性丈量,其立异点在于将Q和A这两个输入经过参数矩阵U投射到一个一同的表明空间,用Q和A的representation结构了一个矩阵G,别离对G的row和column做max pooling, 这样就能别离能得到Q和A的attention vector。AP_BILSTM模型结构图如下:

AP_BILSTM模型的规划首要将问题和答案经过BILSTM抽取特征,然后经过两者的特征核算soft alignment,得到的G矩阵表明了问题和答案彼此作用的成果。对该矩阵的列取最大,即为答案对问题的重要性得分,同理对该矩阵行取最大即为问题对答案的重要性得分。这两个向量再作为attention向量别离和问题和答案表明相乘后得到问题和答案新的表明,终究再做匹配。

2.2.4 AICNN[16]

之前关于答案挑选的研讨一般疏忽了数据中普遍存在的冗余和噪声问题。 在本文中,规划一种新颖的留意力交互式神经网络(AI-NN),以专心于那些有助于答复挑选的文本片段。 问题答案的表明首要经过卷积神经网络(CNN)或其他神经网络架构来学习。然后AI-NN学习两个文本的每个配对片段的彼此作用。 之后运用逐行和逐列池化来搜集交互信息。之后选用留意机制来衡量每个细分的重要性,并结合彼此作用来获得问答的固定长度表明。 模型结构图如下:

2.2.5 MVFNN[17]

上述依据神经网络的办法经过核算留意力来考虑信息的几个不同方面。 这些不同类型的留意力总是简略地总结而且能够被视为“单一视图”,不能从多个方面来审视问题和候选答案,导致严峻的信息丢掉。 要战胜这个问题,此模型提出了一种多视图交融神经网络,其间每个重视组件生成QA对的不同“视图”,而且交融QA自身的特征表明以构成更全体的表明。模型结构图如下:

关于一个问题,或许会有一堆视图来模仿其相应的答案。 在此模型中,依据直觉构建了四个视图。 这四个视图被命名为查询类型视图,查询主动词视图,查询语义视图和co-attention视图。终究运用fusion RNN模型来对这些视图进行交融。经过不同视图的交融,能对两个方针进行更精确的建模。

2.2.6 BiMPM[18]

针对依据交互这一类办法,一般是先对两个语句的单元彼此匹配,之后再调集为一个向量后做匹配。这种办法能够捕捉到两个语句之间的交互特征,可是之前的办法仅仅依据词等级的匹配可是疏忽了其他层级的信息。此外,匹配仅仅依据一个方向疏忽了相反的方向。一种双向的多角度匹配模型bilateral multi-perspective matching(BiMPM)处理了这方面的缺乏。模型结构如下图:

模型自下而上总共包含五层,别离为单词表明层、上下文表明层、匹配层、聚合层和猜测层,其间匹配层为模型的中心,共提出了四种匹配战略,这儿的匹配能够看成是attention机制。

单词表明层:运用GloVe伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧模型练习向量,对字符embedding进行随机初始化,单词中的字符组成单词的向量表明作为LSTM网络的输入。

上下文表明层:运用BiLSTM对p和q进行表明。

匹配层:模型的中心层,包含四种匹配战略,别离是:Full-Matching、Maxpooling-Matching、Attentive-Matching和 Max-Attentive-Matching。四种匹配战略如下图:

聚合层:运用BiLSTM对匹配层的输出向量进行处理,获得p、q前向和后向终究一个time s伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧tep的输出进行衔接后输入到猜测层。

猜测层:softmax层,softmax函数分类。

上述是对近几年部分深度文本匹配模型的总结,接下来则介绍依据深度权财模型的FAQBot。

三、依据深度学习的FAQBot完成

3.1 模型化流程

3.2 数据获取及结构

3.2.1 数据获取

关于有许多问答记载的场景例如智能客服,这些记载里边有许多高频的常识点(常识点包含问题和答案)。这些高频的常识点对应的问法一般并不仅有。即常识库的结构为一个问题调集对应同一个答案。针对FAQ数据有以下三种数据类型:

  1. 规范问q:FAQ中问题的规范用户query
  2. 答案A: FAQ中规范问对应的的规范答复
  3. 类似问q1,q2...: 跟规范问语义类似可用同一答案答复的query

其间,规范问q、对应答案A以及该规范问q对应的一切类似问q1,q2,...,一同组成一个常识点。一个常识点的样例见下图:

3.2.2 数据结构

数据结构包含了两个方面:

(1)练习集测验集结构

测验集:将类似问中的第一条类似问q1作为query,从FAQ常识库的一切常识点中经过Lucene召回30个常识点作为候选集

练习集:包含两部分,一部分是正例的结构,另一部分是负例的结构,这两部分数据的结构办法将直接影响到终究的作用。在正例的结构中,因为每个常识点的第一个类似问是作为测验会集呈现的,所以在结构练习集的时分排除去一切常识点中的第一条类似问q1。这样的话,有多于2个类似问的常识点还有多于的其他类似问能够用来结构练习集。将这些识点中的规范问和从类似问的第二条开端(即[q2,q3,...,qn])能够依照不同办法结构出正例和负例。

练习集正例的结构:去除一切常识点中的第一条类似问q1,其他类似问及规范问两两组合成正例pair对;关于类似问多的常识点进行剪切。

练习集负例的结构的办法包含:

  • 按Jaccard间隔召回;
  • 按Lucene召回;
  • 从其他常识点中随机挑选;
  • 依照正例中各问题呈现的份额从其他常识点中采样挑选;
  • 每个语句和语句中的名词/动词构成pair对;
  • 针对常识点散布不均衡的问题,对类似问许多的常识点进行类似问剪切。

(2)数据增强战略

因为深度学习需求较多的数据,为了增强数据,咱们选用了以下战略:

  • 交流两个语句之间的次序;
  • 对语句进行分词,重新组合生成新的语句;
  • 打乱语句的次序,随机抽取语句。

3.3 模型树立

3.3.1 模型结构

根本结构一般都是将待匹配的两个语句别离运用两个encoder来获取对应context信息,然后将二者的context信息进行匹配,得到匹配后的特征信息。也能够在匹配之后的特征后边加上一些其他的色洛洛传统文本特征,将一切这些特征进行concat。终究接上softmax层,做终究的分类。模型的结构如下图所示:

3.3.2 模型树立及迭代优化

Embedding层:运用word2vec江宏杰和fasttext练习词向量和字符向量。

Encoder层:卷积具有部分特征提取的功用, 所以可用 CNN 来提取语句中类似 n-gram 的要害信息,考虑文本的上下文信息。所以咱们选用textCNN[19]来对语句进行编码表明,encoder进程见下图:

Matching层:在得到两个语句的表明后,要针对两个语句的表明进行matching操作。能够依据需求结构出许多种类型的matching办法如下图[20],咱们选用相比照较简略的element-wise相加和相乘的办法来进行matching。

join层:在matching层之后得到的两个语句的一同表明之后,进一步引进额定的传统特征进行join操作,类似于下图[21]。

引进interaction:上述过程对两个语句encoder时没有考虑两个语句之间的相关。所以进一步长安奔奔引进更详尽更部分的语句交互信息,然后能捕捉到两个语句之间的交互特征,依据交互得到的矩阵获取两个语句新的表明。如图:

引进attention机制:选用留意机制运用权重向量来衡量语句不同部分重要性的不同。att伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧ention的核算首要思维沿用了AICNN和ABCNN中的几种attention,别离是feature的attention,interaction后新的表明和语句原表明之间的attention。

四、总结与展望

4.1 数据层面

  • 树立愈加合理的常识库:每个常识点只包含一个目的,且常识点之间没有穿插,歧义,冗余等简单形成混杂的要素
  • 标示:为每个FAQ堆集必定数量的有代表性的类似问
  • 后期的继续保护:包含新FAQ发现,原FAQ的兼并、拆分、纠正等

4.2 模型层面

  • 进一步捕捉syntactic level和semantic level的常识如语义人物标示(SRL, semantic role labelling)和词性标示(POS, part of speech tagging)等,引进到文本的表明之中,进步文本语义匹配的作用
  • 现在大部分检索行问答的作业做的是问题和问题匹配,或是问题和答案匹配。后续能够一同引进问题和答案的信息进行建模,如图:

参阅文献

[1] Huang P S, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]// ACM International Conference on Conference on Information & Knowledge Management. ACM, 2013:2333-2338.

[2] Shen Y, He X, Gao J, et al. A Latent Semantic Model with Convolutional-Pooling Structure for Informa伤感网名,设备不學習:运用场景深度学习的主动化问答体系,人人美剧tion Retrieval[C]// Acm International Conference on Conference 吸烟的损害on Information & Knowledge Management. ACM, 2014:101-110.

[3] Hu B, Lu Z, Li H, et al. Convolutional Neural Network Architectures for Matching Natural Language Sentences[J]. Advances in Neural Information Processing Systems, 2015, 3:2042-2050.

[4] Qiu X, Huang X. Convolutional neural tensor network architecture for community-based question answering[C]// International Conference on Artificial Intelligence. AAAI Press, 2015:1305-1311.

[5] Palangi H, Deng L, Shen Y, et al. Deep Sentence Embedding Using Long Short-Term Memory Networks: Analysis and Application to Information Retrieval[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2016, 24(4):694-707.

[6] Yin W, Schtze H. MultiGranCNN: An Architecture for General Matching of Text Chunks on Multiple Levels of Granularity[C]// Meeting of the Association for Computational Linguistics and the, International Joint Conference on Natural Language Processing. 2015:63-73.

[7] Wan S, Lan Y, Guo J, et al. A Deep Architecture for Semantic Matching with Multiple Positional Sentence Representations[J]. 2015:2835-2841.

[8] Hu B, Lu Z, Li H, et al. Convolutional Neural Network Architectures for Matching Natural Language Sentences[J]. Advances in Neural Information Processing Systems, 2015, 3:2042-2050.

[9] Pang L, Lan Y, Guo J, et al. Text Matching as Image Recognition[J]. 2016.

[10] Wan S, Lan Y, Xu J, et al. Match-SRNN: Modeling the Recursive Matching Structure with Spatial RNN[J]. Computers & Graphics, 2016, 28(5):731-745.

[11] Lu Z, Li H. A deep architecture for matching short texts[C]// International Conference on Neural Information Processing Systems. Curran Associates Inc. 2013:1367-1375.

[12] Yin W, Schtze H, Xiang B, et al. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs[J]. Computer Sci酸ence, 2015.

[13] Tan M, Santos C D, Xiang B, et al. LSTM-based Deep Learning Models for Non-factoid Answer Selection[J]. Computer Science, 2015.

[14] Tan M, Santos C D, Xiang B, et al. Improved Representation Learning for Question Answer Matching[C]// Meeting of the Association for Computational Linguistics. 2016:464-473.

[15] Santos C D, Tan M, Xiang B, et al. Attentive Pooling Networks[J]. 2016.

[16] X Zhang , S Li , L Sha , H Wang. Attentive Interactive Neural Networks for Answer Selection in Community Question Answering[C]// International Conference on Artificial Intelligence.

[17] L Sha , X Zhang , F Qian , B Chang , Z Sui. A Multi-View Fusion Neural Network伦敦大学 for Answer Selection[C]// International Conference on Artificial Intelligence.

[18] Wang Z, Hamza W, Florian R. Bilateral Multi-Perspective Matching for Natural Language Sentences[C]// Twenty-Sixth International Joint C屋受onference on Artificial Intelligence. 2017:4144-4150.

[19] Kim Y. Convolutional Neural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.

[20] Wang S, Jiang J. A Compare-Aggregate Mode天津市l for Matching Text Sequences[J]. 2016.

[21] Severyn A, Moschitti A. Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks[C]// The International ACM SIGIR Conference. ACM, 2015:373-382.

[22] Xiaodong Zhang, Xu Sun, Houfeng Wang. Duplicate Question Identification by Integrating FrameNet with Neural Networks[C]//In the Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18)

[23] Gong Y, Luo H, Zhang J. 孟买Natural Language Inference over Interaction Space[J]. 2018.

原文发布于微信大众号 - 腾讯知文(tencent_wisdom)

评论(0)