文本文件的聚类

0 投票
1 回答
1626 浏览
提问于 2025-04-17 06:24

原始问题: 我有一个平面文件,每一行代表一个应用程序相关的文本。我想根据与这些应用程序相关的词汇来对应用程序进行分类。有没有免费的代码可以用来处理一个单一的平面文件?谢谢。

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

这样做只需要遍历输入一次,就能非常高效地根据标签把应用程序名称归类。

撰写回答