ضمن سلام خدمت دوستان عزیز
کاربر متن مورد نظر خود را وارد میکند(متون بلند-حداقل50000 کلمه) حالا میخواهیم حدود 54 کلمه را در متن داده شده جستجو کنیم از چه روشی میتوانم استفاده کنم که بسیار سریع باشد؟
ضمن سلام خدمت دوستان عزیز
کاربر متن مورد نظر خود را وارد میکند(متون بلند-حداقل50000 کلمه) حالا میخواهیم حدود 54 کلمه را در متن داده شده جستجو کنیم از چه روشی میتوانم استفاده کنم که بسیار سریع باشد؟
اول یک سری ویرایش ها رو متن باید انجام بگیرند
مثلا :
Stopword ها حذف بشن و کلمات stemm بشن ( یعنی مثلا computer , computation , computing , computrize تبدیل بشن به compute )
بعد باید متن ایندکس گذاری بشه به این معنی که یک دیکشنری از متن ساخته بشه به این دیکشنری ، دیکشنری ( جدول ) تصادم واژگان و متن گفته میشه .
به این شکل که مثلا در یک رکورد در فیلد اول لغت رو می نویسید و در فیلد بعدی لیستی از مکان هایی در متن که این لغت رو در آنجا مشاهده کردید به همراه تعداد مشاهده در هر بخش ( مثلا اگه چند تا فایل دارید ، در هر فایل )
بعد از الگوریتم هایی برای جستجو در این جدول استفاده میکنید .
به این ترتیب اگر شما از یک الگوریتم بهینه که به صورت بهینه پیاده سازی هم شده استفاده کنید ، برای ایندکس کردن متنی به بزرگی چندین میلیون صفحه ، به زمانی کمتر از 3 دقیقه نیاز است .
و برای جستجو در جدول تصادم هم به زمانی کمتر از 0.5 ثانیه (در یک پیاده سازی بهینه ) برای هر نوع Query نیاز هست .
برای اطلاعات بیشتر ، می تونید در مورد Text based Information Retrieval جستجو کنید .