No project description provided
Project description
vina2vi
vina2vi
stands for Vietnamese no accent to Vietnamese,
which is a Python package aiming at helping foreigners decrypt messages
in Vietnamese.
(More precisely, foreigners who already know the basics of the language.)
Among other things, this Python package tries to
- Restore Vietnamese diacrytics
- Translate acronyms, đổi vần, etc.
Installation
Run the following to install:
pip install vina2vi
Alternatively, you can also install from GitHub like this
pip install git+https://gitlab.com/phunc20/vina2vi
Usage
I only work on this project part-time, and work slowly. So this README will get changed fast and a lot. For the moment, there is not much in the package that is super useful. As time goes by, I will add more.
There is an utility function to help tell whether a string contains
non-Vietnamese characters, is_foreign
. As the name suggests,
- If the string contains characters other than the modern Vietnamese alphabets,
then
is_foreign
returnsTrue
- If the string consists exclusively of characters of modern Vietnamese alphabets,
then
is_foreign
returnsFalse
- Languages whose alphabets are a subset of Vietnamese's are thus considered as Vietnamese
- Currently, we do not consider chữ Nôm as Vietnamese; maybe we will in the future
In [1]: from vina2vi.utils import Vietnamese
In [2]: Vietnamese.is_foreign("Российская Федерация\tRossiyskaya Federatsiya")
Out[2]: True
In [3]: Vietnamese.is_foreign("\n\tRossiyskaya Federatsiya")
Out[3]: False
In [4]: Vietnamese.is_foreign("Tôi nói tiếng Việt Nam\t碎呐㗂越南")
Out[4]: True
In [5]: Vietnamese.is_foreign("Tôi nói tiếng Việt Nam\t")
Out[5]: False
In the metrics
subpackage, there is a custom Levenshtein distance as tf.function
and
a related similarity function to measure how close a source string is to a target string.
Here are some examples on how to use them:
import unidecode
import tensorflow as tf
from vina2vi.metrics import (
batch_sim,
batch_lev,
tf_batch_sim,
tf_batch_lev,
)
truths = [
"Cơ sở hạ tầng điện, nước cũng như khu vực đặc biệt phát triển "
"khác đã tăng 4,1% của 31,7% diện tích của tổng diện tích đất có nhiều rừng.",
"Đặc trưng nổi bật nhất của loài này là vây, trong thực tế, "
"vây lưng thứ hai, vây đuôi và vây hậu môn hợp nhất với nhau giống như cá chình.",
"Cái đuôi dài cũng là một nét nổi bật.",
]
preds = []
for sent in truths:
half = len(sent) // 2
pred = unidecode.unidecode(sent[:half]) + sent[half:]
preds.append(pred)
print(f"{truths = }")
print(f"{preds = }")
print()
batch_dist = batch_lev(preds, truths)
print(f"(Py land) {batch_dist = }")
batch_similarity = batch_sim(preds, truths)
print(f"(Py land) {batch_similarity = }")
truths = tf.constant(truths)
preds = tf.constant(preds)
batch_dist = tf_batch_lev(preds, truths)
print(f"(TF land) {batch_dist = }")
batch_similarity = tf_batch_sim(preds, truths)
print(f"(TF land) {batch_similarity = }")
Running the above code prints
truths = ['Cơ sở hạ tầng điện, nước cũng như khu vực đặc biệt phát triển khác đã tăng 4,1% của 31,7% diện tích của tổng diện tích đất có nhiều rừng.', 'Đặc trưng nổi bật nhất của loài này là vây, trong thực tế, vây lưng thứ hai, vây đuôi và vây hậu môn hợp nhất với nhau giống như cá chình.', 'Cái đuôi dài cũng là một nét nổi bật.']
preds = ['Co so ha tang dien, nuoc cung nhu khu vuc dac biet phat trien khac dã tăng 4,1% của 31,7% diện tích của tổng diện tích đất có nhiều rừng.', 'Dac trung noi bat nhat cua loai nay la vay, trong thuc te, vay lung thứ hai, vây đuôi v à vây hậu môn hợp nhất với nhau giống như cá chình.', 'Cai duoi dai cung là một nét nổi bật.']
(Py land) batch_dist = 19.0
(Py land) batch_similarity = 0.9319907236009713
(TF land) batch_dist = <tf.Tensor: shape=(), dtype=float32, numpy=19.0>
(TF land) batch_similarity = <tf.Tensor: shape=(), dtype=float32, numpy=0.9319908>
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
File details
Details for the file vina2vi-0.0.4.dev1.tar.gz
.
File metadata
- Download URL: vina2vi-0.0.4.dev1.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e11188e940a5f180516b1b144e17bdbef46b4a6fe6366609c9c00c911c113f35 |
|
MD5 | a7d1d3b4f99bb78eb3475d379e5cf40d |
|
BLAKE2b-256 | a027627c6b0576e53e3d1acd82e1663ec8172ac73d667ac2aec60c40b67f6a3d |
File details
Details for the file vina2vi-0.0.4.dev1-py3-none-any.whl
.
File metadata
- Download URL: vina2vi-0.0.4.dev1-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b135570b0fd99acbe685511d07b163bc39e83fd7f31c0b65d0fc3d1d977cdb55 |
|
MD5 | 1060d5f97c9a5a304228a962c60c5301 |
|
BLAKE2b-256 | 165fc0bffa7caa7c192d0e0ce6f7185252d104e256b966256098862d676664b3 |