HarmonyOS之AI能力·分词
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之AI能力·分词
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、基本概念
- 隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)中的信息量成幾何級(jí)增長(zhǎng)逐步成為當(dāng)今社會(huì)的主要特征。準(zhǔn)確提取文本關(guān)鍵信息,是搜索引擎等領(lǐng)域的技術(shù)基礎(chǔ),而分詞作為文本信息提取的第一步則尤為重要。
- 分詞作為自然語(yǔ)言處理領(lǐng)域的基礎(chǔ)研究,衍生出各類(lèi)不同的文本處理相關(guān)應(yīng)用。
- 分詞模塊提供了文本自動(dòng)分詞的接口,對(duì)于一段輸入文本,可以自動(dòng)進(jìn)行分詞,同時(shí)提供不同的分詞粒度。開(kāi)發(fā)者可以根據(jù)需要自定義分詞粒度。
- 分詞當(dāng)前只支持中文語(yǔ)境。
- 分詞文本限制在 500 個(gè)字符以?xún)?nèi),超過(guò)字符數(shù)限制將返回參數(shù)錯(cuò)誤。文本需要為 UTF-8 格式,格式錯(cuò)誤不會(huì)報(bào)錯(cuò),但分析結(jié)果會(huì)不準(zhǔn)確。
- Engine 支持多用戶(hù)同時(shí)接入,但是不支持同一用戶(hù)并發(fā)調(diào)用同一特性。若同一個(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)景
- 分詞相關(guān)接口可以應(yīng)用于搜索引擎開(kāi)發(fā)。對(duì)于搜索引擎而言,最重要的是如何把全網(wǎng)搜索的結(jié)果進(jìn)行篩選,并按相關(guān)程度進(jìn)行排序。分詞的準(zhǔn)確與否,常常直接影響到搜索結(jié)果的相關(guān)度排序。
- 分詞相關(guān)接口可以應(yīng)用于用戶(hù)選擇文本的場(chǎng)景。原始文本只能按字選擇,如果使用分詞,用戶(hù)選中文本的時(shí)可以按詞選擇。
三、API 說(shuō)明
- 分詞 API 的主要功能是將一個(gè)漢字序列切分成一個(gè)一個(gè)單獨(dú)的詞,可自定義分詞的粒度。
① 主要接口
| ResponseResult getWordSegment(String requestData, int requestType) | 分詞,同步接口 |
| ResponseResult getWordSegment(final String requestData, final int requestType, final OnResultListener listener) | 分詞,異步接口 |
| init(Context context, OnResultListener listener, boolean isLoadModel) | 初始化NLU服務(wù)。在調(diào)用NLU等功能接口前需要先調(diào)用此接口,在OnResultListener的onResult(T)方法中獲取到回調(diào)結(jié)果后,再調(diào)用NLU功能接口。開(kāi)發(fā)者傳入listener參數(shù)作為回調(diào),用于等待NLU功能接口的調(diào)用過(guò)程和結(jié)果 |
| void destroy(Context context) | 取消所有NLU任務(wù),銷(xiāo)毀NLU引擎服務(wù)。調(diào)用此方法后,無(wú)法再使用NLU服務(wù)。如果需要重新使用NLU服務(wù),需要重新調(diào)用init(Context, OnResultListener, boolean)}來(lái)初始化NLU服務(wù) |
② 接口輸入值說(shuō)明
- requestType 表示請(qǐng)求類(lèi)型,通過(guò) NluRequestType 類(lèi)定義如下:
| static int | REQUEST_TYPE_LOCAL = 0,本地請(qǐng)求 |
- requestData 表示輸入的文本信息,為 json 格式,如下:
| text | 是 | String | 待分析的文本,utf-8,文本長(zhǎng)度不超過(guò)500個(gè)字符 |
| type | 否 | long | 分詞的粒度,默認(rèn)為0。取值包括: 0:基本詞,粒度較小。如“我要看速度與激情”,分成“我/要/看/速度/與/激情”。 1:在基本詞的基礎(chǔ)上,做實(shí)體合并。例如:“我要去江寧萬(wàn)達(dá)廣場(chǎng)看速度與激情”,分成“我/要/去/江寧萬(wàn)達(dá)廣場(chǎng)/看/速度/與/激情”。 對(duì)于沒(méi)有可合并實(shí)體的文本信息,其分詞效果與type為0的分詞效果相同。例如:“明天下午3點(diǎn)一起看電影”,分成“明天/下午/3點(diǎn)/一起/看/電影”。 9223372036854775807(2的63次方減1):在type為1的基礎(chǔ)上,把實(shí)體時(shí)間、地點(diǎn)等整體結(jié)構(gòu)合并,出現(xiàn)符號(hào)隔開(kāi)不合并,并把一些常用短語(yǔ)合并。如“形容詞+的”,“單字動(dòng)詞+單字名詞”等,簡(jiǎn)化句子成分。 例如“明天下午三點(diǎn)到五點(diǎn)我在江寧瑞都金逸影城看電影”,分成“明天下午三點(diǎn)/到/五點(diǎn)/我/在/江寧瑞都金逸影城/看/電影”。 |
| callPkg | 否 | String | 調(diào)用者名稱(chēng) |
| callType | 否 | int | 調(diào)用者類(lèi)型: 0:普通應(yīng)用(默認(rèn)) 1:快應(yīng)用 |
| callVersion | 否 | String | |
| callState | 否 | int | 調(diào)用者狀態(tài): -1:未知(默認(rèn)) 0:前臺(tái) 1:后臺(tái) |
- 目前 NLU 支持的實(shí)體類(lèi)別:
| 電影 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 電視劇 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 綜藝 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 動(dòng)漫 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 火車(chē)車(chē)次 | 要求真實(shí)用例,勿做修改 |
| 航班號(hào) | 要求真實(shí)用例,勿做修改 |
| 球隊(duì) | 依賴(lài)字典,支持NBA、CBA、英超、西甲、德甲、意甲、法甲、中超的球隊(duì)識(shí)別,要求真實(shí)用例,勿做修改 |
| 人名 | 要求真實(shí)用例,勿做修改 |
| 快遞單號(hào) | 要求真實(shí)用例,勿做修改 |
| 電話(huà)號(hào)碼 | 要求真實(shí)用例,勿做修改 |
| url | 要求真實(shí)用例,勿做修改 |
| 郵箱 | 要求真實(shí)用例,勿做修改 |
| 聯(lián)賽 | NBA、CBA、英超、西甲、德甲、意甲、法甲、中超,要求真實(shí)用例,勿做修改 |
| 時(shí)間 | 要求真實(shí)用例,勿做修改 |
| 地點(diǎn) | 包含酒店、餐館、景點(diǎn)、學(xué)校、道路、省、市、縣、區(qū)、鎮(zhèn)等,部分依賴(lài)字典 |
| 驗(yàn)證碼 | 用例真實(shí),勿做修改 |
③ 接口返回值說(shuō)明
- 返回值 ResponseResult 中 responseResult 為 Json 字符串,體現(xiàn)分詞的結(jié)果:
| code | 是 | int | 結(jié)果碼。取值包括: 0:成功 1:系統(tǒng)正在初始化 2:參數(shù)錯(cuò)誤 3:系統(tǒng)忙 4:系統(tǒng)異常 5:任務(wù)超時(shí) 6:其它錯(cuò)誤 |
| message | 是 | String | 錯(cuò)誤信息 |
| words | 否 | JSONArray | 切分出的詞數(shù)組,數(shù)組里每一項(xiàng)的類(lèi)型均為JSONObject |
四、開(kāi)發(fā)流程
- 在使用分詞 API 時(shí),將實(shí)現(xiàn)分詞的相關(guān)類(lèi)添加至工程:
- 使用 NluClient 靜態(tài)類(lèi)進(jìn)行初始化,通過(guò)異步方式獲取服務(wù)的連接:
-
- context:應(yīng)用上下文信息,應(yīng)為 ohos.aafwk.ability.Ability 或 ohos.aafwk.ability.AbilitySlice 的實(shí)例或子類(lèi)實(shí)例;
-
- listener:初始化結(jié)果的回調(diào),可以傳 null;
-
- isLoadModel:是否加載模型,如果傳 true,則在初始化時(shí)加載模型;如果傳 false,則在初始化時(shí)不加載模型。
- 調(diào)用分詞方法得到分析結(jié)果,接口提供同步和異步兩個(gè)方法,開(kāi)發(fā)者可根據(jù)自己需要選擇:
-
- 同步:
-
- 異步:
- 解綁服務(wù):
總結(jié)
以上是生活随笔為你收集整理的HarmonyOS之AI能力·分词的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HarmonyOS之AI能力·文档检测校
- 下一篇: HarmonyOS之AI能力·IM类意图