Firebase ML Kit: Trả lời thông minh ( Smart Reply) trong Android
Trả lời thông minh là một API cho phép bạn tạo các phản hồi có liên quan đến tin nhắn. API trả lời thông minh của ML Kit hoạt động trên chính thiết bị và không yêu cầu bạn gửi dữ liệu đến máy chủ từ xa.
1. Giới thiệu
Trả lời thông minh là một API cho phép bạn tạo các phản hồi có liên quan đến tin nhắn.
Bạn hẳn đã thấy một số ứng dụng như LinkedIn và Gmail sử dụng sức mạnh của Machine Learning để tạo ra các câu trả lời phù hợp dựa trên bối cảnh của cuộc trò chuyện. Nó làm cho việc trả lời dễ dàng hơn nhiều.
API trả lời thông minh của ML Kit hoạt động trên chính thiết bị và không yêu cầu bạn gửi dữ liệu đến máy chủ từ xa.
2. Cài đặt
Bước 1: Thêm Firebase vào ứng dụng của bạn
Bạn có thể thêm Firebase vào ứng dụng của mình bằng cách làm theo các bước được đề cập ở đây .
Bước 2: Thêm các phụ thuộc
Bạn cần thêm các phụ thuộc ML Kit tệp build.gradle
dependencies {
// ...
implementation 'com.google.firebase:firebase-ml-natural-language:18.2.0'
implementation 'com.google.firebase:firebase-ml-natural-language-smart-reply-model:18.0.0'
}
Bước 3:
Smart Reply model đòi hỏi một List
đối tượng FirebaseTextMessage
để tạo các câu trả lời thông minh.
khi người dùng gửi tin nhắn
conversation.add(FirebaseTextMessage.createForLocalUser("Hi, how are you?", System.currentTimeMillis()))
khi người dùng nhận được tin nhắn
conversation.add(FirebaseTextMessage.createForRemoteUser("I'm good", System.currentTimeMillis(), userId))
userId
là một chuỗi xác định duy nhất người gửi trong cuộc hội thoại đó.
Bước 4:
Chuẩn bị mô hình Trả lời thông minh.
val smartReply = FirebaseNaturalLanguage.getInstance().smartReply
Bước 5:
Cuối cùng, chúng ta có thể chuyển cuộc hội thoại đến mô hình để tạo phản hồi thông minh.
smartReply.suggestReplies(conversation)
.addOnSuccessListener { result ->
if (result.status == STATUS_SUCCESS) {
// Task completed successfully
}
}
.addOnFailureListener {
// Task failed with an exception
}
Bước 6: Trích xuất thông tin
Nếu trả lời thông minh thành công, ta sẽ nhận được một đối tượng SmartReplySuggestionResult
, trong đó có danh sách 3 câu trả lời được đề xuất hàng đầu.
Bạn có thể trích xuất thông tin này như thế này.
for (suggestion in result.suggestions) {
val reply = suggestion.text
}
Kết quả
Mã nguồn đầy đủ:
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!