概要说明:结巴分词是基于python的开源分词工具。在其根目录下的结构为
.
|--analyse
|--finalseg
|--posseg
|--__init__.py
|--__main__.py
|--_compat.py
|--dict.txt
其中analyse是对分词结果进行分析的文件夹,提供了TF-IDF算法和textrank算法。finalseg提供了vertbit算法需要的初始矩阵。posseg是进行词性标注的代码。
结巴分词的核心代码在根目录下的__init__.py中。
官方文档中关于算法的说明:
1、基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
2、采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
3、对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
__init__.py:
全局变量:
DICTIONARY = "dict.txt" #默认字典名
DICT_LOCK = threading.RLock() #线程锁
FREQ = {} # to be initialized #tire树
total = 0 #计数器
user_word_tag_tab = {}
initialized = False #标记是否初始化
pool = None
tmp_dir = None
_curpath = os.path.normpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) #得到当前绝对路径
.
|--analyse
|--finalseg
|--posseg
|--__init__.py
|--__main__.py
|--_compat.py
|--dict.txt
其中analyse是对分词结果进行分析的文件夹,提供了TF-IDF算法和textrank算法。finalseg提供了vertbit算法需要的初始矩阵。posseg是进行词性标注的代码。
结巴分词的核心代码在根目录下的__init__.py中。
官方文档中关于算法的说明:
1、基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
2、采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
3、对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法
__init__.py:
全局变量:
DICTIONARY = "dict.txt" #默认字典名
DICT_LOCK = threading.RLock() #线程锁
FREQ = {} # to be initialized #tire树
total = 0 #计数器
user_word_tag_tab = {}
initialized = False #标记是否初始化
pool = None
tmp_dir = None
_curpath = os.path.normpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) #得到当前绝对路径
log_console = logging.StreamHandler(sys.stderr)