一、简介

  • 随着人机交互越来越普遍,设备需要理解用户下达的各种指令,方便用户的操作。
  • 助手类意图识别能够利用机器学习技术,对用户发送给设备的文本消息进行语义分析和意图识别,进而衍生出各种智能的应用场景,使设备更智慧、更智能。
  • 助手类意图识别当前只支持中文语境。
  • 助手类意图识别文本限制在 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能力·助手类意图识别相关推荐

  1. HarmonyOS之AI能力·IM类意图识别

    一.基本概念 IM 类意图识别,是指利用机器学习技术,针对用户短信或聊天类 APP 等 IM 应用的文本消息进行内容分析,并识别出消息内容代表的用户意图. 基于语义分析,利用机器学习的相关技术识别并理 ...

  2. HarmonyOS之AI能力·实体识别

    一.简介 实体识别能够从自然语言中提取出具有特定意义的实体,并在此基础上完成搜索等一系列相关操作及功能. 实体识别覆盖范围大,能够满足日常开发中对实体识别的需求,让应用体验更好.识别准确率高,能够准确 ...

  3. HarmonyOS之AI能力·通用文字识别技术

    一.通用文字识别技术 通用文字识别的核心技术是 OCR(Optical Character Recognition,光学字符识别). OCR 是一种通过拍照.扫描等光学输入方式,把各种票据.卡证.表格 ...

  4. HarmonyOS之AI能力·文档检测校正

    一.基本概念 文档校正提供了文档翻拍过程的辅助增强功能,包含两个子功能:文档检测和文档校验. 文档检测:能够自动识别图片中的文档,返回文档在原图中的位置信息.这里的文档泛指外形方正的事物,比如书本.相 ...

  5. HarmonyOS之AI能力·文字图像超分

    一.简介 文字图像超分辨率可以对包含文字内容的图像进行 9 倍放大(高宽各放大 3 倍),同时增强图像内文字的清晰度,称为"文字图像超分辨率",简称"文字图像超分&quo ...

  6. HarmonyOS之AI能力·图像超分辨率

    一.基本概念 针对图片分辨率不足的问题,传统的解决方案是使用双线性或双三次插值的方法来放大图像:而针对图片压缩噪声的问题,传统的解决方案则是通过各种算法实现平滑.去噪. 本 SDK 使用智能的方法,基 ...

  7. HarmonyOS之AI能力·语音识别技术

    一.基本概念 语音识别功能提供面向移动终端的语音识别能力.它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层 API.该技术可以将语音文件.实时语音 ...

  8. HarmonyOS之AI能力·语音播报

    一.概念 语音播报(Text to Speech,下文简称 TTS),基于华为智慧引擎(HUAWEI HiAI Engine)中的语音播报引擎,向开发者提供人工智能应用层 API.该技术提供将文本转换 ...

  9. HarmonyOS之AI能力·词性标注

    一.简介 随着信息技术的发展,网络中的信息量成几何级增长逐步成为当今社会的主要特征.准确提取文本关键信息,是搜索引擎等领域的技术基础,而分词作为文本信息提取的第一步则尤为重要. 分词作为自然语言处理领 ...

最新文章

  1. 线程的状态 Thread.State||NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED
  2. 节后收心困难?这15篇论文,让你迅速找回学习状态
  3. 关于javascript作用域
  4. linux显示fio为非法指令,FORTRAN运行错误消息列表中英对照.doc
  5. springmvc学习笔记--mybatis--使用插件自动生成实体和mapper
  6. python 打印xml文档树_[Python]xml.etree.ElementTree处理xml文档
  7. delete kubectl pod_使用kubectl管理k8s集群(三十)
  8. 7-9 找出最小值 (20 分)
  9. 基于CUDA的GPU优化建议
  10. 那些互联网IT岗位的招聘潜台词,能看到说明你是历经磨难的老司机
  11. 《编程之美》---求二叉树中节点的最大距离
  12. Activeperl安装教程
  13. 自然语言在公路交通各建设阶段运用
  14. 深度学习英语-迭代法(01)故事法,一个新的尝试
  15. 滴滴出行DIDI美国IPO上市路演PPT:Roadshow Presentation
  16. torch.nn.Embedding的函数
  17. 网页中视频在线播放脚本
  18. 算法设计——用分治法查找数组元素的最大值和最小值、用分治法实现合并排序、最小费用问题、树的最大连通分支问题(代码实现)
  19. 刘禹锡最经典诗文10首,每一首都是千古名作,读懂受益一生
  20. Deployer 部署项目

热门文章

  1. 20180925-4 单元测试 两人结对
  2. emqtt 试用(二)验证 emq 和 mosquito 的共享订阅
  3. 【读书笔记】基础博弈知识小结
  4. gVim 中文内容显示为乱码的解决办法
  5. css盒模型中子元素垂直方向上总高度与父元素height的关系
  6. jQuery-对Select的操作集合
  7. 错误信息 c语言实现_全国计算机等级考试二级C语言
  8. html页面取js里面的值,如何在javascript中获取HTML元素的样式值?
  9. c++ mysql 存储图片路径_3.用ADO实现图片在数据库中存储
  10. 共同好友推荐java_【开班典礼】初雪迎初见,白色浪漫中,他们选择从此与Java相伴!...