shibing624/pycorrector
pycorrector is a toolkit for text error correction. 文本纠错,实现了Kenlm,T5,MacBERT,ChatGLM3,Qwen2.5等模型应用在纠错场景,开箱即用。
pycorrector – 中国語テキスト補正ツールキット
何ができるか
- 中国語テキストの誤りを自動で修正するPythonライブラリを提供します。最も一般的な誤りタイプに対応しています:
- 音声的(発音が似ている)誤り
- 視覚的(形が似ている)誤り
- 文法/語順の誤り
- 固有名詞(名前)の誤り
- シンプルなルールベースのアプローチ(KenLM n-gram言語モデル + 手動作成の混乱セット)と、現代的なニューラルモデル(MacBERT、T5、ERNIE、GPTスタイルのLLM、BARTなど)の両方を提供。これらは即時利用可能で、独自データでファインチューニングも可能です。
主なコンポーネント
| コンポーネント | 技術 | 一般的な用途 | パフォーマンスのヒント |
|---|---|---|---|
| KenlmCorrector | KenLM n-gram言語モデル + 手動作成の混乱セット | 高速でリソース消費が少ない補正(スペルチェック専用に最適) | CPUで約9 QPS、F1はやや低め(~0.34) |
| MacBertCorrector | MacBERTバックボーンに検出レイヤーを追加 | スペル・文法補正に優れた性能、推奨デフォルト | GPUで約224 QPS、F1 ≈ 0.40(CSC) |
| T5Corrector | 中国語事前学習済みT5を補正データでファインチューニング | 長文・複雑な編集に適している | 大型LLMより高速、F1は安定 |
| ERNIE_CSC | PaddlePaddle ERNIEモデルをCSCに特化してファインチューニング | 標準ベンチマークで高い精度 | F1 ≈ 0.44 |
| GPTスタイル補正モデル(ChatGLM3、LLaMA2、Qwen2.5、Qwen3) | 補正に特化した大規模言語モデル | 全体的な品質が最高、複数文字の挿入・削除も対応可能 | F1が最も高い(最大0.85)だが遅い(数QPS) |
| BART / MuCGECBart / NaSGECBart | 中国語補正コーパスで学習されたSeq2Seq BART変種 | 一般テキスト補正に適しており、ノイズが多いデータでも有効 |
使い方
pip install -U pycorrectorでインストール(またはソースからビルド/Docker)。- モデルクラスを選択し、例:
MacBertCorrector('shibing624/macbert4csc-base-chinese')。 - 単一文には
correct()、複数文にはcorrect_batch()を呼び出します。 - 戻り値は辞書形式です:
{ "source": "元の文", "target": "修正後の文", "errors": [("誤り語", "正しい語", 位置), ...] } - 軽量なKenLMアプローチでは、以下のことも可能です:
- カスタム混乱リストを読み込んで再現率・適合率を向上。
- カスタム固有名詞辞書を読み込んで名前固有の修正を実施。
- メモリ制限がある場合はより小さな言語モデルに切り替え可能。
- コマンドラインモード(
python -m pycorrector)ではUTF-8テキストファイルをバッチ処理できます。
評価
- リポジトリには、3つの公開中国語補正ベンチマーク(SIGHAN-2015、EC-LAW、MCSC)での評価スクリプトが含まれています。
- メトリクスは文単位の精度・再現率(F1)です。READMEのテーブルには各モデルの平均F1、各データセットごとのスコア、使用GPU、およびQPS(1秒あたりのクエリ数)が記載されています。
デモとリソース
- オンラインデモは https://www.mulanai.com/product/corrector/ に、HuggingFace Spaceは https://huggingface.co/spaces/shibing624/pycorrector にホストされています。
- 例題スクリプト(
examples/*/demo.py)は、各モデルタイプの簡単な使い方を示しています。 - ドキュメント、モデルカード、中国語補正ガイドはリポジトリのWikiおよびリンクされた論文から入手可能です。
誰が使うべきか
- 中国語入力メソッドエディタ、OCR/ASR後処理、音声→テキストパイプライン、検索クエリのクリーニングを構築する開発者。
- 中国語スペル補正手法を比較する研究者。
- Pythonアプリケーション内で即時利用可能な中国語文法・スペルチェックツールが必要な人。
上記のすべての情報はプロジェクトのREADMEから直接引用しており、外部の仮定は一切加えていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト