বিল্ট-ইন এআই সহ ক্রোমে ভাষা সনাক্তকরণ, বিল্ট-ইন এআই সহ ক্রোমে ভাষা সনাক্তকরণ

প্রকাশিত: সেপ্টেম্বর 24, 2024

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

ল্যাঙ্গুয়েজ ডিটেকশন এপিআই প্রস্তাবের লক্ষ্য হল ব্রাউজারে বিল্ট-ইন এপিআই সহ এই কাজের জন্য একটি মডেলকে ফাইন-টিউনিং করে এই চ্যালেঞ্জটি সমাধান করা।

উদাহরণ ব্যবহার ক্ষেত্রে

ভাষা সনাক্তকরণ API প্রাথমিকভাবে নিম্নলিখিত পরিস্থিতিতে দরকারী:

  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, যাতে এটি অনুবাদ করা যায়।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, তাই সঠিক মডেলটি ভাষা-নির্দিষ্ট কাজের জন্য লোড করা যেতে পারে, যেমন বিষাক্ততা সনাক্তকরণ।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, যাতে এটি সঠিকভাবে লেবেল করা যায়, উদাহরণস্বরূপ, অনলাইন সামাজিক নেটওয়ার্কিং সাইটগুলিতে।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, তাই একটি অ্যাপের ইন্টারফেস সেই অনুযায়ী সামঞ্জস্য করা যেতে পারে। উদাহরণস্বরূপ, একটি বেলজিয়ান সাইটে শুধুমাত্র ফ্রেঞ্চ ভাষায় কথা বলা ব্যবহারকারীদের জন্য প্রাসঙ্গিক ইন্টারফেস দেখাতে।

ভাষা সনাক্তকরণ API ব্যবহার করুন

ভাষা সনাক্তকরণ API হল অনুবাদ API-এর বৃহত্তর পরিবারের অংশ। প্রথমে, ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান।

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detection API is available.
}  

মডেল ডাউনলোড

ভাষা সনাক্তকরণ একটি মডেলের উপর নির্ভর করে যা ভাষা সনাক্তকরণের নির্দিষ্ট কাজের জন্য সূক্ষ্ম সুর করা হয়। যখন API ব্রাউজারে তৈরি করা হয়, তখন প্রথমবার যখন কোনো সাইট API ব্যবহার করার চেষ্টা করে তখন মডেলটি অন-ডিমান্ড ডাউনলোড করা হয়। ক্রোমে, এই মডেলটি অন্যান্য মডেলের তুলনায় খুবই ছোট। আসলে, এটি ইতিমধ্যেই উপস্থিত থাকতে পারে যে এই মডেলটি Chrome ব্রাউজার বৈশিষ্ট্যগুলি দ্বারাও ব্যবহৃত হয়।

মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা দেখতে, asynchronous translation.canDetect() ফাংশনটিতে কল করুন। তিনটি সম্ভাব্য প্রতিক্রিয়া আছে:

  • 'no' : বর্তমান ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে, কিন্তু এই মুহূর্তে এটি ব্যবহার করা যাবে না। উদাহরণস্বরূপ, কারণ মডেলটি ডাউনলোড করার জন্য পর্যাপ্ত বিনামূল্যের ডিস্কের জায়গা নেই৷
  • 'readily' : বর্তমান ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে, এবং এটি এখনই ব্যবহার করা যেতে পারে।
  • 'after-download' : বর্তমান ব্রাউজারটি ভাষা সনাক্তকরণ API সমর্থন করে, তবে এটির আগে মডেলটি ডাউনলোড করতে হবে।

ডাউনলোড ট্রিগার করতে এবং ভাষা আবিষ্কারককে ইনস্ট্যান্টিয়েট করতে, অ্যাসিঙ্ক্রোনাস translation.createDetector() ফাংশনটিতে কল করুন। যদি canDetect() এর প্রতিক্রিয়া 'after-download' হয় তবে ডাউনলোডের অগ্রগতি শোনার জন্য এটি সর্বোত্তম অভ্যাস, যাতে ডাউনলোডে সময় লাগলে আপনি ব্যবহারকারীকে জানাতে পারেন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে ভাষা আবিষ্কারক শুরু করতে হয়।

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

ভাষা আবিষ্কারক চালান

ভাষা সনাক্তকরণ API একটি প্রদত্ত পাঠ্য অংশে কোন ভাষাটি সম্ভবত ব্যবহৃত হয় তা নির্ধারণ করতে একটি র‌্যাঙ্কিং মডেল ব্যবহার করে। র‌্যাঙ্কিং হল এক ধরনের মেশিন লার্নিং, যেখানে উদ্দেশ্য হল আইটেমগুলির একটি তালিকা অর্ডার করা। এই ক্ষেত্রে, ভাষা সনাক্তকরণ API সর্বোচ্চ থেকে সর্বনিম্ন সম্ভাবনার ভাষাগুলিকে স্থান দেয়।

