টেক্সট এমবেডার একত্রিত করুন।

টেক্সট এম্বেডারগুলি টেক্সটকে একটি উচ্চ-মাত্রিক বৈশিষ্ট্য ভেক্টরে এম্বেড করার অনুমতি দেয় যা এর শব্দার্থিক অর্থ উপস্থাপন করে, যা পরবর্তীতে অন্যান্য পাঠ্যের বৈশিষ্ট্য ভেক্টরের সাথে তুলনা করে তাদের শব্দার্থিক সাদৃশ্য মূল্যায়ন করা যেতে পারে।

টেক্সট সার্চের বিপরীতে, টেক্সট এম্বেডার একটি কর্পাস থেকে তৈরি একটি পূর্বনির্ধারিত সূচকের মাধ্যমে অনুসন্ধান করার পরিবর্তে, টেক্সটের মধ্যে মিল গণনা করার অনুমতি দেয়।

আপনার মোবাইল অ্যাপে আপনার কাস্টম টেক্সট এম্বেডার স্থাপন করতে টাস্ক লাইব্রেরি TextEmbedder API ব্যবহার করুন।

TextEmbedder API এর মূল বৈশিষ্ট্যগুলি

  • ইনপুট টেক্সট প্রক্রিয়াকরণ, ইনপুট টেক্সটের উপর ইন-গ্রাফ বা আউট-অফ-গ্রাফ ওয়ার্ডপিস বা সেন্টেন্সপিস টোকেনাইজেশন সহ।

  • বৈশিষ্ট্য ভেক্টরগুলির মধ্যে কোসাইন সাদৃশ্য গণনা করার জন্য অন্তর্নির্মিত ইউটিলিটি ফাংশন।

সমর্থিত টেক্সট এম্বেডার মডেল

নিম্নলিখিত মডেলগুলি TextEmbedder API-এর সাথে সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা রয়েছে।

C++ এ অনুমান চালান

// Initialization.
TextEmbedderOptions options:
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<TextEmbedder> text_embedder = TextEmbedder::CreateFromOptions(options).value();

// Run inference with your two inputs, `input_text1` and `input_text2`.
const EmbeddingResult result_1 = text_embedder->Embed(input_text1);
const EmbeddingResult result_2 = text_embedder->Embed(input_text2);

// Compute cosine similarity.
double similarity = TextEmbedder::CosineSimilarity(
    result_1.embeddings[0].feature_vector()
    result_2.embeddings[0].feature_vector());

TextEmbedder কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোডটি দেখুন।

পাইথনে ইনফারেন্স চালান

ধাপ ১: টেনসরফ্লো লাইট সাপোর্ট পাইপি প্যাকেজ ইনস্টল করুন।

আপনি নিম্নলিখিত কমান্ড ব্যবহার করে TensorFlow Lite Support Pypi প্যাকেজ ইনস্টল করতে পারেন:

pip install tflite-support

ধাপ ২: মডেল ব্যবহার করা

from tflite_support.task import text

# Initialization.
text_embedder = text.TextEmbedder.create_from_file(model_path)

# Run inference on two texts.
result_1 = text_embedder.embed(text_1)
result_2 = text_embedder.embed(text_2)

# Compute cosine similarity.
feature_vector_1 = result_1.embeddings[0].feature_vector
feature_vector_2 = result_2.embeddings[0].feature_vector
similarity = text_embedder.cosine_similarity(
    result_1.embeddings[0].feature_vector, result_2.embeddings[0].feature_vector)

TextEmbedder কনফিগার করার জন্য আরও বিকল্পের জন্য সোর্স কোডটি দেখুন।

উদাহরণ ফলাফল

স্বাভাবিক বৈশিষ্ট্য ভেক্টরগুলির মধ্যে কোসাইন সাদৃশ্য -1 এবং 1 এর মধ্যে একটি স্কোর প্রদান করে। উচ্চতর হলে ভালো, অর্থাৎ 1 এর কোসাইন সাদৃশ্য মানে দুটি ভেক্টর অভিন্ন।

Cosine similarity: 0.954312

আপনার নিজস্ব মডেল এবং পরীক্ষার ডেটা দিয়ে TextEmbedder-এর জন্য সহজ CLI ডেমো টুলটি ব্যবহার করে দেখুন।

মডেলের সামঞ্জস্যের প্রয়োজনীয়তা

TextEmbedder API বাধ্যতামূলক TFLite মডেল মেটাডেটা সহ একটি TFLite মডেল আশা করে।

তিনটি প্রধান ধরণের মডেল সমর্থিত:

  • BERT-ভিত্তিক মডেল (আরও বিস্তারিত জানার জন্য সোর্স কোড দেখুন):

    • ঠিক ৩টি ইনপুট টেনসর (kTfLiteString)

    • আইডি টেনসর, মেটাডেটা নাম "আইডি" সহ,

    • মাস্ক টেনসর, যার মেটাডেটা নাম "মাস্ক"।

    • সেগমেন্ট আইডি টেনসর, মেটাডেটা নাম "segment_ids" সহ

    • ঠিক একটি আউটপুট টেনসর (kTfLiteUInt8/kTfLiteFloat32)

    • এই আউটপুট স্তরের জন্য ফেরত আসা বৈশিষ্ট্য ভেক্টরের N মাত্রার সাথে সম্পর্কিত N উপাদান সহ।

    • হয় ২ অথবা ৪ মাত্রা, অর্থাৎ [1 x N] অথবা [1 x 1 x 1 x N]

    • ওয়ার্ডপিস/সেন্টেন্সপিস টোকেনাইজারের জন্য একটি ইনপুট_প্রসেস_ইউনিট

  • ইউনিভার্সাল সেন্টেন্স এনকোডার-ভিত্তিক মডেল (আরও বিস্তারিত জানার জন্য সোর্স কোড দেখুন):

    • ঠিক ৩টি ইনপুট টেনসর (kTfLiteString)

    • "inp_text" মেটাডেটা নাম সহ টেক্সট টেনসর কোয়েরি করুন।

    • "res_context" মেটাডেটা নাম সহ রেসপন্স কনটেক্সট টেনসর।

    • "res_text" মেটাডেটা নাম সহ রেসপন্স টেক্সট টেনসর।

    • ঠিক ২টি আউটপুট টেনসর (kTfLiteUInt8/kTfLiteFloat32)

    • "query_encoding" মেটাডেটা নাম সহ কোয়েরি এনকোডিং টেনসর।

    • "response_encoding" মেটাডেটা নাম সহ রেসপন্স এনকোডিং টেনসর।

    • এই আউটপুট স্তরের জন্য ফেরত আসা বৈশিষ্ট্য ভেক্টরের N মাত্রার সাথে সম্পর্কিত N উপাদান সহ উভয়ই।

    • উভয়েরই হয় 2 অথবা 4 মাত্রা, অর্থাৎ [1 x N] অথবা [1 x 1 x 1 x N]

  • যেকোনো টেক্সট এম্বেডার মডেল যার সাথে:

    • একটি ইনপুট টেক্সট টেনসর (kTfLiteString)
    • কমপক্ষে একটি আউটপুট এম্বেডিং টেনসর (kTfLiteUInt8/kTfLiteFloat32)

    • এই আউটপুট স্তরের জন্য ফেরত আসা বৈশিষ্ট্য ভেক্টরের N মাত্রার সাথে সম্পর্কিত N উপাদান সহ।

    • হয় ২ অথবা ৪ মাত্রা, অর্থাৎ [1 x N] অথবা [1 x 1 x 1 x N]