(七)图谱搜索——利用AIML进行图谱问答(上)

         过去20多年,互联网及移动互联网将人类带到了一个全新的时代,如果用一个词来总结和概括这个时代的话,“连接”这个词再合适不过了。

这个时代主要建立了四种连接:

        人和商品的连接;

        人和人的连接;

        人和信息的连接;

        人和设备的连接。

(七)图谱搜索——利用AIML进行图谱问答(上)_第1张图片

1、智能对话交互框架

        在自然语言处理(NLP)任务中,有很多关于对话系统研究的任务,包括语音识别(ASR)、自然语言理解(NLU)、自然语言生成(NLG)等等,这些模块我们经常在一些论文和博客中看到。实际上,这些技术可以看成是智能对话交互框架的部分组件。那么,智能对话这么大的一个题目究竟涉及到哪些方面?

(七)图谱搜索——利用AIML进行图谱问答(上)_第2张图片

         如图所示的框架中,对话系统最关键的两部分就是自然语言理解和对话状态管理两个部分。实际上人机交互的任务有很多,所以这两部分的框架并不唯一。一般地,我们将对话系统分为聊天型对话、任务型对话和问答型对话。这其中聊天型对话、任务型对话的多轮任务是个大难题(指的是对话的记忆性),问答型往往只需要一问一答的单轮形式即可,但需要利用知识库对答案进行精准定位。现在市面上的对话系统(如下图所示)

(七)图谱搜索——利用AIML进行图谱问答(上)_第3张图片

功能并不唯一,例如我们最常见的SIRI就有聊天和部分定向式的功能(例如查询天气、日期等)。我们可以再举一个比较实际的例子:

(七)图谱搜索——利用AIML进行图谱问答(上)_第4张图片

这张图描述的是阿里巴巴的对话系统架构,也许有很多的人听说过阿里开源Opendia,从这个图就可以看出,一套完整的人际交互系统应该包含的部分。

2 、NLP技术在人机交互中的应用

        NLP中的分词、词性标注、实体识别等内容往往是其他任务的地基,当然这其中还包含词向量和语言模型。在这里,分词、词向量、词性标注如今都有比较好的工具可以利用,比如jieba、Hanlp。实体识别技术在人机交互中是自然语言理解部分的一个子模块,但个人建议自己搭一个框架比较好。在我看来实体识别、分词、词性标注都属于序列标注问题,至少在Deep Learning上都可以用一种模型,当然分词实际上要复杂的多。这些我的前面的博客都有介绍欢迎打call。

(七)图谱搜索——利用AIML进行图谱问答(上)_第5张图片

       从这个图我们可以看到无论是任务型的对话还是QA问答,一旦涉及到精准回答都需要一个知识库,如今知识图谱是一个比较热门的方向,相关的知识体系我们在下一节构建基于知识库问答系统会进行简单的介绍。实际上从Slot到Sql的映射并不是一件简单的事情。KBQA 是基于知识库的问答,DBQA 是基于文档的问答。换言之,KBQA 利用的是结构化的知识,而 DBQA 所利用的是非结构化的文本。数据源的不同决定了他们不同的擅长领域,KBQA 更适合回答 what,when 等事实性问题;DBQA 更适合回答 why,how 等解释性、 述性问题。传统的 KBQA 系统根据其框架共同特征,都可以大概分为四个模块。这四个模块形成的整体框架,可以视为一个粗糙而通用的 pipeline。四个模块为:问题分析(Question Analysis)、短语映射(Phrase Mapping)、消歧(Disambiguation)和查询构建(Query Construction)。

3、智能对话实现难点

        现如今深度学习、强化学习等机器学习技术在人机交互中的应用非常广泛,一些比较成熟的框架例如Seq2Seq等在工程上已落地,但是人机交互还有许许多多的难点,例如如何在多轮对话中记住上下文的信息,如何处理语言的多样性等等问题,这些问题在工程上大多基于模板的方式进行实现,实际上,基于模板的背后也有一套强大的模板逻辑,在下一篇文章中我们将手动实现第一个对话系统——基于电影知识图谱和AIML的问答系统,其中包括聊天与电影相关内容的查询的技术实现。

你可能感兴趣的:((七)图谱搜索——利用AIML进行图谱问答(上))