Thống kê văn bản API
Đế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.
Gửi text (trường JSON hoặc form, hoặc body văn bản thô) để nhận thống kê: characters (số ký tự Unicode), characters_no_spaces, bytes_utf8, words, unique_words, sentences, paragraphs, lines và average_word_length. Từ được nhận diện theo chữ cái và chữ số Unicode, nên văn bản tiếng Việt có dấu được đếm chính xác.
reading_time_seconds được tính theo tốc độ wpm từ mỗi phút (mặc định 230, từ 50 đến 1000), còn speaking_time_seconds theo 150 từ mỗi phút. top_words liệt kê các từ dài hơn 2 ký tự xuất hiện nhiều nhất (không phân biệt hoa thường); đặt top từ 0 đến 100 (mặc định 10).
Văn bản tối đa 2.000.000 ký tự (body request tối đa 5 MB).
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
text | body | string | có | Văn bản cần phân tích (tối đa 2.000.000 ký tự). Có thể gửi dạng body văn bản thô. | |
wpm | body|query | number | không | 230 | Tốc độ đọc, số từ mỗi phút (50-1000). |
top | body|query | number | không | 10 | Số từ xuất hiện nhiều nhất cần trả về (0-100). |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/text-stats" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"APIBox offers small developer APIs. They run on Cloudflare Workers!\n\nEach API is fast and simple. APIs are easy to use.","top":5}'const res = await fetch('https://apibox.io.vn/v1/text-stats', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"text": "APIBox offers small developer APIs. They run on Cloudflare Workers!\n\nEach API is fast and simple. APIs are easy to use.",
"top": 5
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/text-stats",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"text": "APIBox offers small developer APIs. They run on Cloudflare Workers!\n\nEach API is fast and simple. APIs are easy to use.", "top": 5},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/text-stats');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"text":"APIBox offers small developer APIs. They run on Cloudflare Workers!\\n\\nEach API is fast and simple. APIs are easy to use.","top":5}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"characters": 119,
"characters_no_spaces": 98,
"bytes_utf8": 119,
"words": 21,
"unique_words": 20,
"sentences": 4,
"paragraphs": 2,
"lines": 3,
"reading_time_seconds": 6,
"speaking_time_seconds": 9,
"average_word_length": 4.48,
"top_words": [
{
"word": "apis",
"count": 2
},
{
"word": "apibox",
"count": 1
},
{
"word": "offers",
"count": 1
},
{
"word": "small",
"count": 1
},
{
"word": "developer",
"count": 1
}
]
}
Ứng dụng
- Hiển thị số từ và thời gian đọc trên bài viết blog
- Kiểm tra giới hạn độ dài của bài luận, mô tả, tin nhắn SMS
- Tìm các từ khoá xuất hiện nhiều nhất trong bài viết để tối ưu SEO
- Ước tính thời lượng bài phát biểu hoặc kịch bản video
Hỏi đáp
Thời gian đọc được tính thế nào?
Lấy số từ chia cho tốc độ đọc, mặc định 230 từ mỗi phút, làm tròn lên theo giây. Thay đổi bằng tham số wpm.
Có đếm đúng từ tiếng Việt không?
Có. Từ là chuỗi chữ cái và chữ số Unicode, nên các ký tự có dấu vẫn thuộc cùng một từ.
Các từ phổ biến như "và", "là" có bị loại khỏi top words không?
Chỉ các từ 1 hoặc 2 ký tự bị loại; không có danh sách stop word nên những từ thông dụng dài hơn vẫn có thể xuất hiện.
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.
AaĐổi kiểu chữ
Chuyển văn bản sang chữ thường, CHỮ HOA, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE hay dot.case.