在使用SVMlight
或LIBSVM
进行情感分析,将短语分类为正面或负面时,有没有办法确定哪些词对算法决策影响最大?例如,发现"good"
这个词有助于将一个短语判定为正面,等等。
回答:
如果你使用线性核,那么答案是肯定的 – 只需计算权重向量:
w = SUM_i y_i alpha_i sv_i
其中:
sv
– 支持向量alpha
– 使用SVMlight找到的系数y
– 对应的类别(+1或-1)
(在某些实现中,alpha
已经乘以y_i
,因此它们是正值或负值)
一旦你得到了w
,它是1 x d
的维度,其中d
是你的数据维度(词袋/tfidf表示中的词数),只需选择绝对值较高的维度(无论是正值还是负值),以找出最重要的特征(词)。
如果你使用某种核(如RBF),那么答案是否定的,没有直接的方法提取最重要的特征,因为分类过程是以完全不同的方式进行的。