資源描述:
《基于關(guān)鍵詞提取的TFIDF和TextRank方法的對(duì)比研究》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、基于關(guān)鍵詞提取的TFIDF和TextRank方法的對(duì)比硏究題目:開(kāi)發(fā)一個(gè)程序,在該程序屮,允許輸入一段文木(以界面或者文件輸入方式均nJ'),該程序H動(dòng)抽取出包含的關(guān)鍵詞,并按照關(guān)鍵詞的權(quán)重rti高到低排序后輸出。完成口期:2016.06.05—、需求分析1.以文本的形式讀入數(shù)據(jù),將每個(gè)單詞抽彖成一棵樹,將單詞與單詞Z間的關(guān)系抽象為圖。2.TFTDF算法部分以EXCEL形式將所有數(shù)據(jù)輸出,TextRank算法部分直接以窗口形式輸出排名前H立的數(shù)據(jù)。3.木程序的目的是在提取文木關(guān)鍵詞的同時(shí),比較TFDIF和TextRank算法的準(zhǔn)確性和性能方面的差異。4.測(cè)試數(shù)據(jù)(附后)
2、。二、概要設(shè)計(jì)1.抽象數(shù)據(jù)類型映射樹定義如下:ADTMap{數(shù)據(jù)對(duì)象ID:ID是類型為char的元索集合,即為一個(gè)單詞中的單個(gè)字符,稱為字符集。數(shù)據(jù)対象val:val是類型為double或int的元素集合,為每個(gè)單-詞對(duì)應(yīng)的TF值或1DF值,稱為頻率集。數(shù)據(jù)對(duì)象is_end:is_end是類型為bool的元索集合,判斷當(dāng)前子結(jié)點(diǎn)是否為單詞末尾數(shù)據(jù)關(guān)系R:R={IDVal}TI)Val={word->num
3、word6TI),numEval,表示從word至ljnumZ間的一一映射}運(yùn)算符重載:下標(biāo)運(yùn)算符[]:運(yùn)算對(duì)象為String值,返冋對(duì)應(yīng)string值的了樹所代表的
4、val值。算術(shù)運(yùn)算符乞運(yùn)算對(duì)彖為double或int值,等式左值的vol值替換為等式右值,并返冋當(dāng)前子樹。算術(shù)運(yùn)算符+-*/:運(yùn)算對(duì)象為double或int.值,對(duì)其val值進(jìn)行運(yùn)算,并返回當(dāng)前子樹。相等運(yùn)算符=和!二:運(yùn)算對(duì)象為val值,判斷其val值是否相等,返回對(duì)應(yīng)的bool值。基本操作:InitMap(&T);操作結(jié)果:構(gòu)造空樹。DestroyMap(&T);初始條件:樹T存在。操作結(jié)果:構(gòu)造空樹。CreateMap(&T,word);初始條件:樹T存在且word為string值。操作結(jié)果:按照word的字符順序自上而下遍歷,如果有字符結(jié)點(diǎn)未創(chuàng)造,則構(gòu)造新子結(jié)點(diǎn)
5、,直到字符結(jié)束。MapEmpty(T);初始條件:樹T存在。操作結(jié)果:若T為空樹,則返冋True,否則False。MapDepth(&T);初始條件:樹T存在。操作結(jié)果:返回樹的深度。Root(&T);初始條件:樹T存在。操作結(jié)果:返回T的根。Value(&T,value);初始條件:樹T存在,value為T中某個(gè)結(jié)點(diǎn)的值。操作結(jié)果:返冋value的值。Assign(&T,word,value);初始條件:樹T存在,Rword結(jié)點(diǎn)也存在。操作結(jié)果:結(jié)點(diǎn)word的value值替換為當(dāng)前valueoParent(&T,word);初始條件:樹T存在,且word結(jié)點(diǎn)也存在。操
6、作結(jié)果:返冋word結(jié)點(diǎn)的雙親。InsertWord(&T,word);初始條件:樹T存在。操作結(jié)果:往樹加入word值,并將其value值默認(rèn)初始化。DeletcChild(&T,word);初始條件:樹T存在,且word結(jié)點(diǎn)也存在。操作結(jié)果:將word對(duì)應(yīng)子節(jié)點(diǎn)的is_end值改為false。TraverseMap(&T,visit());初始條件:樹T存在,visit是對(duì)結(jié)點(diǎn)操作的應(yīng)用函數(shù)。操作結(jié)果:按某種次序?qū)的每個(gè)結(jié)點(diǎn)調(diào)用visit一次口至多一次。一旦visit失敗,則操作失敗。}ADTMap1.抽象數(shù)據(jù)類型圖定義如下ADTGraph{數(shù)據(jù)對(duì)象mn是具有相同
7、特征的數(shù)據(jù)元素集合,稱為頂點(diǎn)集。數(shù)據(jù)關(guān)系:DR二{〈v,w>
8、v,wen且〈v,w>表示從v指向w的弧}基本操作:CreateGraph(&G,V,VR);初始條件:V是圖的頂點(diǎn)集,VR是圖屮弧的集合操作結(jié)果:按V和VR的定義構(gòu)造圖GDestroyGraph(&G);初始條件:圖G存在操作結(jié)果:銷毀圖GLocateVex(G,u);初始條件:圖G已存在,u和G中頂點(diǎn)有相同特征操作結(jié)果:若G中存在頂點(diǎn)u,則返回該頂點(diǎn)在圖中位置,否則返回其它信息GetVex(G,v);初始條件:圖G存在,v是G屮某個(gè)頂點(diǎn)操作結(jié)果:返回v的值PutVcx(&G,v,value);初始條件:圖
9、G存在,v是G中某個(gè)頂點(diǎn)操作結(jié)果:對(duì)v賦值valueFirstAdjVex(G,v);初始條件:圖G存在,v是G中某個(gè)頂點(diǎn)操作結(jié)果:返冋v的第一個(gè)鄰接頂點(diǎn)。若頂點(diǎn)在G中沒(méi)有鄰接頂點(diǎn),則返回“空”NextAdjVex(G,v,w);初始條件:圖G存在,v是G小某個(gè)頂點(diǎn),w是v的鄰接頂點(diǎn)操作結(jié)果:返回v的(相對(duì)于w的)下一個(gè)鄰接頂點(diǎn)。若w是v的最后一個(gè)鄰接點(diǎn),貝U返回〃空”InsertVex(&G,v);初始條件:圖G存在,v和G小頂點(diǎn)有相同特征操作結(jié)果:在圖屮增添新頂點(diǎn)vDeleteVex(&G,v);初始條件:圖G存在,v是G中某個(gè)頂點(diǎn)操