Մասնակից:Aramhayr

Վիքիդարանից՝ ազատ գրադարանից
ՀՍՀ ՍՐԲԱԳՐՈՒՄ 
-- Հանրագիտական Շտեմարան -- 

Այստեղ Հանրագիտական Շտեմարանի խնդիրը չի քննարկվում. նկարագրվում է մի գործիք, որը աջակցում է ՀՍՀ սրբագրմանը։

-- Ներածություն -- 

Հանրագիտական Շտեմարանի (ՀՇ) նախագծումն ու իրագործումը բազմափուլ գործընթաց է, որի առաջի փուլը ՀՍՀ սրբագրումն է։ Այստեղ կկենտրոնանանք այդ փուլի վրա։

ՀՍՀ սրբագրման եւ [WIKI] հրապարակման փուլը հետեւյալ քայլրերի հաջորդականություն է՝

• Բնագրի թվայնացնում եւ WIKI-հրապարակման սրբագրման համար (կատարված է)։
• Սրբագրում (ընթացքում է)
• Բնագրի սրբագրաված տարբերակի WIKI (եւ/կամ այլ) հրապարակում։
• Խմբագրաված (ճշտված, ուղղված, նորացված) տարբերակի WIKI-հրապարակում։

Վերջինիս տվյալները (բովանդակությունը) ՀՇ-ի հիմք կհանդիսանան։

ՀՍՀ-ի սրբագրմանը աջակցող համակարգը բովանդակուտյան երկու տեսանկյուն է ապահովում՝ կայքային (վերջնական օգտգորցողի, որը տվյալ դեպքում սրբագրողն է), եւ ցուցչային (սպասարկող օգտգորցողի, որը ապահովում է էջէրի սրբագրումը, հայցված բովանդակության վերադարձը, եւլն՝ այսինքն սպասարկում է սրբագրողին)՝ Solr-ի հիման վրա իրագործված ցուցիչ։ Վերջինս հնարավորություն է ընձեռնում ՀՍՀ տվյալները որոնել եւ արտահանել երկու տեսքով՝ էջերով եւ հոդվածներով։

Հետեւաբար, համակարգը բաղկացած է երկու ենթահամակարգերից՝

ա. Սրբագրիչ (spellchecker), որը հայտնաբերում եւ, մասամբ, ուղղում է թվայնացման վրիպակները եւ էջերը պատրաստում է ինդեկսավորման (Solr) համար.

բ. Ցուցիչ ( Inverted_index ) եւ այն պարունակող տեքստի (բովանդակության) վերադարձը (արտապատկերումը) ինչպես էջային, այնպես էլ հոդվածային ձեւով։

Երկու համակարգն էլ դեռ կառուցման ընթացքում են։ Ներկա վիճակը նկարագրված է այս գրության համապատասխան հատվածներում։

-- Սրբագրիչ -- 

Չնայած էջերի թվայնացման համեմատաբար բարձր որակի, էջերում մեծ քանակությամբ վրիպակներ կան (որոնք մարդը նույնպես դժվարությամբ է գտնում)։ Սրանք պայմանավորված են թե զննագրիչ (scanning} համակարգի մասնավոր անճշտություններով, թե նշանների որոշ զույգերի "բնական" նմանությունով (Օրինակ՝ Մ - Ս)։

Թվայնացման վրիպակների հիմնական մասը համեմատաբար հեշտ է հայտնաբեվում եւ ուղղվում մեքենայական (ծրագրային) պարզ միջոցներով։ Կան վրիպակներ, որ ավելի բարդ եւ ճշգրիտ վերլուծում են պահանջում։ Սակայն բանաձեւերի կամ հատուկ [գրաֆիկական] ֆորմատավորում (տեսայնացում) պահանջող այլ տվյալների, օրինակ՝ աղյուսակների, նշագրումը (markup), հիմնականում, "ձեռքի" աշխատանք է մնում։

