[شاید این مطلب را هر چند وقت یک بار به‌روز کنم تا نکته‌ای از قلم نیفتاده باشد]


در این چند ساله که در زمینهٔ پردازش زبان طبیعی شروع به کار کرده‌ام، سؤال‌های بسیاری در موضوعات مختلف ولی مرتبط با پردازش زبان برایم فرستاده شده. اغلب سؤالات در قالب‌هایی از قبیل «می‌خواهم یک مقالهٔ آی اس آی بنویسم در مورد ...، چه مقالاتی را باید بخوانم؟»، «من تازه شروع به کار کرده‌ام و نمی‌دانم از کجا شروع کنم»، «من از رشتهٔ زبان‌ها آمده‌ام و پیش‌زمینهٔ پردازشی ندارم و ...». از سؤال‌ها این برمی‌آید که یک دانشجوی باانگیزه دوست دارد بداند که دانشجویی که چند سال قبل‌تر از او در این مسیر قدم گذاشته چه راه‌های میانبری را بلد است و یا به قولی فوت کوزه‌گری چیست. نخست این که حقیر کمتر و کوچک‌تر از آنم که از فوت کوز‌ه‌گری بگویم. کیفیت مقالاتی که نوشته‌ام گواه آن هست که خود در این مسیر کمیتم لنگ است ولی تجربیاتی است که گفتنش به نگفتنش می‌ارزد. این تجربیات بیشتر حاصل تعاملم با استادان دانشگاه‌های معتبر و دانشجوهای فعال در این زمینه بوده است. در برخی جاهای این نوشتار از نظام آموزشی ایران بد گفته‌ام ولی این‌ها را به حساب دلسوزی بگذارید و نه خدای نکرده نگاه از بالا به پایین. دیگر آن که برخی از افاضاتم! هم ویژهٔ پردازش زبان طبیعی نیست و در هر پژوهش تجربی قاعده باید همین باشد. اگر اشکالی در این مطالب می‌بینید بنده را از نظراتتان محروم نفرمایید: rasooli[at]cs.columbia.edu



مطلب را به چند بخش تقسیم کرده‌ام: ۱)‌ پیش‌نیاز‌های پژوهش، ۲) کار پژوهشی، ۳)‌ نوشتن مقاله، و ۴) انتشار مقاله.


پیش‌نیاز‌های پژوهش

در اینجا نکاتی را می‌خواهم ذکر کنم که به عقیدهٔ حقیر اگر این پیش‌نیازها را ندارید، فعلاً به پژوهش در مورد پردازش زبان طبیعی فکر نکنید. 


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


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


۳- آمار و ریاضی: حداقل پیشینهٔ محاسباتی که برای فهم مقالات پردازش زبان نیاز است آمار و احتمالات سادهٔ مهندسی (مفهوم میانگین، مد، امید ریاضی، پراش (واریانس)، انواع توزیع‌ها مانند نمایی، پوآسون و امثالهم)‌ است. هم‌اکنون بسیاری از روش‌ها از مفاهیمی مانند گرادیان و مشتق (ریاضی دیفرانسیل) استفاده می‌کنند که اگر به آن‌ها آگاهی (نه تسلط کامل) نداشته باشید خواندن مقالات برایتان دردسرساز خواهد شد. اندکی هم باید از ماتریس‌ها و عملیات جبر خطی سررشته داشته باشید. البته همهٔ این‌ها خودشان پیش‌نیازند برای یادگیری ماشینی و امروزه تقریباً همهٔ روش‌های پردازش زبان طبیعی از یادگیری ماشینی استفاده می‌کنند. البته اگر بخواهید به مراحل پیشرفته‌تر فکر کنید دانستن الگوریتم‌های بهینه‌سازی (optimization) و مدل‌های گرافیکی (graphical models) بسیار مطلوب خواهد بود ولی شرط لازم نیست. 


