durjoysawonbd/bangla-name-generator
0
বাংলা নাম জেনারেটর - Hugging Face Space
প্রকল্প সম্পর্কে
এই প্রকল্পটি হাগিং ফেস (Hugging Face) স্পেসে হোস্ট করা একটি ওয়েব অ্যাপ্লিকেশন, যা ব্যবহারকারীদের বাংলা নাম সাজেশন প্রদান করে। ব্যবহারকারী একটি নাম, লিঙ্গ এবং ধর্মের প্রেফারেন্স দেওয়ার পর, এই অ্যাপ্লিকেশনটি জেনারেট বাটনে ক্লিক করলে বেশ কিছু অনুরূপ নাম সাজেশন করে।
ডাটাসেট: durjoysawonbd/bangla-names-dataset
বৈশিষ্ট্য
- প্রথম অক্ষর মিল: জেনারেট করা নামের প্রথম অক্ষর ইনপুট নামের প্রথম অক্ষরের সাথে মিল থাকে
- হারমোনিয়াম মিল: নতুন নামগুলোর মধ্যে হারমোনিয়াম মিল খুঁজে বের করা হয়
- ধর্ম ভিত্তিক ফিল্টারিং: ইসলাম, হিন্দু বা কমন নাম ফিল্টার করার অপশন
- লিঙ্গ ভিত্তিক ফিল্টারিং: ছেলে এবং মেয়ে নাম ফিল্টার করার অপশন
- পদবি সমর্থন: ইনপুট নামে পদবি থাকলে, সেটি সনাক্ত করে সাজেশন করা নামের সাথে যুক্ত করা হয়
- নামের অর্থ: প্রতিটি সাজেশন করা নামের অর্থ প্রদর্শন করা হয় (যদি ডাটাবেসে থাকে)
- সাজেশন ডাউনলোড: সাজেশন করা নামগুলো .txt ফাইল হিসেবে ডাউনলোড করার সুবিধা
ব্যবহার নির্দেশনা
- নাম ইনপুট: আপনার পছন্দের নাম লিখুন
- লিঙ্গ নির্বাচন: "ছেলে" বা "মেয়ে" অপশন নির্বাচন করুন
- ধর্ম নির্বাচন: "সকল", "হিন্দু", "মুসলিম" বা "কমন" নির্বাচন করুন
- জেনারেট: "নাম জেনারেট করুন" বাটনে ক্লিক করুন
- ফলাফল: সাজেশন করা নামগুলো দেখুন এবং প্রয়োজনে ডাউনলোড করুন
ইনস্টলেশন এবং সেটআপ
যদি আপনি এই প্রকল্পটি লোকালি রান করতে চান:
- রিপোজিটরি ক্লোন করুন:
git clone https://huggingface.co/spaces/your-username/bangla-name-generator
cd bangla-name-generator- প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:
pip install -r requirements.txt- অ্যাপ্লিকেশন রান করুন:
streamlit run app.pyHugging Face Spaces সেটআপ
এই অ্যাপ্লিকেশনটি Hugging Face Spaces-এ ডেপ্লয় করার জন্য:
- Hugging Face-এ একটি অ্যাকাউন্ট তৈরি করুন
- নতুন Space তৈরি করুন (SDK হিসেবে Streamlit নির্বাচন করুন)
- এই প্রজেক্ট ফাইলগুলি আপলোড করুন
- ডেপ্লয়মেন্ট সেটিংস-এ durjoysawonbd/bangla-names-dataset ডাটাসেট ব্যবহার করার সেটিং করুন
ডাটাসেট ফরম্যাট
এই অ্যাপ্লিকেশন তিনটি JSON ফাইল ব্যবহার করে:
- boy_names.json: ছেলেদের নামের ডাটাসেট
[
{
"name": "আবির",
"religion": "hindu",
"meaning": "সূর্যের রশ্মি"
},
...
]- girl_names.json: মেয়েদের নামের ডাটাসেট
[
{
"name": "অনিন্দিতা",
"religion": "hindu",
"meaning": "নিন্দাহীন, সুন্দরী"
},
...
]- surnames.json: পদবির ডাটাসেট
[
{
"name": "আহমেদ",
"religion": "muslim"
},
...
]অ্যালগরিদম বিবরণ
নাম সাজেশন করার জন্য অ্যাপ্লিকেশনটি নিম্নলিখিত পদ্ধতি ব্যবহার করে:
- প্রাথমিক ফিল্টারিং: লিঙ্গ এবং ধর্ম অনুযায়ী ফিল্টার করা
- প্রথম অক্ষর মিল: ইনপুট নামের প্রথম অক্ষরের সাথে মিল খুঁজে বের করা
- সিমিলারিটি স্কোর: নিম্নলিখিত পদ্ধতি দ্বারা নামের মিল খুঁজে বের করা:
- সরাসরি অক্ষর মিল (exact matching)
- ফোনেটিক মিল (phonetic similarity)
- কমন অক্ষর অনুপাত (common letter ratio)
- পদবি সনাক্তকরণ: ইনপুট নামে পদবি আছে কিনা চেক করা এবং সেই অনুযায়ী সাজেশন করা নামে পদবি যুক্ত করা
- রেজাল্ট সর্টিং: সর্বোচ্চ মিল অনুসারে নাম সর্ট করা
যোগাযোগ ও অবদান
যদি আপনি এই প্রজেক্ট সম্পর্কে প্রশ্ন বা পরামর্শ থাকে, অথবা ডাটাসেট আপডেট করতে চান, আমাদের সাথে যোগাযোগ করুন।
লাইসেন্স
এই প্রকল্পটি MIT লাইসেন্সের অধীনে মুক্ত করা হয়েছে।
