PyKadeh
72 subscribers
23 photos
6 videos
12 links
💻 توسعه‌دهنده پایتون و راهکارهای هوشمند
🏢 GoDaddy

🔹 تخصص: Deep Learning & Machine Learning 🔹 فریم‌ورک‌ها: TensorFlow | PyTorch | Django 🔹 طراحی سیستم‌های مقیاس‌پذیر و ربات‌های پیشرفته

ارتباط: @ITheEqualizer
Download Telegram
Channel created
Please open Telegram to view this post
VIEW IN TELEGRAM
Channel photo updated
پروژه ربات تلگرام تشخیص اسپم با استفاده از یادگیری ماشین تکمیل و به صورت اوپن سورس منتشر شد.

دقت کنید که باید یک دیتاست داشته باشید چون از RL استفاده نشده ولی داخل ربات یک دستور قرار دادم برای جمع‌آوری دیتاست.

https://github.com/ITheEqualizer/Spam-detector-telegram-bot
1
x = "10"
y = 5
print (x * y)
1
🔥 لیست فشرده‌سازی شده (List Comprehension) در پایتون

یکی از ویژگی‌های فوق‌العاده پایتون، List Comprehension هست. این قابلیت باعث میشه بتونی در یک خط کد، لیست‌های پیچیده بسازی و کدت هم خواناتر بشه.

مثال ساده:
فرض کن می‌خوای مربع اعداد ۱ تا ۱۰ رو داخل یه لیست بریزی:
squares = [x**2 for x in range(1, 11)]
print(squares)


📌 خروجی:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

به جای نوشتن چند خط حلقه for و append، همه چیز توی یک خط نوشته شده!

عددهای زوج ۱ تا ۲۰ رو می‌خوای؟ خیلی راحت:
evens = [x for x in range(1, 21) if x % 2 == 0]
print(evens)


📌 خروجی:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]


این ویژگی فقط برای ساخت لیست نیست؛ برای Dictionary و Set هم قابل استفاده‌ست.
1
تعویض مقدار دو متغیر در یک خط!

در بیشتر زبان‌های برنامه‌نویسی، برای جابه‌جا کردن مقدار دو متغیر باید از یه متغیر موقت استفاده کنی. مثلاً:
a = 5
b = 10

temp = a
a = b
b = temp


ولی پایتون میگه: «چرا این‌همه دردسر؟ 😏»
تو فقط بنویس:
a, b = b, a

و تمام! 🎉

📌 خروجی:
a = 10
b = 5


این سینتکس فقط برای تعویض نیست!
می‌تونی ازش برای چند انتساب (Multiple Assignment) هم استفاده کنی:
x, y, z = 1, 2, 3

یا حتی برای برگردوندن چند مقدار از یه تابع:
def get_point():
return (3, 7)

x, y = get_point()
print(x, y) # 3 7
11
مدل های یادگیری ماشین گستردگی خیلی زیادی دارند

گاهی اوقات از من سوال پرسیده میشه که کدام مدل رو فقط یاد بگیریم چون می‌خوایم روی یکی سرمایه‌گذاری کنیم فقط.

در پاسخ به این سوال باید بگم که این مورد عملاً ممکن نیست چرا که شما نیاز به استفاده از مدل با توجه به سناریو خود دارید، مثلاً برای تشخیص بیماری امکان استفاده از رگرسیون وجود ندارد و بالعکس برای محاسبه قیمت احتمالی یک خانه، از درخت تصمیم.

سعی کنید در ابتدا فیلد فعالیتی خودتون رو آنالیز کنید چرا که برای هر فیلد معمولاً بیشتر از یک مدل وجود داره و شما باید با آزمون و خطا، به بهترین عملکرد دست پیدا کنید.
1
🔢 تبدیل عددهای نوشته‌شده با حروف به عدد واقعی در پایتون!

با استفاده از کتابخونه‌ی numerizer می‌تونید عددهایی که به صورت متنی نوشته شدن (مثل four hundred and sixty one) رو به عدد واقعی تبدیل کنید 🔥

مثلاً:
from numerizer import numerize

print(numerize('four hundred and sixty one'))
# '461'

print(numerize('four hundred sixty one'))
# '461'

print(numerize('four sixty one'))
# '461'

print(numerize('four sixty-one'))
# '461'

📘 این کتابخونه به‌صورت خودکار انواع حالت‌های نوشتاری عددها رو تشخیص میده و اون‌ها رو به عدد صحیح تبدیل می‌کنه.
خیلی کاربردیه وقتی کارتون با پردازش متن (NLP) یا ورود داده‌های متنی هست.

کتابخونه‌ی numerizer فقط با عددهای انگلیسی کار می‌کنه (مثل “four hundred and sixty one”)
ولی برای اعداد فارسی یا متنی فارسی (مثل «چهارصد و شصت و یک») هنوز کتابخونه‌ی مستقیمی مثل numerizer وجود نداره که دقیق و کامل کار کنه.
با این حال، چند تا روش و راه‌حل کاربردی هست:

🧩 روش ۱: استفاده از کتابخونه‌ی آماده برای فارسی
pip install text2numfa

سپس:
from text2numfa import text2num

print(text2num("چهارصد و شصت و یک")) # 461
print(text2num("دوازده هزار و پانصد و چهل")) # 12540

پشتیبانی از اعداد فارسی
دقیق و ساده
نسبتاً کمتر شناخته‌شده و ممکنه در بعضی حالت‌ها خطا بده

🧩 روش ۲: استفاده از مدل‌های NLP (اگر خواستی هوشمندتر باشه)
مثلاً با مدل‌های فارسی HuggingFace می‌تونی متن رو تجزیه و معنی عدد رو پیدا کنی، ولی این برای پروژه‌های پیشرفته‌تره (مثلاً چت‌بات یا پردازش زبان طبیعی).

🧩 روش ۳: ساخت تابع ساده خودت
برای پروژه‌های کوچک، می‌تونی خودت یک دیکشنری بنویسی:
numbers = {
"یک": 1, "دو": 2, "سه": 3, "چهار": 4, "پنج": 5,
"شش": 6, "هفت": 7, "هشت": 8, "نه": 9, "ده": 10,
"صد": 100, "هزار": 1000
}

def text_to_num_fa(text):
parts = text.split(" و ")
total = 0
for part in parts:
for key, value in numbers.items():
if key in part:
total += value
return total

print(text_to_num_fa("چهارصد و شصت و یک"))

البته این نسخه‌ی ساده است و میشه خیلی حرفه‌ای‌ترش کرد تا عددهای ترکیبی رو درست محاسبه کنه.
1
This media is not supported in your browser
VIEW IN TELEGRAM
نسخه اولیه چت بات پشتیبانی

به زودی در قالب یک پروژه جنگو به صورت اوپن سورس، منتشر خواهد شد.

روی ویدئو زوم کنید، مک خیلی‌ دردسر داره برای ضبط. 🥱
21
چت بات هوشمند با استفاده از fasttext embedding منتشر شد

برای بک اند از جنگو استفاده شده و کاربر میتونه سوالات مد نظرش رو اونجا تعریف کنه و مدل سوالی که کاربر می‌پرسه رو با سوالاتی که وارد کردید تطبیق میده و هر کدوم شبیه تر بود، جواب رو به کاربر نشون میده.

ضمناً چون مدل local هست، هزینه‌ای هم نداره.

https://github.com/ITheEqualizer/Chatbot
51