CoreNLP-4.2.0 使用以及踩坑

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

CoreNLP是什么就不多解释了。本文记录入门使用CoreNLP-4.2.0中遇到的坑(因为官网文档落后,且默认针对ubuntu中分析英文,加上网上中文教程多针对3.9.0。而4.2.0有部分改动)
参考:

  1. CoreNLP官网
  2. CoreNLP中文使用(3.9.0)

1.环境

  1. Jdk8:版本低没法用。版本高(9/10/11)的话,由于java本身抛弃了一些东西,因此运行时候需要添加其他参数。根据官方文档,需要添加--add-modules java.se.ee来避免错误。综上,直接用Jdk8来弄。
  2. windows10:官网是默认你用linux,因此有些设置,对于win有点坑。下面也会记录。
  3. IDEA:不多说,用来创建Maven项目,这个是使用方式1
  4. Shell:可以在win下实现类似linux命令的工具,这个是使用方式2

2.运行方式1——CMD命令行

这里记录在win下如何运行,如果你是linux,直接跟着官网走即可。当然也能参考

  1. 下载并解压CoreNLP4.2.0,解压后得到文档"stanford-corenlp-4.2.0"
  2. 下载中文模型包英语模型包,获取两个jar包后,放入"stanford-corenlp-4.2.0"。(若你想要其他语言模型包,请在此翻到最后,找到对应的语言包)
  3. 打开shell(我用的cmder,下载可能要科学上网下载安装)。依次运行以下命令
  4. cd stanford-corenlp-4.2.0
  5. echo "巴拉克·奥巴马是美国总统。他在2008年当选" > input.txt或者直接打开txt文件,修改文本内容
  6. java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref -file input.txt
  7. vim input.txt.out 或者用sublime打开"input.txt.out"进行查看。结束
    在这里插入图片描述

遇到的坑&命令解释:

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

3. 运行方式2——IDEA创建maven项目运行Java

官网上介绍的方式,是通过git clone,然后自己进行打包成jar,最后和方式1一样用命令行。这里我介绍如何自建maven项目:

  1. 打开IDEA,新建maven项目(无需任何模板,就最原始的maven项目即可),建好后,有main和resources和pom.xml即可。这里放上我的目录图:在这里插入图片描述
  2. 依次输入代码。注意!如果你跟着网上3.9.0版本,应该会遇到一些错误,下面跟着我一步步走。
  3. 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
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值