Nlp 如何使用conllu python库保存已编辑的.conllu文件

Nlp 如何使用conllu python库保存已编辑的.conllu文件,nlp,jupyter-notebook,python-3.6,Nlp,Jupyter Notebook,Python 3.6,我想问一些我在互联网上还找不到的问题 首先,我正在使用Universal Dependencies数据集,并希望在Jupyter笔记本(python 3.6)上编辑一些数据 我找到了conllu库并使用它处理.conllu UD数据集。我想编辑其中一个数据(比如改变引理)。下面是一个例子: 我读到在康卢图书馆里有一个函数 .serialize() 这可能会将格式改回.conllu格式,而不是字符串 但我认为它不会保存实际的文件,它只是打印出来 我只想更改实际文件。 有人能帮我吗?谢谢。conl

我想问一些我在互联网上还找不到的问题

首先,我正在使用Universal Dependencies数据集,并希望在Jupyter笔记本(python 3.6)上编辑一些数据

我找到了conllu库并使用它处理.conllu UD数据集。我想编辑其中一个数据(比如改变引理)。下面是一个例子:

我读到在康卢图书馆里有一个函数

.serialize()

这可能会将格式改回.conllu格式,而不是字符串

但我认为它不会保存实际的文件,它只是打印出来

我只想更改实际文件。
有人能帮我吗?谢谢。

conllu不会在句子层面处理这个问题。您必须遍历每个令牌列表,将其序列化,并将其附加到文件或附加到字符串,然后将其写入文件

作为conllu的替代方案,可以更容易地处理这个问题(如果不使用迭代,否则也是一样的)

conll = pyconll.load_from_file("mytreebank.conllu")
for sentence in conll:
    # Your custom work and changes here

conll.write("mynew.conllu")
为了解决conllu的问题,类似这样的方法可以奏效:

with open("mynew.conllu", "w") as f:
    for token_list in parse_incr(ud_data):
        # Your custom work and changes here
        serialized = token_list.serialize()
        f.write(serialized)
        f.write('\n\n')

免责声明:我是pyconll的创建者。

conllu不在句子层面处理此问题。您必须遍历每个令牌列表,将其序列化,并将其附加到文件或附加到字符串,然后将其写入文件

作为conllu的替代方案,可以更容易地处理这个问题(如果不使用迭代,否则也是一样的)

conll = pyconll.load_from_file("mytreebank.conllu")
for sentence in conll:
    # Your custom work and changes here

conll.write("mynew.conllu")
为了解决conllu的问题,类似这样的方法可以奏效:

with open("mynew.conllu", "w") as f:
    for token_list in parse_incr(ud_data):
        # Your custom work and changes here
        serialized = token_list.serialize()
        f.write(serialized)
        f.write('\n\n')
免责声明:我是pyconll的创建者