NLP segment-03-基於 TF-IDF 實現關鍵詞提取 java 開源實現

老马啸西风發表於2024-11-01

擴充閱讀

分詞系列專題

jieba-fenci 01 結巴分詞原理講解 segment

jieba-fenci 02 結巴分詞原理講解之資料歸一化 segment

jieba-fenci 03 結巴分詞與繁簡體轉換 segment

jieba-fenci 04 結巴分詞之詞性標註實現思路 speechTagging segment

關鍵詞系列專題

NLP segment-01-聊一聊分詞

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

倒排索引原理與實現 reverse-index

TF-IDF 自動生成文章摘要

TF-IDF 自動提取關鍵詞

相似文章演算法之語義指紋-文字內容去重

TF-IDF 找出相似文章演算法

NLP segment-21-分詞開源專案介紹 ansj_seg

開源專案

為了便於大家學習,專案開源地址如下,歡迎 fork+star 鼓勵一下老馬~

nlp-keyword 關鍵詞

pinyin 漢字轉拼音

segment 高效能中文分詞

opencc4j 中文繁簡體轉換

nlp-hanzi-similar 漢字相似度

word-checker 拼寫檢測

sensitive-word 敏感詞

前言

前面一些內容,我們介紹了分詞。

以及 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 自動摘要

相關文章