まず、あなたは私がより明確にしようとするあなたの答え
には大きな@Thomas感謝このコードで
、
PrintWriter xmlOut = new PrintWriter("xmlOutput.xml");
Properties props = new Properties();
props.setProperty("annotators","tokenize, ssplit, pos, lemma, truecase, ner, parse,quote, mention, dcoref, sentiment");
props.put("truecase.overwriteText", "true");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation annotation = new Annotation("Mike said : \"I vote for Hillary.\"\n
peter said : \"I vote for Donald.\"");
pipeline.annotate(annotation);
pipeline.xmlPrint(annotation, xmlOut);
xmlOut.xmlは、2つのセンテンスの分析を表します。
First Sentence
<マイクは言った>、<:>、< ">と<は"> naratorの演説(PER0)として考えられています。私はヒラリーに投票
<>ピーターは<、>本人1.
Second Sentence
<の音声として考えられている:>、< ">と<"> naratorのとして考えられていますスピーチ(PER0)。
<私はドナルドに投票します。 >はピーターの演説と見なされます。 CoreAnnotations -
:=>ここでの唯一の違いは、スタンフォードCoreNLP上のJavaDocで検索しながら、私は小文字でピーターを書いて、私は大文字でそれを書くとき、スピーカーの結果は4
になるということである私は、このようなスピーカーの話をするクラスを見つけます.SpeakerAnnotation
- CoreNLPProtos.SpeakerInfo
- CoreNLPProtos.SpeakerInfo.Builder
- CoreNLPProtos.SpeakerInfoOrBuilder
- SpeakerInfo
- SpeakerInfo
- SpeakerMatch
私はまずxmlOutに効率的な結果を持たせ、次にDOM XMLを使用せずにこれらのクラスを使用してスピーカーとスピーチを抽出する方法を知りたいと思います。
はい、しかし、私はまた、生成された結果を改善する必要があります。 私は、私が操作できるはずのスピーカー・アノテーターがいると思います。 –
このXMLスニペットはDOMツリーの深いところにありますか?これは複数のスピーカーにとって繰り返されますか? Speakerを子として含むルート要素を検索し、Mikeという単語要素を返します。 –