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

简介: IM类意图识别,是指利用机器学习技术,针对用户短信或聊天类APP等IM应用的文本消息进行内容分析,并识别出消息内容代表的用户意图。

IM类意图识别概述

基本概念

IM类意图识别,是指利用机器学习技术,针对用户短信或聊天类APP等IM应用的文本消息进行内容分析,并识别出消息内容代表的用户意图。


运作机制

基于语义分析,利用机器学习的相关技术识别并理解用户消息的意图,通过IM意图识别,可以衍生出各种智能的应用场景,使智能设备更聪明,更懂用户。


基于IM意图识别接口,可以对文本消息中包含的用户意图进行自动分析识别。


目前仅开放支持通知消息类的三个意图的智能识别(称为“意图模块”),包括:


还款提醒通知

还款成功通知

未接来电通知

约束与限制

当前只支持中文语境。

目前仅支持以下三个意图的智能识别:还款提醒通知、还款成功通知、未接来电通知。


IM类意图识别的输入文本限制在500个字符以内,字符数超出限制将返回参数错误,文本需要为UTF-8格式,格式错误不报错,但会导致分析结果错误。


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


IM类意图识别开发

场景介绍

生成智能卡片

应用于生成智能卡片,例如:生成未接来电通知卡片。当来电未被用户接听(呼叫超时未接通或被用户主动拒绝接通),电信运营商或服务提供商会向用户发送短信提醒。当用户终端设备接收到短信提醒,即可由IM意图识别特性分析出未接来电通知短信的意图,并可以分析出呼叫方电话号码及呼叫时间,生成智能卡片,方便用户查看。


开发下拉pad屏

应用于开发下拉pad屏。与生成智能卡片的场景类似,可识别用户消息文本的意图,在下拉pad屏生成并显示重要的信息,方便用户随时查看。


文本消息意图识别

主要针对用户短信或聊天类文本消息进行意图识别,目前仅开放支持了通知消息类的三个意图,分别为:还款提醒通知、还款成功通知、未接来电通知。


接口说明

主要接口


IM类意图识别提供了初始化、同步、异步、解绑四个接口,如表1所示。


表1 接口描述


image.png

image.png

接口输入值说明

  • isLoadModel:是否在初始化时加载模型。
  • requestType:请求类型,取值可以从ohos.ai.nlu.NluRequestType选择。目前只支持端侧(REQUEST_TYPE_LOCAL)一种请求类型。
  • requestData的JSON格式如下:
  • image.png
  • 接口返回值说明

返回值ResponseResult中responseResult为JSON字符串,体现文本分词的结果:

image.png

详细意图说明

  • 还款通知表示还款通知的意图分析时,“intentions”子参数描述见下表:
  • 表2 意图详情
  • image.png
  • 已还款通知

表示已经还款成功的通知,“intentions”子参数描述见下表:

  • image.png
  • 未接来电通知

表示未接来电的意图,“intentions”子参数描述见下表:

image.png

开发步骤

在使用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<Integer>(){
        @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 <ResponseResult> () {
    @Override
    public void onResult(ResponseResult respResult) {
        // 异步返回
        if (respResult != null && respResult.getCode() == NluError.SUCCESS_RESULT) {
            // 获取接口返回结果
            String result = respResult.getResponseResult();
        }
    }
});

解绑服务。

/* 功能使用完毕,销毁上下文,释放资源。 */
NluClient.getInstance().destroy(context);


