1:百度DUEROS系统介绍
自然语言理解(NLU):主要作用是对用户输入的句子或者语音识别的结果进行处理,提取用户的对话意图以及用户所传递的信息。
对话管理(DM):对话管理分为两个子模块,对话状态追踪(DST)和对话策略学习(DPL),其主要作用是根据NLU的结果来更新系统的状态,并生成相应的系统动作。
自然语言生成(NLG):将DM输出的系统动作文本化,用文本的形式将系统的动作表达出来。
NLU的一个主要功能是“execute an intent ”即提取意图
在NLU中,意图可以由槽位来表达,槽位就是意图的参数信息。槽位是指从句子中抽取出的特定概念(时间、地点)。
槽位填充为了让用户意图转化为用户明确的指令而补全信息的过程。
词典在意图识别中具有很重要的地位,一般是某一领域词汇的集合
2:对话系统 NLU/DM 任务详解
对话用户界面(CUI)
语义表示可以用意图+槽位的方式来描述。
意图即这句话所表达的含义,槽位即表达这个意图所需要的具体参数,用slot和value对的方式表示
「预约这周日上午的保洁阿姨」这句话的意图是「发起请求」,槽位是「服务类型=保洁,服务日期=20161127」
NLU的几种方法
第一种是基于规则的方法,大致的思路是定义很多语法规则,即表达某种特定意思的具体方式,然后根据规则去解析输入的文本
第二种基于数据统计的方法
1)没有数据的时候先基于规则,有数据了逐渐转为统计模型;2)基于统计的方法覆盖绝大多数场景,在一些极端的场景下用基于规则的方法来保证效果。
常见的DM也有几种
第一种是基于有限状态机(FSM),显示的定义出对话系统应有的状态。DM每次有新的输入时,对话状态都根据输入进行跳转。跳转到下一个状态后,都会有对应的动作被执行。
优点是简单易用,缺点是状态的定义以及每个状态下对应的动作都要靠人工设计,因此不适合复杂的场景。
另一种DM采用基于统计的方法。简单来说,它将对话表示成一个部分可见的马尔可夫决策过程。所谓部分可见,是因为DM的输入是存在不确定性的,在每个状态下,系统执行某个动作都会有对应的回报(reward)这个方法有以下几个优点:1)只需定义马尔可夫决策过程中的状态和动作,状态间的转移关系可以通过学习得到;2)使用强化学习可以在线学习出最优的动作选择策略。当然,这个方法也存在缺点,即仍然需要人工定义状态
最后一种DM方法是基于神经网络的。它的基本思路是直接使用神经网络去学习动作选择的策略,即将NLU的输出等其他特征都作为神经网络的输入,将动作选择作为神经网络的输出。
为了提升对话系统的可靠性,我们使用AI+HI的方法,此处HI表示Human Intelligence,即真人智能。
今天的文章NLU初探_nlu和nlp的区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/70824.html