在 AllenNLP 中访问实例的字段值

Access field values of an instance in AllenNLP

我将 AllenNLP 用于组合 classifier(其任务之一是 NER 标记),在设计一些测试时,我遇到了这个疑问:我如何访问值我的 AllenNLP 实例的不同领域?我想将它们与引入的值进行比较,以确保在预处理过程中没有丢失任何东西。

我设法使用 instance.__getitem__("text") 进入实例的文本字段,但我不知道如何从那里获取值,或者是否有直接从实例 class 更快的方法.

我想做的是 assert instance.getValueFromField("text) == training_dataset["text"][0]

你是对的 instance.__getitem__("text") 会让你访问名为“文本”的字段,但你不应该直接使用这种方法。相反,只需 instance["text"].

无论哪种方式,这都会给你一个 TextField,你可以通过查看 instance["text"].tokens.

来检查用于构造此字段的标记