۴- پردازش زبان طبیعی: بله؛ بعضی وارد این وادی می‌شوند بدون این که بدانند دنیا دست کیست! مسائل پایه‌ای مثل مدل زبانی، PCFG، تجزیهٔ‌ نحوی و الگوریتم CKY، تجزیهٔ نحوی وابستگی، برچسب‌زنی ادات سخن (POS tagging)، مدل HMM، مدل‌های log-linear، الگوریتم‌های یادگیری برخط مانند Perceptron، الگوریتم‌های خوشه‌بندی مانند KMeans، الگوریتم‌های یادگیری بی‌ناظر مانند EM و امثالهم در بسیاری مقالات تکرار می‌شوند و نویسنده‌ها فرض بر دانستن خواننده می‌کنند. باید این‌ها را بدانید و بهترین راه دانستن اخذ درس و انجام تمرینات و تکالیف است. هیچ چیز به اندازهٔ تمرین حل کردن و انجام تکالیف به یادگیری کمک نمی‌کند. به نظرم درس‌های «یادگیری ماشینی» (در بعضی جاها با عنوان «تشخیص آماری الگو» ارائه می‌شود)‌ و خود درس پردازش زبان واجب عینی هستند. اگر در دانشگاه‌تان این درس‌ها ارائه نمی‌شود (یا خوب ارائه نمی‌شود) درس‌های مرتبط در Coursera جایگزین خوبی هستند. 


 پایه‌های کار پژوهشی

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


۲- اگر می‌دانید که قرار است چه مسألهٔ خاصی را حل نمایید که فبها و الا باید بگردید. گاهی یک جرقه پس از خواندن چند مقاله برای شروع کافی است. به هیچ وجه به این عنوان که موضوعی باب روز است و مد است و چون فلان آدم معتبر رویش کار می‌کند پس من هم می‌خواهم رویش کار کنم، موضوعی را انتخاب نکنید. این انتخاب مثل این است که کسی به خدا اعتقاد داشته باشد به این خاطر که پدرش خداپرست است و بس! موضوع باید به کار بیاید نه به آن معنا که حتماً کاربردی و ملموس باشد چون بسیاری از مسائل علمی در سطح نظری سال‌ها باقی می‌مانند و طول می‌کشد تا به عمل برسند ولی همهٔ این‌ها در گرو فهم درست مسأله است و این پرسش که چرا مسأله‌ای اهمیت دارد را باید خودتان بتوانید پاسخ بدهید و پاسخ‌تان حداقل خودتان را قانع کند. اگر پاسختان این است که چون در دانشگاه ام.آی.تی. رویش کار شده، مطمئن باشید که راه را اشتباه می‌روید. البته لازم است چیزی را در حاشیه بگویم: زبان فارسی در فناوری اطلاعات ایران کم مورد توجه قرار گرفته است و پردازش زبان فارسی کمتر. خیلی‌ها دوست دارند روی موضوعی کار کنند که کاربرد ملموس داشته باشد. هر بخشی از بخش‌های پردازش زبان طبیعی را بگیرید و آن را روی فارسی مورد پژوهش قرار دهید خود ارزش کاربردی بسیار دارد.


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


۴- آزمایش‌ها باید دقیق باشد. تعریف مسأله باید دقیق باشد. هر اشتباهی در تعریف مسأله کل مسأله را ممکن است به باد بدهد. مثلاً فرض کنید بخشی از دادهٔ آموزش شما در دادهٔ آزمون باشد. این یعنی کل فرآیند یادگیری و ارزیابی‌تان روی هواست. بیشتر از این دیگر کلی‌گویی نکنم!


۵- خوبی کار پردازش زبان همین هست که می‌شود از داده‌های خروجی برنامه، کلی ایدهٔ‌ خوب گرفت. اگر به داده‌های زبانی نگاه نکنید مثل پزشکی هستید که بدون معاینهٔ‌ بیمار، برایش دارو تجویز می‌کند. سعی کنید مسأله‌تان را با مشاهدهٔ مستقیم و بلاواسطهٔ دادهٔ زبانی درک کنید. سعی کنید به داده زیاد نگاه کنید و از داده برای ایجاد ایده‌های نو الهام بگیرید. 


۶- کارهای پردازش زبان از جنس کارهای تجربی است. خیلی وقت‌ها ایده‌های روی کاغذ در عمل جواب نمی‌دهد. اول باید مطمئن باشید که مشکل از باگ یا خطای پیاده‌سازی نیست ولی اگر تا حدی مطمئن شدید که خطا در پیاده‌سازی وجود ندارد، به خروجی برنامه‌تان نگاه کنید. اگر واقعاً همه چیز سر جایش هست و واقعاً مشکلی وجود ندارد، باید کوتاه بیایید و زور الکی نزنید. یعنی ناامید بشوید؟ خیر! یعنی به جای زورکی به کار انداختن برنامه، سعی کنید که بفهمید چرا آن روش به کار نیامده. و همین طور این که از هزاران هزار راه ممکن یکی از راه‌ها جواب نداده. خب، بسم‌الله! راه بعدی را امتحان کنید. 


