日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

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

發布時間:2024/5/21 ChatGpt 101 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HarmonyOS之AI能力·IM类意图识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基本概念

  • IM 類意圖識別,是指利用機器學習技術,針對用戶短信或聊天類 APP 等 IM 應用的文本消息進行內容分析,并識別出消息內容代表的用戶意圖。
  • 基于語義分析,利用機器學習的相關技術識別并理解用戶消息的意圖,通過IM意圖識別,可以衍生出各種智能的應用場景,使智能設備更聰明,更懂用戶。
  • 基于 IM 意圖識別接口,可以對文本消息中包含的用戶意圖進行自動分析識別。
  • 目前僅開放支持通知消息類的三個意圖的智能識別(稱為“意圖模塊”),包括:
    • 還款提醒通知
    • 還款成功通知
    • 未接來電通知
  • IM 類意圖識別當前只支持中文語境。
  • IM 類意圖識別的輸入文本限制在 500 個字符以內,字符數超出限制將返回參數錯誤,文本需要為 UTF-8 格式,格式錯誤不報錯,但會導致分析結果錯誤。
  • Engine 支持多用戶同時接入,但是不支持同一用戶并發調用同一個特性。
    • 如同一個特性被同一進程同一時間多次調用,則返回系統忙錯誤。
    • 不同進程調用同一特性,則同一時間只有一個進程業務在處理,其他進程進入隊列排隊。

二、應用場景

① 生成智能卡片
  • 應用于生成智能卡片,例如:生成未接來電通知卡片。當來電未被用戶接聽(呼叫超時未接通或被用戶主動拒絕接通),電信運營商或服務提供商會向用戶發送短信提醒。
  • 當用戶終端設備接收到短信提醒,即可由 IM 意圖識別特性分析出未接來電通知短信的意圖,并可以分析出呼叫方電話號碼及呼叫時間,生成智能卡片,方便用戶查看。
② 開發下拉 pad 屏
  • 應用于開發下拉 pad 屏。
  • 與生成智能卡片的場景類似,可識別用戶消息文本的意圖,在下拉 pad 屏生成并顯示重要的信息,方便用戶隨時查看。
③ 文本消息意圖識別
  • 主要針對用戶短信或聊天類文本消息進行意圖識別。
  • 目前僅開放支持了通知消息類的三個意圖,分別為:還款提醒通知、還款成功通知、未接來電通知。

三、API 接口說明

① 主要接口
  • IM 類意圖識別提供了初始化、同步、異步、解綁四個接口。
  • IM 類意圖識別接口描述如下:
接口名功能描述
void init(Context context, OnResultListener listener, boolean isLoadModel)初始化接口,傳入當前context對象和結果回調對象,決定是否在初始化時加載模型
ResponseResult getChatIntention(String requestData, int requestType)同步接口,用于IM類場景下的用戶意圖分析
ResponseResult getChatIntention(final String requestData, final int requestType, final OnResultListener listener)異步接口,用于IM類場景下的用戶意圖分析
void destroy(Context context)解綁接口,釋放當前上下文對象
② 接口輸入值說明
  • isLoadModel:是否在初始化時加載模型。
  • requestType:請求類型,取值可以從 ohos.ai.nlu.NluRequestType 選擇,目前只支持端側(REQUEST_TYPE_LOCAL)一種請求類型。
  • requestData 的 json 格式如下:
參數名是否必選類型說明
texttrueString待分析的文本,UTF-8編碼,不超過500個字符,超過300個字符的只分析通知類意圖
timestampfalselong該文本的發送時間或接收時間,格式為時間戳,表示距離格林威治時間1970.1.1的毫秒數。默認為當前系統時間
isSenderfalseint用來標示發送或接收,0表示接收,1表示發送
categoryfalseString需要分析的意圖類別,默認分析所有類,多個用半角逗號“,”隔開,如需要分析出行類和通知類,傳“notice”
modulefalseString用來指定具體分析哪些意圖模塊,默認分析全部意圖模塊。
如指定分析特定意圖模塊,則多個意圖模塊間用半角逗號“,”隔開。
例如同時分析還款提醒通知和還款成功通知意圖,傳“repayNotice,repayedNotice”
callPkgfalseString調用者名稱
callTypefalseint調用者類型:
0:普通應用(默認)
1:快應用
callVersionfalseString調用者版本號
callStatefalseint調用者狀態:
-1:未知(默認)
0:前臺
1:后臺
③ 接口返回值說明
  • 返回值 ResponseResult 中 responseResult 為 Json 字符串,體現文本分詞的結果:
