4分钟
Unigram 特征模板
1. 给定一个Unigram
特征模板 U01:%x[0,1]
,它会生成 个特征函数,其中 为训练数据的行数(剔除空白行,因为空白行是sentence
的分隔符)。
每个特征函数为:
func1 = if (output = LABEL1 and feature="U01:xx1") return 1 else return 0
func2 = if (output = LABEL2 and feature="U01:xx2") return 1 else return 0
func3 = if (output = LABEL3 and feature="U01:xx3") return 1 else return 0
....
funcM = if (output = LABELM and feature="U01:xxM") return 1 else return 0
其中:
LABEL1,...,LABELM
就是训练文件中,每一行的标记。feature="U01:xx1",...,feature="U01:xxM"
就是训练文件中,每一行由U01:%x[0,1]
指定的、从该行提取到的特征。
2. 事实上,上述生成的特征函数会有大量重复。
假设标记的种类一共有 L 个,由 U01:%x[0,1]
指定的、从该行提取到的特征的种类一共有 N 个, 则特征函数的种类一共有 L × N个。
CRF++
会按照 L 种标记, N 种特征来自动生成 L × N 个特征函数。
学员评价