1006大設(shè)計翻譯版新浪微博平臺垃圾信息自動檢測_第1頁
1006大設(shè)計翻譯版新浪微博平臺垃圾信息自動檢測_第2頁
1006大設(shè)計翻譯版新浪微博平臺垃圾信息自動檢測_第3頁
1006大設(shè)計翻譯版新浪微博平臺垃圾信息自動檢測_第4頁
1006大設(shè)計翻譯版新浪微博平臺垃圾信息自動檢測_第5頁
免費預(yù)覽已結(jié)束,剩余47頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

AutomaticDetectionofRumorsonSinaWeiboAuthor:TanKaitianTutor:XuArumorisgenerallydefinedasinformationorastatementwhosetruevalueisunverified.Rumorsmayspreadmisinformation(falseinformation)ordisinformation(deliberayfalseinformation)onanetworkofmorepeople.Therefore,Identifyingrumorsiscrucialinonlinesocialmediawherelargeamountsofinformationareeasilyspreadacrossalargenetworkbysourceswithunverifiedauthority.Mostofthepreviousworksarebasedonplatform.Inthispaper,wechooseSinaWeibo,thelargestmicroblogproviderinChina,astheresearchplatform.Witheighttimesmoreusersthan ,SinaWeiboshowsseveraldifferentcharactersfrom .Inthispaper,weaddresstheproblemofrumordetectioninSinaWeiboandexploretheeffectivenessofcategoriesoffeatures.Usingthesetsofcharacterswepresent,wetrainaclassifierwhichcanidentifyrumorsfromamixeddatasetsofnormalinformationandrumors.The eprovesthattheclassifierisusefulinrumordetection.Itcanopennewdimensionsinyzingonlinemisinformationandotheraspectsofmicroblog:Weibo,rumor,automaticdetection,text 緒 研究背景和研究意 國內(nèi)外研究現(xiàn) 分析分類特 數(shù)據(jù)收集和標記的方 機器學習方 研究目標與內(nèi) 課題來 的組織結(jié) 相關(guān)技術(shù)現(xiàn) 2.1平 中文分詞系 文本分類的樣本整 特征抽 確定特征 特征選 特征抽 計算特征權(quán) 本章小 系統(tǒng)模型設(shè) 研究目 研究內(nèi) 實驗方案設(shè) 實驗流程設(shè) 數(shù)據(jù)集收 數(shù)據(jù)預(yù)處 SVM模型訓 SVM的模型訓練和預(yù)測流 SVM參數(shù)選 SVM參數(shù)選擇的并行 重復樣本對SVM模型的影 本章小 4文本分類實 系統(tǒng)開發(fā)環(huán) 系統(tǒng)實現(xiàn)概 網(wǎng)絡(luò)爬蟲模 定義網(wǎng)頁 爬取網(wǎng)頁的實 模擬登陸實 解析和主控模塊實 數(shù)據(jù)預(yù)處 訓練數(shù)據(jù)實 提取初步特 特征屬性選擇——計算互信 文檔特征向量計 樣本訓練和測 本章小 總結(jié)與展 工作總 工作展 致 參考文 緒之前大部分研究都是把作為研究前提,考慮到的流行度和其獨特的特性,這次工作,研究上的自動檢測。最大的微 年5月份數(shù)字,每天產(chǎn)生1億條,超過30%的互聯(lián)網(wǎng)在使用,新浪已經(jīng)最受歡迎的的。是的一個重要問題,也有相關(guān)的辟謠賬號。統(tǒng)計數(shù)據(jù)顯示,每天都至少有一條在上廣泛。例如,一條名為“國家宣布中國城市人均收入達到9000”的遭到了巨大規(guī)模的轉(zhuǎn)發(fā),上有20多萬條和這條相關(guān)的。圖1.1辟謠 有許多重要的區(qū)別須要考慮(1)之前對英文內(nèi)容得到的語言特性,比如英文單詞的情況敏感性,重復字母, 笑話,和。而在上,話題大多和當下的全球事件或者故事有關(guān)。沒有這樣的服務(wù)。例如(見圖1-1),這是一條名為“在2012年1月23日對伊朗宣戰(zhàn)”的,最初的那條受到3607次轉(zhuǎn)發(fā)和1572次評論。左下角顯示的是發(fā)布的客戶端,比如這里是網(wǎng)頁客戶端。因為提供的服務(wù)來驗證信息,所以我們收集的數(shù)據(jù)集,大多是廣泛的。我們把和相關(guān)分成兩個集合,并標記它們是正確的信息(的定向和無關(guān))和錯誤信息(的定向和謠去,的要通過口口相傳,但社交的崛起為的提供了一個甚至更好 上和信息可靠性的研究,CASTILLO專注于研究并使用了一種受管理的學習方法(J48分類樹)來專注兩個任務(wù):第一個任務(wù)是分類那些和相關(guān),這些和收集的查詢關(guān)鍵字的正則表達式匹配。第二個任件發(fā)生背景下,例如2010年CHILE,使用來研究使用者的行為。他們分析用戶的轉(zhuǎn)發(fā)網(wǎng)絡(luò)并發(fā)現(xiàn)在上和傳統(tǒng) 載體提取。CASTILLO使用四種類型的特征:(1)基于信息的特征,這類特征考慮的基于的特征,這類特征考慮和樹(可通過特定的轉(zhuǎn)況構(gòu)建)相關(guān)的屬Q(mào)AZVINIAN使用三種類型的特征基于內(nèi)容的屬性,基于網(wǎng)絡(luò)的屬性,特有的i處在一個積極用戶模型中。另外一種模型是對數(shù)似然比,其中是從處在積極模型中的用戶j那轉(zhuǎn)發(fā)來的。最后,一QAZVINIAN借用正則表達式來使用的搜索接口,收集了從2009年到2010年,每一次的查詢符合一條廣發(fā)流傳的,這條歸為“錯誤”或者“部分相關(guān),就把它標記為“1”,否則“0”.他們用這種標注來分析哪些符合提交給CASTILLO通過服務(wù)商提供的接口使用基于關(guān)鍵字的查詢來收集數(shù)據(jù),他們把收集到的話題分為兩個寬泛的類型:和。對于標注,他們使用AMAZONMECHANICALTURK,這是一家眾包,它能夠使網(wǎng)民合作利用人類智慧來完成計算這使得成為研究社交網(wǎng)絡(luò)上不良信息的絕佳平臺。我們首先使用在山東大學和約克大學的研究中,有一個辟謠賬戶,他提供其關(guān)的錯誤信息。對于每一個事件,我們使用MONITOR定義的基于的查詢形式,這種查詢形式是AB其中A是時間參與者的合取,B是時間相關(guān)描述信息的析取。例如,有一條查詢是USIrandeclarewar指的是有關(guān)2012年1月23日對宣戰(zhàn)的[3]。他們收集了從2010年3月1日到2012年2月2日期間和辟謠賬戶發(fā)布的話題關(guān)鍵字匹配。數(shù)據(jù)集可以分為兩個子集,一個子集包含和相關(guān),且和相關(guān)中,大約有18.3%被標記為“1”[4]。kpr(a)pr1pr集成學習算法,如Bagging和Boosting等[5]。決策樹是用于分類和預(yù)測的主要技術(shù)之一,決策樹學習是以實例為基礎(chǔ)的歸納學習算C4.5(C5.0TAN(TreeAugmentedNaiveBayes)算法,它是在貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetworks,ANN)是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接BPRBF網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)、隨機神經(jīng)網(wǎng)絡(luò)(Boltzmann機、競爭神經(jīng)網(wǎng)絡(luò)(Hamming網(wǎng)絡(luò),自組織映射網(wǎng)(4)k-近未知樣x距離最近k個訓練樣本,看這k個樣本中多數(shù)屬于哪一類,就把x歸為condset是項(或?qū)傩?值對)C是類標號,這種形式的規(guī)則稱為類關(guān)聯(lián)規(guī)則rulesCARS的算法主要包括CBA,ADT,CMAR等。集成學習(Ensembleng預(yù)測的準確率。模型正確地預(yù)測新樣本的類標號的能力;(2)造模型以及使用模型進行分類的時間;(3)強壯性。模型對噪聲數(shù)據(jù)或空缺值數(shù)據(jù)正確意思,人身,,冒充他人,其他信息等7大類,通過選擇不同的到自動檢測上信息的最佳解決方案。研究”研究課題,項目中需要對信息,包括虛假信息,人身,隱私等本文主要研究了平臺信息的自動檢測問題。首先需要了解這第一章緒論第四章文本分類實相關(guān)技術(shù)現(xiàn)對平臺的,所有我們首先會介紹一下平臺特有的特性,包括其的是一款為大眾提供休閑生活服務(wù)的信息和交流平臺。于采用了與新浪博客一樣的推廣策略,即邀請和名人加入開設(shè)微型博冒充名人的行為,但功能和普通用戶是相同的。用戶可以通過網(wǎng)頁、WAP頁面、客戶端、、彩信發(fā)布140字以內(nèi)的消息或上傳,此外還可通過API用第軟件或插件發(fā)布信息。于2009年8月14日開始內(nèi)測,2009113日,SinaAppEngineAlphaAPI用第軟件或插件發(fā)布信息。截至2014年3月,月活躍用戶1.438億,日活躍用戶6660萬,其中包括大量機構(gòu)、、企業(yè)、個人認證賬號,開放的機制使ICTCLAS– 究工作積累的基礎(chǔ)上,研制出了漢語詞法分析系統(tǒng)ICTCLAS(InstituteofComputingTechnology,ChineseLexicalysisSystem),主要功能包括中文分詞;詞性標注;命名UNICODE6次,目前已經(jīng)升級到ICTCLAS3.0。ICTCLAS3.0996KB/s98.45%,API不超過200KB,各種詞典數(shù)據(jù)壓縮后不到3M,是當前世界上最好的漢語詞法分析器。HTTPCWS–HTTPHTTPCWSHTTPLinux系統(tǒng)。HTTPCWS使用“ICTCLAS3.02009共享版中文分詞算法”API進行分詞處理,得出馬模型研制出的漢語詞法分析系統(tǒng)。ICTCLAS973專家組組織的評測中活動獲SigHan組織的評測中都獲得了多項第一ICTCLAS3.0商業(yè)版是的,而免費提供的ICTCLAS3.0共享版不開源,詞庫是根據(jù)一個月的語料得出的,很多詞語不存在。通過補充自定義詞庫,對ICTCLAS分詞結(jié)果進行合并處理,輸出最終分詞結(jié)果。ICTCLAS3.02009GBKUTF-8編碼的字符串,可以先用iconv函數(shù)轉(zhuǎn)換成GBK編碼,再用httpcws進行分詞處理,最后轉(zhuǎn)換回UTF-8編碼。HTTPCWS軟件自身(httpcws.cpp源文件、dict/httpcws_dict.txt自定義詞庫)NewBSD開源協(xié)議,可以自由修改。HTTPCWSICTCLASAPI及dict/Data/內(nèi)的語料庫,及著作權(quán)歸中國計算技術(shù)、所SCWS–SCWS在概念上并無創(chuàng)新成分,采用的是自行的詞頻詞典,并輔以一定程度上SCWSCUnix-LikeOS為主要平臺環(huán)境,提供共享函數(shù)庫,方便植入各種現(xiàn)有軟Phpysis-PHP無組件分詞系Phpsis分詞系統(tǒng)是基于字符串匹配的分詞方法,這種方法又叫做機械分詞方法,它是按照一定的策略將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行(識別出一個詞串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優(yōu)先匹配的情況,可以(最長(最短的。文本分類屬于有監(jiān)督的學習,所以需要整理樣本。根據(jù)業(yè)務(wù)需求,確定樣本與和1,而在樸素貝葉斯方法中,一般為0和1,但不是固定的,的設(shè)置和算法本身如下面的整理的樣本,1為正類,-1為反類(為了能便于展示,這里使用了一些即時聊(VSM詞工具,比如“如要商品的請!”,可以分成“如^要^購 ^聯(lián)系^我^^!”,其中“^”是用來分割詞的?,F(xiàn)在比較常見的分詞工具有ICTCLAS(C++),Iksegment(Java。根據(jù)不同的業(yè)務(wù),文本分類中詞典的規(guī)模在萬級到千萬級甚至億級。而這么大的維帶度要大中有特又不影響分類的效果(而根據(jù)文獻中的結(jié)果,特征選擇可以在一定程度上提高分類的效果。特征選擇就是從特征集中選擇一些代表性的詞。衡量詞的方法有多種,一般的計算方法有詞頻、卡方公式、信息增益等。一致認為比較好的方法是卡方公式。常見的特征抽取的方法是LatentSemanticysis(潛在語義分析其中LSA也被稱作TopicModeling,比較常用的TopicModeling的方法有LSA、PLSA、LDA。之前使用的方法LSA。SVDk個特征值后。再去重組文檔的特征向量,這樣新的文檔特征mkU空間上。其實還對LSA也有很詳細的闡述。LSA用來Classification上的方法是一種叫做localrelevancyweightedLSI的方法。**U另外一種解決維度的思路就是特征抽取。同樣是降維,相比特征選擇,特征抽取采用了一種高級的方法來進行。TopicModeling是原理就是將利用映射將高緯度空間2-3較常用的特征權(quán)重的計算方式為TF*IDF,TF*RF[6]。TF-IDF(termfrequency–inversefrequency)是一種用于資訊檢索與資訊探勘的常用技術(shù),TFIDF的主要思想是:如果某個詞或短語在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中很少出現(xiàn),則認為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。TFIDF實際上是:TF*IDF,TF詞頻(TermFrequency),IDF反文檔頻 Frequency)。TF表示詞條在文檔d中出現(xiàn)的頻率。IDF的主要思想是:如果包含詞條t的文檔越少,也就是n越小,IDF越大,則說明詞條t具有很好的類別區(qū)分能力。如果某一類文檔C中包含詞條t的文檔數(shù)為m,而其它類包含t的文檔總數(shù)為k,顯然所有包含t的文檔數(shù)n=m+k,當m大的時候,n也大,按照IDF公式這就是IDF的不足之處.tfi,j

ni,kk,以上式子中ni,j是該詞在文件dj中的出現(xiàn)次數(shù),而分母則是在文件dj中所有idfi |D|j:ti|D|:語料庫中的|jtidj|包含詞語tj的文件數(shù)目(即ni,j0的文件數(shù)目)如果該詞語不在語料庫中,就會導致被除數(shù)為零,因此一般情況下使用1|{j:tidj|tfidfi,jtfi,j100個,而詞語“母?!?次,那么“母牛”一詞在3/100=0.03(DF)的方法是測定有多少份文件份文件出現(xiàn)過,而文件總數(shù)10,000,000份的話,其逆向文件頻率就是lg(10,000,000/1,000)=4。最后TF-IDF0.03*4=0.12。文檔特征向量的特征權(quán)重計算的一般公式為,即第itermj篇文檔向量中的權(quán)重。其中Local(i,j)被稱為局部因子,與term在文檔中出現(xiàn)的次數(shù)有關(guān)。global(i)又稱為term的全局因子,與在整個訓練集中term出現(xiàn)有關(guān)。通常我們熟悉的公式都可以轉(zhuǎn)化為tf形式,tf*idf形式。因此我們就可以在構(gòu)造詞典的term的全局因子,把這個值放在詞典中,然后在計算特征權(quán)重的時候直接2-4本章主要介紹了文本分類的相關(guān)技術(shù)和式樣步驟。其中,2.1介紹了我們的研究對進行文本分類前的文本整理。2.4節(jié)介紹了文本分類過程中非常重要的一個步驟:特征抽取,具體包括確定特征集,特征選擇,特征抽取和計算特征權(quán)重四個部分。2.5節(jié)介TSVM的模型訓練和預(yù)測流程,SVM參數(shù)選擇,SVMSVM模型的系統(tǒng)模型設(shè)本章兩章內(nèi)容的基礎(chǔ)上,首先從平臺特性以及信息產(chǎn)生和的意思,人身,,冒充他人,其他信息等7大類,通過選擇不同的到自動檢測上信息的最佳解決方案。我們通過收集上和相關(guān)數(shù)據(jù)來構(gòu)造數(shù)據(jù)集。集中,信息數(shù)據(jù),提取前個特征作為樣本的分類特征,F(xiàn)EATRENUM計算每個樣本的特征

tf-idf值或其他度量方用分類方法 利用訓練結(jié)果對測試樣本進3-1實驗設(shè)計對于垃圾微博的收集,從的信息發(fā)布中心 同過網(wǎng)頁爬蟲,提取相關(guān)信息特征,包括時間,用戶昵稱,用戶ID,內(nèi)容等。圖3-2信息機的主頁,而門戶中包含大量有價值的。用運行隊列和完成隊列來保存不同狀態(tài)的。對于大型數(shù)據(jù)量而言,內(nèi)存中重復步驟3、4、5對于爬取的信息,我們需要對其中內(nèi)容進行分詞處理。目前,已經(jīng)有許多開源的分詞工具,比如IKyzer,分詞,ICTCALS,我們會根據(jù)實驗結(jié)果,挑選一款分ICTCLAS等工具并不具備去除停用詞的功能,我們需要建立停用詞表,實LIBSVM是大學林智仁(Chih-JenLin)等開發(fā)設(shè)計的一個簡單、易于使用和快速有效的SVM模式識別與回歸的軟件包,他不但提供了編譯好的可在Windows系SVM所涉及的參數(shù)調(diào)節(jié)相對比較少,提供了很多的默認參[8]版。.zip格式的版本,解壓后可以看到,主要有5個文件夾和一些c++源碼文件。 ——主要是應(yīng)用于java平臺; —— 源碼,其編譯后的程序在windows文件夾下; ——主要包含四個python文件,用來數(shù)據(jù)集抽樣(subset),參數(shù)優(yōu)選(grid,集成測試(easy),數(shù)據(jù)檢查(checkdata);windowslibSVMexe程序包,我們所用的庫就是他們,里面還有個heart_scale,是一個樣本文件,可以用記事本打開,用來測試用的。其他.h和.cpp文件都是程序的源碼,可以編譯出相應(yīng)的.exe文件。其中,最重要的svm.hsvm.cpp文件,svm-predict.c、svm-scale.csvm-train.c(svm-toy.c的四個exe程序。NaiveBayes,SVM,KNN,Logistic回歸等。SVMLogistic回歸則是比較詞典生成,特征選擇,SVM參數(shù)的選優(yōu),SVM模型的訓練等都可以一步完成。示意圖圖3- TMSVM模型訓練流3-4模型會返回兩個結(jié)果:label和score,其中l(wèi)abel即其預(yù)測的。而score是該樣,k為所有支持判別類得個數(shù),n為所有類別個數(shù),si為所有支持判別類scoreinformationfilteringunbalance和randomlysampling問題,依據(jù)判別的得到的結(jié)果準確率較低,因此需要通過閾越高,說明越出現(xiàn)誤差。C過大或過小,泛化能力變差。gamma是選擇RBF的分布,gamma越大,支持向量越少,gamma值越小,支持向量越多。支持向量的個數(shù)影響訓練與預(yù)測的速度。這個問題Chih-JenLin在其主頁上有詳細的介紹。LiblinearC5-flods交叉驗證的方法對一定范圍內(nèi)的C,gammagrid搜索,關(guān)于grid搜索可以參考以及l(fā)ibsvm中tool文件夾中g(shù)rid.py源文件。grid搜索SVM參數(shù)搜索的效率,采用兩種粒度的搜索粗粒度和細粒度,兩種搜索不能對SVM的巡檢并行化。libsvm的多分類策略為one-againt-one。總共有k*(k-1)/2binaryclassifier,對這k*(k-1)/2個binaryclassifier的value進行遍歷,如果第i個類和第j個類binary的classifiervalue0i1j1票。選擇最終獲得投票數(shù)liblinearone-against-rest??偣灿衚binaryclassifierbinaryclassifier中選擇值最大多對應(yīng)的類別作為最終的預(yù)測類。原有一個訓練樣本共有Positive樣本1000,Negative樣本2000,然后將Positive樣本*2Positive2000,Negative2000的訓練樣本。然后測試一個Positive4494,Negative24206的樣本。最終的結(jié)果如下:3-5重復樣本對結(jié)果影其實差異不超過0.5%)。而正確率上,重復樣本會比無重復樣本稍高。而在SVM分類中對這些離群點會用懲罰函數(shù)進行控制。2、但是如果保留重復樣本,會增加樣本的量,對libsm來說,分類的復雜度為(sv3),而且如果一個樣本是支持向量,那么所有重復的樣本也都會被加入到支持向MMF核函ostFrma,如果在都是在15,0.5]進行挑選,則9*9815los81*54052(10萬libsvm的訓練時間差不多按分鐘計算405*2/6012.3M模型十分不容易。因此如果去掉重復樣本對訓練效率來說大有裨益。4文本分類實塊和數(shù)據(jù)對象的實現(xiàn),使用Java語言進行編寫,使用Servlet技術(shù)生成動態(tài)頁面,DAOSVGJavaScript的d3.js庫。操作系統(tǒng):Windows數(shù)據(jù)庫管理系統(tǒng):MySQL關(guān)下Parserhtml解析和網(wǎng)頁解析,主要包括的HtmlParseData.java,Parser.java,TextParseData.java主控模塊:該模塊是調(diào)控整個程序的,包括設(shè)置線程數(shù),設(shè)置地址等,主要包括BasicCrawController.java,BasicCrawler.java括Configural.java,CrawConfig.java,CrawController.java,JsonUnit.java,Page.java,結(jié)果和獲取狀態(tài)。具體包括:CustomFetchStatus.javaIdleConnectionMonitorThread.java,PageFetcher.java,PageFetcherResult.java工作隊列,處理當前網(wǎng)頁等。具體包含以下幾個類:Counter.java,DocIDServer.java,Frontier.java,InProcessPageDB.java,WebURLTupleBinding.java,WorkQueens.javaURL模塊:改模塊是和URL操作相關(guān)的模塊,主要包括;TLDList.java,URLCanonicalizer.java,UrlResolver.java,WebRUL.java1)protectedWebURLurl;protectedStringjsonContentData;protectedStringcontentType;protectedStringcontentEncoding;protectedStringcontentCharset;protectedParseDataparseData;jsonContentData:以json格式的網(wǎng)頁內(nèi)contentCharset:網(wǎng)頁內(nèi)容所支持的字符集,比如“utf-fetchResponseHeaders:parseData:解析內(nèi)2)Publicvoidload(HttpEntityentitythrowsException;//HttpEntity中PublicHeader[]PublicvoidsetFetcheResponseHeaders(Header[]headers);PublicParseDatagetParseData();PublicvoidsetParseData(ParseDataPublicbyte[]PublicStringpublicvoidsetContentData(byte[]contentData);publicStringgetJsonContentData();publicvoidsetJsonContentData(StringjsonContentData);publicStringgetContentType();publicStringgetContentEncoding();publicvoidsetContentEncoding(StringpublicStringpublicvoidsetContentCharset(String1)深度優(yōu)先,即從起始網(wǎng)頁開始,選擇一個URL,進入,分析這個網(wǎng)頁中的URL,選擇一個再進入。如此一個一個地深入追蹤下去,處理完一條路線之后再處理下的往往最具價值,PageRank也很高,而每深入一層,網(wǎng)頁價值和PageRank都會相第一,網(wǎng)的實際深度最大能達到17層,網(wǎng)頁之間四通八達,因此存在從一個PageRank很低的網(wǎng)頁爬取到一個PageRank實際很高的網(wǎng)頁,不方便計算PageRank。抓取站內(nèi),遇到站外連接就爬出去,抓取的封閉性很強。URL與目標網(wǎng)頁的相似度,或的相關(guān)性,并選取其中評價最好的一個或幾個URL進行進一步的爬取。網(wǎng)頁數(shù)量降低30%—90%。publicFrontier(Environmentenv,CrawlConfigconfig,DocIDServerdocIdServer該函publicvoidscheduleAll(List<WebURL>urls),該函數(shù)調(diào)控當前網(wǎng)頁爬蟲的過程。publicvoidschedule(WebURLurl),該函數(shù)是為進入下一個網(wǎng)頁爬蟲時做準備。publicvoidgetNextURLs(intmax,List<WebURL>result),該函數(shù)是按照廣度優(yōu)先的原則,獲取下一個需要爬取的網(wǎng)頁URL。我們的爬蟲程序的是html代碼,它會解析出頁面包含的URL,按照一定策在取得URL時要一種“爬蟲陷阱”。因為即使一個URL能到相應(yīng)內(nèi)容,也不能保證服務(wù)器端有一個相應(yīng)頁面存在,例如頁的應(yīng)用可能會使中存在一些過濾處理涉及“必須存在的關(guān)鍵字”。分析時,中必須存在這個數(shù)組 作為關(guān)鍵字,并且必須以此關(guān)鍵字開頭的URL才合法。的可以在主控程序中人工設(shè)置,這里我們設(shè)置為4線程。for(inti=1;i<=numberOfCrawlers;i++)Tcrawler=Threadthread=newThread(crawler,"Crawler"+i);crawler.init(i,this);("Crawler"+i+"}while(true)

booleansomeoneIsWorking=false;for(inti=0;i<threads.size();{Threadthread=threads.get(i);if(!thread.isAlive()){if(!shuttingDown){("Thread"+i+"wasdead,I'llrecreateit.");Tcrawler=_c.newInstance();thread=newThread(crawler,"Crawler"+(i+1));threads.add(i,thread);crawlers.add(i,crawler);}}

}elseif{someoneIsWorking=在實際的網(wǎng)絡(luò)爬取過程中,我們遇到一個問題,那就是我們爬取的網(wǎng)頁 必須要登陸才能夠爬取內(nèi)容,所以須之前的爬取框架中加上登陸的模塊,基本原理就是,第一次私用賬戶名和登陸后,然后保 HttpTools.postRequest(client,url,Stringregex="location\\.replace\\(\"(.+?)\"\\);";Patternp= location=m.group(1);errInfo=URLDecoder.decode(errInfo,"GBk");Stringresult=HttpTools.getRequest(client,lcation,httpContext);StringnewURL="";HttpGethttpget=newHttpGet(newURL);HttpEntityreturn}}1)內(nèi)容采用JSON格式,我們解析時,首先將JSON解析為普通的HTML格式,然后通過DOM樹的方法來獲取需要的內(nèi)容。將JSONHTML的函數(shù)代碼如下:publicvoidjson2string(StringJSONObjectjsonObj;tryjsonObj=new}catch(JSONExceptione)}}2)config.setCrawlStorageFolder(crawlStorageFolder);設(shè)置保存爬取狀態(tài)config.setMaxPagesToFetch(-1);設(shè)置最大爬取網(wǎng)頁數(shù),默認值-1是config.setResumableCrawling(true);設(shè)置爬蟲程序中斷后是否可以恢復,true是可以controller.addSeed("");設(shè)置爬取網(wǎng)頁的,即爬蟲,,,,,。在爬取內(nèi)容中又許多在本實驗中不考慮的因素包括表情URL,@用戶,#*#話題信息等,抓取完內(nèi)容后,我們需要將這些暫時無用的信息去掉我,,,。 Patternpattern= Matchermatcher=pattern.matcher(beforerex);StringBuffersb=newStringBuffer();booleanresult1=matcher.find();while(result1){matcher.appendReplacement(sb,"");result1=matcher.find();}return},分詞和去除停用詞的過程就是將爬取內(nèi)容分成有實際意義的字或者詞并且,,計算技術(shù)額ICTCLAS系統(tǒng)主要功能包括中文分詞;詞性標注;命名實體識別;,publicnativebooleanNLPIR_NWI_Start():啟動新詞publicnativeint 識別新詞的文本文件,需要在運行NLPIR_NWI_Start()之后,才有效。publicnativebooleanNLPIR_NWI_AddMem(byte[]sText):往新詞識別系統(tǒng)中添加一段待識別新詞的內(nèi)存,需要在運行NLPIR_NWI_Start()之后,才有效。publicnativeboolean NLPIR_NWI_Start()之后,才有效。 ,,。publicnativeintNLPIR_NWI_Result2UserDict():將新詞識別結(jié)果導入到用戶詞典中需要在運行 plete()之后才有效如果需要將新詞結(jié)果永久保存,建議在執(zhí)行NLPIR_SaveTheUsrDic。,,。因為的ICTCLAS系統(tǒng)不具備去除停用詞的功能,所以我們?nèi)斯そ⒘送S?-1,,,以上實驗我們的數(shù)據(jù)集經(jīng)過了初步處理可以用于下一步數(shù)據(jù)訓練但這還不夠,,,,,,作的優(yōu)秀工具,這里又用上了。最終得到的初步特征有35808維4-2用戶昵稱,者ID,者昵稱,,事件,發(fā)布客戶端`index`int(12)NOTNULLPRIMARYKEY(`index`)5000個單詞作為最量表示,按照所得到的文本特征向量按照libsvm的格式要求保存到文件。計算TF值:publicstaticHashMap<String,Float>tf(String[]HashMap<String,Float>tfnewHashMap<String,Float>();//正規(guī)化intwordNum=cutWordResult.length;intwordtf=for(inti=0;i<wordNum;{wordtf=for(intj=0;j<wordNum;j++)if(cutWordResult[i]!=""&&i!=j)if{cutWordResult[j]="";}}}if(cutWordResult[i]!="")cutWordResult[i]="";}}return}publicstaticMap<String,Float>idf(Stringdir)throwsUnsupportedEncodingException,IOException,,//IDF=log((1+|D|)/|Dt|)其中|D|表示文檔總|Dt|表示包含關(guān)鍵詞t的文檔數(shù)量。,,Map<String,Float>idf=newHashMap<String,Float>();List<String>located=newArrayList<String>();floatDt=floatD=allTheNormalTF.size();//文檔總數(shù)Map<String,HashMap<String,Integer>>tfInIdf=allTheNormalTF;//各個文檔tf的Mapfor(inti=0;i<D;i++)HashMap<String,Integer>temp=tfInIdf.get(key.get(i));for(Stringword:temp.keySet()){Dt=if{for(intk=0;k<D;{if(k!=i)if(temp2.keySet().contains(word)){Dt=Dt+1;}}}idf.put(word,Log.log((1+D)/Dt,}}}return}圖4-4辟謠libsvm中主要的文件svm.h,svm.c,這個兩個文件實現(xiàn)了svm的算法。,,本來我參照svm-train,svm-predict中的main函數(shù)將train功能和predict,,(1)按照LIBSVMLabel1:value2:valueLabel1-1,可以自己隨意定,比如-10,0,15-151:0.7083:-svm-scale是用來對原始樣本進行縮放的,范圍可以自己定,一般是[0,1]或[-1,1]??赡茉斐捎嬎?。用法:svm-scalellower]u[-ssave_filename][-rrestore_filename]-l:設(shè)定數(shù)據(jù)下限;lower:設(shè)定的數(shù)據(jù)下限值,缺省為--u:設(shè)定數(shù)據(jù)上限;upper:設(shè)定的數(shù)據(jù)上限值,缺省為-y:是否對目標值同時進行縮放;y_lower為下限值,y_upper為上限值

filename:待縮放的數(shù)據(jù)文件,文件格式按照libsvmsvm-dos>> 我們想設(shè)定數(shù)據(jù)范圍[0,1],并把規(guī)則保存為heart.range文件:svm-scale–l0–u1-sheart.rangeheart.txt>out.txt將數(shù)據(jù)heart.txt保存在E:\labSoftWare\libsvm-2.9.tar\libsvm-2.9\windows文件夾svm-scale-l0-u1heart.txt>利用獲取的模型進試與預(yù)測svm-predict是根據(jù)訓練獲得的模型,對數(shù)據(jù)集合進行預(yù)測。 [options]test_filemodel_fileoutput_file其中,options為操作參數(shù),可用的選項即表示的涵義如下所示值為0。test_file——libsvmlabellabel的值,就會輸出正確率;——4-5總結(jié)與數(shù)量的巨大和快速的特性使得找到一種能自動處理可信度的工和相關(guān)集合,我們根據(jù)的特性,針對訓練文本提出相應(yīng)的特征,這浪開發(fā)平臺提供的API,可以獲得,當然受限于API的各種限制,數(shù)據(jù)的獲取速度和數(shù)理,在我們的研究中,我們使用的ICTCLAS的分詞系統(tǒng)進行內(nèi)容的分析,征選擇,特征抽取和計算特征權(quán)重四個部分。最后一步就是使用libsvm進行訓練了。以需要從的信息和處理機構(gòu)()獲這些信息在解決信息自動識別的問題上是很有用處的,所以下一步希望改進數(shù)據(jù)收集的方法,比如和新浪合作,獲得API。URL等[9]改善分詞系統(tǒng)。對于收集到內(nèi)容,我們需要進行分詞后才能使用。上述實驗,我先后采用了IKyzer,ICTCLAS2013版,ICTCLAS2014版,分詞效果不斷提升。但是個別詞的分詞效果依然不好,所以希望在分詞系統(tǒng)的基改善算法效率。實驗中我們使用了libsvm,針對我們信息的自動檢測,致個優(yōu)越的環(huán)境來完成的本科畢業(yè)設(shè)計,感謝NLSDE給我在這里的實首先十分感謝我的指導教師老師。淵博的理論知識和對技術(shù)方向的洞察力,使我受益良多,他對事業(yè)鍥而不舍的執(zhí)著追求和忘我的奮斗精神是我學習的楷模,并將影響著我之后的學習生活。感謝許老師對我的選題、設(shè)計、完成以及系統(tǒng)實驗幫助指導意見。郎波老師,您的和藹可親,讓我在答辯時不致過于緊張而;您建持我在北航接受高等教育,的鼓勵讓我更有信心追求心中的夢想,我愛!參考FanYang,XiaohuiYu,YangLiu,MinYang.2012.AutomaticDetectionofRumoronSinaWeibo.ProceedingsoftheACMSIGKDDWorkshoponMiningDa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論