经过对大观数据智能问答技术的研究,在机器人围棋击败李世石和柯杰之后,人工智能越来越流行。作为一种新兴技术,智能问答也是人工智能的重要组成部分。智能问答通常用于解决企业客户服务,智能信息等应用场景。它可以通过多种方式实现,包括简单的规则实现,也可以基于检索,也可以通过编码器-解码器框架生成。本文采用几种常见的问答技术,简要介绍大观数据智能问答的相关原理的研究。 1。基于规则的智能问题解答基于规则的智能问题解答通常是一系列预先设置的问答规则。当用户输入问题时,转到规则库进行匹配,查看是否满足特定规则,如果满足则返回该规则。相应的结果。如果“ *你好*”-》“你好!”在规则库中设置,然后当用户输入“ Hello”时,机器人将自动返回“ Hello!”。如果规则库非常大并达到海量级别的库,则可以为规则建立反向索引。当用户输入新问题时,请首先转到倒排索引以找到匹配项,然后按照该组中的规则进行操作。比赛收益。使用规则库进行智能问答的优点是简单方便,准确性也很高;缺点是规则库需要经常维护和扩展,并且覆盖范围很小,并且无法回答新问题。 2。基于搜索的智能问题解答基于搜索的智能问题解答很像一个搜索引擎,但是与搜索引擎不同。与搜索引擎相比,智能问答更侧重于对用户意图和语义的理解。它基于历史问答集建立索引,索引信息包括问题,答案,问题特征,答案特征等。当用户提出问题时,该问题将在索引库中匹配。首先,将对关键字和语义进行粗略搜索,并召回大量可能满足答案的问题和答案对。好结果或结果。图1粗分类策略与通用搜索引擎非常相似,基于粗分类策略的主要技术包括粗粒度分词,词重要性计算,核心词识别,命名实体识别,语义规范化等相关技术,主要用于粗略分类的目的。可能回顾相关问题。通过粗略的排序,搜索引擎返回了大量潜在的相关结果,例如500个,如何找到与该问题最匹配的500个问题中的一个或几个,通常,基于检索的问答系统将通过语义或深度学习方法找到最佳匹配答案。基于句子相似度的算法有很多,较好的结果包括基于word2vec的句子相似度计算和基于句子2vec的句子相似度计算。基于word2vec计算两个句子的相似度是为了从单词向量的角度计算将第一个句子转换为第一个句子的成本:单词向量具有有趣的特征,并且可以通过减去两个单词来计算两者向量单词差异,这些差异可以应用于语义表达。例如:vec(柏林)– vec(德国)= vec(巴黎)– vec(法国);此功能可用于计算句子的相似度。假设两个词xi,xj之间的距离为,则可以认为这是将xi转换为xj的代价。句子可以用词袋模型表示。模型中某个单词i的权重为,其中ci是单词i在句子中出现的次数。设置为转换矩阵,Tij表示将句子d中的单词i转换为句子d’中的单词j的权重,如果您想将句子d完全转换为句子d’,则成本计算如下:如果Xd为用于表示句子词向量in由加权平均句子向量加权,可以推断出句子转换成本的下限是两个句子向量的欧式距离。通常,该下限表示两个短句之间的相似度就足够了。如果需要通过完全优化方法计算值,则可以通过EMD求解器算法进行计算。根据句子向量之间的距离计算句子相似度可以涵盖大多数情况,但是当句子在表面上相似但含义完全不同时,会出现一些问题,例如“我喜欢冰淇淋”和“我不喜欢”像冰淇淋。”分词是“ I”,“否”,“喜欢”和“冰淇淋”。这两个句子的相似度很高。只有单词“ no”不同,导致完全相反的含义。为了应对这种情况,我们需要使用深度模型来抓住句子的局部特征以进行语义识别。如图2所示,Q是用户的问题,D是返回的答案。对于某个问答句,首先将其映射到500k大小的BOW向量Term向量。由于术语向量是一个稀疏矩阵,接下来的l1,l2和l3层是传统的MLP网络,并且查询和文档的语义向量是通过神经网络获得的。在计算了(D,Q)的余弦相似度后,通过softmax归一化获得的概率值是整个模型的最终输出,并且该值用作监督训练的监督信号。该模型将挖掘由搜索单击日志和相应的正负文档样本(单击/不单击)构成的查询,并输入DSSM进行训练。单独查看时,句子中的每个词都有一定的含义,与上下文结合使用时可能意味着不同的意思;例如“ Microsoft office”和“我坐在办公室”,这两个句子中office的含义完全不同。 。通过基于卷积神经网络的隐式语义模型,我们可以捕获这种上下文信息。如图3所示,通过滑动窗口构造查询或文档中的一系列n-gram术语,例如图中的Word-n-gram层中的trigram;然后通过散列或嵌入来表示三元组术语,它是一个90k的向量;通过将每个字母三元组矢量与卷积矩阵Wc卷积,可以获得300维卷积层。最后,通过max-pooling将卷积层中每个维的最大值作为文本的语义向量。该模型还通过挖掘搜索日志进行监督。通过卷积神经网络,可以获得句子中最重要的信息。就像下面的句子一样,突出显示的部分是卷积神经识别的核心词。它们是300维Max-pooling层向量中的5个最大神经元激活值,可追溯到原始句子中的短语。 microsoft office excel可以允许远程执行代码到公寓办公室,短文本通常是稀疏的,效果可能不令人满意。对于短文本匹配问题,华为诺亚方舟实验室提出了DeepMatch神经网络语义匹配模型。 LDA主题模型通过(Q,A)语料库进行训练以获得其主题词。这些主题词用于检测两个文本在语义上是否相关。该模型还通过训练不同的“分辨率”主题模型(“分辨率”是指定主题的数量,高分辨率模型主题词通常更具体,低分辨率主题词通常更抽象)在不同抽象级别上获得语义匹配。 )。在高分辨率级别上没有共现的文本在低分辨率下可能具有更多的抽象语义关联。 DeepMatch模型使用主题模型来反映单词的同时出现,可以避免由于短文本单词稀疏而引起的问题,并且可以获得不同的语义相关性抽象级别。如图4所示,绿色和紫色块分别表示以相同分辨率在X和Y文本中被不同主题命中的主题块。它是否与上一层的主题块重叠。这样,通过多层主题,可以构建神经网络,并可以有监督的方式训练相关权重。 3。基于生产的智能问答系统基于生产的智能问答系统主要使用seq2seq通过翻译模型进行智能回答。问题是翻译模型的原始语言,答案是翻译模型的目标语言。 Seq2seq模型包含两个RNN,一个是Encoder,另一个是Decoder。编码器将一个句子作为输入序列,每个时间片处理一个字符。解码器使用时间序列通过编码器生成的上下文向量生成翻译(答案)内容。图5在Encoder中,每个隐藏状态都会影响下一个隐藏状态,最后一个隐藏状态可以视为序列的摘要信息。最后一个状态表示序列的意图,即序列的上下文。通过上下文信息,解码器将生成另一个结果序列。对于每个时间段,解码器将根据上下文和先前生成的字符生成翻译字符。通用翻译模型和问答模型中序列的长度都是不确定的。另一个是仅一个上下文变量不足以完全表示输入序列信息。在序列变得很长之后,将丢弃大量信息,因此需要多个上下文变量和注意机制来处理它。通过Padding方法,可以将问题和答案字符串固定为固定长度的序列。例如,以下序列用于填充:EOS:序列的末尾PAD:填充字符GO:开始的字符解码UNK:字典中没有字符右:问:你好吗?答:那是一段美好的时光。通过填充,将生成以下固定字符串:问:【PAD,PAD,PAD,PAD,“?”,“样本”,“如何”,“获取”,“结束”,“您”】答:【GO ,“至”,“至”,“非常”,“好”,“。”,PAD,EOS,PAD,PAD】 Seq2Seq的一个局限性在于,输入序列的所有信息只能编码为固定长度数组上下文,如果输入序列变长,我们很容易丢失信息,因此Seq2Seq模型对长输入序列的影响很小。通过引入注意机制,解码器可以在计算(应答)时根据权重选择性地提取输入的每个隐藏层变量,以便在生成输出时可以考虑输入的关键信息。如图7所示,除了输入的先前状态yi-1和隐藏状态si外,每个输入状态yi还与注意力向量ci相关。这里的注意力向量不再是单个c,而是每个输入yi都有对应的ci,其计算如下:eij是一个对齐模型,用于计算位置i的输入和位置输出之间关系的比例的j。它由输出隐藏状态si – 1(用于计算si和输出状态yi)和输入序列的第j个隐藏变量hj计算得出。通过使用翻译模型(问题是原始语言,问题是目标语言)训练问题答案对,当出现新问题时,您可以获得更接近的答案,而没有任何历史上类似的问题。经常翻译出的莫名其妙的答案令人困惑,如下:你好-》你好,很高兴认识你-》我是你是谁-》我的意思是,我们是朋友,我们是朋友-》这不是为什么我们不是朋友- 》我们不知道,我们也不知道您在哪里。数据非常强大-》我们知道,通过生产转换模型,即使它基于大量的语料库训练,效果可能仍不理想,因此经常作为问答的辅助方法基于规则和检索的系统。 4。总结本文介绍了智能问答技术的相关原理,并介绍了实现智能问答的一般方法。借助深度学习技术,智能问答功能比传统机器学习高出约20%。大元数据拥有多年的自然语言处理技术积累,并紧跟行业发展趋势。它继续在文本语义,信息检索和智能问题解答方面加深努力,以帮助所有企业享受大数据技术带来的成果。