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
  • 프로젝트