docker 安装 Stanford CoreNLP

Stanford CoreNLP 可以理解为斯坦福大学用于自然语言处理(NLP)的一个工具,功能强大。可以实现分词、词性标注(POS)、实体识别(NER)、情感分析等等。
以下是使用docker管理CoreNLP的步骤:
1.创建Dockerfile:

FROM java:jre-alpine

RUN apk add --update --no-cache \
       unzip \
       wget

RUN wget https://nlp.stanford.edu/software/stanford-corenlp-full-2017-06-09.zip
RUN unzip stanford-corenlp-full-2017-06-09.zip && \
      rm stanford-corenlp-full-2017-06-09.zip

WORKDIR stanford-corenlp-full-2017-06-09

RUN export CLASSPATH="`find . -name '*.jar'`"

ENV PORT 9000

EXPOSE $PORT

CMD java -cp "*" -mx4g edu.stanford.nlp.pipeline.StanfordCoreNLPServer

代码中的 stanford-corenlp-full-2017-06-09.zip 是截止到发稿官网最新版本,可以对照官网下载的链接替换成最新的即可


image.png

2.通过该 Dockerfile build成images:

docker build -t alex/corenlp:3.8.0 .

这里 -t, --tag list Name and optionally a tag in the 'name:tag' format

3.不出意外的话过一会儿应该就提示成功了,然后执行

docker images

即可发现我们build成功的images:


image.png

4.如果不需要中文分词的话基本上到这就可以执行

docker run -itd -p 9000:9000 --name my_corenlp alex/corenlp:3.8.0

就可以直接访问 http://localhost:9000 访问到一下页面:

image.png

但是我们的目的就是为了用它来处理中文。所以我们还需要进行下面的步骤:
5.去官网 https://stanfordnlp.github.io/CoreNLP/download.html 下载对应上面Dockerfile中的版本的 CoreNLP:

image.png

同时还需要下载下面的 Chinese .
下载完以后把 CoreNLP解压,如我的目录是 /Users/alex/opt/stanford-corenlp-full-2017-06-09
然后把下载的中文相关的 jar 包 stanford-chinese-corenlp-2017-06-09-models.jar 给放到上述目录中即可
6.通过目录映射的方式把上述文件夹中的内容给映射到docker中:

docker run -itd -p 9000:9000 -v /Users/alex/opt/stanford-corenlp-full-2017-06-09:/stanford-corenlp-full-2017-06-09 --name my_coreNLP alex/corenlp:3.8.0

然后继续访问 http://localhost:9000 ,此时我们输入中文,
第一次启动比较慢,耐心等待后即可看到对应的结果:

3821511430295_.pic_hd.jpg

该工具比较吃内存,建议分配4g内存

推荐阅读更多精彩内容

  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 4,349评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 132,626评论 18 139
  • 打个卡…… 刚入了水彩这个大坑,才发现水彩的线条和水份以及调色有多难掌握…… 这张是这个月,唯一拿得出手的水彩……...
    糖醋罗飞鱼阅读 194评论 0 0
  • 元阳梯田,在云南是小有名气的,但省外游客知道的较少,因为周边没有什么特别的旅游景点,离昆明350多公里,车程5小时...
    潇潇_15c6阅读 587评论 4 4
  • 姓名:沈丹萍 公司:宁波大发化纤有限公司 《六项精进》289期学员 组名:反省二组 【日精进打卡28天】 【知~...
    好运到来阅读 69评论 0 0