More Related Content Similar to iOS平台应用详解:《Siri:I,robot! Siri语音识别系统详解》| 新浪 张俊林 (20) More from imShining @DevCamp (16) iOS平台应用详解:《Siri:I,robot! Siri语音识别系统详解》| 新浪 张俊林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
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
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
29. 大纲
• Siri简介
• Siri整体架构!
• 输入系统!
• 活跃本体!
• 执行系统!
• 服务系统!
• 输出系统!
• Siri的现在和未来!
29
31. 语言解释器(language Interpreter)!
• 分析用户文本输入并做多层次解析
– 使用了句法分析器;句法结构分析;
– 使用了语义分析器:即将单词映射到ontology层级
– 语法与语义消除歧义
– 自动补全功能的语法与语义检查
– 语音输入候选文本的语法与语义检查
• 领域实体数据库(Domain Entity Databases)!
– 存储各个领域的实体的表单,比如餐馆名称,餐馆地点等
– 领域实体的存储和查询管理支持
• 商业领域
• 娱乐领域(电影,视频,歌曲 etc)
• 事件
• 地理信息(城市,街道,国家等的位置信息)
31
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
37. 任务流控制系统(Task Flow Model
Component)!
• 任务流模型是指某种类型的任务(要解决的某类
问题),由哪些步骤构成,步骤之间的依赖关系
等;
– 餐厅预约任务
• step1:先找到⼀一个饭馆
• step2:查看是否还有剩余空位
• step3:预订某个时间段的座位
37
38. 任务流控制系统(Task Flow Model
Component)!
• ⼀一个通用任务模型+若干从通用任务中集成的领域
任务 构成(类似于编程中的父类和子类关系);
• 通用任务模型
– 从具体任务中抽象出的,与领域无关,最高抽象级别
的任务模型
– 有多种通用任务模型
– 比如对于某个事务性(Transaction)通用任务
• 首先确定需要事先收集哪些数据
• 执行事务
• 事务输出结果
38
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
44. 服务(Service)相关系统!
• 服务模块(service component)
– 服务API信息描述
– 包括三类
• 外部Web服务API;
• 本地应用API;
• 内部API:LBS etc;
– 例子:订餐相关服务
• 根据指定的时间地点等约束条件可以返回满足条件的餐馆名称
• 根据指定的餐馆名称可返回其评级信息
• 根据指定的餐馆名称可返回其它用户的评论信息
• 可以在地图上根据坐标进行定位
• 可以对某个餐馆进行预订的功能
44
48. 大纲
• Siri简介
• Siri整体架构!
• 输入系统!
• 活跃本体!
• 执行系统!
• 服务系统!
• 输出系统!
• Siri的现在和未来!
48
51. 大纲
• Siri简介
• Siri整体架构!
• 输入系统!
• 活跃本体!
• 执行系统!
• 服务系统!
• 输出系统!
• Siri的现在和未来!
51
52. Siri的现在和未来!
• 中文版本
– 中文版本效果远不如英文版;
• 技术复杂性.
• 对应的丰富中文服务API不够丰富
• 垂直领域扩展
• 服务类型扩展
– Siri会成为APP的入口么?类似于1999年的雅虎?
• 扩展设备类型
– TV控制,车载控制 etc
• 前途光明,任重道远
52