CoreNLP是什么就不多解释了。本文记录入门使用CoreNLP-4.2.0中遇到的坑(因为官网文档落后,且默认针对ubuntu中分析英文,加上网上中文教程多针对3.9.0。而4.2.0有部分改动)
参考:
1.环境
- Jdk8:版本低没法用。版本高(9/10/11)的话,由于java本身抛弃了一些东西,因此运行时候需要添加其他参数。根据官方文档,需要添加
--add-modules java.se.ee来避免错误。综上,直接用Jdk8来弄。 - windows10:官网是默认你用linux,因此有些设置,对于win有点坑。下面也会记录。
- IDEA:不多说,用来创建Maven项目,这个是使用方式1
- Shell:可以在win下实现类似linux命令的工具,这个是使用方式2
2.运行方式1——CMD命令行
这里记录在win下如何运行,如果你是linux,直接跟着官网走即可。当然也能参考
- 下载并解压CoreNLP4.2.0,解压后得到文档"stanford-corenlp-4.2.0"
- 下载中文模型包和英语模型包,获取两个jar包后,放入"stanford-corenlp-4.2.0"。(若你想要其他语言模型包,请在此翻到最后,找到对应的语言包)
- 打开shell(我用的cmder,下载可能要科学上网下载安装)。依次运行以下命令
cd stanford-corenlp-4.2.0echo "巴拉克·奥巴马是美国总统。他在2008年当选" > input.txt或者直接打开txt文件,修改文本内容java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref -file input.txtvim input.txt.out或者用sublime打开"input.txt.out"进行查看。结束

遇到的坑&命令解释:
- 运行第6步之前,官方文档会要求我们添加类路径。由于我们是win,因此直接忽略这一步是ok的,之前试过其他人添加path,没用。
- 第6步中的
-cp "*":用来识别当前目录下所有的jar包。若是不添加,那么就会出现错误: 找不到或无法加载主类 edu.stanford.nlp.pipeline.StanfordCoreNLP。这也是官网中,要我们添加类路径的原因。- 第6步中的
-Xmx2g:分配Jdk能使用的内存大小,普通的64位电脑,起码分配1g起步。- 第6步中的
-annotators tokenize...,dcoref:官方名称是“注释器”。但是个人理解成功能选择即可。比如,我如果只写成-annotators ssplit那么就只会分割词语。因此可以根据自己需求进行参数加减。若是不带-annotators,那么就会使用默认参数。- 如何自定义?这个不太好弄,建议可以看下面的用Maven使用。
3. 运行方式2——IDEA创建maven项目运行Java
官网上介绍的方式,是通过git clone,然后自己进行打包成jar,最后和方式1一样用命令行。这里我介绍如何自建maven项目:
- 打开IDEA,新建maven项目(无需任何模板,就最原始的maven项目即可),建好后,有main和resources和pom.xml即可。这里放上我的目录图:

- 依次输入代码。注意!如果你跟着网上3.9.0版本,应该会遇到一些错误,下面跟着我一步步走。
- 在
pom.xml中,<project>标签内部,添加如下代码:如图,放在最后即可

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>4.2.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
&l

本文详细介绍Stanford CoreNLP 4.2.0版本在Windows 10环境下使用方法,包括环境搭建、两种运行方式(命令行与IDEA创建Maven项目)、常见问题及解决方案,特别关注中文处理的支持。

4638

被折叠的 条评论
为什么被折叠?



