everyday

Cách đếm từ và ký tự (vì sao công cụ ra số khác nhau)

Bởi Numbrixiya EditorialĐã xuất bản: Đã cập nhật: 4 phút đọc

Tiếng Việt gắn dấu trên từng âm tiết, nên “ký tự” dễ bị hiểu sai nếu công cụ đếm code point thay vì grapheme. Bộ đếm từ nêu rõ phương pháp: Intl.Segmenter theo locale đang dùng khi có, chuẩn hóa Unicode NFC, ký tự theo grapheme, và loại dấu độ rộng bằng không khỏi tổng ký tự. Dán mẫu dưới đây: bạn sẽ thấy 14 từ, 56 ký tự có khoảng trắng, 43 không khoảng trắng, 2 câu, 1 đoạn và 1 dòng.

Dấu tiếng Việt và biên giới từ

Mỗi âm tiết thường tách bằng khoảng trắng, nên đếm theo khoảng trắng và Segmenter thường gần nhau hơn nhiều ngôn ngữ Âu. Vấn đề hay gặp là dấu: chữ tiếng sau NFC là 5 ký tự grapheme. Nếu bộ soạn thảo đếm code point chưa chuẩn hóa, cùng một chữ có thể dài hơn trên giấy. Trước khi cắt tiêu đề “còn thừa một ký tự”, hãy hỏi giới hạn dùng mô hình nào.

Emoji và ký tự ẩn từ chat cũng đẩy tổng. “Có khoảng trắng” gồm khoảng trắng; “không khoảng trắng” bỏ chúng. Cả hai không nên cộng ZWSP dán từ tin nhắn.

Từ là gì ở đây

Khi có Segmenter, từ là phân đoạn từ vựng của locale, không phải “mọi thứ giữa hai khoảng trắng.” Khi thiếu Segmenter, nhánh dự phòng dùng mẫu Unicode và vẫn bỏ dấu câu thuần. Điều này hữu ích khi câu trộn số, tên riêng tiếng Anh, hoặc emoji.

Ví dụ đã kiểm: mẫu tiếng Việt

Xin chào thế giới. Đây là ví dụ ngắn cho công cụ đếm từ.

Với locale vi, thư viện trên site báo 14 từ, 56 ký tự có khoảng trắng, 43 không khoảng trắng, 2 câu, 1 đoạn, 1 dòng. Đọc 200 TPM: 5 giây. Nói 130 TPM: 7 giây. Công thức: ceil(từ ÷ TPM × 60). Mười bốn từ ở 200 TPM chưa tới một phần mười phút; làm tròn lên giải thích vài giây trên màn hình.

Câu, đoạn và dòng

Câu theo phân đoạn câu khi có Segmenter. Đoạn là khối không rỗng ngăn bởi dòng trống. Dòng theo Enter trong ô: xuống dòng mềm trên màn hình vẫn là một dòng cho tới khi bạn bấm Enter.

Ví dụ hai đoạn

Đoạn một.

Đoạn hai có thêm nhiều từ ở đây.

Kết quả: 10 từ, 2 câu, 2 đoạn, 3 dòng. Từ đoạn xuất hiện 2 lần trong danh sách lặp. Công cụ bỏ qua dòng trống sẽ báo ít dòng hơn dù số từ giống nhau. Nếu bài tập nhà trường đếm dòng, hãy thống nhất luôn quy tắc dòng trống.

Vì sao số liệu lệch

  1. Quy tắc biên từ khác nhau.
  2. Mô hình ký tự khác (grapheme, code point, UTF-16).
  3. Ký tự ẩn có được tính hay không.
  4. Có chuẩn hóa NFC hay không.
  5. Giới hạn SMS: đoạn GSM 160 không cùng ngân sách với UCS-2 70.

Khi so hai bộ đếm, đổi một biến mỗi lần: dọn ký tự ẩn, chuẩn hóa, rồi mới so từ.

Từ lặp không có danh sách dừng

Danh sách từ lặp nhiều nhất chỉ gộp chữ hoa/thường theo locale và xếp theo tần suất thô. Không loại “là” hay “của.” Dùng cho bản nháp và soát lỗi, không phải SEO nhồi từ.

Mèo mèo MÈO chó chó chim

mèo ra 3 lần, chó 2 lần; chim không vào vì chỉ một lần. Chữ MÈO gộp với mèo nhờ gấp chữ theo locale.

Cách dùng công cụ

  1. Mở đếm từ.
  2. Gõ hoặc dán văn bản (dir="auto" theo hướng nội dung).
  3. Chỉnh TPM đọc và nói nếu khán giả khác trung bình.
  4. Tùy chọn: giới hạn ký tự (preset SMS hoặc số riêng).
  5. Sao chép thống kê khi cần tóm tắt.

Dán khối lớn được trì hoãn nhẹ để trang không đơ. Không gửi lên máy chủ. Bạn có thể dán bài tập, caption hoặc tin dài và xem kết quả ngay.

Sai lầm thường gặp

So tổng mà không so phương pháp. Lệch gần như luôn là định nghĩa.

Cắt theo mô hình sai. Grapheme versus code point đổi phần còn lại trong hạn mức.

Tin thời gian đọc là cam kết. TPM chỉ là giả định. Đổi khi đọc to hoặc khán giả chậm hơn.

Quên Enter đôi. Điều đó thêm đoạn và dòng.

Tin giới hạn mạng xã hội không có nguồn. Ưu tiên giới hạn có tài liệu công khai.

Thử ngay

Dán mẫu “Xin chào thế giới”, xác nhận 14 / 56 / 43, rồi dòng mèo và chó để xem từ lặp. Hạ TPM nói và xem thời gian nói tăng trong khi tổng từ giữ nguyên. Nếu số không khớp, tìm ký tự ẩn trước khi nghi ngờ bộ đếm.

Câu hỏi thường gặp

Vì sao hai bộ đếm cho tổng khác nhau với cùng một đoạn?

Chúng thường lệch về định nghĩa từ (gạch nối, viết tắt, emoji) và ký tự là grapheme hay code point. Hãy so phương pháp, không chỉ số lớn trên đầu trang.

Emoji có tính một ký tự ở đây không?

Có khi có Intl.Segmenter. Tổng ký tự dùng cụm grapheme, nên một emoji hoặc chữ có dấu đếm như một ký hiệu nhìn thấy. Dấu độ rộng bằng không bị loại khỏi tổng.

Khác gì giữa ký tự có khoảng trắng và không khoảng trắng?

Có khoảng trắng gồm grapheme khoảng trắng. Không khoảng trắng bỏ chúng. Cả hai đều loại ký tự định dạng độ rộng bằng không.

Thời gian đọc và nói ước lượng ra sao?

Giây = ceil(từ ÷ TPM × 60). Mặc định 200 TPM đọc và 130 TPM nói. Bạn đổi được cả hai tốc độ trong công cụ.

Văn bản của tôi có lên máy chủ không?

Không. Bộ đếm chạy trên trình duyệt và không lưu những gì bạn gõ.

Có nên tin giới hạn của mạng xã hội không?

Chỉ khi sản phẩm ghi rõ. Ở đây có preset SMS đã kiểm chứng (160 GSM và 70 UCS-2) và giới hạn tùy chỉnh.