我用WSJ语料库训练了Stanford shift减少解析器,其中包含功能标签,例如-TMP。然后,我测试了训练后的模型,但-TMP标签在树的POS级别(NP(每个DT)(NN-TMP年))上输出,而不是NP级别(NP-TMP(每个DT)(NN)上输出年)。
这是我用来训练模型的命令行:
java -mx10g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -trainTreebank / my_corpus / wsj -preTag -taggerSerializedFile /pos_tagger/coreNlpPos.model -tlpp edu.stanford.nlp.parser.lexparser.categoriesTreebankParserParams -retainTM 8 -serializedPath SR_model.ser.gz
这是我用来测试模型的命令行:
java -mx6g edu.stanford.nlp.parser.shiftreduce.ShiftReduceParser -testTreebank / my_corpus / test -taggerSerializedFile核心NlpPos.model -tlpp edu.stanford.nlp.parser.lexparser.EnglishTreebankParserParams -retainTMPSubcategories_serializedPath。 > output.txt
在output.txt中,有-TMP标签,但它们都在POS标签上,例如NN-TMP,IN-TMP
(S (PP(IN-TMP以上) (NP (NP(DT the)(JJ过去)(CD九)(NNS个月)) (,,) ...
但是我希望它会像NP-TMP,PP-TMP等。 例如
(S (PP-TMP(输入结束) (NP (NP(DT the)(JJ过去)(CD九)(NNS个月)) (,,) ...
我应该如何在命令行中修改培训选项/测试选项才能获得预期的输出?