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 텍스트 파일을 배치 처리할 수 있습니다.
평가
- 리포지토리에는 세 가지 공개 중국어 보정 벤치마크(SIGHAN-2015, EC-LAW, MCSC)에서 평가할 수 있는 스크립트가 포함되어 있습니다.
- 메트릭은 문장 수준의 정밀도/재현율(F1)입니다. README의 표에는 각 모델의 평균 F1, 데이터셋별 점수, 사용한 GPU, 및 초당 쿼리 수(QPS)가 표시되어 있습니다.
데모 및 리소스
- 온라인 데모는 https://www.mulanai.com/product/corrector/ 에 있으며, HuggingFace Space는 https://huggingface.co/spaces/shibing624/pycorrector 에 있습니다.
- 예제 스크립트(
examples/*/demo.py)는 각 모델 유형의 간단한 사용법을 보여줍니다. - 문서, 모델 카드, 중국어 보정 가이드는 리포지토리의 위키 및 링크된 논문을 통해 이용 가능합니다.
누가 필요할까
- 중국어 입력기 편집기, OCR/ASR 후처리, 음성-텍스트 파이프라인, 검색 쿼리 정제를 개발하는 개발자.
- 중국어 철자 보정 방법을 비교하는 연구자.
- Python 애플리케이션에서 즉시 사용 가능한 중국어 문법/철자 보정기 필요자.
위 정보는 프로젝트의 README에서 직접 인용되었으며, 외부 가정은 전혀 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트