кластеризация текстового файла - PullRequest
0 голосов
/ 16 ноября 2011

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

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

Я попытался преобразовать текстовый файл в XML-файл и кластер с помощью рабочей среды carrot2, но это не сработало.Я раньше не использовал carrot2, поэтому, возможно, я что-то там не так делаю.

1 Ответ

0 голосов
/ 16 ноября 2011

Насколько я понимаю, у вас есть файл, подобный:

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

Это позволяет выполнить однократный итеративный ввод и кластеризовать имена приложений на основе их тегов.

...