对话体系是自然语言处理的一个热门话题,而自然语言了解则是对话体系的要害组成部分,现有的许多自然语言了解东西往往以服务的办法获取(Google 的 API.ai, Facebook 的 Wit.ai 等),运用这一些服务往往需求向服务供给商供给自己的数据,而且经过你自己事务调试模型很不便利。本文为我们介绍了一种新办法,即怎么依据 rasa 建立一个中文对话体系。
在近期雷锋网AI研习社举行的线上免费揭露课上,来自北京邮电大学网络技能研讨院的张庆恒共享了依据 rasa nlu 构建自己的自然语言了解东西,并结合 rasa core 建立对话体系结构的一些经历,便利初学者入门,加深对对话体系的了解。本文依据共享者的直播视频内容收拾而成。(引荐观看直播回放)
张庆恒,北京邮电大学网络技能研讨院,网络与交流技能国家重点实验室硕士,首要研讨方向为机器学习与自然语言处理。曾在百度实习且屡次参与机器学习、深度学习竞赛,获阿里云安全算法挑战赛获冠军,中文标示开源项目Chinese-Annotator首要开发成员。
2. 结合电信事务查询处理场景,凭借开源结构 rasa 完成使命导向型谈天机器人 demo。
我们好,今日的共享内容首要是为我们介绍依据使命型对话体系的首要概念和它的几个模块。第二部分是依据Rasa建立电信范畴使命型对话体系的实操练习。分别是依据Rasa nlu完成自然语言了解和依据rasa core完成对话处理。
自然语言了解(NLU)和对话处理是使命型对话的首要模块。自然语言了解是问答体系、谈天机器人等更高档运用的柱石。下面罗列三个典型的问答体系:
第一个是检索型问答体系,首要是针对问答体系,提一个问题,给一个答案,不需求参阅上下文内容的办法。
使命型对话最重要的包括四部分 ,语音辨认,自然语言了解,对话处理,终究是自然语言生成。
首要是自然语言了解。做自然语言了解首要要有一种表明自然语言意义的办法,一般用传统的三元组办法即:action, slot , value。action便是目的,slot是需求填充的槽值,value是对应的值。
第一个是语法剖析,可以终究靠语法规矩去剖析一句话,得到这句活是疑问句仍是肯定句,继而剖分出用户目的。相应的也可以终究靠语法结构中找到对应的槽值。
第二种办法是生成形式,首要两个代表性的HMM,CRF, 这样就需求标示数据。
第三种办法是分类思维,先对一句话提取特征,再依据有多少个槽值或目的练习多少个分类器,输入一句话分别给不同的分类器,终究得到包括槽值的概率有多大,终究得到这个槽值。
还有一种选用深度学习办法,运用LSTM+CRF两种组合的办法来进行实体辨认,现在也是首选的办法 ,但有一个问题是深度学习的速度比较慢 ,一般轻量型的对话体系仍是经过语法剖析或分类办法或序列标示来做。
对话状况应该包括继续对话所需求的各种信息。DST的最大的作用是记载当时对话状况,作为决议计划模块的练习数据。
下面是自然语言生成部分。自然语言生成也有多种办法。这儿举三个办法:依据模板,依据语法规矩和依据生成模型办法; 详细可观看视频回放。
第二部分是用Rasa完成使命型对话体系。Rasa nlu是自然语言了解结构,首要完成实体辨认,目的辨认等。Rasa core是对话处理结构,首要完成状况盯梢、policy练习,在线学习等。
实操部分运用rasa nlu和 rasa core 完成一个电信范畴对话体系demo,完成简略的事务查询处理功用‘’详细代码完成进程引荐观看AI慕课学院供给的视频回放。