如何做一款聊天机器人

2022-03-13 科技 108阅读
首先难点在聊天上。
能让机器理解人类的语言,或者模仿人类的语言是大家对人工智能最初的幻想,所以在早先,图灵测试一度成为评判人工智能的标准。
对话和翻译应用的是人工智能众多学科分支里自然语言处理(NatureLanguageProcessing,简称NLP)的部分,目的是要解决人和机器之间的沟通问题,是人工智能处理的发端,至今仍面临很多问题。
就拿对话系统来说,市面上各个巨头都推出自家智能语音助理,但鲜有一款能完全摆脱"智障"的嫌疑。
可以说在这条赛道上,大家跑的都不快。但尽管如此还是坚持在跑,就连长期困顿在手机里的Siri,也要推出自己的智能音箱。
"尽管目前形势不太乐观,但是一直跑下去,总会见到成效。"再坚持5-10年自然语言处理就会看到长足发展。
第一层是基础技术:分词、词性标注、语义分析。
第二层是核心技术:词汇、短语、句子、篇章的表示。包括机器翻译、提问和回答、信息检索、信息抽取、聊天和对话、知识工程、语言生成、推荐系统。
第三层是"NLP+":仿照"人工智能+"或"互联网+"的概念,实际上就是把自然语言处理技术深入到各个应用系统和垂直领域中。比较有名的是搜索引擎、智能客服、商业智能和语音助手,还有更多在垂直领域--法律、医疗、教育等各个方面的应用。
关于第三层的"NLP+",市面上大大小小的语音助手有不少,从微软毕业的有两个:小娜(Cortana)和小冰。虽然都是语音助手,但是两者还是有些区别。
其实无论小冰这种闲聊,还是小娜这种注重任务执行的技术,背后单元处理引擎无外乎就三层技术。
第一层:通用聊天,需要掌握沟通技巧、通用聊天数据、主题聊天数据,还要知道用户画像,投其所好。
第二层:信息服务和问答,需要搜索的能力,问答的能力,还需要对常见问题表进行收集、整理和搜索,从知识图表、文档和图表中找出相应信息,并且回答问题,这些统称为InfoBot。
第三层:面向特定任务的对话能力,例如订咖啡、订花、买火车票,任务是固定的,状态也是固定的,状态转移也是清晰的,就可以用Bot一个一个实现。通过一个调度系统,通过用户的意图调用相应的Bot执行相应的任务。它用到的技术就是对用户意图的理解,对话的管理,领域知识,对话图谱等。
除了创造出小娜小冰,微软还要技术释放,让开发者能开发自己的Bot。如果开发者的机器不懂自然语言,这时就可以通过一个叫BotFramework的工具来实现。
任何一个开发者只用几行代码,就可以通过BotFramework完成自己所需要的Bot。比如,有人想做一个送披萨外卖的Bot,可以用Bot的框架填入相应的知识、相应的数据,就可以实现一个简单的Bot。很多没有开发能力的小业主,通过简单操作,就可以做一个小Bot吸引来很多客户。
在这个开源平台里有很多小冰的关键技术。微软有一个叫做LUIS(LanguageUnderstandingIntelligentService)的平台,提供了用户的意图理解能力、实体识别能力、对话的管理能力等等。
比如说这句话"readmetheheadlines",识别的结果就是朗读,内容就是今天的头条新闻。再比如说"Pausefor5minutes",识别的结果是暂停,暂停多长时间?有一个参数:5分钟。通过LUIS,我以把意图和重要的信息抽取出来,让Bot来读取。
这些对于人类来说甚至不需要动脑思考的对话,对于机器来说是难到了另一个层次上。
周明博士认为人工智能有四个层次,从下往上依次是:运算智能、感知智能、认知智能和创造智能。
运算智能已经达到很高的水平了,感受一下来自世界顶级围棋选手对AlphaGo的评价。
其次是感知智能,主要体现在听觉、视觉和触觉方面,也就是我们通常说的语音技术、图像技术。语音技术用的就多了,比如让Siri听懂你说的话,图像识别主要应用在人脸识别上,喜欢跟随科技潮流的公司一般会把门禁换成人脸识别。
认知智能是我们今天说的重点,主要包括语言、知识和推理。语言的重要性体现在什么地方呢?Siri不能只是识别出来你在说啥,它需要根据你说的话做出回应,这时候就需要理解你在说什么。
创造智能就是一种最高级的形态了,也就是当AI拥有想象力的时候。
在运算和语音、图像识别上,机器已经能达到很高的准度,目前的主要缺口在认知智能上。过去认知智能主要集中在自然语言处理,它简单理解了句子、篇章,实现了帮助搜索引擎、仿照系统提供一些基本的功能、提供一些简单的对话翻译。
对于未来语音智能的发展,周明博士认为有几个方向:
第一,随着大数据、深度学习、云计算这三大要素推动,口语机器翻译会完全普及。
第二,自然语言的会话、聊天、问答、对话达到实用程度。
第三,智能客服加上人工客服完美的结合,一定会大大提高客服的效率。
第四,自动写对联、写诗、写新闻稿和歌曲等等,
第五,在会话方面,语音助手、物联网、智能硬件、智能家居等等,凡是用到人机交互的,基本上都可以得到应用。
最后,在很多场景下,比如说法律、医疗诊断、医疗咨询、法律顾问、投融资等等,这些方面自然语言会得到广泛的应用。
当然,现在的自然语言现在也面临许多困境。最关键的一点是如何通过无监督学习充分利用未标注数据。现在都依赖于带标注的数据,没有带标注的数据没有办法利用。但是很多场景下,标注数据不够,找人工标注代价又极大。转自机器人家,希望对你有帮助。
那么如何用这些没有标注的数据?这就要通过一个所谓无监督的学习过程,或者半监督的学习过程增强整体的学习过程。
再给NLP一些时间,语音助手也许就能说服你它其实是人工智能了。
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com