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内存

你可能感兴趣的:(docker 安装 Stanford CoreNLP)