nagisa
A Japanese tokenizer based on recurrent neural networks
What it is and what it does
Nagisa is a Python module that tokenizes and tags Japanese text using neural networks trained on character- and word-level features. It splits Japanese sentences into words and assigns part-of-speech tags (noun, verb, particle, etc.) in a single pass, with output normalized to Unicode NFKC form.
The package is designed for ease of use: import, call tagging() on a string, and receive a result object with .words and .postags attributes. It supports filtering/extracting words by POS tag, adding custom dictionaries, and includes a built-in Japanese stopwords list. Advanced users can train custom models on annotated datasets using the fit() method and load them with a custom Tagger instance.
Use it for:
- Extract nouns, verbs, or other POS categories from Japanese documents for downstream NLP tasks
- Tokenize Japanese text for search indexing, removing particles and auxiliary words via stopword filtering
- Train a domain-specific word segmentation and tagging model on annotated Japanese corpora
- Normalize and parse Japanese user input in chatbots or form processing pipelines
- Analyze Japanese social media or news text to identify named entities or key terms by POS tag
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Nagisa performs Japanese word segmentation and part-of-speech tagging using recurrent neural networks, outputting tokenized words with their grammatical tags.
Yes, if you need Japanese NLP. Nagisa is actively maintained, has no known vulnerabilities, carries a permissive MIT license, and is in the top 5000 PyPI packages by download volume. The medium install friction (neural network dependencies) is a trade-off for having pre-trained models; if you work with Japanese text regularly, the convenience outweighs the setup cost. Not suitable if you need only English or other languages.
Install
nagisa on PyPI
pip
pip install nagisauv
uv add nagisapoetry
poetry add nagisaInstalling nagisa
Before you install
Medium install friction due to dependencies on numpy and DyNet38/DyNet (neural network libraries). Wheels are provided for Python 3.10–3.13 across Linux, macOS, and Windows. Maintenance is active with a recent release (39 days old) and ongoing repository updates.
License in practice
MIT License permits commercial and private use with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install nagisa
import nagisa
text = 'Pythonで簡単に使えるツールです'
words = nagisa.tagging(text)
print(words.words)
print(words.postags)
Requires numpy and DyNet38/DyNet (compiled neural network libraries); installation may take time on first setup.
Verify before relying
- Whether pre-trained models are bundled or require separate download on first use
- Memory and runtime performance characteristics for typical Japanese text volumes
- Compatibility and stability of DyNet38 vs DyNet dependency resolution
Package facts
| License | MIT License (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 4 — six, numpy, DyNet38, DyNet |
| Maintenance | actively maintained — 39 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 823,562/month — #4,967 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nagisa-0.3.0-cp310-cp310-macosx_11_0_arm64.whl; nagisa-0.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; nagisa-0.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; nagisa-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl; nagisa-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl; nagisa-0.3.0-cp310-cp310-win_amd64.whl; nagisa-0.3.0-cp311-cp311-macosx_11_0_arm64.whl; nagisa-0.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; nagisa-0.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; nagisa-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl; nagisa-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl; nagisa-0.3.0-cp311-cp311-win_amd64.whl; nagisa-0.3.0-cp312-cp312-macosx_11_0_arm64.whl; nagisa-0.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; nagisa-0.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; nagisa-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl; nagisa-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl; nagisa-0.3.0-cp312-cp312-win_amd64.whl; nagisa-0.3.0-cp313-cp313-macosx_11_0_arm64.whl; nagisa-0.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
ja-ginzaA pre-trained Japanese NLP model for spaCy that…
permissive · top 15,000 on PyPI
JanomeJanome is a Japanese morphological analyzer…
permissive · top 15,000 on PyPI
jieba3kPerforms Chinese word segmentation, breaking…
unclear · top 15,000 on PyPI
ginzaGiNZA is a Japanese NLP library that performs…
permissive · top 15,000 on PyPI
polyglotPolyglot is a multilingual natural language…
copyleft · top 15,000 on PyPI
tinysegmenterTinySegmenter is a compact Japanese tokenizer…
permissive · top 15,000 on PyPI
soynlpUnsupervised Korean natural language processing…
copyleft · top 15,000 on PyPI
jiebaJieba segments Chinese text into words using…
permissive · top 5,000 on PyPI
wordninjaSplits concatenated words into their…
unclear · top 5,000 on PyPI
mecabPython binding for MeCab, a morphological…
copyleft · top 15,000 on PyPI