وقتی در Netflix، Spotify یا Amazon جستجو میکنید، چه اتفاقی میافتد؟
شما چند کلمه تایپ میکنید. میلیونها محاسبه انجام میشود.
هر روز، میلیاردها نفر به دنبال چیزها میگردند.
- Interstellar در Netflix
- Shape of You در Spotify
- Wireless Mouse در Amazon
نتایج بلافاصله ظاهر میشوند. ساده به نظر میرسد، اما یک سیستم مهندسی عظیم پشت آن کادر جستجو در حال کار است.
جستجوی مدرن فراتر از تطبیق کلمات عمل میکند. این سیستم معنا را درک میکند، قصد کاربر را پیشبینی میکند و نتایج را در عرض چند میلیثانیه شخصیسازی میکند.
در اینجا مسیر یک پرسوجوی جستجو (search query) آمده است:
۱. پیشپردازش پرسوجو (Query Preprocessing)
سیستم جمله شما را به قطعات کوچکتر تقسیم میکند. متن را پاکسازی میکند. غلطهای املایی را اصلاح و مترادفها را گسترش میدهد. اگر عبارت "sneakers" را جستجو کنید، سیستم میفهمد منظور شما "shoes" است.
۲. ایندکس معکوس (The Inverted Index)
Amazon میلیونها محصول دارد. این سیستم تکتک محصولات را بررسی نمیکند، زیرا این کار بسیار زمانبر خواهد بود. در عوض، از یک ایندکس معکوس استفاده میکند. این کار مانند فهرست انتهای کتابهای درسی عمل میکند؛ کلمات کلیدی را مستقیماً به شناسههای محصول (product IDs) متصل میکند. این کار میلیونها مورد را به چند هزار مورد کاهش میدهد.
۳. جستجوی معنایی (Semantic Search)
جستجوی سنتی به دنبال کلمات دقیق میگردد. جستجوی مدرن به دنبال معنا میگردد. هوش مصنوعی کلمات را به اعدادی به نام embeddings تبدیل میکند.
در این فضای ریاضی، کلمه "dog" در نزدیکی "puppy" قرار میگیرد. "Laptop" در نزدیکی "notebook" قرار دارد. حتی اگر کلمات با هم مطابقت نداشته باشند، سیستم به دلیل نزدیکی معانی، نتیجه درست را پیدا میکند.
۴. رتبهبندی (Ranking)
سیستم موارد مطابقت داده شده را پیدا کرده و سپس آنها را رتبهبندی میکند. از سیگنالهایی مانند موارد زیر استفاده میکند:
- مرتبط بودن (Relevance)
- محبوبیت (Popularity)
- امتیازات (Ratings)
- تاریخچه خرید (Purchase history)
- سرعت ارسال (Delivery speed)
بالاترین امتیازات در بالا ظاهر میشوند.
۵. شخصیسازی (Personalization)
یک جستجوی یکسان، نتایج متفاوتی به افراد مختلف میدهد. اگر عبارت "shoes" را جستجو کنید و معمولاً تجهیزات فوتبال میخرید، کفشهای استوک (cleats) را میبینید. اگر "shoes" را جستجو کنید و دونده ماراتن هستید، کفشهای ورزشی (trainers) را میبینید. سیستم از تاریخچه شما آگاه است.
۶. سرعت و مقیاسپذیری (Speed and Scale)
برای پایین نگه داشتن تأخیر (latency)، شرکتها از موارد زیر استفاده میکنند:
- کشینگ (Caching)
- پایگاههای داده توزیعشده (Distributed databases)
- پایگاههای داده برداری (Vector databases)
- متعادلسازی بار (Load balancing)
پایگاههای داده برداری مانند Pinecone یا Milvus به هوش مصنوعی اجازه میدهند تا به جای متن، از طریق ریاضیات، موارد مشابه را پیدا کند.
جستجو دیگر یک پرسوجوی ساده در پایگاه داده نیست؛ بلکه ترکیبی از هوش مصنوعی، محاسبات توزیعشده و الگوریتمهای هوشمند است.
Optional learning community: https://t.me/GyaanSetuAi
