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)。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案