Hướng dẫn phát hiện ngôn ngữ cho Python

Nhiệm vụ Trình phát hiện ngôn ngữ MediaPipe cho phép bạn xác định ngôn ngữ của một đoạn văn bản. Các có hướng dẫn cho bạn cách sử dụng Trình phát hiện ngôn ngữ với Python. Mã mẫu được mô tả trong các hướng dẫn này, có trên GitHub.

Bạn có thể xem công việc này trong thực tế bằng cách xem demo. Để biết thêm thông tin về tính năng, kiểu máy và các lựa chọn cấu hình của nhiệm vụ này, xem phần Tổng quan.

Ví dụ về mã

Mã ví dụ cho Trình phát hiện ngôn ngữ cung cấp cách triển khai hoàn chỉnh của mã này công việc bằng Python để bạn tham khảo. Mã này giúp bạn kiểm thử công việc này và bắt đầu xây dựng tính năng phát hiện ngôn ngữ của riêng bạn. Bạn có thể xem, chạy và chỉnh sửa Trình phát hiện Ngôn ngữ mã ví dụ chỉ bằng trình duyệt web.

Thiết lập

Phần này mô tả các bước chính để thiết lập môi trường phát triển và mã dự án cụ thể để sử dụng Trình phát hiện ngôn ngữ. Để biết thông tin chung về thiết lập môi trường phát triển để sử dụng các tác vụ MediaPipe, bao gồm yêu cầu về phiên bản nền tảng, hãy xem Hướng dẫn thiết lập cho Python.

Gói

Trình phát hiện ngôn ngữ sử dụng gói pip mediapipe. Bạn có thể cài đặt phần phụ thuộc này bằng các tính năng sau:

$ python -m pip install mediapipe

Nhập

Nhập các lớp sau để truy cập vào các hàm tác vụ của Trình phát hiện ngôn ngữ:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

Mẫu

Nhiệm vụ Trình phát hiện ngôn ngữ MediaPipe cần một mô hình đã huấn luyện tương thích với công việc. Để biết thêm thông tin về các mô hình đã huấn luyện hiện có cho Trình phát hiện ngôn ngữ, hãy xem phần Mô hình tổng quan về nhiệm vụ.

Chọn và tải mô hình xuống rồi lưu trữ trong thư mục dự án:

model_path = '/absolute/path/to/language_detector.tflite'

Chỉ định đường dẫn của mô hình bằng đối tượng BaseOptions model_asset_path như sau:

base_options = BaseOptions(model_asset_path=model_path)

Tạo việc cần làm

Tác vụ Trình phát hiện ngôn ngữ MediaPipe sử dụng hàm create_from_options để thiết lập công việc. Hàm create_from_options chấp nhận các giá trị cho cấu hình để đặt các tuỳ chọn của trình phát hiện. Bạn cũng có thể bắt đầu tác vụ bằng cách sử dụng hàm factory create_from_model_path. create_from_model_path sẽ chấp nhận một đường dẫn tương đối hoặc tuyệt đối đến tệp mô hình được huấn luyện. Để biết thêm thông tin về cách định cấu hình tác vụ, hãy xem Tuỳ chọn cấu hình.

Mã sau đây minh hoạ cách tạo và định cấu hình tác vụ này.

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

Các lựa chọn về cấu hình

Tác vụ này có các lựa chọn cấu hình sau cho các ứng dụng Python:

Tên lựa chọn Mô tả Khoảng giá trị Giá trị mặc định
max_results Đặt số lượng tối đa tùy chọn của các dự đoán ngôn ngữ có điểm số cao nhất thành lợi nhuận. Nếu giá trị này nhỏ hơn 0, thì hàm sẽ trả về tất cả kết quả có sẵn. Bất kỳ số dương nào -1
score_threshold Đặt ngưỡng điểm số dự đoán ghi đè ngưỡng điểm được cung cấp trong siêu dữ liệu của mô hình (nếu có). Những kết quả thấp hơn giá trị này sẽ bị từ chối. Số thực bất kỳ Chưa đặt
category_allowlist Đặt danh sách mã ngôn ngữ được phép (không bắt buộc). Nếu ô trống, các dự đoán ngôn ngữ có mã ngôn ngữ không nằm trong nhóm này sẽ là đã lọc ra. Lựa chọn này loại trừ lẫn nhau với category_denylist và sử dụng cả hai đều dẫn đến lỗi. Chuỗi bất kỳ Chưa đặt
category_denylist Đặt danh sách mã ngôn ngữ không được phép (không bắt buộc). Nếu các dự đoán ngôn ngữ không trống, có mã ngôn ngữ nằm trong nhóm này sẽ được lọc bị loại. Lựa chọn này loại trừ lẫn nhau với category_allowlist và sử dụng cả hai đều dẫn đến lỗi. Chuỗi bất kỳ Chưa đặt

Chuẩn bị dữ liệu

Trình phát hiện ngôn ngữ hoạt động với dữ liệu văn bản (str). Tác vụ này sẽ xử lý việc nhập dữ liệu xử lý trước, bao gồm cả mã hoá và xử lý trước tensor. Tất cả xử lý trước được xử lý trong hàm detect. Không cần trước khi xử lý trước thêm văn bản đầu vào.

input_text = 'The input text to be classified.'

Chạy tác vụ

Trình phát hiện ngôn ngữ sử dụng hàm detect để kích hoạt suy luận. Ngôn ngữ thì tức là trả về các ngôn ngữ có thể dùng cho văn bản nhập.

Mã sau đây minh hoạ cách thực thi quá trình xử lý bằng tác vụ mô hình.

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

Xử lý và hiện kết quả

Trình phát hiện ngôn ngữ xuất ra một LanguageDetectorResult bao gồm danh sách dự đoán ngôn ngữ cùng với xác suất của những dự đoán đó. Sau đây là ví dụ về dữ liệu đầu ra của tác vụ này:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Kết quả này thu được bằng cách chạy mô hình trên văn bản đầu vào: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

Để xem ví dụ về mã cần thiết để xử lý và trực quan hoá kết quả của công việc này, hãy xem Ứng dụng mẫu Python.