detect() ফাংশন হয় প্রথম ফলাফল, সম্ভাব্য উত্তর, অথবা আত্মবিশ্বাসের মাত্রা সহ র‌্যাঙ্ক করা প্রার্থীদের উপর পুনরাবৃত্তি করতে পারে। এটি {detectedLanguage, confidence} অবজেক্টের একটি তালিকা হিসাবে ফেরত দেওয়া হয়েছে। confidence স্তরকে 0.0 (সর্বনিম্ন আত্মবিশ্বাস) এবং 1.0 (সর্বোচ্চ আত্মবিশ্বাস) এর মধ্যে একটি মান হিসাবে প্রকাশ করা হয়।

const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

ডেমো

আমাদের ডেমোতে ভাষা সনাক্তকরণ API-এর পূর্বরূপ দেখুন। টেক্সটেরিয়াতে বিভিন্ন ভাষায় লেখা টেক্সট লিখুন।

মূল বিচারের জন্য সাইন আপ করুন

আপনার ব্যবহারকারীদের সাথে এই API পরীক্ষা শুরু করতে ভাষা সনাক্তকারী API ট্রায়ালের জন্য নিবন্ধন করুন৷ এই অরিজিন ট্রায়াল Chrome 130 থেকে 135 পর্যন্ত চলে।

অরিজিন ট্রায়াল কিভাবে কাজ করে সে সম্পর্কে আরও জানুন।

প্রমিতকরণ প্রচেষ্টা

সংশ্লিষ্ট প্রস্তাবটি যথেষ্ট সমর্থন পাওয়ার পরে ভাষা সনাক্তকরণ API W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে স্থানান্তরিত হয়েছিল। API একটি বৃহত্তর অনুবাদ API প্রস্তাবের অংশ। ক্রোম টিম W3C টেকনিক্যাল আর্কিটেকচার গ্রুপ থেকে প্রতিক্রিয়ার অনুরোধ করেছিল এবং Mozilla এবং WebKit কে নির্দিষ্ট ব্রাউজার বিক্রেতার স্ট্যান্ডার্ড অবস্থানের জন্য জিজ্ঞাসা করেছিল।

আপনার মতামত শেয়ার করুন

Chrome এর বাস্তবায়ন সম্পর্কে আপনার মতামত থাকলে, একটি Chromium বাগ ফাইল করুন। ভাষা শনাক্তকরণ API এর API আকৃতিতে আপনার প্রতিক্রিয়া শেয়ার করুন একটি বিদ্যমান মন্তব্য করে অথবা অনুবাদ API GitHub সংগ্রহস্থলে একটি নতুন সমস্যা খুলুন।

সম্পদ

,

প্রকাশিত: সেপ্টেম্বর 24, 2024

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

ল্যাঙ্গুয়েজ ডিটেকশন এপিআই প্রস্তাবের লক্ষ্য হল ব্রাউজারে বিল্ট-ইন এপিআই সহ এই কাজের জন্য একটি মডেলকে ফাইন-টিউনিং করে এই চ্যালেঞ্জটি সমাধান করা।

উদাহরণ ব্যবহার ক্ষেত্রে

ভাষা সনাক্তকরণ API প্রাথমিকভাবে নিম্নলিখিত পরিস্থিতিতে দরকারী:

  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, যাতে এটি অনুবাদ করা যায়।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, তাই সঠিক মডেলটি ভাষা-নির্দিষ্ট কাজের জন্য লোড করা যেতে পারে, যেমন বিষাক্ততা সনাক্তকরণ।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, যাতে এটি সঠিকভাবে লেবেল করা যায়, উদাহরণস্বরূপ, অনলাইন সামাজিক নেটওয়ার্কিং সাইটগুলিতে।
  • ইনপুট পাঠ্যের ভাষা নির্ধারণ করুন, তাই একটি অ্যাপের ইন্টারফেস সেই অনুযায়ী সামঞ্জস্য করা যেতে পারে। উদাহরণস্বরূপ, একটি বেলজিয়ান সাইটে শুধুমাত্র ফ্রেঞ্চ ভাষায় কথা বলা ব্যবহারকারীদের জন্য প্রাসঙ্গিক ইন্টারফেস দেখাতে।

ভাষা সনাক্তকরণ API ব্যবহার করুন

ভাষা সনাক্তকরণ API হল অনুবাদ API-এর বৃহত্তর পরিবারের অংশ। প্রথমে, ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে কিনা তা দেখতে বৈশিষ্ট্য সনাক্তকরণ চালান।

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detection API is available.
}  

মডেল ডাউনলোড

ভাষা সনাক্তকরণ একটি মডেলের উপর নির্ভর করে যা ভাষা সনাক্তকরণের নির্দিষ্ট কাজের জন্য সূক্ষ্ম সুর করা হয়। যখন API ব্রাউজারে তৈরি করা হয়, তখন প্রথমবার যখন কোনো সাইট API ব্যবহার করার চেষ্টা করে তখন মডেলটি অন-ডিমান্ড ডাউনলোড করা হয়। ক্রোমে, এই মডেলটি অন্যান্য মডেলের তুলনায় খুবই ছোট। আসলে, এটি ইতিমধ্যেই উপস্থিত থাকতে পারে যে এই মডেলটি Chrome ব্রাউজার বৈশিষ্ট্যগুলি দ্বারাও ব্যবহৃত হয়।

