Âm tiết tiếng Việt & luật thơ API
Tách âm tiết tiếng Việt thành phụ âm đầu, âm đệm, âm chính, âm cuối, thanh; phiên âm IPA ba miền, tìm từ cùng vần và kiểm tra luật thơ.
Phân tích văn bản tiếng Việt theo từng âm tiết: phụ âm đầu, âm đệm, âm chính, âm cuối và thanh điệu, âm tiết có hợp lệ không (quy tắc chính tả c/k/q, g/gh, ng/ngh, âm cuối p, t, c, ch chỉ đi với thanh sắc hoặc nặng, vần không tồn tại), thanh bằng hay trắc và phiên âm IPA cho giọng Bắc (Hà Nội), Trung (Huế) và Nam (Sài Gòn), thanh điệu ghi bằng số Chao.
action=rhyme so sánh một âm tiết với các âm tiết khác (trùng vần hoàn toàn, cùng vần chính, vần thông) hoặc liệt kê các âm tiết cùng vần trong từ điển tiếng Việt, lọc theo thanh bằng / trắc. action=poem kiểm tra bài thơ: lục bát (luật bằng trắc chữ 2-4-6 và 2-4-6-8, chữ 6 và 8 câu bát khác thanh ngang / huyền, chữ 6 câu lục vần với chữ 6 câu bát, chữ 8 câu bát vần với câu lục tiếp theo) hoặc thơ thất ngôn Đường luật (nhị tứ lục phân minh, đối, niêm, vần bằng cuối câu 1, 2, 4, 6, 8).
Âm vị học dựa theo Thompson (1965), Kirby (2011) và bảng phương ngữ của Wikipedia "Vietnamese phonology"; phiên âm mang tính gần đúng, mỗi miền một giá trị. Dữ liệu không được lưu lại.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
text | query|body | string | không | Văn bản cần phân tích (tối đa 500 âm tiết). | |
action | query|body | string | không | analyze | analyze, rhyme hoặc poem. |
syllable | query|body | string | không | rhyme: âm tiết cần tìm vần. | |
compare | query|body | string | không | rhyme: các âm tiết cần so sánh, cách nhau dấu phẩy (nếu không có thì tìm trong từ điển). | |
tone_class | query|body | string | không | same | rhyme: same, bang, trac hoặc any. |
poem | body | string | không | poem: mỗi câu một dòng (hoặc cách nhau bằng "/"). | |
form | query|body | string | không | auto | poem: auto, luc_bat hoặc that_ngon. |
dialect | query|body | string | không | all | north, central, south hoặc all. |
Ví dụ
curl "https://apibox.io.vn/v1/vn-syllable?text=Ti%E1%BA%BFng%20Vi%E1%BB%87t" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/vn-syllable?text=Ti%E1%BA%BFng%20Vi%E1%BB%87t', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/vn-syllable?text=Ti%E1%BA%BFng%20Vi%E1%BB%87t",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/vn-syllable?text=Ti%E1%BA%BFng%20Vi%E1%BB%87t');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"action": "analyze",
"count": 2,
"valid": true,
"syllables": [
{
"syllable": "Tiếng",
"valid": true,
"onset": "t",
"medial": null,
"nucleus": "iê",
"coda": "ng",
"rhyme_spelling": "iêng",
"tone": "sac",
"tone_vi": "sắc",
"tone_class": "trac",
"tone_class_vi": "trắc",
"checked": false,
"ipa": {
"north": "tiəŋ35",
"central": "tiən24",
"south": "tiːn35"
}
},
{
"syllable": "Việt",
"valid": true,
"onset": "v",
"medial": null,
"nucleus": "iê",
"coda": "t",
"rhyme_spelling": "iêt",
"tone": "nang",
"tone_vi": "nặng",
"tone_class": "trac",
"tone_class_vi": "trắc",
"checked": true,
"ipa": {
"north": "viət21",
"central": "viət31",
"south": "jiːt21"
}
}
],
"ipa": {
"north": "tiəŋ35 viət21",
"central": "tiən24 viət31",
"south": "tiːn35 jiːt21"
},
"tone_pattern": "TT",
"references": [
"L. C. Thompson, A Vietnamese Grammar (1965)",
"J. Kirby, \"Vietnamese (Hanoi Vietnamese)\", JIPA 41(3):381–392 (2011)",
"Wikipedia, \"Vietnamese phonology\" (tone values by dialect)"
],
"note": "Broad, approximate transcription with one value per dialect; tones in Chao digits."
}
Ứng dụng
- Dạy chính tả và thanh điệu trong app học tiếng Việt
- Tìm vần cho lời bài hát, slogan, thơ
- Kiểm tra bài làm thơ lục bát trong app học Ngữ văn
- Chuẩn bị dữ liệu phiên âm cho nghiên cứu TTS, NLP
Hỏi đáp
API phiên âm những giọng nào?
Giọng Bắc (Hà Nội), Trung (Huế) và Nam (Sài Gòn), ví dụ "Việt" = viət21 / viət31 / jiːt21. Phiên âm ở mức gần đúng.
Thế nào là hai chữ vần với nhau?
exact = cùng âm đệm, âm chính, âm cuối; rhyme = cùng âm chính và âm cuối (hoa / xa); near = cùng âm cuối, âm chính gần nhau (vần thông, nhau / dâu). Khi kiểm tra thơ, hai chữ còn phải cùng thanh bằng.
Kiểm tra được thể thơ nào?
Lục bát và thơ thất ngôn Đường luật (tứ tuyệt, bát cú). form=auto chọn luật thất ngôn khi mọi câu đều có 7 chữ.
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.