Thêm dấu tiếng Việt API
Khôi phục dấu cho tiếng Việt gõ không dấu (“xin chao cac ban” → “xin chào các bạn”) dựa trên từ điển và tần suất âm tiết, không cần AI.
API thêm dấu biến văn bản tiếng Việt gõ không dấu, thường gặp trong tin nhắn SMS, chat, cơ sở dữ liệu cũ hay tên sản phẩm, thành tiếng Việt có dấu đầy đủ: Ngan hang Nha nuoc vua giam lai suat → Ngân hàng Nhà nước vừa giảm lãi suất. Mỗi cụm từ không dấu được giải cùng lúc bằng quy hoạch động: API ưu tiên chuỗi tạo thành từ có trong từ điển (hai đến bốn âm tiết), sau đó tới các âm tiết phổ biến nhất.
Chữ hoa được giữ nguyên (Ha Noi → Hà Nội, CONG TY → CÔNG TY), dấu câu và chữ số không đổi, từ không phải tiếng Việt giữ như cũ. Với alternatives=1–5, API liệt kê các cách đọc khác cho từng âm tiết còn nhập nhằng để giao diện cho người dùng chọn lại (ban: bạn / bán / bàn).
API chạy trên danh sách từ và bảng tần suất, không dùng mô hình AI, chỉ mất vài mili giây. Kết quả tốt với cụm từ thông dụng và tên riêng; câu ngắn hoặc lạ có thể cần người kiểm tra lại. Văn bản đã có dấu một phần vẫn dùng được: âm tiết đã có dấu được giữ nguyên và giúp chọn dấu cho các âm tiết bên cạnh.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
text | body|query | string | có | Văn bản tiếng Việt không dấu (tối đa 20.000 ký tự). | |
alternatives | body|query | number | không | 0 | Số cách đọc khác liệt kê cho mỗi âm tiết nhập nhằng (0–5). |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/vn-diacritics" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Ngan hang Nha nuoc vua giam lai suat dieu hanh","alternatives":2}'const res = await fetch('https://apibox.io.vn/v1/vn-diacritics', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"text": "Ngan hang Nha nuoc vua giam lai suat dieu hanh",
"alternatives": 2
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/vn-diacritics",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"text": "Ngan hang Nha nuoc vua giam lai suat dieu hanh", "alternatives": 2},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-diacritics');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"text":"Ngan hang Nha nuoc vua giam lai suat dieu hanh","alternatives":2}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"input": "Ngan hang Nha nuoc vua giam lai suat dieu hanh",
"result": "Ngân hàng Nhà nước vừa giảm lãi suất điều hành",
"syllables_changed": 10,
"ambiguous_syllables": 8,
"alternatives": [
{
"word": "Ngân",
"position": 0,
"options": [
"ngân",
"ngắn",
"ngăn"
]
},
{
"word": "vừa",
"position": 19,
"options": [
"vừa",
"vua",
"vựa"
]
},
{
"word": "lãi",
"position": 28,
"options": [
"lai",
"lại",
"lãi"
]
}
],
"note": "Accents are chosen from a dictionary and syllable frequencies; ambiguous words (ban: bạn / bán / bàn) may need a human check."
}
Ứng dụng
- Sửa tên sản phẩm, địa chỉ nhập không dấu
- Giúp tin nhắn SMS, chat dễ đọc hơn
- Khôi phục dấu cho dữ liệu xuất từ hệ thống cũ
- Gợi ý văn bản có dấu khi người dùng đang gõ
Hỏi đáp
Độ chính xác thế nào?
Cụm từ thông dụng phần lớn được thêm dấu đúng; từ ngắn nhập nhằng có thể sai, vì vậy API có thêm phương án thay thế (alternatives).
Có dùng AI không?
Không, API dùng từ điển và tần suất âm tiết với quy hoạch động nên nhanh và cho kết quả ổn định.
Gửi văn bản đã có một ít dấu được không?
Được. Âm tiết đã có dấu được giữ nguyên, chỉ thêm dấu cho phần còn lại, ví dụ “Hôm nay troi dep qua” → “Hôm nay trời đẹp quá”.
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.