帖子

[官方问题解答] 【官方】听写服务问题解答汇总

[复制链接]
  • TA的每日心情
    开心
    2017-12-29 09:56
  • 签到天数: 46 天

    [LV.5]常住居民I

    899621  楼主| 王水 发表于 2016-12-8 11:30:41 1#
    我台的听写服务的功能介绍比较简单,有需要了解的点这里这里不啰嗦,直接说问题:
    • 我在使用你们的听写服务的时候为什么感觉结果返回的两次甚至更多?你们的demo也是这样的情况。
    答:听写的结果是分多次以json格式返回的,将多次返回的结果拼接起来才是完整的识别结果,在onResult返回结果的回调中,可以通过isLast来判断是否是最后一次返回结果。例如:音频内容是“我想知道你到底是谁?”结果返回情况可能是:第一次返回:“我想知道”,第二次返回:“你到底是谁”,第三次返回:“?”(此次isLast为true)

    • 我想要使用离线听写功能怎么办?
    答:Android和iOS平台均有语记APP,但是只有Android版本的语记才有离线听写和离线命令词识别的功能,iOS版本只有离线合成功能,没有离线听写和命令词识别能力。所以如果你是android平台的希望使用离线听写功能,只需要在手机上安装语记app即可(官网有相关的demo供下载测试),如果你是非android平台的应用,那么目前还不支持离线听写的功能。

    • 我自己找一段音频文件,拿到你们的听写demo的音频流识别中测试,为什么识别结果完全不对,甚至没有结果或者报错呢?
    答:不论是音频文件还是麦克风的实时录音,送到SDK里面识别的音频格式必须是无压缩的pcm或者wav格式、采样率16K(在线听写也支持8K,但是需要设置参数)、采样精度16位、单声道,如果不确定你的音频文件的格式,建议使用cooledit软件检查一下。 如果使用了不支持的格式,或者设置的参数与实际录音文件不对应,则会报错或者得不到正确的识别结果。另外录音的音量也要适中,录音的开始部分不要有超过前端点值的静音部分(这里前后端的概念可以参考相关的帖子)。

    • 我使用你们的语音听写(语义理解),部分专用词汇总是识别不对,比如我要识别“布吉”结果总是“不急”,再比如我要识别“王剑”结果总是“王健”,怎么办?
    答:你说的这现象其实是经常存在的,这也是中文的一个特点。我们为了解决这个问题,特意开放了一个叫热词(用户词典)的功能,即你将“布吉”“王剑”等词汇上传到用户词典中,这样服务器在识别的时候会增加热词的识别权重,需要注意的这些个性化信息只是增加相应词条的识别率,但并不是绝对的。例如:上传了联系人“吴及”,那么你说“wu2 ji2”是可以正确听写出“吴及”的,但是如果你说“dian4 ying3 wu2 ji2”,则听写结果是“电影无极”。     另外,只有在线听写中才支持上传热词的功能(上传后需要有十分钟左右的时间才能生效),离线听写是不支持的。

    • 继续上面热词的问题,我看到在程序代码里和你们官网的页面上都可以上传热词,这两个地方上传的热词是等效的吗?
    答:不是等效的。在程序代码中上传的叫用户级热词(demo里面有代码示例),在网页上上传的是应用级热词。顾名思义,就是作用范围不一样,用户级热词只对上传热词的某个用户(设备)生效,而应用级热词是对所有运行你应用的设备都生效。另外还有一个冷知识:先后上传一次用户热词和应用热词是可以累加生效的,但是先后上传两次用户热词(应用热词)是覆盖的效果。

    • 再接着说上面的热词,我在代码里上传热词的时候报错10110?
    答:两个问题先说10110,上面说过了,代码里上传的是用户级热词,只对上传该热词的那个设备生效,那么上传热词的时候就需要上传该设备的设备号,以区分不同的设备,10110问题就出在SDK无法获取该设备的设备号。这类问题大多出现在嵌入式平台的设备上(手机和PC平台很少出现),所以这里建议你配合你们硬件的同事检查一下,可以的话也可以使用应用级热词来替代。

    • 我还要说热词的问题(热词问题真多~~o(>_<)o ~~),上传热词报错10109是怎么回事?
    答:10109的官方解释是上传数据无效。翻译成白话文就是:上传的听写热词文件、命令词识别语法文件编码格式不符合要求,或者包含了特殊字符(热词只支持中文简体汉字)。编码的话建议就按照官方demo的格式来(文件实际编码和程序里面设置的编码参数要一致);格式问题的话建议可以找一个json插件检查一下你热词文件的json格式是否正确;无效字符的问题就比较简单了,检查一下热词文件(包括上传的通讯录)里面是不是有~!#¥%……&*之类的东西吧。
    • 还是热词(不要打我,我保证是最后一个了  =_=),热词支持哪些语言(方言)?
    答:热词目前支持中文普通话,英语及中文方言等均不支持热词功能(就算你上传了也没用 = ̄ω ̄=),另外一点上面也说过了,只有在线听写才支持热词,离线不支持。

    • 你们的听写一次识别有时间限制吗?我想要无限时长的听写怎么办?
    答:包括听写在内的大部分语音输入型业务的持续识别时间是有限的(评测和还未开放的转写功能除外),并不能做到无限时间的连续识别,这一点在相关的帖子里有详细的说明,虽然有大牛自己通过切分大音频+循环多次识别的方法简单实现了无线时长的识别,但是我台官网并不对其识别准确性负责 (,,• ₃ •,,),针对这样的需求的转写功能,我台也已经在开放计划中了,就请大家再等等。

    • 你们官网demo中的听写界面可以修改吗?(或者说:里面的“核心技术由科大讯飞提供”可以去掉吗?)
    答:官方SDK提供的听写控件有两个,分别是SpeechRecognizer(无UI)和RecognizerDialog(带UI)。大家如果对RecognizerDialog自带的UI不满意,可以使用SpeechRecognizer控件+自定义UI的方法来实现。另外要说明的是“核心技术由科大讯飞提供”字样是不可以去掉的,即时是你自定义了UI,这样的字样也必须出现在你应用中的相关说明页,否则会审核不过的

    • 语音听写支持哪些语言(方言)?
    答:讯飞目前支持的语言和方言多达二十多种,但是在我台开放出来可供开发者使用的只有:中文普通话mandarin(默认)、粤语cantonese、四川话lmz。语言的设置参数为language,方言的设置为accent(当前仅在language为简体中文时支持方言选择,其他语言区域时请把此参数值设为null),具体的设置方法参考官网提供的API文档。

    • 我在测试你们的语音听写的功能, 为什么上午还好好的,到了下午就莫名其妙的出现了11201的错误(授权不足)?我代码什么的都没有动过。
    答:由于你还在测试阶段,所以你下载的听写SDK是有一天500次的服务访问次数限制的,超过了就会报错11201。解决方法有两个,一个见论坛管理员的帖子,另一个方法就是如果你的应用的基本功能已经开发完成,可以尽快的提交到官网审核,审核通过后既可以解除次数限制。

    • 我使用的是你们Linux/Windows平台的听写功能,为什么在测试你们的demo的时候识别结果是乱码呢?
    QQ截图20161****73352.jpg

    答:注意terminal的编码与代码里iat结果输出的编码要一样,不是没有识别出来,而是输出的结果你在终端上显示不出来。比如代码里result_encoding = gb2312, 那么你的终端也设置成gb2312。



    评分

    参与人数 2语点 +10 收起 理由
    荆小荆 + 5 赞一个!
    百花 + 5 很给力!

    查看全部评分

     楼主| 王水 发表于 2016-12-12 16:58:00
    推荐
    qt 发表于 2016-12-12 16:23
    目前我自己是通过将连续语音切分成不长于一分钟的片段,然后用一路会话处理一个片段,处理完之后结束会话 ...

    你说的这些正式转写服务存在的价值,转写上线后,一定会广而告之的。
    使用道具 举报 回复
    qt 发表于 2016-12-8 13:15:18
    3#
    总结的很及时到位,大力支持一下王水
    使用道具 举报 回复
     楼主| 王水 发表于 2016-12-8 15:20:19
    4#
    qt 发表于 2016-12-8 13:15
    总结的很及时到位,大力支持一下王水

    发现有其他问题也欢迎提出来,我及时收录进去。
    使用道具 举报 回复
    瓶中草 发表于 2016-12-8 17:26:45
    5#
    楼主,您好!
    我是刚接触讯飞开放平台的,非常感谢你们给我们这么好的一个开放平台!
    我想做智能家居方面的语义理解,输入方式是文本方式,请问贵平台的语义理解是只能在线的进行语义理解吗?
    可以实现离线(不连接网络)的情况下进行语义理解吗?
    使用道具 举报 回复
     楼主| 王水 发表于 2016-12-8 18:00:09
    6#
    瓶中草 发表于 2016-12-8 17:26
    楼主,您好!
    我是刚接触讯飞开放平台的,非常感谢你们给我们这么好的一个开放平台!
    我想做智能家居方面的 ...

    语义理解目前是必须在线的,但是你的使用场景只是一些简单的控制家电的指令的话,可以看看我们的离线命令词识别,可以实现你的功能。具体的可以看一下视频教程第五期。
    使用道具 举报 回复
    落叶 发表于 2016-12-8 19:10:03
    7#
    水兄总结的很到位 不过热词那个地方用户级和应用级别的说法对于Java平台好像不存在吧
    使用道具 举报 回复
    瓶中草 发表于 2016-12-9 09:24:05
    8#
    王水 发表于 2016-12-8 18:00
    语义理解目前是必须在线的,但是你的使用场景只是一些简单的控制家电的指令的话,可以看看我们的离线命令 ...

    离线的目前都是要收费的吧,   可能是我自己的技术不好,还不能自己写一个简单的语义理解
    使用道具 举报 回复
    嘉木 发表于 2016-12-9 09:51:05
    9#
    水哥总结的灰常赞~··~大家有啥问题可以在这继续提哦~
    使用道具 举报 回复
    ZhangShuangXue 发表于 2016-12-9 15:29:16
    10#
    楼主,关于“你们的听写一次识别有时间限制吗?我想要无限时长的听写怎么办?”这个问题,什么时候SDK中才能完善?
    使用道具 举报 回复
    Tuzki 发表于 2016-12-9 16:47:15
    11#
    ZhangShuangXue 发表于 2016-12-9 15:29
    楼主,关于“你们的听写一次识别有时间限制吗?我想要无限时长的听写怎么办?”这个问题,什么时候SDK中才 ...

    顶一下》》》》》》》
    使用道具 举报 回复