nlp - 如何使用 conllu python 库保存编辑的 .conllu 文件
问题描述
我想问一些我在互联网上可能还找不到的东西。
首先,我使用的是 Universal Dependencies 数据集,并想在 Jupyter Notebook (python 3.6) 上编辑一些数据。
我找到了 conllu 库https://pypi.org/project/conllu/并使用它来处理 .conllu UD 数据集。我想编辑其中一个数据(比如更改引理)。这是示例:
我读过 conllu 库中有一个函数
。连载()
这可以将格式改回 .conllu 格式而不是字符串。
但我认为它不会保存实际文件,它只是打印它。
我想要的只是更改了实际文件。任何人都可以帮助我,好吗?谢谢你。
解决方案
conllu 不在句子级别处理这个问题。您必须遍历每个 TokenList,将其序列化,并将其附加到文件或附加到字符串,然后将其写入文件。
conllu 的替代方案 pyconll能够更轻松地处理这个问题(如果不使用迭代,否则它是相同的),因此。
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 的创建者。
推荐阅读
- python - 将表解析为 csv Python
- typescript - 使用打字稿的firebase功能组织
- android - 如何使用 Xamarin Forms 为外部应用程序指定完整的 android 包名称?
- css - 如何防止vue包样式应用到父页面
- jquery - jquery Timepicker在两个或更多按钮单击后不起作用
- c - 在链接静态库时编译 CUDA 代码
- typescript - Angular Highcharts 不呈现 3d 视图(来自 highcharts 包)
- typescript - Typescript :: 条件链接函数
- php - 将日期时间插入url以获取curl php google calendar api
- javascript - 如何从量角器中的输入元素而不是承诺中获取文本值