如何将在线语音识别结果以本地语法结构进行语义解析
流云linker 发布于2017-12 浏览:2628 回复:5
0
收藏

我想使用百度语音识别类似于“打开工作表xx”的语音,其中xx是变化的

词条如下:

objaction=打开

objclass=工作表

objvalue=*

说法如下:

app.doaction=

由于说法中带有*,因此只能使用在线识别

我想将打开工作表测试识别成以下结果

{
"raw_text": "打开工作表测试",
"parsed_text": "打开工作表测试",
"results": [
{
"domain": "app",
"intent": "doaction",
"object": {
"objaction": "打开",
"objclass": "工作表",
"objvalue": "测试"
}
}
]
}

但是开启在线语义解析却只能得到下面的解析结果

{"merged_res":{"semantic_form":{"appid":15361,"err_no":0,"parsed_text":"打开 工作 表 测试","raw_text":"打开工作表测试","results":[{"domain":"video","intent":"play","object":{"_name":"测试","name":"测试"},"score":0.650}]}}}

请问该如何做才能达到预期效果

收藏
点赞
0
个赞
共5条回复 最后由用户已被禁言回复于2022-04
#6fujiayi1984回复于2018-04

1. “”*“” 不支持

2. 本地语义会覆盖在线语义。 本地语义简单的话,可以自己用正则处理。 或者在线语义改为UNIT平台

0
#5不拘一格格格回复于2018-04

你好,我也有类似的需求,希望在联网的情况下,既能得到在线的语义解析结果,又能得到本地语义解析结果,请问楼主这个问题解决了么?谢谢

0
#4xie798927146回复于2018-02

不知道你用的是SDK吗?如果是可以试下

1.将PID参数设置为1536(在线语音识别,没有语音分析)

2.将nlu参数设置为enable(本地语意解析)

3.将你的说法用百度的工具生成.bsg文件

4.ASR_START事件中的ASR_OFFLINE_ENGINE_GRAMMER_FILE_PATH参数为你的.bsg文件路径

0
#3卡农LLLL回复于2017-12

..都写死这样了...直接replace取字算了?

0
#2用户已被禁言回复于2017-12

您好,感谢您使用百度AI社区,如果有志同道合的小伙伴遇到过相似问题并解决了会给您答复,同时我们也内部再跟进您这个问题,会尽快给您具体答复

0
TOP
切换版块