Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/langmaninternet/VietnameseTextNormalizer
Thư viện chuẩn hóa văn bản Tiếng Việt
https://github.com/langmaninternet/VietnameseTextNormalizer
Last synced: 9 days ago
JSON representation
Thư viện chuẩn hóa văn bản Tiếng Việt
- Host: GitHub
- URL: https://github.com/langmaninternet/VietnameseTextNormalizer
- Owner: langmaninternet
- License: mit
- Created: 2018-09-28T10:25:50.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-10T16:09:26.000Z (over 1 year ago)
- Last Synced: 2024-08-01T13:19:23.944Z (3 months ago)
- Language: C++
- Homepage:
- Size: 151 MB
- Stars: 172
- Watchers: 12
- Forks: 44
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Thư viện chuẩn hóa văn bản Tiếng Việt (Có sẵn wrapper cho Python)
Installation
------------- Build
```sh#Require python_dev and g++
# For Python2 Need setup path to python2_dev include and g++
#apt install python2-dev
#apt install g++
export PYTHON2_DEV_INCULE=/usr/include/python2.7
export GPP_COMPILER=g++
cp -f MakefilePython2 Makefile
make -j# For Python3 : Need setup path to python3_dev include and g++
# sudo apt install python3-dev
# sudo apt install g++
export PYTHON3_DEV_INCULE=/usr/include/python3.8
export GPP_COMPILER=g++
cp -f MakefilePython3 Makefile
make -j# For Python3 Mac OSX : Need setup path to python3_dev include and g++
#brew install python3-dev
#brew install g++
# and setup PATH to include and lib
# Cellar is my username, you must change to your user
export PYTHON3_DEV_INCULE=/usr/local/Cellar/[email protected]/3.9.1_3/Frameworks/Python.framework/Versions/3.9/include
export PYTHON3_LIB_PATH=/usr/local/Cellar/[email protected]/3.9.1_3/Frameworks/Python.framework/Versions/3.9/lib
export PYTHON3_LIB_NAME=python3.9
export GPP_COMPILER=g++
cp -f MakefilePython3MACOS Makefile
make -j```
- Hướng dẫn sử dụng
+ Đặt file VietnameseTextNormalizer.so cùng thư mục chạy với file UnitTestVietnameseTextNormalizer.py
+ Chạy file UnitTestVietnameseTextNormalizer.py- Trong thư viện :
+ Normalize : hàm chuẩn hóa dữ liệu Tiếng Việt cơ bản, chuẩn hóa i ngắn y dài đối với tên địa danh trong nước dựa theo văn bản hành chính nhà nước- Note :
+ Nếu bạn truyền vào chuỗi/object ansi-utf8 thì hàm sẽ trả về ansi-utf8
+ Nếu bạn truyền vào chuỗi/object unicode thì hàm sẽ trả về unicode
+ Nếu bạn truyền vào 1 số nguyên hoặc loại object khác thì sẽ trả về luôn đối tượng bạn truyền vàoSử dụng
------------```python
# -*- coding: utf-8 -*-
import VietnameseTextNormalizer
a=VietnameseTextNormalizer.Normalize(u"UCS2 : Tôi làm việ ở ban công ngệ FPT, tôi là người viêt nam. hôm nay tôi ko thích ăn mì tôm. tôi làm đc 2 bài tập.");
print (a)a=VietnameseTextNormalizer.Normalize(" UTF8 : Tôi làm việ ở ban công ngệ FPT, tôi là người viêt nam. hôm nay tôi ko thích ăn mì tôm. tôi làm đc 2 bài tập.");
print (a)```
Tính năng
------------
Thư viện chuẩn hóa text Tiếng Việt cho python, có 1 số tính năng sau :
+ Chuẩn hóa dấu về kiểu phổ thông.
Ví dụ : [hoà] -> [hòa]+ Chuẩn hóa các dấu dạng Combining Tone và các encode đặc biệt khác về dạng phổ thông.
Ví dụ : 0x301 Combining Acute Accent+ Xóa các kí tự đặc biệt của HTML còn sót lại .
Ví dụ : dấu cách đặc biệt 0x200B Zero width space+ Điền nốt kí tự và dấu còn thiếu nếu chắc chắn.
Ví dụ :
tôi làm việ ở ban công ngệ FPT, tôi là người viêt nam
-> tôi làm việc ở ban công nghệ FPT, tôi là người việt nam+ Viết hoa 1 số tên địa danh phổ thông ở Việt Nam
+ Sửa lại việc viết sai chính tả ở 1 số vùng miền như : sự việc xẩy ra (Miền Bắc), xe ô tô bổn chỗ (Miền Trung), ...
+ Không làm lỗi cú pháp có sẵn của text
+ Tự động sửa 1 số lỗi khác............
+ Code viết bằng C++, Wraper lại cho python, chạy rất nhanh. 3MB text Utf-8 chỉ cần 0.01s để xử lý (không tính I/O)
Note : Tiêu chí sửa của mình là chỉ sửa khi chắc chắn. Vì thế nên không thể cover được tất cả các trường hợp nhưng mình sẽ update dần dần.