Python 中的文本分析 | 一個介紹

Python 中的文本分析 | 一個介紹

在此博客中,我們將討論 Python 中的文本分析,用於從文本內容創建構造數據。這將幫助您分析大量數據並減少處理某些任務的時間。您還將獲得有關處理自然語言處理任務的textblob的知識。

文本分析是使用代碼分析文本的過程,用於生成和分組文本數據的自動化過程。

在我們繼續之前,您可能必須安裝我們將在本教程中使用的庫。

目錄

在 Python 中實現文本分析

讓我們從導入textblob開始。請記住使用註釋記錄您所做的事情。

Python 中的文本分析 |  一個介紹

通過運行上面的代碼,我們現在可以訪問textblob庫。下一步我們要做的是創建一個我們將用於示例的句子。我們將通過在名為sentence的變量中存儲一個句子來做到這一點。

請記住用雙引號將要添加的句子括起來。

Python 中的文本分析 |  一個介紹

textblob是一個很棒的庫,我們可以在其中創建一個 blob 並使用它的一些函數在Python中進行文本分析。

Python 中的文本分析 |  一個介紹

在創建 blob 時,我們首先創建一個變量並將其命名為blob。在此變量中,我們需要添加我們正​​在使用的庫TextBlob 。

在括號內,我們將使用sentence變量來保存我們之前創建的句子。請注意,您可以選擇在此部分的括號內手動鍵入句子本身。

要檢查此blob變量的作用,只需鍵入變量名稱並按 Shift + Enter 鍵即可對其進行初始化。輸出應類似於以下示例。

Python 中的文本分析 |  一個介紹

從結果中可以看出,我們存儲在sentence變量中的句子現在包含在TextBlob中。

在 Python 中標記文本數據

如果您想刪除句子中的某些單詞,我們可以將這些單詞中的每一個分成列表中的各個部分。對於這個給定的句子,我們要做的是標記它們或將每個單詞分開並將其放入列表中。

為此,我們將利用blob變量並使用tokenize函數。然後我們將它存儲在一個名為words的變量中。

Python 中的文本分析 |  一個介紹

讓我們以與初始化 blob 變量相同的方式初始化words變量,以查看標記化列表中的內容。

Python 中的文本分析 |  一個介紹

如您所見,每個單詞,甚至標點符號現在都在列表中分開。這就是tokenize函數的工作原理。

現在我們有了一個單詞列表,然後我們可以從中執行另一個功能。讓我們創建另一個我們不想包含在列表中的單詞列表,例如標點符號和冠詞。要執行此步驟,請參閱下面的屏幕截圖。

Python 中的文本分析 |  一個介紹

在創建停用詞列表時,我們使用方括號將停用詞列表括起來。然後每個停用詞都用單引號括起來,每個停用詞用逗號分隔。我們將列表存儲在stop_words變量中。

從這裡開始,我們將執行列表理解以刪除在Python中進行文本分析所必需的單詞。這包括清理句子、分詞和比較不同的列表。我們現在要比較這兩個列表並創建一個新的clean_tokens列表。

Python 中的文本分析 |  一個介紹

在上面的代碼中,我們使用了一個佔位符w來表示一個元素。我們在這部分要做的是,如果元素不存在於 stop_words 變量中,則獲取 words 變量中的元素。如果我們要初始化clean_tokens,這將是結果。

Python 中的文本分析 |  一個介紹

在此過程中,我們能夠通過刪除不必要的標記(例如標點符號和文章)來清理我們的標記。因此,我們的列表中只剩下基本詞。

在 Python 中連接標記以形成一個句子

現在我們已經分離了乾淨的標記,讓我們試著把它們放在一個句子中。為此,我們必須使用.join函數。檢查下面的示例以供參考。

Python 中的文本分析 |  一個介紹

在上面的示例中,我們創建了一個名為clean_sentence的變量來保存我們將組合成一個句子的干淨標記。您還可以注意到我們添加了一個由雙引號括起來的空格和.join函數。在參數中,我們包含了clean_tokens變量。

