我正在训练 CRF 分类器将文档行分类为标题(第一级)、标题(第二级)或简单文本。
我正在使用条件随机场来考虑顺序方面的能力。
阅读一些教程,我注意到通常,在这些特征中,有一些与前面或后面的标记相关的特征。
[...]
if i > 0:
word1 = sent[i-1][0]
postag1 = sent[i-1][1]
features.update({
'-1:word.lower()': word1.lower(),
'-1:word.istitle()': word1.istitle(),
'-1:word.isupper()': word1.isupper(),
'-1:postag': postag1,
'-1:postag[:2]': postag1[:2],
})
else:
features['BOS'] = True
[...]
我想知道顺序方面是从这些特征中学到的,还是在 CRF 中与生俱来的。换句话说,我们是否需要这些与其他代币相关的特征?