一、前言
本文主要是实现了一个纯粹的HMM中文分词模型,关于中文分词可以参考:中文分词。分词的基本思想与该文基本一致,请确保已经了解分词的基本知识。
二、实战
1、语料源
语料来源于Bakeoff 2005的主页,这里选用了icwb2-data.rar语料,大概介绍如下:
* /icwb2-data.rar/training/msr_training.txt 用以训练HMM,其中包含已分词汇约2000000个
* /icwb2-data.rar/testing/msr_test.txt 测试集
* /icwb2-data.rar/gold/msr_gold.txt 测试集已分词文本
2、语料处理
def read_corpus_from_file(cls, file_path):
"""
读取语料
"""
f = open(file_path, 'r')
lines = f.readlines()
for line in lines:
cls._words.extend([word for word in line.decode('gbk').strip().split(' ') if word and not cls.is_puns(word)])
f