نویسه‌گردانی یعنی تبدیل خودکار صورت یک کلمه از زبان مبدا به زبان مقصد، به طوری که تلفظ کلمه حفظ گردد. برای مثال هدف از نویسه گردانی تبدیل "salam" به "سلام" می‌باشد.

۱. مقدمه

در اینترنت، در پاسپورت، در مکاتبات بین المللی، در مسابقات ورزشی و فرم ها و . . . ناگزیر هستیم تا نام خود را با حروف انگلیسی بنویسیم.همچنین گاه برخی در ارسال SMS کلمات فارسی را با حروف انگلیسی می نویسند.همواره نمایش شکل نوشتاری و تلفظی نام های خاص جغرافیایی و اشخاص و اصطلاحات فرهنگی فارسی در متن های غیرفارسی و به ویژه اروپایی مشکل و نابسامان بوده است. تنها نگاهی به چند دایره المعارف مانند ایرانیکا، اسلام، بریتانیکا و یا برخی از کتاب های تاریخ، تاریخ ادبیات و مانند اینها نشان می دهد که چه شیوه های متفاوتی وجود دارد. اغلب آنها آمیزه ی نامشخصی از نویسه گردانی و آوانویسی و نماینده ی مخلوطی از گونه های کهن و امروزی فارسی و حتی عربی هستند. در زمینه ی کتابداری و اطلاع رسانی که نام ها، عنوان ها و کلیدواژه ها در مرتب سازی، جستجو و بازیابی اطلاعات نقش اساسی دارند، مسئله جدی تر می شود و هنگامی که صحبت از رایانه و خودکارسازی این فعالیت ها به میان آید، این ناهماهنگی ها کار را ناممکن می سازد.

نویسه گردانی (حرف نگاری یا حرف نویسی) شیوه ای است که در آن یک حرف از یک نظام نوشتاری را با حرفی از نظام نوشتاری دیگر نشان می دهیم و آن در واقع نمایش یا نوشتن لغات و حروف یک زبان با حروف یا الفبای زبان دیگر است.سازمان بین المللی استاندارد transliteration را چنین تعریف می کند:« فرایند ضبط نمادهای نوشتاری یک نظام الفبایی با استفاده از نمادهای نوشتاری متناظر در دستگاه الفبای زبان دیگر».

در نویسه گردانی صورت نوشتاری کلمات و جملات مورد نظر است به طوری که در صورت لزوم به آسانی بتوان از روی نویسه گردانی شده صورت نوشتاری اصلی را بازسازی کرد و بنابراین ارزش آن در همان «برگشت پذیر» بودن آن است. همچنین مواردی یافت میشود که امکان نوشتن واژه مورد نظر به صورت‌های گوناگون در آن وجود دارد و چه بسا در جمله‌ها و اصطلاحات حالت تلفظ با شیوه نوشتن فرق کند و یا حروفی مشابه به نظر بیایند؛ اما از نظر تلفظ و مخارج حروف متفاوت باشند.

۲. کارهای مرتبط

به طور کلی نویسه گردانی کلمات به سه روش عمده تقسیم بندی می شود.نویسه گردانی بر اساس حرف، بر اساس واج و تلفیقی از این دو روش. روش های بر اساس حرف نگاشت مستقیمی بین کلمات به زبان اصلی و نویسه آنها به زبان هدف برقرار می کنند. در حالی که روش های بر اساس واج از یک واسط به منظور به دست آوردن معادل در زبان هدف استفاده می نمایند. در هر دو روش با شکستن کلمه اولیه، کلمه را به چند قسمت تقسیم نموده و عمل نگاشت را بین قسمت های به دست آمده انجام می دهند.متداول ترین روش در نویسه گردانی نگاشت حروف فارسی به انگلیسی است . در کنار آن می توان از روش مبتنی بر پیکره استفاده کرد که به روش تجربی معروف است و در آن از منبعی از اطلاعات که به طور عمده شامل لغات است جهت تبدیل استفاده می شود. به عنوان نمونه نحوه تبدیل متن در ویرایشگر به نویس به این صورت است:

1)برای نوشتن اکثر حروف میتوان از معادل انگلیسی طبیعی‌ آن استفاده کرد، مثلا ب را با b و گ را با g نوشت.

۲) برای نگارش بقیهٔ حروف فارسی مثل ث در تثبیت یا ظ در ظاهر ابتدا کلمه را به صورت معمول با حروف لاتین بنویسید. مثل tasbit یا zaaher, سپس روی کلمهٔ تبدیل شده به فارسی کلیک کنید. پنجره‌ای باز خواهد شد که در آن میتوانید تمامی حروف کلمه را تصحیح فرمایید. تصحیح شما از این به بعد در خاطر این سایت خواهد ماند.

به نویس

۳) همچنین میتوانید برای نوشتن سریع بعضی حروف فارسی از معادل های زیر استفاده کنید:

aa الف
a' ع
t' ط
z' ظ
q, gh ق
q', gh' غ
x، kh خ
zh ژ
ch چ

