نویسه‌گردانی از انگلیسی به فارسی

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

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


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


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

# کارهای مرتبط
به طور کلی نویسه گردانی کلمات به سه روش عمده تقسیم بندی می شود.نویسه گردانی بر اساس حرف، بر اساس واج و تلفیقی از این دو روش. روش های بر اساس حرف نگاشت مستقیمی بین کلمات به زبان اصلی و نویسه آنها به زبان هدف برقرار می کنند مانند روش بیشترین بی نظمی[^1] و درخت های تصمیم. در حالی که روش های بر اساس واج از یک واسط به منظور به دست آوردن معادل در زبان هدف استفاده می نمایند مانند روش مارکوف(extended Markov window). در هر دو روش با شکستن کلمه اولیه، کلمه را به چند قسمت تقسیم نموده و عمل نگاشت را بین قسمت های به دست آمده انجام می دهند.متداول ترین روش در نویسه گردانی نگاشت حروف فارسی به انگلیسی است . در کنار آن می توان از روش مبتنی بر پیکره استفاده کرد که به روش تجربی معروف است و در آن از منبعی از اطلاعات که به طور عمده شامل لغات است جهت تبدیل استفاده می شود. به عنوان نمونه نحوه تبدیل متن در ویرایشگر به نویس به این صورت است:

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


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

