文本文件的聚类
原始问题: 我有一个平面文件,每一行代表一个应用程序相关的文本。我想根据与这些应用程序相关的词汇来对应用程序进行分类。有没有免费的代码可以用来处理一个单一的平面文件?谢谢。
更新 1: 我有30,000个应用程序。我正在试图弄清楚每个分类与哪些客户行为相关。我没有一个预先定义好的词汇列表可以开始。我可以随机检查几个应用程序,找出一些词汇,但这样无法得到一个完整的词汇列表。我希望能够以系统的方式捕捉到大多数的行为。
我尝试把文本文件转换成xml文件,然后用carrot2工作台进行分类,但没有成功。我之前没有使用过carrot2,所以可能在这方面做错了什么。
1 个回答
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']
这样做只需要遍历输入一次,就能非常高效地根据标签把应用程序名称归类。