您将需要修改它的源代码(https://pytorch.org/text/_modules/torchtext/datasets/sequence_tagging.html#SequenceTaggingDataset)。您可以制作本地副本并作为模块导入。
path用于__init__. 重要的部分是它从文件中获取行并使用 given 将其拆分separator为 list named columns。然后将此列表与构造列表columns一起输入另一个类方法。请阅读此处提供的示例以了解(请注意,此处称为创建)。fieldsexamplesfieldsUDPOSSequenceTaggingDataset
您需要的是columns,您不需要从文件中读取它,因为您已经拥有所有组件。您将通过简化类直接提供它__init__:
def __init__(self, columns, fields, encoding="utf-8", separator="\t", **kwargs):
examples = []
examples.append(data.Example.fromlist(columns, fields))
super(SequenceTaggingDataset, self).__init__(examples, fields,
**kwargs)
columns是列表的嵌套列表:[[word], [UD_TAG], [PTB_TAG]]. 这意味着您需要将以下内容提供给修改后的类:
train = SequenceTaggingDataset([train_sentences, train_tags], fields=...)