定义 CRF++ 模板文件
define CRF++ template file
This 是我的问题,但它没有说明如何正确定义模板文件。
我的训练文件是这样的:
上 B-NR
海 L-NR
浦 B-NR
东 L-NR
开 B-NN
发 L-NN
与 U-CC
法 B-NN
制 L-NN
建 B-NN
...
CRF++非常容易使用。网站上的说明解释的很清楚。
http://crfpp.googlecode.com/svn/trunk/doc/index.html
假设我们为直线提取特征
东 L-NR
Unigram
U02:%x[0,0] #means column 0 of the current line
U03:%x[1,0] #means column 0 of the next line
所以底层特征是“column0=开”
双字母组相似
看来这个问题是因为没有搞清楚CRF++是如何处理训练文件的。您的功能可能不包含最后一列中的值。这些是标签!如果您要将它们包含在您的功能中,您的模型将非常完美!当您定义模板文件时,因为您只有两列,所以它只能包含 %x[n,0] 形式的规则。它被硬编码到 CRF++ 中(尽管据我所知没有明确记录),即 -4 <= n <= 4。
This 是我的问题,但它没有说明如何正确定义模板文件。
我的训练文件是这样的:
上 B-NR
海 L-NR
浦 B-NR
东 L-NR
开 B-NN
发 L-NN
与 U-CC
法 B-NN
制 L-NN
建 B-NN
...
CRF++非常容易使用。网站上的说明解释的很清楚。
http://crfpp.googlecode.com/svn/trunk/doc/index.html
假设我们为直线提取特征 东 L-NR
Unigram
U02:%x[0,0] #means column 0 of the current line
U03:%x[1,0] #means column 0 of the next line
所以底层特征是“column0=开”
双字母组相似
看来这个问题是因为没有搞清楚CRF++是如何处理训练文件的。您的功能可能不包含最后一列中的值。这些是标签!如果您要将它们包含在您的功能中,您的模型将非常完美!当您定义模板文件时,因为您只有两列,所以它只能包含 %x[n,0] 形式的规则。它被硬编码到 CRF++ 中(尽管据我所知没有明确记录),即 -4 <= n <= 4。