科大讯飞语义

 最近因用到语义,一个朋友推荐科大讯飞。于是就做了个Demo看了下,然而觉得科大讯飞语义也就是智能回复功能比较好用。若是大家功能多的话还是建议大家使用云知声的语义,它的功能相对多一点。撸码了~~~~

一,使用科大讯飞语义首先要上科大讯飞开发平台注册账号创建自己的应用,这里就不多说了。科大讯飞的语义和科大讯飞开发平台网址是分开的分享个语义地址http://osp.voicecloud.cn/
二,在首页创建自己的语义,建议大家都选了(科大讯飞语义你若是不选就不会给你返回正确场景语义)

![科大讯飞语义添加语义](https://img-blog.csdn.net/20170301193427905?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2FuZ2ppYW5nanVuMDgxNQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

三,使用科大讯飞的所有东西都需要初始化,建议在application初始化,避免被杀死

   SpeechUtility.createUtility(getApplicationContext(), SpeechConstant.APPID +"=申请的应用AppID");

四,科大讯飞语义工具类

public class NLUOnlineUtil {
    private final Context mContext;
    private MainPresenter mPresenter;
    private SpeechUnderstander mySpeechUnderstander;

    public NLUOnlineUtil(Context context,MainPresenter presenter){
        this.mContext=context;
        this.mPresenter=presenter;
        initNLU();
    }

    private void initNLU() {
        //1.创建语音语义理解对象
        mySpeechUnderstander = SpeechUnderstander.createUnderstander(mContext, null);
        //2.设置参数,语义场景配置请登录 http://osp.voicecloud.cn/
        mySpeechUnderstander.setParameter(SpeechConstant.LANGUAGE, "zh_cn");
        mySpeechUnderstander.setParameter(SpeechConstant.DOMAIN, "iat");
        mySpeechUnderstander.setParameter(SpeechConstant.NLP_VERSION, "2.0");
        mySpeechUnderstander.setParameter(SpeechConstant.RESULT_TYPE, "json");
    }

    /**
     * 开始语义识别
     */
    public void startNLU(){
         //3.开始语义理解
        mySpeechUnderstander.startUnderstanding(mUnderstanderListener);
    }
    SpeechUnderstanderListener mUnderstanderListener = new SpeechUnderstanderListener(){
  //返回的语义结果 结果为json格式,解析后根据"operation"判定不同场景
        @Override
        public void onResult(UnderstanderResult result) {
            String text = result.getResultString();
            System.out.println(text);

        }
        @Override
        //会话发生错误回调接口
        public void onError(SpeechError error) {
        }
        //音量发生改变时
        @Override
        public void onVolumeChanged(int i, byte[] bytes) {

        }
        //开始录音
        @Override
        public void onBeginOfSpeech() {

        }
        //结束录音
        @Override
        public void onEndOfSpeech() {

        }
        //扩展用接口
        @Override
        public void onEvent(int eventType, int arg1, int arg2, Bundle obj) {

        }
    };
}

五,附语义解析json一个音乐场景结果—-“来一首刘德华的忘情水”

{
    "data": {
        "result": [
            {
                "downloadUrl": "http://file.kuyinyun.com/group1/M00/93/7F/rBBGdFPX2iqACqkDABePVqFGeuc579.mp3",
                "name": "忘情水",
                "singer": "刘德华",
                "sourceName": "自产音乐"
            },
            {
                "downloadUrl": "http://file.diyring.cc/UserRingWorksFile/0/50286090.mp3",
                "name": "忘情水",
                "singer": "刘德华",
                "sourceName": "自产音乐"
            },
            {
                "downloadUrl": "http://file.diyring.cc/UserRingWorksFile/0/50288292.mp3",
                "name": "忘情水",
                "singer": "刘德华",
                "sourceName": "自产音乐"
            },
            {
                "downloadUrl": "http://file.kuyinyun.com/group1/M00/52/54/rBBGdFO10gGAV2YSABeMNNnn7Sc042.mp3",
                "name": "忘情水",
                "singer": "刘德华",
                "sourceName": "自产音乐"
            }
        ]
    },
    "operation": "PLAY",
    "rc": 0,
    "semantic": {
        "slots": {
            "artist": "刘德华",
            "song": "忘情水"
        }
    },
    "service": "music",
    "text": "来一首刘德华的忘情水。",
    "webPage": {
        "header": "",
        "url": "http://kcbj.openspeech.cn/service/iss?wuuid=c4950fbf4896b6f15e32f03c9bceef27&ver=2.0&method=webPage&uuid=aa6bd7b5d2a5653ad9d01a69f865a233query"
    }
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值