۷- چرخ را از اول اختراع نکنید. لازم نیست که همهٔ برنامه‌ها را خودتان بنویسید. بسیاری از پژوهش‌ها دارای برنامهٔ متن‌بازند و اکثراً تنها زکاتش ارجاع به مقالهٔ آن پژوهش هست و بس (و البته توان استفاده از برنامه‌های دیگران خود مهارتی است که کسب نمی‌شود جز با تمرین و پشتکار).


۸- مقایسهٔ‌ مناسب: یکی از پیش‌فرض‌های پژوهش درست، مقایسهٔ درست و دقیق با روش‌های رقیب (در واقع بهترین مدل‌های موجود در موضوع مرتبط) است. یعنی این که باید داده‌های مشابه با آن پژوهش‌های پیشین را بیابید و مقایسهٔ النعل بالنعل (یا به قول فرنگی‌ها «اپل تو اپل») انجام دهید. این طوری شاهد شما هم از غیب می‌رسد و نیاز به خیلی از توضیحات اضافی من‌باب این که روش‌تان خوب است یا بد، مرتفع می‌شود.


نوشتن مقاله

قاعدتاً مقاله نوشته نمی‌شود که نوشته شود. احتمالاً نوشته می‌شود که خدای ناکرده خوانده شود؛ چه از سوی داوران و چه از سمت متخصصین و پژوهشگران. وگرنه این دنیا پر است از نوشته‌هایی که حتی خود نویسنده هم بعد از نشر، دوباره آن را نخوانده است.


۱- زبان انگلیسی: اگر مقاله‌ای بنویسید که پر از غلط نگارشی و دستوری باشد، به احتمال بسیار بالا رد می‌شود. جملاتتان را چندین بار بخوانید. اگر دوست یا همکار زبان‌بلد دارید از او بخواهید کارتان را ویرایش کند (و بخش قدردانی مقالات را لابد برای همین جاها گذاشته‌اند). اگر رفیقی دارید که خود انگلیسی‌زبان است که نور علی نور است ولی پیش‌نیاز اول همان است که پیش‌تر گفتم: خودتان تسلط کافی به انگلیسی داشته باشید.


۲- سناریوی منطقی مهم‌تر از سناریوی واقعی است: مثلاً اگر آزمایش ۱ شما را به این نتیجه رساند که این موضوع پژوهشی با مدل پیشنهادی شما به جواب می‌رسد نباید مقاله‌تان را با آزمایش ۱ آغاز کنید. باید منطق مقاله قدم به قدم مخاطب را به این نقطه برساند که وقتی در اواسط یا اواخر مقاله آزمایش ۱ را دید، قانع شود که منطق پشت مدل شما قابل قبول است.


۳- واضح‌نویسی: باید در مقاله واضح باشد که حرف حسابتان چیست. مثلاً به این جملات (مصنوعی) دقت کنید:

«پردازش زبان فارسی خیلی مهم هست. ما برای رفع مشکل خطای املایی راهی جدید پیشنهاد می‌دهیم: از داده‌های چندزبانه به صورت خودکار استفاده می‌کنیم و این فرآیند خودکار را با ابتکارهایی بهبود می‌دهیم. در این صورت می‌توانیم سامانه‌ای داشته باشیم که بتواند مشکلات زبان‌های مختلف را به راحتی بیابد و پیشنهاد بدهد.»

مشکل چیست؟ شروع از پردازش زبان فارسی بوده. بعد آمده گفته خطای املایی (بدون تعریف دقیق از خطای املایی)، بعد داده‌های چند زبانه، بعد فرآیند خودکار (چه فرآیندی؟) و بعدترش مشکلات در زبان‌های مختلف! (مگر بحث در مورد فارسی نیست؟ خب، چه ربطی به زبان‌های مختلف دارد؟)

بله، ممکن است در آغاز نوشتن، مانند وبلاگ‌نویسی (یعنی کاری که الان من می‌کنم) جملات بی‌ربط را پشت سر هم بچینید و طوفان فکری را در جملات ثبت کنید. ولی باید یک بار با این نگاه مقاله را بازنویسی کنید که آیا آن چیزی که نوشته‌اید واضح است یا نه؟


