安装好crf++后(其实这里用到的只是crflearn.exe和crftest.exe)和下载人民日报的数据之后,我们就可以准备CRF方法的训练过程了。
首先是对数据进行处理,生成训练所需的文件。我们去除一些不必要的符号、空格等,对词的位置进行标注(分为单字和多字处理),生成几个文件。其中训练数据和测试数据按照9:1的比例设置。
get_train_data.py
# coding = utf8
'''
处理人民日报文本数据,生成训练所需数据train.data等,可用来训练crf模型
'''
import codecs
def covertTag():
src_file = codecs.open('./'+'guomengfei.txt','r') #读标注数据
# 写train.data/test.data/test_real.data等文件
test_real_file = codecs.open('./' + 'test_rel.data', 'w', 'utf-8')
test_file = codecs.open('./' + 'test.data', 'w', 'utf-8')
train_file = codecs.open('./' + 'train.data', 'w', 'utf-8')
i = 0 #行数
for line in src_file.readlines():
line = l