李路軍, 趙云, 崔榮一, 趙亞慧
( 延邊大學(xué) 工學(xué)院,吉林 延吉 133002 )
撰寫(xiě)畢業(yè)論文是檢驗(yàn)本科生綜合運(yùn)用所學(xué)專(zhuān)業(yè)知識(shí)分析和解決實(shí)際問(wèn)題能力的一個(gè)重要環(huán)節(jié),也是高校實(shí)現(xiàn)人才培養(yǎng)目標(biāo)的綜合性實(shí)踐教學(xué)的一個(gè)重要環(huán)節(jié)[1].為了更好地設(shè)計(jì)畢業(yè)論文課題,提高畢業(yè)論文水平,每個(gè)專(zhuān)業(yè)都需要詳細(xì)了解畢業(yè)論文的課題分布情況;但目前為止,國(guó)內(nèi)對(duì)于畢業(yè)論文的相關(guān)研究大多僅限于論文內(nèi)容本身.例如:李杰等[2]為了解我國(guó)安全科學(xué)與工程碩博士學(xué)位論文的研究主題分布、主題演化和研究方法,基于CNKI中國(guó)碩博論文數(shù)據(jù)庫(kù)的相關(guān)論文,采用關(guān)鍵詞詞頻分析和共詞分析的方法對(duì)上述內(nèi)容進(jìn)行了研究;付立宏等[3]通過(guò)對(duì)2008—2013年《圖書(shū)館學(xué)情報(bào)學(xué)》收錄論文的關(guān)鍵詞進(jìn)行詞頻統(tǒng)計(jì),分析了所收錄論文的研究重點(diǎn)、存在問(wèn)題以及未來(lái)發(fā)展趨勢(shì);曹樹(shù)金等[4]基于1958—2019年武漢大學(xué)信息管理學(xué)院不同歷史時(shí)期學(xué)術(shù)論文的研究?jī)?nèi)容,采用LDA主題模型和共詞分析法構(gòu)建了一個(gè)主題抽取與演化的分析框架,并分析了該學(xué)院學(xué)術(shù)研究主題的演變.上述研究雖然有助于分析學(xué)科的發(fā)展趨勢(shì),但難以提供各專(zhuān)業(yè)畢業(yè)論文課題的分布情況.因此,本文基于延邊大學(xué)計(jì)算機(jī)系2001—2019年的本科畢業(yè)論文課題信息文本,提出了一種基于機(jī)器學(xué)習(xí)的高校畢業(yè)論文課題信息分析方法,并通過(guò)實(shí)驗(yàn)驗(yàn)證了本文方法的有效性.
目前,機(jī)器學(xué)習(xí)中主要的聚類(lèi)算法可分為劃分法[5]、層次法[6]、概率模型法[7]和密度法[8].其中,密度聚類(lèi)算法是將各目標(biāo)類(lèi)簇看作是由一群被低密度區(qū)域分隔的稠密樣本點(diǎn)組成的,該算法的目的是過(guò)濾低密度區(qū)域,發(fā)現(xiàn)稠密樣本點(diǎn).DBSCAN算法是一種典型的密度聚類(lèi)算法,具有不受異常點(diǎn)的干擾和聚類(lèi)效果穩(wěn)定的優(yōu)點(diǎn),可以處理非凸數(shù)據(jù)集[9].因此,本文采用DBSCAN算法對(duì)論文課題的信息文本進(jìn)行聚類(lèi)分析,算法的實(shí)現(xiàn)過(guò)程為:
Step 1 掃描整個(gè)數(shù)據(jù)集,找到任意一個(gè)核心對(duì)象;對(duì)找到的核心對(duì)象進(jìn)行擴(kuò)充,尋找從該核心對(duì)象出發(fā)的所有與其密度相連的樣本點(diǎn).
Step 2 遍歷上述核心對(duì)象的ε鄰域內(nèi)的所有核心對(duì)象,并尋找與這些樣本點(diǎn)密度相連的點(diǎn),直到?jīng)]有可以擴(kuò)充的樣本點(diǎn)為止.
Step 3 重新掃描數(shù)據(jù)集(不包括之前尋找到的簇中的任何樣本點(diǎn)),尋找沒(méi)有被聚合的核心對(duì)象;重復(fù)Step 1—Step 2,對(duì)上述核心對(duì)象進(jìn)行擴(kuò)充,直到數(shù)據(jù)集中沒(méi)有新的核心對(duì)象為止.在數(shù)據(jù)集中,未包含在任何簇中的樣本點(diǎn)為噪聲點(diǎn).
在DBSCAN算法中,給定對(duì)象半徑ε內(nèi)的區(qū)域稱(chēng)為該對(duì)象的ε鄰域,Minpts表示對(duì)象半徑ε內(nèi)的區(qū)域包含的樣本點(diǎn)數(shù)目.若給定對(duì)象ε鄰域內(nèi)的樣本點(diǎn)數(shù)目不小于Minpts,則稱(chēng)該對(duì)象為核心對(duì)象.DBSCAN算法雖然具有無(wú)需預(yù)先指定簇?cái)?shù)目的優(yōu)點(diǎn),但是算法對(duì)所設(shè)置的ε鄰域和Minpts參數(shù)非常敏感,因此常常會(huì)導(dǎo)致聚類(lèi)效果不理想.因此,為了提升聚類(lèi)效果,需要引入合適的評(píng)價(jià)指標(biāo)來(lái)確定超參數(shù).
圖1 聚類(lèi)分析流程圖
聚類(lèi)分析流程如圖1所示,各環(huán)節(jié)的具體操作如下:
Step 1 預(yù)處理.收集、整理畢業(yè)論文課題信息文本數(shù)據(jù)集;對(duì)數(shù)據(jù)進(jìn)行規(guī)范化、去重、刪除無(wú)關(guān)數(shù)據(jù)、分詞等預(yù)處理,以此獲得文檔集詞匯表V;最后從V中篩選出專(zhuān)業(yè)術(shù)語(yǔ)表T.
Step 2 特征選擇.統(tǒng)計(jì)V中的文檔頻率,以此獲得詞項(xiàng)的逆文檔頻率權(quán)值idf;利用idf值去除高覆蓋度和低覆蓋度詞匯,以保留專(zhuān)業(yè)術(shù)語(yǔ)詞,并確定特征詞集合:F={t1,t2,…,tM}.
Step 3 文本表示.統(tǒng)計(jì)F中的詞頻,以此獲得特征詞的tf值;利用詞項(xiàng)的idf值和專(zhuān)業(yè)術(shù)語(yǔ)因子確定特征詞的權(quán)值,并構(gòu)造歸一化文檔向量.
Step 4 文本聚類(lèi).采用DBSCAN算法對(duì)文檔向量進(jìn)行聚類(lèi);利用Rand指數(shù)評(píng)價(jià)聚類(lèi)結(jié)果,并以此為依據(jù)確定超參數(shù).
Step 5 類(lèi)簇描述.根據(jù)特征詞詞頻排位確定Top-K關(guān)鍵詞,并將其用作簇描述.
向量空間模型(VSM)是文本挖掘領(lǐng)域中常用的一種模型,其功能是將文檔表示為術(shù)語(yǔ)向量.但由于向量空間維度過(guò)大會(huì)影響VSM模型的聚類(lèi)性能,因此需要?jiǎng)h除非信息特征來(lái)進(jìn)行空間降維.特征選擇是從原始特征中選擇出一些最有效的特征,其目的是最小化非信息特征的數(shù)量和最大化文本聚類(lèi)算法的性能[10].目前,特征選擇常用的篩選規(guī)則有文檔頻率(DF)、互信息(MI)、信息增益(IG)和卡方檢驗(yàn)(CHI)等[11].由于傳統(tǒng)的文檔頻率方法在進(jìn)行特征選擇時(shí)僅考慮特征詞在類(lèi)別中出現(xiàn)的頻率,并未考慮到特征詞在每篇文檔中出現(xiàn)的頻率以及專(zhuān)業(yè)術(shù)語(yǔ)的強(qiáng)代表性[12],因此本文提出一種基于逆文檔頻率和專(zhuān)業(yè)術(shù)語(yǔ)進(jìn)行特征選擇的方法.該方法相對(duì)于傳統(tǒng)方法的具體改進(jìn)內(nèi)容如下:
1)適量刪除高覆蓋率的詞.能覆蓋大部分文檔的詞項(xiàng)(元語(yǔ)言詞項(xiàng))通常不具備特征性,如“知識(shí)”、“領(lǐng)域”、“通過(guò)”、“熟練”等詞項(xiàng).由于元語(yǔ)言詞項(xiàng)通常僅用于描述課題,不帶有課題的特征信息,因此刪除這些詞有助于降低特征維數(shù).去除高覆蓋率詞項(xiàng)thigh的判定條件為:
idf(thigh) (1) 在式(1)中,當(dāng)THidf_min= lg 10=1.0時(shí),保留的特征詞至多能夠覆蓋文檔的10%. 2)適量刪除低覆蓋率的詞.僅能覆蓋極少數(shù)文檔的詞項(xiàng)通常不具備代表性,如“報(bào)文”一詞雖然在本文統(tǒng)計(jì)的論文課題信息文本中出現(xiàn)了8次,但都出現(xiàn)在同一篇文檔中.該詞項(xiàng)的idf值雖然很大,但由于該詞項(xiàng)僅出現(xiàn)在一篇文檔中;因此,刪除這些詞也有助于降低特征維數(shù).去除低覆蓋率詞項(xiàng)tlow的判定條件為: idf(tlow)>THidf_max. (2) 在式(2)中,當(dāng)THidf_max= lgN,N為文檔總數(shù)時(shí),可去除僅在一篇文檔中出現(xiàn)的詞項(xiàng). 3)無(wú)條件保留專(zhuān)業(yè)術(shù)語(yǔ)詞.專(zhuān)業(yè)術(shù)語(yǔ)是課題信息文檔的價(jià)值體現(xiàn)之一,無(wú)論是高覆蓋率還是低覆蓋率的專(zhuān)業(yè)術(shù)語(yǔ)詞都必須保留,否則很可能會(huì)導(dǎo)致某些文檔的特征詞的個(gè)數(shù)為0.如果在保留專(zhuān)業(yè)術(shù)語(yǔ)詞的前提下,文檔的特征詞個(gè)數(shù)依然是0,則表明該文檔沒(méi)有專(zhuān)業(yè)性,應(yīng)該從文檔集中刪除. 綜合上述條件可知,文檔中詞項(xiàng)t是特征詞的判定條件,可表示為: term(t)&&(THidf_min≤idf(t)≤THidf_max), (3) (4) 基于詞頻-逆文檔頻率(TF-IDF)的計(jì)算方法是文本挖掘中計(jì)算權(quán)重的一種常用方法.該方法根據(jù)特征詞的頻率和逆文檔頻率來(lái)計(jì)算權(quán)重,若某特征詞的頻率很高,且僅出現(xiàn)在少量文檔中,則該特征詞對(duì)區(qū)分文檔具有重要作用,其表達(dá)式為: ωi,j=tf(i,j)×idf(i,j)=tf(i,j)×lg(n/df(j)). (5) 其中:ωi,j表示術(shù)語(yǔ)j在文檔i中的權(quán)重,f(i,j)表示術(shù)語(yǔ)j在文檔i中的詞頻,idf(i,j)是僅出現(xiàn)在少數(shù)文獻(xiàn)中的低頻率術(shù)語(yǔ)的增益因子,n是數(shù)據(jù)集的文檔數(shù)目,df(j)是包含術(shù)語(yǔ)j的文檔數(shù)目. 論文課題信息文本屬于短文本,其除了具有專(zhuān)業(yè)性強(qiáng)的特點(diǎn),還具有特征分布稀疏的特點(diǎn),因此傳統(tǒng)的權(quán)重計(jì)算方法不適用于論文課題信息文本.為此,本文引入專(zhuān)業(yè)術(shù)語(yǔ)因子來(lái)改進(jìn)TF-IDF算法,以提高論文課題信息文本的聚類(lèi)效果.改進(jìn)的方式是通過(guò)賦予專(zhuān)業(yè)術(shù)語(yǔ)一個(gè)增益因子來(lái)突出其語(yǔ)義在文本中的重要性.本文對(duì)式(3)和式(4)進(jìn)行改進(jìn)得到如下的特征權(quán)重表達(dá)式: tf_idf′(ti,dj)=(spec(ti)+1)×tf(ti,dj)×idf(ti), (6) 其中spec(t)是增益因子,其表達(dá)式為: (7) 非顯著特征分布是一個(gè)一維概率密度函數(shù),其所有特征的顯著性在初始化時(shí)通常被設(shè)置為0.5[13].本文為了突出專(zhuān)業(yè)術(shù)語(yǔ)詞的顯著性,為專(zhuān)業(yè)術(shù)語(yǔ)詞額外增加了0.5的一般顯著性增益. 首先對(duì)畢業(yè)論文課題信息文本進(jìn)行聚類(lèi),得到不同的類(lèi)簇;然后聚合每個(gè)類(lèi)簇的所有關(guān)鍵詞,并提取每個(gè)類(lèi)簇排名前5的頻繁關(guān)鍵詞.所提取的每個(gè)類(lèi)簇排名前5的頻繁關(guān)鍵詞即為類(lèi)簇描述詞.利用聚類(lèi)獲得類(lèi)簇描述詞的算法步驟如下: Initialization(): /*初始化*/ for p=0,1,…,N-1 /*對(duì)所有文檔進(jìn)行以下處理*/ doc_table[p].docID=p /*文檔進(jìn)行編號(hào)*/ if |NearDoc(p)|≥MinPts /*文檔p的鄰域文檔數(shù)超過(guò)閾值*/ doc_table[p].doctype=1 /*文檔p為核心文檔*/ else doc_table[p].doctype=0 /*文檔p為非核心文檔*/ endif doc_table[p].visited=0 /*所有文檔尚未訪問(wèn)處理*/ doc_table[p].labels=-1 /*所有文檔尚未歸類(lèi)*/ endfor for all doc_table[p].visited=0 /*對(duì)未訪問(wèn)過(guò)的所有文檔做以下處理*/ if doc_table[p].doctype==1 /*如果當(dāng)前文檔p是核心文檔*/ labels++ /*產(chǎn)生新簇*/ doc_table[p].labels=labels /*將文檔p劃入新的簇*/ ExpandCluster(p,labels) /*文檔p鄰域內(nèi)的文檔并入本簇*/ doc_table[p].visited=1 /*標(biāo)記文檔p已訪問(wèn)*/ elseif q∈NearDoc(p)&&doc_table[q].doctype==0 /*文檔p鄰域中無(wú)核心文檔*/ doc_table[p].visited=1 /*文檔p為噪音文檔,不需再處理*/ endif /*循環(huán)結(jié)束時(shí)doc_table中標(biāo)記了每個(gè)文檔所屬的簇號(hào),負(fù)值為噪音文檔*/ endfor ExpendCluster(p,labels): /*本函數(shù)把DBSCAN與核心文檔p密度相連的所有文檔劃入簇號(hào)為labels的簇*/ D=NearDoc(p) /*文檔p的鄰域文檔編號(hào)集*/ for all q in D /*集合D不空時(shí)取任意文檔q進(jìn)行以下處理*/ if doc_table[q].visited=0 /*文檔q未處理*/ if doc_table[q].doctype=1 /*文檔q為核心文檔*/ D=D∪NearDoc(q) /*文檔q鄰域內(nèi)所有文檔并入D中*/ endif if doc_table[q].labels<0 /*文檔q尚未歸類(lèi)*/ doc_table[q].labels=labels /*文檔q與p屬于同一簇*/ endif doc_table[q].visited=1 /*文檔q已處理*/ endif if doc_table[q].visited=1 /*若文檔q已處理*/ D=D-{q} /*從文檔集合D中刪除文檔q*/ endif endfor /*本循環(huán)一直進(jìn)行到集合D空為止,簇號(hào)為labels的簇產(chǎn)生完畢*/ NearDoc(p): /*本函數(shù)求文檔p的鄰域文檔編號(hào)集合*/ D={} /*文檔p的鄰域文檔集從空集開(kāi)始*/ for q=0,1,…,N-1 /*掃描所有文檔進(jìn)行以下處理*/ if dist[p][q]≤Eps /*發(fā)現(xiàn)p的鄰域文檔q*/ D=D∪{p} /*文檔q并入D*/ endif endfor return D 由于Rand指數(shù)可以度量?jī)蓚€(gè)數(shù)據(jù)集之間的相似性,因此本文選擇Rand指數(shù)(RI)作為外部聚類(lèi)評(píng)價(jià)指標(biāo),其表達(dá)式為: RI=(a+d)/(a+b+c+d). (8) 其中:a表示在Result(人工劃分的結(jié)果)和Predictor(聚類(lèi)算法劃分的結(jié)果)中都為同一類(lèi)的樣本對(duì)數(shù)目;b表示在Result中為同一類(lèi),但在Predictor中不是同一類(lèi)的樣本對(duì)數(shù)目;c表示在Predictor中為同一類(lèi),但在Result中不是同一類(lèi)的樣本對(duì)數(shù)目;d表示在Result和Predictor中都不為同一類(lèi)的樣本對(duì)數(shù)目.Rand指數(shù)的上界為1,表示聚類(lèi)結(jié)果與原始數(shù)據(jù)集的樣本分布完全一致;Rand指數(shù)的下界為0,表示聚類(lèi)結(jié)果與原始數(shù)據(jù)集的樣本分布完全不一致:因此,可以根據(jù)RI值的最大原則來(lái)確定超參數(shù)的值. 首先,對(duì)收集的課題信息文本(延邊大學(xué)計(jì)算機(jī)系2001—2019年的本科畢業(yè)論文和畢業(yè)設(shè)計(jì),內(nèi)容包括題目、設(shè)計(jì)目標(biāo)、基本要求等)進(jìn)行整理,得到896篇文檔;然后,將這些文檔構(gòu)成聚類(lèi)分析文檔集,并對(duì)聚類(lèi)分析文檔集進(jìn)行規(guī)范化、去重、刪除無(wú)關(guān)數(shù)據(jù)、分詞等預(yù)處理,以此獲得文檔集詞匯表并在其中篩選出專(zhuān)業(yè)術(shù)語(yǔ)表.部分原始數(shù)據(jù)集如表1所示. 表1 部分原始數(shù)據(jù)集 特征選擇時(shí),首先使用傳統(tǒng)特征選擇方法在896篇論文課題信息文本中選取特征詞(共獲得了443個(gè)特征詞,其中包含專(zhuān)業(yè)術(shù)語(yǔ)詞244個(gè),非專(zhuān)業(yè)詞199個(gè));然后按本文提出的特征選擇改進(jìn)方法將專(zhuān)業(yè)術(shù)語(yǔ)詞全部保留,并從非專(zhuān)業(yè)詞中挑選出52個(gè)高覆蓋率詞和27個(gè)低覆蓋率詞;最后刪除這些高覆蓋率詞和低覆蓋率詞,由此共得到364個(gè)特征詞.按上述方法選取特征詞后,特征詞匯表中的專(zhuān)業(yè)術(shù)語(yǔ)詞的占比由原來(lái)的50.56%提高到了61.54%,由此表明本文提出的特征選擇改進(jìn)方法可有效提高特征詞匯表的專(zhuān)業(yè)性. 首先定義超參數(shù)ε=0.98,Minpts=3;然后根據(jù)所定義的參數(shù)對(duì)896篇論文課題信息文本進(jìn)行聚類(lèi)分析,由此得到類(lèi)簇(56個(gè));最后對(duì)所得的每個(gè)類(lèi)簇的文檔數(shù)目進(jìn)行統(tǒng)計(jì),并提取每個(gè)類(lèi)簇中頻次排名前5的關(guān)鍵詞,由此構(gòu)成簇-關(guān)鍵詞表.所得的部分簇-關(guān)鍵詞見(jiàn)表2.由表2可以看出,不同的類(lèi)簇也會(huì)出現(xiàn)相同的特征詞,如“C++”“面向?qū)ο蟆钡?雖然很多專(zhuān)業(yè)領(lǐng)域所使用的基礎(chǔ)技術(shù)是相同的,但基礎(chǔ)技術(shù)相同并不代表專(zhuān)業(yè)領(lǐng)域相同,因此上述結(jié)果并不妨礙兩個(gè)類(lèi)簇之間的相對(duì)獨(dú)立性. 表2 聚類(lèi)分析得到的部分簇關(guān)鍵詞表 為了評(píng)估聚類(lèi)效果,本文對(duì)896篇論文課題信息文本進(jìn)行人工分類(lèi)標(biāo)注,并依據(jù)課題信息中所涉及到的理論、方法和技術(shù)等內(nèi)容,構(gòu)建22個(gè)不同的主題類(lèi),其分類(lèi)統(tǒng)計(jì)結(jié)果和主題分布分別如表3和圖2所示. 表3 畢業(yè)論文課題的分類(lèi)統(tǒng)計(jì)結(jié)果 圖2 畢業(yè)論文課題的分布圖 由表3可以看出,獲得的56個(gè)類(lèi)簇分別代表56個(gè)主題,且同一主題內(nèi)的文檔相似,同時(shí)提取出的關(guān)鍵詞與部分人工分類(lèi)主題完全相對(duì)應(yīng),如“機(jī)器人”“數(shù)字信號(hào)處理類(lèi)”等.由此表明,本文方法不僅可以為論文課題信息文本主題的劃分提供依據(jù),還可以直觀地展示每個(gè)類(lèi)簇所包含的技術(shù)及專(zhuān)業(yè)知識(shí). 圖3為RI指數(shù)、簇?cái)?shù)和噪聲數(shù)隨ε變化的曲線圖,圖4為RI指數(shù)、簇?cái)?shù)和噪聲數(shù)隨Minpts變化的曲線圖.由圖3可知,ε對(duì)RI值的影響大于Minpts對(duì)RI值的影響,且當(dāng)ε=0.98時(shí)RI值最大.由圖4可知,Minpts=3是類(lèi)簇?cái)?shù)目下降速度變緩的拐點(diǎn),且此時(shí)RI值也較高.因此,本文將超參數(shù)確定為ε=0.98,Minpts=3.根據(jù)該參數(shù)計(jì)算得到的RI值為0.824,該結(jié)果表明本文的聚類(lèi)效果與人工分類(lèi)結(jié)果大體吻合[14]. 圖3 RI指數(shù)、簇?cái)?shù)和噪聲數(shù)隨ε變化的曲線 圖4 RI指數(shù)、簇?cái)?shù)和噪聲數(shù)隨M inp ts 變化的曲線 利用本文提出的基于逆文檔頻率和專(zhuān)業(yè)術(shù)語(yǔ)的特征選擇方法,對(duì)延邊大學(xué)計(jì)算機(jī)系2001—2019年的本科畢業(yè)論文課題信息文本進(jìn)行了聚類(lèi)分析.實(shí)驗(yàn)結(jié)果表明,相比于傳統(tǒng)數(shù)據(jù)分析方法,本文方法不僅可以有效降低高覆蓋率和低覆蓋率詞的特征權(quán)重和有效提升專(zhuān)業(yè)術(shù)語(yǔ)的特征權(quán)重,還可以根據(jù)聚類(lèi)評(píng)價(jià)指標(biāo)來(lái)選取超參數(shù),其聚類(lèi)效果與人工分類(lèi)效果基本吻合.因此,本文研究方法可為評(píng)價(jià)和設(shè)計(jì)畢業(yè)論文課題提供有效的依據(jù).在今后的研究中,我們將考慮使用多種指標(biāo)來(lái)確定超參數(shù)和采用多元因素的方法來(lái)提高特征選擇的準(zhǔn)確性,以此進(jìn)一步提高本文方法的有效性.2.3 特征權(quán)重的計(jì)算方法
2.4 算法的實(shí)現(xiàn)
2.5 聚類(lèi)評(píng)價(jià)指標(biāo)
3 實(shí)驗(yàn)與分析
3.1 數(shù)據(jù)預(yù)處理
3.2 特征選擇
3.3 聚類(lèi)分析
3.4 超參數(shù)的確定
4 結(jié)論