国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

中文分詞方法及常用國(guó)內(nèi)分詞工具

2024-12-31 00:00:00種惠芳
三角洲 2024年14期
關(guān)鍵詞:分詞詞典深度

為使機(jī)器能夠更充分地理解輸入語(yǔ)句,必須首先對(duì)輸入語(yǔ)句進(jìn)行分詞。與英文等其他具有天然分隔標(biāo)識(shí)符的西方語(yǔ)言相比,中文缺少此類(lèi)符號(hào),為此研究中文分詞方法及常用分詞工具,對(duì)中文自然語(yǔ)言處理具有非常重要的意義。中文分詞是將輸入計(jì)算機(jī)中的連續(xù)中文字序列按照某種規(guī)則進(jìn)行分割,切分為具有相對(duì)獨(dú)立意義中文詞序列的過(guò)程。中文分詞在眾多涉及漢語(yǔ)的自然語(yǔ)言處理領(lǐng)域(如模式識(shí)別、機(jī)器翻譯等)都起著非常重要的作用,分詞可以將復(fù)雜非結(jié)構(gòu)化語(yǔ)言學(xué)問(wèn)題轉(zhuǎn)化為結(jié)構(gòu)化數(shù)學(xué)計(jì)算問(wèn)題,提高問(wèn)題建模能力。與英語(yǔ)等其他語(yǔ)言相比,中文無(wú)明顯分詞特征,切分準(zhǔn)則不統(tǒng)一;中文存在大量一詞多義語(yǔ)言現(xiàn)象,容易出現(xiàn)歧義;未登錄詞等其他語(yǔ)言分詞需要考慮的語(yǔ)言現(xiàn)象時(shí)中文分詞也需考慮,為此中文分詞成為眾多從事自然語(yǔ)言處理研究學(xué)者的研究?jī)?nèi)容。在中國(guó)知網(wǎng)上以“分詞”為檢索詞,以“主題”為檢索字段進(jìn)行文獻(xiàn)檢索,截至2023年8月,共檢索到中文文獻(xiàn)2.04萬(wàn)篇,文獻(xiàn)類(lèi)別情況如表1所示。

從發(fā)展歷程角度看,中文分詞方法可劃分為基于詞典匹配的分詞方法、基于統(tǒng)計(jì)的分詞方法和基于深度學(xué)習(xí)的分詞方法。在中國(guó)知網(wǎng)上以“中文分詞方法”主題詞進(jìn)行檢索,并對(duì)檢索結(jié)果按次要主題“分詞方法”“字符串匹配”“基于統(tǒng)計(jì)”“神經(jīng)網(wǎng)絡(luò)”進(jìn)行文獻(xiàn)趨勢(shì)對(duì)比分析,可見(jiàn)自2017年以來(lái),深度學(xué)習(xí)方法逐步代替匹配與統(tǒng)計(jì)兩類(lèi)方法成為分詞方法研究的主流,如圖1所示。

基于詞典匹配的分詞方法主要是通過(guò)各種算法將文本與詞典進(jìn)行匹配,從而實(shí)現(xiàn)對(duì)輸入內(nèi)容的劃分,匹配算法的設(shè)計(jì)和詞典的構(gòu)建直接影響分詞的效能與性能,該階段分詞方法主要研究詞典的構(gòu)建和匹配算法的設(shè)計(jì)。

基于詞典匹配的分詞方法簡(jiǎn)單,分詞速度快,但分詞準(zhǔn)確率與詞典質(zhì)量密切相關(guān),也難以處理未登錄詞及一詞多義等語(yǔ)言現(xiàn)象。

基于統(tǒng)計(jì)的分詞方法建立在統(tǒng)計(jì)指標(biāo)和統(tǒng)計(jì)模型基礎(chǔ)之上,通過(guò)計(jì)算詞與詞之間的組合出現(xiàn)概率來(lái)確定是否進(jìn)行分詞,其核心思想是:按照上下文順序,相鄰兩字的頻數(shù)統(tǒng)計(jì)次數(shù)越大,則其成為一個(gè)詞語(yǔ)的概率越大。

基于統(tǒng)計(jì)的分詞方法建立在詞頻數(shù)學(xué)計(jì)算基礎(chǔ)之上,不考慮詞意,一定程度上可以解決基于詞典匹配的分詞方法中未登錄詞及一詞多義問(wèn)題,但該方法需要基于大規(guī)模訓(xùn)練語(yǔ)料來(lái)實(shí)現(xiàn)。隨著互聯(lián)網(wǎng)語(yǔ)料規(guī)模的不斷增大、深度神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和計(jì)算機(jī)算力的不斷提升,基于統(tǒng)計(jì)的分詞方法正逐漸被深度學(xué)習(xí)分詞方法取代。

