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

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

مقدمه

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

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

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

کارهای مرتبط

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

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

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

به نویس

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

جدول

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

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

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

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

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

تراز

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

فرمول

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

گراف

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

فنگیلیش

گیت

آزمایش‌ها

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

نگاشت

به طور کلی چهار روش برای ارزیابی وجود دارد:

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 اگر نویسه درست کلمه مبدا در یکی از ده نویسه تولید شده باشد،دقت کلمه برای آن یک در نظر گرفته می شود. با این وجود یک سیستم کارا باید تنها یک نویسه و آن هم نویسه صحیح را تولید نماید.

خطا

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

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

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

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

جدول

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

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

کارهای آینده

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

مراجع

  • 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

نیما همتی

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

اما در این فاز انتظار می‌رفت شما بیشتر به صورت علمی به بررسی موضوع بپردازید و یکی از روش‌های این کار را با جزئیات بیشتر توضیح دهید. اما در متن حاضر چیزی از این بحث دیده نمی‌شد. همچنین انتظار می‌رفت تعریف دقیق پروژه خود را مشخص کنید. یعنی بدانید که هدف نویسه گردانی از انگلیسی به فارسی یا بالعکس. که در متن چنین چیزی مشاهده نمی‌گردد.

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

موفق باشید

تایید شده

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

تایید شده

به نظر من پروژه ی شما در یک سطح متوسط قرار دارد. مثلاً بخش مقدّمه را خوب تکمیل کرده اید, اما بخش کارهای مرتبط مشکلات زیر را دارد:

  1. به طور کل روشهای موجود را به صورت پراکنده توضیح داده اید.

  2. در این فاز قرار بود که از مقاله هایی که پیدا کرده اید استفاده کنید. بنابراین باید ذکر می کردید که در کدام بخش پروژه تون از کدام مقاله استفاده کرده اید.

  3. روشی که قصد پیاده سازی دارید هنوز مشخص نیست.

  4. استفاده بیشتر از عکسهای متناسب با مطالب می توانست به فهم راحتتر مطالب کمک کند.

امیدوارم در فازهای بعدی این نکات رو در نظر بگیرید. موفق باشید

محسن ایمانی

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

این اشارات شما خیلی مختصر بود و نمی‌توان به عنوان معرفی یک کار مرتبط آن را در نظر گرفت. به نظر می‌آید که لازم است کمی بیشتر در مورد این روش‌ها توضیح دهید. همچنین مقالات و مراجع مربوط به توضیح مفصل این روش‌ها را هنگام معرفی آن‌ها بیاورید تا خواننده بتواند در صورت نیاز به مرجع اصلی مراجعه نموده و روش مورد نظرش را با دقت بیشتری مطالعه کند.

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

روش‌های یادگیری و همچنین هم‌ترازی هم نیاز به داده آموزشی دارد که در این مورد پیدا کردن داده آموزشی مناسب کار ساده‌ای نخواهد بود.

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

تایید شده

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

تایید شده

با سلام

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

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

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

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

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

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

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

موفق باشید

نیما همتی

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

موفق باشید.

تایید شده

با عرض سلام و خسته نباشید خدمت شما دوست عزیز.
در مورد پروژتون نکات زیر به ذهنم رسید که خدمتتون عرض می کنم:
1-بهتر می بود در مواقع لزوم خواننده را به مراجع،ارجاع می دادید.
2-پیاده سازی انجام شده در سطح یک پیاده سازی اولیه می باشد،نه یک نسخه ی نهایی.
موفق باشید.

رد شده

سپاس از زحمتی که کشیدید. پروژتون خوب بود.

نیما همتی
تایید شده

الگوریتم کد بسیار ضعیف بوده و فقط از یک سوییچ کیس برای تبدیل حرف به حرف استفاده شده که باگ های بسیاری دارد.از ابتدایی ترین مشکلات آ ن میتوان به حرف هایی با صدا های مختلف اشاره کرد مانند a .مقاله توضیحات خوبی دارد اما با کد بسیار متفاوت است و بعید است که کد موجود در گیت هاب با نتیجه ذکر شده منطبق باشد.

تایید شده

توضیحات داده شده در ابتدای پروژه به خوبی پروژه ی شما را برای خواننده توضیح می دهد همین طور قسمت آزمایش ها نیز نتایج حاصل از پروژه ی شما را به خوبی بیان می کند.
لینک کد در وسط پروژه جایی که هیچ تیتری برای آن نیامده آورده شده و خواننده را گیج می کند بهتر بود قبل از آن یک تیتر می آمد.
در این فاز می بایست الگوریتم خود را بهبود می دادید ولی قسمتی که نشان دهد الگوریتمی جهت بهبود پروژه پیاده سازی شده است نیامده.
استفاده از comment در کد می توانست به خواناتر بودن کد شما کمک کند.

تایید شده

به نظر من بیشتر به توضیح پرداختید و پیاده سازی قابل قبولی ارائه نکردید.در بخش کارهای آینده و بهینه سازی باید بیشتر عمل میکردید.

رد شده

مراجع به خوبی معرفی شده و نتایج در غالب جداول به خوبی نمایش داده شده و الگوریتم خوب پیاده سازی شده است

رد شده