借助亞馬遜S3和RapidMiner將機器學習應用到文本挖掘

w8y5 9年前發布 | 22K 次閱讀 機器學習

本挖掘典型地運用了機器學習技術,例如聚類,分類,關聯規則,和預測建模。這些技術揭示潛在內容中的意義和關系。文本發掘應用于諸如競爭情報,生命科學,客戶呼聲,媒體和出版,法律和稅收,法律實施,情感分析和趨勢識別。

在本篇博客帖中,你將會學習到如何將機器學習技術應用到文本挖掘中。我將會向你展示如何使用RapidMiner(一款流行的預測分析開源工具) 和亞馬遜S3業務來創建一個文件挖掘應用。亞馬遜S3業務是一項易用的存儲服務,可使組織在網頁上的任何地方存儲和檢索任意數量的數據。

掘模型產生的結果可以得到持續的推導并應用于解決特定問題

為什么使用文本挖掘技術?

文本挖掘技術幫助你在大量的肉眼不可見的文本內容中隱藏的文本模式和關系,帶來了新的商機和進程的改進。使用文本挖掘技術可以節省你的時間和資源,因為文本挖掘進程可以實現自動化,文本挖掘模型產生的結果可以得到持續的推導并應用于解決特定問題。

這些技術可以幫助你:

  • 從大量的文本內容中提取關鍵概念,文本模式和關系。
  • 以主題(例如旅行和娛樂)為依據,在文本內容中識別各種趨勢,以便理解用戶情感。
  • 從文檔中概括內容,從語義上理解潛在內容。
  • 索引和搜索文本以便在預測分析中使用。

正如你所看到的,除了事務性內容外,如果你不分析文本內容,你可能錯失重大的機遇.

以前文本挖掘所面臨的障礙

在過去,從大量的文本中提取有價值的透徹分析通常很難。提取有價值的透徹分析需要技藝精湛的IT人才來執行復雜的編程和建模任務。另外,在維持性 能和創新周期所要求的速度和靈敏度的條件下,所具有的基礎設施簡直無法滿足處理大量非結構化文本的要求。工具與潛在基礎設施的集成則是面臨的另一個挑戰。 這通常導致數據和工具從一個環境遷移到另一個環境。此外,商業用戶發現很難解讀這些結果。易于挖掘和分析的結構化數據變成大多數數據分析任務的主要數據 源。結果是大量的文本內容實際上未被使用。

文本分析的新近發展

數據和云基礎設施已經取得了巨大的進步。這包括機器學習和文本挖掘領域可用的各種工具和技術。伴隨著這些發展,速度,創新和可擴展性現在變成了可能。在組 織使用分析學方面也已經出現了根本性的轉變:不是應對過去的趨勢,組織通過根據當前事件預測未來趨勢而變得主動。多虧了AWS提供的各種云基礎設施服務和 諸如 RapidMiner ,組織不再需要先進的編程技術就可以在可擴展和持久的環境中快速地分析文本內容了。RapidMiner工具綜合了機器學習,文本挖掘和可視化能力。

文本挖掘流程

大多數文本挖掘遵循以下的典型流程:

1.識別和提取待分析的文檔。應用結構化的,統計的和語言技術(通常是共同應用)來識別,標識和提取各種成分,例如實體,概念和關系。

2.應用統計學的模式匹配和相似性技術來將文檔分類并根據特定的分組或分類組織提取出的特征。潛在的非結構化數據轉化為易于分析的結構化數據。分類過程幫助識別含義和各種關系。

3.評估模型的性能。

4.向最終用戶呈現分析結果。

下面的流程圖說明了這一流程。

借助亞馬遜S3和RapidMiner將機器學習應用到文本挖掘

典型的文本挖掘流程圖

第一行:識別/提取待分析的文本/文檔      應用統計的/語言的/結構化技術來分析  推斷含義/識別內容/應用詞類分析法

第二行:提取概念和模式         應用統計的/機器學習/模式匹配技術   將文檔分類,根據分類學組織文檔

第三行:識別文本含義和大量文本中各種關系   評估模型性能,檢查查準率/查全率/準確性/相關性

向最終用戶呈現分析結果

機器學習在文本挖掘中的作用

典型地,文本挖掘技術根據因子(例如術語頻率和分布)的統計分析建立一組重要的單詞和句子。根據重要性,得分最高的單詞和句子典型地表明潛在的觀點,感情或一般主題。

作為過程的一部分,現代工具典型地構建一個文檔術語矩陣(DTM),使用加權方法,如詞頻-逆文檔頻率法(TF-IDF)。這些工具提取并將潛在 信息,如標準特征,關鍵詞頻率,文檔和文本列表特征,以表格的形式存儲在數據庫中。可以查詢這些表格進行系數分析和處理。這些步驟是將機器學習技術應用到 文本內容的前導。

文本分析學典型地運用機器學習技術,如聚類,分類,關聯規則和預測建模來識別潛在內容中的含義和各種關系。然后使用各種方法處理非機構化數據源中 包含的潛在文本。非結構化數據源包括自然語言處理(NLP),語法分析,標記化(明顯成分的識別,如單詞和N個字尾),詞干提取(將單詞變體縮減為詞 干),術語歸約(使用同義詞和相似度量的小組類術語)和詞類標記。這些數據源幫助識別事實和關系。

文本分析另一個關鍵的方面涉及組織和構建潛在的文本內容。典型的技術包括聚類,編目,分類和歸類。很多工具使用的典型的分類方法包括樸素貝葉斯,支持向量機和K最近鄰分類算法。