2006年,Hinton等人提出了深度學(xué)習(xí)概念,強(qiáng)調(diào)深度學(xué)習(xí)模型學(xué)習(xí)得到的特征數(shù)據(jù)對(duì)原數(shù)據(jù)有更本質(zhì)的代表性。2012年,AlexNet在ImageNet圖像分類(lèi)比賽中以碾壓第二名的成績(jī)激起了人們對(duì)深度學(xué)習(xí)研究的熱潮,如何使用深度學(xué)習(xí)方法提高中文分詞效果也成為眾多學(xué)者積極研究的熱點(diǎn)。在中國(guó)知網(wǎng)以“深度學(xué)習(xí)”和“中文分詞”為主題詞進(jìn)行檢索,共獲得414篇檢索結(jié)果,其中最早關(guān)于深度學(xué)習(xí)的中文分詞文獻(xiàn)出現(xiàn)在2015年。

基于深度學(xué)習(xí)的分詞方法與基于統(tǒng)計(jì)的分詞方法相比,無(wú)需人工進(jìn)行特征選擇,且特征學(xué)習(xí)深度不受限。典型深度學(xué)習(xí)分詞方法以循環(huán)神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),目前越來(lái)越多的深度學(xué)習(xí)模型被應(yīng)用于中文分詞中,如林德萍將預(yù)訓(xùn)練模型BERT引入中文分詞的過(guò)程實(shí)現(xiàn)了對(duì)新聞文本的高效分詞。

常用國(guó)內(nèi)中文分詞工具及簡(jiǎn)要分析

jieba(中文名為“結(jié)巴”)是優(yōu)秀的中文分詞第三方庫(kù),可以進(jìn)行簡(jiǎn)單分詞、并行分詞、命令行分詞,支持精確模式、全模式、搜索引擎模式和Paddle模式四種分詞模式,支持繁體分詞和自定義詞典,除分詞功能外,還支持關(guān)鍵詞提取、詞性標(biāo)注、詞位置查詢(xún)等功能,支持C++、JAVA、Python語(yǔ)言。精準(zhǔn)模式試圖將句子進(jìn)行最精確的切開(kāi)(分詞后的概率連乘最大),適合文本分析,已被分出的詞語(yǔ)將不會(huì)再次被其他詞語(yǔ)占有;全模式將句子中所有可能成詞的詞語(yǔ)都掃描出來(lái)(如果單字被詞語(yǔ)包含,不掃描出單字),速度快,但可能存在歧義;搜索引擎模式在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞(字?jǐn)?shù)gt;2)再次切分,提高召回率,適用于搜索引擎分詞;Paddle模式使用Paddle(飛槳)深度學(xué)習(xí)框架以加速分詞,jieba 0.40及以上版本支持Paddle模式,相對(duì)于前三種傳統(tǒng)分詞算法,Paddle模式采用了基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)模型,可以獲得更高的分詞準(zhǔn)確度和更快的分詞速度。

目前,jieba不提供可視化應(yīng)用程序接口,用戶(hù)需在編程環(huán)境中調(diào)用來(lái)實(shí)現(xiàn),代碼示例如下。

import jieba

s1=”我用手一把把門(mén)把手把住了”

word=jieba.lcut(s1)

print(word)

HanLP是一個(gè)提供分詞、詞性標(biāo)注、關(guān)鍵詞提取、自動(dòng)摘要、依存句法分析、命名實(shí)體識(shí)別、短語(yǔ)提取、拼音轉(zhuǎn)換、簡(jiǎn)繁轉(zhuǎn)換等功能的自然語(yǔ)言處理工具包,支持包括簡(jiǎn)繁中英日俄法德在內(nèi)的104種語(yǔ)言分詞功能,采用全球范圍內(nèi)已知最大的億字級(jí)別中文分詞詞庫(kù),支持CRF模型分詞、索引分詞、N-最短路徑分詞、NLP分詞、極速詞典分詞、標(biāo)準(zhǔn)分詞、深度學(xué)習(xí)分詞、自定義詞典分詞等,各種分詞方式及其特點(diǎn)如表2所示。

HanLP官網(wǎng)提供了不同分詞方法的相應(yīng)接口及功能演示窗口(如圖2所示),用戶(hù)也可以像使用jieba庫(kù)一樣通過(guò)編程環(huán)境調(diào)用HanLP模塊來(lái)使用,HanLP支持C++、JAVA、Python語(yǔ)言的使用。

from pyhanlp import *

print(HanLP.segment(‘我用手一把把門(mén)把手把住了’))

THULAC是清華大學(xué)自然語(yǔ)言處理與社會(huì)人文計(jì)算實(shí)驗(yàn)室研制推出的一套中文詞法分析工具包,具有中文分詞和詞性標(biāo)注功能。THULAC工具分詞準(zhǔn)確率高、速度較快,曾在Windows測(cè)試環(huán)境下利用第二屆國(guó)際漢語(yǔ)分詞測(cè)評(píng)發(fā)布的國(guó)際中文分詞測(cè)評(píng)標(biāo)準(zhǔn)對(duì)國(guó)內(nèi)不同分詞軟件進(jìn)行了速度和準(zhǔn)確率測(cè)試,測(cè)試結(jié)果顯示其綜合性能排名靠前。THULAC支持C++、JAVA、Python語(yǔ)言的使用,在其官網(wǎng)上提供了網(wǎng)頁(yè)版在線平臺(tái)演示功能(如圖3所示)。

