一、选择第三方NLP开放平台
NLP技术沉淀周期过长,投入会很大,选择第三方开放平台想必是小公司最好的选择,推荐三个AI语音开放平台:
科大讯飞开放平台;
百度AI开放平;
搜狗云知音。
二、明确技术分工
没有NLP技术背景,如何造一款AI产品?
上图是引入单个NLP的对接方案,通过任务分解,可以很清楚知道,哪些是第三方平台做的,哪些是我们要做的。
NLP底层识别交给第三方开放平台:
ASR(AutomaticSpeechRecognition,自动语音识别):作用是将语音输入转化为文本文字
NLU后台(NaturalLanguageUnderstanding,自然语言理解):开放给使用者的一套自定义语义系统
TTS(TextToSpeech,文本转语音):用于文本转语音
唤醒模型:预置唤醒词,当用户发出该语音指令时,设备便从休眠状态中被唤醒,并作出指定响应,唤醒词需要反复训练提升唤醒率,降低误唤醒。
OS(OperatingSystem):OS在执行层面发挥的巨大作用,比如:正在执行播放音乐,你想关闭、切换歌曲,这时候OS就显示出他的作用了
系统垂类:开放平台所带的系统技能
NLU补充、执行干预、运营系统是我们需要做的。
三、谈谈我们要做的内容
底层工作交给开放平台之后,我们需要搭建自己的运营管理系统,开发自己想要的技能。
技能
相当于垂类,简单的说就是某个应用程序,语音作为入口打开应用,像音乐、新闻、天气、笑话等都属于技能,比如:讲个笑话,语音产品执行打开了“笑话”应用,给你返回一条笑话内容。
技能决定了产品内容的广度,技能可以是自制,比如:闹钟,也可以从第三方合作引进,像“抖音”、“微信”这样自带流量的第三方估计想必都想接入吧,对于一个智能产品来说,技能自然多多益善。至于需要多少,看公司的产品定位、业务、成本等因素综合考虑。
自定义NLU
给你的技能配置语义,基于开放平台下建立自己产品的自定义NLU语义内容,NLU主要由三个方面构成,语义文本、意图、参数。
语义文本(Text)
语义文本设计目的是为了能听得懂用户声音,同一个请求,每个用户说法都不一样。举个简单的例子,比如:帮我放首周杰伦的歌,来点周杰伦音乐,周杰伦的音乐有没有。设计语义文本时,既要使用正规的主谓宾结构,又要考虑到特殊的说法,语义要尽量覆盖全。
意图(Intent)
意图指用户的具体请求或目的,一个意图可以包含多个语义文本。举例:明天早上8点叫我起床,定明天早上8点钟的闹钟,都属于新增闹钟意图。通常意图依赖于技能,举例的意图就属于闹钟技能。
详细参数(Detail)
读懂用户说什么后,需要根据用户的意图作出相应的反馈,参数设计就显得特别重要了。NLP平台做法是当语义文本输入命中意图后,通过接口将自定义NLU的参数传达给后台。参数存在的目的是要告诉后台,接下来你要做什么。
还是用歌曲的例子来说明:
没有NLP技术背景,如何造一款AI产品?
语义告诉后台,命中MUSIC意图,执行音乐技能,播放作者为“周杰伦”的歌曲。
产品交互规则
拿到了NLP传达的参数指令,接下来系统要做的是给用户反馈结果。
命中到NLP系统自带的技能,如果你不做干预的话,系统可以直接给出结果。
命中不是系统技能意图或干预系统自带技能,需要根据参数开发相应的功能。
最后
没有语音识别技术同样可以打造一款智能语音产品,它可以成为你的产品体系里的一部分。因为出身决定了它的造价成本会很高,如果脱离产品体系,将该语音产品单独为投入市场,至少在价格上缺乏竞争力。