HarmonyOS学习路之开发篇—AI功能开发(助手类意图识别)

简介: 随着人机交互越来越普遍,设备需要理解用户下达的各种指令,方便用户的操作。助手类意图识别能够利用机器学习技术,对用户发送给设备的文本消息进行语义分析和意图识别,进而衍生出各种智能的应用场景,使设备更智慧、更智能。

助手类意图识别概述

随着人机交互越来越普遍,设备需要理解用户下达的各种指令,方便用户的操作。助手类意图识别能够利用机器学习技术,对用户发送给设备的文本消息进行语义分析和意图识别,进而衍生出各种智能的应用场景,使设备更智慧、更智能。


约束与限制

当前只支持中文语境。

助手类意图识别文本限制在50个字符以内,超过字数将返回参数错误。文本要求UTF-8格式,如果格式错误不会引发报错,但将导致分析结果不正确。

Engine支持多用户同时接入,但是不支持同一用户并发调用同一特性。若同一特性被同一进程同一时间多次调用,则返回系统忙错误;不同进程调用同一特性,则同一时间只能处理一个进程业务,其他进程进入队列排队。

助手类意图识别开发

场景介绍

可以应用于语音助手,通过智能对话与即时问答的智能交互,帮助用户快速解决问题。比如,在驾驶时无法腾出双手来使用手机,但可以通过语音助手交互来操控手机,完成机票订购等操作。

在家庭设备上可以做到声控设备的各种操作,比如家庭智能设备的打开和关闭等。

接口说明

助手类意图识别提供了一个函数接口getAssistantIntention(),该接口主要针对助手场景下的意图识别,分析用户的意图。


主要接口

image.png


接口输入值说明


requestType表示请求类型,通过NluRequestType类定义了以下请求类型:

image.png


requestData表示输入的文本信息,为JSON格式,如下:


image.png



表1 category与module取值说明

image.png

接口返回值说明

返回值为JSONObject字符串:

image.png


开发步骤

在使用助手类意图识别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>(){
        @Override
        public 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>() {
                @Override
                public void onResult(ResponseResult result) {
                    // 异步返回结果处理
                }
            });

解绑服务


/** release resource*/
NluClient.getInstance().destroy(context);


相关文章
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
突破AI大模型工业化开发,生成式AI迎来全链条服务商
突破AI大模型工业化开发,生成式AI迎来全链条服务商
突破AI大模型工业化开发,生成式AI迎来全链条服务商
|
4天前
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
5天前
|
机器学习/深度学习 人工智能 搜索推荐
AI低代码平台:创新开发新选择
Zoho Creator、Airtable、Appian、Creatio Atlas及织信等低代码平台,通过集成AI功能如预测分析、情感分析、自动化文案创作等,显著提升了开发效率与智能化水平。例如,Zoho Creator利用AI预测客户需求并分析情绪;Airtable借助OpenAI模型自动生成代码与文案;Appian通过AI技能自动处理文档与邮件;Creatio Atlas运用AI优化决策流程并提供个性化推荐;织信则集成ChatGPT与Stable Diffusion,实现智能开发与图像生成。这些平台不仅支持多种业务场景,还简化了应用程序开发流程。
20 5
|
7天前
|
机器学习/深度学习 人工智能 Linux
【机器学习】Dify:AI智能体开发平台版本升级
【机器学习】Dify:AI智能体开发平台版本升级
37 0
|
12月前
|
IDE JavaScript API
HarmonyOS开发第一步,熟知开发工具DevEco Studio
本文主要以常见的功能点作为概述希望可以帮助到学习HarmonyOS的开发者。
370 0
|
21天前
|
存储 开发框架 安全
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
HarmonyOS NEXT星河版的应用开发标志着华为分布式操作系统的全新篇章,它聚焦于打造原生精致、易用、流畅、安全、智能和互联的极致体验。开发者可以利用其先进的API和工具集,如DevEco Studio,构建高性能、跨设备无缝协同的应用程序,从而充分利用HarmonyOS的分布式能力,为用户带来一致且丰富的多场景数字生活体验。随着“学习强国”、岚图汽车、中国电信等知名企业和应用的加入,鸿蒙生态正迅速扩展,引领着原生应用开发的新趋势。
39 3
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
|
1月前
|
人工智能 搜索推荐 数据可视化
鸿蒙应用实践:利用扣子API开发起床文案生成器
本文将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。
53 0
|
3月前
|
JavaScript API
鸿蒙开发接口UI界面:【@ohos.mediaquery (媒体查询)】
鸿蒙开发接口UI界面:【@ohos.mediaquery (媒体查询)】
48 1
|
12月前
|
开发框架
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 四)
被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。
|
人工智能 JSON API
HarmonyOS学习路之开发篇—AI功能开发(语音识别)
语音识别功能提供面向移动终端的语音识别能力。它基于华为智慧引擎(HUAWEI HiAI Engine)中的语音识别引擎,向开发者提供人工智能应用层API。该技术可以将语音文件、实时语音数据流转换为汉字序列,准确率达到90%以上(本地识别95%)。

热门文章

最新文章