999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于詞的關聯特征的中文分詞方法*

2018-10-15 07:29:52李康康
通信技術 2018年10期
關鍵詞:文本方法

李康康,龍 華

(昆明理工大學 信息工程與自動化學院,云南 昆明 650000)

0 引 言

中文分詞是中文自然語言處理中最基本的一個步驟。對于一句話,人可以通過自己的知識來明白哪些是詞,哪些不是詞。但是,如何讓計算機也能理解呢?處理過程就是分詞算法。現在已有的計算機自動切分詞算法大致可分為三類:基于理解的分詞方法、基于字符串匹配的分詞方法和基于傳統詞頻統計的分詞方法

基于理解的分詞方法[1],是通過讓計算機模擬人對句子的理解,達到識別詞的效果。它在分詞的同時進行句法、語義分析,利用句法信息和語義信息處理歧義現象。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠統、復雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基于理解的分詞系統還處在試驗階段。

基于字符串匹配的分詞方法[2],是按照一定的策略將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行匹配,若在詞典中找到某個字符串,則匹配成功(識別出一個詞)。按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配。最大匹配法的優點是原理簡單,易于實現;缺點是最大匹配長度不易確定,若太大則時間復雜度上升,太小則有些超過該長度的詞無法匹配,降低了分詞的準確率。

基于傳統詞頻統計的分詞方法[3],從形式上看,詞是穩定的字的組合,因此在上下文中,相鄰的字同時出現的次數越多,越有可能構成一個詞。因此,字與字相鄰共現的頻率或概率能夠較好地反映成詞的可信度。可以統計語料中相鄰共現的各個字的組合頻度,計算它們的互現信息。定義兩個字的互現信息,計算兩個漢字X、Y的相鄰共現概率。互現信息體現了漢字之間結合關系的緊密程度。當緊密程度高于某一個閾值時,可認為此字組可能構成了一個詞。這種方法只需對語料中的字組頻度進行統計,不需要切分詞典,因而又叫做無詞典分詞法或統計取詞方法。這種方法也有一定的局限性,會經常抽出一些共現頻度高但并不是詞的常用字組,如“這一”“之一”“有的”“我的”“許多的”等,且對常用詞的識別精度差、時空開銷大。

因此,本文提供一種基于詞的關聯特征的中文分詞方法,用以解決現有技術中無法從大規模語料中有效識別并提取詞的缺陷,實現計算機系統在大規模語料中的有效識別并提取詞。

1 相關概念

定義1 前后拼接詞的分詞方法:設字符串S={A1A2…Ai…An}{i≤n,n∈N+,N+表示自然數集}。其中,Ai表示字符串S中第i個字符,令S的子串為Si={Ai…Ai+m},依次統計出當m=1、2、3時出現的所有子串。

定義2 自由度:當一個文本片段出現在各種不同的文本集中,且具有左鄰字集合和右鄰字集合時(左鄰字集合是指出現在文本片段左邊相鄰的字符的集合;右鄰字集合是指出現在文本片段右邊相鄰的字符的集合),假如文本片段{Aij+1Aij+2}在文本集合{AijAij+1Aij+2Aij+3Aij+4Aij+4…Aij-1+nAij+n}中,則左鄰字集合為{Aij},右鄰字集合為{Aij+3},其中i指代文本片段集合中元素的序號,j指代構成一個文本片段的序號。通過計算左鄰字集合和右鄰字集合的信息熵[4]獲取一個文本片段的信息熵,取左鄰字集合和右鄰字集合中較小信息熵作為自由度。

定義3 凝合度:是指在一個文本S={A1A2…Ai…An}{i≤n,n∈N+,N+表示自然數集}中,一個候選詞詞Si={Ai…Ai+m}單獨出現的概率高于組合其每一部分{Ai+m}的概率的乘積,即P(S)>P(Ai)Ai+mP(Ai+m)。令,取最小的m為凝合度,其中表示一個新詞,P(Si)表示一個詞在文本中出現的概率,Ai和Ai+m指代組合候選詞的兩部分,P(Ai)和P(Ai+m)分別代表候選詞每一部分在文本中出現的概率。

定義4 三元候選詞的過濾方法:對于三元候選詞,若后兩個字符存在于二元候選詞庫中,判斷第一個字是否與左鄰接字構成一個詞,若前兩個字符存在于二元候選詞庫中,判斷最后一個字是否與右鄰接字構成一個詞,確定三元候選詞是否是三元詞。若:

則(Ai-1AiAi+1)屬于三元詞。其中,(Ai-1AiAi+1)屬于三元候選詞,Ai-2是三元候選詞的左鄰字,Ai+2是三元候選詞的右鄰接字,{A0…Ai…AN}是語料庫中的字符集合,{(A0,A1)…(Ai,Ai+1)…(Ai-2,Ai-1)}是二元候選詞集合。

