metasequoiaime/chinese-ime-lm
面向中文输入法的语言模型:语料、n-gram 统计、字级神经模型,以及判断它们好坏的评测集
해결하는 문제
중국어 입력 방식은 사용자가 병음을 입력할 때 올바른 문자를 선택해야 하는 경우가 많습니다. 이 프로젝트는 전통적인 n-gram 통계와 현대적인 신경망을 모두 사용하여 이러한 선택을 더 정확하게 만드는 언어 모델을 구축합니다. 또한 서로 다른 접근 방식을 공정하게 비교할 수 있도록 공유 평가 세트를 제공합니다.
작동 방식
이 프로젝트에는 주어진 병음에 대해 후보 문자 중에서 결정하는 두 개의 병렬 파이프라인이 있습니다.
- n-gram 경로: 원시 텍스트를 순수 중국어 세그먼트로 정리하고, KenLM을 사용하여 1/2/3-gram 카운트를 구축하며, Viterbi 알고리즘을 사용하여 디코딩합니다.
- 신경망 경로: 깨끗하고 재배포 가능한 말뭉치(C4 및 LCCC)를 가져와 후보 목록의 순위를 다시 매기기 위한 문자 수준의 Transformer를 학습시키고, 소형 int8 모델을 내보냅니다.
두 파이프라인 모두 동일한 평가 세트(25,119개의 단어 수준 및 60개의 문장 수준 사례)로 측정됩니다. 이 평가 세트는 두 가지 미묘한 측정 함정을 포착하도록 신중하게 설계되어 주관적인 변경 사항을 수치 점수로 변환합니다.
신경망 모델은 4.5 MB 및 25.5 MB로 매우 작습니다. 동일한 후보 풀에서 훨씬 더 큰 오픈 모델(Qwen 0.6B/0.8B)과 정면 대결 테스트를 수행했을 때, 소형 모델은 순위 지정 품질에서 이들과 대등하거나 능가했으며, 통계적으로 유의미한 차이는 없었습니다. 진정한 장점은 크기와 지연 시간에 있습니다. 소형 모델은 훨씬 빠르게 실행되고 메모리를 훨씬 적게 사용합니다.
대상 사용자
중국어 입력 방식이나 병음-한자 변환 시스템을 구축하는 개발자, 그리고 아시아 텍스트 입력을 위한 언어 모델을 연구하는 연구자를 위한 것입니다. 휴대폰이나 저사양 장치에서 실행되는 작고 빠른 리랭커(reranker)가 필요한 경우 유용한 참고 자료가 될 것입니다.
주요 특징
- 두 가지 완전하고 비교 가능한 접근 방식: 고전적인 n-gram + Viterbi 및 현대적인 Transformer 리랭커.
- 25,119개의 단어 수준 및 60개의 문장 수준 사례를 포함하는 엄격한 평가 세트와 문서화된 측정 함정.
- 훨씬 더 큰 오픈 소스 모델과 순위 지정 품질에서 경쟁하면서도 크기는 140~380배 작고 속도는 한 자릿수 더 빠른 매우 컴팩트한 신경망 모델(4.5 MB 및 25.5 MB).
- 프로젝트는 스크립트만 배포하며, 말뭉치와 학습된 가중치는 포함되어 있지 않습니다. 깨끗하고 재라이선스가 가능한 말뭉치는
corpus/fetch.py를 통해 가져오며, 학습된 가중치는 Hugging Face에서 Apache-2.0 라이선스로 공개됩니다. unsafe코드가 없고 serde 외에 의존성이 없는 Rust 참조 구현(reference/)을 제공하여 모든 입력 방식에 쉽게 통합할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트