FoolNLTK是一款采用BiLSTM算法實(shí)現(xiàn)的開(kāi)源深度學(xué)習(xí)中文分詞工具包,可提供分詞、詞性標(biāo)注、實(shí)體識(shí)別功能,也支持用戶(hù)自定義字典以加強(qiáng)分詞效果。FoolNLTK需在編程環(huán)境下安裝并調(diào)用工具包來(lái)進(jìn)行分詞,示例如下。

import fool

print(print(fool.cut(‘我用手一把把門(mén)把手把住了’)))

SnowNLP是一個(gè)處理中文文本內(nèi)容的python類(lèi)庫(kù),其主要功能包括分詞、詞性標(biāo)注、情感分析、漢字轉(zhuǎn)拼音、繁體轉(zhuǎn)簡(jiǎn)體、關(guān)鍵詞提取,以及文本摘要等,其分詞功能采用了基于字符的生成模型方法。SnowNLP需在編程環(huán)境下安裝工具包后調(diào)用該工具進(jìn)行分詞。

import snownlp

print(snownlp.SnowNLP(u’我用手一把把門(mén)把手把住了’).words)

LTP是由哈爾濱工業(yè)大學(xué)社會(huì)計(jì)算與信息檢索研究中心開(kāi)發(fā)的一款集中文詞法分析(分詞、詞性標(biāo)注、命名實(shí)體識(shí)別)、句法分析(依存句法分析)和語(yǔ)義分析(語(yǔ)義角色標(biāo)注、語(yǔ)義依存分析)六大功能為一體的自然語(yǔ)言處理工具集,其最新4.0版本基于多任務(wù)學(xué)習(xí)框架進(jìn)行統(tǒng)一學(xué)習(xí),使全部六項(xiàng)任務(wù)可以共享語(yǔ)義信息,達(dá)到了知識(shí)遷移的效果,既有效提升了系統(tǒng)的運(yùn)行效率,又極大縮小了模型的占用空間,采用了基于預(yù)訓(xùn)練模型進(jìn)行統(tǒng)一的表示,有效提升了各項(xiàng)任務(wù)的準(zhǔn)確率,基于教師退火模型蒸餾出單一的多任務(wù)模型,進(jìn)一步提高了系統(tǒng)的準(zhǔn)確率,基于PyTorch框架開(kāi)發(fā),提供了原生的Python調(diào)用接口,通過(guò)pip包管理系統(tǒng)一鍵安裝,極大提高了系統(tǒng)的易用性。該工具官網(wǎng)上提供了詳細(xì)的說(shuō)明文檔,并提供在線演示功能,用戶(hù)可以便捷使用。

from ltp import LTP

ltp = LTP()

words = ltp.pipeline([‘我用手一把把門(mén)把手把住了’],tasks=[“cws”],return_dict=False)

除了上述六個(gè)分詞工具,還存在如NLPIR、CoreNLP、NLTK等中文分詞工具,表3集中展示了上述六個(gè)中文分詞工具的關(guān)鍵特點(diǎn)。

中文分詞技術(shù)正在由以傳統(tǒng)字符匹配方法和統(tǒng)計(jì)方法為主的分詞方法向由深度學(xué)習(xí)方法為主的階段過(guò)渡,新的深度學(xué)習(xí)方法也不斷被應(yīng)用于分詞任務(wù)中。隨著語(yǔ)料數(shù)據(jù)的不斷增加和計(jì)力的增強(qiáng),中文自然語(yǔ)言處理過(guò)程中是否需要單純的分詞階段是相關(guān)研究人員探討的問(wèn)題,也將是筆者下一階段研究的內(nèi)容。此外,筆者認(rèn)為,數(shù)據(jù)科學(xué)和語(yǔ)言科學(xué)如何更好地融合以發(fā)揮彼此優(yōu)勢(shì)也是值得探討的課題。

(作者單位:國(guó)防科技大學(xué))

猜你喜歡
分詞詞典深度
深度理解一元一次方程
米沃什詞典
文苑(2019年24期)2020-01-06 12:06:50
結(jié)巴分詞在詞云中的應(yīng)用
深度觀察
深度觀察
深度觀察
評(píng)《現(xiàn)代漢語(yǔ)詞典》(第6版)
詞典例證翻譯標(biāo)準(zhǔn)探索
值得重視的分詞的特殊用法
高考分詞作狀語(yǔ)考點(diǎn)歸納與疑難解析
亚东县| 久治县| 固始县| 吉林市| 红河县| 新和县| 驻马店市| 调兵山市| 民勤县| 日照市| 怀宁县| 乌鲁木齐市| 南宫市| 成都市| 临夏市| 塘沽区| 乌拉特后旗| 遵义县| 堆龙德庆县| 土默特右旗| 南京市| 乐亭县| 陇南市| 临澧县| 广德县| 政和县| 黄山市| 秦安县| 莱阳市| 双鸭山市| 顺义区| 兖州市| 乌海市| 玛曲县| 团风县| 监利县| 屏东市| 东台市| 五华县| 铅山县| 三门县|