۴) بهتر است پیشوند و پسوندها را به صورت جدا بنویسید. بطور مثال: نماینده‌ها = namayande ha و بی‌غرض = bi gharaz. بیشتر پسوند و پیشوند‌های فارسی بطور خودکار تشخیص داده شده و به کلمه به طور صحیح چسبانده میشوند.

۵) کلمات دو قسمتی را با خط فاصله بنویسید: علی‌نژاد = ali-nezhaad، نو‌آوری = no-aavari, فوق‌العاده = fogh-alaadeh.

۶) برای نوشتن کلمات لاتین در متن فارسی در ابتدای آن علامت \ یا / قرار دهید. مثلا برای نوشتن book از /book یا \book استفاده کنید. آدرس‌های اینترنتی و ایمیل (مثل www.google.com یا someone@google.com) به صورت خودکار تشخیص داده میشوند و نیازی به افزودن این علامت‌ها به ابتدای آنها وجود ندارد.

در روش های پیشنهادی همچنین از مدل بیشترین بی نظمی 1که جزو روش های یادگیری تمایزی2 است استفاده شده است. این روش برای یادگیری از تعدادی ویژگی استفاده می کند مانند ویژگی های صدادار-بی صدا و n-gram. در ویژگی اول نوع دیگری از دسته بندی حروف به کار گرفته می شود مثلا حروف بیصدای فارسی را می توان به 6 گروه تقسیم بندی کرد. n-gram برای کلمه مبدا علاوه بر حرف جاری از دو حرف قبلی و دو حرف بعدی استفاده می کند.اما در کلمه مقصد تنها دو حرف قبلی قابل استفاده است.

اگر کلمه مبدا را با S و نویسه اش در مقصد را با T نشان دهیم می توان ویژگی های n-gram را به صورت زیر خلاصه کرد:

s_{n-2}s_{n-1}s_{n}s_{n+1}s_{n+2}

t_{n-2}t_{n-1}
✗ ✗ ✗

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

استفاده از نرم افزار ++GIZA و پیاده سازی مدل IBM که مستقل از زبان نتایج قابل قبولی تولید می کنند. و رویکرد دوم بر اساس رخداد کلمات و احتمال اتصال کلمات به یکدیگر می باشد.
یکی از روش های هم ترازی برای زوج کلمات، ارائه شده که به منظور به دست آوردن بهترین نتیجه با ترکیب با ابزارهای ترجمه ماشینی مانند Moses است.

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

تراز

در لینک زیر جداول مصوت ها و صامت ها برای نویسه گردانی از انگلیسی به فارسی و همچنین سامانه های نویسه گردان موجود معرفی شده اند:

فنگیلیش

گیت

۳. آزمایش‌ها

روش به کار برده شده در این پروژه نویسه گردانی بر اساس حرف است(هم ترازی میان حروف دو زبان) که با نگاشت حروف دو زبان به یکدیگر انجام می گیرد.
به طور کلی چهار روش برای ارزیابی وجود دارد:

ACC: Accuracy in top-1, or word error rate
Fuzziness in Top-1: mean F-score

fuzziness

Mean Reciprocal Rank

MRR

Mean Average Precision MAP_ref

اما نتایج حاصل این پروژه بر اساس معیار دقت کلمه3 (روش اول) محک زده شده است.دقت کلمه نسبت تعداد کلماتی که درست نویسه گردانی شده اند به تعداد کل کلمات تست می باشد.. اما دقت کلمه دارای مشکلاتی است از جمله اینکه چندین نویسه قابل قبول می تواند برای یک کلمه وجود داشته باشد که همه آنها استاندارد نیستند.انتخاب نویسه مورد نظر به کاربر بستگی دارد. در این حالت از معیاری به نام دقت کاراکتر4 استفاده می کنیم که همان minimum edit distance برای مقایسه رشته هاست.این معیار کمترین مقدار درج،حذف و جایگذاری مورد نیاز کاراکترها را برای تبدیل یک کلمه تولید شده به فرم صحیح محاسبه می کند.
دقت کاراکتر = \frac{L - (i+d+s)}{L}

که L برابر با طول رشته و i,d,s به ترتیب تعداد جایگزینی،حذف و درج هستند. اگر صورت کسر منفی باشد آن را برابر با صفر درنظر می گیریم.

۴. نتایج

لازم به ذکر است Top-n بدین معناست که n نتیجه اول حاصل از سیستم به عنوان جواب در نظر گرفته شود .

دقت یک سیستم نویسه گردانی که ده نویسه برتر (Top-10) تولید می کند بسیار بهتر از سیستمی است که تنها یک نویسه (Top-1) تولید می کند.
زیرا در Top-10 اگر نویسه درست کلمه مبدا در یکی از ده نویسه تولید شده باشد،دقت کلمه برای آن یک در نظر گرفته می شود. با این وجود یک سیستم کارا باید تنها یک نویسه و آن هم نویسه صحیح را تولید نماید.

خطا

در این آزمایش هر حرف معادل یک کلمه و هر کلمه معادل یک جمله در نظر گرفته شده است.

Top-1 Top-3 Top-5
دقت کلمه(%) 75 80.9 85.6
دقت کاراکتر(%) 77 82.3 87

