jieba源碼研讀筆記(十五) - 關鍵詞提取函數入口
前言
jieba的關鍵詞提取功能主要由jieba/analyse
這個模組實現。
以下是jieba/analyse
模組的目錄結構:
├─jieba
│ ├─analyse
│ │ │ analyzer.py
│ │ │ idf.txt
│ │ │ textrank.py
│ │ │ tfidf.py
│ │ │ __init__.py
jieba支援兩種關鍵詞提取的算法,包括TF-IDF
及TextRank
兩種。
在jieba/analyse/__init__.py
中,會調用TFIDF
及TextRank
這兩個檔案,並利用它們定義一些全局變數及函數。
import其它模組
from __future__ import absolute_import
from .tfidf import TFIDF
from .textrank import TextRank
try:
from .analyzer import ChineseAnalyzer
except ImportError:
pass
定義全局變數及函數
default_tfidf = TFIDF()
default_textrank = TextRank()
extract_tags = tfidf = default_tfidf.extract_tags
set_idf_path = default_tfidf.set_idf_path
textrank = default_textrank.extract_tags
def set_stop_words(stop_words_path):
default_tfidf.set_stop_words(stop_words_path)
default_textrank.set_stop_words(stop_words_path)