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