拓展阅读
分词系列专题
jieba-fenci 01 结巴分词原理讲解 segment
jieba-fenci 02 结巴分词原理讲解之数据归一化 segment
jieba-fenci 03 结巴分词与繁简体转换 segment
jieba-fenci 04 结巴分词之词性标注实现思路 speechTagging segment
关键词系列专题
NLP segment-02-聊一聊关键词提取 keyword
NLP segment-03-基于 TF-IDF 实现关键词提取 java 开源实现
NLP segment-04-自动摘要 auto-summary java 开源实现
NLP segment-20-分词开源项目介绍 HanLP 未来十年的自然语言处理
NLP segment-21-分词开源项目介绍 ansj_seg
NLP segment-21-分词开源项目介绍 ansj_seg
开源项目
为了便于大家学习,项目开源地址如下,欢迎 fork+star 鼓励一下老马~
前言
前面一些内容,我们介绍了分词。
以及 TF-IDF 的实现原理。
当然,这些都是知识,但不是工具。
我们将其转换为方便可用的 java 工具。
nlp-keyword
nlp-keyword 高性能的 java 分词关键词提取实现,基于分词 segment。
愿景:成为 java 最好用的关键词工具。
特性
-
基于 TF-IDF 算法的关键字算法
-
灵活的条件指定
快速开始
maven 引入
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>keyword</artifactId>
<version>1.0.0</version>
</dependency>
快速开始
- 获取关键词
final String text = "这是一个伸手不见五指的黑夜,夜太美。";
List<IKeywordResult> keywords = KeywordHelper.keyword(text);
Assert.assertEquals("[伸手不见|0.86879235325, 太美|0.70848301840625, 伸手不见五指|0.63371734601875, 黑夜|0.509854654010625, 伸手|0.43563643037625]", keywords.toString());
- 指定返回的个数
final String text = "这是一个伸手不见五指的黑夜,夜太美。";
List<IKeywordResult> keywords = KeywordHelper.keyword(text, 1);
Assert.assertEquals("[伸手不见|0.86879235325]", keywords.toString());
- 指定返回的格式
final String text = "这是一个伸手不见五指的黑夜,夜太美。";
List<String> keywords = KeywordHelper.keyword(text, 1, KeywordResultHandlers.words());
Assert.assertEquals("[伸手不见]", keywords.toString());
ROAD-MAP
-
[] 字典数据独立,便于用户自定义选择
-
[] 文本相似度
-
[] auto-summary 自动摘要