爬取某課堂評(píng)論分類(lèi)

      網(wǎng)友投稿 773 2025-04-02

      1、項(xiàng)目目標(biāo)


      本項(xiàng)目實(shí)現(xiàn)了對(duì)網(wǎng)易云課堂課程下的學(xué)生對(duì)該課程的評(píng)論數(shù)據(jù)進(jìn)行爬取,并保存到本地csv數(shù)據(jù)庫(kù)中,以便對(duì)評(píng)論數(shù)據(jù)進(jìn)行分析,實(shí)現(xiàn)對(duì)部分閑聊貼和學(xué)習(xí)帖的分類(lèi)功能。

      2、項(xiàng)目開(kāi)發(fā)工具和設(shè)備

      (1)?電腦或筆記本;

      (2)?開(kāi)發(fā)工具Pycharm或者spyder

      3、項(xiàng)目使用知識(shí)點(diǎn)

      (1)?Beautifulsoup:爬蟲(chóng)部分實(shí)現(xiàn)使用技術(shù)

      Beautiful Soup提供一些簡(jiǎn)單的、python式的函數(shù)用來(lái)處理導(dǎo)航、搜索、修改分析樹(shù)等功能。它是一個(gè)工具箱,通過(guò)解析文檔為用戶提供需要抓取的數(shù)據(jù),因?yàn)楹?jiǎn)單,所以不需要多少代碼就可以寫(xiě)出一個(gè)完整的應(yīng)用程序。

      Beautiful Soup自動(dòng)將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。你不需要考慮編碼方式,除非文檔沒(méi)有指定一個(gè)編碼方式,這時(shí),Beautiful Soup就不能自動(dòng)識(shí)別編碼方式了。然后,你僅僅需要說(shuō)明一下原始編碼方式就可以了。

      Beautiful Soup已成為和lxml、html6lib一樣出色的python解釋器,為用戶靈活地提供不同的解析策略或強(qiáng)勁的速度。

      (2)?TextRank:文本分詞技術(shù)

      TextRank?算法是一種用于文本的基于圖的排序算法。其基本思想來(lái)源于谷歌的?PageRank算法, 通過(guò)把文本分割成若干組成單元(單詞、句子)并建立圖模型, 利用投票機(jī)制對(duì)文本中的重要成分進(jìn)行排序, 僅利用單篇文檔本身的信息即可實(shí)現(xiàn)關(guān)鍵詞提取、文摘。和 LDA、HMM 等模型不同, TextRank不需要事先對(duì)多篇文檔進(jìn)行學(xué)習(xí)訓(xùn)練, 因其簡(jiǎn)潔有效而得到廣泛應(yīng)用。

      (3)?Bayes' theorem:通過(guò)貝葉斯算法將分詞轉(zhuǎn)化成權(quán)值矩陣進(jìn)行運(yùn)算

      Bayes' theorem)是概率論中的一個(gè)定理,它跟隨機(jī)變量的條件概率以及邊緣概率分布有關(guān)。在有些關(guān)于概率的解釋中,貝葉斯定理(貝葉斯公式)能夠告知我們?nèi)绾卫眯伦C據(jù)修改已有的看法。這個(gè)名稱(chēng)來(lái)自于托馬斯·貝葉斯。

      通常,事件A在事件B(發(fā)生)的條件下的概率,與事件B在事件A(發(fā)生)的條件下的概率是不一樣的。然而,這兩者是有確定的關(guān)系的,貝葉斯定理就是這種關(guān)系的陳述。貝葉斯公式的一個(gè)用途在于通過(guò)已知的三個(gè)概率函數(shù)推出第四個(gè)。

      (4)?K-means:通過(guò)k-means算法將計(jì)算權(quán)值矩陣實(shí)現(xiàn)評(píng)論分類(lèi)功能

      K-means算法是一種源于信號(hào)處理中的一種向量量化方法,現(xiàn)在則更多地作為一種聚類(lèi)分析方法流行于數(shù)據(jù)挖掘領(lǐng)域。k-平均聚類(lèi)的目的是:把n個(gè)點(diǎn)(可以是樣本的一次觀察或一個(gè)實(shí)例)劃分到k個(gè)聚類(lèi)中,使得每個(gè)點(diǎn)都屬于離他最近的均值(此即聚類(lèi)中心)對(duì)應(yīng)的聚類(lèi),以之作為聚類(lèi)的標(biāo)準(zhǔn)。這個(gè)問(wèn)題將歸結(jié)為一個(gè)把數(shù)據(jù)空間劃分為沃羅諾伊圖的問(wèn)題。

      (5)?Matplotlib:數(shù)據(jù)可視化,數(shù)據(jù)生成圖表顯示

      matplotlib?是python最著名的繪圖庫(kù),它提供了一整套和matlab相似的命令A(yù)PI,十分適合交互式地進(jìn)行制圖。而且也可以方便地將它作為繪圖控件,嵌入GUI應(yīng)用程序中。

      (6)?WordCloud:數(shù)據(jù)可視化,將知識(shí)貼權(quán)值高的詞生成詞云便于理解

      一個(gè)在Python中生成詞云的包。

      4、數(shù)據(jù)獲取

      4.1 網(wǎng)址及介紹

      (1)數(shù)據(jù)來(lái)源

      網(wǎng)上爬取:http://*********.163.com/(爬取網(wǎng)站鏈接)

      (2)數(shù)據(jù)內(nèi)容

      a)文件名

      comment.txt

      b)具體值

      c) 數(shù)據(jù)處理

      處理過(guò)程:首先將評(píng)論字?jǐn)?shù)過(guò)少的評(píng)論以及雜亂的評(píng)論當(dāng)作噪點(diǎn)去除,然后使用分詞技術(shù)將評(píng)論中的識(shí)別度最高(特殊名詞,動(dòng)詞類(lèi))的八個(gè)詞語(yǔ)截取出來(lái)作為句子的特征值。

      4.2 數(shù)據(jù)結(jié)構(gòu)

      共有幾個(gè)屬性:八個(gè)

      具體屬性:

      1)動(dòng)詞

      2)專(zhuān)業(yè)名詞

      爬取某課堂評(píng)論分類(lèi)

      共有幾條記錄:66

      前5條記錄

      5、項(xiàng)目具體實(shí)現(xiàn)

      5.1 算法介紹

      1)處理過(guò)程

      該算法首先通過(guò)人工識(shí)別一些比較容易識(shí)別的句子得出句子A集合及分類(lèi)以及人工不易識(shí)別的句子B集合,然后將這些句子中的詞語(yǔ)使用貝葉斯算法來(lái)得出詞語(yǔ)的權(quán)值,貝葉斯公式如下(A為句子的分類(lèi),B為詞語(yǔ)是否在句子中出現(xiàn)):

      使用貝葉斯算法識(shí)別出的詞典如圖:

      后將無(wú)法識(shí)別的句子B集合中的詞語(yǔ)分別查找上文的詞典的權(quán)值并修改為權(quán)值,修改后對(duì)應(yīng)句子詞語(yǔ)的權(quán)值如下圖:

      然后對(duì)這些句子分類(lèi)為訓(xùn)練集和測(cè)試集,用測(cè)試集進(jìn)行K-means聚類(lèi),尋找到合適的簇點(diǎn)后對(duì)訓(xùn)練集進(jìn)行分類(lèi),分類(lèi)結(jié)果如下:

      如下是人工手動(dòng)分類(lèi)的結(jié)果:

      對(duì)比以后能看出這樣聚類(lèi)對(duì)于人工不好分類(lèi)的句子能好的的進(jìn)行分類(lèi)。

      2)算法介紹

      k-means算法是一種聚類(lèi)算法,所謂聚類(lèi),即根據(jù)相似性原則,將具有較高相似度的數(shù)據(jù)對(duì)象劃分至同一類(lèi)簇,將具有較高相異度的數(shù)據(jù)對(duì)象劃分至不同類(lèi)簇。聚類(lèi)與分類(lèi)最大的區(qū)別在于,聚類(lèi)過(guò)程為無(wú)監(jiān)督過(guò)程,即待處理數(shù)據(jù)對(duì)象沒(méi)有任何先驗(yàn)知識(shí),而分類(lèi)過(guò)程為有監(jiān)督過(guò)程,即存在有先驗(yàn)知識(shí)的訓(xùn)練數(shù)據(jù)集。

      k-means算法中的k代表類(lèi)簇個(gè)數(shù),means代表類(lèi)簇內(nèi)數(shù)據(jù)對(duì)象的均值(這種均值是一種對(duì)類(lèi)簇中心的描述),因此,k-means算法又稱(chēng)為k-均值算法。k-means算法是一種基于劃分的聚類(lèi)算法,以距離作為數(shù)據(jù)對(duì)象間相似性度量的標(biāo)準(zhǔn),即數(shù)據(jù)對(duì)象間的距離越小,則它們的相似性越高,則它們?cè)接锌赡茉谕粋€(gè)類(lèi)簇。數(shù)據(jù)對(duì)象間距離的計(jì)算有很多種,k-means算法通常采用歐氏距離來(lái)計(jì)算數(shù)據(jù)對(duì)象間的距離。

      k-means算法以距離作為數(shù)據(jù)對(duì)象間相似性度量的標(biāo)準(zhǔn),通常采用歐氏距離來(lái)計(jì)算數(shù)據(jù)對(duì)象間的距離。下面給出歐式距離的計(jì)算公式:

      其中,DD表示數(shù)據(jù)對(duì)象的屬性個(gè)數(shù)。

      k-means算法聚類(lèi)過(guò)程中,每次迭代,對(duì)應(yīng)的類(lèi)簇中心需要重新計(jì)算(更新):對(duì)應(yīng)類(lèi)簇中所有數(shù)據(jù)對(duì)象的均值,即為更新后該類(lèi)簇的類(lèi)簇中心。定義第kk個(gè)類(lèi)簇的類(lèi)簇中心為CenterkCenterk,則類(lèi)簇中心更新方式如下:

      其中,CkCk表示第kk個(gè)類(lèi)簇,|Ck||Ck|表示第kk個(gè)類(lèi)簇中數(shù)據(jù)對(duì)象的個(gè)數(shù),這里的求和是指類(lèi)簇CkCk中所有元素在每列屬性上的和,因此CenterkCenterk也是一個(gè)含有DD個(gè)屬性的向量,表示為Centerk=(Centerk,1,Centerk,2,...,Centerk,D)Centerk=(Centerk,1,Centerk,2,...,Centerk,D)。

      k-means算法需要不斷地迭代來(lái)重新劃分類(lèi)簇,并更新類(lèi)簇中心。一般情況,有兩種方法來(lái)終止迭代:一種方法是設(shè)定迭代次數(shù)TT,當(dāng)?shù)竭_(dá)第TT次迭代,則終止迭代,此時(shí)所得類(lèi)簇即為最終聚類(lèi)結(jié)果;另一種方法是采用誤差平方和準(zhǔn)則函數(shù),函數(shù)模型如下:

      其中,KK表示類(lèi)簇個(gè)數(shù)。當(dāng)兩次迭代JJ的差值小于某一閾值時(shí),即ΔJ<δΔJ<δ時(shí),則終止迭代,此時(shí)所得類(lèi)簇即為最終聚類(lèi)結(jié)果。

      k-means算法思想可描述為:首先初始化KK個(gè)類(lèi)簇中心;然后計(jì)算各個(gè)數(shù)據(jù)對(duì)象到聚類(lèi)中心的距離,把數(shù)據(jù)對(duì)象劃分至距離其最近的聚類(lèi)中心所在類(lèi)簇中;接著根據(jù)所得類(lèi)簇,更新類(lèi)簇中心;然后繼續(xù)計(jì)算各個(gè)數(shù)據(jù)對(duì)象到聚類(lèi)中心的距離,把數(shù)據(jù)對(duì)象劃分至距離其最近的聚類(lèi)中心所在類(lèi)簇中;接著根據(jù)所得類(lèi)簇,繼續(xù)更新類(lèi)簇中心;……一直迭代,直到達(dá)到最大迭代次數(shù)TT,或者兩次迭代JJ的差值小于某一閾值時(shí),迭代終止,得到最終聚類(lèi)結(jié)果。

      5.2?程序流程圖(10分)

      5.3?結(jié)果輸出

      評(píng)論分類(lèi):標(biāo)簽為知識(shí)貼與閑聊貼兩類(lèi)

      6、結(jié)果圖表展示

      (1)評(píng)論分類(lèi):標(biāo)簽為知識(shí)貼與閑聊貼兩類(lèi)

      (2)生成知識(shí)貼詞云:

      7、項(xiàng)目完成總結(jié)

      由以上分類(lèi)結(jié)果,可以實(shí)現(xiàn)網(wǎng)易云課堂中的主題帖分類(lèi),便于教授進(jìn)行針對(duì)性評(píng)論。節(jié)省時(shí)間,提高了教學(xué)效率,也解決了學(xué)生的疑難問(wèn)題。

      文章面向當(dāng)前大數(shù)據(jù)時(shí)代下在線教育發(fā)展的迅猛趨勢(shì)與國(guó)內(nèi)外數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)研究背景,廣泛調(diào)研和深入分析了面向大型在線開(kāi)放課程的數(shù)據(jù)挖掘的重要理論價(jià)值及現(xiàn)實(shí)意義,具有一定的實(shí)際應(yīng)用價(jià)值。

      數(shù)據(jù)挖掘 機(jī)器學(xué)習(xí)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何通過(guò)業(yè)務(wù)流程圖快速啟動(dòng)您的ERP旅程
      下一篇:獨(dú)特樣式在哪里(2016獨(dú)特樣式在哪)
      相關(guān)文章
      亚洲国产福利精品一区二区| 亚洲精品午夜国产VA久久成人| 亚洲熟妇av一区二区三区漫画| 色九月亚洲综合网| 亚洲中文字幕精品久久| 亚洲人成影院午夜网站| 亚洲色偷偷av男人的天堂 | 久久久久亚洲AV无码专区桃色| 国产亚洲情侣久久精品| 色天使色婷婷在线影院亚洲| 亚洲人成电影网站色www| 自拍日韩亚洲一区在线| 亚洲制服丝袜一区二区三区| 亚洲国产综合第一精品小说| 亚洲国产精品成人精品小说| 久久精品国产精品亚洲艾草网| 亚洲精品V欧洲精品V日韩精品| 亚洲精品无码成人片久久| 亚洲国产成人片在线观看无码| 久久综合图区亚洲综合图区| 久久精品国产精品亚洲色婷婷| 亚洲va国产va天堂va久久| 亚洲av日韩av激情亚洲| 久久亚洲AV无码精品色午夜麻豆 | 91亚洲精品自在在线观看| 亚洲色欲www综合网| 亚洲精品免费在线| 亚洲一区无码中文字幕乱码| 亚洲一级毛片视频| 亚洲人成www在线播放| 一本色道久久88亚洲精品综合| 亚洲欧美中文日韩视频| 亚洲Av永久无码精品一区二区| 久久久久久亚洲精品无码| 国产AV日韩A∨亚洲AV电影| 国产AV日韩A∨亚洲AV电影 | 亚洲成在人线在线播放无码| 国产偷国产偷亚洲高清在线| 亚洲伊人久久综合影院| 久久久久亚洲AV成人网人人软件| 国产成A人亚洲精V品无码性色|