মডেলটি ব্যবহারের জন্য প্রস্তুত কিনা তা দেখতে, asynchronous translation.canDetect() ফাংশনটিতে কল করুন। তিনটি সম্ভাব্য প্রতিক্রিয়া আছে:

  • 'no' : বর্তমান ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে, কিন্তু এই মুহূর্তে এটি ব্যবহার করা যাবে না। উদাহরণস্বরূপ, কারণ মডেলটি ডাউনলোড করার জন্য পর্যাপ্ত বিনামূল্যের ডিস্কের জায়গা নেই৷
  • 'readily' : বর্তমান ব্রাউজার ভাষা সনাক্তকরণ API সমর্থন করে, এবং এটি এখনই ব্যবহার করা যেতে পারে।
  • 'after-download' : বর্তমান ব্রাউজারটি ভাষা সনাক্তকরণ API সমর্থন করে, তবে এটির আগে মডেলটি ডাউনলোড করতে হবে।

ডাউনলোড ট্রিগার করতে এবং ভাষা আবিষ্কারককে ইনস্ট্যান্টিয়েট করতে, অ্যাসিঙ্ক্রোনাস translation.createDetector() ফাংশনটিতে কল করুন। যদি canDetect() এর প্রতিক্রিয়া 'after-download' হয় তবে ডাউনলোডের অগ্রগতি শোনার জন্য এটি সর্বোত্তম অভ্যাস, যাতে ডাউনলোডে সময় লাগলে আপনি ব্যবহারকারীকে জানাতে পারেন।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে ভাষা আবিষ্কারক শুরু করতে হয়।

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

ভাষা আবিষ্কারক চালান

ভাষা সনাক্তকরণ API একটি প্রদত্ত পাঠ্য অংশে কোন ভাষাটি সম্ভবত ব্যবহৃত হয় তা নির্ধারণ করতে একটি র‌্যাঙ্কিং মডেল ব্যবহার করে। র‌্যাঙ্কিং হল এক ধরনের মেশিন লার্নিং, যেখানে উদ্দেশ্য হল আইটেমগুলির একটি তালিকা অর্ডার করা। এই ক্ষেত্রে, ভাষা সনাক্তকরণ API সর্বোচ্চ থেকে সর্বনিম্ন সম্ভাবনার ভাষাগুলিকে স্থান দেয়।

detect() ফাংশন হয় প্রথম ফলাফল, সম্ভাব্য উত্তর, অথবা আত্মবিশ্বাসের মাত্রা সহ র‌্যাঙ্ক করা প্রার্থীদের উপর পুনরাবৃত্তি করতে পারে। এটি {detectedLanguage, confidence} অবজেক্টের একটি তালিকা হিসাবে ফেরত দেওয়া হয়েছে। confidence স্তরকে 0.0 (সর্বনিম্ন আত্মবিশ্বাস) এবং 1.0 (সর্বোচ্চ আত্মবিশ্বাস) এর মধ্যে একটি মান হিসাবে প্রকাশ করা হয়।

const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

ডেমো

আমাদের ডেমোতে ভাষা সনাক্তকরণ API-এর পূর্বরূপ দেখুন। টেক্সটেরিয়াতে বিভিন্ন ভাষায় লেখা টেক্সট লিখুন।

মূল বিচারের জন্য সাইন আপ করুন

আপনার ব্যবহারকারীদের সাথে এই API পরীক্ষা শুরু করতে ভাষা সনাক্তকারী API ট্রায়ালের জন্য নিবন্ধন করুন৷ এই অরিজিন ট্রায়াল Chrome 130 থেকে 135 পর্যন্ত চলে।

অরিজিন ট্রায়াল কিভাবে কাজ করে সে সম্পর্কে আরও জানুন।

প্রমিতকরণ প্রচেষ্টা

সংশ্লিষ্ট প্রস্তাবটি যথেষ্ট সমর্থন পাওয়ার পরে ভাষা সনাক্তকরণ API W3C ওয়েব ইনকিউবেটর কমিউনিটি গ্রুপে স্থানান্তরিত হয়েছিল। API একটি বৃহত্তর অনুবাদ API প্রস্তাবের অংশ। ক্রোম টিম W3C টেকনিক্যাল আর্কিটেকচার গ্রুপ থেকে প্রতিক্রিয়ার অনুরোধ করেছিল এবং Mozilla এবং WebKit কে নির্দিষ্ট ব্রাউজার বিক্রেতার স্ট্যান্ডার্ড অবস্থানের জন্য জিজ্ঞাসা করেছিল।

আপনার মতামত শেয়ার করুন

Chrome এর বাস্তবায়ন সম্পর্কে আপনার মতামত থাকলে, একটি Chromium বাগ ফাইল করুন। ভাষা শনাক্তকরণ API এর API আকৃতিতে আপনার প্রতিক্রিয়া শেয়ার করুন একটি বিদ্যমান মন্তব্য করে অথবা অনুবাদ API GitHub সংগ্রহস্থলে একটি নতুন সমস্যা খুলুন।

সম্পদ