۴- از پراکنده‌نویسی بپرهیزید. آنتوان چخوف، نویسندهٔ روس، (به مضمون) می‌گفت تفنگی در داستان روی دیوار اگر آویزان باشد باید تا آخر داستان شلیک شود. یعنی اطلاعاتی به خواننده داده نمی‌شود مگر این که جایی به کار بیاید. گاهی اوقات ممکن است به ذهنتان برسد که اگر وسط صحبت در مورد پردازش نحوی از ترجمهٔ ماشینی هم بگویم خیلی کلاس! دارد ولی نه تنها کلاس ندارد بلکه خیلی هم بی‌کلاس است. مقاله جای افاضات صف نانوایی و سفرهای کوتاه تاکسی نیست. مسیرتان در نوشتار مشخص باشد. حرف اضافی نزنید که خواننده گیج می‌شود. به این جملات نگاه کنید:

«پردازش زبان فارسی بسیار دشوار است. یکی از دشواری‌های پردازش زبان فارسی این است که خط فارسی از راست به چپ نوشته می‌شود...»

یک سؤال: راست به چپ نوشته شدن دغدغهٔ مایکروسافت ورد و لاتک است یا دغدغهٔ برنامهٔ پردازشی؟ این اطلاعات چه ربطی به پردازش زبان دارد؟ برنامهٔ شما که متن را از اول به آخر می‌خواند و اصلاً راست و چپش را نمی‌فهمد که راست و چپ‌نویسی تأثیری داشته باشد. در همین جا با این جملهٔ بی‌ربط فتح بابی شده برای گیج شدن خواننده.


۵- گاهی برای نوشتن مقالهٔ مناسب لازم است بنشینید و نشانه‌گذاری‌های ریاضی درست را طراحی کنید. هر چقدر از تعداد کمتری متغیر استفاده کنید، مقاله ساده‌فهم‌تر می‌شود. گاهی اوقات همین نشانه‌گذاری‌های ریاضی باعث می‌شود شما از شر توضیحات طولانی نجات پیدا کنید. بهتر است از آغاز مقاله (بعد از مقدمه) بخشی را بگذارید برای تعریف کارتان، تعریف داده‌ها و تعریف تابع‌هایی که استفاده می‌کنید. سپس منطق کلی کار را بر همان اساس قرار دهید و پیش بروید. 


۶- ارجاعات درست: خواهشاً دقیقهٔ نود نروید داخل گوگل اسکالر و خیلی هویجوری چهار تا عمرو و زید را بردارید و ارجاع دهید که یعنی ما هم آره! (که ما هم از دنیای علم باخبریم). ارجاعات معتبر و شناخته‌شده و یا ارجاعات کاملاً مرتبط؛ هر چیزی خارج از این حالت باشد به احتمال زیاد، زننده و بد است. خودارجاعی هم هر چه کمتر باشد بهتر است.


۷- جملاتتان را بازخوانی کنید. تا آنجا که می‌توانید جملات بلند را به چند جملهٔ کوتاه‌تر تبدیل کنید. یادتان باشد که اگر مقاله‌تان محتوای خوبی داشته باشد، باید زبان ساده‌ای هم داشته باشد. خیلی‌ها حوصلهٔ خواندن جملات پیچ در پیچ را ندارند.


۸- مقاله را زنده جلوه دهید. بهترین راه، استفاده از زمان حال به جای گذشته. دو مثال:

«ما در این مقاله، روشی را پیشنهاد دادیم که این روش دقت بسیار بالایی داشته است.»

«ما در این مقاله، روشی را پیشنهاد می‌دهیم و نشان می‌دهیم که این روش دقت بسیار بالایی دارد.»


۹- برای هر نوع تنظیمی در آزمایشاتتان توجیه و توضیح منطقی و کوتاه داشته باشید. مثلاً به دو نمونهٔ‌ زیر دقت کنید:

«در همهٔ آزمایش‌ها از ۵ گردش تکرار استفاده می‌کنیم.» 

«در همهٔ آزمایش‌ها از ۵ گردش تکرار استفاده می‌کنیم. معمولاً در ۵ گردش تکرار به طور متوسط جواب نزدیک به بهینه به دست می‌آید (ارجاع به مقالهٔ Y در صورت نیاز)» 


