HarmonyOS之AI能力·词性标注
生活随笔
收集整理的這篇文章主要介紹了
HarmonyOS之AI能力·词性标注
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、簡(jiǎn)介
- 隨著信息技術(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)用。
- 詞性標(biāo)注包括分詞以及為分詞結(jié)果中的每個(gè)單詞標(biāo)注一個(gè)正確的詞性(標(biāo)注每個(gè)詞是名詞、動(dòng)詞、形容詞或其他詞性),開(kāi)發(fā)者可自定義分詞的粒度。
- 詞性標(biāo)注提供了文本自動(dòng)分詞并給出詞性的接口。對(duì)于輸入的一段文本,自動(dòng)通過(guò)詞性標(biāo)注接口對(duì)其進(jìn)行分詞,并為分詞結(jié)果中的每個(gè)單詞標(biāo)注一個(gè)正確的詞性。詞性標(biāo)注提供不同的分詞粒度,開(kāi)發(fā)者可以根據(jù)需要自定義分詞粒度。
- 詞性標(biāo)注當(dāng)前只支持中文語(yǔ)境。
- 詞性標(biāo)注文本限制在 500 個(gè)字符以?xún)?nèi),超過(guò)字?jǐn)?shù)將返回參數(shù)錯(cuò)誤,文本需要為 UTF-8 格式,格式錯(cuò)誤不報(bào)錯(cuò),但會(huì)導(dǎo)致分析結(jié)果錯(cuò)誤。
- Engine 支持多用戶同時(shí)接入,但是不支持同一用戶并發(fā)調(diào)用同一特性。若同一特性被同一進(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)用于搜索引擎開(kāi)發(fā)。對(duì)于搜索引擎來(lái)說(shuō),在上百億的網(wǎng)頁(yè)中找到所有結(jié)果沒(méi)有意義,重要的是把最相關(guān)的結(jié)果呈現(xiàn)在最前面,也稱(chēng)為相關(guān)度排序。分詞的準(zhǔn)確與否,直接影響到對(duì)搜索結(jié)果的相關(guān)度排序。
- 應(yīng)用于語(yǔ)義分析相關(guān)軟件的開(kāi)發(fā)。在語(yǔ)義分析中,通過(guò)分詞理解文本所要表達(dá)的正確含義,并通過(guò)詞性標(biāo)注得到詞性,準(zhǔn)確地判斷出某個(gè)詞是名詞、動(dòng)詞、形容詞等,使得語(yǔ)義分析更方便擴(kuò)展。
三、API 說(shuō)明
- 詞性標(biāo)注提供了 getWordPos() 接口,該接口可以根據(jù)分詞粒度,為分詞結(jié)果中的每個(gè)單詞標(biāo)注一個(gè)正確的詞性。
① 主要接口
| ResponseResult getWordPos(String requestData, int requestType) | 采用同步方式進(jìn)行詞性標(biāo)注 |
| ResponseResult getWordPos(final String requestData, final int requestType, final OnResultListener listener) | 采用異步方式進(jìn)行詞性標(biāo)注 |
| void 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 格式,如下表說(shuō)明:
| text | true | String | 待分析的文本,UTF-8編碼,限制500個(gè)字符以?xún)?nèi) |
| type | false | 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)化句子成分。根據(jù)以上原則,“明天下午三點(diǎn)到五點(diǎn)我在江寧瑞都金逸影城看電影”將分成“明天下午三點(diǎn)/到/五點(diǎn)/我/在/江寧瑞都金逸影城/看/電影” |
| callPkg | false | String | 調(diào)用者名稱(chēng) |
| callType | false | int | 調(diào)用者類(lèi)型: 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) |
- 目前 NLU 支持的實(shí)體類(lèi)別:
| 電影 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 電視劇 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 綜藝 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 動(dòng)漫 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 火車(chē)車(chē)次 | 依賴(lài)字典,要求真實(shí)用例,勿做修改 |
| 航班號(hào) | 要求真實(shí)用例,勿做修改 |
| 球隊(duì) | 要求真實(shí)用例,勿做修改 |
| 球隊(duì) | 依賴(lài)字典,支持NBA、CBA、英超、西甲、德甲、意甲、法甲、中超的球隊(duì)識(shí)別,要求真實(shí)用例,勿做修改 |
| 人名 | 要求真實(shí)用例,勿做修改 |
| 快遞單號(hào) | 要求真實(shí)用例,勿做修改 |
| 電話號(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)詞性標(biāo)注的結(jié)果:
| code | 是 | int | 詞性標(biāo)注的結(jié)果碼。取值包括: 0:成功 1:系統(tǒng)正在初始化 2:參數(shù)錯(cuò)誤 3:系統(tǒng)忙 4:系統(tǒng)異常 5:任務(wù)超時(shí) 6:其它錯(cuò)誤 |
| message | 是 | String | 錯(cuò)誤信息 |
| pos | 否 | JSONArray | 切分出的詞數(shù)組,數(shù)組里的類(lèi)型為JSONObject |
| +word | 否 | String | 切分出的詞 |
| +tag | 否 | String | 詞性,type為1或9223372036854775807時(shí),人名實(shí)體的詞性為nr,時(shí)間實(shí)體的詞為t,地點(diǎn)實(shí)體的詞性為ns,其他實(shí)體統(tǒng)一為ne |
- 詞性說(shuō)明:
| n | 名詞 | rr | 人稱(chēng)代詞 | u | 助詞 |
| nr | 人名 | rz | 指示代詞 | uzhe | 助詞“著” |
| ns | 地名 | rzt | 時(shí)間指示代詞 | ule | 助詞“了”“嘍” |
| ne | 只在實(shí)體合并時(shí)使用,除人名、 時(shí)間、地點(diǎn)之前,其他實(shí)體統(tǒng)一返回ne | rzs | 處所指示代詞 | uguo | 助詞“過(guò)” |
| t | 時(shí)間詞 | rzv | 謂詞性指示代詞 | ude1 | 助詞“的” |
| tg | 時(shí)間詞性語(yǔ)素 | ry | 疑問(wèn)代詞 | ude2 | 助詞“地” |
| s | 處所詞 | ryt | 時(shí)間疑問(wèn)代詞 | ude3 | 助詞”得” |
| f | 方位詞 | rys | 處所疑問(wèn)代詞 | usuo | 助詞”所“ |
| v | 動(dòng)詞 | ryv | 謂詞性疑問(wèn)代詞 | udeng | 助詞“等”“等等” |
| vd | 副動(dòng)詞 | rg | 代詞性語(yǔ)素 | uyy | 助詞”一樣”“一般”“似的”“般” |
| vn | 名動(dòng)詞 | m | 數(shù)詞 | udh | 助詞“的話” |
| vshi | 動(dòng)詞“是” | mq | 數(shù)量詞 | uls | 助詞“來(lái)講”“來(lái)說(shuō)”“而言”“說(shuō)來(lái)” |
| vyou | 動(dòng)詞“有” | q | 量詞 | uzhi | 助詞“之“ |
| vf | 趨向動(dòng)詞 | qv | 動(dòng)量詞 | ulian | 助詞“連” |
| a | 形容詞 | qt | 時(shí)量詞 | e | 嘆詞 |
| ad | 副形詞 | d | 副詞 | y | 語(yǔ)氣詞 |
| an | 名形詞 | p | 介詞 | o | 擬聲詞 |
| b | 區(qū)別詞 | pba | 介詞“把” | h | 前綴 |
| bl | 區(qū)別詞性慣用語(yǔ) | pbei | 介詞“被” | k | 后綴 |
| z | 狀態(tài)詞 | c | 連詞 | x | 字符串 |
| r | 代詞 | cc | 并列連詞 | idiom | 成語(yǔ) |
| w | 標(biāo)點(diǎn)符號(hào) | - | - | - | - |
四、開(kāi)發(fā)流程
- 在使用詞性標(biāo)注的接口時(shí),將實(shí)現(xiàn)詞性標(biāo)注的相關(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)用詞性標(biāo)注的接口:
-
- 采用同步方式進(jìn)行詞性標(biāo)注:
-
- 采用異步方式進(jìn)行詞性標(biāo)注:
- 銷(xiāo)毀 NLU 服務(wù):
總結(jié)
以上是生活随笔為你收集整理的HarmonyOS之AI能力·词性标注的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: HarmonyOS之AI能力·IM类意图
- 下一篇: HarmonyOS之应用开发的电话服务与