太阳城菲律宾官方网

太阳城菲律宾官方网 » 历史数据 » 如意怎么开户 对话机器人平台智能问答技术拆解

如意怎么开户 对话机器人平台智能问答技术拆解

发表于 2020-01-11 17:27:51 | 阅读量 1694

如意怎么开户 对话机器人平台智能问答技术拆解

如意怎么开户,笔者对智能问答机器人技术进行了分析,从实际场景切入,阐释其功能逻辑。

个人计算机的发展史要追溯到上个世纪90年代末,人们用键盘和鼠标向购物网站发送请求,购买心仪的商品,随后的十多年间,互联网飞速发展,智能手机应运而生,人们开始习惯用触摸的方式更加灵活地操纵手机、pad等设备,可与之进行交互的产品也稳步落地在数以百万计app中,这些产品都是基于gui (graphical user interface)设计的。

鉴于人类向外界发送指令的方式除了用手做(以键盘鼠标、触摸为代表),还可以用嘴说,因此语音控制设备进行人机交互也开始进入人类探索的领域。

然而,让机器听懂人类的语言是一件十分困难的事,近几年随着深度学习的崛起,语音识别和自然语言理解的快速发展,为这一交互模式的流行创造了可能,相信不久的将来,人类会逐步迈入cui (conversational user interface)时代。

在我们的生活中,智能对话被广泛应用在客服、营销等重复性对话频繁发生的场景,或者作为gui的补充,为用户提供高效、个性化的体验,甚至是直接集成到智能音箱、智能家居、智能导航等硬件设备中,独立承载人机交互的重担。

按照对话的智能程度,我们可以把智能问答分为5个阶段:单轮问答、多轮会话、意图推理、个性化以及情感互动。

而从问答的种类来讲,我们又可以将其分为community qa、kbqa、tableqa、passageqa、vqa这5大类。

图1 智能问答领域分类[duan 2017]

面对智能问答的广泛应用,本篇文章以如何搭建一套智能问答系统为切入点,深入浅出介绍一下在community qa上所做的尝试。

我们再基于几个实际的例子看一下问答的使用场景:

基于前面的例子,我们对问答场景有了更具体的画像,需要做什么已经很清晰了,那么怎么做呢,我们开始尝试对该问题进行建模。

首先是对知识的结构化表示:

图2 知识库表示

我们为什么要用这种方式来管理知识,不用图表、也不用表格?

实际上,知识的管理方式是来源于实际业务场景的,这种方式非常易于维护,多个同义问题用一个知识点管理,也能减轻维护答案工作量,同一知识点下的问题也将会是很好的训练数据。

现在有了领域内知识库,用户提问后,我们还需要一个问答模型,这个模型能找到和用户query最匹配的问题,进而给出对应的答案,这里我们采用检索+匹配+排序的架构。

图3 问答建模流程

下图是基于知识库和问答模型在母婴场景的应用举例:

图4 qa应用举例

图5 数据类型分布

在正式开始问答模型构建之前,我们需要思考目前有哪些数据可被我们使用,以及我们需要什么数据来支撑后续的工作。

通用领域的贴吧、豆瓣、微博、知道等问答数据,可被用来训练词向量,或是统计共现、互信息词典;人工标注的q/p对,可被用来训练有监督的分类模型;垂直领域的知识库可被用来训练领域相关的分类模型,也可用作词向量的fine-tune,当然也是有效的评估数据。

图6 qa架构图

整体的qa架构图如图6所示,下面我们简单介绍一下历次迭代的思路。

1. bow+lr

第一次迭代我们只引入了词袋(bag of words)模型,5维代表特征。

上述特征集合,均由大数据文本的统计特征衍生而来,对句子的语义表示能力较弱。

2. bow+we+lr

第二次迭代我们给模型引入了一定的语义表示能力,对于了解深度学习、自然语言处理的同学来讲,word2vec在很多任务上都有着非常杰出的贡献,这一模型从不同角度刻画了周围词和当前词的关系。经过训练后,我们能得到一份词汇的向量表示。

图7 word2vec的2个模型

基于训练得到的词向量,我们采用idf对词向量进行加权平均,以此得到q、p词粒度的句向量表示,并最终通过余弦相似度来度量两者的语义相关性。

图8 基于句子表示的w2v特征

通过余弦相似度给出的相似,本质上描述的还是两个词的相对一致,而且word2vec不考虑词序,余弦相似度大表示两个词搭配出现、或者和同一批词搭配出现的可能性较大,这一特征所显示出来的弊端就是往往相似度高的2个词具有可替换性但却语义不完全相同。

比如q=“宝宝感冒怎么办”,p=”宝宝发烧怎么办”,”感冒”和”发烧”互相替换,句子依然具有合理性,而且由于他们经常在同一批词汇中搭配出现,具有比较相似的分布特征,相关性比较高,然而他们语义并不同。

接下来我们引入另一种语义度量方法:wmd (the word mover’s distance),它刻画了如何用最小的代价将q中的每个词以不同权重匹配到p中每个词上,这是一种基于句子间的交互来表示语义的方法。

图9 基于句子交互的wmd特征

在利用wmd计算q/p的相关性时,我们会对句子进行切词、去停,对于q中的每个词,找到p中的另一个词,进行语义转移,转移的代价我们用两个词汇间的word2vec余弦相似度来度量。

当2个词语义较相近时,我们可以多转移一点,如果语义相差很大,我们可以选择少转移或者不转移,最后使得所有转移的加权和最小,这里加权采用词频作为特征,具体示例如图10所示。

图10 the word mover’s distance (wmd)

由于wmd也高度依赖word2vec词向量,因此上文提到的word2vec cosine特征所有的不足,wmd特征依旧存在,既没有考虑语序信息,同时对oov (out of vocabulary)情况也很不友好,语义泛化能力弱,相似意图区分能力差。

