python自然语言处理(第4章 (自己动手的小例子))

借鉴3.3.2 节的实现,尝试自己实现HMM 进行词性标注(语料可选用1998年人民日报饲性标注集 (注意没有语料库//download.csdn.net/download/qq_26954059/12185434 意思一下 其实书中也有资源)
使用两个hmm模型,一个是基于字的hmm分词,c_hmm词性标注,不做解释,自己看代码注释,还有看书,对hmm模型理解,知道前向。后向,维特比,本代码只是单纯走了一遍语料库,并没有多次迭代求收敛,直接上代码
【python自然语言处理(第4章 (自己动手的小例子))】思路:无论分词还是词性标注,都是先找隐藏状态和可观察状态,在分词中每个字的标签为隐藏状态,字为可观察,而在词性标注时每个词语的词性为隐藏,词语为可观察

#------------------------------------------------------------------------------- # Name:module1 # Purpose: # # Author:nkenen # # Created:12/03/2020 # Copyright:(c) nkenen 2020 # Licence: #------------------------------------------------------------------------------- class HMM(object): def __init__(self): import os#用于存取算法中间结果,不同每次都训练 self.model_file = 'data/hmm_model.pkl' self.model_c_file = 'data/hmm_c_model.pkl' #隐藏状态值集合 self.state_list = ['B','M','E','S']self.charact_list = ['ag','a','ad','an','b','bg','c','

    推荐阅读