童小光 郭超 康洪晶
摘要摘要:對中文分詞進行研究是自然語言處理的重要步驟,結合字典對短中文進行正逆向分詞,在此基礎上得到多組分詞結果,利用基于統計的方法和基于規則的方法進一步優化算法,根據用戶使用頻度和網絡搜索熱度以及詞語間的固定搭配規則對多組分詞進行排序,并通過實例驗證發現該方法具有較好分詞效果。
關鍵詞關鍵詞:中文分詞;分詞算法;使用頻度;搜索熱度
DOIDOI:10.11907/rjdk.171062
中圖分類號:TP312
文獻標識碼:A文章編號文章編號:16727800(2017)005004202
0引言
自然語言處理中,詞是最小的能獨立活動的有意義的語言成分。漢語不同于英語,英語有天然的分割符,而漢語需要采用一定的技術或方法將漢語短語、句子分割成最為基本的詞。對于搜索引擎、微博情感分析等具體應用,絕大多數的用戶輸入的中文語句長度短且無自然分割符(標點符號)。本文重點研究短中文分詞算法及其優化方法,提出了結合基于詞典的分詞方法,并利用基于統計的方法和基于規則的方法進一步優化算法,并通過實例驗證發現該方法對短中文具有較好的分詞效果。
1分詞算法優化思路
短中文具有字數少、無自然分割的特點[1]。針對短中文可以根據一定的分詞方法(例如逆向或者正向的分詞方法)將短中文分成幾組詞,即要有不同的分詞詞組,并在此分詞算法基礎上,根據用戶的搜索習慣和網絡上詞的熱度,結合固定搭配和語法匹配規則,給出一定概率指標的排名。利用排名來確定分詞的詞組,從而實現分詞的優化,使得分詞結果更加接近用戶需求[2-4]。
該優化方法有3個主要步驟,分別是基于字典的分詞方法、基于頻度的概率指標計算方法和基于規則的概率指標計算方法。
當用戶輸入關鍵詞字符串時,會根據分詞方法將字符串分成幾個組詞,這幾個組詞每一組都有一個分詞概率指標P,代表該組分詞的匹配概率,也就是該組分詞是正確分詞的概率。而這個指標P由以下4個因素決定。
首先,對于一個用戶而言,其具有固定的搜索習慣,分析其搜索習慣的信息有助于分析該用戶的習慣,從而在用戶給定的搜索關鍵詞中找到用戶所需要信息。將這一因素對P的比重記為P1。
其次,一個詞在互聯網的熱度也表明這個詞在大眾生活中的一種傾向性。例如,某部電影近期很受關注,那么可以預見在近一段時間內針對它的搜索量會增多。對于單個用戶而言,它是大眾中的一部分,如果在分詞分組中出現一個熱度很高的詞,那么這個分組很有可能就是需要的。因此,將這個因素對P的比重為P2。
除了頻度因素對P的影響外,詞的搭配也會對詞組產出影響。詞與詞之間的搭配是固定的,如果分詞詞組存在這樣的搭配,也會增加是該組分詞的概率,可以把該因素記為O。詞與詞之間除了固定搭配,還有語法規則上的搭配,每個詞都具有詞性如名詞、動詞、形容詞等,這些詞與詞的組合也會對分詞產生影響,該因素記為指標附加值Va。
綜上所述,對于某一搜索詞的分詞概率指標P可以表示為:
P=αP1+βP2+χO+C+Va(1)
其中,C為其它因素,α,β,χ為公式中的系數因子。對于不同組的分詞來說,C值是相同的。
2基于短中文特點的分詞方法
在本步驟中,需要多種分組方法,所以使用逆向與正向相結合的方式[5]。假設字典已經被建立,要從字符串中取出詞,首先采用正向方法,設該字符串有L個字符,第一次,取全部的L個字符,然后在字典中查找匹配,如果存在,則該分組為一個有效的分組。如果不存在,那么去掉最后一個字符,即取前1個到第L-1個字符,然后在字典中繼續匹配,如果存在,該詞即為所需,并將剩下的一個字作為另一個詞。同樣,如果不匹配,為了加快匹配的進度,去掉上一步最后的兩個字符,即取第1到第(L-1)-2個字符,如果匹配,則該詞是需要的,并將剩下的詞按此方法繼續匹配,如果仍然不匹配,就按((L-1)-2)-3這樣來繼續減少字符串長度來進行字典匹配,直到把該字符串的第一個詞從左到右取出來。至此,取到了從左到右的第一個詞。需要再從右向左取第一個詞,按照同樣的方法,只不過這次是從右到左,找到第一個從右到左的詞。結合這兩個詞,如果這兩個詞的長度加起來等于字符串長度,那么就是一個分組,如果加起來長度小于字符串長度,那么將這兩個詞之間的字符串取出來,按上述步驟,再次進行分詞,直到將詞取出完。
按照正逆序結合分詞算法能夠得到多個不同的分詞組合,優化算法主要通過基于頻度和基于規則對分詞組合結果進行排序。
3基于頻度的分詞結果排序算法
頻度排序算法有兩種:用戶使用頻度算法和網絡熱詞頻度算法。
3.1使用頻度
一個用戶有著自己固定的習慣、愛好和知識面,所以當一個用戶使用搜索功能時,其搜索的內容是有規律的。例如,一個計算機專業的人員,其搜索的內容很大概率與計算機有關;一個注重自己樣貌的女孩會十分關心化妝品;一名動漫愛好者會搜索與動漫相關的東西。基于此,可以搜集用戶的一些搜索信息,判斷該用戶有哪些習慣,從而提升用戶的搜索體驗。
前面提到過,在第一步分詞后,會得到幾種不同的分詞組,如果分詞組與用戶搜索信息具有很強的相關性,那么可以認為該分組是需要的。
用戶搜索信息就是用戶在搜索時輸入關鍵詞,可以在用戶輸入完畢時,將關鍵詞存入數據庫,數據庫中還會存有該用戶搜索該關鍵詞的頻度。如果不是第一次輸入該關鍵詞,就更新其頻度項。
(1)公式引出。如果一個用戶的某一個搜索關鍵詞頻度越高,而同時在分詞的某一詞組中也同樣存在該詞,那么就表示該詞組可能是用戶需要的。
采用與頻度有關的函數來表示這個可能性概率[6]。首先,用戶關鍵詞頻度的絕對值越高,那么其越有可能代表用戶的某一搜索習慣,所以該分組的可能性越高。其次,當用戶的搜索次數比較多時,不能單純使用關鍵詞的絕對值作為標準,用戶關鍵詞頻度的相對值(該關鍵詞的頻度除以總頻度)也會影響用戶頻度概率指標。
將用戶頻度概率指標定義為P1;
用戶關鍵詞頻度絕對值定義為N;用戶關鍵詞總頻度定義為S;
用戶關鍵詞絕對頻度的影響因子定義為a;
用戶關鍵詞相對頻度的影響因子定義為b;
其它因素定義為C1。
故用戶頻度概率指標P1可以表示為:
P1=a*N+b*NS+C1(2)
(2)參數確定方法。在該公式中,N,S可以從數據庫中查詢,a、b、C為未知量,所以需要用數據來訓練這個公式,得出a、b、C。該數據訓練的核心就是采用十分具有代表性的數據代入公式中,然后依據這些已知數據推導出需要的參數。
3.2搜索熱度
對一個詞,如果互聯網上其搜索的次數很高,那么它是一個熱門詞。熱門詞代表著大眾的搜索習慣,而其搜索的頻度越高,說明其在人群中的認同度和傾向性越高。同樣,用戶屬于大眾的一員,其搜索的內容會有一定概率包含搜索關鍵詞。所以,可以利用此來提高分詞的準確性。這種概率可以稱為網絡熱詞頻度概率指標,該指標計算需要由網絡熱詞字典和指標匹配標準這兩部分支持。
(1)網絡熱詞字典建立。網絡熱詞字典,是一個包含詞的網絡使用頻度的字典,其中包含大量的詞。該字典,可以看作是在大數據條件下的信息檢索。國內的大數據發展迅速,“百度”在其“百度風云榜”、“百度指數”等服務上提供了網絡關鍵詞大數據分析,十分便利,利用這些服務,可以將網絡熱詞字典建立起來。
(2)匹配標準。熱詞網絡搜索頻度越高,該詞所在的分詞詞組匹配概率越大,定義網絡熱詞頻度指標為P2 ,熱詞的頻度為T,熱詞頻度的因子為x,其它因素影響為C2,則網絡熱詞頻度指標為P2,可用下式表示:
P2=x*T+C2(3)
4基于規則的分詞結果排序算法
經過上述頻度概率指標算法,得到分詞詞組的概率排序名次。但是,在利用其概率指標函數計算出來的結果相差不大的情況下,仍不能準確判斷出采取哪種方案[7]。為了加強其準確度,還應在規則層面再次進行檢驗。
4.1固定匹配
固定搭配是具有固定結構的詞組。比如“發揚——精神”、“養成——習慣”等等。這些搭配出現在分詞詞組中,具有該固定搭配的分組的概率指標也會增大,而且,該固定搭配受其熱度影響。對于一個固定搭配而言,其熱度(網絡使用的頻度)越高,那么它被大眾認同的程度越高,這也就表明該固定搭配的成熟度越高。所以,固定搭配與其熱度(即大眾使用頻度有關)。
定義固定搭配概率指標為O,其使用頻度(熱度)為Q,該使用頻度的因子為y,其它因素為C3 。則固定搭配概率指標為O可以表示為:
O=y*Q+C3(4)
4.2語法匹配
詞與詞之間是有規則的,動詞與形容詞在一起構成的短語語法規則弱,與形容詞和名詞構成的詞組相比,后者明顯在語法規則上比前者好。語法規則在一定條件下,對于分辨出分詞詞組很有幫助。
在這里,可以為每種詞與詞之間的搭配依據其規則匹配度賦予一定的值,規則匹配度越高,其語法規則越強,形成的分組可能性越高[8]。在這里,以附加值的形式來描述語法規則對P的影響。
定義語法匹配附加值為Va。Va的值是由詞與詞之間的規則匹配度決定的,而詞與詞之間規則匹配度可以根據漢語語法和漢語使用習慣決定。
5結語
針對網絡短中文提出了分詞的優化算法,該方法有3個步驟:字符串分詞、頻度概率指標計算和規則匹配指標計算。其中,分詞概率指標貫穿整個研究的全部。利用數據進行擬合,定量提出了分詞概率指標的計算公式及求解方法。最后,利用數據集來對該算法公式進行檢測,發現該算法的正確率在80%以上,達到了實用的目的,但是由于語法匹配附加值取值不當,導致分組仍有提升空間。
參考文獻參考文獻:
[1]王連喜.微博短文本預處理及學習研究綜述[J].圖書情報工作,2013,57(11):125131.
[2]蔣紅.中文文本分類中文本表示及分類算法研究[D].金華:浙江師范大學,2007.
[3]朱世猛.中文分詞算法的研巧與實現[D].成都:電子科技大學,2011.
[4]宗成慶.統計自然語言處理[M].北京:清華大學出版社,2008.
[5]周程遠,朱敏,楊云,基于詞典的中文分詞算法研究[J].計算機與數字工程,2009(3):6871,87
[6]葉繼平,張桂珠,中文分詞詞典結構的研究與改進[J].計算機工程與應用,2012(23):139142.
[7]李家福,張亞非,一種基于概率模型的分詞系統[J].系統仿真學報,2002,14(5):544550.
[8]莫建文,鄭陽,首照宇,等,改進的基于詞典的中文分詞方法[J].計算機工程與設計,2013,34(5):18021807
責任編輯(責任編輯:陳福時)