曹 帥
(中國石油大學(華東)計算機科學與技術學院,青島 266580)
隨著自然語言處理以及大數據分析技術的快速發(fā)展,基于網絡中的文本數據來獲取網絡輿情空間中的熱點話題已經越來越快速、準確.同時以微博、微信為代表的社交網絡平臺已經融入百姓的日常生活,人們不僅可以基于社交網絡平臺獲取新鮮資訊,同時可以在平臺上自由發(fā)表個人觀點與日常生活狀態(tài),這使得民眾自由發(fā)表的言論成為社交網絡平臺中文本數據的主體.然而,社交媒體中的文本具有口語化程度高、來源廣泛的特點[1],這對自然語言處理技術的準確性帶來了新的挑戰(zhàn).
在中文自然語言處理技術中,文本分詞是十分重要的過程,分詞過程是將一段中文文本進行切分,從而識別一段文本中的各個詞語.分詞之后的文本數據可以進行詞向量訓練、語義聚類等進一步的分析處理,從而得到準確的情感分析、文本摘要等目標結果.但多數分詞算法如詞典匹配、正逆向最大匹配法、雙向最大匹配法以及CRF 序列標注[2]等,均從文本的語法、詞性規(guī)律入手,依賴于標注過詞性、詞頻等信息的詞典來對文本進行分詞,從而得到盡可能消除歧義的分詞結果,然而面對網絡輿情空間中充斥著的大量不規(guī)范使用、不符合詞性規(guī)律、口語化嚴重以及包含大量詞典未登錄詞的文本語料時,傳統(tǒng)分詞算法對命名實體以及網絡用語等新詞的識別能力較差.
在中文自然語言處理工具中,Jieba(結巴分詞)是一個簡單、高效、靈活的Python 工具庫,Jieba 工具庫中的語句簡潔凝練,提供多種模式對中文文本進行分詞,并且可以自由修改詞典文件,深受廣大自然語言處理初學者喜愛.為解決當前分詞算法對于新詞識別的痛點,本文提出使用關聯(lián)置信度與連接詞拆分的新詞發(fā)現(xiàn)算法,通過與結巴分詞結果結合的方式,對網絡輿情文本中的新詞進行發(fā)現(xiàn),該算法不依賴于完備的已標注詞典以及龐大的訓練語料,采用計算一個詞與其左右鄰接詞集中各個詞之間的關聯(lián)置信度的方法,對被結巴分詞錯誤拆分的詞語進行合并,并對包含連接詞的較長新詞進行拆分,從而實現(xiàn)對新詞尤其是命名實體、網絡用語的發(fā)現(xiàn)功能,并避免新詞結果過長形成短語塊的情況出現(xiàn).
在中文自然語言處理中,新詞指的是在分詞詞典中沒有收錄,但又確實能稱為詞的詞語[1],如一些命名實體(人名、地名)以及網絡用語,此類詞語靈活性大,大多不符合語法、構詞法規(guī)律,但又能表示一定的語義,是否能準確識別文本中的新詞會直接影響后續(xù)算法對文本語義的判斷,新詞識別的準確率已成為評價分詞算法的重要標準.
目前國內外針對新詞發(fā)現(xiàn)的算法分為兩類,包括基于頻繁模式的新詞發(fā)現(xiàn)算法以及基于序列標注的新詞發(fā)現(xiàn)算法.
基于頻繁模式的新詞發(fā)現(xiàn)算法通過統(tǒng)計方法計算詞語在語料中的相關信息,進而確定需要合并或重新切分的詞語.王雪瑞等[3]針對直播彈幕文本,引入邊界增強上下文熵的概念,通過計算詞語的上下文熵確定一個被拆分的詞應該與其左右哪一側的詞語進行合并,從而得到新詞;顧森[4]基于大量的文本語料,以詞語的內部凝聚程度以及自由運用程度為判別標準,計算詞語在文本語料中的熵值,文獻認為熵值低的詞可能是被錯誤拆分的詞,應對這樣的詞進行合并處理從而得到新詞;王欣[5]利用多字互信息來判定一個詞語的內部結合程度,并通過鄰接熵確定詞語的左右邊界,該方法從內外兩方面入手,認為一個詞語應該是內部緊密關聯(lián)且與外部其它詞語相對獨立的,通過計算兩種標準提高了新詞發(fā)現(xiàn)的準確性;Zhang 等[6]利用帶有詞性標注和詞頻標記的詞典,結合互信息和最大熵模型在分詞過程中發(fā)現(xiàn)新詞;陳小紅[7]等針對游戲領域文本,通過從相關語料庫中抽出部分游戲術語、簡稱與知識庫進行結合,對文本數據進行詞性、領域標記,該方法將分詞算法轉換為知識庫實體鏈接問題,在特定領域下提高了分詞結果的準確性;王珊珊等[8]通過對一個時間跨度的文本特征進行分析比對,為每個詞語添加時間跨度信息來判斷該詞是否為新詞、熱點詞;翟暢[9]提出了基于非結構化文本的目標領域未登錄詞識別策略和基于商業(yè)語料庫融合的分詞詞典構建策略,通過統(tǒng)計詞語在文本語料中的頻度信息,結合領域術語知識庫,對特定領域的文本進行新詞發(fā)現(xiàn);張婧等[10]通過詞向量訓練得到弱成詞詞串集合,結合詞頻統(tǒng)計對候選新詞進行了有效過濾,在社交媒體語料分詞實驗中取得了較高的準確率;袁華等[11]提出了基于最大置信度的中文復合新詞發(fā)現(xiàn)方法,該方法采用數據挖掘中Apriori 算法的支持度與置信度,將新詞發(fā)現(xiàn)任務轉化為頻繁模式發(fā)現(xiàn)任務,首先獲取文本數據的頻繁模式,再利用剪枝操作對頻繁模式結果進行精簡,最終得出復合新詞結;吳宏洲[12]與李亞松[13]等均通過從語料中提取候選詞,計算候選詞的支持度與置信度,并分別設定閾值對候選詞進行篩選,從而完成對文本語料的新詞抽取工作.
基于頻繁模式的新詞發(fā)現(xiàn)算法首先要求候選詞具有一定的頻繁程度,進而以詞語的熵值、互信息、支持度與置信度的計算為主,熵值包括信息熵、鄰接熵,熵值可以衡量詞語在語料中的混亂程度,一個詞語的熵值越高,則該詞在語料中越靈活,可以跟多個其它詞語組成上下文,這說明這種詞語本身就是比較完備的整體,可以算作一個詞語,而熵值越低說明能與該詞語組成上下文的詞語越少,這說明該詞可能是一個被錯誤切分的詞,需要與其左右鄰接詞組成一個完整的詞語;互信息用以衡量一個詞內部各個文字之間的相互依賴程度,互信息越大說明組成該詞的各個字詞單元不應再進行拆分;支持度與置信度是數據挖掘中的常用指標,分別衡量了事務項的頻繁程度與關聯(lián)程度.基于頻繁模式的新詞發(fā)現(xiàn)算法通常是在初步分詞后,對分詞結果進行再檢驗,對錯誤拆分的詞語進行合并,對錯誤合并的詞語進行拆分,從而發(fā)現(xiàn)語料中的新詞.然而在包含新詞的新事件發(fā)生初期,總體數據量較少,難以利用統(tǒng)計法發(fā)現(xiàn)頻繁模式,在以微博、微信朋友圈、直播彈幕為主的網絡短文本中,由于詞語搭配的出現(xiàn)偶然性較大,在少量語料中計算得到的熵值并不準確,從而會導致多個詞語被合并成短語塊的情況出現(xiàn),從而使得分詞結果的粒度變粗,進而影響后續(xù)文本處理結果的準確性.
基于序列標注的新詞發(fā)現(xiàn)算法通過對文本中詞語的詞性、文字在詞中的位置等信息進行標注,通過預測序列變化的方式對文本進行分詞,在分詞過程中發(fā)現(xiàn)新詞.曹菲[14]解決了基于Hash 的正向回溯算法解決分詞過程中的歧義問題,并將CRF 模型與正向最大匹配相結合,從而提高對文本中命名實體的識別準確率;李博涵等[15]針對Prefixspan 算法在文本序列標注過程中容易出現(xiàn)的問題,如序列模式不連續(xù)、序列模式項之間存在包含關系等,融合了詞語的頻繁模式對算法進行了改進,該方法基于詞語的頻繁程度、詞性與語義對序列標注的結果進行過濾從而得到新詞;色差甲等[16]將最大熵模型嵌入到隱式馬爾科夫模型HMM 中,進而對文本的BEMS 序列進行標注,該方法在藏文新詞如人名、地名、機構名、事件名等方面具有良好的效果,提高分詞結果的正確率、召回率以及F 值接近2 個百分點;周霜霜等[17]提出了一種融合規(guī)則和統(tǒng)計的微博新詞發(fā)現(xiàn)算法,該方法通過對微博文本詞語的構詞規(guī)則進行歸納總結,同時結合CRF 模型對文本的BEMS 序列進行標注,從而提高對微博文本分詞和詞性標注的精度.
基于序列標注的新詞發(fā)現(xiàn)算法,是在基于序列標注的分詞算法基礎上進行改進,使得序列標注的準確性有所提高,以BEMS 序列為標注法的新詞發(fā)現(xiàn)算法居多,其中B 表示詞語開始的字,M 表示詞語中間的字,E 表示詞語結束的字,S 表示單字詞語.對文本的序列標注依賴于有標注的訓練語料,通過訓練語料才能得出序列變化的概率分布模型,而針對社交媒體中的短文本數據缺乏可靠的已標記語料,且人為標注的方法費時費力.
針對上述兩大類新詞發(fā)現(xiàn)算法中的不足,本文受數據挖掘中Apriori 算法的啟發(fā),提出結合關聯(lián)置信度與結巴分詞的新詞發(fā)現(xiàn)算法,該算法以結巴分詞中精確模式的分詞結果為基礎,通過計算詞語與其左右鄰接詞集中各個詞語之間的關聯(lián)置信度,找出被錯誤切分的詞語,將多個詞語間關聯(lián)置信度高的詞語合并成候選新詞,之后通過識別候選新詞中的連接詞來防止多個詞語被連接成短語塊的情況出現(xiàn),從而實現(xiàn)在單條輿情文本而非整體數據集中的新詞發(fā)現(xiàn)工作.
在第2 部分中,本文介紹了結巴分詞的基本原理,對本文提出的新詞發(fā)現(xiàn)算法中的6 個組成部分進行定義,并闡述算法的具體流程;第3 部分中,本文以微博文本為實驗語料,測試本文提出的新詞發(fā)現(xiàn)算法的性能,并與結巴分詞、文獻[12]中基于最大置信度的中文復合新詞發(fā)現(xiàn)方法的結果進行對比實驗,并設置不同參數來驗證參數對新詞結果的影響;在第4 部分中,將對本文的貢獻進行總結,并對后續(xù)工作進行展望.
結巴分詞是一種融合了Trie 樹詞圖掃描、動態(tài)規(guī)劃以及HMM 模型的分詞算法,結合了基于詞典匹配的分詞算法簡單、準確以及基于序列標注的分詞算法對詞典未登錄詞具有區(qū)分能力的優(yōu)點,結巴分詞提供3 種分詞模式,分別是精確模式、全模式以及搜索引擎模式,精確模式試圖將句子最精確地切分,全模式則是將句中所有可能成詞的詞語都找出,搜索引擎模式是在精確模式的基礎上,對長詞再次切分得到適合用于搜索引擎的分詞結果.由于全模式以及搜索引擎模式的分詞結果會將一個詞語多次拆分,因此其結果會出現(xiàn)一個詞包含另一個詞的情況,從而改變了原文本的順序,若在此結果上對錯誤拆分的詞語進行合并會得到錯誤的結果.本文采用以結巴分詞提供的精確模式分詞結果為基礎,該模式的分詞結果粒度細,極少出現(xiàn)詞語被錯誤合并的情況,但詞語易被錯誤拆分,因此本文提出的算法通過計算一個詞語與其左右鄰接詞集中各個詞語的關聯(lián)置信度來對錯誤拆分的詞語進行合并得到候選新詞,進而采用判斷候選新詞中的連接詞左右平均關聯(lián)置信度的情況對過度合并的候選新詞進行拆分.針對算法中的分詞結果、左右鄰接詞集、關聯(lián)置信度、關聯(lián)置信度閾值、候選新詞以及連接詞有以下定義:
定義1.分詞結果:設一段文本為T,通過調用Python 中的Jieba 庫中的cut()方法,將文本T作為參數傳入,得到一個有序的列表Tc=[w1,···,wi,···,wn] (1≤i≤n),其中wi表示一個字詞單元,它可能是一個單獨的字,也可能是一個詞語,也可能是標點符號,下標i并不是字詞單元在序列中出現(xiàn)的位置,而是表示字詞單元的唯一標識,即一個wi表示一個唯一的字詞單元,同一字詞單元可以在Tc中多次出現(xiàn),稱Tc為文本T的分詞結果.
定義2.左右鄰接詞集:在文本T的分詞結果Tc中,對于一個字詞單元wi,其左側鄰接詞集NL是由wi在Tc中每個出現(xiàn)位置左側的字詞單元(標點符號除外)構成的集合;其右側鄰接詞集NR是由wi在Tc中每個出現(xiàn)位置右側的字詞單元(標點符號除外)構成的集合.
定義3.關聯(lián)置信度:對于兩個字詞單元wi與wj,若wi與wj分別存在于彼此的左側鄰接詞集與右側鄰接詞集,或分別存在于彼此的右側鄰接詞集與左側鄰接詞集時,則可以計算wi與wj的關聯(lián)置信度,關聯(lián)置信度用以衡量在文本T中一個字詞單元出現(xiàn)的情況下,另一個字詞單元與之相鄰出現(xiàn)的概率,計算公式如式(1)所示:
Conf(wi→wj)表示字詞單元wi出現(xiàn)時,wj與其鄰接出現(xiàn)的關聯(lián)置信度,計算方式為wi與wj在文本T中鄰接出現(xiàn)的概率除以wi在文本T中出現(xiàn)的概率,基于大數定律,wi與wj在文本T中鄰接出現(xiàn)的概率可以用wi與wj在文本T中鄰接出現(xiàn)的次數除以分詞結果Tc的列表長度表示,同理,wi在文本T中出現(xiàn)的概率可以用wi在文本T中出現(xiàn)的次數除以分詞結果Tc的列表長度表示.
定義4.關聯(lián)置信度閾值:在計算兩個字詞單元wi與wj的關聯(lián)置信度時,需要分別計算關聯(lián)置信度Conf(wi→wj)與Conf(wj→wi),關聯(lián)置信度閾值Th用以規(guī)定兩個字詞單元可以合并成候選新詞時需要達到的最小關聯(lián)置信度的值,只有當Conf(wi→wj)與Conf(wj→wi)均大于Th時,才稱兩個字詞單元wi與wj滿足關聯(lián)置信度閾值.
定義5.候選新詞:當兩個字詞單元wi與wj滿足關聯(lián)置信度閾值Th時,可對兩個字詞單元進行合并得到(wi+wj),稱(wi+wj)為一個候選新詞.
定義6.連接詞:若字詞單元wi與wj可以合并為(wi+wj),且字詞單元wj與wk可以合并為(wj+wk),則可合并為候選新詞(wi+wj+wk),稱字詞單元wj為候選新詞(wi+wj+wk)的連接詞;若候選新詞由多個字詞單元組成,則除了第一個和最后一個字詞單元,其余構成候選新詞的字詞單元均為該候選新詞的連接詞.
基于上述定義,結合關聯(lián)置信度與結巴分詞的新詞發(fā)現(xiàn)算法包括文本分詞、關聯(lián)置信度計算以及連接詞拆分3 個步驟.
文本分詞步驟采用Jieba 工具庫提供的精確分詞模式,對待進行新詞發(fā)現(xiàn)的文本T進行拆分得到其分詞結果Tc.本文所提出的新詞發(fā)現(xiàn)算法,是對少量網絡輿情文本而非整體數據集進行新詞發(fā)現(xiàn),由于網絡輿情文本長度較短,若一個詞語在一條網絡輿情文本中只出現(xiàn)一次,則通過定義3 計算得到的該詞與其左右鄰接詞的關聯(lián)置信度容易達到100%,因此該詞與其左右鄰接詞極易滿足關聯(lián)置信度閾值從而成為一個候選新詞.
為避免此類偶然情況的發(fā)生,本文提出的新詞發(fā)現(xiàn)算法采用將多條網絡輿情文本進行合并以加長待分詞文本長度.設網絡輿情文本數據共有n條,每m條文本數據進行合并得到合并文本段T’=T1+T2+···+Tm,共得到 ?n÷m?個合并文本段,對每個合并文本段進行分詞,得到多個分詞結果Tc',對每個分詞結果Tc'進行新詞發(fā)現(xiàn).
對于一個分詞結果Tc',通過遍歷Tc'中的各個字詞單元得到每個字詞單元wi在Tc'中出現(xiàn)的次數以及wi與其左右鄰接詞集中的各個字詞單元在Tc'中鄰接出現(xiàn)的次數,基于式(1)計算每個字詞單元與其左右鄰接詞集中各個字詞單元之間的關聯(lián)置信度,將所有滿足關聯(lián)置信度閾值Th的字詞單元對進行合并,得到候選新詞集W’.
候選新詞集W’是將所有滿足關聯(lián)置信度閾值的字詞單元對合并得到的集合,W’中的候選新詞可能是將被結巴分詞過度拆分的詞語合并得到的正確新詞結果,也可能是被過度合并形成的短語塊,形成短語塊的原因可能是多個字詞單元構成的短語在文本中多次、單調出現(xiàn),單調出現(xiàn)指的是構成該短語塊的字詞單元在合并文本段T’中只與構成該短語的其它字詞單元鄰接出現(xiàn),導致這些字詞單元之間均滿足關聯(lián)置信度閾值而被合并,有些短語可能是較長的命名實體,而有些則是包含動詞結構的實際短語,例如“我/去/上學”,短語不屬于新詞發(fā)現(xiàn)的范疇,因此需要對候選新詞集W’中的候選新詞進行過濾篩選,從而得到最終的新詞結果.
在本文提出的新詞發(fā)現(xiàn)算法中,定義了構成短語的字詞單元中連接詞的存在,在連接詞拆分步驟中,遍歷候選新詞集W'中的候選新詞,若一個候選新詞由3 個及以上的字詞單元構成(即候選新詞中有存在連接詞),則對其進行以下操作:
(1)找出候選新詞中的連接詞,判斷每個連接詞與其左右鄰接詞的平均關聯(lián)置信度的大小情況,平均關聯(lián)置信度為Conf(wi→wj)與Conf(wj→wi)的平均值;
(2)若一個連接詞與其左側、右側字詞單元的平均關聯(lián)置信度值不同,則將該候選新詞進行拆分,拆分點為連接詞與其左、右側字詞單元平均關聯(lián)置信度較小的兩字詞單元之間;
(3)若一個連接詞與其左側、右側字詞單元的平均關聯(lián)置信度值相同,則保持兩個字詞單元合并的狀態(tài),繼續(xù)判斷候選新詞中的下一個連接詞;
(4)通過將帶有連接詞的候選新詞進行拆分,去除由單個字詞單元組成的結果,得到最終新詞結果.
通過對候選新詞中的連接詞進行拆分,可以把由多個字詞單元合并成的短語塊進行拆解,降低了最終新詞結果的粒度,使得拆分出來的新詞更為獨立,從而防止新詞淹沒在短語中.
為驗證本文提出的新詞發(fā)現(xiàn)算法的有效性,筆者使用網絡爬蟲在新浪微博中爬取了2019年9月至10月內涉及體育賽事以及國慶檔電影總共1 GB 的純文本數據,包括2644 494 條微博言論,512 948 156 個字符.實驗通過設置不同合并文本數m與關聯(lián)置信度閾值Th進行了多組實驗.由于實驗所使用的數據時效性較新,網絡中缺乏相應的正確詞語標注內容,因此本文無法使用正確率、召回率等性能指標對新詞發(fā)現(xiàn)結果進行評價,本文將結合具體情況對結果進行分析.
專利[11]與文獻[12,13]均采用了置信度作為新詞發(fā)現(xiàn)的有效工具,對初步分詞結果進行處理以得出新詞結果.然而在計算置信度之前,需要計算詞語的支持度,只有滿足最小支持度也就是在文本語料中出現(xiàn)次數高于一定閾值的字詞單元,才有資格與其它字詞單元計算置信度,并且在得出候選詞后,沒有對候選詞進行切分操作.實驗中選用文獻[12]中的新詞抽取方法,同樣對結巴分詞精確模式的初步分詞結果進行處理,與本文所提出的新詞發(fā)現(xiàn)算法的結果進行了對比.
實驗所用操作系統(tǒng)采用Windows 10 專業(yè)版操作系統(tǒng),處理器為Inter(R)Core(TM)i7-8700K CPU,3.70 GHz,16 GB 內存,實驗代碼使用Python 3.5 編寫,其中Jieba 工具庫的版本號為0.39.
本文所提出的新詞發(fā)現(xiàn)算法,采用了合并多條文本數據的方式以擴大單條文本長度,從而減少偶然出現(xiàn)的詞語搭配的關聯(lián)置信度達到100% 的情況出現(xiàn),因此合并文本數m的設置會影響最終新詞發(fā)現(xiàn)結果的情況.在本組實驗中首先設置m=100,即每100 條微博言論數據融合為1 條文本數據,融合處理后共有26 445 條融合后的文本數據,使用Jieba 工具庫的精確模式對每條文本數據進行分詞,標出標點符號,之后針對每條融合文本數據的分詞結果,統(tǒng)計每個字詞單元在當前融合文本中出現(xiàn)的次數并計算字詞單元與其左右關聯(lián)詞集中各字詞單元的關聯(lián)置信度,設置關聯(lián)置信度閾值Th=0.9,根據平均關聯(lián)置信度的大小對合并出的帶有連接詞的候選新詞進行切分,共得到新詞結果1874 個.新詞是從多個合并文本段中得出,最終新詞結果是由每個合并文本段中得到的新詞合并而來,新詞的出現(xiàn)次數則是在全部合并文本段中出現(xiàn)的總數,部分新詞結果如表1所示;令m=10,Th=0.9,使用相同語料共挖掘出新詞567 個,部分新詞結果如表2所示,在表2中去除了表1中出現(xiàn)過的新詞.其中在文獻[12]的新詞抽取方法中同樣對融合文本數據進行處理,并設支持度為10%,置信度為90%.
表1 合并文本數m=100 部分新詞結果
表2 合并文本數m=10 部分新詞結果
由上述實驗可見,本文新詞發(fā)現(xiàn)算法在對命名實體的識別上具有出色表現(xiàn),可合并兩組及以上被結巴分詞過度拆分的詞語,準確發(fā)現(xiàn)國內外人名、影視劇名及網絡用語等;參數m的設置對新詞發(fā)現(xiàn)結果具有一定影響,m值越小則單條語料中字符數越少,因此一組詞語搭配在單條語料中出現(xiàn)的頻次更少,詞語搭配的多個詞語之間更容易達到關聯(lián)置信度閾值從而被本文算法認定為新詞.如“微博/視頻”、“北京/時間”等詞語,組成新詞的兩個詞語均具有明確的意義,組合后則成為具有不同含義的命名實體詞;如“X/玖/少年/團肖戰(zhàn)”、“曲尼/次/仁”等復雜命名實體的詞語,在結巴分詞完全錯誤的情況下可清晰準確對過度拆分的詞語進行合并.組成此類復雜命名實體新詞中的連接詞如“少年”、“次”在總體語料中獨立出現(xiàn)的次數非常多,通過減少參數m的設置可減少此類連接詞在單條語料中出現(xiàn)的次數,從而使其更易與其它詞語滿足關聯(lián)置信度閾值以得出準確的新詞結果.
文獻[12]中的新詞抽取方法在字詞單元較為頻繁時,但由于缺少對候選詞的拆分過程,因此容易將字詞單元連接成較長的短語,如“國慶檔電影中國機長”;而當字詞單元的頻繁程度低于最小支持度時,新詞抽取方法則不認為該字詞單元可能新詞的組成部分,因此無法識別出現(xiàn)次數較少的新詞.
關聯(lián)置信度閾值Th是衡量兩個字詞單元能否合并為候選新詞的界限,Th的值越低則兩個字詞單元更容易被合并.在本組對比實驗中,設置Th=0.5,m=100,得到的部分新詞發(fā)現(xiàn)結果如表3所示,在表3中詞去除了在表1中出現(xiàn)過的新詞.其中在文獻[12]的新詞抽取方法中設支持度為10%,置信度為50%.
表3 關聯(lián)置信度閾值Th=0.5 部分新詞結果
對比表3與表1的結果可以發(fā)現(xiàn),通過降低關聯(lián)置信度閾值Th的取值,可以提升對由“中國”、“我的”等高頻詞匯組成的新詞的發(fā)現(xiàn)能力,由于實驗所用語料臨近新中國成立70 周年,因此“中國”、“祖國”等詞語出現(xiàn)的次數較多,其它詞語很難與“中國”、“祖國”達到較高關聯(lián)置信度,但在降低關聯(lián)置信度閾值后,本文提出的算法成功挖掘出新詞“中國機長”、“我和我的祖國”,這兩個詞語為2019年國慶檔熱映的電影名,是不同于其組成部分詞語意義的命名實體詞;且可以看出其在語料中出現(xiàn)極為頻繁;同時由于降低了關聯(lián)置信度閾值,如同“開學/第一課”、“女籃/亞洲/杯”、“東京/奧運會”等新詞被挖掘,這些新詞的每個組成部分都具有實際意義,合并在一起時可以讓命名實體包含更多信息,并且更加符合文本想要表達的實體.
在降低置信度取值后,文獻[12]中的新詞抽取方法會結合出更多的短語結果,同時對低頻度的新詞結果的識別能力較差,如要增加該方法對低頻新詞的識別能力,需要進一步降低支持度閾值,然而降低支持度閾值后會導致計算時間增加以及錯誤結果的出現(xiàn).
關聯(lián)置信度閾值Th的取值需要結合實際的語料情況,若設置過低則會挖掘出過多不正確的新詞,不正確的新詞結果中容易出現(xiàn)包含“的”、“我”、“和”等高頻字.對于不正確的新詞結果,可以通過高頻字詞典對新詞結果進行過濾,去除包含高頻字的新詞結果.
通過實驗驗證,本文所提出的結合關聯(lián)置信度與結巴分詞結果的網絡輿情新詞發(fā)現(xiàn)算法在新詞尤其是命名實體的發(fā)現(xiàn)工作中具有出色的表現(xiàn),結巴分詞在處理人名時,雖可以準確識別姓氏,但結巴分詞難以準確分出包含3 個及以上字數的人名,結巴分詞通常將姓氏字與跟在姓氏字后面的第一個字分為一詞,跟在姓氏字后面的第二個字則視為單獨的字,從而造成錯誤識別人名的情況,本文提出的算法通過計算組成人名的字詞之間的關聯(lián)性,在面對3 個及以上字數的人名時同樣可以準確識別此類命名實體;針對網絡輿情中的網絡用語以及網絡媒體命名實體,結巴分詞通常會將此類詞語過度拆分為單個的字,本文提出的算法可以將其進行合并,從而得出詞典中未登錄且具有實際意義的網絡用語詞.
本文所提出的新詞發(fā)現(xiàn)算法是在少量文本語料中進行新詞發(fā)現(xiàn),雖然對網絡輿情文本尤其是以微博、直播彈幕為主的超短文本進行了合并以加長單條文本數據的長度,但令文本合并數m=10 時,單條合并文本字段符數不超過1000 個,本文所提出的新詞發(fā)現(xiàn)算法依然可以準確發(fā)現(xiàn)新詞.因此本文提出的新詞發(fā)現(xiàn)算法不依賴于龐大的數據量,在新的網絡輿情事件發(fā)生的初期,缺乏數據量的情況下依然可以及時發(fā)現(xiàn)新事件文本數據中包含的新詞.
由于本文提出的新詞發(fā)現(xiàn)算法不進行字詞單元頻繁程度的判定,因此相比于其它應用置信度對新詞進行抽取方法,可以對低頻度的新詞進行識別,同時在通過關聯(lián)置信度連接字詞單元后,通過對連接詞進行拆分,確保了新詞結果不會過長導致出現(xiàn)短語塊結果.
本文提出的結合關聯(lián)置信度與結巴分詞的新詞發(fā)現(xiàn)算法,是在Jieba 工具庫精確模式分詞結果的基礎上,通過計算字詞單元與其左右鄰接詞集中各個字詞單元之間的關聯(lián)置信度,將滿足關聯(lián)置信度閾值的字詞單元進行合并得到候選新詞,之后根據候選新詞中連接詞與其左右鄰接詞的平均關聯(lián)置信度大小關系對候選新詞進行拆分,從而彌補了結巴分詞容易將詞語過度拆分導致分詞結果不正確的錯誤,同時避免了字詞單元在合并過程中過度合并導致形成短語塊的問題.
實驗表明本文提出的新詞發(fā)現(xiàn)算法可以準確識別新詞,尤其是命名實體以及網絡用語,并且該算法可以在語料數較少的數據集中準確發(fā)現(xiàn)新詞,適應了在新事件發(fā)生初期,包含新詞的數據量較少的實際應用情況,使得文本分析工作可以在新事件爆發(fā)前率先發(fā)現(xiàn)新詞從而快速提取新事件信息.
本文提出的新詞發(fā)現(xiàn)算法是對結巴分詞的初步分詞結果進行修正,在今后的工作中將對本文提出的算法與其它較為成熟的分詞工具進行融合,使新詞發(fā)現(xiàn)的準確率有進一步的提升.