我在使用AllenNLP进行一个综合分类器的开发(其中一项任务是命名实体识别标记),在设计测试时,我遇到了一个疑问:如何访问AllenNLP实例中不同字段的值?我希望将这些值与输入的值进行比较,以确保预处理过程中没有丢失任何数据。
我已经设法通过instance.__getitem__("text")
访问了实例的文本字段,但我不确定如何从中获取值,或者是否有从Instance类直接获取值的更快方法。
我尝试做的是类似assert instance.getValueFromField("text") == training_dataset["text"][0]
的操作
回答:
您说的对,instance.__getitem__("text")
确实可以让您访问名为”text”的字段,但不应直接使用此方法。相反,只需使用instance["text"]
即可。
无论哪种方式,这都会返回一个TextField
,您可以通过查看instance["text"].tokens
来检查用于构建此字段的标记。