首先,感謝你@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提供了兩句話的分析:
First Sentence
<邁克說>,<:>,< 「>和<」>被視爲narator的講話(PER0)。
<我投票給希拉里>被認爲是人的演講1.
Second Sentence
<彼得說>,<:>,< 「>和<」>被視爲narator的演講(PER0)。
<我投給唐納德。 >被認爲是彼得的講話。 =>這裏唯一的區別是,我寫彼得小寫,當我用大寫字母寫揚聲器的結果成爲4
雖然在斯坦福CoreNLP搜索Javadoc中找到這樣的課程講的主講這樣:
- CoreAnnotations .SpeakerAnnotation
- CoreNLPProtos.SpeakerInfo
- CoreNLPProtos.SpeakerInfo.Builder
- CoreNLPProtos.SpeakerInfoOrBuilder
- SpeakerInfo
- SpeakerInfo
- SpeakerMatch
所以我首先要讓我的xmlOut有更高效的結果,其次要知道如何在不使用DOM XML的情況下使用這些類來提取揚聲器及其語音。
是的,但我也需要改善生成的結果。 我認爲有一個揚聲器註釋器,我應該能夠操縱。 –
這個XML片段深入DOM樹中嗎?所以這對於多個揚聲器重複?您可以搜索包含Speaker的根元素作爲子元素,然後返回Mike元素。 –