文档介绍:Siri技术解析
作者张俊林 发布于2012年3月23日
领域
语言&开发
主题
人工智能
Apple
分享到
:里柄B书捶I J
Siri的学术化全称为“个人自动智能助理”(Personalized Intelligen表示,这 其实就是Semantic Web这个研究领域常说的ontology。Siri包含很多垂直领域 的领域模型。“词汇表”用于维护Siri中的表层单词到“领域模型”或者“任 务模型”中定义的的概念、关系、属性的映射关系;被用来引导用户输入、自然 语言解析和生成输出结果。
Siri在个性化方面做得也非常出色。在和用户沟通过程中,如果一台机器能够 叫出你的名字,并且知晓你的个人爱好,用户体验无疑是非常优异的。从具体技 术手段上,Siri是通过在内部保持两个记忆系统:长期记忆系统和短期记忆系 统来实现能够个性化的和用户交流的。长期记忆系统存储了用户的名称、居住地 址以及历史偏好信息,短期记忆系统则将最近一段时期内Siri和用户的对话记 录及GUI点选记录等登记下来。利用这两个记忆系统,Siri可以在理解用户需 求的时候帮助澄清用户的真正意图是什么。
语言模式识别系统是对用户输入的表层,语法层****惯用语和成语等进行模式匹 配的模块。匹配模式的代码在Siri内部采用正则表达式或者状态机等方式实现; 在Siri识别出指定的语言模式后,可以帮助判断用户输入所述的任务类型。
执行系统
图3执行系统
执行系统是Siri系统最有技术含量的部分,前文有述:“活动本体”是对根据 用户的输入信息,将各种词典资源,模型资源实例化进行具体加工的场所,而真 正的加工过程是由执行系统进行的。执行系统不仅将用户原始的文本输入解析为 内部的语义表示,而且要在用户和Siri交互过程中(多轮会话)决定下一句Siri 应该说什么内容,可见其重要性。
执行系统具体又可以细分为三个主要部件:语言解释器、会话流控制器和任务控 制器。它们之间分工有异同时又密切合作,一起发挥作用。语言解释器将用户输 入字符串流解析为语义表示作为输出,而这个语义表示又会作为会话流控制器的 输入,会话流控制器根据当前语句所表达的含义,协同任务控制器一起决定Siri 下一步应该做什么或者说什么。
语言解释器是Siri中最重要的自然语言处理工具,主要用来对文本形式的用户 输入进行解析,将其映射为概念本体层级的信息表示,即理解语言真正的含义, 除此外,语言解释器也被用在输入系统中对用户输入提示或者输入补全进行分 析,而且对语音识别结果后处理也有很大帮助。
对话流控制系统是在将用户的文本表示解析为内部用户意图之后发挥作用;即语 言解释器将解析结果传递给对话流控制器,是语言解释器的后续处理步骤;而
“任务控制器”则被“对话流控制器”调用,共同确定Siri下一步应该做什么 或者说什么。
“任务流控制器”的主要功能是界定完成一件任务或者解决某个问题由那些步 骤构成,这些步骤之间是何种关系。“任务流控制器”和“对话流控制器”很容 易混淆,不容易区分其功能差异。一般来说,“对话流控制器”主要用来决定 Siri接下来要说的内容或者要做的事件,主要是根据领域判断诱导用户提供所 需的参数;而“任务流控制器”更侧重于事务本身的定义,比如一个任务可以切 分成若干子任务,是否有时序依赖关系