定義5 四元后選詞的過濾方法:對可能成詞的四元候選詞,首先進行分割,前兩個字為一個分詞片段,后兩個字為另一個分詞片段,并分別對分詞片段與已分好的二元詞庫進行匹配。成功匹配的,則作為預選詞。然后,在對四元詞的中間兩個字進行分割,并與已分好的二元詞庫進行匹配。匹配不成功的,則作為預選詞。如果兩個條件都滿足,則作為分詞的結果。

2 基于詞的關聯特征的分詞算法

2.1 算法流程圖

為了便于理解和描述本文使用的算法,采用常規的流程圖,如圖1所示,包括11個模塊,最終實現了分詞效果。

2.2 改進的中文算法步驟

2.2.1 構建語料庫

為了能夠使改進的分詞算法在效率、分詞的長度限制甚至歧義處理上得到提高,必須要有一個語料庫。首先需要對其進行預處理,包括去符號,然后將各個段落連接成一條語句,構建語料庫[5]。

圖1 算法流程

2.2.2 構建候選詞庫

采用前后拼接詞的分詞方法,對語料庫進行分詞,形成二元候選詞庫、三元候選詞庫和四元候選詞庫。假設中文文本的內容為S=A1A2…Ai…An{i≤n,n∈N+,N+表示自然數集}。其中,Ai表示為文本中的一個字符。當文本A被切分為所有{Ai,Ai+1}的組合的集合,稱其為二元候選詞庫,其中i∈N。當文本A被切分為所有{Ai,Ai+1Ai+2}的組合的集合,稱其為三元候選詞庫。當文本A被切分為{Ai,Ai+1Ai+2Ai+3}的組合的集合,稱其為四元候選詞庫。

2.2.3 新詞庫的構建

新詞庫由候選詞和詞頻組成。根據傳統的統計模式,本文通過正則表達式對文本進行詞頻統計。定義TF為候選詞的詞頻,TF0為詞頻門限。如果存在TF>TF0,則將候選詞作為構建新詞庫的一部分;如果不滿足此條件,則不考慮。

2.2.4 基于自由度和擬合度的詞的判決

(1)自由度

自由度是通過計算并選擇候選詞左右鄰字集信息熵小者得到的:

其中,H表示候選詞的自由度,s′表示候選詞的右熵,n表示左鄰字集合元素總數。

其中,{bi|i<K}屬于候選詞的右鄰字集,nAi表示Ai出現在候選詞右邊的頻數,K表示候選詞的右鄰字集中字元素個數,s′′為候選詞的左熵;

其中,{mi|i<M}屬于候選詞的左鄰字集,nmi表示mi出現在候選詞左邊的頻數,M表示候選詞的左鄰字集中字元素個數,n表示右鄰字集合元素的總數。

(2)凝合度

凝合度是通過計算語料中候選詞的獨立概率和聯合概率的比值得到,具體步驟如下。

①由候選詞的概率和候選詞的組合概率的比值得到兩元候選詞凝合度M2:

其中,M2表示候選詞的凝合度,Si表示兩元候選詞的第一個字在語料庫中出現的概率,Si+1表示兩元候選詞第二個字在語料庫中出現的概率,p(i,i+1)表示兩元候選詞語在語料中出現的概率。

②由候選詞的概率和候選詞的組合概率的比值得到三元候選詞凝合度M3:

其中,M3表示候選詞的凝合度,Si表示三元候選詞的第一個字在語料庫中出現的概率,Si+1,Si+2表示三元候選詞的后兩個字同時在語料庫中出現的概率,Si,i+1表示三元候選詞的前兩個字同時在語料庫中出現的概率,Si+2表示三元候選詞的最后一個字在語料庫中出現的概率,P(i,i+1,i+2)表示三元候選詞語在語料中出現的概率。

③由候選詞的概率和候選詞的組合概率的比值得到四元候選詞凝合度M4:

其中,M4表示候選詞的凝合度,Si表示四元候選詞的第一個字在語料庫中出現的概率,Si+1,Si+2,Si+3表示四元候選詞的后三個字同時在語料庫中出現的概率,Si,Si+1,Si+2表示四元候選詞的前三個字同時在語料庫中出現的概率,Si,i+1表示四元候選詞的前兩個字在語料庫中出現的概率,Si+2,i+3表示四元候選詞的后兩個字在語料庫中出現的概率,P(i,i+1,i+2,i+3)表示四元候選詞在語料庫中出現的概率。

2.2.5 采用三元和四元分詞過濾方法

采用分詞過濾方法對篩選出來的三元候選詞和四元候選詞進行進一步過濾,形成最終的詞庫。

