HarmonyOS之AI能力·IM类意图识别
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之AI能力·IM类意图识别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、基本概念
- IM 類意圖識(shí)別,是指利用機(jī)器學(xué)習(xí)技術(shù),針對(duì)用戶短信或聊天類 APP 等 IM 應(yīng)用的文本消息進(jìn)行內(nèi)容分析,并識(shí)別出消息內(nèi)容代表的用戶意圖。
- 基于語(yǔ)義分析,利用機(jī)器學(xué)習(xí)的相關(guān)技術(shù)識(shí)別并理解用戶消息的意圖,通過(guò)IM意圖識(shí)別,可以衍生出各種智能的應(yīng)用場(chǎng)景,使智能設(shè)備更聰明,更懂用戶。
- 基于 IM 意圖識(shí)別接口,可以對(duì)文本消息中包含的用戶意圖進(jìn)行自動(dòng)分析識(shí)別。
- 目前僅開(kāi)放支持通知消息類的三個(gè)意圖的智能識(shí)別(稱為“意圖模塊”),包括:
-
- 還款提醒通知
-
- 還款成功通知
-
- 未接來(lái)電通知
- IM 類意圖識(shí)別當(dāng)前只支持中文語(yǔ)境。
- IM 類意圖識(shí)別的輸入文本限制在 500 個(gè)字符以內(nèi),字符數(shù)超出限制將返回參數(shù)錯(cuò)誤,文本需要為 UTF-8 格式,格式錯(cuò)誤不報(bào)錯(cuò),但會(huì)導(dǎo)致分析結(jié)果錯(cuò)誤。
- Engine 支持多用戶同時(shí)接入,但是不支持同一用戶并發(fā)調(diào)用同一個(gè)特性。
-
- 如同一個(gè)特性被同一進(jìn)程同一時(shí)間多次調(diào)用,則返回系統(tǒng)忙錯(cuò)誤。
-
- 不同進(jìn)程調(diào)用同一特性,則同一時(shí)間只有一個(gè)進(jìn)程業(yè)務(wù)在處理,其他進(jìn)程進(jìn)入隊(duì)列排隊(duì)。
二、應(yīng)用場(chǎng)景
① 生成智能卡片
- 應(yīng)用于生成智能卡片,例如:生成未接來(lái)電通知卡片。當(dāng)來(lái)電未被用戶接聽(tīng)(呼叫超時(shí)未接通或被用戶主動(dòng)拒絕接通),電信運(yùn)營(yíng)商或服務(wù)提供商會(huì)向用戶發(fā)送短信提醒。
- 當(dāng)用戶終端設(shè)備接收到短信提醒,即可由 IM 意圖識(shí)別特性分析出未接來(lái)電通知短信的意圖,并可以分析出呼叫方電話號(hào)碼及呼叫時(shí)間,生成智能卡片,方便用戶查看。
② 開(kāi)發(fā)下拉 pad 屏
- 應(yīng)用于開(kāi)發(fā)下拉 pad 屏。
- 與生成智能卡片的場(chǎng)景類似,可識(shí)別用戶消息文本的意圖,在下拉 pad 屏生成并顯示重要的信息,方便用戶隨時(shí)查看。
③ 文本消息意圖識(shí)別
- 主要針對(duì)用戶短信或聊天類文本消息進(jìn)行意圖識(shí)別。
- 目前僅開(kāi)放支持了通知消息類的三個(gè)意圖,分別為:還款提醒通知、還款成功通知、未接來(lái)電通知。
三、API 接口說(shuō)明
① 主要接口
- IM 類意圖識(shí)別提供了初始化、同步、異步、解綁四個(gè)接口。
- IM 類意圖識(shí)別接口描述如下:
| void init(Context context, OnResultListener listener, boolean isLoadModel) | 初始化接口,傳入當(dāng)前context對(duì)象和結(jié)果回調(diào)對(duì)象,決定是否在初始化時(shí)加載模型 |
| ResponseResult getChatIntention(String requestData, int requestType) | 同步接口,用于IM類場(chǎng)景下的用戶意圖分析 |
| ResponseResult getChatIntention(final String requestData, final int requestType, final OnResultListener listener) | 異步接口,用于IM類場(chǎng)景下的用戶意圖分析 |
| void destroy(Context context) | 解綁接口,釋放當(dāng)前上下文對(duì)象 |
② 接口輸入值說(shuō)明
- isLoadModel:是否在初始化時(shí)加載模型。
- requestType:請(qǐng)求類型,取值可以從 ohos.ai.nlu.NluRequestType 選擇,目前只支持端側(cè)(REQUEST_TYPE_LOCAL)一種請(qǐng)求類型。
- requestData 的 json 格式如下:
| text | true | String | 待分析的文本,UTF-8編碼,不超過(guò)500個(gè)字符,超過(guò)300個(gè)字符的只分析通知類意圖 |
| timestamp | false | long | 該文本的發(fā)送時(shí)間或接收時(shí)間,格式為時(shí)間戳,表示距離格林威治時(shí)間1970.1.1的毫秒數(shù)。默認(rèn)為當(dāng)前系統(tǒng)時(shí)間 |
| isSender | false | int | 用來(lái)標(biāo)示發(fā)送或接收,0表示接收,1表示發(fā)送 |
| category | false | String | 需要分析的意圖類別,默認(rèn)分析所有類,多個(gè)用半角逗號(hào)“,”隔開(kāi),如需要分析出行類和通知類,傳“notice” |
| module | false | String | 用來(lái)指定具體分析哪些意圖模塊,默認(rèn)分析全部意圖模塊。 如指定分析特定意圖模塊,則多個(gè)意圖模塊間用半角逗號(hào)“,”隔開(kāi)。 例如同時(shí)分析還款提醒通知和還款成功通知意圖,傳“repayNotice,repayedNotice” |
| callPkg | false | String | 調(diào)用者名稱 |
| callType | false | int | 調(diào)用者類型: 0:普通應(yīng)用(默認(rèn)) 1:快應(yīng)用 |
| callVersion | false | String | 調(diào)用者版本號(hào) |
| callState | false | int | 調(diào)用者狀態(tài): -1:未知(默認(rèn)) 0:前臺(tái) 1:后臺(tái) |
③ 接口返回值說(shuō)明
- 返回值 ResponseResult 中 responseResult 為 Json 字符串,體現(xiàn)文本分詞的結(jié)果:
| code | 結(jié)果碼 | True | Int | 實(shí)體識(shí)別的結(jié)果碼。取值包括: 0:成功 1:系統(tǒng)正在初始化 2:參數(shù)錯(cuò)誤 3:系統(tǒng)忙 4:系統(tǒng)異常 5:任務(wù)超時(shí) 6:其它錯(cuò)誤 |
| message | 錯(cuò)誤信息 | True | String | 錯(cuò)誤信息描述 |
| intentions | 意圖列表 | False | JSONArray | 詳細(xì)意圖說(shuō)明 |
④ 詳細(xì)意圖說(shuō)明
- 還款通知:表示還款通知的意圖分析時(shí),“intentions”子參數(shù)描述見(jiàn)下表:
| name | true | String | 意圖名,值為“repayNotice” |
| attributes | false | JSONArray | 意圖屬性,用數(shù)組表示,數(shù)組里的類型為JSONObject |
| +deadline | true | JSONObject | 還款截止時(shí)間,結(jié)構(gòu)與實(shí)體“time”一致 |
| +moneyInfo | false | JSONArray | 還款額信息,可能存在多幣種,以數(shù)組形式存在,數(shù)組里的類型為JSONObject |
| ++amount | true | String | 還款總額 |
| ++miniAmount | false | String | 最低還款金額 |
| ++unit | true | int | 單位,0(人民幣元)、1(美元) |
| +bank | false | String | 還款銀行 |
| +cardSuffix | false | String | 銀行卡尾號(hào) |
| +bankCode | false | String | 銀行簡(jiǎn)稱代碼 |
| +phoneNumber | false | String | 客服電話 |
| +cardType | true | int | 卡類型,其取值列表如下: 0:信用卡 1:借記卡 |
| +accountType | true | int | 賬戶類型,其取值列表如下: 0:普通個(gè)人賬戶(默認(rèn)) 1:車貸賬戶 |
- 已還款通知:表示已經(jīng)還款成功的通知,“intentions”子參數(shù)描述見(jiàn)下表:
| name | true | String | 意圖名,值為“repayedNotice” |
| attributes | false | JSONArray | 意圖屬性,用數(shù)組表示,數(shù)組里的類型為JSONObject |
| +time | false | JSONObject | 還款的時(shí)間,結(jié)構(gòu)與實(shí)體“time”一致 |
| +moneyInfo | false | JSONArray | 還款額信息,可能存在多幣種,以數(shù)組形式存在,數(shù)組里的類型為JSONObject |
| ++amount | true | String | 已還款額 |
| ++unit | true | int | 單位,0(人民幣元)、1(美元) |
| +bank | false | String | 還款銀行,與“銀行卡尾號(hào)”二者至少存在一個(gè) |
| +cardSuffix | false | String | 銀行卡尾號(hào),與“還款銀行”二者至少存在一個(gè) |
| +bankCode | false | String | 銀行簡(jiǎn)稱代碼(對(duì)照代碼表) |
| +isPayOff | false | int | 是否還清,只依據(jù)文本中出現(xiàn)的描述,“1”表示還清,否則無(wú)該字段 |
| +arrears | false | JSONArray | 還欠款信息,可能存在多幣種,以數(shù)組形式存在,數(shù)組里的類型為JSONObject |
| ++amount | true | String | 還欠款額 |
| ++unit | true | int | 單位,0(人民幣元)、1(美元) |
| +cardType | true | int | 卡類型,其取值列表如下: 0:信用卡 1:借記卡 |
| +accountType | true | int | 賬戶類型,其取值列表如下: 0:普通個(gè)人賬戶(默認(rèn)) 1:車貸賬戶 |
| +deadline | false | JSONObject | 截止時(shí)間,結(jié)構(gòu)與實(shí)體“time”一致 |
- 未接來(lái)電通知:表示未接來(lái)電的意圖,“intentions”子參數(shù)描述見(jiàn)下表:
| attributes | true | JSONArray | 意圖屬性,用數(shù)組表示,數(shù)組里的類型為JSONObject |
| +number | true | String | 未接來(lái)電號(hào)碼 |
| +callTime | true | JSONObject | 未接來(lái)電時(shí)間,結(jié)構(gòu)與實(shí)體“time”一致 |
| +name | false | String | 未接來(lái)電號(hào)碼所屬的人名 |
四、開(kāi)發(fā)流程
- 在使用 IM 類意圖識(shí)別 API 時(shí),將實(shí)現(xiàn) IM 類意圖識(shí)別的相關(guān)的類添加至工程:
- 使用 NluClient 靜態(tài)類進(jìn)行初始化,通過(guò)異步方式獲取服務(wù)的連接。
-
- context:應(yīng)用上下文信息,應(yīng)為 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的實(shí)例或子類實(shí)例。
-
- listener:初始化結(jié)果的回調(diào),可以傳 null。
-
- isLoadModel:是否加載模型,如果傳 true,則在初始化時(shí)加載模型;如果傳 false,則在初始化時(shí)不加載模型。
- 確認(rèn) NluClient 靜態(tài)類進(jìn)行初始化接口調(diào)用成功后,調(diào)用獲取 IM 類意圖識(shí)別方法得到分析結(jié)果,調(diào)用實(shí)例。同一個(gè)接口同時(shí)提供了同步和異步兩種方法,開(kāi)發(fā)者可根據(jù)自己需要進(jìn)行選擇,還款通知中的時(shí)間不應(yīng)早于當(dāng)前時(shí)間。
-
- 同步接口:
-
- 異步接口:
- 解綁服務(wù):
總結(jié)
以上是生活随笔為你收集整理的HarmonyOS之AI能力·IM类意图识别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HarmonyOS之AI能力·分词
- 下一篇: HarmonyOS之AI能力·词性标注