中文NLP工具

1 HanLP

HanLP(汉语言处理包)是一款开源的使用Java进行开发的中文自然语言处理工具,提供的功能包括中文分词、词性标注、命名实体识别、依存句法分析等。

该工具包目前仍处在更新维护中(2017.9最新版本是1.3.4)

github仓库:https://github.com/hankcs/HanLP

开发语言:Java

支持语言:Java,如果使用Python,可以借助JPype

配置和使用:可以参加github地址

关键点:修改配置文件hanlp.properties中root=,可以使用相对或绝对地址,并且该文件需放置在bin目录中。

2 复旦 FundanNLP

FudanNLP (FNLP)是复旦大学开发的中文自然语言处理工具包,目前暂时停止了更新(目前最新是2016年的微调整,主体版本2.00(2014.3.25)),另:FNLP官方博客:[http://fnlp.org]已失踪;支持中文分词、词性标注、命名实体识别。

github仓库:https://github.com/FudanNLP/fnlp

开发语言:Java

支持语言:Java

安装配置:github wiki;需要先配置maven,手动进行编译得到jar包。

3 哈工大 HIT LTP

LPT(Language Technology Platform)是哈尔滨工业大学开发的中文自然语言处理工具。目前最新版本是3.3.2(2016年,目前基本暂时停止更新,模型最新是3.3.1)。代码开源,商业使用付费。支持中文分词、词性标注、命名实体识别、依存句法分析、语言角色标注(中文)

github地址:https://github.com/HIT-SCIR/ltp

开发语言:C++

支持语言:Python(pyltp), Java(ltp4j)

Java开发中配置:

首先使用CMake+VS编译C++源代码得到库文件,然后使用ant构建,生成ltp4j.jar包。注意要保证C++编译的库文件和ltp4j.jar架构版本都是64位或32位。

补充:

4 清华 THU LAC

THULAC (THU Lexical Analyzer for Chinese) 是由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。

github地址:

Java版本(thulac4j):

https://github.com/yizhiru/thulac4j

thulac4j是THULAC的高效Java 8实现,具有分词速度快、准、强的特点;

如果使用Java开发,推荐直接使用thulac4j,语言模型可以直接下载thulac4j处理后的数据,或使用ThuLac的模型进行生产:

ThulacModel thulac = new ThulacModel("cws_model.bin", "cws_dat.bin", "cws_label.txt");

thulac.serialize("seg_only.bin");

ThulacModel thulac = new ThulacModel("model_c_model.bin", "model_c_dat.bin", "model_c_label.txt");

thulac.serialize("seg_pos.bin");

thulac4j 打包得到jar包,同时还需要相关的包(maven dependencies中可以查看):

kryo-4.0.0.jar, reflectasm-1.11.3.jar, asm-5.0.4.jar, minlog-1.3.0.jar, objenesis-2.2.jar

另:

Simplifier和StopFilter,如需要正常执行,需要在打包成jar时,将models中文件一同打包。

程序实力可是参照test中的程序。

5 (中科院)NLPIR (原ICTCLAS)

6 斯坦福 Stanford CoreNLP(多语言)

中文的示例:

Properties props = new Properties();

props.load(IOUtils.readerFromString(file)); // file是配置文件,从中的jar中提出处理

props.setProperty("annotators", "tokenize, ssplit, pos, lemma"); // 修改默认设置,这里去除了parser等部分

StanfordCoreNLP pipeline = new StanfordCoreNLP(props);

Annotation document = new Annotation(text);

pipeline.annotate(document);

List sentences = document.get(SentencesAnnotation.class);

for (CoreMap sentence : sentences) {

for (CoreLabel token : sentence.get(TokensAnnotation.class)) {

String word = token.get(TextAnnotation.class); # 分词后的词

String pos = token.get(PartOfSpeechAnnotation.class); # 词性标记

String ne = token.get(NamedEntityTagAnnotation.class); # NER类别

System.out.println(word + "\t| " + pos + "\t| " + ne);

}

Tree tree = sentence.get(TreeAnnotation.class);

System.out.println("\n语法树:\n" + tree.toString());

}

fudannlp java_中文NLP工具相关推荐

  1. 中文 NLP 工具总结

    文章目录 中文 NLP 工具总结 1. Jieba 分词 1.1 简介 1.2 模型原理 1.3 安装 1.4 使用 1.5 分词评测 2. pyltp--哈工大 2.1 简介 2.2 模型原理 2. ...

  2. 【NLP】基于预训练的中文NLP工具介绍:ltp 和 fastHan

    1. 简介 2. ltp 2.1 工作流程 2.2 demo 2.3 词典分词 2.4 词性标注集 2.5 模型算法 3. fastHan 3.1 模型结构 3.2 demo 3.3 词典分词 3.4 ...

  3. 优质中文NLP资源集合,做项目一定用得到!

    整理 | Jane 出品 | AI科技大本营(公众号id:rgznai100) 今天要给大家在推荐 Github 上一个优质的中文 NLP 工具和资源集合项目--funNLP,已经获得了 5.3k S ...

  4. TechDay实录|摘取皇冠上的明珠,中文NLP的不二选择——PaddlePaddle

    NLP (Natural Language Processing)自然语言处理是人工智能的一个子领域,它是能够让人类与智能机器进行沟通交流的重要技术手段,同时也是人工智能中最为困难的问题之一.因此,N ...

  5. 轻量级NLP工具Trankit开源,中文处理更精准,超越斯坦福Stanza,内存占用小45%

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最新轻量 ...

  6. 轻量级NLP工具开源,中文处理更精准,超越斯坦福Stanza

    2021-04-02 12:51:35 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最新轻量级多语言NLP工具集Trankit发布1.0版本,来自俄勒冈大学. 基于Transforme ...

  7. 飞桨十大中文NLP开源工具详解

    PaddleNLP是基于飞桨(PaddlePaddle)开发的工业级中文NLP开源工具与预训练模型集,将自然语言处理领域的多种模型用一套共享骨架代码实现,可大大减少开发者在开发过程中的重复工作.Pad ...

  8. 强烈推荐| 飞桨十大中文NLP开源工具详解

    PaddleNLP是基于飞桨(PaddlePaddle)开发的工业级中文NLP开源工具与预训练模型集,将自然语言处理领域的多种模型用一套共享骨架代码实现,可大大减少开发者在开发过程中的重复工作.Pad ...

  9. NLP笔记:中文分词工具简介

    中文分词工具简介 0. 引言 1. jieba分词 1. jieba分词的基本用法 2. jieba分词的进阶版用法 1. 全模式的分词 2. 自定义领域词表加入 3. 使用jieba进行关键词抽取 ...

  10. 零基础入门NLP之搭建中文分词工具

    1 文本分析的基本过程 分词就是中学学的断句: 举个例子来说明:假设我们输入一句话:北京欢迎你.则有可能的断句为: 北,京,欢,迎,你 北京,欢,迎,你 北京,欢迎,你  等等如果没有语料库的话就是这 ...

最新文章

  1. oracle instr查询字符串
  2. mysql断网_断网的情况上如何访问本机的mysql
  3. 搜索互联网缓存页面 How to View the Cached Page of any URL or Website
  4. 关于csv文件转化为张量
  5. Linus 将 Linux 的软盘驱动 floppy 标记为“孤立”状态
  6. 乘法口诀表java加表格_Java 面试 - 打印九九乘法口诀表
  7. 每天Leetcode 刷题 初级算法篇-汉明距离
  8. textfilestream_C#里的文件流(FileStream)
  9. 所罗门王的宝藏(高斯消元)
  10. windows10 cortana 不能搜索解决办法
  11. adc网络语什么意思_王者荣耀adc什么意思 王者荣耀游戏术语全解
  12. photoshop发光线条教程集
  13. 2021最新 QQqun乘员数据获取项目(包含js逆向)——QQqunSpider [已完结]
  14. 笔记本电脑加一个机械硬盘后的配置工作
  15. java与jasper模板_ireport中使用java进行pdf转化,jasper作为模板
  16. iOS开发之数据存储
  17. 【转载】浅谈人工智能:现状、任务、构架与统一 | 正本清源 -- 朱松纯教授
  18. 勇敢跨越,从0到1开发一个属于自己的App
  19. chromedriver中的浏览器选项
  20. Android 悬浮歌词(迷你歌词)效果解读 (转)

热门文章

  1. 测试之串口连接及调试
  2. 深度强化学习算法 A3C (Actor-Critic Algorithm)
  3. px和毫米的换算_iOS尺寸单位pt、ppi与px之间换算关系
  4. 说出来你可能不信,我用 Python 破解了微信聊天记录
  5. 2019年上半年软件设计师上午真题及答案解析
  6. 手机android系统界面,Android 4.0系统,界面很原生
  7. 歌曲剪辑软件测试自学,想做vlog?想剪视频?全网最良心的视频剪辑软件测评之入门篇...
  8. android默认打开方式修改,教你修改安卓智能手机默认打开方式
  9. Retinex网络模型学习笔记
  10. Qt OpenGL加载OBJ模型