Ի՞նչ է փոխարկված ինդեքսը: Ընդհանուր գիտելիք է, որ արդյունավետ որոնումներ իրականացնելու համար անհրաժեշտ է ստեղծել ինդեքսներ: Ո՞րն է տարբերությունը ինդեքսի և ինվերադարձված ինդեքսի միջև և ինչպե՞ս եք կառուցում շրջադարձային ինդեքսը:


պատասխանել 1:

Փոխարկված ինդեքս

Առաձգական որոնումը օգտագործում է մի կառույց, որը կոչվում է հակադարձ ինդեքս, որը հնարավորություն է տալիս շատ արագ լրացնել տեքստի որոնումը: Փոխարկված ինդեքսը բաղկացած է բոլոր եզակի բառերի ցանկից, որոնք հայտնվում են փաստաթղթում և յուրաքանչյուր բառի համար այն փաստաթղթերի ցանկը, որոնցում այն ​​տեղի է ունենում:

Օրինակ ՝ ենթադրենք, որ մենք ունենք երկու փաստաթուղթ, որոնցից յուրաքանչյուրը բովանդակության դաշտ ունի, որը պարունակում է հետևյալը.

  1. Արագ շագանակագույն աղվեսը թռավ ծույլ շան վրա Արագ շագանակագույն աղվեսները ամռանը ցատկում են ծույլ շների վրա

Փոխարկված ինդեքս ստեղծելու համար մենք առաջին հերթին բաժանում ենք յուրաքանչյուր փաստաթղթի բովանդակության դաշտը առանձին բառերի (որոնք մենք անվանում ենք տերմիններ կամ նշաններ), ստեղծում ենք բոլոր եզակի տերմինների տեսակավորված ցուցակը, այնուհետև նշում ենք, թե որ փաստաթղթում է հայտնվում յուրաքանչյուր տերմին: Արդյունքն այսպիսին է թվում.

Ժամկետը Doc_1 Doc_2 ------------------------- Արագ | | X The | X | շագանակագույն | X | X շուն | X | Շներ | | X աղվես | X | Աղվեսներ | | X in | | X- ը թռավ | X | ծույլ | X | X ցատկել | | X- ից X | X արագ X | Ամառ | | X է | X | ------------------------

Եթե ​​հիմա ուզում ենք արագ շագանակագույն որոնել, ապա մենք պարզապես պետք է գտնենք փաստաթղթերը, որոնք պարունակում են յուրաքանչյուր տերմին.

Ժամկետը Doc_1 Doc_2 ------------------------- շագանակագույն | X | X արագ X | ------------------------ Ընդհանուր | 2 | 1-ին

Երկու փաստաթղթերն էլ համընկնում են, բայց առաջին փաստաթուղթը ավելի շատ համընկնումներ ունի, քան երկրորդը: Եթե ​​մենք օգտագործում ենք միամիտ նմանության ալգորիթմ, որը հաշվում է միայն համապատասխանող տերմինների քանակը, ապա կարող ենք ասել, որ առաջին փաստաթուղթը համապատասխանում է մեր հարցմանը ավելի լավ, քան երկրորդը:

Այնուամենայնիվ, մեր ներկայիս հակադարձ ինդեքսի հետ կապված կան որոշ խնդիրներ.

  • Արագ և արագ դրանք հայտնվում են որպես առանձին տերմիններ, մինչդեռ օգտվողը, ամենայն հավանականությամբ, կտեսնի դրանք որպես նույն բառ: Աղվեսներն ու աղվեսները բավականին նման են, ինչպես և շները: Նրանք ունեն նույն արմատային բառը: Անցնել և ցատկել, չնայած նրանք նույն արմատային բառից չեն գալիս, բայց նրանք ունեն նմանատիպ նշանակություն: Դրանք հոմանիշներ են:

Նախորդ ինդեքսի հետ, + Quick + Fox- ի որոնումը չի համապատասխանում որևէ փաստաթղթի: (Հիշեք, նախածանց + նշանակում է, որ բառը պետք է լինի:) Արագ և աղվեսը տերմինները պետք է լինեն նույն փաստաթղթում, որպեսզի հարցումը բավարարի, բայց առաջին փաստաթուղթը պարունակում է արագ աղվես, իսկ երկրորդը Փաստաթուղթը պարունակում է արագ աղվեսներ:

Մեր օգտագործողը կարող է ենթադրել, որ երկու փաստաթղթերն էլ համընկնում են որոնման հարցումին: Մենք կարող ենք ավելի լավ անել:

