프로젝트 소개
HanLP(Han Language Processing)는 PyTorch와 TensorFlow 2.x 이중 엔진을 기반으로 한 프로덕션 환경용 다국어 자연어 처리 도구 키트입니다. 이 프로젝트의 목표는 최신 NLP 기술의 대중화와 실용화를 실현하는 것이며, 기능 완비, 높은 정확도, 효율적인 성능, 최신 코퍼스, 명확한 아키텍처, 커스터마이징 가능 등의 특징을 갖추고 있습니다.
기능 범위:
- 형태소 분석(조분, 세분)
- 품사 태깅(CTB, PKU, 863 등 표준)
- 개체명 인식(PKU, MSRA, OntoNotes 등 표준)
- 의존 구문 분석(SD, UD, PMT)
- 성분 구문 분석(Chinese Tree Bank)
- 의미 의존 분석(CSDP)
- 의미 역할 표기(Chinese Proposition Bank)
- 추상 의미 표현(CAMR)
- 지시어 해소
- 의미 텍스트 유사도
- 텍스트 스타일 변환
- 키워드 및 구문 추출
- 추출식 및 생성식 자동 요약
- 텍스트 문법 오류 교정
- 텍스트 분류 및 감정 분석
- 언어 감지
- 단어 벡터 및 빈칸 채우기
- 간체/번체 변환, 병음, 신조어 발견, 텍스트 클러스터링(1.x 버전 참고)
다국어 지원: 대규모 다국어 코퍼스 덕분에 HanLP 2.1은 간체/번체 중국어, 영어, 일본어, 러시아어, 프랑스어, 독일어를 포함한 130개 언어에서 10가지 통합 작업 및 다양한 단일 작업을 지원합니다.
두 가지 API 형태:
1. 경량 RESTful API: 크기가 몇 KB에 불과하여 민첩한 개발 및 모바일 애플리케이션 등에 적합하며, GPU 환경이 필요 없고 설치가 간편합니다. Python, Golang, Java 등의 클라이언트를 제공합니다.
2. 대용량 네이티브 API: PyTorch, TensorFlow 등 딥러닝 기술에 의존하며, 전문 NLP 엔지니어, 연구자 및 로컬 대용량 데이터 환경에 적합합니다. Python 3.6~3.10을 요구하며, Windows를 지원하고 유닉스 계열 시스템을 권장합니다. CPU에서 실행할 수 있으며, GPU/TPU 사용을 권장합니다.
모델 유형:
- 다중 작업 모델: 속도가 빠르고 메모리 사용량이 적어 한 번의 호출로 여러 작업을 완료할 수 있습니다.
- 단일 작업 모델: 정확도가 더 높고 유연하며 파이프라인 방식으로 조립할 수 있습니다.
커스터마이징 기능: 효율적인 트라이(Trie) 트리 기반 사용자 정의 사전을 지원하며, 강제, 병합, 보정 세 가지 규칙을 제공합니다. 규칙 효과가 후속 통계 모델에 매끄럽게 적용되어 새로운 도메인에 빠르게 적응할 수 있습니다.
출력 형식: API 종류, 개발 언어 또는 자연어에 관계없이 출력은 JSON 형식으로 통일되며, dict와 호환되는 Document 객체를 반환합니다. 이 객체에는 형태소, 품사, 개체명, 의미 역할, 의존 구문, 의미 의존, 성분 구문 등의 필드가 포함됩니다. Python의 RESTful 및 네이티브 API는 등폭 글꼴 기반 시각화를 지원하여 콘솔에서 언어학적 구조를 직접 표시할 수 있습니다.
또한 프로젝트에서는 사용자 정의 도메인 모델 학습 방법을 제공하며, EMNLP 논문 인용 정보를 함께 제공합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.