2011-11-16 36 views
0

原文問: 我有一個平面文件,每行代表與應用程序關聯的文本。我想根據與該應用程序相關的詞語對應用程序進行集羣是否有可用於文本挖掘單個平面文件的免費代碼?謝謝。文本文件的聚簇

更新1: 有30,000個應用程序。我正試圖弄清楚(客戶)與每個羣集關聯的行爲。我沒有預先定義的單詞集。我可以檢查一些隨機數字並確定一些單詞,但是那樣不會給我一個單詞的詳盡列表。我想以系統的方式捕捉大部分行爲。

我試圖將文本文件轉換爲使用carrot2工作臺的xml文件和羣集,但那並不奏效。我之前沒有使用胡蘿蔔2,所以我可能在那裏做錯了什麼。

+1

需要關於如何將文件集羣的更多詳細信息。 – mauris

+0

如果您可以定義'集羣應用程序',尤其是在將它們與它們關聯的'詞語'集合起來的情況下,那將證明是有幫助的。 – djhaskin987

+0

也許這會幫助嗎? http://stackoverflow.com/questions/1789254/clustering-text-in-python – Frank

回答

0

我的理解是,你有這樣一個文件:

game Solitaire 
productivity OpenOffice 
game MineSweeper 
... 

而你要根據自己的標籤詞進行分類的一切,如將應用程序基於其相關聯的標籤/桶描述/ ...

我想你可以使用列表的字典用於此目的,如:

f = open('input.txt') 
out = {} 
inline = f.readline() 
while inline: 
    if ' ' not in inline: 
     continue 
    tag, appname = inline.strip('\n').split(' ', 1) 
    if tag not in out: 
     out[tag] = [] 
    out[tag].append(appname) 
    inline = f.readline() 

print out['game'] 

這遍歷一次輸入和集羣應用南es基於他們的標籤非常有效。