EmilStenstrom/conllu

A CoNLL-U parser that takes a CoNLL-U formatted string and turns it into a nested python dictionary.

解决的问题

CoNLL-U Parser 是一个轻量级的 Python 库,专为处理自然语言处理(NLP)任务中常见的 CoNLL-U 格式字符串而设计。它将这些格式化的字符串转换为结构化的 Python 数据类型(字典和列表),便于程序化操作。

工作原理

该库提供两种主要的解析方法:

  • parse():将 CoNLL-U 数据转换为扁平的句子列表,其中每个句子是一个 TokenList,包含以有序字典形式表示的标记。
  • parse_tree():将数据转换为嵌套的 TokenTree 结构,基于 CoNLL-U 文件的 head 列来表示句子的依存关系树。

对于大文件,该库还提供增量解析方法(parse_incrparse_tree_incr),避免将整个数据集加载到内存中。

适用人群

使用 CoNLL-U 格式 NLP 数据集的开发者和研究人员,特别是需要对数据进行解析、过滤、修改,并将其重新序列化为 CoNLL-U 格式的人。

特色亮点

  • 零依赖:该库仅约 300 行代码,无任何外部依赖。
  • 灵活解析:支持自定义字段名、自定义字段解析器和自定义元数据解析器,可处理 CoNLL-U 格式的非标准变体。
  • TokenList 工具:内置过滤功能(包括基于 lambda 的过滤),并支持将数据序列化回文本格式。
  • 依存树支持:可将扁平的标记列表转换为层次化的依存树,便于遍历。
  • 强测试覆盖:具备 100% 测试分支覆盖率和变异测试(mutation testing)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目