使用Stanford CoreNLP工具包处理中文
来源:互联网 发布:地暖好吗知乎 编辑:程序博客网 时间:2024/06/12 16:36
这几天刚刚接触自然语言处理,使用了Stanford CoreNLP工具。但毕竟是第一次用,所以遇到很多问题,现将解决方案记下(容易百度到的错误就不记了)。
其中用Stanford CoreNLP集合工具来处理中文的方法网上很少有说明,官方Demo也没有说明,特在此记下。
Stanford 提供了很多NLP工具,默认均直接支持英文,部分需要model支持中文。这是这些工具官方列表地址:http://nlp.stanford.edu/software/
部分工具列表如图:
其中第一个Stanford CoreNLP工具可以说是其它工具的集合,功能相对强大。假如你只需要进行分词,则使用Stanford Word Segmenter工具即可。该工具支持中文。而且下载的文件中也有适用于中文的Demo,比较容易理解。但是如果你想使用集合工具Stanford CoreNLP处理中文,则网上相关资料很少,下载的Demo文件中只有处理英文的。
下面介绍怎么用集合工具Stanford CoreNLP处理中文:
注意:需要java8,怎么配合eclipse使用,自己百度,目前需要安装一个更新。
1、你需要下载Stanford CoreNLP,我下载的是3.6.0:http://stanfordnlp.github.io/CoreNLP/index.html#download
2、你需要下载中文支持包:stanford-chinese-corenlp-models.jar,我下载的也是3.6.0:http://stanfordnlp.github.io/CoreNLP/index.html#download
3、下载完毕后,Stanford CoreNLP需要解压,然后将stanford-chinese-corenlp-models.jar放到解压文件夹里,将文件夹中的所有.jar加入你建立的工程中。
然后测试代码与英文的Demo不同,代码很简单
public class test_demo {
public static void main(String[] args) {
String props="StanfordCoreNLP-chinese.properties";
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
Annotation annotation;
//if data from file
//annotation = new Annotation(IOUtils.slurpFileNoExceptions(file));
annotation = new Annotation("这家酒店很好,我很喜欢。");
pipeline.annotate(annotation);
pipeline.prettyPrint(annotation, System.out);
}
}
主要就是标红的代码。这个是stanford-chinese-corenlp-models.jar中的一个文件,可以用解压软件打开查看一下,里边默认定义了使用哪些工具,以及相应的设置,可以自己根据需要修改,箭头指示的为默认支持的工具,分词、分句、词性标注、命名实体识别、语法分析等等,下边是每个工具对应的参数设置,这样就可以用这一强大工具来处理中文了。
结果截图:
- 使用Stanford CoreNLP工具包处理中文
- 使用Stanford CoreNLP工具包处理中文
- Stanford CoreNLP使用
- Stanford CoreNLP 进行中文分词
- 如何使用Stanford CoreNlp做中文情感分析
- 使用Stanford CoreNLP的Python封装包处理中文(分词、词性标注、命名实体识别、句法树、依存句法分析)
- 中文语料下Stanford CoreNLP开发环境配置和各组件使用例子
- Eclipse下使用Stanford CoreNLP的方法
- Stanford CoreNLP 3.6.0 使用入门
- 【java】使用Stanford CoreNLP处理英文(词性标注/词形还原/解析等)
- CoreNLP Python接口处理中文
- stanford coreNLP 在自己的工程下按文件处理
- Stanford CoreNLP 介绍
- Stanford CoreNLP API
- 自然语言处理中文 工具包
- 自然语言处理中文 工具包
- 自然语言处理中文 工具包
- 自然语言处理中文 工具包
- c++ 多线程编程
- ES权威指南_05_Geolocation_02 Geohashes
- 关于使用powerdesigner 导入oracle数据库表,使用查询语句是查询报表不存在
- 谈CSS的设计模式
- ES权威指南_05_Geolocation_03 Geo Aggs
- 使用Stanford CoreNLP工具包处理中文
- 与人沟通经验积累
- ES权威指南_05_Geolocation_04 Geo Shapes
- Apache FileUpload 文件上传组件API解读-2
- 设计模式之构造模式
- Java中CAS详解
- SQL Server 用户只看到自己有权限的库
- 比较Collection 和Collections的区别,Array与Arrays的区别
- thymeleaf模板部分知识(持续更新)