Եթե ​​պայմանները նորմալացնում ենք ստանդարտ ձևաչափով, մենք կարող ենք գտնել փաստաթղթեր, որոնք պարունակում են տերմիններ, որոնք ճշգրտորեն չեն համապատասխանում օգտագործողի պահանջածին, բայց այնքան նման են, որ դրանք դեռ տեղին են: Օրինակ ՝

  • Արագ կարելի է իջեցնել Արագ: Աղվեսները կարող են դադարեցվել ՝ կրճատվելով իրենց արմատային ձևով: Նմանապես, շները կարող էին դաստիարակվել dog.jumped- ին և ցատկել որպես հոմանիշներ և ինդեքսավորվել որպես մեկ տերմինի ցատկ:

Հիմա ցուցանիշը նման է.

Ժամկետը Doc_1 Doc_2 ------------------------- շագանակագույն | X | X շուն | X | X աղվես | X | X in | | X ցատկել | X | X ծույլ | X | X- ից X | X արագ X | X ամառ | | X է | X | X ------------------------

Բայց մենք դեռ այնտեղ չենք: + Quick + Fox- ի մեր որոնումը դեռևս ձախողվեց, քանի որ մենք մեր ցուցանիշում այլևս ճշգրիտ ժամկետ չունենք: Այնուամենայնիվ, եթե մենք կիրառում ենք նույն նորմալացման կանոնները, որոնք մենք օգտագործում էինք բովանդակության դաշտը մեր հարցման տողի համար, ապա այն դառնում է հարցում ՝ այն արագ + աղվեսի համար, որը համապատասխանում է երկու փաստաթղթերին:

Նշում. - Սա շատ կարևոր է: Դուք կարող եք գտնել միայն տերմիններ, որոնք առկա են ձեր ցուցանիշի մեջ: Հետևաբար և՛ ինդեքսավորվող տեքստը, և՛ հարցման տողը պետք է նորմալանան նույն ձևին:

Հղում. Վերջնական ուղեցույց [2.x] | Էլաստիկ


պատասխանել 2:

Պարզ խոսքով ՝ դա հեշ-քարտեզի նման տվյալների կառուցվածքն է, որը ձեզ տանում է որևէ բառից փաստաթղթի կամ վեբ էջի:

Եկեք նայենք խնդրին այլ ուղղությամբ: Դուք ունեք միլիոնավոր փաստաթղթեր, վեբ էջեր կամ պատկերներ, որոնց մենք կարող ենք ավելի ուշ մուտք ունենալ: Որպեսզի բարելավեք ինդեքսի և տեղեկատվության ստացման վերաբերյալ ձեր ինտուիցիան, ուզում եմ հիշեցնել, որ նախկինում տեսել եք հակադարձ ինդեքսը:

Սա օրինակ է պատահական դասագրքից: Եթե ​​Ձեզ անհրաժեշտ է տեղեկատվություն որևէ թեմայի վերաբերյալ, օրինակ. B. Ակտիվացման էներգիաներ, բացեք ինդեքսը և պարզեք, արդյոք այդ բառը գոյություն ունի: Փոխարկված ինդեքսը տալիս է ձեզ այն էջի համարները, որոնց վրա այս բառը բացատրվում է մեծ թվով հազար էջերով:

Տեսնու՞մ ես Եթե ​​դուք կանոնավոր գծային որոնում եք կատարում, այս էջին հասնելու համար ժամեր կպահանջվի: Բայց հիմա արդեն վայրկյաններ չէր անցնում:

Ինչպիսի՞ն է սովորական ցուցանիշը:

Իհարկե, ճիշտ հակառակը: Այն թեմաները վերագրում է էջի համարին: Եվ կարելի է հեշտությամբ ասել, որ դրանք այնքան էլ օգտակար չեն որոնման և տեղեկատվության արդյունահանման ոլորտում: (Գուցե դուք հաջողություն ունեք այլուր): Facebook- ի որոնումները դրանք օգտագործում են դասակարգման նպատակով, որպեսզի կարողանաք ձեռք բերել առավել համապատասխան արդյունքներ:

