理论上,我有一个CoNLL格式的txt文件。像这样:
a O
nivel B-INDC
de O
la O
columna B-ANAT
anterior I-ANAT
del I-ANAT
acetabulo I-ANAT
existiendo O
minimos B-INDC
cambios B-INDC
edematosos B-DISO
en O
la O
medular B-ANAT
(...)
我需要把它转换成一个句子列表,但我找不到方法。我尝试使用conllu库的解析器:
from conllu import parse
sentences = parse("location/train_data.txt")
但他们给出了错误:ParseException:行格式无效,行必须包含制表符或两个空格
我怎么能得到这个
["a nivel de la columna anterior del acetabulo", "existiendo minimos cambios edematosos en la medular", ...]
谢谢
最简单的方法是遍历文件的行,然后检索第一列。不需要进口
根据我的经验,手写是最有效的方法,因为CoNLL格式非常多样化(但通常是以琐碎的方式,如列的顺序),你不想为任何可以简单解决的问题而麻烦别人的代码。例如,@markusodenthal引用的代码将维护CoNLL注释(以
#
开头的行),这可能不是您想要的另一件事是,自己编写循环可以让您逐句处理,而不是首先将所有内容读入数组。如果您不需要整体处理,这将更快、更具可扩展性
对于NLP问题,第一个出发点是拥抱脸——对我来说永远如此——D 您的问题有一个很好的例子:https://huggingface.co/transformers/custom_datasets.html
在这里,它们显示了一个功能,正是您想要的:
您可以使用conllu库
使用
pip install conllu
安装下面显示了一个示例用例
相关问题 更多 >
编程相关推荐