آموزش پایتون | هوش مصنوعی | voidcompile
5.92K subscribers
246 photos
48 files
58 links
یادگیری برنامه نویسی، هوش مصنوعی، دیتا ساینس و پروژه‌های تحقیقاتی

Python | Machine Learning | Biopython | AI

مطالب آموزشی ، تحقیقاتی ، پروژه محور و پژوهشی برای
علاقه مندان به یادگیری برنامه نویسی
Download Telegram
آموزش پایتون | هوش مصنوعی | voidcompile
کد قست ۱۳ ام : import re def check_password_strength(password): strength = 0 remarks = "" # Check password length if len(password) >= 8: strength += 1 else: remarks += " Too short (minimum 8 characters).\n" # Check…
🔍آموزش زبان برنامه نویسی پایتون با کد قسمت ۱۴ ام :

آموزش تشخیص زبان متن با پایتون | پروژه تشخیص زبان خودکار با آنالیز فرکانس حروف

در این آموزش برنامه نویسی پایتون، یک پروژه جالب و کاربردی داریم: تشخیص زبان متن ورودی فقط با کمک فرکانس حروف! 📊

این کد پایتونی به صورت خودکار متن‌هایی به زبان‌های مختلف رو تحلیل می‌کنه و با محاسبه فاصله آماری، زبان اصلی متن رو شناسایی می‌کنه. بدون نیاز به کتابخانه سنگین یادگیری ماشین، فقط با منطق و ریاضی ساده!

📌 نکات مهم:

آموزش تحلیل زبان در پایتون

پروژه ساده اما پیشرفته برای یادگیری الگوریتم‌های آماری

مناسب برای پروژه‌های NLP، تحلیل داده، شناسایی زبان اتوماتیک و آموزش هوش مصنوعی


🧠 یاد می‌گیری:

استفاده از دیکشنری برای ذخیره فرکانس حروف

محاسبه فاصله اقلیدسی بین دو بردار فرکانس

مقایسه داده‌ها برای پیش‌بینی زبان متن


🔐 مناسب برای: آموزش پایتون، علوم داده، یادگیری ماشین، Natural Language Processing، پروژه‌های دانشجویی

# Reference frequency of letters in English and French
english_freq = {
'a': 8.167, 'b': 1.492, 'c': 2.782, 'd': 4.253, 'e': 12.702,
'f': 2.228, 'g': 2.015, 'h': 6.094, 'i': 6.966, 'j': 0.153,
'k': 0.772, 'l': 4.025, 'm': 2.406, 'n': 6.749, 'o': 7.507,
'p': 1.929, 'q': 0.095, 'r': 5.987, 's': 6.327, 't': 9.056,
'u': 2.758, 'v': 0.978, 'w': 2.361, 'x': 0.150, 'y': 1.974, 'z': 0.074
}

french_freq = {
'a': 7.636, 'b': 0.901, 'c': 3.260, 'd': 3.669, 'e': 14.715,
'f': 1.066, 'g': 0.866, 'h': 0.737, 'i': 7.529, 'j': 0.613,
'k': 0.049, 'l': 5.456, 'm': 2.968, 'n': 7.095, 'o': 5.796,
'p': 2.521, 'q': 1.362, 'r': 6.553, 's': 7.948, 't': 7.244,
'u': 6.311, 'v': 1.628, 'w': 0.114, 'x': 0.387, 'y': 0.308, 'z': 0.136
}

from collections import Counter
import string

def get_letter_frequency(text):
text = text.lower()
filtered_text = ''.join(filter(str.isalpha, text)) # Remove non-letter chars
total = len(filtered_text)
counter = Counter(filtered_text)
freq = {char: (counter.get(char, 0) / total) * 100 for char in string.ascii_lowercase}
return freq

def compare_lang(text_freq, ref_freq):
# Compute sum of squared differences
return sum((text_freq[char] - ref_freq[char]) ** 2 for char in string.ascii_lowercase)

# Sample input
text_input = "Bonjour, je m'appelle Jean et j'aime coder en Python!"

# Step 1: Get text letter frequencies
text_freq = get_letter_frequency(text_input)

# Step 2: Compare to each language
english_score = compare_lang(text_freq, english_freq)
french_score = compare_lang(text_freq, french_freq)

# Step 3: Determine language
detected_lang = "French" if french_score < english_score else "English"

print(f"📄 Input: {text_input}")
print(f"🔍 Detected Language: {detected_lang}")
print(f"📊 English Score: {english_score:.2f} | French Score: {french_score:.2f}")

🧠 این کد چیکار میکنه؟

1. فرکانس حروف متن ورودی رو حساب می‌کنه.

2. با جدول فرکانس زبان انگلیسی و فرانسوی مقایسه می‌کنه.

3. بررسی می‌کنه کدوم فاصله کمتره (یعنی به اون زبان نزدیک‌تره).

4. در نهایت زبان متن رو تشخیص میده.

#LearnPython@voidcompile
#LearnPython14@voidcompile
💻@voidcompile
158💯57🔥34👍28🏆20🗿10