3. bow+we+se+fine-tune

前两次迭代都没有考虑知识库内的数据,比较适用于无语料或者语料较少的知识库,当知识库具有一定的规模后,正如前面提到的,同一个知识点下的相似问,将是很好的训练数据。

我们采用了fasttext模型,充分利用知识点中的问题语义相同/相近这个事实作为监督信号,训练一个分类模型,直接用一个问题的词去预测问题所属的知识点。

fasttext是tomas makolov为了弥补word2vec的某些不足而提出的改进方案,和word2vec中cbow不同的是,它的输入不再是上下文,而是一整个句子,同时它接收子词和ngram特征,能捕捉到更多的信息。

比如单词的前后缀,以及词的语序特征等。相比其它深度学习模型,fasttext结构简单,本质上是一个线性模型,不太适合处理较长或者线性不可分的样本,而对于偏线性的短文本分类任务却比较合适,能在较少训练集合的基础上,非常快速地得到不错的效果。

图11 fasttext模型结构

同时fasttext在训练过程中也会产生一份词向量,经实验验证,基于知识库训练fasttext的词向量对基于大数据训练的word2vec词向量进行fine-tune,能一定程度上提升该领域的问答效果。

4. bow+we+se+dm+fine-tune

前面我们利用一个知识库的相似问语义相近作为监督信号,从中抽取出了一个知识点的语义信息,但我们最终的目标是判断用户输入和相似问之间的相关性,这里我们使用一个深度学习的模型esim (enhanced lstm for natural language inference),利用要比较的两句话的监督信号来训练模型,观察句对的交互对模型的影响。

图12 esim模型架构(左侧)

上图是esim的网络结构,它在众多短文本分类任务中都有不错的表现,主要在于输入2句话分别接embedding+bilstm, 利用bilstm学习一句话中的word和它上下文的关系后,在进行inference之前,会利用attention操作计算2个句子word之间的相似度来更新embedding,也就是说比较的两句话在模型训练中产生了交互,相比其它的类似网络只在最后一层求距离来讲,这种交互的影响能学到更全局的信息。

5. bert+mtl+fine-tune

当然,学术界是在不断变化的,对于效果较好的模型,我们也需要进行尝试,寻找适合在工业界落地的条件和场景。

图13 bert+多任务学习mtl框架图

在bert横扫了11项nlp测评任务的效果后,我们把它应用在知识点分类任务上,期望利用bert本身的优势,来提升分类任务的效果。同时我们还基于知识库数据,在bert的基础上,通过mtl进行fine-tune,再以bert-mtl为基础,通过单个任务分别进行fine-tune。

图14 bert+mtl的fine-tune过程

图15 评估数据举例

效果变好了,有多好?肉眼可见显然不能作为一个反馈的指标,所以我们需要去科学地评估这些改进,评估这一环节我们选了6个不同领域,每个领域50个知识点,每个知识点12个相似问作训练,3个作评估测试,示例数据见图15,在此数据集基础上去评估准召和f1。具体结果见图16,大家可以看到在不卡阈值的情况下,准确率从0.8提升到了0.968。

图16 历次迭代评估数据表

迭代是一个循序渐进的过程,可能有人会有疑惑,我怎么知道要用什么特征、选哪个模型,从多次迭代的经验来讲,badcase分析很重要,特征的设计一方面来源于你对问题的直观感知。

比如我们需要从多方面(统计层面、词汇表示、句子表示、句子间交互等)来设计方法对句子进行语义表示,另一方面来源于对模型现有badcase的弥补,通过分析case表现出来的规律或者倾向来设计有针对性的特征。

同时学术界也在不断更新新的模型,3年前时兴的技术,到现在被完全替代的可能性是非常大的,因此我们需要与时俱进。

整个智能问答系统升级的过程,主要围绕四个步骤进行,首先面对任务要理解问题的本质,对问题进行合理的建模,然后评估选择合适的语言工具去实现它,再由浅入深稳步迭代,形成数据、模型、反馈的闭环,最后就是要持续性学习,拥抱变化,拥抱技术。

参考文献:

[1] nan duan. building informational bot (infobot) with question answering & generation. in association for computational linguistics (acl). 2017.

[2]tomas mikolov, ilya sutskever, kai chen, greg corrado, and jeffrey dean. 2013b. distributed representations of words and phrases and their compositionality. in nips, pages 3111–3119.

[3] qian chen, xiaodan zhu, zhenhua ling, si wei, hui jiang, diana inkpen. “enhanced lstm for natural language inference”. in association for computational linguistics (acl). 2017.

[4] le, quoc, and tomas mikolov. “distributed representations of sentences and documents.” international conference on machine learning. 2014.

[5] devlin, j., chang, m.-w., lee, k., and toutanova, k. bert: pretraining of deep bidirectional transformers for language understanding. arxiv preprint arxiv:1810.04805, 2018.

[6] xiaodong liu, pengcheng he, weizhu chen, and jianfeng gao. 2019a. improving multi-task deep neural networks via knowledge distillation for natural language understanding. arxiv preprint arxiv:1904.09482.

[7] xiaodong liu, pengcheng he, weizhu chen, and jianfeng gao. 2019b. multi-task deep neural networks for natural language understanding. arxiv preprint arxiv:1901.11504.

本文由 @吾来 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 unsplash,基于 cc0 协议

澳门金沙城娱乐场



上一篇: 1984年出生第二天被遗弃在浙江省衢州市江山市某地的毛祥明寻亲
下一篇: 高能预警!A股惊现50亿清仓大减持,更有3000亿套现计划在路上

Copyright (c) 2013-2015 endecore.com 太阳城菲律宾官方网 版权所有