个人计算机的发展史要追溯到上个世纪90年代末,人们用键盘和鼠标向购物网站发送请求,购买心仪的商品,随后的十多年间,互联网飞速发展,智能手机应运而生,人们开始习惯用触摸的方式更加灵活地操纵手机、Pad等设备,可与之进行交互的产品也稳步落地在数以百万计APP中,这些产品都是基于GUI (Graphical User Interface)设计的。 鉴于人类向外界发送指令的方式除了用手做(以键盘鼠标、触摸为代表),还可以用嘴说,因此语音控制设备进行人机交互也开始进入人类探索的领域,然而让机器听懂人类的语言是一件十分困难的事,近几年随着深度学习的崛起,语音识别和自然语言理解的快速发展,为这一交互模式的流行创造了可能,相信不久的将来,人类会逐步迈入CUI (Conversational User Interface)时代。 一、智能问答简介 在我们的生活中,智能对话被广泛应用在客服、营销等重复性对话频繁发生的场景,或者作为GUI的补充,为用户提供高效、个性化的体验,甚至是直接集成到智能音箱、智能家居、智能导航等硬件设备中,独立承载人机交互的重担,按照对话的智能程度,我们可以把智能问答分为5个阶段:单轮问答、多轮会话、意图推理、个性化以及情感互动,而从问答的种类来讲,我们又可以将其分为Community QA、KBQA、TableQA、PassageQA、VQA这5大类。 KBQA:基于知识图谱的问答,所有的知识被组织成三元组的形式,比如<姚明、妻子、叶莉>这个三元组是知识图谱里的一条知识,当用户询问“姚明的妻子是谁”的时候,问答模型会将答案定位到“叶莉”; TableQA:知识是用表格的形式组织的,商家的产品信息用表格的形式存储,当用户询问关于某个产品的具体属性时,问答模型可以把用户的自然语言转化成SQL查询语句,直接从数据库里定位答案; PassageQA:阅读理解,它是基于文档的问答,我们的问答模型会基于用户的问题,将答案定位在文档的某个段落、某句话甚至是某个短语。 VQA:基于图像或视频的问答,以上图为例,用户问“这个女孩儿的脸被什么挡住了”,问答模型会告诉我们答案是“香蕉”; Community QA:从命名上来看,它是基于社区知识的问答,比如一个读书论坛,底下有人在交流值得一读的人工智能书籍,在母婴论坛有人在讨论宝宝发烧了怎么办?需要吃药吗?那么这些对话内容都可以沉淀为知识,我们定义的Community QA就来源于这些场景,在不同的领域,我们通过挖掘、或者收集、标注的方式沉淀了一批知识,用问答对的形式把它们组织起来,在这批知识集合下,用户提问一个领域相关的问题,问答模型会告诉我们答案到底是什么。