所以我正在尝试使用 Weka SVM 对文本进行分类。到目前为止,我用于训练 SVM 的特征向量是由训练文本中出现的一元和二元的 TF-IDF 统计数据组成的。但是,我从测试经过训练的 SVM 模型中得到的结果根本不准确,那么有人可以就我的程序给我反馈吗?我正在按照以下步骤对文本进行分类:
- 构建由从训练文本中提取的一元和二元组成的字典
- 计算每个 unigram/bigram 在每个训练文本中出现的次数,以及 unigram/bigram 在训练文本中出现的次数
- 使用步骤 2 中的数据计算每个 unigram/bigram 的 TF-IDF
- 对于每个文档,构造一个作为字典长度的特征向量,并将相应的 TF-IDF 统计量存储在向量的每个元素中(例如,文档一的特征向量中的第一个元素将对应于 TF -IDF 字典中与文档相关的第一个单词)
- 给每个特征向量附加类标签,以区分哪个文本属于哪个作者
- 使用这些特征向量训练 SVM
- 测试文本的特征向量的构建方式与训练文本相同,并由 SVM 进行分类
另外,我是否需要用更多功能训练 SVM?如果是这样,在这种情况下哪些功能最有效?任何帮助将不胜感激,谢谢。