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