Նախագծված եւ [մասամբ] իրագործված Սրբագրիչ համակարգը գտնում եւ ուղղում է հետեւյալ վրիպակները՝ • Սխալ [Unicode] կոդային հատվածի նշանների օգտագործում՝ օրինակ՝ լատինական Օ օ տառերը հայերեն կամ ռուսերեն տեքստում (եւ հակառակը)։ Կետադրական օրինակ է հայերեն վերջակետի եւ colon նշանի փոխօգտագործումը։ • Նման տառերի, օրինակ՝ ՛ե՛, ՛ն՛, ՛և՛ թվայնացման ծրագրի կողմից չտարբերելը։

Կոդային սխալն հատվածների ուղղումը կարեւոր է, մասնավորապես, որոնման եւ, առհասարակ, բովանդակության մեքենայական վերլուծման համար։

Սրբագրող ծրագիրը համարում է բառը ճիշտ գրված, եթե բառի հիմքը առկա է հիմքերի բառարանում։ Հիմքատող ( Stemming ) ենթահամակարգը հաշվարկում է տեքստային բառաձեւի հիմքը ( տես` ՀԱՅՈՑ ԼԵԶՎԻ ԲԱՌԱԿԱԶՄՈՒԹՅԱՆ ՄԻ ԳՈՐԾՆԱԿԱՆ ՄՈԴԵԼԻ ՄԱՍԻՆ [[1]] ) են ածանցների վրիպակները։

Դիտողություններ. ներկայում -- բառարանի ծավալը փոքր է։ -- հիմքատման ալգորիթմի պարզագույն մոտավորություն է իրագործված։

Բացի նախագծման այդ թերությունների, համակարգում կան սխալներ, որոնց վերլուծումը եւ ուղղումը դանդաղ ընթացող գործընթաց է։ Այդ պատճառներով իրագործված ենթահամակարգը չի ապահովում վրիպակների 100% հայտնաբերում։ Առաջարկված ուղղումները 100% ճշգրիտ չեն։ Ուղղումը կատարում է այն դեպքում, երբ ուղղման ճշգրտության հավանականությունը բարձր է։ Օրինակ՝ ՛ևն՛ կարող է "և այլն" բառակապակցության ճիշտ կրճատում կամ "են" օժանդակ բայի վրիպակ լինել։ Մյուս կողմից " ն " նշանների հաջորդականությունը մեծ հավանականությամբ կարելի " և " հաջորդականության վրիպակ համարել։ Քանի որ համակարգը քերականական կամ իմացաբանական վերլուծություն չի անում (միայն [ոչ շատ ճձգրիտ] ձեւաբանական) այն չի կարող հստակ տարբերել սխալ օգտագործումը ճշտից (եւ հակառակը)։ Այս դեպքուն համակարգը "ևն" վրիպակ չի համարում, " ն " փոխարինում է " և "։

Ենթադրվում է, որ տառերը բառերում կցված են, այսինքը, բացատավոր (բացատ ամեն տառից հետո) ոճը տրվում է նշագրումով` ։ Այս դեպքում հետեւյալ փոխարինումները [գերակշրող քանակով դեպքերում] ճիշտ կլինեն` " ն " -> " և " " ե " -> " և " " Է " -> " է "

-- Ցուցիչ

Ցուցիչը սկզբնական շրջանում կօգտագործվի որպես գոծիքային/գործառական միջոց։ Այն կվերադարձնի կայքի էջերը (որոնք առնչվում են որոնվող բառակապակցության հետ)։ Այն, հիմնականում, կօգտագործվի որպես սրբագրումը օժանդակող գործիք երկու ուղղությամբ՝ ա. էջերի [սրբագրման] վիճակի մասին եւ բ. սրբագրական համար, տեղեկատվություն կտա։

Այժմյան որոնման շարժիչը շփոթություն է առաջացնում։ Օրինակ՝ "նյուտոն" հայցին հետեւյալ պատասխանն է տրվում՝

Ստեղծել "Նյուտոն" էջը այս վիքիում։ Տես նաև որոնման արդյունքները։

ՀՍՀ/Ազդման և հակազդման օրենք [ 115 ] ԱԶԴՄԱՆ ԵՎ ՀԱԿԱԶԴՄԱՆ ՕՐԵՆՔ (Նյուտոնի երրորդ օրենք), դինամիկայի հիմնական օրենքը, ըստ որի երկու մարմիններ միմյանց վրա ազդում են մեծությամբ հավասար 784 բայթ (39 բառ) - 17:10, 18 Հունիսի 2013 ՀՍՀ/Բարձրագույն կրթություն (Լեոնարդո դա Վինչի, Ն․ Կոպեռնիկոս, Յո․ Կեպլեր, Գ․ Գալիլեյ, Ռ․ Դեկարտ, Ի․ Նյուտոն, Գ․ Լայբնից)։ Մեծ հումանիստներ Վիտորինո դա Ֆելտրեն, Էրազմ Ռոտերդամցին, 936 բայթ (1914 բառ) - 06:05, 1 Հուլիսի 2013 ԱՆՏՐՈՊՈՍՈՖԻԱ Գյոթեի հետ նույն հարաբերության մեջ է, ինչ Կանտի ճանաչողության տեսությունը` Նյուտոնի։ Զուգահեռը ամենևին պատահական չէ, առանձնապես գիտության հետագա ճակատագրերի 33 ԿԲ (2328 բառ) - 15:22, 3 Հունվարի 2013

Սրբագրողի համար բնական կլիներ, որ ի պատասխան ‘նյուտոն’ հայցի, առաջի հերթին, վերդարձվեին այս տողերը`

https://hy.wikisource.org/wiki/Էջ:Հայկական_Սովետական_Հանրագիտարան_(Soviet_Armenian_Encyclopedia)_8.djvu/328

https://hy.wikisource.org/wiki/Էջ:Հայկական_Սովետական_Հանրագիտարան_(Soviet_Armenian_Encyclopedia)_8.djvu/329

Միգուցե, խնդիրն այն է, որ սրբագրման էջից մեկնարկված հայցը որոնում է ոչ թե սրբագրվող էջերում, այլ Վիքիպեդիայի հոդվածներում։ Բացի այդ պարզ չէ, թե կատարվում է արդյոք հիմքատում, հաշվի են առնվում հոմանիշները, հականիշները, եւ լեզվաբանական այլ հարա- եւ վերաբերությունները։

Որոնման ճշգրտությունը բարձրացնելու համար նպատակահարմար է սրբագրման ենթակա էջերի ցուցիչ ստեղծել։ Ցուցիչը կարող է օգտագործվել ինչպես որոնման համար, այնպես էլ որպես սրբագրման բառարան (եթե ընդունենք, որ սրբագրված եւ հաստատված էջերում վրիպակներ չկան, ապա այդ էջերի բառացանկը կարելի է որպես սրբագրիչ բառարան օգտագործել)։ Խմբագրման ավարտից հետո ցուցիչը (ավելի ստույգ նրա մի այլ համաձեւությունը) ՀՍՀ (կամ հետնորդ Հ-ի) էլեկրոնային հրապարակման հիմք կդառնա։ [Հետագայում այս ցուցիչի համար մշակված լեզվաբանական գործիքները կօգտագոծվեն հայերեն տեքստերի կորպուսը ( Text_corpus ) կառուցելու համար։] Ստեղծված համակարգը, չնայած թերությունների եւ անավարտ լինելուն, այնուամենայնիվ, կարող է օգտակար լինել։

--- Վարբեռնում (download)

Վարբեռնող ծրագիրը (extract.bash սկրիպտ) կարդում է տվյալ հատորի բոլոր կամ հատուկ նշված էջերը եւ գրում տեղային [սրբագրողի] ֆայլային համակարգում պարզ տեքստային ձեւով։ Ամեն էջ գրվում է մի ՀՍՀ-<հատոր>-<էջ>.txt ֆայլում. օրինակ՝ ՀՍՀ-1-2.txt ֆայլը պարունակում է առաջի հատորի երկրորդ էջի պարունակությունը։ Էջերը բաշխվում են համապատախան պնակներում ըստ սրբագրման վիճակի։ Ծրագիրը վերացնում տողադարձի (վանկարկման) հետեւանքով առաջացած "- " նշանների հաջորդականությունները եւ վերականգնում է տեքստային անբաժան բառաձեւը։

Դիտողություն. Այս հեռացումը 100% ճշգրիտ չէ՝ այն երբեմն հեռացնում է ոչ տողադարձային մասնիկը, ինչպես նաեւ բաց թոձնում որոշ տողադարձային մասնիկները (պատճառն այն է, որ ենթամնան չի օգտագործում/կիրարվում)։


Քայլեր

Ներկայիս համակարգը սրբագրման հետեւյալ քայլերն է ապահովում.

Քայլ-1. extract.bash սկրիպտով կայքից վարբեռնել էջի (էջերի) պարունակությունը, որը կտեղավորվի այս պանակներում՝

• approved/ - հաստատված
• proof/ - սրբագրված
• update/ - չսրբարգված
• unknown/ - անհայտ

Քայլ-2. Պարզ տեքստային ֆայլերի մեքենայական սրբագրումը (./textpro.bash spell.properties աշխատացնելով) եւ պահեստավորումը համապատասխան պանակի check/ ենթապանակում՝

• approved/
• 	check 	
• proof/
• 	check 	
• update/
• 	check 

Քայլ-3. check/ պանակում գտնվում է էջի մեքենայական սրբագրման արդյունքը։ Սրբագրողը խմբագրում է այդ տեքստը, օգտվելով համակարգի կողմից ստեղծված վրիպակների ցուցակներից։ Համակարգը չորս ցուցակ է ներկայացնում՝ հայերեն (ARM-typos-<ֆայլի անուն>.txt), լատիներեն (LAT-typos-<ֆայլի անուն>.txt), ռուսերեն (RUS-typos-<ֆայլի անուն>.txt), եւ այլ (OTH-typos-<ֆայլի անուն>.txt) նկատված վրիպակներ (սրանք համակարgի կողմից չճանացված բառաձեւերն են բաշխված ըստ գրանշանների Unicode բլոկի)։ Այս ֆայլերը գրվում են config/dictionaries պանակում, որտեղ տեղադրված է [դեռ միակ] հայերեն հիմքերի բարարանը՝ ARM-dictionary.txt։

Քայլ-4. Սրբագրողը՝ ա. Ուղղում է մեքենայի կողմից բաց թողնված կամ սխալ ուղղված վրիպակները։ բ. Ուղղում ֆորմատավորումը՝ -- տեքստի (տես Քայլ-5) -- Նկարների, -- աղյուսակների, -- բանաձեւերի. .

Քայլ-5. JSON ձեւափոխումը եւ Solr-ցուցիչում գրառումը (./textpro.bash json.properties աշխատացնելով)։ Համակարգը կարդում է check/ պանակից սրբագրված էջը եւ ստեղծում է այդ էջի երկու պատճեն՝ ա. JSON - ինդեկսավորման համար, որում տարբերվում "Էջ", "Հոդված", ինչպես նաեւ "Բովանդակություն", "Երկեր", "Գրականություն", եւ "Հեղինակ" օբյեկտները։ Ծրագիրը փորձում է առանձնացնել տեքստի այս հատվածները՝

 *      Page 
 *      -- Content (Continuation)
 *      -- Title 
 *      	-- Section
 *      		-- Content -- {Image} 
 *      	-- Content -- {Image} 
 *      	-- Works 
 *      	-- References 
 *      	-- Author

բ. Տեքստային ֆայլ - վիքիացման համար, որում ծրագիրը փորձում է տպագիր ՀՍՀ ֆորմատավորումը՝ հոդվածի վերնագրի մեծատառ բառերի ստվար, Երկ. եւ Գրկ. շեղագիր, եւլն, նշագրումով իրագործել։ Երկու ֆայլերն էր մարդկային խմբագրում են պահանջում, քանի որ թե մշակված ալգորիթմը եւ թե իրագործված ծրագիրը թերի են։

Այս քայլից հետո ֆայլային պանակները այսպիսի տեսք կունենան՝

• approved/
• 	check/ 	
• 	json/ 	
• 	post/ 	
• proof/
• 	check/ 	
• 	json/ 	
• 	post/ 	
• update/
• 	check/ 
• 	json/ 	
• 	post/

json/ եւ post/ պանակներում գտնվում են ֆայլերը, որոնք պատրաստ են համապատասխանաբար ինդեկսավորման եւ վիքիացման համար։