۱۰- هنوز که هنوز است Latex (لاتک)‌ بهترین ویرایشگر متن است. بی‌خیال مایکروسافت‌آفیس و اوپن‌آفیس و گوگل‌داکس و اعوان و انصارش شوید (به قول دونالد کنوث، استاد معتبر الگوریتم و سازندهٔ Tex، بمیرم هم از ورد استفاده نمی‌کنم). نوشتن در Latex برای متون علمی به مراتب زیباتر و ساده‌تر از ورد است ولی برای شروع نیاز است کمی با منطق دستوراتش آشنا شوید. Latex کاملاً رایگان است. یاد گرفتنش هم دو روز طول نمی‌کشد حتی. کافی است سعی کنید یک مقاله را از اول با Latex بنویسید و البته به اینترنت وصل باشید تا هر وقت خواستید جواب سؤالتان را از آن بیابید. ابزارهای برخطی مثل Sharelatex برای نوشتن مقالات به صورت برخط و بدون نیاز به داشتن ویرایشگر در رایانهٔ شخصی خیلی توصیه می‌شود (البته در صورت داشتن اینترنت با سرعت خوب). برای فارسی‌نویسی هم XePersian با کامپایل Xelatex خوب است. همین‌طوری که در گوگل جستجو کردم هزاران جزوه و ویدئوی آموزشی (حتی به فارسی) پیدا کردم در مورد یادگیری Latex. 


انتشار مقاله

۱- در اکثر رشته‌ها، مجلات معتبری وجود دارند که اصل جریان علمی در آن مجلات ثبت می‌شود. این مجلات به خاطر معتبربودن (و صد البته مفید بودن محتوایشان) بیشتر مورد ارجاع قرار می‌گیرند و طبق معیارهای کمّی مؤسسهٔ رویترز در فهرست مقالات ISI قرار می‌گیرند. معمولاً داوری مقالات مجلات معتبر فرایندی زمان‌بر و طاقت‌فرسا برای نویسندگان است. ممکن است از زمان ارسال مقاله‌ای تا پذیرش آن مقاله ۲ سال طول بکشد و ۲ سال خودش عمری است برای خودش. حالا تکلیف دانشجوی کارشناسی ارشدی که باید زود رزومه‌سازی! کند چیست؟  این وسط یک عده آدم سودجو پیدا شده‌اند که مجله می‌سازند و پول از خلق‌الله می‌گیرند و بدون هیچ داوری مقاله را قبول می‌کنند به این شرط که نویسنده به مقالات قبلی چاپ‌شده در مجلاتی که آن‌ها می‌گویند ارجاع دهد. آن مجلات هم از قضا، همه از یک مجموعه هستند و یک مؤسسه آن‌ها را هدایت می‌کند. لذا طبیعتاً اتفاقی که می‌افتد این است که این مجلات در مدتی نه چندان طولانی در فهرست ISI جای می‌گیرند. دل آن دانشجو و استاد هم خوش است به مقالاتی با ارجاع زیاد. مثلاً من مقاله‌ای دیده بودم در یکی از این مجلات (آبکی) که نویسنده مجبور شده بود در قسمت مقدمه بگوید کارهای زیادی در الگوریتم X شده است (مثل مرجع ۱) و می‌رفتی سراغ مرجع ۱ می‌دیدی که آن مرجع چیزی نیست جز یک مقالهٔ بی‌ربط که در یکی از آن مجلات آن مؤسسه چاپ شده. 

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

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


پس پاسخ به یکی از پرسش‌های متداول از نگاه نکتهٔ ۱: اگر واقعاً‌ می‌خواهید مقاله‌ای در مجلات معتبر ISI بدهید، صبر و طمأنینهٔ بسیار لازم دارید. باید بپذیرید که احتمال شکست شاید ده برابر پیروزی باشد (و کتاب‌‌های روان‌شناسی موفقیت در چند روز و رازهای موفقیت و این جور چیزها هم دوای هیچ دردی نیست). 


