Meet Yambda: One of the world’s largest open datasets for RecSys. সুপারিশকারী অ্যালগরিদমগুলি মানুষকে সঠিক পণ্য, চলচ্চিত্র, সঙ্গীত এবং আরও খুঁজে বের করতে সহায়তা করে. তারা অনলাইন দোকান থেকে স্ট্রিমিং প্ল্যাটফর্ম পর্যন্ত পরিষেবাগুলির পিছনে। যাইহোক, অধিকাংশ ওপেন সোর্স ডেটা সেট ছোট বা অতীত, যেহেতু কোম্পানিগুলি টেরাবাইট ডেটা সংগ্রহ করে খুব কমই গোপনীয়তা উদ্বেগের কারণে তাদের জনসাধারণের কাছে উপলব্ধ করে। এই ডেটা সেট 4.79 বিলিয়ন অ্যানিমাইজড ব্যবহারকারীর ইন্টারেক্টিভেশন রয়েছে, 10 মাসের ব্যবহারকারীর কার্যকলাপ থেকে সংগৃহীত। আমরা সঙ্গীত পরিষেবাটি বেছে নিয়েছি কারণ এটি রাশিয়ার বৃহত্তম সাবস্ক্রিপশন ভিত্তিক স্ট্রিমিং পরিষেবা, যার গড় মাসিক দর্শকসংখ্যা ২৮ মিলিয়ন ব্যবহারকারী। ডাটা সেটের একটি উল্লেখযোগ্য অংশ সংগৃহীত পাঠক, পছন্দ, এবং পছন্দ, এবং ব্যক্তিগত সুপারিশ সিস্টেম থেকে আসা ট্র্যাক বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করে সমস্ত ব্যবহারকারী এবং ট্র্যাক ডেটা অ্যানিমাইজ করা হয়: ডেটা সেটটি শুধুমাত্র নম্বরগত পরিচিতিগুলি অন্তর্ভুক্ত করে, ব্যবহারকারীর গোপনীয়তা নিশ্চিত করে। আমার ভিআইবি উচ্চ মানের, বৃহৎ ডেটা অ্যাক্সেস বৈজ্ঞানিক গবেষণার জন্য নতুন পথ খুলে দেয় এবং বাস্তব বিশ্বের চ্যালেঞ্জগুলিতে মেশিনিং প্রয়োগ করতে আগ্রহী তরুণ গবেষকদের অন্তর্ভুক্ত করে। আমি আলেকজান্ডার Ploshkin, এবং আমি Yandex ব্যক্তিগতকরণ মান উন্নয়ন নেতৃত্ব। এই নিবন্ধে, আমি ব্যাখ্যা করব যে ডাটা সেটটি কিভাবে গঠিত হয়, আমরা এটি কীভাবে সংগ্রহ করেছি এবং আপনি কিভাবে নতুন সুপারিশকারী অ্যালগরিদমগুলি মূল্যায়ন করতে এটি ব্যবহার করতে পারেন। চলুন শুরু করি! বড় আকারের উন্মুক্ত ডেটা সেট কেন গুরুত্বপূর্ণ? Recommender সিস্টেমগুলি সাম্প্রতিক বছরগুলিতে একটি সত্যিকারের পুনরুত্থান অনুভব করছে। প্রযুক্তি কোম্পানিগুলি ক্রমবর্ধমানভাবে ট্রান্সফরমার ভিত্তিক মডেলগুলি গ্রহণ করছে, অন্যান্য ক্ষেত্রগুলিতে বড় ভাষা মডেল (এলএলএম) এর সাফল্য থেকে অনুপ্রাণিত। কম্পিউটার দৃষ্টিভঙ্গি এবং প্রাকৃতিক ভাষা প্রক্রিয়াকরণ থেকে আমরা যা শিখেছি তা হল যে ডেটা পরিমাণ এই পদ্ধতিগুলির কাজের জন্য কতটা গুরুত্বপূর্ণ: ট্রান্সফরমারগুলি ছোট ডেটা সেটগুলিতে খুব কার্যকর নয় তবে একবার তারা বিলিয়ন টোকেন পর্যন্ত পরিমাপ করে প্রায় প্রয়োজনীয় হয়ে যায়। সত্যিই বড় আকারের উন্মুক্ত ডেটা সেট সুপারমেন্টার সিস্টেম ডোমেইনের একটি বিরলতা। LFM-1B, LFM-2B এবং Music Listening Histories Dataset (27B) এর মতো পরিচিত ডেটা সেটগুলি লাইসেন্স সীমাবদ্ধতাগুলির কারণে সময়ের সাথে সাথে অ্যাক্সেসযোগ্য হয়ে উঠেছে। বর্তমানে, ব্যবহারকারীর ইন্টারফেসের সংখ্যার রেকর্ড ক্রাইটো এর বিজ্ঞাপন ডেটা সেট, প্রায় 4 বিলিয়ন ইভেন্টের সাথে থাকে, যা গবেষকদের জন্য একটি চ্যালেঞ্জ তৈরি করে: অধিকাংশের কাছে ওয়েব-স্কেল পরিষেবাগুলির অ্যাক্সেস নেই, যার মানে তারা বাস্তব বিশ্বের বিস্তারগুলির মতো শর্তাবলীর মধ্যে অ্যালগরিদমগুলি পরীক্ষা করতে পারে না। জনপ্রিয় ডেটা সেট যেমন MovieLens, Steam, বা Netflix পুরস্কার অন্তর্ভুক্ত, সর্বোত্তম, ডজন মিলিয়ন ইন্টারেক্টিভেশন এবং সাধারণত স্পষ্ট প্রতিক্রিয়া, যেমন রেটিং এবং পর্যালোচনা উপর ফোকাস। ইতিমধ্যে, উৎপাদন সুপারিশকারী সিস্টেমগুলি অনেক বেশি বৈচিত্র্যময় এবং রূপান্তরিত সংকেতগুলির সাথে কাজ করে: ক্লিক, পছন্দ, সম্পূর্ণ শুনান, ভিউ, ক্রয়, ইত্যাদি। অনেক ডেটা সেট প্রশিক্ষণ এবং পরীক্ষা সেটগুলির মধ্যে একটি সৎ সময়গত বিভাজনের অনুমতি দেয় না, যা অ্যালগরিদমগুলি মূল্যায়ন করার জন্য গুরুত্বপূর্ণ যা ভবিষ্যতের পূর্বাভাস দেয়, শুধু অতীতকে ব্যাখ্যা করে না। এই চ্যালেঞ্জগুলি মোকাবেলা করার জন্য এবং সুপারিশকারী সিস্টেমগুলিতে নতুন অ্যালগরিদমের বিকাশকে সমর্থন করার জন্য, আমরা Yambda মুক্তি দিচ্ছি। এই ডাটা সেট বর্তমানে সুপারিশ ডোমেইনের ব্যবহারকারীর ইন্টারেক্টিভেশনের জন্য বৃহত্তম উন্মুক্ত সম্পদ। Yambda এর ভেতরে কী আছে? এই ডাটা সেটটিতে ১ মিলিয়ন ব্যবহারকারীর সাথে মিউজিক পরিষেবা থেকে ৯ মিলিয়নেরও বেশি সঙ্গীত ট্র্যাকের ইন্টারেক্টমেন্ট রয়েছে, যা মোট ৪.৭৯ বিলিয়ন ইভেন্ট। প্রথমে স্পষ্ট হতে হবে: সমস্ত ইভেন্টগুলি অ্যানিমাইজ করা হয়। ডাটা সেট শুধুমাত্র ব্যবহারকারীদের, ট্র্যাক, অ্যালবাম এবং শিল্পীদের জন্য সংখ্যক আইডি ব্যবহার করে. এটি গোপনীয়তা নিশ্চিত করতে এবং ব্যবহারকারীর ডেটা সুরক্ষা করতে হয়. ডাটা সেটটি প্রধান অনুসরণীয় এবং স্পষ্ট ব্যবহারকারীর কর্মগুলি অন্তর্ভুক্ত করে: শুনুন: ব্যবহারকারী একটি সঙ্গীত ট্র্যাক শুনেছেন। যেমন: ব্যবহারকারী একটি ট্র্যাক পছন্দ করে (“পায়েস আপ”)। পার্থক্য: ব্যবহারকারী একটি like মুছে ফেলেছে। পছন্দ না: ব্যবহারকারী একটি ট্র্যাককে পছন্দ করেন না (“পায়েল ডাউন”)। অদৃশ্য: ব্যবহারকারী একটি অদৃশ্য মুছে ফেলেছে। ডাটা সেটটি আরও অ্যাক্সেসযোগ্য করার জন্য, আমরা 480 মিলিয়ন এবং 48 মিলিয়ন ইভেন্ট অন্তর্ভুক্ত ছোট নমুনাও প্রকাশ করেছি। এই সাবসেটের জন্য সংক্ষিপ্ত পরিসংখ্যান নিম্নলিখিত টেবিলে প্রদান করা হয়েছে: ডেটা Apache Parquet ফরম্যাটে সংরক্ষিত হয়, যা পাইথন ডেটা বিশ্লেষণ লাইব্রেরিগুলি যেমন পান্ডাস এবং Polars দ্বারা ন্যাশনালভাবে সমর্থিত হয়। ফ্ল্যাট: প্রতিটি লাইন একটি ব্যবহারকারী এবং একটি ট্র্যাকের মধ্যে একটি একক ইন্টারেকশন প্রতিনিধিত্ব করে। ধারাবাহিক: প্রতিটি লাইন একটি ব্যবহারকারীর সম্পূর্ণ ইন্টারেক্টিভেশন ইতিহাস অন্তর্ভুক্ত করে। ডাটা সেটের গঠন নিম্নলিখিত: Yambda এর একটি প্রধান বৈশিষ্ট্য হল এই পতাকাটি প্রত্যেকটি ইভেন্টের সাথে অন্তর্ভুক্ত করে, যা ব্যবহারকারীর অ্যাকশনগুলি যা স্বাভাবিকভাবে ঘটেছে এবং সুপারিশগুলি দ্বারা উত্সাহিত হয় তা পার্থক্য করতে সাহায্য করে। is_organic যদি এর মানে হল, এই ঘটনাটি একটি পরামর্শ দ্বারা চালু করা হয়েছিল। is_organic = 0 উদাহরণস্বরূপ, একটি ব্যক্তিগত সঙ্গীত স্ট্রিম বা একটি প্রস্তাবিত প্লেলিস্টে। নিচের টেবিলটি সুপারিশ-ভিত্তিক ঘটনাগুলির পরিসংখ্যান সরবরাহ করে: ব্যবহারকারীর ইন্টারেক্টিভেশন ইতিহাস ব্যক্তিগত প্রস্তাবগুলি তৈরি করার জন্য চাবিকাঠি। এটি দীর্ঘমেয়াদী পছন্দগুলি এবং মুহূর্তিক আগ্রহগুলি উভয় ধারণ করে যা পরিস্থিতিতে পরিবর্তিত হতে পারে। আপনার ডেটা গঠন আরও ভাল বোঝার জন্য, এখানে আমাদের ডেটা সেট সম্পর্কে কিছু দ্রুত পরিসংখ্যান আছে: উপরের চার্টগুলি দেখায় যে ব্যবহারকারীর ইতিহাসের দৈর্ঘ্য একটি ভারী-বড় বিতরণ অনুসরণ করে। এর মানে হল যদিও বেশিরভাগ ব্যবহারকারীদের তুলনামূলকভাবে কম ইন্টারেক্টিভেশন থাকে, তবে একটি ছোট কিন্তু গুরুত্বপূর্ণ গ্রুপের খুব দীর্ঘ ইন্টারেক্টিভেশন ইতিহাস থাকে। এটি বিশেষ করে সুপারিশ মডেল নির্মাণ করার সময় বিবেচনা করা গুরুত্বপূর্ণ, অত্যন্ত সক্রিয় ব্যবহারকারীদের জন্য অতিরিক্ত যোগ্যতা এড়ানোর এবং কম প্রতিশ্রুতিবদ্ধ ব্যবহারকারীদের "বড় শিকার" এর জন্য গুণমান বজায় রাখা। বিপরীতে, ট্র্যাকগুলির মধ্যে বিতরণ একটি খুব আলাদা গল্প বলে। এই চার্টটি স্পষ্টভাবে খুব জনপ্রিয় ট্র্যাকগুলি এবং একটি বড় পরিমাণে নিক্স বিষয়বস্তু মধ্যে অস্থিতিশীলতা দেখায়: 90% টিরও বেশি ট্র্যাকগুলি পুরো ডেটা সংগ্রহের সময় 100 টিরও কম গেম পেয়েছে। যাইহোক, সুপারিশকারী সিস্টেমগুলি পুরো ক্যাটালগের সাথে কাজ করতে হবে এমনকি কম জনপ্রিয়তার ট্র্যাকগুলি পৃষ্ঠপোষক করতে যা ব্যক্তিগত ব্যবহারকারীর পছন্দগুলির সাথে ভাল সংযুক্ত করে। অ্যালগরিদম কর্মক্ষমতা মূল্যায়ন করার জন্য Yambda ব্যবহার সুপারভাইজার অ্যালগরিদম মানের উপর একাডেমিক গবেষণায় প্রায়ই Leave-one-Out (LOO) পরিকল্পনা ব্যবহার করা হয়, যেখানে একটি ব্যবহারকারীর একক কর্ম পরীক্ষার জন্য সংরক্ষিত হয় এবং বাকিগুলি প্রশিক্ষণের জন্য ব্যবহৃত হয়। যাইহোক, এই পদ্ধতি দুটি গুরুতর অসুবিধা সঙ্গে আসে: টাইমলাইন অনিশ্চয়তা: টেস্ট ইভেন্টগুলি এমন কর্মগুলি অন্তর্ভুক্ত করতে পারে যা প্রশিক্ষণ সেটের আগে ঘটেছে। ব্যবহারকারীদের সমান ওজন: অ্যাক্টিভ ব্যবহারকারীরা কার্যকরী ব্যবহারকারীদের মতোই মূল্যায়ন মিটারগুলিকে প্রভাবিত করে, যা ফলাফলগুলি বিভ্রান্ত করতে পারে। মূল্যায়ন শর্তগুলি বাস্তব বিশ্বের সুপারিশকারী সিস্টেমের পরিস্থিতিগুলির কাছাকাছি আনতে, আমরা একটি বিকল্প প্রস্তাব করি: . global temporal split এই সহজ পদ্ধতিটি ট্রেনিং সেট থেকে সমস্ত পরবর্তী ঘটনাগুলি বাদ দিয়ে একটি সময় পয়েন্ট (T) নির্বাচন করে। এটি নিশ্চিত করে যে মডেলটি ঐতিহাসিক ডেটা অনুসরণ করে এবং ভবিষ্যতের তথ্যের বিরুদ্ধে পরীক্ষা করা হয়, যা একটি বাস্তব উৎপাদন পরিবেশকে অনুসরণ করে। আমাদের মূল্যায়নের জন্য, আমরা দুটি প্রধান কারণে হোলডোট সেট হিসাবে একদিনের ডেটা সংরক্ষণ করেছি: এমনকি একটি দিনের ডেটা মূল্য অ্যালগরিদমের কর্মক্ষমতা নির্ভরযোগ্যভাবে মূল্যায়ন করার জন্য যথেষ্ট পরিমাণ সরবরাহ করে। বাস্তব বিশ্বের উৎপাদনের মডেলগুলির বিভিন্ন বৈশিষ্ট্য রয়েছে: কিছুগুলি প্রায়শই স্ট্যাট আপডেট প্রয়োজন (উদাহরণস্বরূপ, জনপ্রিয়তা ভিত্তিক সুপারিশগুলি), অন্যান্যগুলি নিয়মিতভাবে সাজানো বা পুনরায় প্রশিক্ষণ করা হয় (বোস্টিং, ম্যাট্রিক্স ফ্যাক্টরাইজেশন, দুটি টাওয়ার মডেল), এবং কিছুগুলি ক্রমাগত আপডেট করা ব্যবহারকারীর ইতিহাসগুলির উপর নির্ভর করে (প্রতিষ্ঠা এবং ট্রান্সফরমার ভিত্তিক মডেল)। আমাদের দৃষ্টিকোণ থেকে, একটি একদিনের উইন্ডোটি মডেলগুলি স্থিতিশীল রাখার জন্য সর্বোত্তম মূল্যায়ন সময় যাতে সংক্ষিপ্ত দীর্ঘমেয়াদী প্রবণতাগুলি ক্যাপচার করা যায়। এই পদ্ধতির অসুবিধা হল যে এটি দীর্ঘমেয়াদী প্যাটার্ন, যেমন সাপ্তাহিক গান শোনার আচরণের পরিবর্তনগুলি বিবেচনা করে না. আমরা ভবিষ্যতের গবেষণার জন্য এই দিকগুলি ছেড়ে দেওয়ার পরামর্শ দিচ্ছি. বেসলিন আমরা ভবিষ্যতের গবেষণা এবং তুলনা জন্য ভিত্তি নির্ধারণ করার জন্য Yambda এ বেশ কয়েকটি জনপ্রিয় সুপারিশকারী অ্যালগরিদম মূল্যায়ন করেছি। আমরা পরীক্ষা করেছি অ্যালগরিদমগুলি অন্তর্ভুক্ত: MostPop, DecayPop, ItemKNN, iALS, BPR, SANSA, এবং SASRec। মূল্যায়নের জন্য আমরা নিম্নলিখিত মিটার ব্যবহার করেছি: NDCG@k (Normalized Discounted Cumulative Gain), যা সুপারিশগুলিতে র্যাংকিংয়ের গুণমান পরিমাপ করে। Recall@k, যা অ্যালগরিদমের সামগ্রিক পুল থেকে প্রাসঙ্গিক সুপারিশগুলি পুনরুদ্ধার করার ক্ষমতা মূল্যায়ন করে। Coverage@k, যা নির্দেশ করে যে সুপারিশ ক্যাটালগ কতটা ব্যাপকভাবে প্রতিনিধিত্ব করা হয়েছে। ফলাফলগুলি টেবিলগুলিতে প্রদান করা হয়, এবং কোডটি উপলব্ধ . Hugging Face মুখ খোঁজে উপসংহার Yambda বড় আকারের ডেটা উপর সুপারিশ অ্যালগরিদমের গবেষণা করার জন্য মূল্যবান হতে পারে, যেখানে উভয় কর্মক্ষমতা এবং আচরণের দৈনন্দিনিকে মডেল করার ক্ষমতা গুরুত্বপূর্ণ। ডাটা সেটটি তিনটি সংস্করণে পাওয়া যায়: 5 বিলিয়ন ইভেন্টের একটি সম্পূর্ণ সেট এবং 500 মিলিয়ন এবং 50 মিলিয়ন ইভেন্টের একটি ছোট সাবসেট। ডেভেলপার এবং গবেষকরা তাদের প্রকল্প এবং কম্পিউটার সম্পদগুলির জন্য সবচেয়ে উপযুক্ত সংস্করণটি বেছে নিতে পারেন। . Hugging Face মুখ খোঁজে মুখ খোঁজে আমরা আশা করি এই ডাটা সেট আপনার পরীক্ষা এবং গবেষণা মধ্যে উপকারী প্রমাণ! পড়ার জন্য ধন্যবাদ!