2012-09-04 56 views
-2

對於我的項目,我需要聚集一些文本(英文文本)。我可以用任何聚類算法,如k-meanshierarchical。唯一的問題是我還需要使用軟件來命名集羣,以便文本的集羣具有不同的名稱。Python文本聚類軟件或包

這可能嗎?

+0

你期待什麼樣的名字。 –

+0

我的意思是如果我給一些與投資有關的文本,那麼它本身就被分類爲投資。 – sammyiitkgp

+0

我沒有經驗,但'Nltk'有一個['Cluster'](http://nltk.org/api/nltk.cluster.html)包。 – Dikei

回答

0

是的。有軟件,可以命名集羣

cluster_1 
cluster_2 
cluster_3 
cluster_4 

認真你有什麼期望羣集名稱是?來自羣集文章的自動摘要?文本摘要尚未放大得太好。但是,您可以嘗試通過文本彙總引擎來運行完整的羣集。

請注意,k-means將產生相當人造的簇。它不知道或關心話題。它只是優化了數學方差,這對文本數據可能不是很有用。

0

您可以做的是:使用現成的聚類算法對單詞進行聚類,然後運行一些算法,檢查每個聚類以找到某個指示該聚類的單詞。有很多選項可以做到這一點,但首先想到的是在集羣和每個術語之間做一個很好的舊chi² test,然後選擇具有最高測試統計值的術語。

0

目前還不完全清楚你的目標是什麼,或者你的數據是什麼樣的。 (每次傳遞的字數清單?其他?)

對於初學者,我建議將分析數據收集/準備工作分開。特別是,您將需要一個包含預定義的集羣實現的探索性分析,直觀的代碼實現往往有點過於簡單。考慮使用具有集成可視化和數據呈現功能的東西來幫助您更好地理解羣集的含義:預定義的軟件包(如R(統計軟件),MATLAB或Orange(基於python的數據挖掘套件)都是不錯的選擇。

Orange有很多非常棒的GUI選項來控制如何選擇羣集(距離度量,迭代等),還提供了幾種不同的方法來探索哪些羣集最有用。然而,至少從一年前開始,我的經驗是在中型(800 MB)數據集上實施k-means聚類的速度慢得可怕。其中一些原因是由於Python本身比其他語言慢,但我懷疑還有其他問題。無論您使用什麼,您都需要確保仔細查看輸入文件文檔。