NLTK:为 FCFG 中的特征添加两个值

NLTK: Adding two values for a feature in FCFG

对于 NLTK 的特征语法,如何为一个特征添加多个值。 例如。目前我能够成功使用以下内容,

NP[TYPE=name]

我想要类似的东西,

NP[TYPE=[name,organisation,location]]

也就是说,NP 应该能够接受类型为名称、组织或位置的值。

一个"hack"是将特征值转换为"one-hot"布尔向量,例如

而不是这个:

NP[TYPE=[name,organisation,location]]

你可以这样做:

NP[NAME='1',ORG='1',LOC='1']

另一个例子,而不是这个:

NP[TYPE=[name,organisation]

你可以在规格不足的情况下做到这一点:

NP[NAME='1',ORG='1']

或者如果您想过度指定:

NP[NAME='1',ORG='1', LOC='0']

已编辑

你也可以在特征结构中使用+/-语法,例如

NP[+NAME, -ORG, +LOC]

有关详细信息,请参阅 http://www.nltk.org/book/ch09.html#code-slashcfg