زبان فارسی در دنیای دیجیتال گاهی به شکلی غیررسمی و ساده با کاراکترهای انگلیسی (فینگلیش) نوشته میشود. این نوع نوشتار در پیامها، چتها و حتی برخی سایتهای غیررسمی بسیار رایج است. اما تبدیل این متنها به فارسی استاندارد، به خصوص در محیطهای برنامهنویسی، چالشبرانگیز است.
بیشتر بخوانید : یک شوخی ویروسی با پایتون!
در این مقاله در سایت کداکسپلور، قصد داریم یک راهکار ساده و مؤثر برای تبدیل متن فارسی به فینگلیش و برعکس در پایتون ارائه دهیم. ما از یک دیکشنری برای نگاشت حروف و ترکیبات فینگلیش به معادلهای فارسی استفاده میکنیم و با کمک کتابخانهی قدرتمند hazm
متن فارسی تولیدشده را نرمالسازی میکنیم. این روش بهسادگی قابل پیادهسازی است و میتواند در پروژههای مختلف از جمله چتباتها، ابزارهای پردازش زبان طبیعی (NLP) و سیستمهای پیامرسان مورد استفاده قرار گیرد.
بیشتر بدانید
پردازش زبان طبیعی (NLP) یکی از زیرشاخههای علوم کامپیوتر و هوش مصنوعی (AI) است که با استفاده از یادگیری ماشین به رایانهها امکان میدهد زبان انسان را درک کرده و با آن ارتباط برقرار کنند.
مراحل تبدیل فینگلیش به فارسی
1. ایجاد نسبت فینگلیش به فارسی
برای شروع، اولین گام ساخت یک دیکشنری است که در آن کلیدها کاراکترهای فینگلیش و مقادیر معادلهای فارسی آنها هستند. این نگاشت(نسبت) به شما اجازه میدهد تا هر کاراکتر انگلیسی یا ترکیبی از کاراکترها را به معادل فارسیاش تبدیل کنید.
# دیکشنری تبدیل فینگلیش به فارسی finglish_to_farsi = { 'a': 'ا', 'b': 'ب', 'c': 'ک', 'd': 'د', 'e': 'ه', 'f': 'ف', 'g': 'گ', 'h': 'ح', 'i': 'ی', 'j': 'ج', 'k': 'ک', 'l': 'ل', 'm': 'م', 'n': 'ن', 'o': 'و', 'p': 'پ', 'q': 'ق', 'r': 'ر', 's': 'س', 't': 'ت', 'u': 'و', 'v': 'و', 'w': 'و', 'x': 'کس', 'y': 'ی', 'z': 'ز', 'ch': 'چ', 'sh': 'ش', 'kh': 'خ', 'gh': 'غ', 'zh': 'ژ', 'th': 'ث', 'ph': 'ف', 'oo': 'و', 'aa': 'ا', 'ee': 'ی', 'ou': 'و', 'ei': 'ی' }
این دیکشنری ترکیبات مهم فینگلیش را بهصورت دستی به معادلهای فارسیشان نسبت میدهد.
2. پیادهسازی تبدیل با پایتون
حال که دیکشنری نگاشت داریم، میتوانیم یک تابع ساده بنویسیم که متن ورودی فینگلیش را دریافت کرده و با استفاده از این دیکشنری به فارسی تبدیل کند.
def convert_finglish_to_farsi(text): sorted_keys = sorted(finglish_to_farsi.keys(), key=len, reverse=True) for key in sorted_keys: text = text.replace(key, finglish_to_farsi[key]) return text
این تابع ابتدا کلیدهای دیکشنری را بر اساس طولشان مرتب میکند تا ترکیبات چندحرفی اول تبدیل شوند. سپس هر کاراکتر یا ترکیب فینگلیش را به معادل فارسیاش تبدیل میکند.
3. نرمالسازی با Hazm
پس از تبدیل متن فینگلیش به فارسی، برای بهبود خوانایی و رفع مشکلات احتمالی، از کتابخانه hazm
استفاده میکنیم. این کتابخانه قابلیتهای نرمالسازی متن فارسی را در اختیار ما قرار میدهد. ابتدا آن را نصب می کنیم:
pip install hazm
حالا کدمان را می نویسیم:
from hazm import Normalizer def normalize_text(text): normalizer = Normalizer() return normalizer.normalize(text)
این تابع با استفاده از hazm
متن فارسی را نرمالسازی میکند و به شما کمک میکند تا متنی با استانداردهای نگارشی بهتر داشته باشید.
4. اجرای کامل برنامه
با ترکیب این مراحل، حالا میتوانید یک متن فینگلیش را بهسادگی به فارسی تبدیل و سپس نرمالسازی کنید:
# متن فینگلیش finglish_text = "salam chetori? khosh amadid be barnamemon!" # تبدیل فینگلیش به فارسی farsi_text = convert_finglish_to_farsi(finglish_text) # نرمالسازی متن فارسی farsi_text_normalized = normalize_text(farsi_text) print("Converted text:", farsi_text_normalized)
نتیجه اجرای برنامه
با اجرای این کد، متن فینگلیش:
salam chetori? khosh amadid be barnamamoon :به این متن میرسیم سلام چطوری؟ خوش آمدید به برناممون
تبدیل فارسی به فینگلیش با پایتون
تبدیل فارسی به فینگلیش نیز یکی از نیازهای متداول کاربران است. پایتون این امکان را میدهد که با استفاده از روشهای نگاشت حروف، این تبدیل را انجام دهید. استفاده از کتابخانههایی مانند persia
n برای این منظور بسیار کارآمد است.
نمونه کد:
import persian persian_text = "سلام چطوری؟" finglish_text = persian.transliterate(persian_text) print(finglish_text) # salam chetori?
چالشهای تبدیل فینگلیش به فارسی و بالعکس
با وجود اینکه تبدیل متون از فینگلیش به فارسی و بالعکس میتواند بسیار کاربردی باشد، اما چالشهای خاص خود را دارد:
- چندمعنایی کلمات: برخی کلمات در فینگلیش ممکن است چندین معادل فارسی داشته باشند، که باعث سردرگمی در انتخاب ترجمه صحیح میشود. به عنوان مثال، کلمه “sal” میتواند به معنای “سال” یا “سل” باشد.
- تفاوت در نوشتار کلمات مشابه: افراد مختلف ممکن است یک کلمه واحد را به شیوههای متفاوتی در فینگلیش بنویسند، مانند “chetori” و “chitori” که هر دو به معنای “چطوری” هستند.
همچنین بخوانید: آموزش FTP در پایتون
نتیجهگیری
تبدیل متن فینگلیش به فارسی با استفاده از پایتون و ابزارهای سادهای مثل دیکشنری نگاشت و کتابخانهی hazm
میتواند در پروژههای مختلفی کاربرد داشته باشد. این راهکار ساده و انعطافپذیر است و میتوان آن را برای نیازهای خاص گسترش داد.
از شما دعوت میکنیم که نظرات و تجربیات خود را در این زمینه با ما به اشتراک بگذارید. آیا روشهای دیگری برای تبدیل فارسی به فینگلیش میشناسید؟ منتظر شنیدن نظرات شما هستیم!
6 پاسخ
سلام مرسی از مقالتون. هیچ وقت نفهمیدم چرا یه سریا حال عوض کردن زبان کیبردشونو ندارن که فارسی بنویسن
خوشحالیم که خوشتون اومده. منم همینطور.
عالی 🔥🔥
خوشحالیم که خوشتون اومده
ممنون میشم یک پست در رابطه با هک و امینت در پایتون بسازید که یعنی چی و چطوری میشه توی پایتون همچین کاری کرد و …
و یک مثالی هم ازش توی پایتون بزنید
ایده خوبیه ، به زودی اجراش میکنیم.