corenlp斯坦福大学开发的基于java语言的自然语言处理工具,能够为文本多种语言学标注,包括分词,句子边界,词性标注,命名实体识别,数字与时间,句法解析(dependency and constituency parses),指代消解,情感,引用归因,关系。目前支持6种语言:阿拉伯语、汉语、英语、法语、德语和西班牙语。
在这里插入图片描述一个原始句子,会经过上图一系列的标注处理,产生标注集合。
词性标注:
在这里插入图片描述
命名实体识别:
在这里插入图片描述依存句法解析:
在这里插入图片描述
指代消解:
在这里插入图片描述使用流程:
(0)需要java环境,提前安装好JDK,运行
jave -version
,有结果,即为安装好。(1)从官网下载并解压 CoreNLP 4.2.2
(2)根据所要处理的语言,下载相应的jar包,放到(1)解压的文件夹下面(以英文为例)
mv /path/to/stanford-corenlp-4.2.2-models-english.jar /path/to/stanford-corenlp-4.2.2
(3)配置环境变量,使得可以直接访问到(1)(2)下载到的依赖包。
export CLASSPATH=$CLASSPATH:/path/to/stanford-corenlp-4.2.2/*
(4)标注原始文本。
java -Xmx5g edu.stanford.nlp.pipeline.StanfordCoreNLP -file input.txt
指定需要标注的类型以及输出的格式xml:
java -mx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse -ssplit.eolonly -tokenize.whitespace true -file input.txt -outputFormat xml
如果没有配置好环境变量,会报错Error: Could not find or load main class edu.stanford.nlp.pipeline.StanfordCoreNLP
无法访问到jar包
除了配置环境变量的其他解决方法
- 进入
stanford-corenlp-4.2.2
目录下再使用:
cd stanford-corenlp-4.2.2
java -Xmx5g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -file input.txt
- 或者指定jar包所在的目录:
java -Xmx5g -cp "./stanford-corenlp-4.2.2/*" edu.stanford.nlp.pipeline.StanfordCoreNLP -file input.txt
网友评论