تحلیل‌های اشتباه از موتور جست‌و‌‌جوهای داخلی در قطعی اینترنت!

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

نه تنها توی ایران، بلکه همه کشورها، افراد گوگل رو به عنوان راهنمای اول خودشون میدونن و تقریبا زندگی بدون گوگل نشدنیه، بخصوص توی ایران که برخلاف بعضی از کشورها مثل کره جنوبی و روسیه و غیره که موتور جست‌و‌جوهای داخلی خوبی دارن، سرویس خوبی وجود نداره!

در حال حاضر گویا شبیه‌ترین موتور جست‌و‌جو توی ایران سرویسی به اسم پارسی‌جو هست. توی 1 هفته قطعی اینترنت، مطالب خیلی زیادی میخوندم راجب تحلیل این سرویس و در کل تعمیم دادنش به عقب موندگی ایران توی توسعه موتور جست‌وجوی مشابه گوگل!

نظرات و تحلیل‌ها هم به دو حالت کلی تقسیم می‌شدن:

گروهی میگفتن مشکل از برنامه‌نویس‌های ایرانی هست و معتقد بودن باید برنامه‌نویس‌های ایرانی همت بیشتری داشته باشن!

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

وقتی نظرات دو گروه رو در نظر بگیریم، متوجه میشیم که چندتا نکته اصلی هست که هر دو گروه لحاظ نکردن:

1- مدل کسب‌و‌کار و درآمدزایی موتورهای جست‌و‌جو

سرویسی مثل گوگل از لاین‌های مختلفی کسب درآمد میکنه که یکی از مهم‌ترین لاین‌هاش بحث تبلیغات هست. برای اینکه سرویسی مثل گوگل بتونه به یه کسب‌وکار پایدار تبدیل شه و درآمدزایی پیوسته و با حاشیه سود مناسب داشته باشه، باید بتونه تعداد بالایی کاربر جذب کنه و بازدید سایتش رو خیلی ببره بالا تا افراد دیگه راغب بشن که برای تبلغ کردن، به اون موتور جست‌و‌جو پول بپردازن!

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

ثانیا، برای جذب کاربر بیشتر، آیا یه موتور جست‌و‌جوی توسعه یافته در ایران میتونه به راحتی توی کشورهای مختلف هم فعالیت کنه با وضعیت سیاسی و تحریم‌های کشور؟ فرض کنید حتی نسخه انگلیسی موتور جست‌وجوی فارسی هم توسعه پیدا کنه و توی کشورهای اروپایی هم شروع به کار کنه و حتی این فرض هم بشه که توی اروپا کاربرهایی حاضر به تبلیغ توی این سرویس ایرانی باشن، آیا بخاطر تحریم‌هایی هست که تبادل مالی و همکاری به راحتی انجام میشه؟!

2- پیچیدگی فوق العاده بالای موتور جست‌وجو در ابعاد گوگل

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

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

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

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

مثالی که گفته شد، از یه عبارت ساده مثل اجاره میز و صندلی بود! حالا میتونیم درک نسبتا بهتری از وسعت گوگل که با تمام زبان‌های دنیا از انگلیسی تا چینی و روسی و فارسی و ....رو پوشش میده برسیم.

همه این‌ها رو بذارید کنار این موضوع که اصلا قدمت علم هوش مصنوعی که توی گوگل حرف اول رو میزنه، توی ایران در قیاس با آمریکا که محل توسعه گوگل بوده چقدر هست؟ چند سال هست مگه علم هوش مصنوعی توی ایران مطرح شده و اصلا چند ساله که شروع به استفاده ازش شده؟

با این تفاسیر، افرادی که با یه جمله احساسی و ساده‌انگارانه میگن که توان برنامه‌نویسی در سطح توسعه موتور جست‌وجویی شبیه گوگل وجود داره باید کمی تامل بیشتری کنن.

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