Ինդեքս

Վիքիպեդիայից՝ ազատ հանրագիտարանից


Բովանդակություն

[խմբագրել] Ինդեքս (փնտրման համակարգ)

Փնտրման համակարգերի ինդեքսացումը տեղեկությունների հավաքումը, տեսակավորումն ու պահպանումն է` տեղեկությունների արագ ու ճշգրիտ փնտրման ապահովման նպատակով: Ինդեքսի ձևավորումը ներառում է միջ-դիսցիպլինար կոնցեպցիաներ, ինչպիսիք են` լեզվաբանությունը, ճանաչողական հոգեբանությունը, մաթեմատիկան, ինֆորմատիկան, ֆիզիկան ու համակարգչային գիտությունը: Համացանցերի կայքեր որոնելու կոչված փնտրման համակարգերի կոնտեքստում այս պրոցեսի այլընտրանքային անունն է` Համացանցային Ինդեքսացում: Հանրաճանաչ համակարգերը կենտրոնանում են օնլայն, բնօրինակ լեզվով ստեղծված համակարգերի ամբողջական տեքստերի ինդեքսացմանը: Վիդեո և աուդիո տիպի մեդիայի տեսակները, ինչպես նաև գրաֆիկան, նույնպես փնտրելի են: Մետա փնտրման համակարգերը վերա-օգտագործում են այլ ծառայությունների ստեղծած ինդեքսները, առանց տեղական ինդեքս պահպանելու, մինչդեռ քեշ-ով աշխատող փնտրման համակարգերը ընդմիշտ պահպանում են ինդեքսը` դրա կորպուսի հետ միասին: Ի նտարբերություն ամբողջական տեքստերով ինդեքսներին, մասնակի տեքստով աշխատող ծառայությունները արգելում են խորն ինդեքսացումը` ինդեքսացման ծավալները նվազեցնելու նպատակով: Ավելի խոշոր ծառայությունները սովորաբար ինդեքսացում կատարում են նախապես որոշված ճամանակահատվածում` հաշվի առնելով համապատասխան ժամանակավճարներն ու գործողությունների համար անհրաժեշտ ծախսերը, մինչդեռ գործակալների վրա հիմնված փնտրման համակարգերը ինդեքսացում կատարում են իրական ժամանակային ռեժիմում:

Ինդեքսացում

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

Ինդեքսի ձևավորման գործոններ

Փնտրման համակարգի կառուցվածքը ձևավորելիս առկա հիմնական գործոնները ներառում են`

[խմբագրել] Միաձուլման գործոններ

Ինչպես են տեղեկությունները ներմուծվում ինդեքս, կամ ինչպես են բառերը կամ թեմատիկ բաղադրիչները ավելացվում ինդեքսին` կորպուսի տեքստի դիտման ժամանակ, ու թե արդյոք բազմակի ինդեքսացնողները կարող են աշխատել ապա-սինխրոնիզացված ձևով, թե ոչ: Ինդեքսացնողը պետք է նախևառաջ ստուգի, թե արդյոք այն թարմացնում է հին բովանդակությունը, թե ավելացնում է նորը: Դիտումը սովորաբար համադրվում է տեղեկությունների հավաքման քաղաքականությանը: Փնտրման համակարգերի ինդեքսի միաձուլման պրոցեսը սկզբունքորեն նման է ԷՍ-ՔՅՈՒ-ԷԼ միաձուլման (SQL Merge) հրամանին և միաձուլման այլ ալգորիթմներին:

[խմբագրել] Պահպանման տեխնիկաներ

Ինչպես պահպանել ինդեքսի տեղեկությունները, այն է` արդյոք տեղեկությունները պետք է սեղմվեն, կամ ֆիլտրվեն:

[խմբագրել] Ինդեքսի չափսերը

Ինչ ծավալի համակարգչային հիշողություն է անհրաժեշտ ինդեքսի աշխատանքի համար:

[խմբագրել] Փնտրման արագությունը

Որքան արագ կարող է գտնվել կամայական բառը բացված ինդեքսում: Տեղեկությունների համակարգում միավորի գտնման արագությունը, համեմատած դրա թարմացման կամ հեռացման արագության հետ, համակարգչային գիտության կենտրոնական առանցքներից է:

[խմբագրել] Գործունեության ապահովում

Ինչպես է ապահովվում ինդեքսի գործունեությունը ժամանակի ընթացքում

[խմբագրել] Սխալների հանդուրժողունակություն

Որքան կարևոր է տվյալ ծառայության վստահելի լինելը: Այս առումով խնդիրները ներառում են ինդեքսի փչացման շտկում, ճշգրտելով, թե արդյոք վատ տեղեկությունները կարող են թողնվել մեկուսացման մեջ, վատ սառքավորումների առկայության պայմաններում, թե պետք է մասնատվեն լավ ու վատ մասերը, ինչպես նաև ներառում է այնպիսի սխեմաների հետ աշխատանքը, ինչպիսիք են հաշ-ի վրա հիմնված համակարգերը կամ խառը մասնատումը, ինչպես նաև` կրկնօրինակումը:

[խմբագրել] Բնական լեզուներով գրված տեքստերի մշակման խոչընդոտները

