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