离线识别demo返回数据domain字段怎么提取
ice_king116 发布于2020-02 浏览:1044 回复:2
0
收藏

离线命令能正常识别出设置的命令,但是返回数据里没找到像网页测试返回数据格式中的domain和intent字段。请问demo在什么位置能提取这两个字段呢?谢谢!

如下为网站测试返回数据格式

{
"raw_text": "打电话给李四",
"parsed_text": "打电话给李四",
"results": [
{
"domain": "telephone",
"intent": "call",
"object": {
"name": "李四"
}
}
]
}

收藏
点赞
0
个赞
共2条回复 最后由用户已被禁言回复于2022-04
#3君寻不惑回复于2020-03

我在接入ios sdk时也有这个问题。

返回结果如下:

2020-03-13 11:54:11.756[TRACE][bds_EventManagerKWS.cpp:238][KWS]result: {"results_recognition":["打给王五"],"origin_result":{"content":{"item":["打给王五"]},"result":{"sn":"KWS","version":"easr.kws.v1","raw_text":"打给王五","scene_id":0,"score":0.74,"_results":{"name":{"keyword":"王五","keyword_nbest":["王五"],"score":0.67}}}}}

而且经过测试,无论是否开启本地语义,返回结果都是一样的,不明白问题出在哪里。

代码片段如下:

    [self.asrEventManager setDelegate:self];
    [self.asrEventManager setParameter:nil forKey:BDS_ASR_AUDIO_FILE_PATH];
    [self.asrEventManager setParameter:nil forKey:BDS_ASR_AUDIO_INPUT_STREAM];
  
    //开启本地语义
    [self.asrEventManager setParameter:@(YES) forKey:BDS_ASR_ENABLE_NLU];
    [self.asrEventManager setParameter:@(YES) forKey:BDS_ASR_DISABLE_PUNCTUATION];
//    [self.asrEventManager setParameter:@"1537" forKey:BDS_ASR_PRODUCT_ID];
  
    // 参数设置:识别策略为离在线并行
    [self.asrEventManager setParameter:@(EVR_STRATEGY_BOTH) forKey:BDS_ASR_STRATEGY];
    // 参数设置:离线识别引擎类型
    [self.asrEventManager setParameter:@(EVR_OFFLINE_ENGINE_GRAMMER) forKey:BDS_ASR_OFFLINE_ENGINE_TYPE];
  
    // 参数配置:命令词引擎语法文件路径。请从控制台的左侧功能栏进入“离线词&语义设置”模块,根据页面上的引导自行定义词条和语法,并生成bsg文件。下载语法文件后,替换BDS_ASR_OFFLINE_ENGINE_GRAMMER_FILE_PATH参数
    NSString *gramm_filepath = [[NSBundle mainBundle] pathForResource:@"baidu_speech_grammar" ofType:@"bsg"];
    NSString* lm_filepath = [[NSBundle mainBundle] pathForResource:@"bds_easr_basic_model" ofType:@"dat"];
    [self.asrEventManager setParameter:gramm_filepath forKey:BDS_ASR_OFFLINE_ENGINE_GRAMMER_FILE_PATH];
    [self.asrEventManager setParameter:self.slotDataFromJs forKey:BDS_ASR_OFFLINE_ENGINE_GRAMMER_SLOT];
    [self.asrEventManager setParameter:lm_filepath forKey:BDS_ASR_OFFLINE_ENGINE_DAT_FILE_PATH];

    // 发送指令:加载离线引擎
    [self.asrEventManager sendCommand:BDS_ASR_CMD_LOAD_ENGINE];
    [self.asrEventManager sendCommand:BDS_ASR_CMD_START];
0
#2wangwei8638回复于2020-02

你的返回结果?

0
TOP
切换版块