Upload
imshining-devcamp
View
1.657
Download
9
Embed Size (px)
DESCRIPTION
iOS平台应用详解:《Siri:I,robot! Siri语音识别系统详解》 | iOS DevCamp 话题简介:Siri是苹果公司发布的广受关注的iOS平台应用,它不仅仅是一套语音识别系统,更重要的是其用户意图分析与智能识别机制。本讲座将深入分析Siri的技术原理,讲解其系统架构、语音识别系统、活跃本体、执行系统、服务系统以及输出系统等重要构成模块,使大家了解如何构造类似的智能应用。 讲师介绍:张俊林,中科院软件所博士、《这就是搜索引擎:核心技术详解》作者,现为新浪微博研发人员,从事自然语言处理、搜索技术、推荐系统以及机器学习方面的研发工作。
Citation preview
iOS DevCamp Produced by CSDN Website: h5p://devcamp.csdn.net Weibo: h5p://weibo.com/cmdnclub
1
Siri: I, Robot !
张俊林 2012.07.27
2
About me
• 中科院软件所 博士 • 《这就是搜索引擎:核心技术详解》作者 • 现任职新浪微博,从事语义分析,搜索,推荐系统,社交挖掘方面研发工作
• 微博:张俊林say http://www.weibo.com/malefactor
3
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
4
Siri初体验
5
Siri不是什么以及Siri是什么!
• Siri不只是 – 语音识别系统; – 持续自学习系统; – 上下文感知系统; – 传统的AI基础架构;
• Siri是什么 – 集成上述优点的服务导向的新型AI架构 – 本质上是个通过多轮对话的用户意图识别系统 – 集成了语音识别、自然语言处理、用户意图分析、任务控制系统等多种技术的综合AI框架
6
Siri的血统与出身!
• DARPA项目Contract numbers FA8750-07-D-0185/0004) – Personalized Assistant That Learns Program(PAL); – Personalized Assistant That Learns Program(CALO);
• via SRI International’s Artificial Intelligence Center
• 超过40年的研究 • 2010年4月被苹果公司收购 • 集成进入Iphone 4S
7
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
8
(云+客户端+外部服务)架构!
9
Siri的功能粗粒度划分!
• 多模态输入->文本表示 • 文本表示->用户意图
– 深层NLP – 会话控制 – 任务控制
• 用户意图->功能服务 – 服务管理
• 功能服务->多模态输出
10
Siri整体架构图!
11
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
12
Siri整体架构图-Where Are We Now!
13
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
Siri的输入系统!
• 输入系统包含三个目的 – 支持多通道输入模式 – 进行早期消除歧义 – 尽可能引导用户到Siri能够提供的服务
• 多模态输入 – 语音 – 文本输入 – 地理位置信息输入(GPS etc) – GUI选择界面 – 事件驱动(闹钟,事件提醒等主动触发通知事件)
14
Siri的输入系统!
15
� � � �� � � �
� � � � � � ��
� � � � GUI� � � � � � � �
� � � � � � � � �
Siri的输入系统!
16
Siri的输入系统!
• 语音识别
17
� � � � � � � �
� � � �� � � �� � �
� � � �
� � � � � �
� � � � �
� � � ��
� � � �� � �
� � � �� � � �
� � � � � � �� � � � � �
� � � ��
� � � � � �� � � �
NO
YES
Siri的输入系统!
• 语音识别系统 – 购自Nuance通信公司 – 为苹果公司的Siri作出了定制化改造
• 语言模型 – 自动判断多种可能的字符流,哪种更符合语言表达习惯
– Candidate1:P1(我 喜欢 苹果)=p(我)*p(喜欢|我)*p(苹果|喜欢)=0.35
– Candidate2:P2(我 稀饭 苹果) )=p(我)*p(稀饭|我)*p(苹果|稀饭)=0.05
18
Siri的输入系统!
• 语音识别系统 – 语言模型的定制化改造
• 商业实体信息 • 用户个性化信息
– 语法语义检查 • Candidate1:Italian food for lunch • Candidate2:Italian shoes for lunch
19
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
20
Siri整体架构图-Where Are We Now!
21
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
活跃本体(Active Ontology)!
• Siri系统最核心部分,驱动调用大部分其他数据、模型和功能!
• 类似于人的记忆系统的“工作记忆”,提供当前分析内容相关激活的本体等信息的临时存储以及集成调用各种模块进行处理!
• 类似于人工智能领域的“黑板系统”
22
领域模型(Domain Model)!
• 是实际管理各个领域ontology的地方!• 领域模型包括⼀一个领域内的概念,实体,关系,属性和实例 – 维护领域本体信息 – 单词分类到领域 – 推理功能: local mexican food--->find restaurants with
style=mexican – 组织领域有关服务地址,比如哪个网站提供餐馆评论 – 语义转写
23
用户个性化模型!
• 包含两个子系统,用来对个性化建模 – 短期记忆系统(short term) – 长期记忆系统(long term)
• 短期记忆系统 – 最近用户和Siri的对话记录 – 用户在GUI所做的选择:播放过哪些视频等 – 最近用户发出的请求 – UI点击记录 – 设备信息:时间,地理位置,光强,音强,动作
24
用户个性化模型!
• 长期记忆系统 – 用户的个人信息(姓名,偏好,个人账户,居住地址等) – 记录:书签,clipping – 个人to-do list,闹钟,事件提醒等 – 商业/娱乐实体信息:喜欢的商品等 – 商品购买历史记录和想买列表,折扣和优惠信息 – 订票订餐等历史事务
• 两个记忆系统的作用 – 在从文本映射为语义或者意图的时候进行消除歧义 – 增加亲和力(知道你个人信息,在交互时候增加亲切感)
25
语言模式识别系统(language pattern recognizer system)!
• 对表层,语法层,习惯用语和成语等进行模式匹配的模块 – 其实就是我们常说的模板系统; – 非代码形式,而是以模式定义形式存在,代码解析模式定义; – 内部采用正则表达式,状态机等实现. – 使用场合:引导用户输入,NLP解析,识别任务类型和对话类型等.
• Examples: – 常用语:what's happening – 被认为是“事件计划任务”以及“本地事件"类型
26
词汇表!
• 词汇表(Vocabulary Component) – 主要用来维护表层单词表述和深层语义概念之间的映射关系
27
活跃本体(Active Ontology)!
28
� � � �
� � � �
� � � �
� � � � �
� � � �
� � � � �
� � � �
� � � � � � �
� � � �
� � �
� � �
� � � �
� � � �
� �
� �
� �
� �
� �� �
� � � �
� �
� �
� � �
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
29
Siri整体架构图-Where Are We Now!
30
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
语言解释器(language Interpreter)!
• 分析用户文本输入并做多层次解析 – 使用了句法分析器;句法结构分析; – 使用了语义分析器:即将单词映射到ontology层级 – 语法与语义消除歧义 – 自动补全功能的语法与语义检查 – 语音输入候选文本的语法与语义检查
• 领域实体数据库(Domain Entity Databases)!– 存储各个领域的实体的表单,比如餐馆名称,餐馆地点等 – 领域实体的存储和查询管理支持
• 商业领域 • 娱乐领域(电影,视频,歌曲 etc) • 事件 • 地理信息(城市,街道,国家等的位置信息)
31
语言解释器(language Interpreter)!
语言解释器工作流程
32
� � � � �
� � / � � � �
� � � � � �
� � � � � �
� � � �� �
� � � � � � �
� � � �
� � � � � � � �
� � � �
� � / � �
� � � � � � � �
� � � � � � �
� � �
� � � �
语言解释器(language Interpreter)!
• 例子 – Input: Who is playing this weekend at the filmore?(本周末谁会在filmore进行演出?)
– 解析: • 上下文环境:时间地点 • 单词/短语匹配
– Playing->事件场所 or 体育运动 – This weekend:确定具体日期 – Filmore:场所名称
• 语义一致性 – Playing:场所时间 because “Filmore”
– 解析结果:这是用户的一个问句查询,查询内容是一个当地事件(local event),时间是本周周末,如果候选事件的场地名称包含filmore,那么这就是满足用户需求的答案
33
对话流控制系统(Dialog Flow Model Component)!
• 对话流控制系统是在将用户的文本表示解析为内部用户意图之后发挥作用; – 即语言解释器将解析结果传递给对话流控制器
• 功能 – 用于识别用户意图所属任务类型
• (想要干什么?比如要找⼀一家餐馆);
– 对于确定的任务类型或者问题,给出意图的内部表示,判别需要哪些参数.
• ”给我找⼀一个附近的受欢迎的川菜馆“ 参数:附近、受欢迎、川菜 • 这些参数也被称作约束条件;
– 根据还需要哪些约束条件以及用户的个性化信息(长期记忆以及短期记忆系统),决定下面应该引导用户说什么(套出需要的信息)
34
对话流控制系统(Dialog Flow Model Component)!
对话控制系统运行流程图 35
� � � � � � � �
� � � �� � � �
� � � � � � �
� � � �� � �
� � � �
� � � ��
� � � ��
� � � � � �
� � � � � / �� � � � � � �
� � � � � �
对话流控制系统(Dialog Flow Model Component)!
对话控制系统运行实例 36
任务流控制系统(Task Flow Model Component)!
• 任务流模型是指某种类型的任务(要解决的某类问题),由哪些步骤构成,步骤之间的依赖关系等; – 餐厅预约任务
• step1:先找到⼀一个饭馆 • step2:查看是否还有剩余空位 • step3:预订某个时间段的座位
37
任务流控制系统(Task Flow Model Component)!
• ⼀一个通用任务模型+若干从通用任务中集成的领域任务 构成(类似于编程中的父类和子类关系);
• 通用任务模型 – 从具体任务中抽象出的,与领域无关,最高抽象级别的任务模型
– 有多种通用任务模型 – 比如对于某个事务性(Transaction)通用任务
• 首先确定需要事先收集哪些数据 • 执行事务 • 事务输出结果
38
任务流控制系统(Task Flow Model Component)!
“受限选择”通用任务模型 39
� � � �
“ � � � � ” � � � � � �
� � � � � �
� � � � � � � � � � � � � � � �
� � � �
� � � � � �
任务流控制系统(Task Flow Model Component)!
• 受限选择中的“语义转写”与“信息提示” – Input: Chinese food in Menlo park – 解析结果:
• 任务类型=受限选择 • 领域类别=餐馆 • 约束条件:
– 地点=Menlo park,CA – 菜系=Chinese food
– 如果没有找到相关服务 • 语义转写: Sorry, I can’t find any Chinese food near Menlo park • 信息提示: you should try other cuisines or location.
40
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
41
Siri整体架构图-Where Are We Now!
42
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
服务(Service)相关系统!
• 三个与服务相关模块; – 服务模块(service component) – 服务能力模型(service capability model) – 服务整合模块(service orchestration component)
43
服务(Service)相关系统!
• 服务模块(service component) – 服务API信息描述 – 包括三类
• 外部Web服务API; • 本地应用API; • 内部API:LBS etc;
– 例子:订餐相关服务 • 根据指定的时间地点等约束条件可以返回满足条件的餐馆名称 • 根据指定的餐馆名称可返回其评级信息 • 根据指定的餐馆名称可返回其它用户的评论信息 • 可以在地图上根据坐标进行定位 • 可以对某个餐馆进行预订的功能
44
服务(Service)相关系统!
• 服务能力模型(service capability model); – 服务的具体描述信息 – 记录机读信息
• 哪些服务能够回答什么样的查询 • 哪些服务能进行什么样的事务 • 服务暴露哪些接口参数等
45
服务(Service)相关系统!
• 服务整合模块(service orchestration component); – 是核心的服务有关模块,调用另外两个服务模块提供内容记录机读信息
• 功能包括 – 动态决定哪些服务能够满足用户请求 – 动态地以⼀一定顺序组合多个服务 – 动态的将任务参数转换为满足API格式要求 – 动态监控服务是否可用,是否好用 – 将多个服务最终结果整合后规范输出格式
46
服务(Service)相关系统!
服务整合模块执行流程 47
NO
YES
� � � � � �� � � � �
� � � � APP
� � � � � � � �
� � � �
� � � � � �
� � � � � �� � �
� � � � � � � �� � �
� � � �
� � � � � �
� � � �
内部外部
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
48
Siri整体架构图-Where Are We Now!
49
� � � �
� � � �
� � � � �� � � � � � �
� � � �
� � � � � � � � � � �
� � � � � �� � � � � � �
� � � � � �
� � � � � �� � �
� � � � �
� � � �
� � � � � �
� � � � � � � � � �
� �� �
� �
� � � �
� � � �
Siri输出子系统!
• 从统⼀一的内部表示转换为多模态输出形式 – 语音对话 – 领域实体答案 – 餐馆名称地址 – 电影、商品等 – 领域服务结果 – 天气情况,航班等
• 生成多模态组合的输出结果 – GUI,文本短信,邮件内容,语音,动画等
• 个性化界面
50
大纲
• Siri简介 • Siri整体架构!• 输入系统!• 活跃本体!• 执行系统!• 服务系统!• 输出系统!• Siri的现在和未来!
51
Siri的现在和未来!
• 中文版本 – 中文版本效果远不如英文版;
• 技术复杂性. • 对应的丰富中文服务API不够丰富
• 垂直领域扩展 • 服务类型扩展
– Siri会成为APP的入口么?类似于1999年的雅虎?
• 扩展设备类型 – TV控制,车载控制 etc
• 前途光明,任重道远
52
Thanks!!
53