Skip to main content

Japanese text normalizer for mecab-neologd

Project description

neologdn pyversion latest version license

neologdn is a Japanese text normalizer for mecab-neologd.

The normalization is based on the neologd’s rules:

Contributions are welcome!

NOTE: Installing this module requires C++11 compiler.


$ pip install neologdn


import neologdn
# => 'ハンカクカナ'
# => '全角記号!?@#'
# => '全角記号例外「・」'
# => '長音短縮ウェーイ'
# => 'チルダ削除ウェイ'
# => 'いろんなハイフン-'
neologdn.normalize("   PRML  副 読 本   ")
# => 'PRML副読本'
neologdn.normalize(" Natural Language Processing ")
# => 'Natural Language Processing'
neologdn.normalize("かわいいいいいいいいい", repeat=6)
# => 'かわいいいいいい'
neologdn.normalize("無駄無駄無駄無駄ァ", repeat=1)
# => '無駄ァ'
neologdn.normalize("1995〜2001年", tilde="normalize")
# => '1995~2001年'
neologdn.normalize("1995~2001年", tilde="normalize_zenkaku")
# => '1995〜2001年'
neologdn.normalize("1995〜2001年", tilde="ignore")  # Don't convert tilde
# => '1995〜2001年'
neologdn.normalize("1995〜2001年", tilde="remove")
# => '19952001年'
neologdn.normalize("1995〜2001年")  # Default parameter
# => '19952001年'


# Sample code from
import normalize_neologd

%timeit normalize(normalize_neologd.normalize_neologd)
# => 1 loop, best of 3: 18.3 s per loop

import neologdn
%timeit normalize(neologdn.normalize)
# => 1 loop, best of 3: 9.05 s per loop

neologdn is about x2 faster than sample code.

details are described as the below notebook:


Apache Software License.


Contributions are welcome! See:


0.5.1 (2021-05-02)

  • Improve performance of shorten_repeat function (Many thanks @yskn67)

  • Add tilde option to normalize function

0.4 (2018-12-06)

  • Add shorten_repeat function, which shortening contiguous substring. For example: neologdn.normalize(“無駄無駄無駄無駄ァ”, repeat=1) -> 無駄ァ

0.3.2 (2018-05-17)

  • Add option for suppression removal of spaces between Japanese characters

0.2.2 (2018-03-10)

  • Fix bug (daku-ten & handaku-ten)

  • Support mac osx 10.13 (Many thanks @r9y9)

0.2.1 (2017-01-23)

  • Fix bug (Check if a previous character of daku-ten character is in maps) (Many thanks @unnonouno)

0.2 (2016-04-12)

  • Add lengthened expression (repeating character) threshold

0.1.2 (2016-03-29)

  • Fix installation bug (2016-03-19)

  • Support Windows

  • Explicitly specify to -std=c++11 in build (Many thanks @id774)

0.1.1 (2015-10-10)

Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neologdn-0.5.1.tar.gz (57.2 kB view hashes)

Uploaded source

Built Distributions

neologdn-0.5.1-cp39-cp39-win_amd64.whl (42.6 kB view hashes)

Uploaded cp39

neologdn-0.5.1-cp39-cp39-win32.whl (39.3 kB view hashes)

Uploaded cp39

neologdn-0.5.1-cp38-cp38-win_amd64.whl (42.7 kB view hashes)

Uploaded cp38

neologdn-0.5.1-cp38-cp38-win32.whl (39.4 kB view hashes)

Uploaded cp38

neologdn-0.5.1-cp37-cp37m-win_amd64.whl (50.3 kB view hashes)

Uploaded cp37

neologdn-0.5.1-cp37-cp37m-win32.whl (43.0 kB view hashes)

Uploaded cp37

neologdn-0.5.1-cp36-cp36m-win_amd64.whl (54.3 kB view hashes)

Uploaded cp36

neologdn-0.5.1-cp36-cp36m-win32.whl (47.0 kB view hashes)

Uploaded cp36

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page