Tác vụ Trình phân loại văn bản MediaPipe cho phép bạn phân loại văn bản thành một tập hợp các danh mục đã xác định, chẳng hạn như cảm xúc tích cực hoặc tiêu cực. Các danh mục được xác định trong quá trình huấn luyện mô hình. Tác vụ này hoạt động trên dữ liệu văn bản bằng mô hình học máy (ML) dưới dạng dữ liệu tĩnh và xuất ra danh sách các danh mục cũng như điểm xác suất của các danh mục đó.
Bắt đầu
Bắt đầu sử dụng tác vụ này bằng cách làm theo một trong các hướng dẫn triển khai sau đây cho nền tảng bạn đang sử dụng:
- Android – Ví dụ về mã
- Python – Ví dụ về mã
- Web – Ví dụ về mã – Hướng dẫn
- iOS – Mã mẫu
Các hướng dẫn dành riêng cho nền tảng này sẽ hướng dẫn bạn cách triển khai cơ bản cho nhiệm vụ này, bao gồm cả mô hình được đề xuất và ví dụ về mã với các tuỳ chọn cấu hình được đề xuất.
Thông tin chi tiết về việc cần làm
Phần này mô tả các tính năng, dữ liệu đầu vào, dữ liệu đầu ra và tuỳ chọn cấu hình của tác vụ này.
Tính năng
- Xử lý văn bản đầu vào – Hỗ trợ tạo mã thông báo ngoài biểu đồ cho các mô hình không có mã thông báo trong biểu đồ
- Nhiều đầu phân loại – Mỗi đầu có thể sử dụng bộ danh mục riêng
- Ngôn ngữ bản đồ nhãn – Đặt ngôn ngữ dùng cho tên hiển thị
- Ngưỡng điểm – Lọc kết quả dựa trên điểm dự đoán
- Kết quả phân loại top-k – Lọc số lượng kết quả phát hiện
- Nhãn danh sách cho phép và danh sách từ chối – Chỉ định các danh mục đã phát hiện
Dữ liệu đầu vào của việc cần làm | Kết quả của tác vụ |
---|---|
Trình phân loại văn bản chấp nhận loại dữ liệu đầu vào sau:
|
Công cụ phân loại văn bản sẽ xuất ra một danh sách các danh mục chứa:
|
Các lựa chọn về cấu hình
Tác vụ này có các tuỳ chọn cấu hình sau:
Tên tuỳ chọn | Mô tả | Phạm vi giá trị | Giá trị mặc định |
---|---|---|---|
displayNamesLocale |
Đặt ngôn ngữ của nhãn để sử dụng cho tên hiển thị được cung cấp trong siêu dữ liệu của mô hình tác vụ, nếu có. Mặc định là en đối với tiếng Anh. Bạn có thể thêm nhãn đã bản địa hoá vào siêu dữ liệu của mô hình tuỳ chỉnh bằng cách sử dụng API Trình ghi siêu dữ liệu TensorFlow Lite
| Mã ngôn ngữ | vi |
maxResults |
Đặt số lượng kết quả phân loại có điểm số cao nhất tối đa (không bắt buộc) để trả về. Nếu < 0, tất cả kết quả có sẵn sẽ được trả về. | Bất kỳ số dương nào | -1 |
scoreThreshold |
Đặt ngưỡng điểm số dự đoán sẽ ghi đè ngưỡng được cung cấp trong siêu dữ liệu mô hình (nếu có). Kết quả thấp hơn giá trị này sẽ bị từ chối. | Bất kỳ float nào | Chưa đặt |
categoryAllowlist |
Đặt danh sách tên danh mục được phép (không bắt buộc). Nếu không trống, kết quả phân loại có tên danh mục không có trong tập hợp này sẽ bị lọc ra. Hệ thống sẽ bỏ qua tên danh mục trùng lặp hoặc không xác định.
Tuỳ chọn này không thể dùng cùng với categoryDenylist và việc sử dụng cả hai sẽ dẫn đến lỗi. |
Chuỗi bất kỳ | Chưa đặt |
categoryDenylist |
Đặt danh sách tên danh mục không được phép (không bắt buộc). Nếu không trống, kết quả phân loại có tên danh mục nằm trong tập hợp này sẽ bị lọc ra. Hệ thống sẽ bỏ qua tên danh mục trùng lặp hoặc không xác định. Tuỳ chọn này tương đối độc lập với categoryAllowlist và việc sử dụng cả hai sẽ dẫn đến lỗi. |
Chuỗi bất kỳ | Chưa đặt |
Mô hình
Bạn có thể sử dụng Trình phân loại văn bản với nhiều mô hình học máy. Bắt đầu với mô hình mặc định, được đề xuất cho nền tảng mục tiêu của bạn khi bạn bắt đầu phát triển bằng tác vụ này. Các mô hình khác hiện có thường đánh đổi giữa hiệu suất, độ chính xác, độ phân giải và yêu cầu về tài nguyên, đồng thời trong một số trường hợp, bao gồm cả các tính năng bổ sung.
Các mô hình được huấn luyện trước được huấn luyện để phân tích cảm xúc và dự đoán liệu cảm xúc của văn bản đầu vào là tích cực hay tiêu cực. Các mô hình được huấn luyện trên tập dữ liệu SST-2 (Stanford Sentiment Treebank), bao gồm các bài đánh giá phim được gắn nhãn là tích cực hoặc tiêu cực. Xin lưu ý rằng các mô hình này chỉ hỗ trợ tiếng Anh. Vì các mô hình này được huấn luyện trên một tập dữ liệu về bài đánh giá phim, nên bạn có thể thấy chất lượng của văn bản về các chủ đề khác bị giảm.
Mô hình phân loại BERT (nên dùng)
Mô hình này sử dụng cấu trúc dựa trên BERT (cụ thể là mô hình MobileBERT) và được đề xuất vì độ chính xác cao. Tệp này chứa siêu dữ liệu cho phép tác vụ thực hiện việc tạo mã thông báo BERT ngoài biểu đồ.
Tên mẫu thiết bị | Hình dạng đầu vào | Loại lượng tử hoá | Phiên bản |
---|---|---|---|
BERT-classifier | [1x128],[1x128],[1x128] | Dynamic range (Dải động) | Mới nhất |
Mô hình nhúng từ trung bình
Mô hình này sử dụng cấu trúc nhúng từ trung bình. Mô hình này có kích thước mô hình nhỏ hơn và độ trễ thấp hơn nhưng độ chính xác dự đoán thấp hơn so với bộ phân loại BERT. Việc tuỳ chỉnh mô hình này thông qua quá trình huấn luyện bổ sung cũng nhanh hơn so với việc huấn luyện bộ phân loại dựa trên BERT. Mô hình này chứa siêu dữ liệu cho phép tác vụ thực hiện việc tạo mã thông báo biểu thức chính quy ngoài biểu đồ.
Tên mẫu thiết bị | Hình dạng đầu vào | Loại lượng tử hoá | Phiên bản |
---|---|---|---|
Dữ liệu nhúng từ trung bình | 1 x 256 | Không có (float32) | Mới nhất |
Điểm chuẩn tác vụ
Dưới đây là điểm chuẩn tác vụ cho toàn bộ quy trình dựa trên các mô hình được huấn luyện trước ở trên. Kết quả độ trễ là độ trễ trung bình trên Pixel 6 khi sử dụng CPU / GPU.
Tên mô hình | Độ trễ CPU | Độ trễ GPU |
---|---|---|
Nhúng từ trung bình | 0,14 mili giây | - |
BERT-classifier | 57,68 mili giây | - |
Mô hình tuỳ chỉnh
Bạn có thể sử dụng mô hình máy học tuỳ chỉnh với tác vụ này nếu muốn cải thiện hoặc thay đổi các chức năng của các mô hình được cung cấp. Bạn có thể sử dụng Trình tạo mô hình để sửa đổi các mô hình hiện có hoặc tạo mô hình bằng các công cụ như TensorFlow. Các mô hình tuỳ chỉnh dùng với MediaPipe phải ở định dạng TensorFlow Lite và phải bao gồm metadata cụ thể mô tả các thông số hoạt động của mô hình. Bạn nên cân nhắc sử dụng Trình tạo mô hình để sửa đổi các mô hình được cung cấp cho nhiệm vụ này trước khi tạo mô hình của riêng mình.