O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi buxoro davlat universiteti qo’lyozma huquqida udk


Tabiiy tillar uchun leksik va sintaktik tahlil


Download 1.04 Mb.
bet14/18
Sana27.01.2023
Hajmi1.04 Mb.
#1133872
1   ...   10   11   12   13   14   15   16   17   18
Bog'liq
Buxoro davlat universiteti

2.2.2 Tabiiy tillar uchun leksik va sintaktik tahlil.
Vizual Prolog dasturlash tilida tabiiy tillar uchun leksik va sintaktik tahlil jarayonini ko’rishimiz mumkin. Bu dasturda Semantic proyekt(maydon) yasaymiz. Bu proyektni 3ta sinfi bor. Ya’ni Semantic, German va English sinflari bor . Bu yasalgan sinflar quyidagi rasmda ko’rsatilgan.

2.2.2.1-chizma.Prolog tilining umumiy ko’rinishi
(Semantik proyektida Semantic, German va English sinflari Yuqoridagi rasmda semantic proyekti yasalgan va uning semantic, english, german sinflari bor. Sinf yasash qanday amalga oshirilishini Prolog dasturida ko’rib chiqamiz. Prologda proyekt yasashni 1 bobda ko’rib o’tganmiz. Shu uchun Semantik deb nomlangan Proyekt yasaymiz. Bunda Prolog dasturining Semantik proyektida kirgan holda sichqonchaning chap tugmasini bosamiz. Bizni ekranimizda quyidacha oyna hosil bo’ladi.

2.2.2.2-chizma.Proyekt yasash.
Bu oynadan 1- o’rinda turgan tugmani bosamiz. Ya’ni Naw in New Package… (yoki Ctrl+N tugmasi) bosamiz. So’ngra bizga Create Project Item nomli oynani chiqaradi. Bu oynaning ko’rinishi quyidagicha:


2.2.2.3-chizma.Yangi class yaratish.
yangi sinf ochishning Prologda ko’rinishi. Bu oynadan sinf yasash uchun Class tugmasini tanlaymiz. So’ngra Name (ism) yozilgan joyga borib sinfimizga ism yozamiz. Ism yozgandan so’ng Create tugmasini bosamiz. Shu bilan bizga uchta sinf kerak edi va uchta sinfni yasab oldik.
German sinfi
Biz avvalo Semantic sinfga quyidagi dastuni kiritamiz.
class semantic
open core
domains
category = art; nom; cop; rel.
tree = case(category, string); world(tree, tree); silence.
predicates
classInfo : core::classInfo.
end class semantic
Bu yerda 2ta gap haqida so’z yuritiladi.
Ingliz tilida “The World is all”
Nemis tilida “Die Welt ist alles”
Ikkala so’zni ham ma’nosi “Dunyo hammaniki” deyilgan. Prologda German sinfini yasab olganimizdan keyin German Pro paketiga dasturimizni kiritamiz. Bu dasturni ko’rinishi quyidagicha:
% Fayl german.pro
implement german
open core, semantic
clauses
classInfo("german", "1.0").
article(case(art, ""), ["die"|Rest], Rest).
article(case(art, ""), ["der"|Rest], Rest).
noun(case(nom, "Welt"), ["Welt"|R], R).
noun(case(nom, "Fall"), ["Fall"|R], R).
copula(world(case(cop, "ist"), T), ["ist"|R1], R) :-
nounphr(T, R1, R).
nounphr(world(T1, T2), Start, End) :-
article(T1, Start, S1), noun(T2, S1, End).
nounphr(case(nom, "alles"), ["alles"|R], R).
phr(world(T1, T2), Start, End) :-
nounphr(T1, Start, S1), copula(T2, S1, End).
end implement german
Bu dasturni kiritganimizdan so’ng bizga yangi dastur kerak bo’ladi. Bu dasturlardan chiqaruv daraxti yasaymiz. Keyingi dasturimizni Fayl german.cl ga kiritamiz. Bu dastur quyidagicha:
% Fayl german.cl
class german
open core, semantic
predicates
classInfo : core::classInfo.
article : (tree, string*, string*) nondeterm (o, i, o).
noun : (tree, string*, string*) nondeterm (o, i, o).
nounphr : (tree, string*, string*) nondeterm (o, i, o).
copula : (tree, string*, string*) nondeterm (o, i, o).
phr : (tree, string*, string*) nondeterm (o, i, o).
end class german
Biz German sinfiga dasturlarni kiritib bo’ldik.

Download 1.04 Mb.

Do'stlaringiz bilan baham:
1   ...   10   11   12   13   14   15   16   17   18




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling