如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵
Posted
技术标签:
【中文标题】如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵【英文标题】:How Can I use Naive Bayes Classifier, SVM, and Maximum Entrophy in stanford classifier 【发布时间】:2016-01-24 17:57:15 【问题描述】:目前,我正在使用朴素贝叶斯算法、SVM 和最大 Enthrophy 制作引文句子分类器,目前我的数据是 110 个非引文句子和 10 个引文句子。我正在使用代码从斯坦福分类器示例中进行分类,结果很好。但是分类器是准牛顿。如何使用朴素贝叶斯分类器、支持向量机和最大熵?我已经尝试编辑道具文件并添加“useNB = true”,但事实证明所有数据都是非引用句类。我已经阅读了http://nlp.stanford.edu/nlp/javadoc/javanlp/edu/stanford/nlp/classify/ColumnDataClassifier.html 的 javadoc,但我不知道在哪里为朴素贝叶斯算法放置 setClass
【问题讨论】:
【参考方案1】:默认情况下,分类器将运行最大熵(即逻辑回归)分类器——以编程方式,LinearClassifier.java
。 QNMinimizer 是 L-BFGS 最小化器的斯坦福实现,用于优化最大目标。我认为useNB=true
标志对于切换到朴素贝叶斯是正确的。运行 SVM:理论上 CoreNLP 有一个 SVMLight 的包装器,但此时你也可以直接运行 SVMLight。
您的训练数据一开始是不平衡的吗?使用平衡的训练集,将所有句子放在一个类中会很奇怪。
【讨论】:
以上是关于如何在斯坦福分类器中使用朴素贝叶斯分类器、SVM 和最大熵的主要内容,如果未能解决你的问题,请参考以下文章