siri研究

1.siri开发适合那些类型的APP:健身类,通讯类,支付类,图片浏览,语音搜索图片,打车预定
Calls Domain    语音和视频通话
CarPlay& Radio Domains  行程预约
Messages Domain 发送信息
Payments Domain 收款或付款
Workouts Domain 管理锻炼
Photos Domain和Ridesharing Domain 图片管理
此外,Siri的声音分为男女两声,并和iOS系统相同可支持100多种语言。
2. 开发SpeechFramework框架的步骤 
     (1)先到Nuance注册开发者账户,申请APPlicationKey,并下载SDK
     (2)导入语音识别framework库
     (3)设置SpeechKitApplicationKey
     (4)实例化语音识别对象,并设置参数
     (5)实现委托代理方法
3.目前世界上的人工智能
    亚马逊的Alexa语音助手,实现智能家居;
    谷歌的Google Now可以根据强大的数据库给出天气或者交通情况给出建议
   微软的Cortana(科塔娜)识别非正式的语音命令
    苹果的Siri
4.通过siri进行交互的过程
    主要包括三个部分:intent、APP、其他信息
    通过Siri来获取用户语言中的关键词汇,这些词汇在Extension中经过一些逻辑处理,最终反馈到用户界面,与用户进行交互。
    Siri通过Intents extension的扩展方式和我们的应用进行交互,其中Intents Extension扮演协同Siri共同响应用户的角色,Intents UI Extension可以提供自定义的用户响应界面,用以增强体验。
    当我们实现了Intents extension扩展并产生了一个Siri请求事件时,Intent(意图)事件的处理过程分Resolve(解决)、Confirm(验证)和Handle(处理)三个步骤。
resolve阶段:帮助Siri明白用户的含义,影响Siri的行为,提供resolution response
//获取收件人的信息,根据自身匹配的的信息返回不同状态与Siri进行进一步的交互
- (void)resolveRecipientsForSendMessage:(INSendMessageIntent *)intent withCompletion:(void (^)(NSArray<INPersonResolutionResult *> *resolutionResults))completion;
//给收件人发送的具体信息内容
- (
void)resolveContentForSendMessage:(INSendMessageIntent *)intent withCompletion:(void (^)(INStringResolutionResult *resolutionResult))completion;

confirm阶段:告诉Siri的预期结果,检查必要的状态,提供Intent response,Siri提供必要的确认提示,Siri进行最后的处理阶段,生成答复的对象,并且向此Intent对象确认处理结果
//收件人、信息内容确定后,通过Siri向用户进行信息确认
- (
void)confirmSendMessage:(INSendMessageIntent *)intent completion:(void (^)(INSendMessageIntentResponse *response))completion;

handle阶段:执行请求操作,提供有关结果足够精确的信息,如果结果耗时的话还可提供loading,在confirm方法执行完成之后,然后显示结果给用户看。
//信息确认后,进行最终信息的发送并向用户展示结果
- (
void)handleSendMessage:(INSendMessageIntent *)intent completion:(void (^)(INSendMessageIntentResponse *response))completion

你可能感兴趣的:(iOS)