EmilStenstrom/conllu

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

何を解決するか

CoNLL-U Parser は、自然言語処理(NLP)タスクの出力としてよく使われる CoNLL-U 形式の文字列を処理する軽量な Python ライブラリです。このライブラリは、これらの形式化された文字列を、プログラム的に操作しやすい構造化された Python データ型(辞書とリスト)に変換します。

動作方法

このライブラリは、主に以下の2つのパースメソッドを提供しています:

  • parse(): CoNLL-U データを、各文が順序付き辞書として表された TokenList を含むフラットな文のリストに変換します。
  • parse_tree(): データをネストされた TokenTree 構造に変換し、CoNLL-U ファイルの head 列に基づいて文の依存関係木を表現します。

大規模なファイルに対しては、parse_incr および parse_tree_incr というインクリメンタルパースメソッドを提供しており、データ全体をメモリに読み込む必要がありません。

対象ユーザー

CoNLL-U 形式の NLP データセットを扱う開発者や研究者で、データのパース、フィルタリング、変更、そして再び CoNLL-U 形式へのシリアル化が必要な方々です。

特徴

  • 依存関係なし: ライブラリは約300行のコードで構成されており、外部依存関係が一切ありません。
  • 柔軟なパース: カスタムフィールド名、カスタムフィールドパーサー、カスタムメタデータパーサーをサポートし、非標準的な CoNLL-U 形式に対応できます。
  • TokenList のユーティリティ: ラムダベースのフィルタリングを含む組み込みフィルタリング機能と、データをテキストに戻すシリアル化機能を備えています。
  • 依存関係木のサポート: フラットなトークンリストを階層的な依存関係木に変換でき、走査が容易になります。
  • 強力なテスト: 100%のテストブランチカバレッジとミューテーションテストを実装しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト