运行
./ corenlp.sh -annotators quote -outputFormat xml -file input.txt
修改后的输入文件
“斯坦福大学”位于加利福尼亚州。这是一所伟大的大学,成立于1891年。
产生以下输出:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="CoreNLP-to-HTML.xsl" type="text/xsl"?>
<root>
<document>
<sentences/>
</document>
</root>
也许我误解了这个注释器的预期用途,但我希望它能标记“。
之间的句子部分。当我使用“通常”注释器tokenize,ssplit,pos,lemma,ner运行脚本时,它们都运行良好,但添加引号不会改变输出。我使用stanford-corenlp-full-2015-12-09发布。 我如何使用引用注释器以及它的意图?
答案 0 :(得分:4)
如果您在Java代码中构建StanfordCoreNLP对象并使用引号注释器运行它,则最终的Annotation对象将具有引号。
import java.io.*;
import java.util.*;
import edu.stanford.nlp.io.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.trees.*;
import edu.stanford.nlp.trees.TreeCoreAnnotations.*;
import edu.stanford.nlp.semgraph.*;
import edu.stanford.nlp.ling.CoreAnnotations.*;
import edu.stanford.nlp.util.*;
public class PipelineExample {
public static void main (String[] args) throws IOException {
// build pipeline
Properties props = new Properties();
props.setProperty("annotators","tokenize, ssplit, quote");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
String text = "\"Stanford University\" is located in California. It is a great university, founded in 1891.";
Annotation annotation = new Annotation(text);
pipeline.annotate(annotation);
System.out.println(annotation.get(CoreAnnotations.QuotationsAnnotation.class));
}
}
目前没有输出器(json,xml,text等等)输出引号。我将记下我们应该将其添加到输出中以供将来版本使用。