Nhận Diện Ngôn Ngữ AI
Công cụ nhận diện ngôn ngữ miễn phí sử dụng AI. Tự động xác định ngôn ngữ từ văn bản với trí tuệ nhân tạo. Hỗ trợ 20+ ngôn ngữ với điểm tin cậy. Chạy offline trong trình duyệt.
Về Công Cụ Nhận Diện Ngôn Ngữ
Công cụ Nhận Diện Ngôn Ngữ của chúng tôi sử dụng thuật toán xử lý ngôn ngữ tự nhiên tiên tiến để tự động xác định ngôn ngữ của bất kỳ văn bản nào. Chạy hoàn toàn trong trình duyệt của bạn, nó có thể phát hiện hơn 200 ngôn ngữ với độ chính xác cao sử dụng thư viện franc.
Công cụ phân tích các mẫu, bộ ký tự và đặc điểm ngôn ngữ trong văn bản của bạn để xác định ngôn ngữ nào được viết. Nó cung cấp không chỉ ngôn ngữ chính, mà còn các khả năng thay thế được xếp hạng theo độ tương đồng. Mọi thứ chạy cục bộ trong trình duyệt, vì vậy văn bản của bạn hoàn toàn riêng tư và không bao giờ rời khỏi thiết bị của bạn.
Công cụ nhận diện ngôn ngữ này có gửi văn bản của tôi đến máy chủ nào không?
Không. Nhận Diện Ngôn Ngữ AI chạy 100% trong trình duyệt bằng mô hình nhận dạng ngôn ngữ thống kê hoặc nơ-ron nhỏ gọn, được tải qua WebAssembly. Văn bản của bạn không bao giờ được tải lên, ghi nhật ký hay chia sẻ với bên thứ ba — bạn có thể kiểm chứng bằng cách mở DevTools, chuyển sang tab Network và xác nhận không có yêu cầu nào gửi đi khi nhấn Phát Hiện. Điều này giúp công cụ an toàn cho email mật, bản nháp bị rò rỉ, bằng chứng pháp lý hoặc bất kỳ nội dung riêng tư nào bạn chỉ cần biết ngôn ngữ. Mô hình được tải một lần ở lần dùng đầu rồi lưu cache cục bộ nên các lần sau là tức thì và hoàn toàn ngoại tuyến.
Mô hình nhận dạng ngôn ngữ nào được sử dụng?
Lõi mặc định là phiên bản FastText lid.176 của Facebook hoặc một mô hình lai n-gram + transformer tương đương trên Hugging Face (ví dụ facebook/fasttext-language-identification hay papluca/xlm-roberta-base-language-detection). FastText lid.176 phủ 176 ngôn ngữ trong mô hình 130 MB tí hon và đạt trên 95% độ chính xác trên văn bản Wikipedia và Common Crawl. Các biến thể XLM-RoBERTa phủ khoảng 20 ngôn ngữ tài nguyên cao và vượt 99% với đầu vào dài. Công cụ ưu tiên FastText nhỏ hơn để cân bằng riêng tư và tốc độ, đồng thời hiển thị top 3 ứng viên kèm xác suất để bạn nhận ra trường hợp pha trộn ngôn ngữ.
Văn bản của tôi ngắn cỡ nào vẫn được nhận diện chính xác?
Độ chính xác phụ thuộc rất nhiều vào độ dài. Với 5 từ hoặc ít hơn, nhận dạng ngôn ngữ thực sự khó — chuỗi ngắn như "hello world" hay danh từ riêng còn mơ hồ với cả con người. FastText lid.176 đạt khoảng 70% chính xác ở 10 ký tự, 85% ở 50 ký tự và 95% trên 200 ký tự. Dưới 20 ký tự, mô hình thường nhầm những ngôn ngữ gần gũi như Tây Ban Nha vs Bồ Đào Nha, Na Uy vs Đan Mạch hay Indonesia vs Mã Lai. Để có kết quả tốt nhất, hãy dán ít nhất một câu trọn vẹn (khoảng 50 đến 100 ký tự). Nếu đầu vào buộc phải ngắn, hãy theo dõi danh sách top 3 thay vì tin vào lựa chọn đầu — khi hai xác suất hàng đầu chênh dưới 10 điểm, hãy coi dự đoán là không chắc chắn.
Có phát hiện được tài liệu pha trộn nhiều ngôn ngữ trong cùng đoạn không?
Bộ phân loại một nhãn mặc định chỉ trả về ngôn ngữ chiếm ưu thế cho toàn bộ đầu vào, phù hợp với đoạn đơn ngữ nhưng dễ gây hiểu lầm khi chuyển mã. Với văn bản pha trộn, hãy bật chế độ cấp câu: đầu vào được tách theo dấu câu và mỗi câu được phát hiện độc lập. Đây cũng là cách hoạt động của các công cụ theo dòng như CLD3 (Compact Language Detector v3 của Google). Phát hiện chuyển mã thực sự ở cấp token đòi hỏi mô hình gán nhãn chuỗi được huấn luyện trên kho song ngữ (LinCE, MULTI-CONER), nặng hơn và không kèm mặc định. Với nội dung song ngữ do người dùng tạo, chế độ cấp câu bắt được hầu hết các chuyển đổi.