همانطور که در جدول بالا دیده می شود با افزایش تعداد کاندیدها دقت کلمه به میزان 10.5% و دقت کاراکتر به میزان 10% بهبود یافته است.

روش دیگری که در مقالات ارائه شده بر مبنای n-gram است:

جدول

همان طور که ملاحظه می شود با افزایش مقدار n،دقت نیز بیشتر می شود.

۵. کارهای آینده

۶. مراجع

  • Nasser Sharify. Cataloging of Persian Works: Including Rules for Transliteration, Entry and
    Description. Chicago, ALA, 1959.

  • Aman, Mohammed. ``Use of Arabic in Computerized Information Interchange' ', Journal of the
    American Society for Information Science, 33 (4) July 1984.

  • Karimi, Sarvnaz, Falk Scholer, and Andrew Turpin. "Machine transliteration survey." ACM Computing Surveys (CSUR) 43.3 (2011): 17.

  • ماندانا صدیق بهزادی ٬ شیوه نامه ضبط اعلام انگلیسی در فارسی ٬ تهران ٬ مرکز نشر دانشگاهی ٬ کتاب خانه
    .١٣٧٥ ملی جمهوری اسلامی ایران.

  • پرناز عظیما ٬ دگرنویسی کلمات و اسامی از فارسی به انگلیسی و از انگلیسی به فارسی ٬ پایان نامه کارشناسی
    .١٣٥٢ ارشد ٬ دانشگاه تهران ٬ دانشکده علوم تربیت.

  • میرعمادی، سیدعلی؛(1379)، مجموعه مقالات چهارمین کنفرانس زبانشناسی نظری و کاربردی(جلد اوّل)، تهران: انتشارات دانشگاه علامه طباطبایی، چاپ اوّل.

  • فرحزاد، فرزانه. و تجویدی، غلامرضا ( 1385). فرهنگ توصیفی اصطلاحات مطالعات ترجمه. تهران: انتشارات یلداقلم.

۷. پیوندهای مفید


  1. Maximum entropy

  2. Discriminative learning

  3. Word accuracy

  4. Character accuracy

تایید شده

با سلام
top_n هایی که به دست آوردید دقت کلمه و کاراکتر ها رو به خوبی بیان کرده و به نظرم روش edit_distance در رابطه با پروژه ی شما روش خوبی برای ارزیابی میتونه باشه , پروژه ی خوبی ارائه دادی و اشکالاتی که به نظر من میرسه:
من نتونستم کد رو ران کنم برای کلماتی مثل تثبیت و ظاهر این توانایی رو داره که شکل صحیح رو در خودش
ذخیره کنه؟ اگه بشه دیتابیسی برای این در نظر دید خیلی خوب میشه
به نظرم بهتر بود که در قسمت کارهای مرتبط بیشتر راجع به الگوریتمتون توضیح میدادید.
در مورد روش n_gram هم کاش یک مقدار توضیح بیشتری میدادید که چه جوری به این ارقام رسیدید.
موفق باشید.

تایید شده

با سلام

  • در کد برای تبدیل حروف می‌توانستید به جای استفاده از case، از روش‌های کوتاه‌تری هم استفاده کنید.

  • یک جایی توی README.md یا همین‌جا توضیح می‌دادید که یک کد دیگر هم به زبان سی‌شارپ در یک فایل زیپ موجود است:|
    در ضمن فایل زیپ شده را روی گیت‌هاب قرار ندهید.

*‌ از مراجع جدیدتری استفاده کنید.

*‌ چندین غلط نگارشی در متن شما وجود دارد مثل: در روش های پیشنهادی همچنین از مدل بیشترین ...

*‌ نتایجی که در متن گفته اید نتایج پروژه خود شماست؟ در مورد آن بیش‌تر توضیح دهید.

  • فکر می‌کنم نمونه های موجود مثل نویسه‌گردان گوگل یا به‌نویس، بیشتر از دامنه‌ی لغاتی که ذخیره کرده اند استفاده می‌کنند تا تبدیل واج به واج، در مورد روش‌ها ی تلفیقی چه کاری می‌توان انجام داد؟

*‌ لطفا در مورد بیشترین بی‌نظمی و روشی که بعد آن آورده اید بیش‌تر توضیح دهید. توضیحات کمی گنگ است.

موفق باشید

نیما همتی

با سلام
انتظار ما از انجام این پروژه چیزی فراتر از تهیه یک جدول به صورت بیان شده می‌باشد. در واقع انتظار ما این نبود که یک جدول look up تولید شود که در طی آن بتوان هر یک از کلمات را با توجه به ساختار نوشته شده آن به صورت فینگلیش یا برعکس تبدیل کرد. برای مثال انتظار است که نرم افزار شما کلمه ashab را به درستی "اصحاب" تشخیص دهد.
همچنین بابت معرفی مراجع و مقالات مناسب تشکر می‌شود. ضمناً نکاتی که در دیگر نظرات درباره گیت پروژه شما گفتند نیز قابل بررسی است.

موفق باشید.