در جوابکو برای پیدا کردن سوالات مرتبط از یک الگوریتم آماری استفاده کردیم و الاستیکسرچ (ElasticSearch) در نهایت اون الگوریتم رو اجرا میکنه و سوالات مرتبط رو ارائه میکنه. موضوعاتی که به هر سوال داده شده وزن سنگینی در این الگوریتم دارن.
در هنگام پرسیدن سوال هم از الگوریتمی مشابه با فرمول متفاوت جهت نشان دادن سوالات تکراری استفاده میشه.
بخشی که کمی در اون از هوش مصنوعی استفاده شده بخش پیدا کردن موضوعات برای هر سوال هست. این موضوعات به صورت اتوماتیک به سوالات تخصیص نمیشن ولی در پشت صحنه برای جستجو و پیشنهاد سوالات مشابه بهمون کمک میکنن. همینطور میتونن به مدیران جوابکو کمک کنن که راحتتر موضوعات رو به سوالات تخصیص بدن. برای این کار از لایبراری NLTK۱۴۷ استفاده کردیم.
بخش دیگهای که شاید بشه اسمش رو هوش مصنوعی گذاشت، پیدا کردن پستهای آزاردهنده و اسپم هست که در اون از Naive Bayes Classifier استفاده شده. تمام گزارشهای کاربران و مدیران (با وزن بیشتر) این شبکرو آموزش میده. الگوریتم این Classifier خیلی خیلی ساده هست اما همچنان یکی از رایجترین روشها برای پیدا کردن اسپم هست.
هفت سال پیش یه دوره آنلاین در زمینه هوش مصنوعی در دانشگاه استنفورد توسط آقای Sebastian Thrun و Peter Norvig برگزار شد که در واقع اولین دوره MOOC موفق بود و بعدها آقای Thrun سرویس Udacity رو ایجاد کردن و Udemy و Coursera هم از همون زمان شروع شدن. مواردی که در بالا توضیح دادم اکثرشون چیزایی بودن که توی همین کلاس یاد گرفتم. اگر علاقه داشتید اینجا۱۳۶ کد یه نمونه ساده Naive Bayes Classifier در هنگام همون دوره به اشتراک گذاشته بودم که بهش میتونید کلی جمله بدید و بگید اسپم هست یا نه، و بعد ازش یه جمله جدید بخواین و بهتون گفته میشه که آیا اسپم هست یا نه.
متاسفانه در جوابکو هنوز به تعداد دادهای نرسیدیم که بشه در اون از الگوریتمهای جالب یادگیری ماشین استفاده کرد. اکثر الگوریتمهایی که اسمشون رو میشنویم نیاز به حداقل میلیونها داده دارن که در آینده امیدواریم به این مرحله هم برسیم.