[խմբագրել] Բառերի սահմանների անհստակությունը

Բնիկ անգլախոսները գուցե նշանագրումը սկզբից կհամարեն առաջնային առաջադրանք, սակայն ամենևին էլ սա չէ այս դեպքում առաջնայինը, երբ նախաձեռնում ես բազմալեզու ինդեքսացնող ստեղծելու գործը: Թվային վիճակում այլ լեզուների տեքստերը, ինչպես օրինակ չինարենը, ճապոներենը կամ արաբերենը, ավելի բարդ խոչընդոտ են հանդիսանում, քանզի բառերը դրանցում չեն առանձնանում մաքուր սպիտակ տարածքով: Նշանագրման ժամանակ նպատակն այն է, որ իդենտիֆիկցվեն այն բառերը, որոնք հավանական է, որ կփնտրվեն օգտագործողների կողմից: Լեզվա-հատուկ տրամաբանություն է որդեգրվում բառերի սահմանները ճշգրտորեն որոշելու նպատակով, ինչը հաճախ հիմնաքարային պահ է յուրաքանչյուր ներառված լեզվի համար վերլուծող ծրագիր ստեղծելիս (կամ սահմանների միանման նշանագրեր ու միանման կառուցվածք ունեցող լեզուների խմբերի համար):

[խմբագրել] Լեզվի անհստակությունը

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

[խմբագրել] Բազմազան ֆայլային ֆորմատներ

Որպեսզի հնարավոր լինի ճիշտ որոշել, թե փաստաթղթի որ մասի բայթերն են ներկայացնում տառերը, անհրաժեշտ է ճիշտ որոշել ֆայլային ֆորմատը: Այնպիսի համակարգերը, որոնք բազմազան ֆայլային ֆորմատներ են ընդունում, պետք է ի զորու լինեն ճիշտ բացել ու կարդալ փաստաթուղթը, ինչպես նաև` կարողանան նշանագրել դրա բաղադրանիշերը:

[խմբագրել] Սխալների Պահպանում

Բնական լեզուներով տեղեկությունների որակը հնարավոր է, որ ոչ միշտ կատարյալ լինի: Փստաթղթերի անորոշ քանակություն, մասնավորապես Համացանցում, այնքան էլ չեն հետևում պահանջվող ֆայլային պրոտոկոլի: Երկակի խորհրդանիշերը, հնարավոր է, սխալմամբ կոդավորված լինեն փաստաթղթի տարբեր մասերի:Առանց այդ ղորհրդանիշերի ճանաչման ու դրանց հանդեպ պատշաճ վերաբերմունքի, ինդեքսի կամ ինդեքսացնողի որակը կարող է վատանալ:

[խմբագրել] Նշանագրում

Ի տարբերություն գրաճանաչ մարդ արարածների, համակարգիչները չեն հասկանում բնական լեզվի կառուցվածքը և չեն կարող ավտոմատ կերպով ճանաչել բառեր ու նախադասություններ: Համակարգչի համար` փաստաթուղթը լոկ բայթերի շարք է: Համակարգիչները “չգիտեն”, որ “սփեյս” (space) նիշը փաստաթղթում բառերն իրարից առանձնացնողի դերն ունի: Այդ իսկ պատճառով, մարդիկ պետք է համակարգչին ծրագրավորեն տարբերակելու` թե ինչ է նշանակում առանձին բառ, ըստ համապատասխան նշանագրի: Այսպիսի ծրագիրը սովորաբար կոչվում է նշանագրող (տոկենիզացնող ), վերլուծող կամ լեզվա-վերլուծող: Շատ փնտրման համակարգեր, ինչպես նաև բնական լեզուների մշակման այլ ծրագրեր, ներմուծում են վերլուծելու մասնագիտացված ծրագրեր, ինչպիսիք են` YACC-ն (սինտաքսիկ վերլուծողների գեներատոր) կամ LEX-ը: Նշանագրման ընթացքում վերլուծողը գտնում է այն նշանների շարքերը, որոնք ներկայացնում են բառեր և այնպիսի այլ բաղադրիչներ, ինչպիսիք են թվագրերով ներկայացված շեշտը և նման այլք, որոնց մի մասն էլ տպագրման չենթարկվող նշաններ են: Վերլուծողը կարող է նաև գտնել այնպիսի միավորներ, ինչպիսիք են էլեկտրոնային փոստը, հեռախոսահամարները և համացանցային կայքերի հասցեները: Յուրաքանչյուր նշանագիրը իդենտիֆիկացնելիս սովորաբար մի քանի բնութագրիչներ են պահպանվում, օրինակ` նշանագրի ռեժիմը (վերին ռեժիմ, ստորին ռեժիմ, խառը ռեժիմ, պահանջվող ռեժիմ), լեզուն կամ կոդավորումը, խոսքի մասերը (օրինակ` “գոյական” կամ “բայ”), տեղադիրքը, նախադասության համարը, նախադասության տեղադիրքը, երկարությունն ու տողի համարը:

Անձնական գործիքներ
Անվանատարածքներ

Տարբերակներ
Գործողություններ
Նավարկում
Մասնակցել
Գործիքներ
Այլ լեզուներով