Xử lý tiếng Việt API
Bỏ dấu tiếng Việt, chuyển văn bản TCVN3 (ABC), VNI-Windows sang Unicode, chuỗi gõ Telex / VNI thành chữ, chuẩn hoá dấu, tách và sắp xếp họ tên.
API xử lý tiếng Việt gom các phép chuyển đổi mà phần mềm tiếng Việt luôn cần. remove_accents chuyển “Tiếng Việt” thành “Tieng Viet” (thêm slug=true để làm URL). to_unicode chuyển văn bản gõ bằng font TCVN3 / ABC cũ (.VnTime: “ViÖt Nam”) hoặc font VNI-Windows (“Vieät Nam”) sang Unicode; với from=auto API tự nhận diện bảng mã, giúp sửa file Word, Excel cũ và dữ liệu xuất từ hệ thống cũ.
telex và vni_typing chuyển chuỗi phím gõ thành chữ (“Tieengs Vieetj” → “Tiếng Việt”, “Tie6ng1” → “Tiếng”), hữu ích cho ô tìm kiếm và bàn phím không có bộ gõ. normalize dựng lại chữ dạng tổ hợp NFD (hay gặp trong file từ macOS) và đặt dấu thống nhất theo kiểu cũ (hòa, thúy) hoặc kiểu mới (hoà, thuý) với tone_style=new, để cùng một từ luôn so sánh bằng nhau.
split_name tách họ tên thành họ, tên đệm và tên (nhận biết họ kép như Tôn Thất) và sửa viết hoa; gửi mỗi dòng một tên để xử lý hàng loạt. sort_names sắp xếp danh sách theo kiểu Việt Nam: theo tên, rồi tên đệm, rồi họ, đúng thứ tự chữ cái tiếng Việt (a ă â … đ …).
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
action | body|query | string | không | remove_accents | remove_accents, to_unicode, telex, vni_typing, normalize, split_name hoặc sort_names. |
text | body|query | string | có | Văn bản (tối đa 200.000 ký tự). Với họ tên: mỗi dòng một tên. | |
from | body|query | string | không | auto | Với to_unicode: auto, tcvn3 hoặc vni. |
tone_style | body|query | string | không | old | old (hòa) hoặc new (hoà). |
names | body | array | không | Với sort_names: mảng họ tên (hoặc mỗi dòng một tên trong text). | |
slug | body|query | boolean | không | Với remove_accents: trả về dạng slug URL. |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/vn-text" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"action":"to_unicode","text":"Vieät Nam"}'const res = await fetch('https://apibox.io.vn/v1/vn-text', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"action": "to_unicode",
"text": "Vieät Nam"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/vn-text",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"action": "to_unicode", "text": "Vieät Nam"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-text');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"action":"to_unicode","text":"Vieät Nam"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"action": "to_unicode",
"from": "vni",
"detected": true,
"length": 8,
"result": "Việt Nam"
}
Ứng dụng
- Chuyển tài liệu, dữ liệu cũ gõ bằng TCVN3 / VNI sang Unicode
- Tìm kiếm không dấu và tạo URL slug
- Sắp xếp danh sách lớp, danh sách nhân viên theo tên
- Chuẩn hoá họ tên, địa chỉ trước khi lọc trùng
Hỏi đáp
Chữ hoa trong TCVN3 có chuyển được không?
Chữ hoa có dấu của TCVN3 được vẽ bằng font riêng (.VnTimeH) dùng chung mã với chữ thường, nên sẽ ra chữ thường; chỉ Ă Â Đ Ê Ô Ơ Ư có mã riêng.
Đặt dấu kiểu cũ hay kiểu mới?
Cả hai đều đúng; kiểu cũ (hòa, thúy) phổ biến hơn trong thực tế và là mặc định. tone_style=new đặt dấu ở nguyên âm thứ hai của oa, oe, uy.
Họ tên được sắp xếp thế nào?
Theo tên trước, rồi đến tên đệm và họ, theo thứ tự chữ cái tiếng Việt, như danh sách ở trường học và công ty.
API liên quan
So sánh văn bản
So sánh hai đoạn văn bản theo dòng, từ, ký tự, câu hoặc JSON; nhận danh sách thay đổi, tỉ lệ giống nhau và bản diff dạng unified.
a-bTạo slug
Chuyển tiêu đề thành slug URL gọn gàng: bỏ dấu tiếng Việt (cả chữ đ), tuỳ chọn ký tự phân cách, giữ chữ hoa và giới hạn độ dài.
123Thống kê văn bản
Đếm số từ, ký tự, câu, đoạn và dòng; ước tính thời gian đọc và thời gian nói; liệt kê các từ xuất hiện nhiều nhất trong văn bản.