2016-06-30 6 views
0

私はStanford NLP Parser(http://sergey-tihon.github.io/Stanford.NLP.NET/StanfordParser.html)を使用して文章を分析しています。スタンフォードNLPが返します:NNPの代わりに

段階:

問題は、オンラインデモページ(http://nlp.stanford.edu:8080/parser/index.jsp

問題は、次の文であるから、ライブラリからの結果と結果betwwen矛盾があるということです。プラス、彼

私はこのオンラインを実行すると、これは私が手に出力されます:

(。。ROOT(NP(DT)(NNステージ)()))

(ROOT(NP (NP(NNPプラス)) (、) (NP(PRP彼))))

Plusがとして識別されることに注意してください

{(ROOT(FRAG(FRAG(NP(DT)(NNステージ))(:

問題は、同じ文はLIBによって処理わずかに異なる出力が得られることです。 。))(:プラス)(FRAG(、 、)彼(NP(PRP)))))}

あなたが見ることができるように、Plusは今:

として識別されたどのように私を行いますlibにNNPを返すように強制しますか?ここで

はコードです:

 var sent = "the stage. Plus, he"; 
     var lp = LexicalizedParser.loadModel(modelsDirectory + @"\lexparser\englishPCFG.ser.gz"); 
     var f = PTBTokenizer.factory(new CoreLabelTokenFactory(), ""); 
     var s = new java.io.StringReader(sent); 
     var w = f.getTokenizer(s).tokenize(); 
     s.close(); 
     var t = lp.apply(w); 

答えて

0

あなたは空白に(tokenize.whitespaceプロパティ)をトークン化していますか?あなたの2番目の例のように、図書館は2つの文に分かれていないので、異なる構文解析ができます。

さらに広義には、ここで何をしようとしていますか?これらは、構文解析が無意味に近いほど十分に非文章的な文章であり、パーサは、近くにあることが保証されています.NNPタグの 'Plus'もまた間違いです。

+0

'Plus'のNNPタグは間違いですか? –

+0

まあ、私は文の意味が実際何であるかは不明です。しかし、NNPは固有名詞であり、Plusは固有名詞よりも結合子(CC)のように見えます。 –

+0

私はただの開発者です、なぜ彼らがこれを望んでいるのかわかりません。私の仕事は、これを一貫して正しいものにすることです。 –

関連する問題