2011-11-16 12 views
0

元の質問: アプリケーションに関連付けられたテキストを表す各行があるフラットファイルがあります。そのアプリケーションに関連付けられた単語に基づいてアプリケーションをクラスタ化したいと思います。単一のフラットファイルをテキストマイニングするためのフリーコードがありますか?ありがとうございました。テキストファイルのクラスタリング

更新1: 30,000件のアプリケーションがあります。私は、(顧客の)行動が各クラスターにどのように関連付けられているのかを把握しようとしています。私はあらかじめ定義された単語のセットを持っていません。私はランダムな少数を検査していくつかの単語を決定することができますが、それは私に言葉のexaustiveリストを与えることはありません。私は体系的な方法で大部分の行動をとらえたいと思っています。

私は、テキストファイルをxmlファイルに変換し、carrot2 workbenchを使用してクラスタを作成しようとしましたが、それはうまく動作しませんでした。私は前にcarrot2を使用していないので、何か間違ったことをしている可能性があります。

+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'] 

この一回の入力を反復処理し、クラスタアプリケーションナムそれらのタグを非常に効率的に使用することができます。

関連する問題