Stanford CoreNLP在Ubuntu下的安装与使用 - Yuzhen-Li/yuzhenli.github.io GitHub Wiki

stanford CoreNLP安装以及使用

stanford CoreNLP快搞死我了,查了不少资料花费了接近3个小时,才安装完成,并且学会使用。

简介

Stanford CoreNLP提供了一系列自然语言分析工具。它能够给出基本的词形,词性,不管是公司名还是人名等,格式化的日期,时间,量词,并且能够标记句子的结构,语法形式和字词依赖,指明那些名字指向同样的实体,指明情绪,提取发言中的开放关系等。如果需要进行如下任务,Standfrod CoreNLP正合适:

1一个集成的语言分析工具集;
2进行快速,可靠的任意文本分析;
3.整体的高质量的文本分析;
4.支持多种主流语言;
5.多种编程语言的易用接口;
6.方便的简单的部署web服务。

Stanford CoreNLP是一个集成的框架。框架的目标是使得应用一大堆语言分析工具分析大量的文本变得简单。COreNLP工具可以仅仅通过两行命令执行大量的文本分析工作。框架设计的初衷就是高度灵活的可扩展性的。通过一个单独的名利ing就可以选择某个工具的开启和关闭。Stanford CoreNLP集成了许多斯坦福的NLP工具,包括:词性标记(POS),命名实体识别(NER),语法,参数分析系统,情绪分析,自举模式学习,和开放信息提取工具。这个框架的分析为高等级和指定领域的文本理解应用程序提供了基本的构件。

安装

首先需要安装Java运行环境,以Ubuntu 12.04为例,安装Java运行环境仅需要两步:

sudo apt-get install default-jre
sudo apt-get install default-jdk

然后下载Stanford coreNLP 包:

wget http://nlp.stanford.edu/software/stanford-corenlp-full-2018-02-27.zip

unzip stanford-corenlp-full-2018-02-27.zip

cd stanford-corenlp-full-2018-02-27/

配置环境变量:

for file in `find . -name "*.jar"`; do export CLASSPATH="$CLASSPATH:`realpath $file`"; done

for file in `find /path/to/corenlp/ -name "*.jar"`; do export CLASSPATH="$CLASSPATH:`realpath $file`"; done

安装:

sudo pip3 install stanfordcorenlp

处理中文还需要下载中文的模型jar文件,然后放到stanford-corenlp-full-2018-02-27根目录下即可

wget http://nlp.stanford.edu/software/stanford-chinese-corenlp-2018-02-27-models.jar

中文使用方法

# coding=utf-8

from stanfordcorenlp import StanfordCoreNLP

nlp = StanfordCoreNLP(r'/mnt/f/CMBNLP/stanford-corenlp-full-2018-02-27/', lang='zh') ## 这里是coreNLP的路径

sentence = '清华大学位于北京。'
print nlp.word_tokenize(sentence)
print nlp.pos_tag(sentence)
print nlp.ner(sentence)
print nlp.parse(sentence)
print nlp.dependency_parse(sentence)

英文使用方法

from stanfordcorenlp import StanfordCoreNLP

nlp = StanfordCoreNLP(r'/mnt/f/CMBNLP/stanford-corenlp-full-2018-02-27/') ## 这里是coreNLP的路径,与中文相比,省略了, lang='zh'

sentence = 'You are a beautiful girl1'
print nlp.word_tokenize(sentence)
print nlp.pos_tag(sentence)
print nlp.ner(sentence)
print nlp.parse(sentence)
print nlp.dependency_parse(sentence)