НЛП Shift Reduser синтаксический анализатор выбрасывает нулевой указатель Исключение для расчета настроения
Я пытаюсь проанализировать настроение с помощью NLP. Я использую версию stanford-nlp, 3.4.1. У меня есть некоторые ненужные данные для обработки, и похоже, что для обработки с использованием файла PCFG по умолчанию требуется около 45 секунд.
Вот пример:
String text = "Nm n n 4 n n bkj nun4hmnun Onn njnb hm5bn nm55m nbbh n mnrrnut but n rym4n nbn 4nn65 m nun m n nn nun 4nm 5 gm n my b bb b b rtmrt55tmmm5tttn b b bb g bn nn n h r ret n nun bn d. B bbbbbbbbbbr bung NHnhn nn nk, v v v n gain t g 4gnyhimmigration ndn nb NVnb bin uny 7 nbbbbbnn vv bbvb ninn njnj n4 nm n km n n n cb j bun. Nhfnt bn nn. N hm nn nun m bum my b mmmnbjk nn n by nn nun nun n nun nn bn n nhn n nn n n m NH nb4mnm mkn 4 n n n n hm r b rnfngg4d in b nut mmmkmmm5 bbjn n n ij BBM 8u8i by nun n.nn hm n. n4n By 4n4n bunny RN bny hm j mi. Nymmn FBT not mn n n nm g by n n nnm? Rnyb vCard n5 Yu nn n n n n nt .nm mn nt n nb n n n n by y5nnnhyyh h b b nt njj n m f4n re";
Properties props = new Properties();
props.setProperty("annotators","tokenize, ssplit, pos,parse,sentiment");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation annotation = pipeline.process(text);
Основываясь на предложении здесь, я попытался снова с синтаксическим анализатором сдвига-уменьшения.
Properties props = new Properties();
props.setProperty("annotators","tokenize, ssplit, pos,parse,sentiment");
props.put("parse.model", "com/example/nlp/englishSR.ser.gz");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation annotation = pipeline.process(text);
Я должен загрузить модель сдвига-уменьшения и поместить ее в путь к классам. Класс модели загружается, но выдает исключение нулевого указателя. Есть мысли и предложения?
1 ответ
Есть ли конкретная причина, по которой вы используете версию 3.4.1, а не последнюю версию?
Если я запускаю ваш код с последней версией, он работает для меня (после того, как я изменю путь к модели SR на edu/stanford/nlp/models/srparser/englishSR.ser.gz
но я предполагаю, что вы изменили этот путь нарочно).
Также убедитесь, что загруженные вами модели совместимы с вашей версией CoreNLP. Если вы загрузили последние модели и попытаетесь использовать их с более старой версией CoreNLP, то вы, скорее всего, столкнетесь с проблемами.