Ինդեքս
| Այս հոդվածը տեղեկատվական աղբյուրների կարիք ունի։ Դուք կարող եք օգնել նախագծին՝ գտնելով բերված տեղեկությունների հաստատումը վստահելի աղբյուրներում և ավելացնելով այդ աղբյուրներին հղումները հոդվածին։ Անհիմն հղումները ենթակա են հեռացման։ |
|
|
Այս հոդվածը կարող է վիքիֆիկացման կարիք ունենալ Վիքիպեդիայի որակի չափանիշներին համապատասխանելու համար։ Դուք կարող եք օգնել հոդվածի բարելավմանը՝ ավելացնելով համապատասխան ներքին հղումներ և շտկելով բաժինների դասավորությունը։ |
[խմբագրել] Ինդեքս (փնտրման համակարգ)
Փնտրման համակարգերի ինդեքսացումը տեղեկությունների հավաքումը, տեսակավորումն ու պահպանումն է` տեղեկությունների արագ ու ճշգրիտ փնտրման ապահովման նպատակով: Ինդեքսի ձևավորումը ներառում է միջ-դիսցիպլինար կոնցեպցիաներ, ինչպիսիք են` լեզվաբանությունը, ճանաչողական հոգեբանությունը, մաթեմատիկան, ինֆորմատիկան, ֆիզիկան ու համակարգչային գիտությունը: Համացանցերի կայքեր որոնելու կոչված փնտրման համակարգերի կոնտեքստում այս պրոցեսի այլընտրանքային անունն է` Համացանցային Ինդեքսացում: Հանրաճանաչ համակարգերը կենտրոնանում են օնլայն, բնօրինակ լեզվով ստեղծված համակարգերի ամբողջական տեքստերի ինդեքսացմանը: Վիդեո և աուդիո տիպի մեդիայի տեսակները, ինչպես նաև գրաֆիկան, նույնպես փնտրելի են: Մետա փնտրման համակարգերը վերա-օգտագործում են այլ ծառայությունների ստեղծած ինդեքսները, առանց տեղական ինդեքս պահպանելու, մինչդեռ քեշ-ով աշխատող փնտրման համակարգերը ընդմիշտ պահպանում են ինդեքսը` դրա կորպուսի հետ միասին: Ի նտարբերություն ամբողջական տեքստերով ինդեքսներին, մասնակի տեքստով աշխատող ծառայությունները արգելում են խորն ինդեքսացումը` ինդեքսացման ծավալները նվազեցնելու նպատակով: Ավելի խոշոր ծառայությունները սովորաբար ինդեքսացում կատարում են նախապես որոշված ճամանակահատվածում` հաշվի առնելով համապատասխան ժամանակավճարներն ու գործողությունների համար անհրաժեշտ ծախսերը, մինչդեռ գործակալների վրա հիմնված փնտրման համակարգերը ինդեքսացում կատարում են իրական ժամանակային ռեժիմում:
Ինդեքսացում
Ինդեքսի պահպանման նպատակն է` փնտրման հայցի համաձայն պահանջվող փաստաթղթերը գտնելու արագության ու որակի ապահովումը: Առանց ինդեքսացման` փնտրման համակարգը յուրաքանչյուր փաստաթղթի սկանը կկատարեր հենց կորպուսի մեջ, ինչը համապատասխան ժամանակ ու համակարգչային հզորոթյուն կպահանջեր: Օրինակ` եթե 10000 փաստաթղթերի ինդեքսը կարող է հայցվել միլիվայրկյանների ընթացքում, ապա այդ նույն 10000 մեծ փաստաթղթերի յուրաքանչյուր բառի հետևողական սկանավորումը ժամեր կտևեր: Ինդեքսը պահպանելու համար նախատեսված հավելյալ համակարգչային հիշողությունը, ինչպես նաև` տվյալ պրոցեսի համար պահանջված ժամանակի համապատասխան ավելացումը, փաստորեն, դուրս են մղվում, տեղեկությունների փնտրման պրոցեսում խնայված ժամանակի շնորհիվ:
Ինդեքսի ձևավորման գործոններ
Փնտրման համակարգի կառուցվածքը ձևավորելիս առկա հիմնական գործոնները ներառում են`
[խմբագրել] Միաձուլման գործոններ
Ինչպես են տեղեկությունները ներմուծվում ինդեքս, կամ ինչպես են բառերը կամ թեմատիկ բաղադրիչները ավելացվում ինդեքսին` կորպուսի տեքստի դիտման ժամանակ, ու թե արդյոք բազմակի ինդեքսացնողները կարող են աշխատել ապա-սինխրոնիզացված ձևով, թե ոչ: Ինդեքսացնողը պետք է նախևառաջ ստուգի, թե արդյոք այն թարմացնում է հին բովանդակությունը, թե ավելացնում է նորը: Դիտումը սովորաբար համադրվում է տեղեկությունների հավաքման քաղաքականությանը: Փնտրման համակարգերի ինդեքսի միաձուլման պրոցեսը սկզբունքորեն նման է ԷՍ-ՔՅՈՒ-ԷԼ միաձուլման (SQL Merge) հրամանին և միաձուլման այլ ալգորիթմներին:
[խմբագրել] Պահպանման տեխնիկաներ
Ինչպես պահպանել ինդեքսի տեղեկությունները, այն է` արդյոք տեղեկությունները պետք է սեղմվեն, կամ ֆիլտրվեն:
[խմբագրել] Ինդեքսի չափսերը
Ինչ ծավալի համակարգչային հիշողություն է անհրաժեշտ ինդեքսի աշխատանքի համար:
[խմբագրել] Փնտրման արագությունը
Որքան արագ կարող է գտնվել կամայական բառը բացված ինդեքսում: Տեղեկությունների համակարգում միավորի գտնման արագությունը, համեմատած դրա թարմացման կամ հեռացման արագության հետ, համակարգչային գիտության կենտրոնական առանցքներից է:
[խմբագրել] Գործունեության ապահովում
Ինչպես է ապահովվում ինդեքսի գործունեությունը ժամանակի ընթացքում
[խմբագրել] Սխալների հանդուրժողունակություն
Որքան կարևոր է տվյալ ծառայության վստահելի լինելը: Այս առումով խնդիրները ներառում են ինդեքսի փչացման շտկում, ճշգրտելով, թե արդյոք վատ տեղեկությունները կարող են թողնվել մեկուսացման մեջ, վատ սառքավորումների առկայության պայմաններում, թե պետք է մասնատվեն լավ ու վատ մասերը, ինչպես նաև ներառում է այնպիսի սխեմաների հետ աշխատանքը, ինչպիսիք են հաշ-ի վրա հիմնված համակարգերը կամ խառը մասնատումը, ինչպես նաև` կրկնօրինակումը:
[խմբագրել] Բնական լեզուներով գրված տեքստերի մշակման խոչընդոտները
[խմբագրել] Բառերի սահմանների անհստակությունը
Բնիկ անգլախոսները գուցե նշանագրումը սկզբից կհամարեն առաջնային առաջադրանք, սակայն ամենևին էլ սա չէ այս դեպքում առաջնայինը, երբ նախաձեռնում ես բազմալեզու ինդեքսացնող ստեղծելու գործը: Թվային վիճակում այլ լեզուների տեքստերը, ինչպես օրինակ չինարենը, ճապոներենը կամ արաբերենը, ավելի բարդ խոչընդոտ են հանդիսանում, քանզի բառերը դրանցում չեն առանձնանում մաքուր սպիտակ տարածքով: Նշանագրման ժամանակ նպատակն այն է, որ իդենտիֆիկցվեն այն բառերը, որոնք հավանական է, որ կփնտրվեն օգտագործողների կողմից: Լեզվա-հատուկ տրամաբանություն է որդեգրվում բառերի սահմանները ճշգրտորեն որոշելու նպատակով, ինչը հաճախ հիմնաքարային պահ է յուրաքանչյուր ներառված լեզվի համար վերլուծող ծրագիր ստեղծելիս (կամ սահմանների միանման նշանագրեր ու միանման կառուցվածք ունեցող լեզուների խմբերի համար):
[խմբագրել] Լեզվի անհստակությունը
Փաստաթղթերի պատշաճ համապատասխանեցմանն ու դասավորմանը օգնելու նպատակով, շատ փնտրման համակարգեր յուրաքանչյուր բառի վերաբերյալ լրացուցիչ տեղեկություններ են հավաքում, ինչպես օրինակ` դրա լեզվական կամ լեքսիկոնային կատեգորիան (խոսվածքի մասը): Այս տեխնիկաները լեզուներից կախված տեխնիկաներ են, քանի որ բառակազմության կանոնավորությունը փոխվում է լեզվից լեզու: Փաստաթղթերը միշտ չէ, որ ճշգրիտ ցույց են տալիս, թե որ լեզվին են պատկանում, կամ էլ որոշ առումով թերի են ներկայացնում տվյալ լեզուն: Փաստաթղթի նշանագրման գործում որոշ փնտրման համակարգեր փորձում են ավտոմատ կերպով ֆիքսել փաստաթղթի լեզուն:
[խմբագրել] Բազմազան ֆայլային ֆորմատներ
Որպեսզի հնարավոր լինի ճիշտ որոշել, թե փաստաթղթի որ մասի բայթերն են ներկայացնում տառերը, անհրաժեշտ է ճիշտ որոշել ֆայլային ֆորմատը: Այնպիսի համակարգերը, որոնք բազմազան ֆայլային ֆորմատներ են ընդունում, պետք է ի զորու լինեն ճիշտ բացել ու կարդալ փաստաթուղթը, ինչպես նաև` կարողանան նշանագրել դրա բաղադրանիշերը:
[խմբագրել] Սխալների Պահպանում
Բնական լեզուներով տեղեկությունների որակը հնարավոր է, որ ոչ միշտ կատարյալ լինի: Փստաթղթերի անորոշ քանակություն, մասնավորապես Համացանցում, այնքան էլ չեն հետևում պահանջվող ֆայլային պրոտոկոլի: Երկակի խորհրդանիշերը, հնարավոր է, սխալմամբ կոդավորված լինեն փաստաթղթի տարբեր մասերի:Առանց այդ ղորհրդանիշերի ճանաչման ու դրանց հանդեպ պատշաճ վերաբերմունքի, ինդեքսի կամ ինդեքսացնողի որակը կարող է վատանալ:
[խմբագրել] Նշանագրում
Ի տարբերություն գրաճանաչ մարդ արարածների, համակարգիչները չեն հասկանում բնական լեզվի կառուցվածքը և չեն կարող ավտոմատ կերպով ճանաչել բառեր ու նախադասություններ: Համակարգչի համար` փաստաթուղթը լոկ բայթերի շարք է: Համակարգիչները “չգիտեն”, որ “սփեյս” (space) նիշը փաստաթղթում բառերն իրարից առանձնացնողի դերն ունի: Այդ իսկ պատճառով, մարդիկ պետք է համակարգչին ծրագրավորեն տարբերակելու` թե ինչ է նշանակում առանձին բառ, ըստ համապատասխան նշանագրի: Այսպիսի ծրագիրը սովորաբար կոչվում է նշանագրող (տոկենիզացնող ), վերլուծող կամ լեզվա-վերլուծող: Շատ փնտրման համակարգեր, ինչպես նաև բնական լեզուների մշակման այլ ծրագրեր, ներմուծում են վերլուծելու մասնագիտացված ծրագրեր, ինչպիսիք են` YACC-ն (սինտաքսիկ վերլուծողների գեներատոր) կամ LEX-ը: Նշանագրման ընթացքում վերլուծողը գտնում է այն նշանների շարքերը, որոնք ներկայացնում են բառեր և այնպիսի այլ բաղադրիչներ, ինչպիսիք են թվագրերով ներկայացված շեշտը և նման այլք, որոնց մի մասն էլ տպագրման չենթարկվող նշաններ են: Վերլուծողը կարող է նաև գտնել այնպիսի միավորներ, ինչպիսիք են էլեկտրոնային փոստը, հեռախոսահամարները և համացանցային կայքերի հասցեները: Յուրաքանչյուր նշանագիրը իդենտիֆիկացնելիս սովորաբար մի քանի բնութագրիչներ են պահպանվում, օրինակ` նշանագրի ռեժիմը (վերին ռեժիմ, ստորին ռեժիմ, խառը ռեժիմ, պահանջվող ռեժիմ), լեզուն կամ կոդավորումը, խոսքի մասերը (օրինակ` “գոյական” կամ “բայ”), տեղադիրքը, նախադասության համարը, նախադասության տեղադիրքը, երկարությունն ու տողի համարը: