Tác vụ Trình nhúng văn bản MediaPipe cho phép bạn tạo bản trình bày dạng số của dữ liệu văn bản để nắm bắt ý nghĩa ngữ nghĩa. Chức năng này thường được dùng để so sánh mức độ tương đồng về mặt ngữ nghĩa của hai đoạn văn bản bằng cách sử dụng các kỹ thuật so sánh toán học, chẳng hạn như Tính tương đồng Cosin. Nhiệm 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) và xuất ra một bản trình bày số của dữ liệu văn bản dưới dạng danh sách vectơ tính năng có nhiều chiều, còn gọi là vectơ nhúng, ở dạng dấu phẩy động hoặc lượng tử hoá.
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 mục tiêu của bạ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 lựa chọn cấu hình được đề xuất:
- 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
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 quá trình mã hoá trong biểu đồ.
- Nhúng phép tính độ tương đồng – Hàm hiệu dụng tích hợp sẵn để tính toán độ tương đồng cos giữa hai vectơ tính năng.
- Lượng tử hoá – Hỗ trợ lượng tử vô hướng cho các vectơ đối tượng.
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 nhúng văn bản chấp nhận loại dữ liệu đầu vào sau:
|
Trình nhúng văn bản xuất ra danh sách các nội dung nhúng bao gồm:
|
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 |
---|---|---|---|
l2_normalize |
Liệu có chuẩn hoá vectơ tính năng được trả về với chuẩn L2 hay không. Chỉ sử dụng lựa chọn này nếu mô hình chưa chứa thành phần TFLite Op L2_NORMALIZATION gốc. Trong hầu hết các trường hợp, trường hợp này đã được chuẩn hoá và do đó, việc chuẩn hoá L2 có thể đạt được thông qua khả năng dự đoán TFLite mà không cần đến tuỳ chọn này. | Boolean |
False |
quantize |
Liệu hoạt động nhúng được trả về có phải được lượng tử hoá thành byte thông qua lượng tử hoá vô hướng hay không. Các hoạt động nhúng được ngầm giả định là chuẩn đơn vị và do đó, mọi thứ nguyên đều đảm bảo có giá trị trong [-1.0, 1.0]. Hãy sử dụng tuỳ chọn l2_normalize nếu bạn không muốn làm vậy. | Boolean |
False |
Mô hình
Chúng tôi đưa ra một mô hình mặc định, được đề xuất khi bạn bắt đầu phát triển bằng tác vụ này.
Mô hình bộ mã hoá câu chung (nên dùng)
Mô hình này sử dụng cấu trúc bộ mã hoá kép và được huấn luyện trên nhiều tập dữ liệu câu hỏi.
Xem xét các cặp câu sau:
- ("đó là một hành trình thú vị và thường ảnh hưởng đến hành trình", "một chuyến đi tuyệt vời và tuyệt vời")
- ("Tôi thích điện thoại của mình", "Tôi ghét điện thoại của mình")
- ("Nhà hàng này có một mẹo quảng cáo hay", "Chúng tôi cần kiểm tra kỹ chi tiết trong kế hoạch của mình")
Các lượt nhúng văn bản trong 2 cặp đầu tiên sẽ có độ tương đồng về mặt vũ trụ cao hơn so với các lượt nhúng trong cặp thứ ba vì 2 cặp câu đầu tiên lần lượt có chung một chủ đề là "cảm xúc về chuyến đi" và "ý kiến điện thoại", trong khi cặp câu thứ ba không có chung một chủ đề.
Xin lưu ý rằng mặc dù hai câu trong cặp thứ hai có quan điểm đối lập, nhưng lại có điểm tương đồng cao vì có cùng một chủ đề.
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ộ mã hoá câu phổ quát | chuỗi, chuỗi, chuỗi | 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 |
---|---|---|
Bộ mã hoá câu phổ quát | 18,21 mili giây | - |