Stanford CoreNLP 可以理解為斯坦福大學(xué)用于自然語言處理(NLP)的一個工具,功能強(qiáng)大酣胀∥霉撸可以實(shí)現(xiàn)分詞、詞性標(biāo)注(POS)灵临、實(shí)體識別(NER)、情感分析等等趴荸。
以下是使用docker管理CoreNLP的步驟:
1.創(chuàng)建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 是截止到發(fā)稿官網(wǎng)最新版本儒溉,可以對照官網(wǎng)下載的鏈接替換成最新的即可
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.不出意外的話過一會兒應(yīng)該就提示成功了,然后執(zhí)行
docker images
即可發(fā)現(xiàn)我們build成功的images:
4.如果不需要中文分詞的話基本上到這就可以執(zhí)行
docker run -itd -p 9000:9000 --name my_corenlp alex/corenlp:3.8.0
就可以直接訪問 http://localhost:9000 訪問到一下頁面:
但是我們的目的就是為了用它來處理中文发钝。所以我們還需要進(jìn)行下面的步驟:
5.去官網(wǎng) https://stanfordnlp.github.io/CoreNLP/download.html 下載對應(yīng)上面Dockerfile中的版本的 CoreNLP:
同時還需要下載下面的 Chinese .
下載完以后把 CoreNLP解壓顿涣,如我的目錄是 /Users/alex/opt/stanford-corenlp-full-2017-06-09
然后把下載的中文相關(guān)的 jar 包 stanford-chinese-corenlp-2017-06-09-models.jar 給放到上述目錄中即可
6.通過目錄映射的方式把上述文件夾中的內(nèi)容給映射到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
然后繼續(xù)訪問 http://localhost:9000 ,此時我們輸入中文,
第一次啟動比較慢酝豪,耐心等待后即可看到對應(yīng)的結(jié)果:
該工具比較吃內(nèi)存涛碑,建議分配4g內(nèi)存