SlideShare a Scribd company logo
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的输入系统!




   GUI




             15
Siri的输入系统!




             16
Siri的输入系统!

•  语音识别




                    NO


              YES




                         17
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)相关系统!

             外部          内部




                              APP




                  YES




                    NO




服务整合模块执行流程                          47
大纲
•    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

More Related Content

PDF
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
PPTX
ABAP 7.x New Features and Commands
PPT
PDF
Web 5 | JavaScript Events
PDF
F strings
PDF
8 python data structure-1
PDF
Python tuples and Dictionary
PDF
Databricks with R: Deep Dive
파이썬 데이터과학 레벨2 - 데이터 시각화와 실전 데이터분석, 그리고 머신러닝 입문 (2020년 이태영)
ABAP 7.x New Features and Commands
Web 5 | JavaScript Events
F strings
8 python data structure-1
Python tuples and Dictionary
Databricks with R: Deep Dive

What's hot (19)

PPTX
Data Analysis packages
PDF
Java Collection Framework
DOCX
DAA Lab File C Programs
PPTX
PPT
inhertance c++
PPTX
Templates in c++
PPTX
ADA programming language
PPT
Standard Template Library
PDF
Python-Tuples
PPTX
Chapter 16 Dictionaries
PDF
design and analysis of algorithm Lab files
PDF
14 Skip Lists
PPTX
Mysql order by clause
PPT
Lecture 1 data structures and algorithms
PDF
Date and Time Module in Python | Edureka
PPTX
L14 exception handling
PDF
Set methods in python
PPTX
Workshop presentation hands on r programming
PPTX
Python Programming Essentials - M23 - datetime module
Data Analysis packages
Java Collection Framework
DAA Lab File C Programs
inhertance c++
Templates in c++
ADA programming language
Standard Template Library
Python-Tuples
Chapter 16 Dictionaries
design and analysis of algorithm Lab files
14 Skip Lists
Mysql order by clause
Lecture 1 data structures and algorithms
Date and Time Module in Python | Edureka
L14 exception handling
Set methods in python
Workshop presentation hands on r programming
Python Programming Essentials - M23 - datetime module
Ad

More from imShining @DevCamp (16)

PDF
如何创建更加灵活的App | 大众点评 屠毅敏
PDF
Android在多屏幕、多设备上的适配 | 布丁 任斐
PDF
Android程序的编译,安装和运行 | 小米科技 汪文俊
PDF
和Android源代码一起工作 | 海豚浏览器 胡继堂
PDF
Android消息推送实现 | 友盟 徐仙明
PDF
千万级并发在线推送系统架构解析 | 个信互动 叶新江
PDF
发现和建立多设备之间的数据通信 | 豌豆荚实验室 孙桥
PDF
Android音频口数据通信开发 | 爱图腾 李鹏军
PDF
凡客移动应用之Android + HTML5技术运用 | 凡客 汪健飞 徐金山
PDF
Android账户同步备份框架 | 盛大乐众ROM 郭振
PDF
简单中的不简单,iPhone应用开发实践总结:《社区类iPhone应用开发的技术实践》| 麻麻帮 陈剑飞
PDF
在iOS平台上用Cocos2D做开发 | iOS独立开发者 秦春林
PDF
在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛
PDF
逆向工程技术详解:解开IPA文件的灰沙 -- 通过静态分析工具了解IPA实现 | 友盟 张超 | iOS DevCamp
PDF
《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp
PDF
从知乎 iPhone 端重构说开去:Web 为主的复杂社交产品的 iOS 端开发策略及实践
如何创建更加灵活的App | 大众点评 屠毅敏
Android在多屏幕、多设备上的适配 | 布丁 任斐
Android程序的编译,安装和运行 | 小米科技 汪文俊
和Android源代码一起工作 | 海豚浏览器 胡继堂
Android消息推送实现 | 友盟 徐仙明
千万级并发在线推送系统架构解析 | 个信互动 叶新江
发现和建立多设备之间的数据通信 | 豌豆荚实验室 孙桥
Android音频口数据通信开发 | 爱图腾 李鹏军
凡客移动应用之Android + HTML5技术运用 | 凡客 汪健飞 徐金山
Android账户同步备份框架 | 盛大乐众ROM 郭振
简单中的不简单,iPhone应用开发实践总结:《社区类iPhone应用开发的技术实践》| 麻麻帮 陈剑飞
在iOS平台上用Cocos2D做开发 | iOS独立开发者 秦春林
在iOS平台上实现全功能视频处理 | 盛大微酷 赵志猛
逆向工程技术详解:解开IPA文件的灰沙 -- 通过静态分析工具了解IPA实现 | 友盟 张超 | iOS DevCamp
《Passbook实战详解》| 爱图腾 廉洁 | iOS DevCamp
从知乎 iPhone 端重构说开去:Web 为主的复杂社交产品的 iOS 端开发策略及实践
Ad

iOS平台应用详解:《Siri:I,robot! Siri语音识别系统详解》| 新浪 张俊林

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