我的工作是对一些评论(段落)进行分类,这些评论由多个句子组成。我通过libSVM在Weka中使用词袋功能对它们进行了分类。但是,我有另一个我不知道如何实现的想法:
我认为在评论中为每个句子创建基于句法和浅语义的功能是值得尝试的。但是,由于段落的句子大小各不相同,因此我找不到任何顺序编码这些功能的方法。我之所以要按顺序排列这些特征,是因为句子特征的顺序可以为分类提供更好的线索。例如,如果我有两个实例P1(包含3个句子)和P2(2个句子),我将有一个这样的空间(假设每个句子具有一个二进制特征a或b):
P1-> abb / classX P2-> ba / classY
因此,我的问题是,是否可以在特征空间中实现不同特征尺寸的分类?如果是,我可以在Weka,scikit-learn或Mallet中使用任何类型的分类器吗?我将不胜感激。
谢谢
无论采用哪种实现方式,具有标准内核(线性,多边形,RBF)的SVM都需要固定长度的特征向量。您可以通过将其编码为布尔值来对这些特征向量中的任何信息进行编码。例如,收集在您的语料库中出现的所有句法/语义特征,然后引入表示“在本文中出现的特征”的布尔值。如果重要的是要捕获这些特征出现在多个句子中的事实,请对它们进行计数并使用将频率放入特征向量中(但请确保根据文档长度对频率进行归一化,因为SVM不会缩放不变)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句