Stanford NER 如何生成和使用特征
How are features generated and used in Stanford NER
以NERFeatureFactory中的两个特征为例:
pw, w, c
和
pc, nc, c
问题:
使用第一个特征函数,我们想要像 pw = 'in' w = 'Berlin' c = 'LOCATION' 这样的东西,它可能会在改变 c 时获得高权重= 'PERSON' 会得到 low/negative 权重。问题是,w 和 pw 是如何挑选出来的?它们是手工选择的,是从训练集中标记单词的附近,还是从所有可能单词的集合中提取的? 是不是每个组合pw,w都考虑了?
当在训练阶段使用第二个特征函数时,前向后向算法中的矩阵是否变为 N^3,其中 N 是 类 的数量。还是我遗漏了什么?
提前谢谢你:)!
斯坦福 NER 使用 CRF 序列模型。
1. pw 和 w 都是在训练过程中看到的以前和当前单词的对。
2. 在解码时,如果我们有特征模板pc、nc、c,那么要找到最佳序列,就需要考虑N^3种可能的类组合(对于每个token和周围的token)。默认模型使用 pc, c 并考虑 N^2 组合。
以NERFeatureFactory中的两个特征为例:
pw, w, c
和
pc, nc, c
问题:
使用第一个特征函数,我们想要像 pw = 'in' w = 'Berlin' c = 'LOCATION' 这样的东西,它可能会在改变 c 时获得高权重= 'PERSON' 会得到 low/negative 权重。问题是,w 和 pw 是如何挑选出来的?它们是手工选择的,是从训练集中标记单词的附近,还是从所有可能单词的集合中提取的? 是不是每个组合pw,w都考虑了?
当在训练阶段使用第二个特征函数时,前向后向算法中的矩阵是否变为 N^3,其中 N 是 类 的数量。还是我遗漏了什么?
提前谢谢你:)!
斯坦福 NER 使用 CRF 序列模型。 1. pw 和 w 都是在训练过程中看到的以前和当前单词的对。 2. 在解码时,如果我们有特征模板pc、nc、c,那么要找到最佳序列,就需要考虑N^3种可能的类组合(对于每个token和周围的token)。默认模型使用 pc, c 并考虑 N^2 组合。