HarmonyOS之AI能力·助手类意图识别
一、简介
- 随着人机交互越来越普遍,设备需要理解用户下达的各种指令,方便用户的操作。
- 助手类意图识别能够利用机器学习技术,对用户发送给设备的文本消息进行语义分析和意图识别,进而衍生出各种智能的应用场景,使设备更智慧、更智能。
- 助手类意图识别当前只支持中文语境。
- 助手类意图识别文本限制在 50 个字符以内,超过字数将返回参数错误。文本要求 UTF-8 格式,如果格式错误不会引发报错,但将导致分析结果不正确。
- Engine 支持多用户同时接入,但是不支持同一用户并发调用同一特性。若同一特性被同一进程同一时间多次调用,则返回系统忙错误;不同进程调用同一特性,则同一时间只能处理一个进程业务,其他进程进入队列排队。
二、应用场景
- 可以应用于语音助手,通过智能对话与即时问答的智能交互,帮助用户快速解决问题。比如,在驾驶时无法腾出双手来使用手机,但可以通过语音助手交互来操控手机,完成机票订购等操作。
- 在家庭设备上可以做到声控设备的各种操作,比如家庭智能设备的打开和关闭等。
三、API 说明
- 助手类意图识别提供了一个函数接口 getAssistantIntention(),该接口主要针对助手场景下的意图识别,分析用户的意图。
① 主要接口
功能描述 | 接口原型 |
---|---|
助手类意图(同步接口) | ResponseResult getAssistantIntention(String requestData, int requestType) |
助手类意图(异步接口) | ResponseResult getAssistantIntention(final String requestData, final int requestType, final OnResultListener listener) |
初始化 | void init(Context context, OnResultListener listener, boolean isLoadModel) |
销毁接口 | void destroy(Context context) |
② 接口输入值说明
- requestType 表示请求类型,通过 NluRequestType 类定义了以下请求类型:
类型 | 说明 |
---|---|
static int | REQUEST_TYPE_LOCAL = 0 本地请求 |
- requestData 表示输入的文本信息,为 json 格式,如下:
参数名 | 是否必选 | 值类型 | 说明 |
---|---|---|---|
text | 是 | String | 待分析的文本,格式要求为“utf-8”,文本长度不超过50个字符 |
category | 否 | String | 需要分析的意图类别,默认分析所有类别,多个类别用半角逗号隔开。例如,需要系统设置类和出行类,取值为“systemSetting,trip” |
module | 否 | String |
用来指定具体分析哪些意图模块,默认分析所有模块,多个意图模块用半角逗号“,”隔开。例如分析订火车票和订机票意图,取值为“bookTrainTicket,bookAirTicket”。 备注:分析时category与module取并集,如category为“systemSetting”,module为“bookTrainTicket”,将会分析系统设置类的所有意图、以及订火车票“bookTrainTicket”意图 |
callPkg | 否 | String | 调用者名称 |
callType | 否 | int |
调用者类型,取值如下: 0:普通应用(默认) 1:快应用 |
callVersion | 否 | String | 调用者版本号 |
callState | 否 | int |
调用者状态,取值如下: -1:未知(默认) 0:前台 1:后台 |
- category 与 module 取值说明:
意图类别(category) | 包含意图 | 具体的意图模块(module) |
---|---|---|
trip | 订机票、订火车票、导航、查询地点 | bookTripTicket、bookAirTicket、queryTrain、navigation、queryPosition |
contact | 打电话 | call |
systemSetting | 打开4g、关闭4g、设置4g、打开wifi、关闭wifi等 | open4G、close4G、set4G、openWlan、closeWlan |
③ 接口返回值说明
参数名 | 子参数 | 是否必选 | 值类型 | 说明 |
---|---|---|---|---|
code | - | 是 | int |
0:成功 1:系统正在初始化 2:参数错误 3:系统忙 4:系统异常 5:任务超时 6:其它错误 |
message | - | 是 | String | 异常信息 |
intentions | - | 否 | JSONArray | 意图列表,数组里的类型为JSONObject |
name | 否 | String | 意图名 | |
attributes | 否 | JSONArray | 意图对应的属性 |
四、开发流程
- 在使用助手类意图识别 API 时,将实现助手类意图识别的相关的类添加至工程:
import ohos.ai.nlu.NluRequestType;import ohos.ai.nlu.NluClient;import ohos.ai.nlu.OnResultListener;import ohos.ai.nlu.ResponseResult;
- 使用 NluClient 静态类进行初始化,通过异步方式获取服务的连接。
- context:应用上下文信息,应为 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的实例或子类实例。
- listener:初始化结果的回调,可以传 null。
- isLoadModel:是否加载模型,如果传 true,则在初始化时加载模型;如果传 false,则在初始化时不加载模型。
NluClient.getInstance().init(context, new OnResultListener<Integer>(){@Overridepublic void onResult(Integer result){// 初始化成功回调,在服务初始化成功调用该函数}}, true);
- 调用助手类意图识别接口:
/** Constructing input parameters for testing getAssistantIntention method. */String requestData = "{\"text\":\"关闭wlan\"}";/** Start analyzing intention based on assistant tool */ ResponseResult responseResult = NluClient.getInstance().getAssistantIntention(requestData, NluRequestType.REQUEST_TYPE_LOCAL);
- 或者调用助手类意图识别的异步接口:
NluClient.getInstance().getAssistantIntention(requestData, NluRequestType.REQUEST_TYPE_LOCAL, new OnResultListener<ResponseResult>() {@Overridepublic void onResult(ResponseResult result) {// 异步返回结果处理}});
- 解绑服务:
/** release resource*/NluClient.getInstance().destroy(context);
HarmonyOS之AI能力·助手类意图识别相关推荐
- HarmonyOS之AI能力·IM类意图识别
一.基本概念 IM 类意图识别,是指利用机器学习技术,针对用户短信或聊天类 APP 等 IM 应用的文本消息进行内容分析,并识别出消息内容代表的用户意图. 基于语义分析,利用机器学习的相关技术识别并理 ...
- HarmonyOS之AI能力·实体识别
一.简介 实体识别能够从自然语言中提取出具有特定意义的实体,并在此基础上完成搜索等一系列相关操作及功能. 实体识别覆盖范围大,能够满足日常开发中对实体识别的需求,让应用体验更好.识别准确率高,能够准确 ...
- HarmonyOS之AI能力·通用文字识别技术
一.通用文字识别技术 通用文字识别的核心技术是 OCR(Optical Character Recognition,光学字符识别). OCR 是一种通过拍照.扫描等光学输入方式,把各种票据.卡证.表格 ...
- HarmonyOS之AI能力·文档检测校正
一.基本概念 文档校正提供了文档翻拍过程的辅助增强功能,包含两个子功能:文档检测和文档校验. 文档检测:能够自动识别图片中的文档,返回文档在原图中的位置信息.这里的文档泛指外形方正的事物,比如书本.相 ...
- HarmonyOS之AI能力·文字图像超分
一.简介 文字图像超分辨率可以对包含文字内容的图像进行 9 倍放大(高宽各放大 3 倍),同时增强图像内文字的清晰度,称为"文字图像超分辨率",简称"文字图像超分&quo ...
- HarmonyOS之AI能力·图像超分辨率
一.基本概念 针对图片分辨率不足的问题,传统的解决方案是使用双线性或双三次插值的方法来放大图像:而针对图片压缩噪声的问题,传统的解决方案则是通过各种算法实现平滑.去噪. 本 SDK 使用智能的方法,基 ...
- HarmonyOS之AI能力·语音识别技术
一.基本概念 语音识别功能提供面向移动终端的语音识别能力.它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层 API.该技术可以将语音文件.实时语音 ...
- HarmonyOS之AI能力·语音播报
一.概念 语音播报(Text to Speech,下文简称 TTS),基于华为智慧引擎(HUAWEI HiAI Engine)中的语音播报引擎,向开发者提供人工智能应用层 API.该技术提供将文本转换 ...
- HarmonyOS之AI能力·词性标注
一.简介 随着信息技术的发展,网络中的信息量成几何级增长逐步成为当今社会的主要特征.准确提取文本关键信息,是搜索引擎等领域的技术基础,而分词作为文本信息提取的第一步则尤为重要. 分词作为自然语言处理领 ...
最新文章
- 线程的状态 Thread.State||NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED
- 节后收心困难?这15篇论文,让你迅速找回学习状态
- 关于javascript作用域
- linux显示fio为非法指令,FORTRAN运行错误消息列表中英对照.doc
- springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
- python 打印xml文档树_[Python]xml.etree.ElementTree处理xml文档
- delete kubectl pod_使用kubectl管理k8s集群(三十)
- 7-9 找出最小值 (20 分)
- 基于CUDA的GPU优化建议
- 那些互联网IT岗位的招聘潜台词,能看到说明你是历经磨难的老司机
- 《编程之美》---求二叉树中节点的最大距离
- Activeperl安装教程
- 自然语言在公路交通各建设阶段运用
- 深度学习英语-迭代法(01)故事法,一个新的尝试
- 滴滴出行DIDI美国IPO上市路演PPT:Roadshow Presentation
- torch.nn.Embedding的函数
- 网页中视频在线播放脚本
- 算法设计——用分治法查找数组元素的最大值和最小值、用分治法实现合并排序、最小费用问题、树的最大连通分支问题(代码实现)
- 刘禹锡最经典诗文10首,每一首都是千古名作,读懂受益一生
- Deployer 部署项目
热门文章
- 20180925-4 单元测试 两人结对
- emqtt 试用(二)验证 emq 和 mosquito 的共享订阅
- 【读书笔记】基础博弈知识小结
- gVim 中文内容显示为乱码的解决办法
- css盒模型中子元素垂直方向上总高度与父元素height的关系
- jQuery-对Select的操作集合
- 错误信息 c语言实现_全国计算机等级考试二级C语言
- html页面取js里面的值,如何在javascript中获取HTML元素的样式值?
- c++ mysql 存储图片路径_3.用ADO实现图片在数据库中存储
- 共同好友推荐java_【开班典礼】初雪迎初见,白色浪漫中,他们选择从此与Java相伴!...