3 基于特征的分詞算法在對《西游記》分詞中的應用

3.1 建立語料庫

步驟1:利用While(sequence=br.readLine())讀取語料庫中的每一句。

步驟2:利用Link(Delete(sequene.contains(chat)))刪除語句中的標點符號并連成一句話。部分《西游記》[6]經過文本處理的結果如圖2所示。

圖2 文本處理結果

3.2 構建候選詞庫

本文通過采用正則表達式[7],對文本進行詞頻統計。

(1)While((line=br.readLine())!=null)讀取文本集合中的每一行;

(2)Matcher m=p.matcher(line)通過引入正則表達式對每一行進行處理;

(3)如果if(map.containsKey(data))滿足正則表達式;

(4)map.put(data,count+1)加 1;

(5)重復以上步驟,分別統計文本集合中的二元候選詞、三元候選詞和四元候選詞。判別二元候選詞正則表達式為[u4e00-u9fa5]{2},判別三元候選詞正則表達式為[u4e00-u9fa5]{3},判別四元候選詞正則表達式為[u4e00-u9fa5]{4}。

對文本進行詞頻統計的部分結果,如圖3所示。

圖3 詞頻統計結果

3.3 構建新詞庫

定義TF為候選詞的詞頻,TP0為詞頻門限,如果存在TF≤TF0,則將候選詞作為構建新詞庫的一部分;如果不滿足此條件,則不考慮。

(1)While(word=br.readline())讀取候選語料庫的每一行;

(2)If(TF=word.value()>TP0)大于門限值;

(3)yList.add(word),存到列表中。

統計的部分結果如圖4所示。

圖4 統計的部分結果

3.4 計算自由度和凝合度并進行判決

3.4.1 計算自由度實現過程及部分最后結果

(1)If(i=str,contains(sequence))在一個句子中存在候選詞,將其所在位置返回i;

(2)List.add(i-1)統計與其左邊相鄰的字;

(3)List2.add(i+1)統計與其右邊相鄰的字;

(4)Sum( List.get()/Sum(List))計算其左熵;

(5)Sum(List.get()/Sum(List2))計算其右熵;

(6)Min(Sum( List.get()/Sum(List)),Sum( List.get()/Sum(List2)))。

圖5為自由度部分的最后結果。

圖5 自由度部分最后結果

3.4.2 計算凝合度實現過程及部分最后結果

(1)While(word=br.readline())讀取新詞庫的每一個詞;

(2)number1=count(Word.get())計算構成詞的第一部分在語料庫中出現的次數;

(3)number2=count(Word.other())計算構成詞的另外一部分在語料庫中出現的次數;

(4)number3=count(Word)計算構完整詞在語料庫中出現的次數;

(5)number4=count(text)計算整個語料庫字符出現的個數。Min((number1/number4)/(number2/number4))/(number3/number4),計算凝合度。

圖6為凝合度部分的最后結果。

圖6 凝合度部分最后結果

3.4.3 分別給自由度和凝合度一個門限,滿足條件的作為新詞庫

自由度和凝合度的門限是動態獲取的。針對不同的語料庫給出的自由度和凝合度門限值是不同的,本文采用的語料庫是四大名著之一《西游記》。通過多次進行實驗比較,選出了效果最好的自由度和凝合度門限值。

(1)Zthreshold=10;//初始化自由度門限值Mthreshold=20;//初始化擬合度門限值

(2)If(text(Zthreshold,Mthresold).getWords())

LastText(Zthresold,Mthresold).getwords()&&words.accuracy()>lastwords.accuracy())

{Zthresold++;Mthreshold++;}//如果根據當前的自由度和凝合度的門限值所獲取的詞庫和正確率大于前一個門限值所獲取的詞庫和正確率,將自由度和凝合度進行自加,直至不滿足條件,結束。

3.5 采用三元和四元分詞過濾方法對新詞庫進行過濾

3.5.1 三元分詞方法

(1)While(word=br.readLine())讀取三元詞庫的每一個詞;

(2)arr= Word.split(i)將三元詞分成兩部分,第一部分為第一個字,第二部分為末尾兩個字;

(3)if(arr[1].exist(2-gram)&&arr[1]+arr[0]not word)第二部分存在二元新詞庫,且第一部分與其前一個字符不存在二元語料庫,則判定為一個詞。

3.5.2 四元分詞方法

(1)While(word=br.readLine())讀取四元詞庫的每一個詞;

(2)arr=Word.split()將四元詞分成兩部分,第一部分為前兩個字符,第二部分為后兩個字符;

