iOS-এ ML কিট দিয়ে স্মার্ট উত্তর তৈরি করুন

ML কিট একটি অন-ডিভাইস মডেল ব্যবহার করে বার্তাগুলির সংক্ষিপ্ত উত্তর তৈরি করতে পারে।

স্মার্ট উত্তর তৈরি করতে, আপনি একটি কথোপকথনে সাম্প্রতিক বার্তাগুলির একটি লগ ML Kit পাস করেন৷ যদি ML Kit নির্ধারণ করে যে কথোপকথনটি ইংরেজিতে, এবং কথোপকথনে সম্ভাব্য সংবেদনশীল বিষয় নেই, ML Kit তিনটি পর্যন্ত উত্তর তৈরি করে, যা আপনি আপনার ব্যবহারকারীকে পরামর্শ দিতে পারেন।

চেষ্টা কর

তুমি শুরু করার আগে

  1. আপনার পডফাইলে নিম্নলিখিত ML কিট পডগুলি অন্তর্ভুক্ত করুন:
    pod 'GoogleMLKit/SmartReply', '3.2.0'
    
  2. আপনি আপনার প্রোজেক্টের পড ইনস্টল বা আপডেট করার পরে, এটির .xcworkspace ব্যবহার করে আপনার Xcode প্রকল্পটি খুলুন। ML Kit Xcode সংস্করণ 12.4 বা তার বেশিতে সমর্থিত।

1. একটি কথোপকথনের ইতিহাস অবজেক্ট তৈরি করুন

স্মার্ট উত্তর তৈরি করার জন্য, আপনি ML Kit-কে প্রথমতম টাইমস্ট্যাম্প সহ, TextMessage অবজেক্টের একটি কালানুক্রমিক-অর্ডার অ্যারে পাস করেন। যখনই ব্যবহারকারী একটি বার্তা পাঠান বা গ্রহণ করেন, কথোপকথনের ইতিহাসে বার্তাটি, তার টাইমস্ট্যাম্প এবং বার্তা প্রেরকের ব্যবহারকারীর আইডি যোগ করুন।

ব্যবহারকারী আইডি যে কোনো স্ট্রিং হতে পারে যা কথোপকথনের মধ্যে প্রেরককে অনন্যভাবে সনাক্ত করে। ব্যবহারকারীর আইডির কোনো ব্যবহারকারীর ডেটার সাথে সঙ্গতিপূর্ণ হওয়ার প্রয়োজন নেই, এবং ব্যবহারকারীর আইডি স্মার্ট উত্তর জেনারেটরের কথোপকথন বা আহ্বানের মধ্যে সামঞ্জস্যপূর্ণ হতে হবে না।

যদি বার্তাটি ব্যবহারকারীর দ্বারা প্রেরিত হয় যাকে আপনি উত্তরের পরামর্শ দিতে চান, isLocalUser সেট করুন সত্য।

সুইফট

var conversation: [TextMessage] = []

// Then, for each message sent and received:
let message = TextMessage(
    text: "How are you?",
    timestamp: Date().timeIntervalSince1970,
    userID: "userId",
    isLocalUser: false)
conversation.append(message)

উদ্দেশ্য গ

NSMutableArray *conversation = [NSMutableArray array];

// Then, for each message sent and received:
MLKTextMessage *message = [[MLKTextMessage alloc]
        initWithText:@"How are you?"
        timestamp:[NSDate date].timeIntervalSince1970
        userID:userId
        isLocalUser:NO];
[conversation addObject:message];

একটি কথোপকথন ইতিহাস বস্তু নিম্নলিখিত উদাহরণ মত দেখায়:

টাইমস্ট্যাম্প ব্যবহারকারী আইডি স্থানীয় ব্যবহারকারী বার্তা
বৃহস্পতি ফেব্রুয়ারি 21 13:13:39 PST 2019 সত্য তুমি তোমার পথে?
বৃহস্পতি ফেব্রুয়ারি 21 13:15:03 PST 2019 FRIEND0 মিথ্যা দেরিতে চলছে, দুঃখিত!

ML Kit কথোপকথনের ইতিহাসে শেষ বার্তার উত্তর দেওয়ার পরামর্শ দেয়। শেষ বার্তাটি একজন অ-স্থানীয় ব্যবহারকারীর হতে হবে। উপরের উদাহরণে, কথোপকথনের শেষ বার্তাটি অ-স্থানীয় ব্যবহারকারী FRIEND0 এর থেকে। আপনি যখন এই লগটি পাস এমএল কিট ব্যবহার করেন, তখন এটি বন্ধুর বার্তার উত্তরের পরামর্শ দেয়: "রানিং দেরী, দুঃখিত!"

2. বার্তার উত্তর পান

একটি বার্তার স্মার্ট উত্তর তৈরি করতে, SmartReply এর একটি উদাহরণ পান এবং কথোপকথনের ইতিহাসটি এর suggestReplies(for:completion:) পদ্ধতিতে পাস করুন:

সুইফট

SmartReply.smartReply().suggestReplies(for: conversation) { result, error in
    guard error == nil, let result = result else {
        return
    }
    if (result.status == .notSupportedLanguage) {
        // The conversation's language isn't supported, so
        // the result doesn't contain any suggestions.
    } else if (result.status == .success) {
        // Successfully suggested smart replies.
        // ...
    }
}

উদ্দেশ্য গ

MLKSmartReply *smartReply = [MLKSmartReply smartReply];
[smartReply suggestRepliesForMessages:inputText
                           completion:^(MLKSmartReplySuggestionResult * _Nullable result,
                                        NSError * _Nullable error) {
  if (error || !result) {
    return;
  }
  if (result.status == MLKSmartReplyResultStatusNotSupportedLanguage) {
      // The conversation's language isn't supported, so
      // the result doesn't contain any suggestions.
  } else if (result.status == MLKSmartReplyResultStatusSuccess) {
      // Successfully suggested smart replies.
      // ...
  }
}];

অপারেশন সফল হলে, একটি SmartReplySuggestionResult অবজেক্ট সমাপ্তি হ্যান্ডলারে পাঠানো হয়। এই বস্তুটিতে তিনটি পর্যন্ত প্রস্তাবিত উত্তরের একটি তালিকা রয়েছে, যা আপনি আপনার ব্যবহারকারীর কাছে উপস্থাপন করতে পারেন:

সুইফট

for suggestion in result.suggestions {
  print("Suggested reply: \(suggestion.text)")
}

উদ্দেশ্য গ

for (MLKSmartReplySuggestion *suggestion in result.suggestions) {
  NSLog(@"Suggested reply: %@", suggestion.text);
}

মনে রাখবেন যে ML Kit ফলাফল নাও দিতে পারে যদি মডেলটি প্রস্তাবিত উত্তরগুলির প্রাসঙ্গিকতার বিষয়ে আত্মবিশ্বাসী না হয়, ইনপুট কথোপকথন ইংরেজিতে না হয়, অথবা মডেলটি স্পর্শকাতর বিষয় সনাক্ত করে।