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);


相关文章
|
人工智能 安全 API
20 万奖金池就位!Higress AI 网关开发挑战赛参赛指南
本次赛事共设三大赛题方向,参赛者可以任选一个方向参赛。本文是对每个赛题方向的参赛指南。
804 85
|
人工智能 运维 安全
加速智能体开发:从 Serverless 运行时到 Serverless AI 运行时
在云计算与人工智能深度融合的背景下,Serverless 技术作为云原生架构的集大成者,正加速向 AI 原生架构演进。阿里云函数计算(FC)率先提出并实践“Serverless AI 运行时”概念,通过技术创新与生态联动,为智能体(Agent)开发提供高效、安全、低成本的基础设施支持。本文从技术演进路径、核心能力及未来展望三方面解析 Serverless AI 的突破性价值。
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
8946 133
|
人工智能 自然语言处理 前端开发
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
淘宝推荐信息流业务,常年被“需求多、技术栈杂、协作慢”困扰,需求上线周期动辄一周。WaterFlow——一套 AI 驱动的端到端开发新实践,让部分需求两天内上线,甚至产品经理也能“自产自销”需求。短短数月,已落地 30+ 需求、自动生成 5.4 万行代码,大幅提升研发效率。接下来,我们将揭秘它是如何落地并改变协作模式的。
1672 37
产品经理也能“开发”需求?淘宝信息流从需求到上线的AI端到端实践
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2665 98
|
人工智能 安全 中间件
阿里云 AI 中间件重磅发布,打通 AI 应用落地“最后一公里”
9 月 26 日,2025 云栖大会 AI 中间件:AI 时代的中间件技术演进与创新实践论坛上,阿里云智能集团资深技术专家林清山发表主题演讲《未来已来:下一代 AI 中间件重磅发布,解锁 AI 应用架构新范式》,重磅发布阿里云 AI 中间件,提供面向分布式多 Agent 架构的基座,包括:AgentScope-Java(兼容 Spring AI Alibaba 生态),AI MQ(基于Apache RocketMQ 的 AI 能力升级),AI 网关 Higress,AI 注册与配置中心 Nacos,以及覆盖模型与算力的 AI 可观测体系。
2032 93
|
12月前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
1116 30
|
设计模式 人工智能 自然语言处理
3个月圈粉百万,这个AI应用在海外火了
不知道大家还记不记得,我之前推荐过一个叫 Agnes 的 AI 应用,也是当时在 WAIC 了解到的。
1062 2
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
674 3

热门文章

最新文章