Փոխարկված ինդեքս ստեղծելու համար Ստեղծված ցանկացած որոնման համակարգի կառավարման համար շրջադարձային ինդեքս ստեղծելու համար, դուք պետք է կատարեք մի շարք քայլեր `էջերը կամ փաստաթղթերը վերլուծելիս: Եկեք անցնենք այն, մինչ մենք կառուցում ենք մեր սեփական որոնիչը:

Ես ուզում եմ ստեղծել համակարգչի բոլոր փաստաթղթերի որոնման համակարգ: Ես գիտեմ, թե ինչ եմ փնտրում: Այսպիսով, ես սկսում եմ մի ծրագիր, որն անցնում է ամբողջ ծառով իմ կոշտ սկավառակների վրա և հավաքում է ցանկալի էջերը: Գիտեմ, որ MP3 ֆայլերը և JPEG- ները ինձ համար ոչ մի օգուտ չեն: Ես իմ ծրագրին կխնդրեմ առբերել txt, doc և pdf ֆայլերը: Փաստաթուղթ ստանալուն պես անցնում եմ հաջորդ քայլին:

Փաստաթուղթ ստանալը Գործը շատ հեշտ է, երբ ստանում եմ տեքստային ֆայլ (.txt): Բայց եթե դա փաստաթուղթ կամ PDF էր, ապա ես պետք է այն վերլուծեմ որոշ գրադարաններով, որպեսզի ստանամ դրա տեքստը: Ասենք, որ հաջողությամբ կարդում եմ տեքստը: Հիմա ի՞նչ

2. Հեռացրեք Stop WordsConsider- ի վերջին պարբերությունը: Որո՞նք էին այն կարևոր բառերը, որոնք կարող էինք որոնել: «տեքստ», «գրադարաններ», «դոկտ», «pdf», «առբերում», «հաջող»: Բայց մնացած բառերի մեծ մասը պարզապես վատնում են: Մենք ամենատարածված բառերը անվանում ենք «դադարեցրեք բառեր» և դրանք հեռացնում, որպեսզի ինդեքս չստանամ «I», «Դա», «Մենք», «Is», «On» բառերի համար: Պարբերաբար օգտագործման դեպքում մենք ունենք 500-1000 բառերի ցուցակ: Այնուամենայնիվ, այն կարող է տարբեր լինել ՝ կախված օգտագործումից:

WordThen- ի արմատից 3-րդ ցողունը գալիս է բխում: Հիմա, երբ ես ուզում եմ որոնել «Ստանալ» -ը, ես ուզում եմ ցուցադրել մի փաստաթուղթ, որը պարունակում է դրա մասին տեղեկատվություն: Այնուամենայնիվ, փաստաթղթում նշված բառը կոչվում է «Ստանալ» «Ստանալու» փոխարեն: Երկու բառերը պատմելու համար ես կկտրեմ իմ կարդացած յուրաքանչյուր բառի մի մասը, որպեսզի կարողանամ ստանալ «արմատային բառը»: Վերականգնումը կարող է դառնալ Առբերման հնարավորություն: Այնպես որ, «կվերցնի»: Մենք պետք է հստակ լինենք այն կանոնների մասին, որոնց միջոցով մենք թալանում ենք բառերը: Կան ստանդարտ գործիքներ, ինչպիսիք են «Պորտերի ցողունը»: Կարող եք խաղալ Porter Stemmer- ի հետ այստեղ ՝ Porter Stemmer Online

4. Գրանցեք փաստաթղթերի ID- ն Այժմ պատրաստվեք հիմնական առաջադրանքի `ինդեքսավորմանը: Իմ ունեցած յուրաքանչյուր փաստաթուղթ ունի յուրօրինակ փաստաթղթի ID: Եթե ​​ես բախեմ մի բառի, որն այժմ անխափան երևում է, ապա ես դա պահում եմ իմ հիշողության մեջ հետևյալ ձևով ՝ առբերում ==> ​​docID104007

Եթե ​​ես նույն բառը ստանում եմ մեկ այլ փաստաթղթում, կարող եմ գրել ==> docID104007retriev ==> docID154033

Բայց շատ շուտով ես պետք է դրանք զուգակցեմ մեկ ցանկում ==> ​​docID104007 & docID154033

Ես կարող եմ շարունակել կատարելագործվել `գրելով այն փաստաթղթի մեջ, երբ բառը հայտնվում է փաստաթղթում, որպեսզի մենք կարողանանք ավելի կարևոր փաստաթղթեր դասակարգել, երբ դրանք վերցվում են: առբերում ==> ​​docID104007 | 5 | & docID154033 | 2 |

5. Միաձուլել և պահպանել Պայմանները Վերջապես, մենք դրանք բոլորը պահում ենք սկավառակի ֆայլերում: Հիանալի է, եթե ցուցանիշն ըստ բառի տեսակավորենք արագ և հեշտ որոնման համար:

Իհարկե, այս ամենը պահանջում է տվյալների որոշակի առանձնահատկություններ, որոնք հեշտացնում են ձեր աշխատանքը:

Վերականգնումը բարելավելու համար մենք կարող ենք ստեղծել լրացուցիչ երկրորդային ինդեքսներ: Դասակարգման հետ կապված նույնպես կան բազմաթիվ խնդիրներ:

Հուսով եմ, որ սա ձեզ բացատրեց, թե ինչպես ստեղծել շրջադարձային ինդեքսներ: Եթե ​​ցանկանում եք ավելին կարդալ դրա մասին, կարող եք դիմել Քրիս Մեննինգի «Տեղեկատվության որոնմանը ծանոթացնում» ֆանտաստիկ գրքին, որը անվճար հասանելի է առցանց: