自然語言及語音處理項目式教程 實訓指導 實訓9 論文文本相似度計算_第1頁
自然語言及語音處理項目式教程 實訓指導 實訓9 論文文本相似度計算_第2頁
自然語言及語音處理項目式教程 實訓指導 實訓9 論文文本相似度計算_第3頁
自然語言及語音處理項目式教程 實訓指導 實訓9 論文文本相似度計算_第4頁
自然語言及語音處理項目式教程 實訓指導 實訓9 論文文本相似度計算_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《自然語言處理技術》深入文本進階處理——論文文本相似度計算實訓目標熟練使用PyPDF2庫讀取PDF文件中的文本。掌握使用jieba庫中的cut函數對文本進行分詞的方法。掌握將文本數據轉化為數字向量形式的方法。掌握計算余弦相似度的方法。實訓環境環境版本說明Windows1064電腦操作系統Python3.8.5Python語言版本pandas1.3.0主要用于數據讀取、清洗等操作NumPy1.21.6主要用于Python中的數值計算jieba0.42.1主要用于文本分詞Gensim4.2.0主要用于檢索文本、計算文本相似度、訓練詞向量、建模主題等Matplotlib3.3.0主要用于數據可視化PaddlePaddle2.4.2是一個深度學習框架,提供了高效的計算框架和優化算法PaddleSpeech1.2.0主要用于語音和音頻中的各種關鍵任務的開發scikit-learn1.0.2廣泛地用于統計分析和機器學習建模等數據科學領域Librosa0.8.1主要用于分析一般的音頻信號,是一個非常強大的Python語音信號處理的第三方庫NLTK3.5是一個常用的自然語言處理工具包,可用于文本處理、語義分析、詞性標注等SciPy1.7.3是一個科學計算工具包,可用于數學、科學、工程學等領域pyttsx32.9.0主要用于將文本轉換成語音實訓說明本實訓旨在實現一種基于文本相似度計算的方法,用于比較兩篇中文論文之間的相似度。該方法可以幫助研究人員更快速地找到相似研究,并可以幫助研究人員編輯更好地組織內容,避免重復發表。計算文本相似度的基本流程如REF_Ref131447547\h圖31所示。圖STYLEREF1\s3SEQ圖\*ARABIC\s11文本相似度計算基本流程圖實訓步驟從PDF中提取文本從PDF中提取文本的作用是將PDF文檔中的文本內容轉換成可讀取的文本格式,便于進行文本分詞、文本向量化等處理,以便后續通過向量化的文本進行文本相似度的計算。運用PyPDF2庫讀取以二進制方式打開的PDF文件,依次讀取每頁的文本內容,再將每頁內容進行整合,如REF_Ref131447588\h代碼31所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s11PDF文本提取importPyPDF2#導入PyPDF2庫#讀取PDF文件中的文本內容defextract_text_from_pdf(filename):pdf_file=open(filename,'rb')#以二進制方式打開PDF文件pdf_reader=PyPDF2.PdfReader(pdf_file)#創建PdfReader對象num_pages=len(pdf_reader.pages)#獲取PDF文件中頁面的數量content=""#初始化文本內容為空字符串#循環讀取PDF文件中每個頁面的文本內容foriinrange(num_pages):page=pdf_reader.pages[i]#獲取當前頁面content+=page.extract_text()#將當前頁面的文本內容添加到文本內容變量中pdf_file.close()#關閉PDF文件returncontent#返回PDF文件中的文本內容#讀取兩個PDF文件中的文本filename1='../data/數字普惠金融促進鄉村振興的影響機制研究_孟維福.pdf'filename2='../data/鄉村振興與新型城鎮化協同發...—基于省級尺度時空演化分析_謝天成.pdf'text1=extract_text_from_pdf(filename1)text2=extract_text_from_pdf(filename2)#輸出文本內容的前10行lines1=text1.splitlines()[:9]lines2=text2.splitlines()[:9]print("文本1的前10行為:\n",lines1)print("文本2的前10行為:\n",lines2)運行PDF文本提取代碼,得到文本1、文本2的提取結果如下。文本1的前10行為:['孟維福,李莎,劉婧涵,陳陽:數字普惠金融促進鄉村振興的影響機制研究','一、引言','民族要復興,鄉村必振興。自黨的十九大報告','中明確提出要實施鄉村振興戰略后,2020年12月,','習近平總書記在中央農村工作會議上再次強調,要','舉全黨全社會之力推動鄉村振興,這是在我國絕對','貧困問題得到歷史性的解決之后,鄉村振興戰略又','順勢發力,成為黨和國家事業的重中之重;2022年','10月,黨的二十大報告再次提出要全面推進鄉村振']文本2的前10行為:['2022年第9期','一、引言','2020年3月,習近平總書記在湖州安吉考察調','研時強調,全面建設社會主義現代化國家,既要有','城市現代化,又要有農業農村現代化。《鄉村振興戰','略規劃(2018—2022年)》要求堅持鄉村振興和新型','城鎮化雙輪驅動;中共中央、國務院發布的《關于建','立健全城鄉融合發展體制機制和政策體系的意見》','提出,重塑新型城鄉關系,走城鄉融合發展之路,要']中文分詞使用jieba庫中的cut函數對文本進行分詞,如REF_Ref131447612\h代碼32所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s12中文分詞importjieba#導入jieba庫#中文分詞deftokenize(text):words=jieba.cut(text)return[wordforwordinwords]#對文本進行預處理words1=tokenize(text1)words2=tokenize(text2)#分別輸出兩個文本第10行的分詞結果print("文本1第10行分詞結果:","".join(words1[90:100]))print("文本2第10行分詞結果:","".join(words2[90:100]))運行中文分詞代碼,得到文本1、文本2的分詞結果如下。文本1第10行的分詞結果為:解決之后,鄉村振興戰略又順勢文本2第10行的分詞結果為:城鄉融合發展體制機制和政策體系的意見文本向量化文本向量化需要經過獲取單詞、創建詞向量等步驟,將文本數據轉化為數字向量形式,以便做進一步的數據分析和模型訓練。文本向量化如REF_Ref131447632\h代碼33所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s13文本向量化#獲取所有不同的單詞words_set=list(set(words1+words2))#創建詞向量vector1=[words1.count(word)forwordinwords_set]vector2=[words2.count(word)forwordinwords_set]#輸出每個文本第10行的向量line_number=10print(f"文本1第{line_number}行的向量為:{vector1[(line_number-1)*10:line_number*10]}")print(f"文本2第{line_number}行的向量為:{vector2[(line_number-1)*10:line_number*10]}")運行文本向量化代碼,得到文本1、文本2的向量化結果如下。文本1第10行的向量為:[0,1,1,0,1,3,1,3,2,0]文本2第10行的向量為:[1,0,1,15,4,0,0,38,0,1]計算相似度計算相似度需要經過計算余弦相似度、輸出相似度的步驟。計算相似度如REF_Ref131447652\h代碼34所示。代碼STYLEREF1\s3SEQ代碼\*ARABIC\s14計算相似度importnumpyasnp#導入NumPy庫#計算余弦相似度defcosine_similarity(vector1,vector2):dot_product=np.dot(vector1,vector2)norm1=np.linalg.norm(vector1)norm2=np.linalg.norm(vector2)returndot_product/(norm1*norm2)#計算text1和text2的相似度sim=cosine_similarity(vector1,vector2)print('相似度為:',sim)#

溫馨提示

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

評論

0/150

提交評論