用R語言進行文字挖掘和主題建模

2021-08-20 02:05:22 字數 2193 閱讀 7845

我們每天都會遇到各種各樣的文字資料,但大部分是非結構化的,並不是全部都是有價值的。

我們閱讀的書籍,部落格,新聞文章,網頁,電子郵件等都是文字資料。所有這些文字都為我們提供了大量的資訊,並不斷增長。但是,並非所有的資料都是有用的。我們過濾掉噪音,只保留重要的資訊。這是乙個乏味的過程,但作為人類,我們需要智慧型 - 閱讀是乙個必不可少的工具。而且,當世界傾向於智慧型機器時,處理來自非結構化資料的資訊的能力是必須的。對於人類和智慧型機器來說,從大量的文字資料中挖掘資訊是必需的。文字挖掘可以提供方法來提取,總結和分析來自非結構化資料的有用資訊,以獲得新的見解。

文字挖掘可以用於各種任務。以下是我們的系列將進一步討論的幾個主題:

這篇文章主要關注主題建模。在接下來的帖子中,我們將深入到其他任務。

文字檔案可以有各種格式,如pdf,

doc,

html

等。第一步是將這些文件轉換為可讀的文字格式。接下來,必須建立乙個語料庫。語料庫只是乙個或多個文件的集合。當我們在

r中建立語料庫時,文字會被標記並可供進一步處理。

library(tm)

library(snowballc)

library(topicmodels)

#設定工作目錄(根據需要修改路徑)

setwd("//users//datascience//textmining//topicmodel")

#載入文件到語料庫

#獲取目錄中的.txt檔案列表

filenames

#將檔案讀入字元向量

#建立向量語料庫

articles.corpus

接下來,我們需要對文字進行預處理,將其轉換為可以處理以提取資訊的格式。在分析文字之前減小特徵空間的大小是非常重要的。我們可以在這裡使用各種預處理方法,如停用詞清除,案例摺疊,詞幹化,詞形化和收縮簡化。但是,沒有必要將所有的規範化方法應用於文字。這取決於我們檢索的資料和要執行的分析型別。

# 將每個字母變成小寫

articles.corpus

# 刪除標點符號

articles.corpus

#刪除數字

articles.corpus

# 刪除通用和自定義的停用詞

stopword

articles.corpus

articles.corpus

以下是我們應用於減少資料集特徵空間的預處理方法的簡短描述:

刪除標點符號:刪除了各種標點符號,如+, 

- 和〜。

停用詞清除:將常用詞和短語功能詞等停用詞過濾掉,以便對資料進行有效的分析。由nltk提供的標準英語停用詞列表與自定義詞匯集合一起使用,以消除非正式詞彙和產品名稱。我們也可以從我們的文字中提供我們認為與我們的分析無關的文字。

案例摺疊:案例摺疊將所有大寫字母轉換為小寫字母。

詞幹化:詞幹是將修飾詞或派生詞歸為根的過程。例如,工作(進行時)和工作(過去式)都會被詞幹化為工作(原型)。

刪除號碼:對於某些文字挖掘活動,號碼不是必需的。例如,在主題建模的情況下,我們關心的是找到描述我們語料庫的基本詞彙。在這種情況下,我們可以刪除號碼。然而,在某些情況下,例如,如果我們正在為財務報表進行主題建模,它們可能會增加實質性內容。

下一步是建立乙個文件項矩陣(dtm)。這是乙個重要的步驟,因為解釋和分析文字檔案,它們最終必須轉換成文件術語矩陣。 

dtm包含每個文件的術語出現次數。 

dtm中的行代表文件,文件中的每個詞代表一列。在將文集轉換為文件項矩陣之後,我們還移除了低頻詞(稀疏詞)。

articledtm 

articledtm2

latent dirichlet allocation

(lda

)模型是一種廣泛使用的話題建模技術。以上結果表明,這兩個檔案的主題都集中在機器學習和資料科學領域,你可以從

github

中找到資料集和**。

問答從命令列執行r語言指令碼

用r進行文字挖掘與分析:分詞、畫詞云

文字挖掘的分詞原理

大資料探勘中易犯的11大錯誤

用R語言進行文字挖掘和主題建模

我們每天都會遇到各種各樣的文字資料,但大部分是非結構化的,並不是全部都是有價值的。我們閱讀的書籍,部落格,新聞文章,網頁,電子郵件等都是文字資料。所有這些文字都為我們提供了大量的資訊,並不斷增長。但是,並非所有的資料都是有用的。我們過濾掉噪音,只保留重要的資訊。這是乙個乏味的過程,但作為人類,我們需...

用R語言進行文字挖掘和主題建模

我們每天都會遇到各種各樣的文字資料,但大部分是非結構化的,並不是全部都是有價值的。我們閱讀的書籍,部落格,新聞文章,網頁,電子郵件等都是文字資料。所有這些文字都為我們提供了大量的資訊,並不斷增長。但是,並非所有的資料都是有用的。我們過濾掉噪音,只保留重要的資訊。這是乙個乏味的過程,但作為人類,我們需...

用R語言進行文字挖掘和主題建模

我們閱讀的書籍,部落格,新聞文章,網頁,電子郵件等都是文字資料。所有這些文字都為我們提供了大量的資訊,並不斷增長。但是,並非所有的資料都是有用的。我們過濾掉噪音,只保留重要的資訊。這是乙個乏味的過程,但作為人類,我們需要智慧型 閱讀是乙個必不可少的工具。而且,當世界傾向於智慧型機器時,處理來自非結構...