鸿蒙HarmonyOS开辟实战—AI功能开辟(IM类意图辨认)_鸿蒙ai学习(1)
https://img-blog.csdnimg.cn/img_convert/8ff4f7f6f7de3e4164b346066750f0aa.pnghttps://img-blog.csdnimg.cn/img_convert/de77ff1731faf327e0c9db7628503de8.png
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化的资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
接口说明
紧张接口
IM类意图辨认提供了初始化、同步、异步、解绑四个接口,如表1所示。
接口名功能形貌void init(Context context, OnResultListener listener, boolean isLoadModel)初始化接口,传入当前context对象和结果回调对象,决定是否在初始化时加载模型。ResponseResult getChatIntention(String requestData, int requestType)同步接口,用于IM类场景下的用户意图分析。ResponseResult getChatIntention(final String requestData, final int requestType, final OnResultListener listener)异步接口,用于IM类场景下的用户意图分析。void destroy(Context context)解绑接口,释放当前上下文对象。 接口输入值说明
[*]isLoadModel:是否在初始化时加载模型。
[*]requestType:哀求类型,取值可以从ohos.ai.nlu.NluRequestType选择。目前只支持端侧(REQUEST_TYPE_LOCAL)一种哀求类型。
参数名是否必选类型说明texttrueString待分析的文本,UTF-8编码,不超过500个字符,超过300个字符的只分析通知类意图。timestampfalselong该文本的发送时间或接收时间,格式为时间戳,表示距离格林威治时间1970.1.1的毫秒数。默认为当前体系时间。isSenderfalseint用来标示发送或接收,0表示接收,1表示发送。categoryfalseString必要分析的意图类别,默认分析全部类,多个用半角逗号“,”隔开,如必要分析出行类和通知类,传“notice”。modulefalseString用来指定具体分析哪些意图模块,默认分析全部意图模块。 如指定分析特定意图模块,则多个意图模块间用半角逗号“,”隔开。 比方同时分析还款提醒通知和还款乐成通知意图,传“repayNotice,repayedNotice”。callPkgfalseString调用者名称。callTypefalseint调用者类型: 0:平凡应用(默认)1:快应用callVersionfalseString调用者版本号。callStatefalseint调用者状态: -1:未知(默认)0:前台1:背景 接口返回值说明
返回值ResponseResult中responseResult为JSON字符串,体现文本分词的结果:
键参数名说明是否必选值类型返回值分析code结果码TrueInt实体辨认的结果码。取值包罗: 0:乐成1:体系正在初始化2:参数错误3:体系忙4:体系非常5:任务超时6:其它错误message错误信息TrueString错误信息形貌。intentions意图列表FalseJSONArray详细请参考表2。
[*]0:乐成
[*]1:体系正在初始化
[*]2:参数错误
[*]3:体系忙
[*]4:体系非常
[*]5:任务超时
[*]6:其它错误
message 错误信息 True String 错误信息形貌。 intentions 意图列表 False JSONArray 详细请参考表2。
详细意图说明
[*]还款通知表示还款通知的意图分析时,“intentions”子参数形貌见下表: 表2意图详情 参数名 是否必选 类型 说明 name true String 意图名,值为“repayNotice” attributes false JSONArray 意图属性,用数组表示,数组里的类型为JSONObject +deadline true JSONObject 还款截止时间,结构与实体“time”一致 +moneyInfo fale JSONArray 还款额信息,可能存在多币种,以数组形式存在,数组里的类型为JSONObject ++amount true String 还款总额 ++miniAmount false String 最低还款金额 ++unit true int 单位,0(人民币元)、1(美元) +bank false String 还款银行 +cardSuffix false String 银行卡尾号 +bankCode false String 银行简称代码 +phoneNumber false String 客服电话 +cardType true int 卡类型,其取值列表如下: 0:名誉卡 1:借记卡 +accountType true int 账户类型,其取值列表如下: 0:平凡个人账户(默认) 1:车贷账户
[*]已还款通知 表示已经还款乐成的通知,“intentions”子参数形貌见下表: 参数名 是否必选 类型 说明 name true String 意图名,值为“repayedNotice” attributes false JSONArray 意图属性,用数组表示,数组里的类型为JSONObject +time false JSONObject 还款的时间,结构与实体“time”一致 +moneyInfo false JSONArray 还款额信息,可能存在多币种,以数组形式存在,数组里的类型为JSONObject ++amount true String 已还款额 ++unit true int 单位,0(人民币元)、1(美元) +bank false String 还款银行,与“银行卡尾号”二者至少存在一个 +cardSuffix false String 银行卡尾号,与“还款银行”二者至少存在一个 +bankCode false String 银行简称代码(对照代码表) +isPayOff false int 是否还清,只依据文本中出现的形貌,“1”表示还清,否则无该字段 +arrears false JSONArray 还欠款信息,可能存在多币种,以数组形式存在,数组里的类型为JSONObject ++amount true String 还欠款额 ++unit true int 单位,0(人民币元)、1(美元) +cardType true int 卡类型,其取值列表如下: 0:名誉卡 1:借记卡 +accountType true int 账户类型,其取值列表如下: 0:平凡个人账户(默认) 1:车贷账户 +deadline false JSONObject 截止时间,结构与实体“time”一致
[*]未接来电通知 表示未接来电的意图,“intentions”子参数形貌见下表: 参数名 是否必选 类型 说明 attributes true JSONArray 意图属性,用数组表示,数组里的类型为JSONObject +number true String 未接来电号码 +callTime true JSONObject 未接来电时间,结构与实体“time”一致 +name false String 未接来电号码所属的人名
开辟步骤
在使用IM类意图辨认API时,将实现IM类意图辨认的相关的类添加至工程。
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静态类进行初始化,通过异步方式获取服务的连接。
[*]context:应用上下文信息,应为ohos.aafwk.ability.Ability或ohos.aafwk.ability.AbilitySlice的实例或子类实例。
[*]listener:初始化结果的回调,可以传null。
[*]isLoadModel:是否加载模型,如果传true,则在初始化时加载模型;如果传false,则在初始化时不加载模型。
NluClient.getInstance().init(context, new OnResultListener(){
@Override
public void onResult(Integer result){
// 初始化乐成回调,在服务初始化乐成调用该函数
}
}, true);
复制
确认第二步初始化接口调用乐成后,调用获取IM类意图辨认方法得到分析结果,调用实例。
同一个接口同时提供了同步和异步两种方法,开辟者可根据本身必要进行选择。还款通知中的时间不应早于当前时间。
[*]同步接口:
String requestJson = “{text:‘您个人名誉卡07月账单¥198.00,还款日07月27日【XX银行】’}”;
ResponseResult responseResult = NluClient.getInstance().getChatIntention(requestJson, NluRequestType.REQUEST_TYPE_LOCAL);
if (responseResult != null) {
// 获取接口返回结果
String result = responseResult.getResponseResult();
}
复制
[*]异步接口:
String requestJson = “{text:‘您个人名誉卡07月账单¥198.00,还款日07月27日【XX银行】’}”;
// 调用接口
NluClient.getInstance().getChatIntention(requestJson, NluRequestType.REQUEST_TYPE_LOCAL, new OnResultListener () {
@Override
public void onResult(ResponseResult respResult) {
// 异步返回
if (respResult != null && respResult.getCode() == NluError.SUCCESS_RESULT) {
// 获取接口返回结果
String result = respResult.getResponseResult();
}
}
});
复制
解绑服务。
/* 功能使用完毕,销毁上下文,释放资源。 */
NluClient.getInstance().destroy(context);
最后,为了能让大家更好的去学习提拔鸿蒙 (Harmony OS) 开辟技能,小编连夜整理了一份30个G纯血版学习资料(含视频、电子书、学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开辟手册》(共计890页),希望对大家有所帮助。
纯血版鸿蒙 HarmonyOS 4.0 视频学习资料
https://img-blog.csdnimg.cn/direct/96278e452e0c4e148a9719152582e3f8.png
https://img-blog.csdnimg.cn/direct/055da709c34041b8b65194f344718ab3.png
必要以上视频学习资料小同伴
请点击→纯血版全套鸿蒙HarmonyOS学习资料
《纯血版华为鸿蒙 (Harmony OS)开辟手册》
这份手册涵盖了当前鸿蒙 (Harmony OS) 开辟技能必把握的核心知识点
纯血版鸿蒙 (Harmony OS)开辟手册部分精彩内容
HarmonyOS 概念:
https://img-blog.csdnimg.cn/img_convert/5ec96ff8f95190b90653a5567f47798d.png
https://img-blog.csdnimg.cn/img_convert/46c3444f1c9341a6993f066784cd22ec.png
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。
必要这份体系化的资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
浅尝辄止,不再深入研究,那么很难做到真正的技能提拔。**
必要这份体系化的资料的朋友,可以戳这里获取
一个人可以走的很快,但一群人才能走的更远!岂论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎参加我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]