2011-11-16 1 views
0

Оригинальный вопрос: У меня есть плоский файл с каждой строкой, представляющей текст, связанный с приложением. Я хотел бы сгруппировать приложения, основанные на словах, связанных с этим приложением. Есть ли бесплатный код для текстового интеллектуального анализа одного плоского файла? Спасибо.кластеризация текстового файла

Обновление 1: Имеется 30 000 заявок. Я пытаюсь понять, какое поведение (клиентов) связано с каждым кластером. У меня нет заранее заданного набора слов для начала. Я мог бы проверить случайных людей и определить некоторые слова, но тогда это не дало бы мне exaustive список слов. Я хотел бы систематически воспринимать большинство форм поведения.

Я попытался преобразовать текстовый файл в файл xml и кластер, используя workbench carrot2, но это не сработало. Раньше я не использовал морковь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 на основе их тегов очень эффективно.