问题描述
我将 AllenNLP 用于组合分类器(其任务之一是 NER 标记),在设计一些测试时,我遇到了这个疑问:如何访问我的 AllenNLP 实例的不同字段的值?我想将它们与引入的值进行比较,以确保在预处理中没有丢失任何东西。
我设法使用 instance.__getitem__("text")
访问了实例的文本字段,但我不知道如何从那里获取值,或者是否有任何更快的直接从 Instance 类获取。
我想要做的是类似于 assert instance.getValueFromField("text) == training_dataset["text"][0]
解决方法
您是对的,instance.__getitem__("text")
将允许您访问名为“text”的字段,但您不应直接使用此方法。相反,只需执行 instance["text"]
。
无论哪种方式,这都会为您提供一个 TextField
,您可以使用它通过查看 instance["text"].tokens
来检查用于构造该字段的标记。