WeTextProcessing, including TN & ITN
Project description
Text Normalization & Inverse Text Normalization
0. Brief Introduction
WeTextProcessing: Production First & Production Ready Text Processing Toolkit
0.1 Text Normalization
0.2 Inverse Text Normalization
1. How To Use
1.1 Quick Start:
# install
pip install WeTextProcessing
# tn usage
>>> from tn.chinese.normalizer import Normalizer
>>> normalizer = Normalizer()
>>> normalizer.normalize("2.5平方电线")
# itn usage
>>> from itn.chinese.inverse_normalizer import InverseNormalizer
>>> invnormalizer = InverseNormalizer()
>>> invnormalizer.normalize("二点五平方电线")
1.2 Advanced Usage:
DIY your own rules && Deploy WeTextProcessing with cpp runtime !!
For users who want modifications and adapt tn/itn rules to fix badcase, please try:
git clone https://github.com/wenet-e2e/WeTextProcessing.git
cd WeTextProcessing
# `overwrite_cache` will rebuild all rules according to
# your modifications on tn/chinese/rules/xx.py (itn/chinese/rules/xx.py).
# After rebuild, you can find new far files at `$PWD/tn` and `$PWD/itn`.
python normalize.py --text "2.5平方电线" --overwrite_cache
python inverse_normalize.py --text "二点五平方电线" --overwrite_cache
Once you successfully rebuild your rules, you can deploy them either with your installed pypi packages:
# tn usage
>>> from tn.chinese.normalizer import Normalizer
>>> normalizer = Normalizer(cache_dir="PATH_TO_GIT_CLONED_WETEXTPROCESSING/tn")
>>> normalizer.normalize("2.5平方电线")
# itn usage
>>> from itn.chinese.inverse_normalizer import InverseNormalizer
>>> invnormalizer = InverseNormalizer(cache_dir="PATH_TO_GIT_CLONED_WETEXTPROCESSING/itn")
>>> invnormalizer.normalize("二点五平方电线")
Or with cpp runtime:
cmake -B build -S runtime -DCMAKE_BUILD_TYPE=Release
cmake --build build
# tn usage
cache_dir=PATH_TO_GIT_CLONED_WETEXTPROCESSING/tn
./build/processor_main --tagger $cache_dir/zh_tn_tagger.fst --verbalizer $cache_dir/zh_tn_verbalizer.fst --text "2.5平方电线"
# itn usage
cache_dir=PATH_TO_GIT_CLONED_WETEXTPROCESSING/itn
./build/processor_main --tagger $cache_dir/zh_itn_tagger.fst --verbalizer $cache_dir/zh_itn_verbalizer.fst --text "二点五平方电线"
2. TN Pipeline
Please refer to TN.README
3. ITN Pipeline
Please refer to ITN.README
Discussion & Communication
For Chinese users, you can aslo scan the QR code on the left to follow our offical account of WeNet. We created a WeChat group for better discussion and quicker response. Please scan the personal QR code on the right, and the guy is responsible for inviting you to the chat group.
Or you can directly discuss on Github Issues.
Acknowledge
- Thank the authors of foundational libraries like OpenFst & Pynini.
- Thank NeMo team & NeMo open-source community.
- Thank Zhenxiang Ma, Jiayu Du, and SpeechColab organization.
- Referred Pynini for reading the FAR, and printing the shortest path of a lattice in the C++ runtime.
- Referred TN of NeMo for the data to build the tagger graph.
- Referred ITN of chinese_text_normalization for the data to build the tagger graph.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file WeTextProcessing-0.1.2.tar.gz.
File metadata
- Download URL: WeTextProcessing-0.1.2.tar.gz
- Upload date:
- Size: 699.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f473fe1762dccd5ce8457ea552d3561664a1e3063788b387ae918d10c9ebfe5
|
|
| MD5 |
292888e7ff027db2395e7a7d53867a16
|
|
| BLAKE2b-256 |
614ade3742a53a27235f7f901de71e5a0835d5a107a46e8816d0b49b3ce8a98c
|
File details
Details for the file WeTextProcessing-0.1.2-py3-none-any.whl.
File metadata
- Download URL: WeTextProcessing-0.1.2-py3-none-any.whl
- Upload date:
- Size: 747.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e862db29ed90b0ce5f5bcf4d696479c6d60248b08d62daa4620f230975d83c
|
|
| MD5 |
4e696b3c1445fdc7e2fa967d59484743
|
|
| BLAKE2b-256 |
1084ff2d2464f3c53aa9e04ca83034bcbb89d98b2e938d257446daa512315f20
|