如果我們初始化clean_sentence變量,這將是輸出。

Python 中的文本分析 |  一個介紹

值得注意的是,句子看起來不對,因為我們之前刪除了冠詞和標點符號。

創建clean_sentence後,讓我們嘗試創建一個包含我們剛剛創建的clean_sentence 的新文本塊。然後我們將它存儲在一個新變量clean_blob中。

Python 中的文本分析 |  一個介紹

使用 .tags 函數剖析詞性的 Textblob

從這個分析 blob 中,我們可以使用這個 blob 的片段來檢查詞性或進行更多更改。讓我們嘗試檢查新textblob中每個單詞的詞性。

Python 中的文本分析 |  一個介紹

為了檢查文本塊中的詞性,您應該使用.tags函數。我通過使用我們的clean_blob變量來做到這一點,然後我立即添加了.tags函數。

如果您在初始化.tags函數時收到錯誤消息,請閱讀並按照以下步驟修復錯誤。在這種情況下,這就是它的外觀。

Python 中的文本分析 |  一個介紹

如果您在此錯誤消息的末尾向下滾動,您將看到您嘗試使用的功能所需的必需數據。

Python 中的文本分析 |  一個介紹

一旦找到我們需要初始化以下載必要數據的代碼,只需複制代碼,然後使用Windows 搜索打開Anaconda Prompt

Python 中的文本分析 |  一個介紹

使用Anaconda Prompt ,我們將嘗試修復我們在初始化.tags函數時收到的錯誤。現在,我們將粘貼之前從錯誤消息中復制的代碼,然後按Enter運行它。

Python 中的文本分析 |  一個介紹

完成後,嘗試再次運行.tags函數,看看它是否有效。

Python 中的文本分析 |  一個介紹

再次運行代碼後,我們可以看到錯誤已修復,我們收到的結果包含新文本塊中的每個單詞以及標籤或詞性。

如果你不知道這些標籤的含義,你可以簡單地去textblob 網站查看這些標籤代表什麼。 

在 Python 中使用 ngrams 函數進行文本分析

讓我們轉到另一個例子,這是關於獲取ngrams的。ngrams函數用於查找在句子或文檔中經常一起出現的單詞。例如,讓我們首先創建一個新的textblob並將其存儲在blob3變量中。

Python 中的文本分析 |  一個介紹

之後,讓我們在blob3變量中使用ngrams函數來檢查一些單詞組合。

Python 中的文本分析 |  一個介紹

默認情況下,如果您未在參數中指定值,它將顯示三元組或三字組合。但是如果我們想從句子中看到 2 個單詞的組合,我們可以在參數中設置2 ,如下例所示。

Python 中的文本分析 |  一個介紹

這次讓我們嘗試使用更長的句子。在這個例子中,我只是從電影評論中復制了一段較長的文本。您可以在這部分使用任何您想要的句子。

Python 中的文本分析 |  一個介紹

作為最後一個示例,讓我們嘗試再次使用ngrams和一個信息量更大的句子。

Python 中的文本分析 |  一個介紹

通過所有這些示例,我們可以根據使用ngrams函數獲得的結果在 Python 中執行更多文本分析。


適用於 LuckyTemplates 用戶的 Python II – 按需平台中的新課程
如何在
LuckyTemplates 中使用 Python 在 Python 中加載示例數據集 | 數據集和字符串函數

結論

總而言之,您已經了解了可用於在 Python 中執行文本分析的不同函數。

這些是用於分隔句子中單詞的.tokenize 函數、用於組合標記化單詞的.join函數、用於檢查單詞詞性的.tags 函數以及用於查看單詞組合的ngrams 函數。

此外,您還學習瞭如何修復錯誤,就像我們使用Anaconda Prompt在.tags函數中所做的那樣。您還學習瞭如何導入、創建 textblob以及如何利用此庫在​​ Python中執行文本分析。

一切順利,

蓋林


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的