语音交互中的思必驰与声智开发

伴随着智能硬件的爆发,设备的交互方式也逐渐的发生变化,语音交互也变得越来越方便,特别是智能音响等无屏设备语音交互也就是其唯一交互方式,语音交互简单可以看作是前端的语音拾音、后端的语音识别、识别后根据语音提供相应的服务。语音交互通常不会自己研发,使用对应研发厂商提供支持,甚至小米,小度也是借助于三方方案提供商。三方方案提供商国内通常是科大讯飞、百度、声智、思必驰四家,科大讯飞和百度更多是语音识别,声智和思必驰则是在语音识别的基础上以技能的方式提供三方服务,比如常见的音乐,电台,新闻等,通常包括官方技能+三方基于官方平台提供技能+团队自研技能,两家技能大同小异。本文章除了语音识别外还包括技能服务,所以科大讯飞和百度暂且不聊,重点在声智和思必驰,还有就是更多是做开发记录和要点记录,具体的流程可以去后面的参考文章去详细查看。

  1. 开发流程(两者整体开发流程基本相似,技能差异点还多一些,所以不再分开描述)
    • 对应的开发平台注册帐号且进行实名认证(吐槽一下两者的开放平台都不好找,特别是思必驰,思必驰官网的dui对话定制平台则是其开放平台,声智则是叫开发框架,实名认证包括个人认证和公司认证,建议直接公司认证,必须认证不然后续无法购买服务)
    • 创建设备并发布设备,发布成功后可以集成测试,发布设备前必须认证成功,不然一直待审核中,创建设备包括基本信息配置、技能配置、认证发布过程,思必驰创建过程中还可以配置麦的类型及其远场、近场、回音等信息和退出语料、空识别/错误识别语料等
    • 思必驰在主唤醒词的基础上可以免费额外配置一个唤醒词,声智客服说可以配置但是后台未找到配置地方,付费都可以配置多个唤醒词,具体价格可以详询此处就不暴露了。
    • 技能配置:包括官方技能+三方技能+自研技能,根据产品需求尽可能使用已提供技能,若没有则自研技能,具体的技能开发参考下面。需要注意的是声智sdk针对音频播放等进行了集成(借助于exoplayer),设备集成后可以直接播放音频文件,思必驰则是提供了对应的音频信息需要产品额外进行集成,具体可以参考产品需求进行选择。
    • 设备发布成功后则进行sdk集成开发,需要注意的是声智引入的三方jar包比较多需要进行jar包冲突处理。具体不详述,有问题可以评论沟通。
  2. 声智中技能的开发
  • 技能开发包括:基本信息配置+交互模型配置+服务部署+技能发布四个流程,基本信息配置和技能发布不详述改填填按章办事即可,重点描述交互模型和服务部署。
    • 交互模型主要是意图的配置,智能语音交互包含语音识别和语义识别,语音识别更多是硬件麦的识别,语义识别则更多是依赖于技能中的意图,即一个技能可以做哪些事也是通过意图定义的,比如提高音量则是一个意图,亮度调整也是一个意图。
    • 声智技能可以配置一个技能,技能中配置多个意图,也可以拆分技能,单技能对应自己技能范围内的意图,比如一个技能XX控制则对应的语音、亮度、页面跳转等都配置成为意图,也可以音量控制配置成技能对应音量相关的意图。
    • 意图的配置包含几个术语:词典,语义槽,语料,意图确认
      • 词典:见名思义,可以理解为词库,定义对应的词语且每一个词语可以定义多个同义词,声智系统识别时针对词语和同义词进行识别,词典中的词语可以在意图语料配置中引用使用且可以所有意图中引用使用,另外语料中的词典中的词语会被自动识别成为语义槽,在接口和返回数据中可以作为字段使用。还有就是声智提供了系统词典比如国家,城市,动物,之屋等。
      • 语义槽:前面有描述词典中的词语在语料中会自动成为语义槽,语义槽可以裂解为语料中的核心语义词语,通过语义槽可以简单明了的识别改意图作何操作,还有就是语义槽词语会被单独识别成为字段用于意图服务接口处理和返回到前端业务处理等比如定义一个语义槽为系统数字,这个数字则会被特殊识别为字段用于业务逻辑。
      • 语料:意图的识别语音,可以配置多条,即语音识别后文本相似则指向改意图,可以使用词典中词语。
      • 意图确认:语音交互多轮交互中第一次识别成功后配置语料进行确认识别是否准确,比如提升音量识别成功后根据配置的语料校验是否提升音量,可选配置。
    • 意图的配置:语料配置+语义槽的配置(系统会自动识别)+意图确认。
    • 意图配置完成后需要部署服务:声智提供了两种服务部署方式:自己搭建服务部署(有提供sdk开发部署到自己服务器或者声智服务器)用于复杂情形的业务处理通常涉及到本身产品服务比如机票售卖涉及到自己服务数据库的数据及其用户的处理,简单命令型的服务声智提供了简单的代码编辑器编辑并发布服务,开发语言为node.js和Python,本人不太熟悉这两种语言 但是通常情况下代码也极其简单,比着葫芦画票即可,编辑完成后可以发布发布后可以直接测试。
    • 声智针对意图提供了响应模板,声智针对模板封装了其ui样式,用户可以针对意图配置对应的响应模板,设备端可以监听响应模板做一些逻辑操作,不配置响应模板设备端针对此意图不会响应到代码端但会播报配置的语音文案。响应模板可以传递一些数据到设备端用于校验逻辑等操作。
  1. 思必驰中的技能的开发
    • 技能开发包括:基本信息配置+ 创建任务+针对任务创建意图并训练意图+针对意图配置控件和对话并保存对话+发布技能(发布技能可以配置快捷任务和快捷意图即通过技能语料识别对应的任务和意图,通常配置欢迎语:比如XXX技能:语料:打开XXX技能:任务和意图指向单个任务和意图:可以配置为欢迎使用XXX技能 不建议执行对应的功能任务和意图)
    • 交互模型主要是意图的配置,智能语音交互包含语音识别和语义识别,语音识别更多是硬件麦的识别,语义识别则更多是依赖于技能中的意图,即一个技能可以做哪些事也是通过意图定义的,比如提高音量则是一个意图,亮度调整也是一个意图。
    • 思必驰技能和声智不太一样,思必驰技能和意图之间有添加了一层叫做任务,即一个技能可以创建多个任务,每个任务又可以创建多个意图,这样产品通用型任务可以创建成一个技能+多个任务+多个意图,更有条理性,比如:产品控制+音量/亮度/页面跳转任务+任务对应的多个意图。
    • 意图的配置包含几个术语:词典,语义槽,语料,意图确认,控件,对话。
      • 词典:见名思义,可以理解为词库,定义对应的词语且每一个词语可以定义多个同义词,声智系统识别时针对词语和同义词进行识别,词典中的词语可以在意图语料配置中引用使用且可以所有意图中引用使用,另外语料中的词典中的词语会被自动识别成为语义槽,在接口和返回数据中可以作为字段使用。还有就是思必驰提供了系统词典比如国家,城市,动物,之屋等。
      • 语义槽:前面有描述词典中的词语在语料中会自动成为语义槽,语义槽可以裂解为语料中的核心语义词语,通过语义槽可以简单明了的识别改意图作何操作,还有就是语义槽词语会被单独识别成为字段用于意图服务接口处理和返回到前端业务处理等比如定义一个语义槽为系统数字,这个数字则会被特殊识别为字段用于业务逻辑。思必驰的语义槽和声智不一样,思必驰的语义槽必须先通过词典创建对应的语义槽后在意图语料中才能够直接使用。
      • 语料:意图的识别语音,可以配置多条,即语音识别后文本相似则指向改意图,可以使用词典中词语。
      • 意图确认:语音交互多轮交互中第一次识别成功后配置语料进行确认识别是否准确,比如提升音量识别成功后根据配置的语料校验是否提升音量,可选配置。
      • 控件:类似与声智的响应模板,思必驰也提供了一系列的模板,比如图文,列表等也支持自定义模板,模板配置可以参考产品需求进行配置。
      • 对话:思必驰和声智不同,思必驰的技能不需要部署服务也可以理解为不需要用户开发代码,提供了一个等同于声智部署服务的傻瓜配置页面进行意图响应模板的配置,包括控件的配置,是否使用接口服务配置,意图是否存在动作和是否支持多轮对话的配置,思必驰可以配置命令及其响应文案,设备端可以监听命令通过命令进行响应的操作处理。
    • 意图的配置:语料配置+语义槽的配置(系统会自动识别)+意图确认+对话的配置。思必驰的意图对话配置支持条件设置,简单理解就是声智的服务部署傻瓜化了,更适合不懂的Python和node.js语法或者开发的人员进行配置。
    • 声智的意图服务部署和响应模板在思必驰中通过对话的配置实现了,不过思必驰需要注意的是意图配置完成不要忘记训练,对话配置完成不要忘记保存。
  2. 对比声智和思必驰中的技能
    • 借助思必驰的系统数值实现音量的百分比操作
      • 意图配置为:音量调整为百分之+语义槽(系统数值)
      • 思必驰系统会识别语义槽数字此时在对话中可以将数字返回
      • 在设备端收到数字以后根据命令和数字实现音量具体百分比调整
  3. 语音交互开发中的需要注意的问题
    • 声智sdk集成的时候,若使用aar方式集成,需要注意so编译方式的选择即v7,v8的选择 扯淡的是声智提供的v7和v8中的so文件不一样,特别是集成其他so三方框架同时更容易出问题。
    • 声智的状态监听不能监听音乐播放的结束,要监听音乐播放的结束需要获取到内部的音频播放handler 然后添加播放监听监听音乐播放结束。
    • 思必驰的集成音频播放sdk没有集成需要设备端单独集成且进行管理
    • 思必驰的初始化需要轮询是否初始化成功建议进行权限检测以后轮询初始化思必驰的sdk,建议按照思必驰的demo去处理不要自己做。

参考文章:
声智开放平台
思必驰开放平台

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容