魏爽
(三亞學(xué)院信息與智能工程學(xué)院,海南 三亞 572000)
各種信息源的信息每天都在快速地增長(zhǎng),從大量的信息中提取并發(fā)現(xiàn)有價(jià)值的信息的需要也與日俱增。數(shù)據(jù)挖掘就是一個(gè)用于從大量的原始數(shù)據(jù)集中提取有用信息的方法。
文本挖掘是從不同的文本源中通過(guò)識(shí)別不同的模式和趨勢(shì)來(lái)獲得高質(zhì)量信息的過(guò)程。由于傳統(tǒng)的數(shù)據(jù)庫(kù)有已知的、固定的結(jié)構(gòu),而文檔是非結(jié)構(gòu)化的或者半結(jié)構(gòu)化的,文本挖掘比一般意義上的數(shù)據(jù)挖掘要困難得多[1,2]。故而,文本挖掘涉及到一系列的進(jìn)行數(shù)據(jù)預(yù)處理和建模的步驟,以獲得適用于結(jié)構(gòu)化數(shù)據(jù)挖掘方法的數(shù)據(jù)[3]。文本挖掘可以節(jié)省大量的人力,通過(guò)利用信息檢索、機(jī)器學(xué)習(xí)、信息理論以及概率統(tǒng)計(jì)等方法,可以解決諸如文檔檢索、文檔歸類(lèi)、文檔比較、提取關(guān)鍵信息、摘要文檔等問(wèn)題。
自然語(yǔ)言處理(Natural Language Processing,NLP)是計(jì)算機(jī)科學(xué)、人工智能以及語(yǔ)言學(xué)結(jié)合的一門(mén)技術(shù),處理機(jī)器和人類(lèi)自然語(yǔ)言的交互[4]。要機(jī)器理解人類(lèi)語(yǔ)言,就需要對(duì)人類(lèi)對(duì)世界的認(rèn)識(shí)進(jìn)行一定形式的表達(dá)。文本挖掘就是利用自然語(yǔ)言處理和數(shù)據(jù)挖掘技術(shù),試圖發(fā)現(xiàn)新的未知的信息。文本挖掘存在的一個(gè)問(wèn)題就在于,自然語(yǔ)言是用于人類(lèi)間交流以及記錄信息的,而計(jì)算機(jī)離理解自然語(yǔ)言有很大的差距。
聚類(lèi)可以認(rèn)為是非監(jiān)督學(xué)習(xí)的最重要的一個(gè)問(wèn)題,它要在沒(méi)有標(biāo)注的數(shù)據(jù)中找到一種結(jié)構(gòu)。一個(gè)類(lèi)別就是一組有相似特征的對(duì)象的集合,而與其它類(lèi)中對(duì)象不相似。
動(dòng)詞相關(guān)的角色研究稱(chēng)為題元角色分析。一般來(lái)說(shuō),一個(gè)句子的語(yǔ)義結(jié)構(gòu)可以通過(guò)動(dòng)詞參數(shù)結(jié)構(gòu)(Verb Argument Structure)來(lái)辨別[5]。動(dòng)詞參數(shù)結(jié)構(gòu)可以將文本表面的結(jié)構(gòu)參數(shù)和其語(yǔ)義角色關(guān)聯(lián)起來(lái)。
基于概念(concept-based)的挖掘模型在句子、文檔以及文集級(jí)別分析句子的各個(gè)項(xiàng)目(item),可以高效地將句子中對(duì)于構(gòu)成句子語(yǔ)義非重要的項(xiàng)目和包含了句子語(yǔ)義的概念區(qū)分開(kāi)。采用該模型,可以通過(guò)句子的語(yǔ)義有效地識(shí)別出文檔間重要的匹配概念。
模型分析句子和文檔中每一個(gè)項(xiàng)目的語(yǔ)義結(jié)構(gòu)而不是僅僅計(jì)算出其在一個(gè)文檔中的出現(xiàn)頻率。模型的輸入為原始的文本文檔,每個(gè)文檔都定義好了句子邊界。文檔中的每個(gè)句子的每個(gè)項(xiàng)目都會(huì)被自動(dòng)地貼上標(biāo)注。貼上這些語(yǔ)義角色標(biāo)注后,文檔中的每個(gè)句子就會(huì)有一個(gè)或者更多的帶標(biāo)注的動(dòng)詞參數(shù)結(jié)構(gòu)(Verb Argument Structure)。這些動(dòng)詞參數(shù)結(jié)構(gòu)的數(shù)量完全取決于句子中的信息量。擁有多個(gè)帶有參數(shù)的動(dòng)詞的句子,就會(huì)有多個(gè)帶標(biāo)注的動(dòng)詞參數(shù)結(jié)構(gòu)。這些標(biāo)注決定組成句子語(yǔ)義的項(xiàng)目在句子中的語(yǔ)義角色。句子中的每個(gè)項(xiàng)目有一個(gè)語(yǔ)義角色,即“概念”(concept)。概念可以是一個(gè)詞,或一個(gè)短語(yǔ),完全取決于句子的語(yǔ)義結(jié)構(gòu)。當(dāng)對(duì)一個(gè)新的文檔進(jìn)行分析的時(shí)候,該挖掘模型通過(guò)掃描新文檔、提取出匹配的概念,可以檢測(cè)出該文檔中與之前處理過(guò)的所有文檔相匹配的概念。
帶標(biāo)注的動(dòng)詞參數(shù)結(jié)構(gòu)是語(yǔ)義角色標(biāo)注的輸出,會(huì)在句子、文檔以及文集等級(jí)別分別進(jìn)行分析。在該模型中,動(dòng)詞和其參數(shù)都認(rèn)為是項(xiàng)目。一個(gè)項(xiàng)目可以視作同一個(gè)句子中的多個(gè)動(dòng)詞的參數(shù)。這就意味著,這些項(xiàng)目在一個(gè)句子中可能會(huì)有多個(gè)語(yǔ)義角色。
通過(guò)對(duì)文檔進(jìn)行NLP,可以獲取其中的概念。例如,對(duì)于句子“張三打球”,動(dòng)詞是“打”,ARG0是“張三”,ARG1是“球”。這就貼上了語(yǔ)義標(biāo)注。通過(guò)使用語(yǔ)義角色,就可以獲得詞在句子中的內(nèi)容。
模型分為以下四個(gè)部分:
(1)文本預(yù)處理
從文集中讀出文檔。根據(jù)每個(gè)句子中項(xiàng)目對(duì)應(yīng)的動(dòng)詞數(shù)量,將這些參數(shù)標(biāo)注為ARG0、ARG1、ARG2等。此外,降低文本的維度在進(jìn)行文本挖掘時(shí)也很重要,即去除非必要詞語(yǔ),可以通過(guò)標(biāo)準(zhǔn)停止字列表實(shí)現(xiàn):對(duì)每一個(gè)詞進(jìn)行檢測(cè),如果是一個(gè)停止字,如“的”、“地”、“得”、“啊”、“了”等,就認(rèn)為其是非關(guān)鍵詞并將其移除。
(2)概念識(shí)別
通過(guò)第一步,留下來(lái)帶標(biāo)注的待匹配的項(xiàng)目,每個(gè)項(xiàng)目就是一個(gè)概念。概念分析分三種:基于句子的概念分析,基于文檔的概念分析以及基于文集的概念分析。通過(guò)基于句子的概念分析,獲取概念項(xiàng)目頻率(conceptual term frequency,ctf)。通過(guò)基于文檔的概念分析,獲取項(xiàng)目頻率(term frequency,tf),即概念在原始文檔中出現(xiàn)的次數(shù)。通過(guò)基于文集的概念分析,獲取文檔頻率(document frequency,df),用于區(qū)別不同的文檔。
(3)計(jì)算ctf
首先,計(jì)算出句子s中的ctf,即句子s的動(dòng)詞參數(shù)結(jié)構(gòu)中概念c出現(xiàn)的次數(shù)。然后,計(jì)算文檔d中概念c的ctf。在一個(gè)文檔d中,對(duì)于每個(gè)概念c,在不同的句子中,可能有多個(gè)ctf,那么,文檔d中概念c的ctf值就通過(guò)如下公式計(jì)算:
其中,sn為文檔d中包含概念c的句子的總數(shù),ctfn為第n個(gè)句子中概念c的ctf值。
(4)文檔聚類(lèi)
聚類(lèi)就是將一組對(duì)象集進(jìn)行分組,這樣每組中的對(duì)象在某種意義上比其他組中的對(duì)象有更多的相似處。聚類(lèi)是探測(cè)性數(shù)據(jù)挖掘的主要工作,統(tǒng)計(jì)分析的常用技術(shù)聚類(lèi)算法有很多,這里采用層次聚類(lèi)和k-最近鄰聚類(lèi)方法[6-8]。層次聚類(lèi)是一種非遞增貪婪聚類(lèi)算法,用來(lái)將原始文檔數(shù)據(jù)進(jìn)行分層。K-最近鄰是一種遞增式的聚類(lèi)算法,對(duì)于每個(gè)新文檔,先算出和所有其它文檔的相似度,然后選取最相近的k個(gè)文檔,并將該新文檔歸入到這k個(gè)文檔所屬類(lèi)中。
文檔d1和d2相似度的計(jì)算見(jiàn)公式(2)和(3)。其中l(wèi)i1、li2分別為兩個(gè)文檔中動(dòng)詞參數(shù)結(jié)構(gòu)中每個(gè)概念的長(zhǎng)度,Lvi1、Lvi2為包含匹配概念的動(dòng)詞參數(shù)結(jié)構(gòu)的長(zhǎng)度,N為文檔的總數(shù)。
通過(guò)公式(3)計(jì)算出文檔d中概念i的基于概念的權(quán)值,其中tfweighti的值代表文檔d中概念i在文檔級(jí)別的權(quán)值,ctfweighti代表文檔中概念i根據(jù)其在文檔d中句子語(yǔ)義的組成在句子級(jí)別的權(quán)值。當(dāng)概念i出現(xiàn)在少量的文檔中時(shí),log(N/dfi)補(bǔ)償了其在文集級(jí)別的權(quán)值。tfweighti和ctfweighti的和準(zhǔn)確表達(dá)了每個(gè)概念對(duì)句子語(yǔ)義的構(gòu)成的重要性。通過(guò)公式(3)可以有效地區(qū)別文集中不同的文檔。
隨著匹配的概念的長(zhǎng)度越接近其動(dòng)詞參數(shù)結(jié)構(gòu)的長(zhǎng)度,公式(2)的值會(huì)更高。因?yàn)樵摳拍畎嚓P(guān)于句子語(yǔ)義的信息。
在公式(4)中,對(duì)文檔d中項(xiàng)目頻率tfij矢量長(zhǎng)度進(jìn)行了標(biāo)準(zhǔn)化。cn是文檔d中有項(xiàng)目頻率的概念的總數(shù)。
將模型應(yīng)用于1000篇分別關(guān)于動(dòng)物(350篇)、植物(370篇)、微生物(200篇)以及人文介紹(80篇)的文檔集合中,得到實(shí)驗(yàn)結(jié)果如表1所示:
表1 實(shí)驗(yàn)結(jié)果
由于人文類(lèi)別的文檔中包含部分動(dòng)物、植物相關(guān)信息,這三者之間有所混合,出現(xiàn)一定錯(cuò)誤。而微生物類(lèi)別比較突出,能完全識(shí)別??梢?jiàn),該模型的聚類(lèi)準(zhǔn)確率高。
文章將NLP和文本挖掘聯(lián)系起來(lái),提出了一個(gè)新的基于概念的挖掘模型。該模型可以改進(jìn)文本聚類(lèi)。通過(guò)利用文檔中句子的語(yǔ)義結(jié)構(gòu),獲得了更好的聚類(lèi)結(jié)果。首先是基于句子的概念分析,通過(guò)ctf分析每個(gè)句子的語(yǔ)義結(jié)構(gòu)來(lái)捕獲句子中的概念;然后是基于文檔的概念分析,利用tf分析文檔層面的每個(gè)概念;再在文集層面,通過(guò)df進(jìn)行文集層面的概念分析;最后,根據(jù)句子語(yǔ)義、文檔主題以及文集中文檔分類(lèi),計(jì)算基于概念的相似度。通過(guò)此方法,可以在文集中進(jìn)行概念匹配、概念相似度計(jì)算。該方法可靠性、準(zhǔn)確率高。通過(guò)此模型進(jìn)行的文本聚類(lèi)準(zhǔn)確率大大超過(guò)了傳統(tǒng)的基于單一項(xiàng)目的方法。該模型尚需進(jìn)行完善,以便用于其他類(lèi)型的文檔聚類(lèi),如Web文檔聚類(lèi)。
參考文獻(xiàn):
[1]薛為民,陸玉昌.文本挖掘技術(shù)研究[J].北京聯(lián)合大學(xué)學(xué)報(bào)(自然科學(xué)版),2005(04):59-63.
[2]諶志群,張國(guó)煊.文本挖掘研究進(jìn)展[J].模式識(shí)別與人工智能,2005,18(01):65-74.
[3]諶志群,張國(guó)煊.文本挖掘與中文文本挖掘模型研究[J].情報(bào)科學(xué),2007(07):1046-1051.
[4]李生.自然語(yǔ)言處理的研究與發(fā)展[J].燕山大學(xué)學(xué)報(bào),2013,37(05):377-384.
[5]曹火群.題元角色:句法—語(yǔ)義接口研究[D].上海:上海外國(guó)語(yǔ)大學(xué),2009.
[6]陳磊磊.不同距離測(cè)度的K-Me a n s文本聚類(lèi)研究[J].軟件,2015,36(01):56-61.
[7]奚雪峰,周?chē)?guó)棟.面向自然語(yǔ)言處理的深度學(xué)習(xí)研究[J].自動(dòng)化學(xué)報(bào),2016,42(10):1445-1465.
[8]曹曉.文本聚類(lèi)研究綜述[J].情報(bào)探索,2016(01):131-134.