Кіріспе

Классикалық ақпаратты іздеу моделі

(Стандартты) Бульдік ақпаратты іздеу моделі (BIR) – классикалық ақпаратты іздеу (IR) моделі және сонымен бірге, алғашқы және ең көп қолданылатын модель. BIR Буль логикасы мен классикалық жиын теориясына негізделген, себебі ізделінетін құжаттар мен пайдаланушының сұранысы терминдер жиынтығы ретінде қарастырылады (сөздер жинағы моделі). Іздеу нәтижелері құжаттарда сұраныс терминдерінің болуына және сұраныста сипатталған Бульдік шарттардың орындалуына байланысты болады.

Анықтамалар

Индекс термині – құжатты сипаттайтын немесе мінелейтін сөз немесе тіркес, мысалы, журнал мақаласы үшін берілген кілт сөз. Барлық мұндай индекс терминдерінің жиынтығы L болсын. Құжат – L жиынтығының кез келген ішкі жиыны. Сұрау – нормалды түріндегі Бульдік өрнек: , мұнда үшін дұрыс, егер (Бұл эквивалентті түрде дизъюнктивті нормалды түрде де көрсетілуі мүмкін). Біз сұрауды қанағаттандыратын құжаттар жиынтығын табуға тырысамыз. Бұл операция іздеу деп аталады және келесі екі қадамнан тұрады:

1. Әрбір i үшін : талапқа сай келетін құжаттар жиынтығын табыңыз.
2. Содан кейін Q сұрауын қанағаттандыратын құжаттар жиынтығы мына формуламен беріледі:

Деректер құрылымы мен алгоритмдер

Тек формальды математикалық тұрғыдан қарағанда, BIR түзу. Бірақ, практикалық тұрғыдан алғанда, алгоритмдер мен дерек құрылымдарына қатысты қосымша бірнеше мәселелерді шешу қажет, мысалы, терминдерді таңдау (қолмен немесе автоматты түрде таңдау, немесе екеуінің де үйлесімі), түбірге келтіру, хэш-кестелер, инверттік файл құрылымы және тағы да басқалар.

Хаш сеттер

Тағы бір мүмкіндік – хэш жиынтықтарын пайдалану. Әрбір құжат сол құжаттағы барлық сөздерді қамтитын хэш-кесте арқылы көрсетіледі. Хэш-кестенің мөлшері сөздерді қосу және жою арқылы нақты уақытта өсіп, кемитіндіктен, әрбір құжат жадта әлдеқайда аз орын алады. Дегенмен, операциялар биттік векторларға қарағанда күрделі болғандықтан, өнімділік төмендеуі мүмкін. Ең жаман жағдайда өнімділік O(n)-ден O(n²) дейін нашарлауы мүмкін. Ал орташа жағдайда өнімділік төмендеуі биттік векторларға қарағанда айтарлықтай болмайды және жадты пайдалану әлдеқайда тиімді.

Қолтаңба файлы

Әрбір құжатты құжаттағы сөздер жиынтығын көрсететін Блум сүзгісі арқылы қорытындылауға болады, ол "қолтаңба" деп аталатын белгілі бір ұзындықтағы биттер тізбегінде сақталады. Қолтаңба файлында жинақтағы әрбір құжат үшін мұндай біріктірілген кодтық биттер тізбегі болады. Әрбір сұранысты да сұраныстағы сөздер жиынтығын көрсететін Блум сүзгісімен қорытындылауға болады, ол сол ұзындықтағы биттер тізбегінде сақталады. Сұраныс тізбегі әрбір қолтаңбамен тексеріледі. Бұл қолтаңба файлы BitFunnel жүйесінде қолданылады.