使用预制字典进行文本分类的 SVM 特征向量表示

SVM feature vector representation by using pre-made dictionary for text classification

我想class将一组文本class化成两个class,比方说我想做一个情感class化。我有两本预制的情感词典,一本只包含正面词,另一本只包含负面词。我想将这些字典合并到 SVM classifier 的特征向量中。我的问题是,是否可以将正面和负面单词字典分开以表示为 SVM 特征向量,尤其是当我为测试集生成特征向量时?

如果我解释的不够清楚,我举个例子。假设我有这两个句子作为训练数据:

Pos: The book is good
Neg: The book is bad

词'good'在正字典中存在,'bad'在负字典中存在,而其他词在两个字典中都不存在。我希望匹配字典中与句子 class 中存在的词具有较大的权重值,而其他词具有较小的值。因此,特征向量将如下所示:

+1 1:0.1 2:0.1 3:0.1 4:0.9
-1 1:0.1 2:0.1 3:0.1 5:0.9

如果我想class验证一个测试语句“The food is bad”,我应该如何为测试集生成一个特征向量,其权重取决于当我无法将测试句子的 class 与每个词典匹配时,在现有词典上?我能想到的是,对于测试集,只要这个词在两​​个词典中都存在,我就会给这个词一个高权重值。

0 1:0.1 3:0.1 5:0.9

我想知道这是否是为训练集和测试集创建向量表示的正确方法。

--编辑-- 我忘了提到这些预制词典是使用某种主题模型提取的。例如,主题 1 中的前 100 个词有点代表正面 class,主题 2 中的词代表负面 class。我想使用这种信息来改进 classifier 而不是仅使用词袋功能。

简而言之 - 这不是它的工作方式

学习 的重点是让 classifier 能够自行分配这些权重。您不能 "force it" 为特定功能获得每个 class 的高价值(我的意思是,您可以在优化级别,但这需要更改整个 svm 结构)。

所以正确的方法是简单地创建一个 "normal" 表示。无需任何额外说明。让模型来决定,他们比人类的直觉更擅长统计分析,真的。