![به نویس](http://www.behnevis.com/images/behnevis_correction_snapshot.png)
 
۳) همچنین میتوانید برای نوشتن سریع بعضی حروف فارسی از جدول زیر استفاده کنید:

 
![جدول](http://uploadkon.ir/fl/dd/17049)


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


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


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



در روش های پیشنهادی  از مدل بیشترین بی نظمی که جزو روش های یادگیری تمایزی[^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 است.

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


![تراز](http://uploadkon.ir/fl/dd/11729)


از دیگر کارهای مرتبط، مدل مبتنی بر برچسب زنی توالی[^3] است که از نوع روش های یادگیری ماشین با نظارت و دارای دو مرحله یادگیری و استخراج می باشند.در برچسب زنی توالی، یک سند به صورت کلمات متوالی دیده شده و برچسبهای متوالی برای نشان دادن ویژگی هر کلمه به آن منتسب می گردد.در این عمل، هر کلمه با یک تگ که نشان دهنده ادات سخن[^4] متناظرش می باشد برچسب زده می شود.یکی از روشهای متداول برای این نوع برچسب زنی، استفاده از مدل مولد[^5] می باشد. مدل مخفی مارکوف[^6] نمونه ای از یک مدل مولد است که یک توزیع احتمالی اتصال (P(x,y)را که در آن x و y متغیرهای تصادفی که نشان دهنده توالی مشاهده و توالی برچسب متناظرش می باشند تعیین می گردد. به عنوان یک مدل احتمالی خطی-لگاریتمی شرطی، CRF احتمال یک دنباله ی برچسب را به صورت زیر تعریف میکند:

![فرمول](http://uploadkon.ir/fl/dd/17139)

که 𝑓𝑝𝑜𝑠,𝑝𝑢,𝑝𝑏 به بردارهای ویژگی اشاره میکند و 𝑤𝑝𝑜𝑠,𝑝𝑢,𝑝𝑏 متناظر بردارهای وزن است.𝑓𝑝𝑢 بردارهای یونیگرام اجزای سخن است و 𝑓𝑝𝑏 ویژگیهای بایگرام اجزای سخن است.
شکل زیر نمونه ای از گراف همسایگی است:

![گراف](http://uploadkon.ir/fl/dd/17140)



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


[فنگیلیش]


[گیت]


[فنگیلیش]: http://fa.wikipedia.org/wiki/%D9%81%D9%86%DA%AF%DB%8C%D9%84%DB%8C%D8%B4


[گیت]:https://github.com/mn9052/transliteration
# آزمایش‌ها
روش به کار برده شده در این پروژه نویسه گردانی بر اساس حرف است(هم ترازی میان حروف دو زبان) که با نگاشت حروف دو زبان به یکدیگر انجام می گیرد.
پایگاه داده ای که نگاشت با توجه به آن انجام گرفته به این صورت می باشد:
![نگاشت](http://uploadkon.ir/fl/dd/17040)
به طور کلی چهار روش برای ارزیابی وجود دارد:

**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**


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

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

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


![خطا](http://www.iimahd.ernet.in/egov/ifip/oct2009/dasgup1.gif)

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

 
|    | Top-1 | Top-3  |Top-5
|:-----|:-----------:|:------------:|:---------------:|
| دقت کلمه(%)      |            75              |                80.9               |                                       85.6                           |     
| دقت کاراکتر(%)         |              77              |                82.3               |                                87                                 |            
با توجه به جدول بالا با افزایش تعداد کاندیدها دقت کلمه به میزان 10.5% و دقت کاراکتر به میزان 10% بهبود یافته است.

روش دیگری که در مقالات ارائه شده بر مبنای n-gram است:
![جدول](http://uploadkon.ir/fl/dd/11719)

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

نکته ای که ذکر آن ضروری است این است که ابزارهای ارزیابی ترجمه ماشینی برای نویسه گردانی نیز قابل استفاده می باشد. از جمله این ابزارها جایگزین ارزشیابی دوزبانه یا [^9]BLEU است که روشی است برای ارزیابی کیفی متن ترجمه شده توسط ماشین ترجمه یا دستگاه ترجمه ماشینی. کیفیت ترجمه با عددی بین ۰ و ۱ اندازه‌گیری می‌شود. این عدد نمایانگر میزان نزدیکی ترجمه به مجموعه‌ای از ترجمه‌های انسانی با کیفیت خوب است.

[MRR]: http://en.wikipedia.org/wiki/Mean_reciprocal_rank
[fuzziness]:http://wiki.eyewire.org/en/F-Scores_and_Accuracy
# کارهای آینده
نرم افزار حاضر به طور کامل پاسخگوی نیاز کاربران عادی می باشد. اما در ابعاد بزرگتر لازم است نرم افزاری توسعه داده شود که قراردادهای مختلف لاتین نویسی و فونت های مختلف عربی را هم انجام دهد.به علاوه از آنجا که مهم ترین کاربرد نویسه گردانی تبدیل کلمات خارج از دامنه لغات یا [^10]OOV به معادل آواییشان در زبان مقصد است، تمرکز در جهت بالا بردن دقت و کاهش خطا در این زمینه ضروری می باشد و می بایست تلفظ اصلی کلمه مبدا تا آنجا که قواعد املایی و آوایی زبان مقصد اجازه می دهد حفظ شود. این امر در مورد جفت زبان هایی که نظام الفبایی و آوایی آنها تفاوت های بسیار دارند اهمیت بیشتری می یابد.
# مراجع
+ 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.
+  Jagadeesh Jagarlamudi,Hal Daumé III."Regularized Interlingual Projections: Evaluation on Multilingual Transliteration "
+  Peter Nabende."An Evaluation of n-gram Correspondence Models for Transliteration Detection".
+ Pushpak Bhattacharyya,Mitesh M. Khapra."Improving transliteration accuracy using word-origin detection &lexicon lookup"
+ Waleed Ammar,Chris Dyer,Noah A. Smith."Transliteration by Sequence Labeling with Lattice Encodings and Reranking "
+ پاکزاد،عاطفه.(1392)"سمینار کارشناسی ارشد".دانشگاه علم و صنعت ایران. استاد راهنما: دکتر بهروز مینایی بیدگلی.
+ ملایی،نیما.عبداله زاده،احمد و شیرازی،حسین.(1390)"WI&CRF :روش پیشنهادی برای استخراج اطلاعات مورد نیاز از متون نظامی".دانشگاه تهران.
+ صدیق بهزادی،ماندانا. ٬ شیوه نامه ضبط اعلام انگلیسی در فارسی ٬ تهران ٬ مرکز نشر دانشگاهی ٬ کتاب خانه
.١٣٧٥ ملی جمهوری اسلامی ایران.
+ عظیما،پرناز. ٬ دگرنویسی کلمات و اسامی از فارسی به انگلیسی و از انگلیسی به فارسی ٬ پایان نامه کارشناسی
.١٣٥٢ ارشد ٬ دانشگاه تهران ٬ دانشکده علوم تربیت.
+ میرعمادی، سیدعلی؛(1379)، مجموعه مقالات چهارمین کنفرانس زبانشناسی نظری و کاربردی(جلد اوّل)، تهران: انتشارات دانشگاه علامه طباطبایی، چاپ اوّل. 
+ فرحزاد، فرزانه. و تجویدی، غلامرضا ( 1385). فرهنگ توصیفی اصطلاحات مطالعات ترجمه. تهران: انتشارات یلداقلم.
+ موسوی نژاد،نجمه. و خدیوی،شهرام(1389).ارائه یک روش نوین برای نویسه گردانی اسامی.دانشگاه صنعتی شریف.
+ حق اللهی،زهره.زارع بیدکی،علی محمد و حاجی مرادی،مهدی.نویسه گردانی اسامی افراد با استفاده از ویژگیهای محتوای وب فارسی.
+ فاز اول طرح جامع پیکره زبان فارسی با موضوع فاز اول مطالعاتی ایجاد پیکره متنی زبان فارسی(1388).دانشگاه علم و صنعت ایران.
+ حسینی معصوم،سید محمد. و کمیلی دوست،هایده.(1389)بررسی شیوه های معادل یابی واژگانی در ترجمه متون تبلیغاتی و تجاری از  انگلیسی به فارسی.
[^1]: Maximum entropy
[^2]: Discriminative learning
[^3]: Sequential labeling based method
[^4]: Part Of Speech 
[^5]: Generative Model
[^6]: Hidden Markov Model
[^7]: Word accuracy
[^8]: Character accuracy
[^9]: Bilingual Evaluation Understudy
[^10]: Out-Of-Vocabulary
# پیوندهای مفید
+ [پردازش زبان فارسی در پایتون](http://www.sobhe.ir/hazm)
+ [پیکره فارسی همشهری](http://ece.ut.ac.ir/dbrg/hamshahri/fadownload.html)
+ [نویسه‌گردان گوگل](http://www.google.com/intl/fa/inputtools/try/)