После довольно успешного старта в Стэнфордском НЛП (и с немецким модулем) я попробовал классифицировать числовые данные. Это также закончилось с хорошими результатами.
По крайней мере, я попытался настроить классификатор для категоризации текстовых документов (как писем, так и отсканированных документов), но это было довольно неприятно. Что я хочу сделать, так это работать с классификатором на базе слов, а не с n-граммами. В моем учебном файле есть два столбца: первый с категорией текста, второй с самим текстом, без вкладок и разделителей строк.
Файл свойств имеет следующее содержимое:
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, с немецкой моделью. Это возможно?
Спасибо за любые ответы!