应该对提供给解析器的输入进行什么样的处理。
据我所知,我正在使用stanford parser.jar但是还有stanford coreNLP.jar,parser.jar和coreNLP.jar解析方法有什么区别
根据coreNLP文档,您可以在注释器中传递您想要作为输入的操作
命令:
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref -file input.txt
要在coreNLP中使用解析,我只能传递解析,或者我应该传递除dcoref之外的所有注释器
即。)
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,parse -file input.txt
or
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref -file input.txt
parser.jar是否内置了句子分裂' s jar
我可以将段落作为输入并将句子和解析后的数据作为输出
或者我应该一次只给一个句子
谢谢,
答案 0 :(得分:2)
CoreNLP注释器可以被认为是依赖图。解析器注释器仅依赖于标记化(tokenize
)和句子拆分(ssplit
)。因此,您可以使用第一个命令运行解析器:
java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,parse -file input.txt
如果您知道自己的文字是预先标记的,最简单的方法是在属性文件中设置选项tokenize.whitespace = "true"
(或将其作为标记传递:-tokenize.whitespace
)。要仅在一行的末尾分割句子,您可以设置选项(ssplit.eolonly
)。
但是,默认情况下,是的,CoreNLP将为您标记和分割您的句子。你可以只输入一堆文本,然后输出解析的句子。