0

我正在处理电子邮件主题,所以我有 20 封要分类的电子邮件,以及一个包含 20 行的文件 - 一行有一个电子邮件主题。我一直在研究它,但我无法弄清楚这些功能指的是什么以及 svmlight 的输入文件的格式。任何继续进行的提示都会有所帮助。提前致谢!

编辑:我已将前 500 个主题行的 tf-idf 作为试用版。但是,根据 svm-light 格式,我们需要:

<line> .=. <target> <feature>:<value> <feature>:<value> ... <feature>:<value> # <info>

我只有 500 行的 tf-idf 功能。遗憾的是,svm-light 没有读取它,因为它需要特征/值对。关于值可能是什么或如何更改文件以便读取的任何想法?

我拥有的文件的想法(前 5 个电子邮件功能):

1 201 1.0
2 280 0.123165672613
2 313 0.343915400191
2 515 0.157569797284
2 588 0.343915400191
2 652 0.343915400191
2 657 0.343915400191
2 774 0.23622904941
2 921 0.283118375032
2 1158 0.254849368195
2 1240 0.343915400191
2 1348 0.343915400191
2 1362 0.222321349873
3 57 0.342220321154
3 185 0.391349077827
3 244 0.391349077827
3 300 0.391349077827
3 693 0.391349077827
3 730 0.342220321154
3 1391 0.391349077827
4 57 0.342220321154
4 185 0.391349077827
4 244 0.391349077827
4 300 0.391349077827
4 693 0.391349077827
4 730 0.342220321154
4 1391 0.391349077827
5 32 0.323558487577
5 102 0.323558487577
5 157 0.364177022553
5 160 0.364177022553
5 718 0.151013895297
5 1171 0.364177022553
5 1277 0.323558487577
5 1308 0.364177022553
5 1336 0.364177022553

请帮忙!

4

1 回答 1

1

如果您从每个单词中创建一个特征,请创建一个包含所有唯一单词w(1) .. w(n)的列表。现在,如果您正在检查的样本中存在w(i) ,则 feature(i) 将获得值 1 。(您也可以使该值等于出现次数,以便多次出现的特征获得更多权重。)

假设以下样本;

1 My hovercraft is full of eels
2 Your account is suspended
3 This is it!

...您可以提取以下字典;

001 My
002 hovercraft
003 is
 :
 :
009 suspended
010 This
011 it!

(前导零只是为了使特征看起来与本说明中的其他数字不同。通常可能不应该有任何前导零。)

样本 1 的特征是 001 到 006;对于样本 3,它们是 010、003 和 011。其他特征的值为 0。因此样本 3 的完整表示如下所示

3 001:0 002:0 003:1 004:0 005:0 ...

(尽管我认为您不需要指定零,即不存在的特征)。

但是,鉴于样本量较小(仅是受试者)​​,您不太可能获得非常好的结果。或许您最好使用例如二元组或三元组特征(使用滑动窗口分割每个单词;tririgigrgraram)。

我认为尝试将 tf-idf 与 SVM 混合使用没有意义,它们是解决同一基本问题的不同方法。

于 2013-12-27T21:13:49.107 回答