bab2min/kiwipiepy
Python API for Kiwi
What it solves
Kiwipiepy is a Korean morphological analyzer that breaks down text into its constituent morphemes (the smallest units of meaning) and assigns part-of-speech (POS) tags to them. It addresses the challenge of processing the complex agglutinative nature of the Korean language, providing tools to handle typos, dialects, and custom vocabulary.
How it works
It provides a Python API for the Kiwi morphological analyzer. The system uses a dictionary-based approach with support for user-defined words and rules. It includes specialized logic for handling Korean-specific linguistic features such as "saisiot" (intercalary 's') and various typo correction modes (basic, continual, and lengthening). It also supports OOV (Out-of-Vocabulary) detection using either rule-based or lightweight character-based models.
Who it’s for
Developers and data scientists working on Natural Language Processing (NLP) for Korean text, including those building search engines, chatbots, or text analysis tools that require precise tokenization and POS tagging.
Highlights
- Advanced Typo Correction: Supports multiple modes to fix basic typos, combined consonants/vowels (continual), and elongated vowels for emphasis (lengthening).
- Customizable Dictionary: Allows adding user words, including verbs and adjectives with automatic conjugation handling, and supports words containing spaces.
- Dialect Support: Includes basic analysis capabilities for various Korean dialects (e.g., Jeju, Gyeongsang, Jeolla) and archaic Korean.
- Flexible Tokenization: Offers options for handling "saisiot" and compatible Jamo output for better compatibility with other systems.
- OOV Detection: Uses a character-based model to prevent unknown words from being incorrectly split into meaningless fragments.
Related
- Project
- Project
- Project
- Project
- Project