鍵參數名說明是否必選值類型返回值解析
code結果碼TrueInt實體識別的結果碼。取值包括:
0:成功
1:系統正在初始化
2:參數錯誤
3:系統忙
4:系統異常
5:任務超時
6:其它錯誤
message錯誤信息TrueString錯誤信息描述
intentions意圖列表FalseJSONArray詳細意圖說明
④ 詳細意圖說明
  • 還款通知:表示還款通知的意圖分析時,“intentions”子參數描述見下表:
參數名是否必選類型說明
nametrueString意圖名,值為“repayNotice”
attributesfalseJSONArray意圖屬性,用數組表示,數組里的類型為JSONObject
+deadlinetrueJSONObject還款截止時間,結構與實體“time”一致
+moneyInfofalseJSONArray還款額信息,可能存在多幣種,以數組形式存在,數組里的類型為JSONObject
++amounttrueString還款總額
++miniAmountfalseString最低還款金額
++unittrueint單位,0(人民幣元)、1(美元)
+bankfalseString還款銀行
+cardSuffixfalseString銀行卡尾號
+bankCodefalseString銀行簡稱代碼
+phoneNumberfalseString客服電話
+cardTypetrueint卡類型,其取值列表如下:
0:信用卡
1:借記卡
+accountTypetrueint賬戶類型,其取值列表如下:
0:普通個人賬戶(默認)
1:車貸賬戶
  • 已還款通知:表示已經還款成功的通知,“intentions”子參數描述見下表:
參數名是否必選類型說明
nametrueString意圖名,值為“repayedNotice”
attributesfalseJSONArray意圖屬性,用數組表示,數組里的類型為JSONObject
+timefalseJSONObject還款的時間,結構與實體“time”一致
+moneyInfofalseJSONArray還款額信息,可能存在多幣種,以數組形式存在,數組里的類型為JSONObject
++amounttrueString已還款額
++unittrueint單位,0(人民幣元)、1(美元)
+bankfalseString還款銀行,與“銀行卡尾號”二者至少存在一個
+cardSuffixfalseString銀行卡尾號,與“還款銀行”二者至少存在一個
+bankCodefalseString銀行簡稱代碼(對照代碼表)
+isPayOfffalseint是否還清,只依據文本中出現的描述,“1”表示還清,否則無該字段
+arrearsfalseJSONArray還欠款信息,可能存在多幣種,以數組形式存在,數組里的類型為JSONObject
++amounttrueString還欠款額
++unittrueint單位,0(人民幣元)、1(美元)
+cardTypetrueint卡類型,其取值列表如下:
0:信用卡
1:借記卡
+accountTypetrueint賬戶類型,其取值列表如下:
0:普通個人賬戶(默認)
1:車貸賬戶
+deadlinefalseJSONObject截止時間,結構與實體“time”一致
  • 未接來電通知:表示未接來電的意圖,“intentions”子參數描述見下表:
參數名是否必選類型說明
attributestrueJSONArray意圖屬性,用數組表示,數組里的類型為JSONObject
+numbertrueString未接來電號碼
+callTimetrueJSONObject未接來電時間,結構與實體“time”一致
+namefalseString未接來電號碼所屬的人名

四、開發流程

  • 在使用 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>(){@Overridepublic void onResult(Integer result){// 初始化成功回調,在服務初始化成功調用該函數}}, true);
  • 確認 NluClient 靜態類進行初始化接口調用成功后,調用獲取 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> () {@Overridepublic void onResult(ResponseResult respResult) {// 異步返回if (respResult != null && respResult.getCode() == NluError.SUCCESS_RESULT) {// 獲取接口返回結果String result = respResult.getResponseResult();}}});
  • 解綁服務:
/* 功能使用完畢,銷毀上下文,釋放資源。 */NluClient.getInstance().destroy(context);

總結

以上是生活随笔為你收集整理的HarmonyOS之AI能力·IM类意图识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。