原始问题: 我有一个平面文件,每行代表与应用程序关联的文本。我想基于与该应用程序相关联的单词来集群应用程序是否有可用于文本挖掘单个平面文件的免费代码?谢谢。
更新1: 有30,000个申请。我试图找出(每个客户)与每个集群相关联的行为。我没有预先定义的一组单词。我可以检查一下随机的几个并确定一些单词,但那样就不会给我一个详尽的单词列表。我想以系统的方式捕捉大部分行为。
我尝试使用carrot2工作台将文本文件转换为xml文件和集群,但这没有用。我之前没有使用过carrot2,所以我可能在那里做错了。
答案 0 :(得分: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']
这会迭代输入一次,并非常有效地根据标签对应用程序名称进行集群。