Phát hiện ngôn ngữ bằng AI tích hợp sẵn

Xuất bản: ngày 24 tháng 9 năm 2024, Lần cập nhật gần đây nhất: ngày 20 tháng 5 năm 2025

Browser Support

  • Chrome: 138.
  • Edge: not supported.
  • Firefox: not supported.
  • Safari: not supported.

Source

Trước khi dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác, trước tiên, bạn phải xác định ngôn ngữ được dùng trong văn bản đã cho. Trước đây, để dịch, bạn cần tải văn bản lên một dịch vụ đám mây, thực hiện bản dịch trên máy chủ, sau đó tải kết quả xuống.

Language Detector API hoạt động ở phía máy khách, tức là bạn có thể bảo vệ quyền riêng tư của người dùng. Mặc dù có thể gửi một thư viện cụ thể thực hiện việc này, nhưng bạn sẽ cần tải thêm tài nguyên xuống.

Trường hợp sử dụng tính năng phát hiện ngôn ngữ

API Trình phát hiện ngôn ngữ chủ yếu hữu ích trong các trường hợp sau:

  • Xác định ngôn ngữ của văn bản đầu vào để có thể dịch văn bản đó.
  • Xác định ngôn ngữ của văn bản đầu vào để có thể tải mô hình chính xác cho các tác vụ theo ngôn ngữ cụ thể, chẳng hạn như phát hiện nội dung độc hại.
  • Xác định ngôn ngữ của văn bản đầu vào để có thể gắn nhãn chính xác, ví dụ: trong các trang web mạng xã hội trực tuyến.
  • Xác định ngôn ngữ của văn bản đầu vào để giao diện của ứng dụng có thể được điều chỉnh cho phù hợp. Ví dụ: trên một trang web của Bỉ, chỉ hiển thị giao diện phù hợp với người dùng nói tiếng Pháp.

Bắt đầu

Chạy tính năng phát hiện để xem trình duyệt có hỗ trợ Language Detector API hay không.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

Tải mô hình xuống

Tính năng phát hiện ngôn ngữ phụ thuộc vào một mô hình được tinh chỉnh cho nhiệm vụ cụ thể là phát hiện ngôn ngữ. Mặc dù API được tích hợp trong trình duyệt, nhưng mô hình này sẽ được tải xuống theo yêu cầu vào lần đầu tiên một trang web cố gắng sử dụng API. Trong Chrome, mô hình này có kích thước rất nhỏ so với các mô hình khác. Có thể mô hình này đã có sẵn vì các tính năng khác của Chrome cũng dùng mô hình này.

Để xác định xem mô hình đã sẵn sàng sử dụng hay chưa, hãy gọi hàm không đồng bộ LanguageDetector.availability(). Nếu phản hồi cho availability()downloadable, hãy theo dõi tiến trình tải xuống và thông báo cho người dùng, vì quá trình tải xuống có thể mất thời gian.

Để kích hoạt quá trình tải xuống và khởi tạo trình phát hiện ngôn ngữ, hãy kiểm tra hoạt động kích hoạt của người dùng. Sau đó, hãy gọi hàm không đồng bộ LanguageDetector.create().

const detector = await LanguageDetector.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
});

Chạy trình phát hiện ngôn ngữ

Language Detector API sử dụng một mô hình xếp hạng để xác định ngôn ngữ nào có khả năng được dùng nhất trong một đoạn văn bản nhất định. Xếp hạng là một loại học máy, trong đó mục tiêu là sắp xếp danh sách các mục. Trong trường hợp này, Language Detector API sẽ xếp hạng các ngôn ngữ theo xác suất từ cao nhất đến thấp nhất.

Hàm detect() có thể trả về kết quả đầu tiên, câu trả lời có khả năng nhất hoặc lặp lại các đề xuất được xếp hạng với mức độ tin cậy. Đối tượng này được trả về dưới dạng danh sách các đối tượng {detectedLanguage, confidence}. Mức confidence được biểu thị bằng một giá trị trong khoảng từ 0.0 (độ tin cậy thấp nhất) đến 1.0 (độ tin cậy cao nhất).

const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Sân chơi API

Thử nghiệm Language Detector API trong sân chơi API của chúng tôi. Nhập văn bản được viết bằng nhiều ngôn ngữ vào vùng văn bản.

Chính sách về quyền, iframe và Web Worker

Theo mặc định, Language Detector API chỉ có sẵn cho các cửa sổ cấp cao nhất và các iframe cùng nguồn của chúng. Bạn có thể uỷ quyền truy cập vào API cho iframe nhiều nguồn gốc bằng cách sử dụng thuộc tính Permission Policy allow="":

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Language Detector API by
  setting the `allow="language-detector"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>

Language Detector API không có trong Web Worker. Điều này là do sự phức tạp của việc thiết lập một tài liệu có trách nhiệm cho mỗi worker để kiểm tra trạng thái Chính sách về quyền.

Chia sẻ ý kiến phản hồi của bạn

Chúng tôi muốn biết bạn đang xây dựng những gì bằng Language Detector API. Chia sẻ trang web và ứng dụng web của bạn với chúng tôi trên X, YouTubeLinkedIn.

Nếu bạn có ý kiến phản hồi về cách Chrome triển khai, hãy báo cáo lỗi Chromium.