HarmonyOS之AI能力·关键字提取
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之AI能力·关键字提取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概念
- 在日常生活中充滿了各種各樣的信息,這些信息千變萬化。文本語言作為信息傳遞的一種載體,同樣面臨有用信息和無用信息糅雜在一起的問題。關鍵字提取幫助用戶在眾多文本信息中快速提取出關鍵信息和核心內容,節省時間提高效率。
- 關鍵字提取 API 提供了一個提取關鍵字的接口,通過該 API 可以在大量信息中提取出文本想要表達的核心內容,可以是具有特定意義的實體,如:人名,地點,電影等,也可以是一些基礎但是在文本中很關鍵的詞匯。
- 通過該 API 可以對提取的關鍵字按照在文本中所占權重由高到低排序。排序越靠前,權重越高,對文本的核心內容提取的越準確。
二、約束與限制
- 當前只支持中文語境。
- 關鍵字提取標題文本限制在 100 個字符以內,正文文本限制在 5000 個字符以內,關鍵詞提取個數小于等于20。文本為 UTF-8 格式,格式錯誤不會報錯,但分析結果會不正確。
- Engine 支持多用戶同時接入,但是不支持同一用戶并發調用同一個特性。如同一個特性被同一進程同一時間多次調用,則返回系統忙錯誤;不同進程調用同一特性,則同一時間只有一個進程業務在處理,其他進程進入隊列排隊。
三、應用場景
- 游記摘要:本 API 可以從用戶編輯的游記長文本中提取出能反應出其核心思想的關鍵詞匯,關鍵詞按關鍵到相對非關鍵的權重順序輸出,幫助用戶快速從長文本中提取出關鍵信息,快速給游記文章關鍵信息選擇對應的標簽上傳。
- 新聞標簽:用戶在瀏覽文章時,對感興趣的想做收藏,可以使用本 API,提取出關鍵信息,生成對應的標簽,可供用戶下次想繼續瀏覽收藏的文章時,不用打開文章,便可通過生成的標簽快速了解到文章的核心內容。
四、API 說明
① 關鍵詞提取接口
- 可用于從新聞和郵件里,提取出關鍵字后便于用戶快速獲取新聞和郵件的主題。關鍵字可以為有意義的實體,比如,人名,電影,也可以非實體的關鍵詞匯,如,上課、考研。
- 關鍵詞提取主要接口:
| ResponseResult getKeywords(String requestData, int requestType); | 同步接口,可用于從新聞和郵件里,提取出關鍵字后便于用戶快速獲取新聞和郵件的主題 |
| ResponseResult getKeywords(final String requestData, final int requestType, final OnResultListener listener); | 異步接口,可用于從新聞和郵件里,提取出關鍵字后便于用戶快速獲取新聞和郵件的主題 |
| void init(Context context, OnResultListener listener, boolean isLoadModel); | 綁定NLU服務必須調用初始化服務,使用多個nlu服務接口時,只需要調用一次,異步接口 |
| void destroy(Context context); | 解綁服務,初始化過就在銷毀時需要解綁,讓資源及時釋放 |
② 接口輸入值說明
- requestData 的 json 格式如下:
| title | false | String | 文章的標題,字符數不超過100 |
| body | true | String | 文章的正文,字符數不超過5000 |
| number | true | int | 需抽取的關鍵字個數,數值在1到20之間 |
| callPkg | false | String | 調用者名稱 |
| callType | false | int | 調用者類型: 0:普通應用(默認) 1:快應用 |
| callVersion callState | false false | String int | 調用者版本號。 調用者狀態: -1:未知(默認) 0:前臺 1:后臺 |
- requestType 表示請求類型,取值可以從 ohos.ai.nlu.NluRequestType 選擇:
| static final int | REQUEST_TYPE_LOCAL=0,本地請求 |
③ 接口返回值說明
- ResponseResult 中 responseResult 為 Json 字符串,體現關鍵字提取的結果:
| code | true | int | 結果碼。取值為: 0:成功 1:系統正在初始化 2:參數錯誤 3:系統忙 4:系統異常 5:任務超時 6:其它錯誤 |
| message | true | String | 錯誤信息 |
| keywords | true | JSONArray | 關鍵字列表,按照權重的順序返回 |
- 參考示例如下:
五、開發流程
- 在使用關鍵字提取 API 時,將實現關鍵字提取的相關的類添加至工程:
- 使用 NluClient 靜態類進行初始化,通過異步方式獲取服務的連接:
- context:應用上下文信息,應為 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的實例或子類實例。
- listener:初始化結果的回調,可以傳 null。
- isLoadModel:是否加載模型,如果傳 true,則在初始化時加載模型;如果傳 false,則在初始化時不加載模型。
- 調用獲取關鍵詞提取方法得到分析結果,同一個接口提供了同步和異步兩個方法,開發者可根據自己需要選擇。
-
- 同步:title 為可選參數 ,不填的時候只分析正文 body:
-
- 異步:
- 使用結束調用 destroy() 方法釋放進程資源,如果持續使用建議在進程結束時釋放,釋放后需要重復“NluClient 靜態類進行初始化”才能再次使用。
總結
以上是生活随笔為你收集整理的HarmonyOS之AI能力·关键字提取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HarmonyOS之AI能力·图像超分辨
- 下一篇: HarmonyOS之AI能力·实体识别