۲) اما در رشتهٔ کامپیوتر داستان طور دیگری است. رشتهٔ کامپیوتر خیلی سریع در معرض تحول قرار می‌گیرد و این یعنی ۲ سال خیلی زمان طولانی است برای واماندگی یک مقاله؛ تازه آن هم شاید قبول بشود شاید نشود. لذا سال‌هاست که مجلات معتبر در رشتهٔ کامپیوتر تبدیل شده‌اند به جمع‌بندی چندین مقالهٔ همایش‌های معتبر یک نویسنده یا چند نویسندهٔ همکار. مثال ساده‌اش مقالات چهل یا پنجاه صفحه‌ای MIT computational linguistics journal است. لذا همایش‌ها جایگزین شده‌اند برای مجلات. هم فال است و هم تماشا. هر سال چند بار محققان برتر یک زمینهٔ علمی دورهم جمع می‌شوند و تضارب آرا می‌کنند و مقالاتشان را ارائه می‌دهند. مثلاً‌ در زمینهٔ‌ پردازش زبان، هر کسی که مقالهٔ خوبی داشته باشد به همایش‌های معتبری مثل ACL و EMNLP و EACL و NAACL و COLING و CONLL می‌فرستد. اگر مقاله محتوای کمی داشته باشد آن را به صورت مقالهٔ کوتاه (Short paper) می‌فرستند. اگر محتوا سبک یا کار در حال پیشرفت باشد آن را به کارسوق‌های (workshop) مرتبط با همان همایش‌ها می‌فرستند. در عمل تنها ۲۰-۲۵ درصد از مقالات ارسالی به این همایش‌ها پذیرفته می‌شوند (برخلاف همایش‌هایی که در ایران برگزار می‌شود. یادم هست به عنوان داور مقالاتی را با اطمینان تمام رد کردم و بعداً دیدم که همان مقالات در همایش پذیرفته و چاپ شده‌اند و این یعنی که داورها سر کارند و همه چیز اداست). در دانشگاهی که مشغول تحصیل هستم (دانشگاه کلمبیا، نیویورک) همیشه موقع ارسال مقالات به این همایش‌ها، اتفاقی که می‌افتد این است که نصف دانشجوها مقالاتشان رد می‌شود و نصفی دیگر قبول. و آن ردی‌ها یا باید کارشان را تصحیح و بازارسال کنند به همایش بعدی و یا از صفر شروع به کار جدیدی کنند ولی هیچ وقت به ذهن کسی نمی‌رسد که سطح توقعش را پایین بیاورد و کارش را محض این که زودتر چاپ شود، بفرستد به جایی پایین‌تر.


پس پاسخ به یکی دیگر از سؤال‌ها: قبل از این که به مجلات فکر کنید، اقبالتان را برای ارسال مقاله به همایش‌های معتبر بسنجید. مطمئن باشید که اگر از پس آن همایش‌ها برنیایید، عمراً زورتان قد بدهد به آن مجلات (و البته اگر فقط به فکر رزومه‌پرکنی هستید که فقط در داخل ایران ارزش دارد و در جامعهٔ علمی به پشیزی نمی‌ارزد، همان مجلات آبکی فرصت خوبی‌اند برای وقت‌تلف‌کنی).


۳) متأسفانه من هیچ مجله یا همایش به زبان فارسی سراغ ندارم که معتبر باشد. ان‌شاءالله این مهم در آینده روی بدهد ولی فعلاً این گونه نیست. بنابراین اگر در این مسیر جدیت دارید، به فارسی‌نویسی مقالات کلاً فکر نکنید. برای همایش‌های معتبر بهتر است به فهرست https://www.aclweb.org/anthology/ نظری بیندازید. علاوه بر مجلهٔ MIT computational linguistics و TACL (مقالات کوتاه‌تر در حد ۱۲-۱۴ صفحه) که در سطح اول به شمار می‌آیند، Language Resources and Evaluation برای مقالات مرتبط با داده‌های زبانی و ACM Transactions on Asian Language Information Processing (TALIP) برای پردازش زبان‌های آسیایی مناسب هستند. البته Natural Language Engineering هم بدک نیست. برای همایش‌ها هم این تقویم خوب است:

http://www.cs.rochester.edu/~tetreaul/conferences.html


حرف آخر

اگر می‌پندارید که چون در ایران کار می‌کنید حتماً سطح کار پایین است، اشتباه می‌کنید. حقیر حدود هشت سال است که مقالات پردازش زبان طبیعی از ایران را به دقت پیگیری می‌کنم. غیر از استثنائات انگشت‌شمار، بیشتر کارها بزن‌دررویی بوده‌اند. خیلی وقت‌ها معلوم است که نویسنده‌ها الفبای کار (یک یا چند مورد از مواردی که گفتم)‌ را بلد نیستند و مقاله می‌نویسند. اگر با خودمان کنار بیاییم و نگاه کمّی‌نگر را به نگاه کیفی‌نگر تبدیل کنیم، می‌توانیم سطح مقالات را بسیار بالاتر از اینی که هست کنیم. ولی اگر همیشه گوشهٔ ذهنتان این باشد که آن چند مجلهٔ پولکی و آن هزار هزار همایش الکی همیشه ته جیبتان هست که اگر مقاله‌تان از جای خوب رد شد، به آنجا بفرستید، در همان نقطه‌ای که بودید درجا خواهید زد.