StanfordNPP(以及德国模块)相当成功的开始之后,我尝试对数字数据进行分类。这也退出了良好的结果。使用StanfordNLP分类器进行分词的文本分类器
至少我试图设置一个分类器来对文本文档(包括邮件和扫描文档)进行分类,但这非常令人沮丧。我想要做的是在字基上使用分类器,而不是使用n-gram。我的培训文件有两列:首先是文本类别,其次是文本本身,没有制表符或断行符。
属性文件有以下内容:
1.splitWordsWithPTBTokenizer=true
1.splitWordsRegexp=false
1.splitWordsTokenizerRegexp=false
1.useSplitWords=true
但是当我开始训练这样的分类...
ColumnDataClassifier cdc = new ColumnDataClassifier("classifier.properties");
Classifier<String, String> classifier =
cdc.makeClassifier(cdc.readTrainingExamples("data.train"));
...然后我得到许多线开始下提示:
[main] INFO edu.stanford.nlp.classify.ColumnDataClassifier - Warning: regexpTokenize pattern false didn't match on
我的问题是:
1)任何想法我的房产有什么问题?我想,我的训练档案没问题。
2)我想使用从德国模型CoreNLP获得的单词/标记。这可能吗?
感谢您的任何答案!
非常感谢,我会尝试无论是在接下来的日子里。 – Christian
对不起,但是使用第2列而不是1会导致异常:“java.lang.RuntimeException:错误:行对于指定属性需要3列的制表符分隔列(2)太少:abc def [... ]“看起来我应该读你链接手册。 – Christian
查看http://grepcode.com/file/repo1.maven.org/maven2/edu.stanford.nlp/stanford-corenlp/3.5中引发此异常的源代码。2/edu/stanford/nlp/classify/ColumnDataClassifier.java,输入内容可能有误。你有只有两列,由标签分隔?数据本身没有标签?我真的建议通过维基工作,它展示了如何逐步使用斯坦福NLP分类器。 – tkja