(3)If(arr[0].exist(2-gram)&&arr[1]exist(2-gram)&&(arr[0][2]+arr[1][1])not in 2-gram),四元詞的第一部分存在于二元新詞庫,且第二部分也存在二元詞庫,但四元詞的中間兩個字構成的詞不存在二元新詞庫,則將其作為新詞庫。

3.6 采用基于詞的關聯特征的分詞方法所取得的分詞結果

通過采用本文提出的基于詞的關聯特征的分詞算法,對四大名著《西游記》進行了分詞處理,部分結果如圖7所示。

3.7 采用基于詞頻統計的分詞方法所取得的分詞結果

傳統的基于詞頻統計的中文分詞方法步驟由本文提出方法的前三步組成,所以這里不再重復。圖8為基于詞頻統計的中文分詞方法對四大名著《西游記》進行了分詞后,部分分詞結果。

圖7 基于詞的關聯特征的分詞方法所取得的分詞結果

圖8 基于詞頻統計的中文分詞方法所取得的分詞結果

4 實驗結果分析

為了比較幾種分詞方法在中文分詞中的效果,本文提出了相對準確率[8]作為比較指標。

相對準確率按照如下方法計算:

準確率=識別出的詞語總數出現在標準結果中的詞語數/標準結果中的詞語總數×100% (8)

其中標準結果是指海量分詞的結果,實驗數據如表1所示。

表1 幾種中文分詞分詞方法實驗結果

從表1可以看出,文章提出的分詞算法相對于基于詞頻統計的分詞方法具有較高的相對正確率,能夠在一定程上解決中文分詞的問題,但是分詞的準確度依然不高。因為文章提出的算法是基于大規模語料庫的,即語料庫規模越大,分詞的準確率越高。

5 結 語

在進行中文文本分詞的研究工作中,本文提出了一種基于詞的關聯特征的中文算法。首先計算出可能成詞的文本片段的詞頻、自由度和凝合度,然后采用閾值過濾的方法,過濾掉不滿足條件的文本片段。之后,對三元詞和四元次采用過濾方法,過濾掉不可靠的三元詞和四元詞,以提高分詞算法的正確率。

猜你喜歡
文本方法
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
學習方法
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 性喷潮久久久久久久久| 永久毛片在线播| 欧美亚洲国产一区| 免费看美女自慰的网站| 91视频区| 无码乱人伦一区二区亚洲一| 欧美无遮挡国产欧美另类| 国产精品久线在线观看| 色综合天天综合中文网| 亚洲国产精品日韩欧美一区| 99中文字幕亚洲一区二区| 亚洲人成日本在线观看| 久久影院一区二区h| 国产真实自在自线免费精品| 国产网站免费看| 97久久精品人人做人人爽| 中文字幕在线一区二区在线| 免费精品一区二区h| 日本亚洲国产一区二区三区| 99在线观看精品视频| 久久精品亚洲专区| a级毛片免费网站| 国产精品19p| 国产欧美视频综合二区| 91精品啪在线观看国产60岁| 人妻中文字幕无码久久一区| 丁香婷婷综合激情| 国产又粗又猛又爽视频| 亚洲swag精品自拍一区| 国产成人一区在线播放| 亚洲第一成网站| 五月天在线网站| 色综合中文| 亚洲黄色成人| 色135综合网| 欧美不卡在线视频| 91网址在线播放| 国产在线高清一级毛片| 国产香蕉一区二区在线网站| 高清不卡一区二区三区香蕉| 国内丰满少妇猛烈精品播| 午夜少妇精品视频小电影| 男女精品视频| 日韩a在线观看免费观看| 亚洲成在线观看 | 国产精品自在拍首页视频8| 亚洲美女操| 国产在线拍偷自揄拍精品| 欧美成人一级| 2024av在线无码中文最新| a色毛片免费视频| 久久77777| 欧美全免费aaaaaa特黄在线| 日本色综合网| 国产亚洲精品97在线观看| 夜精品a一区二区三区| 亚洲日韩精品无码专区97| 18禁不卡免费网站| 亚洲V日韩V无码一区二区| 色综合a怡红院怡红院首页| 亚洲一级色| 国产高清无码第一十页在线观看| 日本一本正道综合久久dvd| 无码日韩人妻精品久久蜜桃| 国产成人福利在线视老湿机| 亚洲中文字幕97久久精品少妇| 视频一本大道香蕉久在线播放 | 99精品免费在线| 亚洲首页在线观看| 国产视频a| 国产全黄a一级毛片| 在线免费看黄的网站| 亚洲天堂视频在线观看免费| 久久国产精品麻豆系列| 国语少妇高潮| 国产精品蜜芽在线观看| 色综合天天综合| 国产xxxxx免费视频| 亚洲精品第1页| 国产91高跟丝袜| 多人乱p欧美在线观看| 久久天天躁夜夜躁狠狠|