




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Python爬蟲大數據采集與挖掘(11-1)
--文本信息處理與分類《Python爬蟲大數據采集與挖掘》第二版.微課視頻版(清華大學出版社,2025)教材《Python爬蟲大數據采集與挖掘》及配套公眾號
(當當、京東可購書)提綱文本預處理文本的向量空間模型文本的分布式表示文本分類及實現技術文本情感分析詞匯切分詞匯切分的必要性爬蟲采集到文本信息之后的處理是文本處理挖掘的基礎是大數據語義分析的基礎切分的流程基于詞典的分詞方法三個基本要素分詞詞典文本掃描順序正向掃描、逆向掃描和雙向掃描匹配原則最大匹配、最小匹配、逐詞匹配和最佳匹配所謂最大匹配,就是優先匹配最長詞匯,即每一句的分詞結果中的詞匯總量要最少。正向最大匹配分詞在實現上可以采用減字法。正向減字最大匹配法,首先需要將詞典中詞匯按照其長度從大到小的順序排列,然后對于待切分的中文字符串,做如下處理:(1)將字符串和詞典中的每個詞匯逐一進行比較;(2)如果匹配到,則切分出一個詞匯,轉步驟5執行;(3)否則,從字符串的末尾減去一個字;(4)如果剩下的字符串只有一個字,則切分出該字;(5)將剩下的字符串作為新的字符串,轉步驟1執行,直到剩下的字符串長度為0。[1]s=“今天是中華人民共和國獲得奧運會舉辦權的日子”[2]s=“今天是中華人民共和國獲得奧運會舉辦權的日”[3]s=“今天是中華人民共和國獲得奧運會舉辦權的”…[20]s=“今天”[21]s=“是中華人民共和國獲得奧運會舉辦權的日子”[22]s=“是中華人民共和國獲得奧運會舉辦權的日”…[39]s=“是”[40]s=“中華人民共和國獲得奧運會舉辦權的日子”…[51]s=“中華人民共和國”[52]s=“獲得奧運會舉辦權的日子”…[61]s=“獲得”…[1]s=“今天是中華人民”…[6]s=“今天”[7]s=“是中華人民共和”[13]s=“是”[14]s=“中華人民共和國”[15]s=“獲得奧運會舉辦”[20]s=“獲得”[21]s=“奧運會舉辦權的”…按照目前基于一些語料的詞匯切分實驗結果,逆向最大匹配的切分方法得到的錯誤率是1/245,而正向最大匹配的切分方法的錯誤率是1/169。切分中的錯誤源于詞匯之間字符的重疊.“局長的房間內存儲貴重的黃金”正向最大匹配掃描得到的結果是“局長的房間內存儲貴重的黃金”逆向最大匹配掃描得到的結果是“局長的房間內存儲貴重的黃金”基于統計的分詞該方法利用詞匯使用中的統計特性進行分詞,如字串的使用頻率、每個字在詞匯中的位置特征等。通過使用機器學習的方法學習字詞特征。該方法由3個步驟組成,分別是構造語料、訓練模型和分詞。語料采用BMES標簽,構造大量語料。如上,是語料中的兩個例子。訓練模型訓練模型的目的是獲得描述語料中的字和對應標簽的統計特征,可以是標簽和字的組合概率、上下文的使用情況等。模型學習類似p(人|B)、p(人|S)、p(這|B)…每個字作為BMES的概率,以及BMES序列之間的聯系等特征。相關模型:HMM、CRF、RNN等等。分詞例如,輸入句子是“上海大學學科發展得很快”,假如模型輸出的標簽序列是BMMEBEBESBE,那么,相應的切分結果就是“上海大學/學科/發展/得/很快”。停用詞過濾停用詞過濾停用詞在不同的文本分析任務中有著不同的定義,在基于詞的檢索系統中,停用詞是指出現頻率太高、沒有太大檢索意義的詞,如“一個、一種、因此、否則、其中”等;在文本分類中,停用詞是指沒有意義的虛詞和類別色彩不強的中性詞;在自動問答系統中,停用詞因問題不同而動態變化。詞形規范化詞形規范化英文單詞一般由三部分構成:詞根、前綴和后綴,其中詞根決定單詞意思,前綴改變單詞詞義,后綴改變單詞詞性。在英文文本處理當中,在有些應用當中需要對一個詞的不同形態進行歸并,提高文本處理的效率。詞干提取是抽取詞的詞干或詞根形式,不要求一定能表達完整語義。例如,fishing抽取出fish,electricity抽取出electr。詞干提取的方法同樣分為:基于規則的方法、基于詞典的方法、基于統計的方法。Python開源庫的使用Python開源庫的使用“結巴”(jieba)(1)jieba.cut(sentence,cut_all=False,HMM=True)(2)加載自定義詞典(3)切分詞匯、同時進行詞性標注(4)命名實體識別:名詞、人名等相關例子見教材提綱文本預處理文本的向量空間模型文本的分布式表示文本分類及實現技術文本情感分析文本表示向量空間表示文本表示成為一個向量維度可以是詞匯,也可以不是詞匯概率模型表示特征選擇目前,特征選擇的主要方法有:信息增益、卡方統計量、互信息以及專門針對文本內容的TF-IDF等方法。這些特征選擇方法可分為有監督和無監督兩類,其中TF-IDF、互信息為無監督方法,卡方統計量、信息增益為有監督方法。模型表示文本的向量空間模型和線性代數中學過的向量空間模型是相同的,由基向量和坐標構成。以詞匯作為維度為例,在文本表示中,基向量就是特征詞匯,坐標就是詞匯的權重。
坐標或權重常用的計算方法有布爾權重記錄特征詞是否在文本中出現過TF特征項頻率權重(TermFrequency)TF-IDFTF-IDF(詞頻率-逆文檔頻率,TermFrequency-InverseDocumentFrequency)TF-IDF=TF*IDFIDF=log((1+N)/(1+N(ti)))+1可避免IDF=0
維度/文檔ABCw1210w2001w3010w4110w5000w6110w7101基本公式平滑公式—替換基本公式的idfLog((1+3)/(1+2))+1Log((1+3)/(1+2))+1使用Python構建向量空間表示可以使用Python開源庫sklearn和gensim中的相關類或函數來構造相應的向量空間表示。基本步驟#裝載停用詞列表#分詞、去停用詞#特征選擇#使用TfidfVectorizer計算每個文檔中每個詞匯的TF-IDF值例子見教材特別強調的是:下面語句進行特征選擇:解釋見教材dictionary=Dictionary(texts)dictionary.filter_extremes(no_below=2,no_above=1.0,keep_n=10)擴展閱讀向量的重要性提綱文本預處理文本的向量空間模型文本的分布式表示文本分類及實現技術文本情感分析VSM模型的維度是隨著文本集的不同而不同,這樣會導致大規模文本集處理的困難,因此,希望能將不同文本集的詞匯都表示為一個等長向量。分布式表示(DistributedRepresentation)將長短不一的句子表示為一個定長向量,而向量的每個維度不再是詞匯,而是代表某種語義特征。具有更加豐富的語義。文本向量表示的技術發展SVD--LDA–word2vec--Glove–FastText—Doc2vec—Elmo—GTP—BertWord2vec之后采取的是神經網絡訓練學習的方法。Fromgenism.models.doc2vecimportDoc2Vec,TaggedDocument準備訓練語料,需要分詞訓練文檔模型model.train使用模型進行文本分析提綱文本預處理文本的向量空間模型文本的分布式表示文本分類及實現技術文本情感分析分類技術概要在分類中涉及到的概念有:分類器、訓練、訓練樣本、測試樣本等。分類器是對數據挖掘中對樣本進行分類的總稱,訓練是指對模型的參數進行優化,選取最優的模型參數使得算法能夠建立具有很好泛化能力的模型。訓練樣本是由類別已知的樣本組成,用于模型的訓練。測試樣本是由類別未知的樣本組成,用于測試模型的性能。根據文本表示方法的不同,文本分類方法總體上有兩大類基于概率模型的分類使用概率文本模型,如n-gram等基于向量空間模型的分類使用文本向量表示,如VSM、Doc2vec等不管是哪類方法,基本流程大都相似。分類的流程基于概率模型的分類器樸素Bayes分類訓練:求解以下兩組參數分類:按照極大后驗例子假設有以下A類、B類共7個訓練樣本。其中斜體的詞匯為特征詞,共8個不同的特征詞,即:元旦、旅游、假期、計劃、跑步、運動、身材、方法。A類4個文本共有10個特征詞,B類3文本有7個特征詞模型訓練-采用unigram,加一平滑分類X=“元旦里,跑步、運動不可少”P(x|A)*P(A)=0.167*0.056*0.056*4/7=0.000299,P(x|B)*P(B)=0.067*0.2*0.2*3/7=0.001149,根據最大后驗概率判定準則可見,應當把該文本分為B類。基于向量空間表示的分類KNN分類KNN算法的思想比較簡單,即如果一個樣本(向量)在特征空間中的
個最近鄰樣本(向量)中的大多數屬于某一個類別,則該樣本(向量)也屬于這個類別。對文本分類而言,在給定新文本后,考慮在訓練文本集中與該新文本距離最近的
篇文本,根據這
篇文本所屬的類別判斷新文本所屬類別。SVM分類簡單分類器可以避免過擬合分類方法常用的核函數有線性核函數、多項式核函數、徑向基核函數、Sigmoid核函數和復合核函數。SVM在應對多類情況下,常用的方法是將
類問題轉化為
個兩類問題性能評估分類模型的性能評估真實類別為正例真實類別為負例算法判斷為正例ab算法判斷為負例cd查全率(召回率,Recall,簡記為r)和查準率(準確率,Precision,簡記為p),
Python實現:新聞分類為例具體實現方法,其中使用到的主要開源函數包或函數有:gensim.corpora、sklearn.svm、sklearn.feature_extraction.text.TfidfVectorizer、sklearn.metrics.confusion_matrix、sklearn.metrics.classification_report等,用于數據集的表示、TFIDF的計算、SVM模型以及性能分析等。訓練和分類兩個過程見教材提綱文本預處理文本的向量空間模型文本的分布式表示文本分類及實現技術文本情感分析情感分析也稱為觀點挖掘,是互聯網大數據挖掘應用中的一項重要技術。目標是從文本中識別出顯性或隱性表達的褒貶情感,在社會事件、服務評論、票房預測、金融市場等眾多領域具有廣泛的應用。情感分析分為詞匯級別、屬性級別、句子級別和篇章級別。以“手機用很久了,今天買了一個新的,屏幕大,分辨率高。如果過幾天覺得不好用,還可以退貨。”詞匯級別情感分析目標是提取文本中詞匯的情感,“很久”“新”“大”“高”“不好”都是包含情感的詞匯。屬性級別是提取文本中的描述對象及其情感,如(手機,新)(屏幕,大)(分辨率,高)(手機,不好用)句子級別是為整條評論文本輸出其情感,基于機器學習的方法SnowNLP是一個常用的中文文本處理庫,其包含了基于Bayes的情感分類器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購相關安全協議書
- 車庫出售定金協議書
- 解除車貸合同協議書
- 健身俱樂部預售協議書
- 項目合股承包協議書
- 配偶同意賣房協議書
- 餐廳人身安全協議書
- 酒店訂餐免責協議書
- 餐廳員工持股協議書
- 退休人員免責協議書
- DB3309T 106-2024人力資源和社會保障數據分類分級規范
- 租賃法律知識講座課件
- 2025屆吉林省長春市高三質量監測(三)政治試題及答案
- GB/T 24894-2025動植物油脂甘三酯分子2-位脂肪酸組分的測定
- 2024年江蘇常州中考滿分作文《那么舊那樣新》8
- 4P營銷理論課件
- 幕墻工程施工方案及述標文件
- 《生鮮農產品供應鏈中雙渠道模式合作演化博弈實證研究》17000字
- 湖北省武漢市華師一附中2025屆中考生物押題試卷含解析
- 竣工結算審計服務投標方案(2024修訂版)(技術方案)
- 某藥業公司管理制度匯編
評論
0/150
提交評論