جستجوی سند چیست؟
جستجوی سند، جستجویی است که عمدتاً بر روی متن آزاد بدون ساختار (نه فقط اسناد) کار میکند. چه به دنبال یک صفحه وب باشید، چه محصولی را پیدا کنید یا با محتوای تنظیمشده کار کنید، از یک موتور جستجو برای انجام آن استفاده میکنید. به یک صفحه وب میروید و در کادر متن «جستجو» تایپ میکنید. روی «جستجو» کلیک میکنید و (امیدوارانه) موارد مرتبطی را دریافت میکنید که هدف اطلاعاتی شما را برآورده میکنند.
موتورهای جستجو از فناوری پایگاه داده رشد کردهاند - آنها دادهها را ذخیره میکنند و پرسشها را در برابر آن دادهها پردازش میکنند. پایگاههای داده سنتی عمدتاً با محتوای ساختاریافته کار میکنند - دادهها در جداول و ستونها با طرحواره داخلی سازماندهی میشوند. وظیفه پایگاه داده، بازیابی تمام ردیفهای داده بر اساس پرسشهایی است که با مقادیر موجود در ستونها مطابقت دارند. موتورهای جستجو با دادههای ساختاریافته (اسناد) کار میکنند که حاوی هر دو فراداده و بلوکهای بزرگ متن بدون ساختار (متن آزاد) هستند. موتورهای جستجو از قوانین زبانی برای تقسیم این بلوکهای بزرگ متن به اصطلاحات قابل تطبیق استفاده میکنند. و موتورهای جستجو با قابلیت رتبهبندی داخلی برای مرتب کردن نتایج و آوردن بهترینها به بالا ارائه میشوند. در جایی که پایگاههای داده رابطهای و NoSQL همه نتایج را بازیابی میکنند، موتورهای جستجو بهترین نتایج را بازیابی میکنند.
کاربردهای موتورهای جستجو به سه دسته بزرگ تقسیم میشوند: جستجوی سند، که عمدتاً بر روی متن آزاد بدون ساختار کار میکند. جستجوی تجارت الکترونیک، که بر روی ترکیبی از دادههای ساختاریافته و بدون ساختار کار میکند. و تخلیه پرسش، که بیشتر روی دادههای ساختاریافته کار میکند.
آیا جستجوی سند با فراداده کار میکند؟
در جستجوی سند، شما سند اصلی را جستجو میکنید که میتواند به کوچکی یک پاراگراف و به بزرگی هزاران صفحه باشد. اسناد شامل انواع فیلدهای دیگر، از جمله فیلدهای متن بدون ساختار (عنوان و خلاصه)، فیلدهای نیمهساختاریافته (نویسنده) و فیلدهای ساختاریافته (تاریخ انتشار، گروه مبدأ، دستهبندی) - فراداده - هستند. موتور جستجو ترکیبی از متن و فراداده را در پرسشهای کاربر مدیریت میکند.
چالشهای اصلی جستجوی سند چیست؟
چالشهای اصلی جستجوی سند به دو حوزه تقسیم میشوند - آمادهسازی و دریافت داده و مرتبط بودن جستجو. در موارد استفاده از جستجوی سند، بدنه اسناد (مجموعه متون) از محتوای تولید شده توسط کاربر یا سایر محتوای تنظیم نشده سرچشمه میگیرد. این محتوا معمولاً حاوی غلطهای املایی یا سایر خطاها، تکرارها و دادههای بیمعنی است. قبل از بارگذاری این دادهها در یک موتور جستجو، باید دادهها را تنظیم، پاکسازی و نرمال کنید. پس از آماده شدن دادهها، باید آن دادهها را با فراخوانی APIهای دریافت، در موتور بارگذاری کنید. در نهایت، به فرآیندی برای بهروزرسانی اسناد با تغییر آنها نیاز دارید.
ارزش اصلی جستجوی سند، بازیابی اسنادی است که مرتبط با پرسش کاربر هستند - مرتبط بودن جستجو. در طول بازیابی، موتور جستجو تمام اسناد منطبق را از طریق یک معیار آماری (BM25) امتیازدهی و مرتب میکند. BM25 از منحصربهفرد بودن عبارت جستجو در تعداد آنها در اسناد منطبق استفاده میکند. هرچه پرسش با اصطلاحات منحصربهفرد بیشتری مطابقت داشته باشد، امتیاز آن بالاتر است. باید تابع امتیازدهی را برای مجموعه داده خاص خود تنظیم کنید. تکنیکهای یادگیری ماشین (ML) به شما در بهبود رتبهبندی کمک میکنند. جستجو فقط به اندازه مرتبط بودن اسنادی که بازیابی میکند خوب است و شما بهترین را میخواهید.
سایر موارد استفاده از جستجو چیست؟
جستجوی تجارت الکترونیک
شما به یک موتور تجارت الکترونیک میروید تا محصولاتی را از کاتالوگ محصولات موجود پیدا و خریداری کنید. این محصولات شامل بسیاری از فیلدهای فراداده - اندازه، رنگ، برند و غیره - همراه با فیلدهای طولانیتر مانند عنوان، توضیحات محصول و نظرات هستند. وظیفه اصلی موتور، بازیابی مرتبطترین نتایج است که درآمدزایی میکند. طراحان سایت از ابزارهای زیادی برای ایجاد یک تابع مرتبط بودن خوب - از مقادیر عددی تعبیهشده گرفته تا مدلهای ML مبتنی بر رفتار کاربر - استفاده میکنند.
برای بهبود تجربه کاربر نهایی، سایتهای تجارت الکترونیک اغلب جستجوی وجهی را اضافه میکنند. موتور شمارش دستهبندی شدهای را برای مقادیر موجود در فیلدهای مختلف (اندازه، رنگ و غیره) ارائه میدهد - و رابط کاربری لیستی قابل کلیک به کاربر میدهد که از آن برای محدود کردن نتایج استفاده میکند.
برخی از انواع جستجوی تجارت الکترونیک به شدت به شخصیسازی و توصیهها وابسته هستند. اگر خریدار «لباس» را جستجو کند، موتور جستجو باید لباسهایی را پیدا کند که مشتری ممکن است به آنها علاقه داشته باشد، حتی اگر خود پرسش بسیار کلی باشد. معیارهای شباهت مانند k-نزدیکترین همسایه (k-NN) در این امر کمک میکنند.
جستجوی مجموعه داده تنظیمشده
جستجوی یک مجموعه داده تنظیمشده مانند یک مخزن اسناد سازمانی (دادههای آزمایش بالینی، خلاصه حقوقی، املاک و غیره). موتورهای جستجو حاوی قوانین زبانی و سایر ویژگیهای خاص زبان هستند که به آنها کمک میکند بلوکهای بزرگ متن را به اصطلاحات مؤلفه (کلمات از یک فیلد یا بلوک بزرگ متن) برای تطبیق تقسیم کنند. زبان پرسش غنی آن، جستجوی این بلوکهای بزرگ متن را برای ترکیب اصطلاحات، مانند «لباس بدون آستین بلند» امکانپذیر میکند. اما موتور همه چیزهایی را که مطابقت دارند بازیابی نمیکند: از امتیازدهی مرتبط بودن برای رتبهبندی و مرتب کردن اسناد استفاده میکند و فقط بهترین مطابقتها را برمیگرداند.
تخلیه پرسش
موتورهای جستجو حاوی ساختارهای داده تخصصی برای تسهیل جستجوی با حجم بالا و تأخیر کم هستند. مهمترین این ساختارها، شاخص معکوس است که اصطلاحات منفرد را به لیستی از اسنادی که حاوی آن اصطلاحات هستند، نگاشت میکند. به دلیل این ساختارهای داده، موتورهای جستجو از پایگاههای داده رابطهای برای پردازش پرسش بهتر عمل میکنند. نکته منفی این است که موتورهای جستجو رابطهای نیستند. دیدن یک پایگاه داده رابطهای و موتور جستجو به صورت پشت سر هم رایج است. شما از پایگاه داده رابطهای برای ارائه دادههای برنامه و از موتور جستجو برای ارائه جستجوی مرتبط با تأخیر کم در آن دادهها استفاده میکنید.
چه کسی جستجوی سند را میسازد؟
ایجاد یک تجربه جستجوی غنی و لذتبخش به وظایف شغلی زیادی نیاز دارد. توسعهدهندگان یک راهحل جستجو را ادغام میکنند، یک رابط جستجو ایجاد میکنند و نحوه ساختاردهی دادهها را برای به دست آوردن بهترین نتایج جستجو درک میکنند. مدیران محصول، الزامات ساختار فراداده و تجربیات کاربری رابط جستجو را ارائه میدهند. دانشمندان داده، دادههای منبع را تنظیم میکنند، و همچنین رفتار کاربر را ردیابی و با آن کار میکنند. مدیران، KPIهای تجاری را تعیین میکنند که تیمهای محصول و توسعه را در دستیابی به اهداف تجاری موتور راهنمایی میکند.
آینده جستجوی سند چیست؟
موتورهای جستجو برای تطبیق اصطلاحات بهینه شدهاند. جستجو برای «مبل 8 فوتی» باید نتایجی را برای شما به ارمغان بیاورد که مبلمان 8 فوتی هستند و این کار را با تطبیق «8»، «فوت» و «مبل» انجام میدهد. این جستجوی کلمات کلیدی است. در بسیاری از موارد، جستجوگران اصطلاحات دقیقی را که به دنبال آن هستند نمیدانند و میخواهند بر اساس معنی جستجو کنند. این جستجوی معنایی است و در مرز فناوریهای جستجو و ML قرار دارد. با جستجوی معنایی، از پرسشهایی مانند «جای دنج برای نشستن کنار آتش» برای بازیابی مواردی مانند یک مبل 8 فوتی استفاده میکنید.
جستجوی معنایی به تکنیکهای ML نیاز دارد. باید یک فضای برداری از موارد و پرسشها بسازید و سپس از محاسبات شباهت برداری برای یافتن مواردی که در آن فضا نزدیک هستند استفاده کنید. با جستجوی برداری، یک سند برای مرتبط بودن نیازی به هیچ کلمه یا مترادفی با یک پرسش ندارد. برای مثال، جستجو در مورد «نگهداری دوچرخه» میتواند با سندی در مورد «روغنکاری طبق عوضکن» مطابقت داشته باشد، زیرا الگوریتم ML میداند که «روغنکاری طبق عوضکن» اغلب در نزدیکی بحثهای مربوط به نگهداری دوچرخه ظاهر میشود.