相关文章
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
136 92
AI-ClothingTryOn:服装店老板连夜下架试衣间!基于Gemini开发的AI试衣应用,一键生成10种穿搭效果
AI-ClothingTryOn是基于Google Gemini技术的虚拟试衣应用,支持人物与服装照片智能合成,可生成多达10种试穿效果版本,并提供自定义提示词优化功能。
45 17
AI-ClothingTryOn:服装店老板连夜下架试衣间!基于Gemini开发的AI试衣应用,一键生成10种穿搭效果
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
【一步步开发AI运动APP】一、写在最前
本文介绍新系列【一步步开发AI运动APP】,旨在帮助开发者突破小程序限制,打造性能更强、体验更佳的AI运动APP。相比小程序,APP可充分利用CPU/GPU算力,实现高精度人体检测、多人检测等复杂功能。本系列基于跨平台框架`uni`及扩展插件`uni AI运动识别插件`,适合有小程序开发经验的开发者。内容涵盖抽帧、人体识别、运动分析、姿态交互等,逐步进阶实现完整AI运动APP,并支持多手机平台发布。
36.7K star!拖拽构建AI流程,这个开源LLM应用框架绝了!
`Flowise` 是一款革命性的低代码LLM应用构建工具,开发者通过可视化拖拽界面,就能快速搭建基于大语言模型的智能工作流。该项目在GitHub上线不到1年就斩获**36.7K星标**,被开发者誉为"AI时代的乐高积木"。
AI职场突围战:夸克应用+生成式人工智能认证,驱动“打工人”核心竞争力!
在AI浪潮推动下,生成式人工智能(GAI)成为职场必备工具。文中对比了夸克、豆包、DeepSeek和元宝四大AI应用,夸克以“超级入口”定位脱颖而出。同时,GAI认证为职场人士提供系统学习平台,与夸克结合助力职业发展。文章还探讨了职场人士如何通过加强学习、关注技术趋势及培养合规意识,在AI时代把握机遇。
多模态AI核心技术:CLIP与SigLIP技术原理与应用进展
近年来,多模态表示学习在人工智能领域取得显著进展,CLIP和SigLIP成为里程碑式模型。CLIP由OpenAI提出,通过对比学习对齐图像与文本嵌入空间,具备强大零样本学习能力;SigLIP由Google开发,采用sigmoid损失函数优化训练效率与可扩展性。两者推动了多模态大型语言模型(MLLMs)的发展,如LLaVA、BLIP-2和Flamingo等,实现了视觉问答、图像描述生成等复杂任务。这些模型不仅拓展了理论边界,还为医疗、教育等领域释放技术潜力,标志着多模态智能系统的重要进步。
57 13
多模态AI核心技术:CLIP与SigLIP技术原理与应用进展
从零开始即刻拥有 DeepSeek-R1 满血版并使用 Dify 部署 AI 应用
本文介绍了如何使用阿里云提供的DeepSeek-R1大模型解决方案,通过Chatbox和Dify平台调用百炼API,实现稳定且高效的模型应用。首先,文章详细描述了如何通过Chatbox配置API并开始对话,适合普通用户快速上手。接着,深入探讨了使用Dify部署AI应用的过程,包括选购云服务器、安装Dify、配置对接DeepSeek-R1模型及创建工作流,展示了更复杂场景下的应用潜力。最后,对比了Chatbox与Dify的输出效果,证明Dify能提供更详尽、精准的回复。总结指出,阿里云的解决方案不仅操作简便,还为专业用户提供了强大的功能支持,极大提升了用户体验和应用效率。
1221 19
从零开始即刻拥有 DeepSeek-R1 满血版并使用 Dify 部署 AI 应用
帮你整理好了,AI 网关的 8 个常见应用场景
通过 SLS 还可以汇总 Actiontrail 事件、云产品可观测日志、LLM 网关明细日志、详细对话明细日志、Prompt Trace 和推理实时调用明细等数据汇总,从而建设完整统一的可观测方案。
【AI落地应用实战】大模型加速器2.0:基于 ChatDoc + TextIn ParseX+ACGE的RAG知识库问答系统
本文探讨了私有知识库问答系统的难点及解决方案,重点分析了企业知识管理中的痛点,如信息孤岛、知识传承依赖个人经验等问题。同时,介绍了IntFinQ这款知识管理工具的核心特点和实践体验,包括智能问答、深度概括与多维数据分析等功能。文章还详细描述了IntFinQ的本地化部署过程,展示了其从文档解析到知识应用的完整技术闭环,特别是自研TextIn ParseX引擎和ACGE模型的优势。最后总结了该工具对企业和开发者的价值,强调其在提升知识管理效率方面的潜力。