WorksApplications/Sudachi
A Japanese Tokenizer for Business
Sudachi – 일본어 형태소 분석기
Sudachi는 Java로 작성된 오픈소스 일본어 토크나이저 및 형태소 분석기입니다. 일본어 텍스트를 형태소로 분할하고, 품사 태그를 할당하며, 출력을 정규화합니다(예: 표기 변형 처리, 문자 변환, 일반적인 오타 처리). 이 프로젝트는 Works Applications Co., Ltd.에서 유지 관리되며 Apache 2.0 라이선스 하에 배포됩니다.
핵심 기능
- 다중 길이 분할 – 내장된 세 가지 모드(A, B, C)를 통해 분할의 세밀도를 선택할 수 있습니다. 가장 짧은 UniDic 단위(A)부터 고유명사 스타일 청크(C)까지, 중간 단계(B)도 제공됩니다.
- 대형 사전 – 사전은 UniDic과 NEologd 확장 기반으로 구축되어 있으며, 핵심 세트 외에도 더 많은 고유명사를 추가하는 선택적 small 및 full 사전을 제공합니다.
- 플러그인 시스템 – 플러그인을 연결하여 입력 정규화 수정, 사전에 없는(OOV) 단어 처리, 단어 연결 비용 조정, 경로 후처리(예: 인명 수정)를 수행할 수 있습니다. 몇 가지 완성된 플러그인이 함께 제공됩니다(문자 대소문자/너비 정규화, 장음 부호 처리, 요미가나 제거 등).
- 사용자 사전 – 시스템 사전을 교체하지 않고도 런타임에 사용자 지정 사전을 추가할 수 있습니다.
- 명령줄 도구 –
java -jar sudachi-XX.jar실행 파일은 사전 선택, 출력 형식, 분할 모드, 디버깅을 위한 다양한 플래그를 받아들입니다. - Java 라이브러리 – 동일한 엔진을 Maven(
com.worksap.nlp:sudachi)을 통해 프로그래매틱으로 사용할 수 있습니다. Javadoc이 전체 API를 제공합니다.
일반적인 사용법 (CLI)
# basic tokenisation (default core dictionary)
echo 東京都へ行く | java -jar sudachi-0.8.2.jar
# show dictionary form, reading, and extra metadata
echo 東京都へ行く | java -jar sudachi-0.8.2.jar -a
# select a specific dictionary
java -jar sudachi-0.8.2.jar -s '{"systemDict":"system_small.dic"}'
# choose segmentation mode
java -jar sudachi-0.8.2.jar -m C # named‑entity style
통합 포인트
- Maven 의존성 – Java 프로젝트에
sudachi아티팩트를 추가하고 API를 호출하여 실시간 분석을 수행합니다. - Elasticsearch 플러그인 – 별도의 저장소(
elasticsearch-sudachi)를 통해 Sudachi를 Elasticsearch에 연결하여 일본어 전체 텍스트 검색을 수행할 수 있습니다. - 다른 언어 포트 – 동일한 알고리즘이 Python과 Rust(
sudachi.rs)에 재구현되었습니다.
개발 상태
- 0.8.x 시리즈는 불안정으로 표시되며, 패치 릴리스 사이에 호환성이 깨지는 변경 사항이 발생할 수 있으므로 정확한 버전을 고정하는 것이 권장됩니다.
- v0.8.2에서는 새로운 바이너리 사전 형식(V1)이 도입되었습니다. 업그레이드 시에는 일치하는 시스템 사전에 대해 사용자 사전을 다시 구축해야 합니다.
- 저자가 나열한 향후 작업에는 속도 개선, 더 많은 플러그인, 더 풍부한 분할 정보, 동의어 사전과의 통합이 포함됩니다.
라이선스
Sudachi는 Apache License 2.0 하에 배포되어 자유로운 사용, 수정 및 배포를 허용합니다.
위 세부 사항은 모두 저장소의 README에서 직접 가져온 것입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- Dispatch
- 프로젝트