当前位置: 首页 > news >正文

中国交通建设集团第四工程局网站服务商公司

中国交通建设集团第四工程局网站,服务商公司,硬件工程师的就业前景,帮人做网站赚钱吗| 导语 问答系统是信息检索的一种高级形式#xff0c;能够更加准确地理解用户用自然语言提出的问题#xff0c;并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎#xff0c;问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用…| 导语 问答系统是信息检索的一种高级形式能够更加准确地理解用户用自然语言提出的问题并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用户的信息需求。问答系统是目前人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。一、引言       问答系统处理的对象主要包括用户的问题以及答案。根据问题所属的知识领域问答系统可分为面向限定域的问答系统、面向开放域的问答系统、以及面向常用问题集Frequently Asked Questions, FAQ的问答系统。依据答案来源问答系统可分为基于结构化数据的问答系统如KBQA、基于文本的问答系统如机器阅读理解、以及基于问答对的问答系统如FAQ问答。此外按照答案的反馈机制划分问答系统还可以分为基于检索式的问答系统和基于生成式的问答系统。      本文主要阐述FAQBot检索型问答系统的相关研究和处理框架以及深度学习在其中的应用。FAQ检索型问答是根据用户的新Query去FAQ知识库找到最合适的答案并反馈给用户。如图所示其中Qi是知识库里的标准问Ai是标准问对应的答案。具体处理流程为候选集离线建好索引。采用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层加入attentionAttention matrix A的计算方法与上述相同得到A后需要为两个句子分别计算attention权重向量如上图中的两个虚线部分col-wise sum和row-wise sum。这两个向量中的每个元素分别代表了相应单词在做Average Pooling时的权重。相当于pooling不再是简单的Average Pooling而是根据计算出的Attention权重向量得到的pooling。2.2.2LSTM/CNN,attention[13,14]给定一个(q,a)pairq是问题a是候选答案。首先得到它们的词向量再使用biLSTM进行encoder生成问题和答案的分布式表示然后利用余弦相似度来衡量它们的距离。训练目标是hinge loss。在biLSTM表示输出的基础上进一步使用CNNCNN可以获取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 matchingBiMPM)解决了这方面的不足。模型框架如下图模型自下而上一共包含五层分别为单词表示层、上下文表示层、匹配层、聚合层和预测层其中匹配层为模型的核心共提出了四种匹配策略这里的匹配可以看成是attention机制。单词表示层使用GloVe模型训练向量对字符embedding进行随机初始化单词中的字符组成单词的向量表示作为LSTM网络的输入。上下文表示层使用BiLSTM对p和q进行表示。匹配层模型的核心层包含四种匹配策略分别是Full-Matching、Maxpooling-Matching、Attentive-Matching和 Max-Attentive-Matching。四种匹配策略如下图聚合层利用BiLSTM对匹配层的输出向量进行处理取得p、q前向和后向最后一个time step的输出进行连接后输入到预测层。预测层softmax层softmax函数分类。       上述是对近几年部分深度文本匹配模型的总结接下来则介绍基于深度模型的FAQBot。三、基于深度学习的FAQBot实现3.1 模型化流程 3.2 数据获取及构造3.2.1 数据获取       对于有大量问答记录的场景例如智能客服这些记录里面有很多高频的知识点(知识点包括问题和答案)。这些高频的知识点对应的问法通常并不唯一。即知识库的结构为一个问题集合对应同一个答案。针对FAQ数据有以下三种数据类型标准问qFAQ中问题的标准用户query答案A FAQ中标准问对应的的标准回答相似问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机制采用注意机制使用权重向量来衡量句子不同部分重要性的不同。attention的计算主要思想沿用了AICNN和ABCNN中的几种attention分别是feature的attentioninteraction后新的表示和句子原表示之间的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 Information 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, Schütze 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, Schütze H, Xiang B, et al. ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs[J]. Computer Science, 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 Conference 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 Model 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.
http://www.pierceye.com/news/93054/

相关文章:

  • 免费收录网站推广wordpress打开速度分析
  • 成都网站运营wordpress后台
  • 班级建设网站wordpress获取分类的文章
  • 北京建设官方网站常州做网站那家快
  • 网站建设源码包射阳网页设计
  • 做企业网站备案都需要什么织梦 安装网站
  • 查询网站收录命令用wordPress搭建图片库
  • 网站开发的验收标准给几个网址谢谢
  • 手表网站大全网络推广竞价
  • 中创高科官方网站wordpress 页面添加js
  • 平台网站怎么做专业网站设计公司排名
  • 网站开发公司 重庆百度seo标题优化软件
  • wordpress 导入主题网站建设优化广告流量
  • 网店装修网站房屋装修设计费一般多少
  • 微信公众平台制作网站设计网站页面要怎么切图
  • 个人网站 备案 类型小红书笔记推广
  • 门户网站怎么创建网页制作步骤php
  • 六师五家渠市建设局网站wordpress 定时发布插件
  • 深圳外贸网站外贸网站建设安阳网站建设服务
  • wdcp 网站建设做民宿推广都有哪些网站
  • 常见的网站开发环境网站建设的结构
  • 贵阳网站推广优化公司做网站的公司搞什么活动
  • 安徽平台网站建设制作坪山网站设计的公司
  • 如何做挂qq的网站2017网站建设
  • wordpress语言切换网站保定广告设计公司
  • 做网站需要走公司吗运行一个网站要多少钱
  • 怎样可以免费做网站wap网站软件
  • 织梦手机网站免费模板漳州城乡建设局网站
  • 厦门建设网站的公司php除了写网站吗
  • 如何做全网影视网站居然之家装修公司怎么样