下面的表格包含了常用的文本挖掘技術,包括機器學習和每一種技術的考慮因素。

文本挖掘技術

關鍵的考慮因素                                
組織和構建內容
  •    聚類
  •    編目
  •    分類
  •    歸類

文本處理
  •    自然語言處理
  •    語法分析
  •    標記化
  •    詞干提取
  •    術語歸約
  •    詞類標記
統計學分析
  • 術語頻率
  • 關鍵詞頻率
  • 分布
  • 文檔術語矩陣
  • 詞頻-逆文檔頻率法
  • 文檔索引
機器學習
  • 聚類
  • 分類
  • 關聯規則
  • 預測建模
分類方法
  • 樸素貝葉斯
  • 支持向量機
  • K最近鄰
模型評估
  • 查準率
  • 查全率
  • 準確性
  • 相關性

一旦使用以上的技術對文本進行了處理,分組和分析,評價結果就變得很重要。評估的目的是確定你是否已經找到了最相關的材料或是否你丟失了一些重要術語。你將會使用查準率和查全率和評估結果。

使用AWS服務和RapidMiner進行情感分析

現在讓我們看一下你如何使用AWS服務和RapidMiner進行情感分析,這是文本挖掘一個很普遍的應用案例。在情感分析中,你識別積極和消極 的觀點,情緒和評價,經常使用機器學習技術分析文本內容。使用AWS和RapidMiner,你不用將非結構化數據遷移到另一個環境中就可以使用情感分析 這樣的技術對存儲在S3中的數據直接進行分析。

如下所示,你可以使用RapidMiner創建文本挖掘流程與S3進行集成。S3上的一個對象可能是任何一種文件,也可能是任何一種格式,如文本文件,招聘,或視頻。這使得S3在存儲文本挖掘和先進的分析學所需的非結構化數據方面變得非常有用。

借助亞馬遜S3和RapidMiner將機器學習應用到文本挖掘

亞馬遜S3服務與其他的亞馬遜大數據服務,如Amazon Redshift ,Amazon RDS ,Amazon DynamoDBAmazon Kinesis 和Amazon EMR ,是集成的。這就產生了在AWS中使用RapidMiner開發文本挖掘模型的有趣場景。例如,你可以使用S3服務來存儲從這些亞馬遜業務中提取的數據, 然后使用RapidMiner對這些數據快速構建一個文本挖掘模型。你可以將模型輸出的結果存儲到你選擇的S3桶和區域中并將這些結果和更廣泛的最終用戶 社區分享。

下面的舉例使用加利福尼亞大學爾灣分校主辦的SMS Spam collection(垃圾短信收集)數據組。SMS Spam collection是由一組為手機垃圾的研究而收集的標簽消息組成的。這個數據組綜合了垃圾和非垃圾短信(標記為ham)。這一數據組每行一條短信,使 用UTF-8編碼,以制表符為分隔,構成一個文本文件。

視頻演示

下面的視頻樣本將會向你展示如何使用RapidMiner和S3進行文本挖掘。注意:視頻樣本沒有聲音。

開始前,請:

1.下載并安裝RapidMiner軟件和可從RapidMiner Marketplace獲取的RapidMiner Text Processing Extension。你可以將RapidMiner安裝在你的本地電腦上。如果你當前的電腦配置不能提供足夠的容量,也可以將RapidMiner安裝在 亞馬遜EC2實例上。

2.使用你的AWS證書在RapidMiner配置S3連接信息。要使用S3服務,你需要有一個AWS賬戶。

3.將文本挖掘案例研究所需輸入數據組上傳到S3桶中。

從S3中導入和讀取數據到RapidMiner

下面的視頻將會向你展示如何使用你上傳到S3桶中的數據,S3服務和RapidMiner創建一個文本挖掘應用。記住:你必須導入使用UTF-8編碼的文件,確定制表符為分隔符以便以正確的格式來處理文件。

視頻:從S3中導入和讀取數據到RapidMiner

使用RapidMiner’s Validation運算符

當對不可見的數據運行模型時,你看到的準確性可能低于預期。這是可能的,因為我們使用的方法可能已經學習了它所看到的數據,但是從未針對不可見的數據對該方法進行測試。為了解決這一問題,你可以使用下面的視頻中所示的RapidMiner Validation運算符。

視頻:使用RapidMiner’s Validation運算符

在RapidMiner中應用Store運算符

為了將已經學習到的模型應用到新數據,你必須將模型和單詞表存儲到RapidMiner倉庫。你必須存儲單詞表是因為當你預測一個新消息是垃圾短 信還是非垃圾短信的概率時,你不得不使用原來的過程中使用的相同的屬性或單詞。因此,你需要相同的單詞表和模型,需要以你處理正在學習的數據時使用的方式 來處理新數據。下面的視頻展示了這是如何做到的。

視頻:在RapidMiner中應用Store運算符

將不可見的數據應用到RapidMiner模型

下面的視頻展示了如何應用你使用Retrieve運算符為新的不可見數據構建的模型來預測新消息是非垃圾短信還是垃圾短信。

視頻:將不可見的數據應用到RapidMiner模型

使用Write S3運算符存儲結果

下面的視頻展示了如何在RapidMiner中使用Write S3運算符將輸出結果存儲到S3桶中,該桶已經在前面的概述中被設置為RapidMiner的一個連接。你可以從特定的S3桶中將輸出結果下載到本地,使用文本編輯器查看這些結果。

 本文由用戶 w8y5 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!