প্রকল্প সম্পর্কে

BERTopic একটি টপিক মডেলিং কৌশল যা ট্রান্সফরমার এমবেডিং এবং c-TF-IDF ব্যবহার করে ঘন ক্লাস্টার তৈরি করে, যা সহজে ব্যাখ্যাযোগ্য টপিক তৈরি করে এবং টপিক বর্ণনায় গুরুত্বপূর্ণ শব্দগুলো ধরে রাখে। এটি MIT লাইসেন্সের অধীনে একটি পাইথন প্যাকেজ (Python 3.10+) হিসেবে বিতরণ করা হয়, সাথে একটি arXiv পেপারও রয়েছে। মূল কাজের ধারা: ডকুমেন্টগুলো এমবেড করা হয়, এমবেডিংয়ের মাত্রা কমানো হয় (সাধারণত UMAP), টপিকে ক্লাস্টার করা হয় (সাধারণত HDBSCAN), টোকেনাইজ করা হয়, c-TF-IDF দিয়ে ওজন করা হয় এবং অবশেষে টপিক বর্ণনা হিসেবে উপস্থাপন করা হয়। এই প্রতিটি ধাপ মডুলার এবং পরিবর্তন বা বাদ দেওয়া যায়, তাই ব্যবহারকারীরা কাস্টম পাইপলাইন তৈরি করতে পারেন বা ডিফল্ট পদ্ধতির উপর ভিত্তি করে বিকল্প টপিক মডেলিং কৌশল অন্বেষণ করতে পারেন। সমর্থিত টপিক মডেলিং ভ্যারিয়েশনগুলোর মধ্যে রয়েছে গাইডেড, সুপারভাইজড, সেমি-সুপারভাইজড, ম্যানুয়াল, মাল্টি-টপিক ডিস্ট্রিবিউশন, হায়ারার্কিক্যাল, ক্লাস-ভিত্তিক, ডাইনামিক (সময়ের সাথে টপিক), অনলাইন/ইনক্রিমেন্টাল, মাল্টিমোডাল, মাল্টি-অ্যাসপেক্ট, টেক্সট জেনারেশন/LLM, জিরো-শট, মডেল মার্জিং এবং সিড ওয়ার্ড। README-তে ৫০+ ভাষা কভার করে এমন একটি ভাষা সেটিংয়ের মাধ্যমে মাল্টিলিঙ্গুয়াল সাপোর্টও হাইলাইট করা হয়েছে। টপিক রিপ্রেজেন্টেশনগুলো KeyBERTInspired বা LLM-ভিত্তিক মডেল (যেমন OpenAI মডেল) ব্যবহার করে লেবেল, সারাংশ, বাক্যাংশ এবং কীওয়ার্ড তৈরি করার মতো অপশন দিয়ে পরিমার্জন করা যায়। মাল্টি-অ্যাসপেক্ট রিপ্রেজেন্টেশন একাধিক রিপ্রেজেন্টেশন একসাথে মডেল করার অনুমতি দেয়। সাধারণ API পদ্ধতিগুলোর মধ্যে রয়েছে fit, fit_transform, transform, get_topic, get_topics, get_topic_freq, get_topic_info, get_document_info, get_representative_docs, update_topics, generate_topic_labels, set_topic_labels, merge_topics, reduce_topics, reduce_outliers, find_topics, save এবং load। আন্ডারস্কোর দিয়ে শেষ হওয়া পাবলিক অ্যাট্রিবিউটগুলো টপিক, প্রোবাবিলিটি, টপিক সাইজ, টপিক রিপ্রেজেন্টেশন, c-TF-IDF ম্যাট্রিক্স, টপিক অ্যাসপেক্ট, লেবেল, টপিক এমবেডিং এবং প্রতিনিধি ডকুমেন্ট প্রকাশ করে। ভিজ্যুয়ালাইজেশন পদ্ধতিগুলোর মধ্যে রয়েছে visualize_topics, visualize_documents, visualize_hierarchical_documents, visualize_hierarchy, get_topic_tree, visualize_barchart, visualize_heatmap, visualize_term_rank, visualize_distribution, visualize_topics_over_time এবং visualize_topics_per_class। ইনস্টলেশন uv বা pip এর মাধ্যমে করা যায়, সাথে এমবেডিং ব্যাকএন্ড (flair, gensim, spacy, use), ভিশন এবং ট্রান্সফরমার, UMAP বা HDBSCAN ছাড়া একটি লাইটওয়েট ইনস্টলেশনের জন্য ঐচ্ছিক এক্সট্রা রয়েছে। ডকুমেন্টেশন, Colab নোটবুক এবং Kaggle উদাহরণ README থেকে লিংক করা আছে।