替换语音助手,语音助手开发语言( 六 )


在回答之前,我们需要先了解:1.用户进行语音交互的方式有哪些,2.VUI系统内部是如何运作的 。
The Nielson Norman Group 将语音交互总结为以下屏幕优先、纯语音和语音优先三种模式:
Screen-first Interaction(屏幕优先): Here, we start with an application designed primarily for screen, and voice controls are added afterwards to enhance the experience.(设计一个以屏幕显示为主的App, 为了提升用户体验,会加一些语音元素)
Voice-only Interaction(只有语音交互): Here there is no screen at all, and input and output is based on sound, such as a smart speaker.(VUI设备没有屏幕,输入和输出都要声音,比如智能扬声器)
Voice-first Interaction(语音优先): This is where an app designed primarily for voice is enhanced through the addition of a screen to output information.(以语音为主要交互方式的App,输出信息在屏幕上显示,通过这种方式提升App体验)
屏幕优先 的情况下,最典型的代表就是手机语音助手,用户不仅可以通过语音,还可以通过键入、手势来进行操作,系统回复的内容也包含了语音、文本、图片、列表、链接等等 。
纯语音交互 的代表之一是智能音箱,用户通过“唤醒”词 , 比如“ Alexa”,来开启VUI交互;另一个代表是电话客服,也就是交互式语音应答(Interactive Voice Response, IVR),它可以通过电话线路理解人们的请求并指引用户完成相应的任务,比如预定机票、查询话费等 。
可以把对话系统看作人机翻译机,接收人类的自然语言并把它翻译成计算机能懂的结构化语言,以便进行信息匹配与加工,最终再以自然语言的形式反馈给说话者,完成一次“沟通” 。“沟通”的本质是通过对最优解的一步步预测 , 以生成一个匹配概率尽可能高的反?。枰扑隳芰Α⑺惴ㄓ胧莸谋澈笾С?。
具体情况如下图所示:
当用户对系统讲话(utterance),系统会首先通过 语音识别(ASR) ①接收并解析语音,识别器可以提供多个可能的结果 , 即N-best list,从中为接收到的语音匹配最相似的词串文本(recognition hypothesis),然后反馈给下一个自然 语言理解(NLU) ②模块 。
理解自然语言,即系统通过对词法、句法、语义的分析,识别(identify)用户的意图(intent)或者用户言语所涉及的领域(domain)、实体(entities),生成一个结构化的 语义表示*,包括语言类型(陈述需求,询问属性,否定,选择疑问,等等)和条件信息(有什么条件、值是多少) 。比如,“帮我查深圳的天气”这句话对应的语义表示为“inform(occasion=天气,location=深圳)” , 其中“inform”代表“陈述需求”,括号里面的内容我们称之为slot-value pair 。关于计算机是如何理解自然语言的,可以点击 这里 详细了解 。
语义表示生成之后被转交给 对话管理器(DM) ③,由对话管理器来决定答复给用户什么以及怎样答复 。
对话管理器是对话系统中很关键的一个模块,连结着一个或多个 知识库(Knowledge Base, KB) ④ 。通常包括:a.对话状态跟踪(dialogue state tracking),比如追踪执行用户意图所需的信息是否完整;b.对话策略(dialogue policy),即根据当前的状态 决策 下一步应该采取的最优动作 , 比如,是直接调用知识库(knowledge base)内容提供结果、询问特定限制条件、澄清或确认需求、还是开启相关的某个软件呢 。
不同的对话系统,goal-driven system(比如任务型、问答型)和open-domain system(比如闲聊型),对话管理器的任务、知识库内容也不同 。
任务型对话的场景相对复杂,通常会与用户进行多伦对话,需要参数化请求并通过slots filling的形式持续跟踪对话,直到识别出用户意图、特征词、slot-value pairs,即系系统要执行的动作的类型和操作参数 。