Transcript Document
以mahout建置twitter訊息巨量 資料分類分析系統 指導教授:陳弘明老師、陳世穎老師 專題學生:秦秉達 大綱 系統簡介 系統設計 系統流程 結論與未來展望 系統簡介 機器學習是研究如何使用機器來模擬人類學習活動的一門學科。稍為嚴格的提法是:機 器學習是一門研究機器獲取新知識和新技能,並識別現有知識的學問。 機器學習的流程大綱 資料收集 資料預前處理 轉換資料格式 產生演算法所需之計算內容 執行演算法 訓練 測試 解釋結果 Twitter為目前最常被使用的網路社群平台之一,內含大量的推文資訊,在這些推文 資訊中涵括了各項不同領域的文字敘述,可試圖對其進行資料探勘的分類技術找尋 分類模型 Mahout是具擴充性的機器學習程式庫,並且輸入指令後就能執行演算法套件,程 式庫中提供數種各種探勘類型中的演算法,為了能立即解析Twitter的巨量資料,故 在此以mahout的環境,利用其機器學習演算法運行。 系統設計 OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上取用的私有的資源, 而無需將用戶帳號和密碼提供給第三方應用,在本專案中應有下列資訊: Consumer key Consumer secret Access token Access token secret Twitter 使用OAuth標準,令使用者在程式中以此標準取得Twitter的巨量資料 在自己的帳號下創建Twitter application 可取得OAuth標準下之所需資訊 使用程式碼取得Twitter訊息 以mahout實現資料預先處理過程 TF-IDF文字頻率次數計算 以mahout的演算法(Naïve Bayes)執行訓練及測試階段 TF-IDF TF-IDF(term frequency–inverse document frequency)是一種統計方法,用 以評估一字詞對於一個文件集或一個文章資料集中的其中一份文件的重要程度。字 詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在文章資料集 中出現的頻率成反比下降。 如果某個詞或短語在一篇文章中出現的頻率TF高,並且在其他文章中很少出現,則 認為此詞或者短語具有很好的類別區分能力,適合用來分類。 TF計算公式: 其中 IDF計算公式: 是該詞在文件 而分母則是在文件 中的出現次數, 中所有字詞的出現次數之和。 TF計算公式: TF-IDF = TF*IDF 其中 •|D|:語料庫中的文件總數 • :包含詞語 的文件數目(即 的文件數目)如果該詞語不在語料庫中,就會導致被 除數為零,因此一般情況下使用 Naïve Bayes 利用事件發生的機率推測未知資料的類別 基礎理論來自貝氏定理,公式如下 A:某類別 B:某個未知案例 B案例屬於A類別的機率 (A類別出現B案例的機率)*(A類別出現的機率)/(B案例出現的機率) 訓練階段中,Naïve Bayes演算法,可以計算每個單詞出現在文件內的次數後除以 是由出現在該類別中的單詞數。這被稱為一個條件機率,在這種情況下,某一個字 會出現在一個特定類別的機率。 測試階段中,則以如下公式計算出各項單字在各類別出現的機率,在哪一類計算出 的機率較高,即將這項案例分類至此類 P(Category | Document) = P(Document | Category) x P(Category) / P(Document) 系統流程 Create a twitter application Get tweets by python code 取得twitter tweets 對資料進行序列化動作 (mahout演算法接受的格式) 計算出tf-idf權重資料 資料預處理 進行訓練得到模型 以模型進行分類 訓練與結果 結論與未來展望 Twitter社群平台上得到的巨量資料,可以用許多不同的角度分析之,在分類類別為 自訂的情形下,使用本套系統可以有效地以mahout平台運算。 使用mahout平台提供的工具套件可以立即使用,不過基於其可擴充性,未來也可 將自己發展出的演算法加入mahout平台中 因研究時間緊湊,若能長時間繼續研究的話,希望能夠從不同的社群平台(Ex: facebook、新浪等等)擷取巨量資料,增加資料訊息來源,並且能使用更多 mahout中不同的演算法,可能有不同的分析狀況,或者是分析效能之間的比較。 Thank for your attention!