polyglot 소개 — 자연어 처리의 다국어 파이프라인
polyglot 소개
다국어 자연어 처리를 하다 보면, 라이브러리마다 지원 언어 수가 달라서 "이 언어는 됐는데 저 언어는 안 돼" 하는 상황을 자주 만나요. polyglot은 그러한 번거로움을 줄이기 위해 만든 자연어 파이프라인으로, 수십~수백 개 언어를 한 API 아래서 처리하는 데 집중해요.
지원하는 작업과 언어 수
| 작업 | 지원 언어 수 |
|---|---|
| 토큰화 (Tokenization) | 165 |
| 언어 감지 (Language detection) | 196 |
| 개체명 인식 (Named Entity Recognition) | 40 |
| 품사 태깅 (Part of Speech Tagging) | 16 |
| 감성 분석 (Sentiment Analysis) | 136 |
| 단어 임베딩 (Word Embeddings) | 137 |
| 형태소 분석 (Morphological analysis) | 135 |
| 음역 (Transliteration) | 69 |
다국어 애플리케이션을 만들 때 언어별로 다른 파이프라인을 유지하는 대신, 이 한 도구로 대부분의 작업을 통합할 수 있어요. GPLv3 라이선스 아래 배포되는 자유 소프트웨어이고, 프로젝트 문서는 http://polyglot.readthedocs.org 에서 볼 수 있어요.
시작하기
Text 클래스와 Word 클래스가 핵심 진입점이에요. 문장 하나를 Text로 감싸면 언어·단어·문장·품사·개체명·감성 등이 전부 딸려 나와요.
from polyglot.text import Text, Word