Vì sao bộ nhận diện đôi khi nhầm tiếng Trung, Nhật và Hàn?
Nhận dạng CJK đặc biệt khó vì kanji Nhật và hanzi Trung chia sẻ hàng nghìn ký tự, còn Hanja Hàn xuất hiện trong văn bản trang trọng. Heuristic thuần ký tự hoạt động với hiragana, katakana và hangul (mỗi loại duy nhất một ngôn ngữ), nhưng văn bản chủ yếu là chữ Hán có thể mơ hồ. FastText lid.176 nhìn n-gram ký tự và ranh giới từ, đạt ~97% với mỗi ngôn ngữ CJK riêng lẻ khi đầu vào đủ dài, nhưng một câu tiếng Nhật ngắn chỉ chứa kanji có thể bị nhầm thành tiếng Trung. Chỉ cần thêm một ký tự hiragana hay katakana, mô hình sẽ nghiêng dứt khoát về tiếng Nhật, nên đầu vào dài hầu như luôn được giải đúng.
Khác biệt giữa FastText và bộ phát hiện dựa trên transformer như XLM-RoBERTa?
FastText biểu diễn mỗi từ thành túi n-gram ký tự rồi trung bình hóa qua một bộ phân loại tuyến tính nông — về cơ bản là hồi quy logistic trên đặc trưng dưới-từ, giúp nó cực nhỏ (dưới 200 MB) và cực nhanh (hàng triệu từ mỗi giây trên CPU). XLM-RoBERTa là transformer đầy đủ 270M tham số tiền huấn luyện trên 100 ngôn ngữ và tinh chỉnh cho nhận dạng ngôn ngữ; nó chậm hơn nhiều (chậm khoảng 100 lần mỗi token) và chiếm 3 GB đĩa, nhưng nắm bắt tín hiệu ngữ cảnh mà FastText bỏ lỡ như thứ tự từ, cú pháp và từ vay hiếm. Với phát hiện ngôn ngữ phía trình duyệt cho đoạn văn, FastText là mặc định đúng — trần độ chính xác trên văn bản thực đã gần 99% và tiết kiệm băng thông rất lớn.
Tôi có thể chạy bộ phát hiện với tăng tốc WebGPU không?
Bản thân FastText không hưởng lợi từ GPU vì vòng lặp lõi của nó chủ yếu là tra cứu hashtable thưa và số học số nguyên, nơi CPU/WASM đã tối ưu. Các bộ phát hiện dựa trên transformer (XLM-RoBERTa, Bert-base-multilingual) thì hưởng lợi rõ rệt — trên WebGPU, phát hiện theo lô 100 văn bản ngắn giảm từ ~8 giây (WASM CPU) xuống dưới 1 giây (GPU tích hợp). Transformers.js tự chọn backend WebGPU trên Chrome 113+ và Edge khi có sẵn, nếu không sẽ dùng WebAssembly có SIMD. Với hầu hết người dùng, FastText trên WASM là lựa chọn tốt hơn; chỉ chuyển sang WebGPU + transformer khi cần độ chính xác tối đa trên đầu vào dài và có trình duyệt mới.
Vì sao bộ phát hiện trả về mã ISO 639-1 như "en" thay vì "English"?
ISO 639-1 là chuẩn mã hai chữ cái do Thư viện Quốc hội Hoa Kỳ duy trì và được hầu hết khung quốc tế hóa sử dụng (Content-Language HTTP, thuộc tính lang HTML, Unicode CLDR, API locale của trình duyệt). Nó ngắn gọn, không nhập nhằng và thân thiện với máy — "zh" luôn là tiếng Trung, "ja" luôn là tiếng Nhật, bất kể ứng dụng đang hiển thị bằng ngôn ngữ gì. Với ngôn ngữ không có mã 639-1 (ví dụ Cebuano, Sicilia), mô hình lùi về ISO 639-3 (ba chữ: "ceb", "scn"). Công cụ hiển thị cả mã và tên dễ đọc theo ngôn ngữ giao diện của bạn. Nếu chỉ cần nhãn người-đọc, đầu ra JSON có cả hai trường để bạn chọn theo pipeline phía sau.
