文章40 | 阅读 20918 | 点赞0
接口名 | 描述 |
---|---|
void init(Context context, OnResultListener listener, boolean isLoadModel); | 初始化NLU服务。在调用NLU等功能接口前需要先调用此接口,在OnResultListener的onResult(T)方法中获取到回调结果后,再调用NLU功能接口。开发者传入listener参数作为回调,用于等待NLU功能接口的调用过程和结果 |
ResponseResult getEntity(String requestData, int requestType); | 采用同步方式识别文本中具有特定意义的实体,包含电影、电视剧、综艺、动漫、单曲、专辑、图书、火车车次、航班号、球队、人名、快递单号、电话号码、url、邮箱、联赛、时间、地点(包含酒店、餐馆、景点、学校、道路、省、市、县、区、镇等)、验证码 |
ResponseResult getEntity(final String requestData, final int requestType, final OnResultListener listener); | 采用异步方式识别文本中具有特定意义的实体,包含电影、电视剧、综艺、动漫、单曲、专辑、图书、火车车次、航班号、球队、人名、快递单号、电话号码、url、邮箱、联赛、时间、地点(包含酒店、餐馆、景点、学校、道路、省、市、县、区、镇等)、验证码 |
void destroy(Context context); | 取消所有NLU任务,销毁NLU引擎服务。调用此方法后,无法再使用NLU服务。如果需要重新使用NLU服务,需要重新调用init(Context, OnResultListener, boolean)}来初始化NLU服务 |
枚举的类型 | 枚举的取值 |
---|---|
static final int | REQUEST_TYPE_LOCAL = 0 本地请求 |
参数名 | 是否必选 | 类型 | 说明 |
---|---|---|---|
text | true | String | 待分析的文本,UTF-8编码,限制500个字符以内 |
定义需要分析的实体,默认所有实体均会分析。<br>分析某个实体,传实体键值,例如:只需要分析时间实体,传“time”。可传多个,表示分析多个实体,以半角逗号“,”分隔,例如:分析时间和地点,传“time,location”。<br>取值范围:name、time、location、phoneNum、email、url、movie、tv、anime、league、team、trainNo、flightNo、expressNo、idNo、verificationCode、app、carNo | |||
callPkg | false | String | 调用者名称 |
callType | false | int | 调用者类型:<br>0:普通应用(默认)<br>1:快应用 |
callVersion<br>callState | false<br>false | String<br>int | 调用者版本号。<br>调用者状态:<br>-1:未知(默认)<br>0:前台<br>1:后台 |
参数名 | 是否必选 | 类型 | 说明 |
---|---|---|---|
code | true | int | 实体识别的结果码。取值包括:<br>0:成功<br>1:系统正在初始化<br>2:参数错误<br>3:系统忙<br>4:系统异常<br>5:任务超时<br>6:其它错误 |
message | true | String | 实体识别的结果描述 |
entity | false | JSONObject | 实体分析结果 |
import ohos.ai.nlu.ResponseResult; // 接口返回的结果类
import ohos.ai.nlu.NluClient; // 接口服务类
import ohos.ai.nlu.NluRequestType; // 接口调用时传入的类型
import ohos.ai.nlu.OnResultListener; // 异步函数,执行成功的回调结果类
import ohos.ai.nlu.util.NluError;// 接口返回码
NluClient.getInstance().init(context, new OnResultListener<Integer>(){
@Override
public void onResult(Integer result){
// 初始化成功回调,在服务初始化成功调用该函数
}
}, true);
String requestData= "{text:'我要看电影魔兽',module:'movie'}"; // module为可选参数,如果不设置该参数,则默认分析所有实体
ResponseResult respResult = NluClient.getInstance().getEntity(requestData, NluRequestType.REQUEST_TYPE_LOCAL);
if (null != respResult && NluError.SUCCESS_RESULT == respResult.getCode()) {
// 获取接口返回结果,参考接口文档返回使用
String result = respResult.getResponseResult();
}
// 待分析文本
String requestData= "{text:'我要看电影魔兽',module:'movie'}"; // module为可选参数,如果不设置该参数,则默认分析所有实体
// 调用接口
NluClient.getInstance().getEntity(requestData, NluRequestType.REQUEST_TYPE_LOCAL, new OnResultListener < ResponseResult > () {
@Override
public void onResult(ResponseResult respResult) {
// 异步返回
if (null != respResult && NluError.SUCCESS_RESULT == respResult.getCode()) {
// 获取接口返回结果,参考接口文档返回使用
String result = respResult.getResponseResult();
}
}
});
NluClient.getInstance().destroy();
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/Forever_wj/article/details/118342112
内容来源于网络,如有侵权,请联系作者删除!