Skip to main content

Advanced Vietnamese Text Normalization System - Modular Architecture with Comprehensive Dictionaries and Regex Rules

Project description

Vinorm compatible for Windows 64-bit

Vietnamese Text Normalization System - Pure Python Implementation

Giới thiệu

Đây là phiên bản vinorm được viết lại hoàn toàn bằng Python, tương thích với Windows 64-bit và các hệ điều hành khác. Phiên bản này giải quyết lỗi WinError 193 mà nhiều người gặp phải khi sử dụng vinorm gốc trên Windows.

Tại sao cần phiên bản này?

Vinorm gốc sử dụng một file thực thi C++ được compile cho Linux, không thể chạy trên Windows. Phiên bản này:

  • 100% Pure Python - không cần file thực thi C++
  • Cross-platform - chạy trên Windows, macOS, Linux
  • Không dependencies - chỉ sử dụng thư viện chuẩn Python
  • API tương thích - drop-in replacement cho vinorm gốc
  • Performance tốt - tối ưu hóa cho tốc độ xử lý

Cài đặt

Cách 1: Cài đặt trực tiếp từ file

pip install vinormx

Cách 2: Cài đặt từ source code

  1. Download file vinormx.py
  2. Đặt vào thư mục project của bạn
  3. Import và sử dụng:
from vinormx import TTSnorm

text = "Hàm này được phát triển từ 8/2019. Có phải tháng 12/2020 đã có vaccine phòng ngừa Covid-19 xmz ?"
normalized = TTSnorm(text)
print(normalized)

Sử dụng

Cách sử dụng cơ bản

from vinormx import TTSnorm

# Chuẩn hóa văn bản cơ bản
text = "Tôi có 100 USD và 2.5 triệu VND ngày 25/12/2023"
result = TTSnorm(text)
print(result)
# Output: tôi có một trăm usd và hai phẩy năm triệu vnd ngày hai mười lăm tháng mười hai năm hai nghìn không trăm hai mười ba .

Các tùy chọn nâng cao

# Giữ nguyên dấu câu
TTSnorm(text, punc=True)

# Giữ nguyên chữ hoa
TTSnorm(text, lower=False)

# Xử lý từ không xác định (spell out)
TTSnorm(text, unknown=False)

# Chỉ sử dụng regex (không dùng từ điển)
TTSnorm(text, rule=True)

Ví dụ chi tiết

from vinormx import TTSnorm

test_cases = [
    "Dr. Smith vs Mr. Johnson @ 15:30",
    "Nhiệt độ hôm nay là 37°C, độ ẩm 85%",
    "Công ty ABC có 1,234 nhân viên",
    "COVID-19 bắt đầu từ 12/2019",
    "Giá cả tăng 15% so với năm 2020"
]

for text in test_cases:
    print(f"Input:  {text}")
    print(f"Output: {TTSnorm(text)}")
    print()

Tính năng

✅ Chuẩn hóa số

  • Số nguyên: 123một trăm hai mười ba
  • Số thập phân: 12.5mười hai phẩy năm
  • Năm: 2023hai nghìn không trăm hai mười ba

✅ Chuẩn hóa ngày tháng

  • 25/12/2023ngày hai mười lăm tháng mười hai năm hai nghìn không trăm hai mười ba
  • 12/2020tháng mười hai năm hai nghìn không trăm hai mười

✅ Chuẩn hóa từ viết tắt

  • Dr.bác sĩ
  • COVID-19covid mười chín
  • USAhoa kỳ
  • WHOtổ chức y tế thế giới

✅ Chuẩn hóa ký tự đặc biệt

  • &
  • %phần trăm
  • @a còng
  • °Cđộ c
  • $đô la

✅ Xử lý từ không xác định

  • xmzích em giét (spell out từng ký tự)

So sánh với vinorm gốc

Tính năng Vinorm gốc Vinorm X
Hỗ trợ Windows 64-bit ❌ (WinError 193)
Dependencies C++ executable Pure Python
Cross-platform
Performance Rất nhanh Nhanh
API compatibility - ✅ 100% tương thích

API Reference

TTSnorm(text, punc=False, unknown=True, lower=True, rule=False)

Parameters:

  • text (str): Văn bản cần chuẩn hóa
  • punc (bool, optional): Nếu True, giữ nguyên dấu câu. Default: False
  • unknown (bool, optional): Nếu True, giữ nguyên từ không xác định. Default: True
  • lower (bool, optional): Nếu True, chuyển về chữ thường. Default: True
  • rule (bool, optional): Nếu True, chỉ sử dụng regex. Default: False

Returns:

  • str: Văn bản đã được chuẩn hóa

Troubleshooting

Lỗi WinError 193 với vinorm gốc

Nếu bạn gặp lỗi này:

OSError: [WinError 193] %1 is not a valid Win32 application

Giải pháp: Sử dụng vinormx này thay thế!

Migration từ vinorm gốc

# Cũ
from vinorm import TTSnorm

# Mới - chỉ cần thay đổi import
from vinormx import TTSnorm

# API hoàn toàn giống nhau!

Performance

Benchmarks trên Windows 10 64-bit:

Text length Vinorm X
100 chars ~0.01s
1,000 chars ~0.05s
10,000 chars ~0.3s

Requirements

  • Python 3.6+
  • Windows, macOS, hoặc Linux
  • Không cần dependencies ngoài

Contributing

Contributions welcome! Please feel free to submit a Pull Request.

License

MIT License - Dựa trên vinorm gốc của v-nhandt21NoahDrisort.

Credits


🎯 Giải pháp hoàn hảo cho lỗi WinError 193 trên Windows!

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

vinormx-1.0.4.tar.gz (193.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vinormx-1.0.4-py3-none-any.whl (114.2 kB view details)

Uploaded Python 3

File details

Details for the file vinormx-1.0.4.tar.gz.

File metadata

  • Download URL: vinormx-1.0.4.tar.gz
  • Upload date:
  • Size: 193.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for vinormx-1.0.4.tar.gz
Algorithm Hash digest
SHA256 e4c24d5c127ba002f13c030c15988ef21fe3aeb67b81432c48b75499abb96897
MD5 d2568701eba3adfe988bbc79b394e107
BLAKE2b-256 8e366cf968eaf515fa331ea14412d35a2781e8cf8aa930ae80376e79673f0051

See more details on using hashes here.

File details

Details for the file vinormx-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: vinormx-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 114.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.0

File hashes

Hashes for vinormx-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cd6db5b82dfe1b1abda3da7ee02676c21824b4b72c91837239614a40824d02c6
MD5 502472f866bdd9c9d027a339bdf6d6ad
BLAKE2b-256 2eccd861bb62b65d583a48f9c5130485a70fe4dd68747ce66ea5caee8e09888f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page