The text was extracted automatically from the PDF file, so the formatting may be broken. Open the PDF copy for the correct view.
Ma’lumotlar to‘plami bilan model bir davrni yakunlash uchun qisqa vaqt oldi va faqat 300 ta davr
bilan modelning aniqligi 95.1% ni tashkil qildi. Bu shuni ko‘rsatdiki, model nafaqat tez, balki unga
integratsiya qilingan optimallashtirish usullarisiz ham aniqlik yuqori.
Ushbu ish yo‘l harakati xavfsizligida eng muhim bo‘lgan inson omiliga qaratilgan bo‘lib, yo‘l
harakati hodisalarini kamaytirish vazifasini bajaradi. Ijtimoiy samaradorlik sifatida haydovchilarni
tayyorlash maktablariga joriy qilish, iqtisodiy samara olish uchun yo‘l-transport hodisalarini oldini
olish nazarda tutilgan. Tadqiqotni izchil davom ettirish maqsadida haydovchilarni yo‘l harakati
xavfsizligi sohasidagi huquqbuzarliklarini ro‘yxatga olish, statistik ma’lumotlarni berish
masalalarini o‘rganish va yechish kutilgan natijalar olingandan keyin davom ettiriladi.
Adabiyotlar
1. Vittorio Mazzia, Aleem Khaliq, Francesco Salvetti, Marcello Chiaberge. Real-Time Apple
Detection System using Embedded Systems with Hardware Accelerators: an Edge AI
Application // Digital Object Identifier 10.1109/ACCESS.2017.doi. Volume 4, 2016.
2. Umarov M.A. Neur Compute Stick va OPENVINO yordamida Raspberry PIda neyron tarmoq
detektoridan foydalanish // «Инновацион ва замонавий ахборот технологияларини таълим,
фан ва бошқарув соҳаларида қўллаш истиқболлари» халқаро илмий-амалий онлайн
конференцияси. Самарқанд-2020. -B.379-382.
3. Mukhiddinov M.N., Akmuradov B.U., Djuraev O.N. Robust Text Recognition for Uzbek
Language in Natural Scene Images. International Conference on Information Science and
Communications Technologies (ICISCT 2019). IEEE, 4-6 November 2019, Tashkent
Uzbekistan.
4. Umarov M.A., Muradov F.A., Iskandarova S.N., Tursunkulov O.O. Deep Learning Studiodan
foydalanib yo‘l belgilarini chuqur o‘rganish modellarini vizuallashtirish // “Hisoblash va
amaliy matematika muammolari” jurnali. ISSN 2181-8460. № 2/1(40), 2022. -B. 286-293.
5. Umarov M.A., Ramatov I.I. Yo‘l belgilarini aniqlash uchun qo‘shimcha konvolyutsion neyron
tarmog‘iga ega YOLOv5 algoritmi // “Raqamli texnologiyalar: sohalarda amaliy joriy etishning
yechimlari va muammolari” Xalqaro ilmiy-texnik anjumani maʼruzalar to‘plami. Toshkent2022. -B. 126-129.
6. Vaibhavi Golgire. Traffic Sign Recognition using Machine Learning: A Review // International
Journal of Engineering Research and Technology (IJERT), ISSN: 2278-0181, Vol. 10 Issue 05,
May-2021.
7. Vittorio Mazzia, Aleem Khaliq, Francesco Salvetti, Marcello Chiaberge. Real-Time Apple
Detection System using Embedded Systems with Hardware Accelerators: an Edge AI
Application // Digital Object Identifier 10.1109/ACCESS.2017.doi. Volume 4, 2016.
8. Vienna Convention on Road Signs and Signals // United Nations Publication, Sales No.
E.07.VIII.7, ISBN: 978-92-1-116973-7.
9. Wengchen Wang, Xiaohui Yuan. Recent Advanced in Image Dehazing // Wang, W.; Yuan, X.
Recent advances in image dehazing. IEEE/CAA J. Autom. Sin. 2017, 4, 410–436.
10. Xue, Y.; Ren, J.; Su, H.; Wen, M.; Zhang, C. Parallel Implementation and optimization of haze
removal using dark channel prior based on CUDA. In High Performance Computing; Springer:
Berlin/Heidelberg, Germany, 2013; pp. 99–109.
160
UNITY PLATFORMASIDA YARATILGAN VIRTUAL REALLIK
SIMULYATSIYASIDA INSON HARAKATINI REAL VAQTDA HIS QILISH
ALGORITMINI ISHLAB CHIQISH
Abdulxayev Nodir
“UNIVERSITY OF MANAGEMENT AND FUTURE TECHNOLOGIES” universiteti,
“KvaRT” kafedrasi dotsenti
abdulxayev.nodirbek@gmail.com
Anatatsiya: Maqolada Unity 3D platformasi asosida yaratilgan virtual reallik (VR)
simulyatsiyalarining imkoniyatlari tahlil qilingan. Unda 3D modellashtirish jarayoni, server va wifi
moduli orqali sinxron ma’lumot almashish hamda tebranish modullari yordamida
foydalanuvchining harakatni his qilishi yoritilgan. Tadqiqotda VR simulyatsiyalarida harakatni
tebranish moduli yordamida sezish algoritmi ishlab chiqildi va uning ishlash samaradorligi tahlil
qilinadi.
Kalit soʻzlar: VR texnologiyasi, simulyator, uch oʻlchovli dasturlar, Unity, kompyuter,
qurilmalar, virtual reallik, platforma.
Kirish
Bugungi kunda zamonaviy axborot texnologiyalardan foydalangan xolda oliy ta’lim
muassasalarida tehsil olayotgan tabalarni oʻqitish va amaliy tajribasini oshirishga qaratilgan koʻplab
ishlar olib borilmoqda. O‘zbekiston Respublikasi Prezidentining “O‘zbekiston Respublikasi oliy
ta’lim tizimini 2030-yilgacha rivojlantirish konsepsiyasini tasdiqlash to‘g‘risida”gi 2019-yil 8oktabrdagi PF-5847-son farmoni qabul qilingan boʻlib, ushbu qarorning 1-ilovasining ikkinchi
paragrifi ya’ni ta’lim jarayoniga raqamli texnologiyalar va zamonaviy usullarni joriy etishda
zamonaviy axborot-kommunikatsiya texnologiyalari va ta’lim texnologiyalarining mustahkam
integratsiyasini ta’minlashga qaratilgan qator vazifalar belgilab berilgan [1]. Hozirgi kunda ma’lum
boʻlgan ixtisoslashgan paketlar va turli xil texnologiyalardan virtual muhitlarni yaratishga
yoʻnaltirilgan (UDK, Quest3d, CryEngine, Amira, Unity3D, Alternativa3D va boshqalar)
vositalardan bir qator mezonlarga muvofiq Unity 3D dasturiy ta’minoti tanlandi [2].
Tahlil
Unity platformasi – bu asosan VR texnologiyasi va uch oʻlchovga asoslangan platforma
boʻlib, bunda ancha koʻproq imkoniyatlarga amalga oshirish imkonini yaratadi, ushbu platforma
dasturlash uchun koʻplab ish qurollarini jumladan kodlar yozish uchun matn muharriri, kodni
qurilma uchun tushunarli murojatga aylantiruvchi kompilyator, dastur ishlash prinsplarini va
hatolarni tahlil qiluvchi (отладчик), VR texnologiyasini qoʻllab - quvvatlovchi interfeyslar hamda
boshqa koʻplab alohida funksiyalarni yagona interfeys ichida taqdim etadi. Qulayliklar safi
shunchalik keng boʻlishiga qaramasdan Unity oʻyinlar va turli xildagi simulyatsion dasturlar
yaratish va ishlatish uchun juda qulay platforma hisoblanadi. Unity dasturida 3D modellashtirishdan
keng foydalaniladi [3].
3D modellashtirish — uch oʻlchovli grafikani hosil qilishning dastlabki bosqichlaridan biri
hisoblanadi. Uch oʻlchovli modellashtirish tushunchasi kompyuterda ob’ektlarning uch oʻlchovli
modellarini yaratishni anglatadi [4].
161
Uch oʻlchovli modellashtirish, qisqacha 3D-modellashtirishni ishlab chiqishda dasturiy
tillardan yoki dasturiy taʼminotlardan foydalanish mumkin. 3D -modellashtirishni tayyor dasturiy
taʼminotlardan foydalangan holda ishlab chiqish samaraliroq hisoblanadi [5]. Bu orqali ob’ektlarni
yaratish tezroq va osonroq bajariladi.
3D-modellashtiruvchi eng keng tarqalgan dasturiy taʼminotlarga Autodesk kompaniyasining
“3ds MAX” hamda “Maya” dasturlarini misol qilish mumkin [6]. Bu dasturiy taʼminotlarning
imkoniyatlari juda keng boʻlib, ular orqali istalgan 3D modellarni ishlab chiqish mumkin. 3Dmodellashtirish amalga oshirilgandan soʻng uni dastur bilan bogʻlab, dasturlarni ishlab chiqish
uchun dasturiy tillarni qoʻllash kerak boʻladi. C/C++, Java, Python, JavaScript, C# dasturiy tillar
shular jumlasidandir. Tayyor 3D-modellarni dasturiy holga keltirish uchun translyatorlarda dasturiy
kodlar yozilishi talab etiladi. Bu esa koʻplab dasturiy kodlarni talab etadi [7]. Mazkur ishlarni
optimallashtirish maqsadida bir qator grafik dasturiy taʼminotlar ishlab chiqilgan va aynan Unity
dasturi bunga tez yechim boʻla oladi. “Unity 3D” bu 3D dasturiy mahsulotlar hamda oʻyinlar ishlab
chiqarishdagi eng qulay dasturiy taʼminotlardan biri hisoblanadi. “Unity3D” da 3D modellarni
yaratib ularga C# yoki Javascript tillarida skript kodlar yozib birlashtirish imkoniyati mavjud [9].
“Unity 3D” dasturiy platformasida ishlash ancha qulay:
- yaratilayotgan dastur uchun kerakli materiallarni bitta katalogga avtomatik nusxalab saqlab
qoʻyish imkoniyati;
- skript kodlar alohida yozilib keyin ob’ektlarga birlashtirilishi;
- tayyorlanayotgan dasturiy mahsulotni koʻrib turish qulayligi va eng asosiysi;
- koʻpgina platformalar uchun dasturni kompilyatsiya qilish imkoniyati mavjudligidir.
Unity platformasining asosiy avfzalligi - vizual ishlab chiqish muhiti, platformalararo qoʻllabquvvatlash va komponentlarning modulli tizimining mavjudligi hamda VR (virtual reality) ni toʻliq
qoʻllab quvatlash imkoniyati mavjudligidir.
Bir vaqtning oʻzida koʻpgina platformalar va qurilmalar uchun kompilyatsiya qilish
imkoniyati bu “Unity” platformasining eng yaxshi jihatlaridan biridir.
Unity platformasi Windows, Mac OS, Linux operatsion tizimi mavjud shaxsiy
kompyuterlarida, Android, Apple iOS va BlackBerry telefonlari foydalanuvchilarida hamda
PlayStation 3 va 4 uchun pristavkalarida ishlay olish xususiyatiga egadir. Unity platformasining
ishchi oynasi koʻrinishi 1-rasmda koʻrsatilgan.
1-расм. Unity platformasining koʻrinishi.
162
Unity bilan yaratilgan ilovalar Windows, OS X, Windows Phone, Android, Apple iOS, Linux
va shuningdek, Wii, PlayStation 3, PlayStation 4, Xbox 360, Xbox oʻyin konsollarida One va
MotionParallax 3D displeylari (virtual gologrammalarni ijro etish uchun qurilmalar), masalan
Nettlebox, brauzerlarda ishlash uchun maxsus Unity plagini (Unity Web Player) yordamida,
shuningdek, texnologiyani amalga oshirishdan foydalangan holda ilovalar yaratish mumkin.
Virtual reallik (VR, inglizcha virtual reality) - bu texnik vositalar yordamida yaratilgan.
Ushbu VR texnologiyasiga asoslangan shlem, insonga hissiyotlari orqali: koʻrish, eshitish, teginish
va boshqalar orqali yetkaziladi. Haqiqiy his-tuygʻularning ishonchli murakkab kompleksini yaratish
uchun virtual reaktivlarning xususiyatlarini va reaksiyalarini kompyuter yordamida sintez qilish real
vaqtda amalga oshiriladi [8]. Giroskop va tanaga biriktirilgan akselerometr boshning harakatini
kuzatib boradi va sensorlarning oʻqishiga qarab displeydagi tasvirni oʻzgartiradigan kompyuter
tizimiga ma’lumotlarni uzatadi. Natijada, foydalanuvchi virtual reallik ichiga “atrofga nazar
tashlash” va unda xuddi real dunyodagi kabi his qilish imkoniyatiga ega boʻladi. Tasvir yuqori
aniqlikdagi va doimo diqqat markazida boʻlishi uchun maxsus plastik linzalar qoʻllaniladi.Virtual
reallik ekspozitsiyani ham, ta’sirga javobni ham taqlid qiladi. Borliq sezgilarining ishonarli
kompleksini yaratish uchun virtual reallik xususiyatlari va reaktsiyalarining kompyuter sintezi real
vaqtda amalga oshiriladi [10]. Virtual reallik obyektlari, odatda, moddiy voqelikdagi oʻxshash
narsalarning xatti-harakatlariga oʻxshaydi. Foydalanuvchi ushbu obyektlarga fizikaning haqiqiy
qonunlariga muvofiq harakat qilishi mumkin (tortishish kuchi, suvning xususiyatlari, obyektlar
bilan toʻqnashuvi, aks etishi va boshqalar). Biroq, koʻpincha koʻngilochar maqsadlarda virtual olam
foydalanuvchilariga hayotda mumkin boʻlganidan koʻproq ruxsat beriladi, (masalan: uchish,
boshqarish, muayyan vazifalarni bajarish va obyektlarni yaratish va hk).
Soʻnggi yillarda inson faoliyatining koʻplab sohalarida turli maqsadlardagi koʻplab qurilmalar
yartilgan boʻlib, bularni barchasi hozigi vaqtga kelib dasturiy ta’minot yordamida boshqariladi.
Dasturiy ta’minotni yaratilishi esa albatta algaritmlarga bogʻliq.
Algaritm – harakatlar ketma-ketligini belgilaydigan yoʻl-yoʻriqlar tizimi, ular yordamida
muayyan turdagi vazifalarni hal qilish uchun cheklangan sonli qadamlar ishlatilishi mumkin boʻladi
yoki yechim mavjud emasligi toʻg‘risidagi xabar beriladi, yoki oddiygina qilib aytganda algoritm
bajarilayotgan ishning har bir qadamining ketma-ketligi hisoblanadi. VR shlemda ishga tushirilgan
simulyatsiya yordamida virtual maydonda harbiy xizmatchilarnining haqiqiy holatni his qilish
imkonini yaratishda server asosiy vazifani bajaradi. Ya’ni VR shlemda ishga tushirilgan
simulyatsiyada ma’lumotlar server orqali wifi modulga sinxron ravishta ma’lumotlar uzatish orqali
amalga oshiriladi. Server va wifi moduli oʻrtasidagi sinxron ravishta ma’lumotlar uzatish algaritmni
quydagi 2-rasmda keltirilgan.
Yuqorida keltirilgan algaritmni ishlash ketma-ketligi quydagi koʻrinishda amalga oshiriladi:
1-bosqichda toʻrtta oʻzgaruvchi yaratib olindi, jumladan b,o,r,q (bosh, oyoq, qoʻl, tana) va
ularni boshlangʻich qiymati 0-qilib olindi.
2-bosqichda server orqali wifi modulga sinxron ma’lumot almashish va bogʻlanish uchun
wifi modulning ip manzili aniqlanib serverga ushbu ip manzil kiritib qoʻyiladi.
3-bosqichda wifi modulga internet sozlamari oʻrnatib olinadi.
4-bosqichda shart berilyapti agar virtual koʻrinishdagi harbiy xizmatchining bosh qismiga
virtual muhitdagi fizik jism (model) teginsa yani b=1 ga teng boʻlsa, boshga oʻrnatilgan
163
vibramatorlar harakatga keladi, aks xolda b=0 boʻlsa ya’ni shart bajarilmasa keyingi qadamga
oʻtiladi;
5-bosqichda shart berilyapti agar virtual koʻrinishdagi foydalanuvchi modeliga oyoq qismiga
virtual muhitdagi fizik jism (model) tomonidan teginish amalga oshirilsa yani o=1 ga teng boʻlsa,
oyoqga oʻrnatilgan vibramatorlar harakatga keladi, aks xolda o=0 boʻlsa ya’ni shart bajarilmasa
keyingi qadamga oʻtiladi;
2-rasm. Virtual maydonda foydalanuvchining haqiqiy holatni tebranish yordamida his
qilishda server va wifi moduli oʻrtasidagi ma’lumot almashish algaritmi.
Yuqoridagi ketma-ketlik boʻyicha 6 dan 12 chi bosqichgacha jarayonlar amalga oshiriladi.
Unity dasturiy platformasida virtual reallik simulyatsiyasida yaratilgan virtual maydonda
tebratish moduli orqali sinxron harakatini amalga oshirish uchun har bir modelga “box coloider”
funksiyasini qo‘yib modelni cheralari ajratib chiqiladi hamda ikkita model bir-biriga yaqinlashib
turli harakatlarni amalga oshirganda “box coloider” bir biriga tegadi hamda harakat aniqlanib shu
zahodi serverga uzatadi. Server olingan ma’lumotni sinxron ravishta wifi moduli uzatadi. Wifi
moduli esa harakatni qaysi qismiga berilganligi aniqlab o‘sha qismiga ulangan tebranish moduliga
signal yuboradi va tebranish moduli harakatga keladi.
Xulosa
O‘tkazilgan tahlillar shuni ko‘rsatadiki, virtual reallik (VR) texnologiyalariga asoslangan
simulyatsiyalar ta’lim va amaliy faoliyatni yangi bosqichga olib chiqmoqda. Unity 3D platformasi
yordamida yaratilgan virtual muhitlar nafaqat vizual va eshitish sezgilari orqali, balki tebranish
modullari yordamida harakatni his etish imkoniyatini ham ta’minlaydi. Bu jihat foydalanuvchi
uchun virtual tajribani real hayotga yanada yaqinlashtirib, bilim va ko‘nikmalarni chuqurroq
o‘zlashtirishga xizmat qiladi.
164
Harakatni his qilish mexanizmi insonning tabiiy sezgi organlariga ta’sir etgani sababli, VR
muhitida qabul qilingan tajriba oddiy nazariy bilimdan ko‘ra samaraliroq bo‘ladi. Masalan, harbiy
xizmatchilarni tayyorlashda, tibbiy amaliyotlarda, muhandislik sohasida xavfli jarayonlarni
simulyatsiya qilishda yoki avariya holatlarini modellashtirishda foydalanuvchi real vaziyatdagi
xatarlarni his qilmasdan, ularni amaliy jihatdan boshdan kechirish imkoniyatiga ega bo‘ladi.
Natijada, bunday tajribalar insonning tezkor qaror qabul qilish, xavfli vaziyatlarga moslashish,
texnik vositalarni samarali boshqarish qobiliyatini oshiradi.
Shu bois, VR simulyatsiyalarida harakatni his qilish texnologiyasini qo‘llash zamonaviy
ta’lim va amaliy sohalarda dolzarb ahamiyat kasb etadi. Bu texnologiya nafaqat o‘quv jarayonini
interfaollashtiradi, balki inson faoliyatining ko‘plab sohalarida xavfsizlikni ta’minlash, malaka
oshirish va innovatsion yechimlarni joriy etishda ham samarali qo‘llanilishi mumkin.
Foydalanilgan Adabiyotlar
1. O‘zbekiston Respublikasi Prezidentining “O‘zbekiston Respublikasi oliy ta’lim tizimini 2030yilgacha rivojlantirish konsepsiyasini tasdiqlash to‘g‘risida”gi 2019-yil 8-oktabr sanasida qabul
qilingan PF-5847-son farmoni.
2. Ферроне Харрисон. Учебное пособие: Изучаем C# через разработку игр на Unity. 5-е
издание. СПб.: Питер,. 2022. - 400 С.
3. Джозеф Хокинг. Unity в действии. Мультиплатформенная разработка на C#. Книга 352
С.
4. Jeremy Gibson Bond. “Unity и C# геймдев от идеи до реализации” второе издание.
Минск 2019.
5. Денисов Д. В. Разработка игры в Unity. С нуля и до реализации. Учебное пособие.
«ЛитРес: Самиздат», 2021. 195 С.
6. Ольга Миловская: 3ds Max 2016. Дизайн интерьеров и архитектуры.– Питер. 2016. – 368
С. SIBN: 978-5-496-02001-5.
7. Торн Л. Учебное пособие: Искусство создания сценариев в Unity / пер. с англ. Р И .
Раги¬мова. Эл. изд. Саратов: Профобразование. 2017. 360 С.
8. Mitch McCaffrey. Unreal Engine VR Cookbook: Developing Virtual Reality with UE4 (2017).
278 p.
9. Майкл Дженсен, Рафаел Грассетти, и Саймон Морс. Книга: ZBrush Character Sculpting.
2015 г. 304 С.
10. Jennifer Whyte, Dragana Nikolić. Book: “Virtual Reality and the Built Environment”. 2018.
346 p.
165
O‘ZBEK MATNLARI UCHUN N-GRAM TIL MODELI
Botir Elov; Mastura Primova
Texnika fanlari falsafa doktori, dotsent. ToshDO’TAU
elov@navoiy-uni.uz
Annotatsiya: Ushbu maqolada, til modellari ya’ni, statistik usuli N-gram modeli keltirilgan.
Til modellari bu tabiiy til (masalan, o‘zbek tili, ingliz tili) dagi so‘zlar ketma-ketligini ehtimolli
tarzda ifodalovchi matematik yoki hisoblash modelidir. Ular berilgan kontekst asosida keyingi
so‘zni bashorat qilish, matn yaratish, so‘zlar ehtimolini baholash yoki tilga xos statistik
xususiyatlarni tahlil qilish uchun qo‘llaniladi. Quyida N-gram modelidagi silliqlash usullaridan
foydalanilgan: Laplace silliqlash, Good-Turing diskontlash, Katz back-off, Interpolatsiya,
Kneser_ney silliqlash. Maqolada, O’zbek matnlari uchun n-gram til modelini qurish bosqichlari:
korpusni tayyorlash, N-gramlarni shakllantirish, silliqlashtirish, til modeli formatini tayyorlash,
bashorat qilish mexanizmlari keltirilgan.
Keywords: NLP, Smoothing, Kneser–Ney, IRSTLM, KenLM, N-gram.
Kirish
N-gram va Markov cheklovi: Til modellashning eng sodda statistik usuli N-gram modelidir.
N-gram – bu ketma-ket kelgan N ta belgidan (odatda so‘zlardan) tashkil topgan guruh bo‘lib, til
modelida ushbu guruhning ehtimolini hisoblashga xizmat qiladi. Markovning faraziga ko‘ra,
navbatdagi so‘zning paydo bo‘lish ehtimolini aniqlash uchun undan oldingi barcha kontekstni emas,
balki faqat so‘nggi (N-1) ta so‘zni hisobga olish kifoya. Masalan, bigram (2-gram) modelda so‘z
faqat undan oldingi bitta so‘zga bog‘liq deb faraz qilinadi. Umumiy holda, N-gram til modeli uchun
N so‘zdan iborat gap ehtimoli quyidagicha yoziladi:
𝑁
𝑃(𝑤1 , 𝑤2 … 𝑤𝑁 ) = 𝑃(𝑤1 )𝑃(𝑤2 |𝑤1 )𝑃(𝑤3 |𝑤1:2 ) … 𝑃(𝑤𝑛 |𝑤1:𝑛−1 ) = ∏ 𝑃(𝑤𝑘 |𝑤1:𝑘−1 )
𝑘=1
Bu yerda 𝑤𝑖 i-so‘zni, N gapdagi so‘zlar sonini ifodalaydi. 𝑃(𝑤𝑖 |𝑤𝑖−𝑛+1:𝑖−1 ) esa 𝑤𝑖 so‘zining
undan oldingi (N-1) so‘zlar ketma-ketligidan keyin kelish ehtimoli. N-gram modelda bu shartli
ehtimollar korpusdagi chastotalar asosida maksimum haqqoniylik bahosi (Maximum Likelihood
Estimate) bilan aniqlanadi:
𝐶(𝑤𝑖−𝑛+1 , … , 𝑤𝑖−1 , 𝑤𝑖 )
𝑃(𝑤𝑖 |𝑤𝑖−𝑛+1:𝑖−1 ) ≈
𝐶(𝑤𝑖−𝑛+1 , … , 𝑤𝑖−1 )
bu yerda 𝐶(∙) operatori qavs ichidagi so‘zlar ketma-ketligi korpusda nechta marta uchrashini
(chastotasini) hisoblaydi. Masalan, o‘zbek tilidagi matnda “juda ajoyib” bigrammasi uchun
quyidagi formula ishlatiladi:
𝑃(“𝑗𝑢𝑑𝑎” | “𝑎𝑗𝑜𝑦𝑖𝑏”) = 𝐶(“𝑗𝑢𝑑𝑎 𝑎𝑗𝑜𝑦𝑖𝑏”) / 𝐶(“𝑗𝑢𝑑𝑎”)
Agar korpusda “juda ajoyib” ketma-ketligi biror marta ham uchramagan bo‘lsa, C(“juda ajoyib”) =
0 bo‘ladi va model bu kontekst uchun ehtimolni nolga teng deb baholaydi. Bu esa til modelida nol
ehtimollar muammosini keltirib chiqaradi – ya’ni korpusda uchramagan har qanday so‘z ketmaketligi model nazarida mumkin emas (ehtimoli 0).
166
Adabiyotlar sharhi
Hozirgi vaqtda jahon miqyosida til korpuslari va til modellari bo‘yicha keng qamrovli
tadqiqotlar amalga oshirilgan. Til hodisalarini ehtimolliy model sifatida tahlil qilish g‘oyasi ilk bor
Claude Shannon [1] tomonidan axborot nazariyasi doirasida ilgari surilgan bo‘lib, bu nazariy
yondashuv keyingi tadqiqotlar uchun tamal toshi bo‘lib xizmat qildi. Masalan, Michel va boshqalar
[2] Google Books N-gram korpusidagi 1500–2000-yillar oralig‘idagi millionlab kitoblar matnini
tahlil qildi. Ushbu yondashuv natijasida asrlar davomida til va madaniyatdagi o‘zgarishlarni statistik
usulda kuzatish mumkinligi ko‘rsatib berildi. O‘zbek tilining o‘ziga xos agglutinativ tuzilishi, ya’ni
so‘z yasovchi qo‘shimchalarga boyligi, mavjud N-gram modellashtirish usullarini qo‘llaganda ba’zi
muammolarni keltirib chiqaradi. Shuningdek, o‘zbek tilida dastlabki til modellarini yaratish
bo‘yicha ayrim ilmiy maqolalar paydo bo‘la boshladi. Xususan, B. Elov va hammualliflar
tomonidan o‘zbek tilida N-gram model qurish va uni baholashga doir izlanishlar 2024 yilda e’lon
qilindi. Bu ishlarda korpus matnlari asosida unigram, bigram, trigram modellar tuzilib, ularning
o‘rtacha log ehtimolliklari (perplexity) va boshqa ko‘rsatkichlari tahlil qilingan.
N-gram modellarda maxsus silliqlash usullari
Smoothing (silliqlash) usullari
Nol ehtimollar va kam kuzatilgan holatlarning ehtimollarini yaxlitlash uchun N-gram
modellarda maxsus silliqlash usullari qo‘llaniladi. Silliqlashning maqsadi – korpusda kuzatilmagan
ketma-ketliklarga kichik, musbat ehtimollar berish va kuzatilgan ketma-ketliklarning ehtimollarini
biroz kamaytirib, taqsimotni muvozanatlashdir. Quyida N-gram modelidagi silliqlash usullari
keltirlgan.
▪ Laplace (add-one) silliqlash: Har bir chastotaga 1 qo‘shiladi.
▪ Good–Turing diskontlash: Kichik chastotalarni diskontlab, ko‘rilmagan ketma-ketliklarga
ehtimol beradi.
▪ Katz back-off: Kuzatilmagan yuqori tartibli ketma-ketliklar uchun past tartibli modellar
ehtimoli ishlatiladi.
▪ Interpolatsiya: Har bir kontekst uchun turli tartibli modellarning ehtimollari λ og‘irliklar
bilan birlashtiriladi.
▪ Kneser–Ney silliqlashi: Eng samarali usullardan biri bo‘lib, so‘zlarning yangi kontekstda
uchrash imkonini baholaydi.
Eng sodda usul – Laplas (add-one) silliqlash bo‘lib, har bir chastotaga 1 qo‘shish orqali nol
chastotalarni bartaraf etadi. Biroq, Laplas usuli katta so‘z boyligida ehtimollarni sun’iy oshirib
yuborishi mumkin. Shu sabab, amaliyotda quyidagi samaraliroq silliqlash usullari qo‘llaniladi:
1. Good–Turing diskontlash usuli: statistikada kichik chastotalarni tuzatish uchun ishlab
chiqilgan. Uning mohiyati – korpusda 0 marta uchragan ketma-ketliklarga ba’zi ehtimollarni
taqsimlash uchun 1, 2, 3 va hokazo marta uchragan ketma-ketliklarning hisoblangan ehtimollarini
biroz kamaytirib (diskontlash) qayta taqsimlashdir. Good–Turing formulasi ko‘rilmagan Ngramlarning ehtimolini ularning kutilayotgan chastotasi orqali baholaydi [3]. Bu yondashuv Katz
tomonidan til modellashda tatbiq qilingan [4].
2. Katz back-off (chekinish) modeli: bu yondashuvda agar yuqori tartibli N-gram ketmaketlik kuzatilmagan bo‘lsa, u holda model avtomatik ravishda bir pog‘ona pastroq (masalan, trigram
kuzatilmasa – bigramga) murojaat qiladi va shu kontekst uchun mos ehtimolni oladi. Shu bilan
birga, kuzatilgan ketma-ketliklar ehtimoli diskontlanib, ortgan massa pastroq modelga
167
“chekinishda” ishlatiladi. Katz silliqlashi Good–Turing baholovini diskont koeffitsientlarini
hisoblashda qo‘llaydi.
3. Interpolatsiya: bu usulda har bir mumkin bo‘lgan kontekst uchun yuqori va past tartibli
modellarning ehtimollari muayyan 𝜆 og‘irliklar bilan aralashtiriladi. Masalan, uch so‘zli kontekst
uchun:
▪ trigram modeli ehtimoli 𝑃3 ,
▪ bigram modeli ehtimoli 𝑃2 ,
▪ unigram modeli ehtimoli 𝑃1 bo‘lsa, yakuni baho quyidahicha hisoblanadi:
𝜆3 · 𝑃3 + 𝜆2 · 𝑃2 + 𝜆1 · 𝑃1
Bu
yerda
𝜆𝑖
koeffitsientlar
quyidagi
shartga
javob
beradi:
𝜆3 + 𝜆2 + 𝜆1 = 1
Interpolatsiya nol ehtimollar muammosini yumshatadi va turli tartibli modellarning
afzalliklarini birlashtiradi.
4. Kneser–Ney silliqlashi: bugungi kunda eng samarali silliqlashlardan biri hisoblanadi.
Kneser–Ney usuli har bir kuzatilgan N-gram chastotasidan ma’lum bir d diskont miqdorini ayirib
(odatda 0<d<1 tanlanadi), ortgan ehtimollar massasini past tartibli modelga uzatadi. Eng muhim
jihati – past tartibli modelda so‘zning “yangi kontekstlarda uchrash ehtimoli”ni hisobga oluvchi
maxsus davomiylik ehtimoli (continuation probability) ishlatiladi. Bu esa kam uchragan so‘zlar
uchun yaxshiroq baho beradi. Kneser–Ney algoritmi ko‘p hollarda til modellash masalalarida,
xususan nutq tanish (ASR) tizimlarida, eng yaxshi natijalar bergani ma’lum.
N-gram modeli algoritmik yechimlari oddiy soʻz sanagich (counter) va ehtimollarni hisoblash
formulalariga tayansa-da, uni samarali qurish va qo‘llash uchun texnologik asoslar talab etiladi.
Ushbu maqolada ishlab chiqilgan N-gram til modelining texnik yechimlari va qurilish bosqichlari
batafsil yoritiladi; xususan, IRSTLM va KenLM kabi maxsus toolkit’lar hamda Python dasturlari
yordamida model yaratish jarayoni va natijalari tahlil qilinadi.
N-GRAM MODELINI QURISH BOSQICHLARI (IRSTLM, KENLM)
N-gram til modelini yaratish bir necha bosqichlar orqali amalga oshiriladi. Quyida IRSTLM,
KenLM toolkit’lari va maxsus Python skriptlari yordamida bajarilgan asosiy bosqichlar ketmaketligi keltirildi:
Corpus
Korpusni tayyorlash
(tozalash, normalizatsiya)
N-gramlarni shakllantirish
(IRSTLM/KenLM orqali)
Silliqlashtirish
(Katz, Kneser-Ney)
Til modeli formatini
tayyorlash
Bashorat qilish mexanizmi
(inferens)
Foydalanish
(ASR, NLP, Chtatbot)
N-Gram
model
1-rasm. O‘zbek matnlari uchun n-gram til modelini qurish bosqichlari
168
1. Ma’lumotlarni oldindan tayyorlash (preprocessing). Modelni o‘qitish uchun avvalo katta
hajmdagi matn korpusi yig‘ildi va tozalandi. Bu bosqichda matnlardagi keraksiz elementlar olib
tashlandi va matn normallashtirildi. Masalan, HTML teglari, noto‘g‘ri kodlashdagi belgilar,
ortiqcha probellar va tinish belgilari tozalanadi, barcha harflar kichik registrga keltiriladi. Gap
chegaralarini modellash uchun har bir gap boshiga maxsus <s> belgisi va oxiriga </s> belgisi
qo‘shildi. Shuningdek, korpusda kam uchragan yoki nostandart so‘zlar (masalan, raqamlar ketmaketligi, juda kam takrorlangan nomlar) umumlashtirib <unk> (unknown) belgisi bilan almashtirildi
[5]. Bu usul korpus lug‘atini qisqartirish va kam uchraydigan so‘zlarning model sifatiga salbiy
ta’sirini kamaytirish uchun qo‘llanadi. Natijada, tozalangan va normallashtirilgan matnlar tayyor
bo‘lib, ulardan modelni o‘qitishda foydalanildi.
2. N-gramlarni hisoblash va lug‘at shakllantirish. Ma’lumotlarni oldindan tayyorlash
bosqichidan o‘tgan matn korpusidan N-gramlar statistikasini chiqarish – model qurilishining asosiy
texnik bosqichi. Bu bosqichda 1-gram (unigram) dan boshlab N-gramgacha bo‘lgan barcha ketmaketliklar uchun chastotalar (kuzatilish soni) hisoblab chiqildi. Korpus hajmi katta bo‘lgani tufayli,
barcha mumkin bo‘lgan n-gramlar soni ham juda katta bo‘ladi. Masalan, korpusdagi unikal so‘zlar
lug‘ati o‘lchami V bo‘lsa, nazariy jihatdan N=3 (trigram) modell uchun eng ko‘pi bilan V3 ta uchlik
kombinatsiya bo‘lishi mumkin – bu juda ulkan miqdor. Amalda esa kuzatilgan n-gramlar soni ancha
kichik bo‘ladi, lekin baribir millionlab sondagi n-gramlar darajasiga yetishi mumkin. Shuning
uchun, bunday hisob-kitobni amalga oshirishda maxsus samarali dasturiy vositalar qo‘llanildi:
IRSTLM va KenLM.
IRSTLM toolkit’i yirik korpuslardan til modelini qurishda resurslarni tejashga mo‘ljallangan
bo‘lib, u o‘zining build-lm.sh skripti orqali korpusni avtomatik ravishda bir necha qismlarga bo‘lib
hisoblash imkonini beradi. IRSTLM skripti matnni k=10 kabi bo‘laklarga ajratib, har birida ngramlarni alohida sanab chiqadi va yakunda ularni birlashtiradi – bu usul hisoblash vaqtini biroz
oshirsada, xotira bandligini sezilarli kamaytiradi. Misol uchun, IRSTLM da 3-gram model tuzish
quyidagicha buyruq bilan amalga oshirilishi mumkin:
build-lm.sh -i "corpus.txt" -n 3 -o model.arpabo -k 10
(bu yerda -k 10 korpusni 10 qismga bo‘lishni belgilaydi).
KenLM toolkit’i esa buning aksi, maksimal tezlik va samaradorlikka yo‘naltirilgan:
KenLM’da lmplz dasturi korpusni kiritma sifatida qabul qilib, ichki on-disk sortlash algoritmi
yordamida n-gramlarni sanaydi. KenLM’da foydalanuvchi maksimal foydalaniladigan xotira
hajmini (% ga yoki baytlar bilan) belgilashi mumkin, masalan
lmplz -o 5 -S 80% -T /tmp < corpus.txt > model.arpa
buyrug‘i korpusdan 5-gram modelni chiqaradi (80% operativ xotiragacha foydalanib, yetmasa
vaqtinchalik /tmp diskiga yozadi). KenLM vositasi shu tariqa SRILM kabi boshqa vositalar eplay
olmagan juda katta korpuslarni ham to‘liq qamrab oluvchi n-gram modelini sanashga qodir va buni
amalga oshirishda IRSTLMdagidek taxminiy soddalashtirishlarga murojaat qilmaydi.
N-gramlarni hisoblash yakunida maxsus matn formatidagi ARPA fayl (Arpa Language Model
format) hosil qilinadi – unda har bir n-gram uchun uning ehtimoli yoki keltirilgan holda logehtimoli hamda kerak bo‘lsa back-off vazn (izohlanadi) qiymatlari saqlanadi. Korpusdagi umumiy
lug‘at (vocabulary) ham ushbu bosqichda aniqlanadi – masalan, bizning tajribamizda lug‘at kattaligi
{V} ta so‘zni tashkil etdi (kam chastotali so‘zlarni <unk> ga birlashtirish natijasida). Keyingi
bosqichlarda barcha hisob-kitoblar ana shu ARPA ko‘rinishdagi model asosida olib borildi.
169
3. Silliqlashtirish va ehtimollarni baholash. N-gramlar asosida tuzilgan cheksiz ko‘p
ehtimoliy model parametrlari 𝑃(𝑤𝑖 |𝑤𝑖−𝑁+1…𝑖−1 )ni korpusdagi chastotalardan to‘g‘ridan-to‘g‘ri
baholash (maximum likelihood) yaxshi natija bermaydi, chunki ko‘plab n-gramlar umuman
uchramagan bo‘lishi tabiiy. Korpusda kuzatilmagan ketma-ketliklar uchun oddiy hisob-kitob
ehtimolni nol deb baholaydi, bu esa til modeli nuqtai nazaridan muammo – nol ehtimolli hodisalar
real til uchun mumkin emas (yoki juda kam ehtimolli xolos).
Shu bois, silliqlashtirish (smoothing) usullaridan foydalanildi. Silliqlashtirishning maqsadi –
kuzatilmagan n-gram kombinatsiyalariga ham ma’lum ehtimol massasi ajratish va kuzatilgan ngramlarning hisoblangan ehtimollarini biroz pasaytirib “tekislash”dir. Adabiyotlarda Laplas (Addone), Gud-Tyuring, Kleyzer-Ney (Kneser-Ney), Vitten-Bell (Witten-Bell) kabi ko‘plab
silliqlashtirish usullari mavjud [6]. Bizning ishlanmada zamonaviy til modellashda eng samarali deb
tan olingan Modifikatsiyalangan Kneser-Ney silliqlashtirish usuli tanlandi. KenLM dasturi aynan
shu usulni qo‘llaydi va ehtimollarni hisoblashda chetlanish (discount) va back-off
kombinatsiyalangan modelini quradi. IRSTLM dasturida esa sukut bo‘yicha yengilroq Witten-Bell
silliqlashtirishi ishlatiladi va u katta ma’lumotlarda samarali bo‘lsa-da, Kneser-Ney usulidan biroz
pastroq sifat berishi mumkin. Darhaqiqat, mustaqil tadqiqotlar natijasida 5-gram model uchun
Kneser-Ney silliqlashtirishi Witten-Bellga nisbatan perpleksiya ko‘rsatkichini yaxshiroq
kamaytirgani kuzatilgan. Shuning uchun, biz Kneser-Ney usulidan foydalandik; IRSTLM imkon
bergan holatlarda uning “improved Kneser-Ney” yaqinlashgan versiyasidan ham foydalandik.
Silliqlashtirish jarayonida back-off sxemasidan foydalanildi: agar berilgan N-1 kontekst + so‘z
kombinatsiyasi korpusda mavjud bo‘lmasa (uning chastotasi 0 bo‘lsa), u holda model pastroq
darajaga “chekinadi” – ya’ni, so‘nggi N-2 so‘z konteksti uchun (N-1)-gram ehtimolga murojaat
qiladi. Bunda ehtimollar yig‘indisi birligicha qolishi uchun har bir kichik modelga maxsus
chekinish vazni (back-off weight, λ) koeffitsienti kiritiladi. Masalan, bigram modeli uchun KneserNey formulasini yozsak:
Agar 𝑤𝑖 − 1 oldingi so‘z kontekstida 𝑤𝑖 so‘zi kuzatilgan bo‘lsa (ya’ni, 𝑐(𝑤𝑖−1,𝑖 ) > 0):
𝑐(𝑤𝑖−1,𝑖 ) − 𝑑
𝑃(𝑤𝑖 |𝑤𝑖−1 ) =
𝑐(𝑤𝑖−1 )
Bu yerda, 𝑑 – discount (chegirma) konstanta.
Agar 𝑤𝑖 − 1 kontekstida 𝑤𝑖 so‘zi umuman uchramagan bo‘lsa (𝑐(𝑤𝑖−1,𝑖 ) = 0):
𝑃(𝑤𝑖 |𝑤𝑖−1 ) = λ(𝑤𝑖−1 ) ∙ 𝑃(𝑤𝑖 )
ya’ni, bigram modeli kichrayib unigram model ehtimoliga bog‘lanadi (λ – back-off vazn,
𝑃(𝑤𝑖 ) esa unigram ehtimol) [5].
Yuqoridagi formulalar Kneser-Ney back-off silliqlashtirishining soddalashtirilgan ko‘rinishi
bo‘lib, undan yuqori darajadagi N-gramlar uchun ham xuddi shunday rekursiv qo‘llaniladi.
Silliqlashtirish natijasida ARPA til modeli faylida har bir n-gram uchun ehtimoliyat (yoki log10
ehtimol) va kerakli joylarda back-off vaznlar yozib chiqildi. E’tibor qilish lozimki, IRSTLM
yaratuvchilari Kneser-Neyning to‘liq realizatsiyasini xotira tejamkorligi maqsadida biroz
soddalashtirganlar (bu usulni “modified shift-beta” deb atashadi)[7], KenLM esa to‘liq KneserNeyni realizatsiya qilgani tufayli, ayni bir korpusda KenLM chiqargan ehtimollar IRSTLM’ga
nisbatan biroz ishonchliroq bo‘lishi mumkin. Shu sababdan, biz yakuniy model qurishda
170
KenLM’dan olingan ehtimollarni asos qilib oldik, lekin ikki xil toolkit yordamida qurilgan
modellarni ham qiyoslab ko‘rdik (quyida batafsilroq keltiriladi).
4. Til modeli formatini tayyorlash. N-gramlar va ularning silliqlashtirilgan ehtimollari tayyor
bo‘lgach, til modelini samarali saqlash va ishlatish masalasi turadi. Ko‘pgina LM tizimlari matn
ko‘rinishidagi ARPA fayllarni bevosita yuklab ishlay oladi. Biroq ARPA fayllar hajmi katta bo‘ladi
(ayniqsa, yuqori darajali n-gram ko‘p bo‘lsa) va undagi qatorma-qator ma’lumotni har safar qidirish
sekinlik keltirib chiqaradi. Shu bois, amaliyotda til modelini binar formatga kompilyatsiya qilish
afzal sanaladi. IRSTLM tarkibida bu uchun maxsus compile-lm yordamchi dasturi mavjud bo‘lib, u
ARPA formatdagi modelni ixcham .bin faylga aylantiradi. KenLM ham xuddi shunga o‘xshash
build_binary dasturiga ega – u ARPA faylni binar formatga konvert qiladi. KenLM’ning muhim
jihati shundaki, u binar formatni shakllantirishda turli ma’lumot tuzilmalarini tanlash imkonini
beradi: trie (daraxt), probing (hash-jadval) yoki sorted (saralangan massiv) variantlardan birini.
Standart variant – probing (bu eng tezkor qidiruvni ta’minlaydi, lekin xotirani ko‘proq
ishlatadi), trie esa bir oz sekinroq bo‘lsa-da, xotira tejamkor formatdir1. Bizning loyiha doirasida
modelni integratsiya qilishda asosan KenLM’ning trie-binar formati qo‘llandi – bu holda LM fayl
hajmi sezilarli darajada kichrayadi va uni operativ xotiraga to‘liq yuklash shart bo‘lmaydi. Misol
uchun, KenLM trie formatidagi model resident xotira hajmi IRSTLM eng ixcham varianti
hajmining atigi 58% ini tashkil etdi (ya’ni deyarli yarmiga teng), shu bilan birga so‘rovlarni qayta
ishlash tezligi IRSTLM eng tez variantining 81%iga teng bo‘ldi, ya’ni deyarli tezlikdan
yutqazmagan holda xotira samaradorligi oshgan. Bunday binar modelni IRSTLM bilan ham
kvantlash orqali erishish mumkin: IRSTLM’da ehtimollarni 4 bayt float o‘rniga 1 bayt qilib saqlash
rejimi mavjud bo‘lib, quantize-lm yordamida ARPA faylni kvantlashtirilgan formatga o‘tkazish
mumkin, natijada model hajmi 4 baravar kichrayadi. Biz tajribada KenLM modelini trie
ko‘rinishida qurib, undan foydalanishda mmap (lazy loading) rejimini ham sinab ko‘rdik[8]: bunda
model fayli diskdan to‘g‘ridan-to‘g‘ri xotiraga xaritalanadi va kerakli bo‘limlari dinamik yuklab
ishlatiladi. Memory mapping usuli juda katta modellarga ega tizimlarda foydalidir – bir nechta
jarayon bir model faylidan foydalanganda ham diskdan bir marta yuklab, birlik manzillar
maydonida baham ko‘rishi mumkin. Bizning model hajmi unchalik ulkan bo‘lmagani bois
(taxminan bir necha yuz MB atrofida) aksar hollarda modelni to‘liq xotiraga yuklab ishlatdik, bu
esa yuklanish vaqtini qisqartirdi va so‘rovlarni bajarish tezligini oshirdi.
5. Bashorat qilish mexanizmi (inferens). N-gram til modeli qurib bo‘lingach, uni test qilish va
turli ilovalarda qo‘llash uchun kerakli funksionallik ishlab chiqildi. Til modelining ishlash prinsipi
shundan iboratki, u berilgan kontekst (ya’ni, oldingi N-1 ta so‘z) uchun navbatdagi so‘zning
ehtimollar taqsimotini qaytaradi. Bizning holatda, masalan, KenLM modeli uchun maxsus Python
wrapper yozilib, berilgan matn satrlarini tezkor skoring (baho olish) funksiyasi yaratildi. Ushbu
funksiya gapdagi har bir so‘z ketma-ketligi ehtimolini modeldan oladi va natijada butun gapning
log-ehtimoli hamda perpleksiya qiymatini hisoblab beradi. Xuddi shu mexanizm asosida keyingi
paragrafda tavsiflangan perpleksiya ko‘rsatkichlari olindi. Til modelidan bashorat qilish (next word
prediction) maqsadida foydalanish uchun esa quyidagicha yondashuv qo‘llanildi: <s> boshi
berilgan holda, modelning ehtimollar taqsimoti ichidan eng yuqori ehtimolli so‘z tanlab olindi – bu
birinchi so‘z bashorati bo‘ldi. So‘ngra tanlangan so‘z kontekstga qo‘shilib, yana modelga so‘rov
berildi va navbatdagi so‘z tanlandi, bu jarayon </s> (gap oxiri) tokeni chiqqunga qadar davom
171
ettirildi. Natijada, model mustaqil ravishda gaplar generatsiya qila oladigan dasturiy vosita yaratildi.
Bunda, albatta, har doim eng yuqori ehtimolli so‘zni tanlash deterministik tekst hosil qilishi (ko‘p
takrorlar va bir xil strukturadagi gaplar) mumkin. Shu sabab, generativ rejimda ba’zan ehtimollar
taqsimotidan tasodifiy namuna olish (masalan, Boltzmann sampling yoki top-k random sampling
usullari) orqali so‘z tanlash mexanizmi ham sinovdan o‘tkazildi. Umuman olganda, N-gram
modelining bashorat qilish mexanizmi oddiy daraxt koʻrinishidagi qidiruv jarayoni boʻlib, yuqori
tartibli (masalan, 5-gram) kontekst topilmasa, pastga chekinish va oxir-oqibat unigram ehtimolga
tayanish bilan amalga oshadi. Shu tariqa, qurilgan model yordamida turli kirish matnlariga
ehtimoliy baho berish, keyingi so‘zni taxmin qilish, yoki so‘zlar ketma-ketligini to‘liq generatsiya
qilish funksiyalari qo‘lga kiritildi.
Korpus chastotalari va kam uchraydigan holatlar
N-gram model sifatida qurilgan til modellari to‘liq statistik ma’lumotga tayanadi. Agar biror
so‘z birikmasi katta korpusda ko‘p marotaba uchrasa, model uning ehtimolini yuqori deb belgilaydi,
aksincha kam uchragan yoki uchramagan birikmalar ehtimoli juda kichik bo‘ladi. Tilning
xususiyatlariga ko‘ra, hatto juda katta korpuslarda ham ma’lumotlar siyrakligi (data sparsity)
muammosi yuzaga keladi – ya’ni mumkin bo‘lgan so‘z kombinatsiyalarining ulkan ko‘pligidan
amalda korpusda ularning faqat kichik qismi kuzatilgan bo‘ladi. Masalan, o`zbek tilidagi vebkorpusdan (gaplar soni: 1,120,458) olingan statistikaga qarasak (1-jadval), 386.069 ta unikal so‘z
(unigram) mavjud bo‘lganda bigramlar soni 4.799.233, trigramlar soni esa 9.549.450 ga teng.
1-jadval. N-gramlar sonining taqsimoti (logarifmik miqyosda)
Gaplar soni
1,120,458
Tokenlar soni
19,984,549
Unikal Unigramlar
386,069
Unikal Bigramlar
4,799,233
Unikal Trigramlar
9,549,450
Unikal 4-gramlar
11,811,234
Unikal 5-gramlar
12,291,580
Unikal 6-gramlar
11,971,849
172
2-rasm. N-gramlar sonining taqsimoti (logarifmik miqyosda)
3-rasm. N-Gramlarning chiziqli grafigi
173
4-rasm. N-Gramlarning logarifmik grafigi
1) Chiziqli grafik — N-gram tartibi ortishi bilan kombinatsiyalar sonining qanday o‘sishini
aniq ko‘rsatadi. 4-gramdan boshlab keskin eksploziv o‘sish kuzatiladi.
2) Logarifmik grafik — Eksponensial o‘sishni yanada ravshanroq ko‘rsatadi va yuqori tartibli
N-gram modellarning resurs talabini vizual baholashga yordam beradi.
N-grammalarning kombinator portlashi
Korpus hajmi va til boyligi oshishi bilan yuqori tartibli N-gramlar soni keskin ortadi.
Masalan, o‘zbek tilid milliy korpusida trigrammalar soni unigramlardan bir necha barobar ko‘p
bo‘lib, 9.549.450 unikal trigramma kuzatilgan (1-jadvalda 7-grammagacha ko‘rsatilgan). Bu o‘zbek
tiliga xos holat; aglutinativ tuzilishi va erkin so‘z tartibi tufayli o‘zbek tilida ham mumkin bo‘lgan
so‘z ketma-ketliklari kombinatsiyasi behisob bo‘lib, ulardan amaliy kuzatilganlari nisbatan kam
bo‘ladi. Demak, N qancha katta bo‘lsa, model parametrlarining soni (kuzatilgan N-grammalar soni)
shuncha keskin oshadi. Shu sababli korpus hajmi cheklanganda odatda 3-gram, 4-gram kabi past
tartibli modellargacha foydalaniladi; undan yuqori tartiblar uchun ishonchli statistikani yig‘ish juda
qiyinlashadi.
Kam chastotali so‘zlar va kontekstlar N-gram modellarda alohida muammo tug‘diradi.
Korpusda kam kuzatilgan birikmalar uchun maksimum haqqoniylik ehtimoli past bo‘ladi, garchi
real tilda bunday kombinatsiya mantiqan mumkin bo‘lsa ham. Silliqlash usullari aynan shunday
kam uchraydigan holatlar ehtimolini 0 dan yuqoriroq qilib, modelning generallashuvi (umumlashma
qobiliyati)ni oshiradi. Misol tariqasida, O‘zbek tili bo‘yicha tuzilgan 3-, 5-, 7- va 9-gram
modellarning test to‘plamdagi perpleksiyasini (quyida tushuntiriladi) solishtiramiz (5-rasm).
Kneser–Ney silliqlashi qo‘llanganda 3-gram model test perpleksiyasi 121, 5-gramda 114, 7-gramda
112, va 9-gramda 108 ni tashkil qilgan. Ya’ni, yuqori tartibli model aniqroq probabilistik bashorat
bermoqda (perpleksiya pasaymoqda). Katz silliqlashi ham xuddi shunday tendensiyani ko‘rsatgan,
ammo uning qiymatlari biroz balandroq (masalan, 9-gram Katz modeli 112 perpleksiya) va
umuman Kneser–Ney interpolatsiyali yondashuvdan samaradorlikda ortda ekanligi kuzatilgan.
Shunday qilib, statistik modellarda N oshishi bilan nazariy kontekst qamrovi kengaysa-da, amaliy
cheklovlar tufayli silliqlash va resurs cheklovlari (xotira, korpus hajmi) inobatga olinadi.
174
5-rasm. Silliqlash usullarining perpleksiya bo‘yicha taqqoslanishi
Xulosa
Ushbu maqolada, O‘zbek tilida n-gram asosidagi til modelini qurish bosqichlari va texnik
jihatlari ishlatilgan vositalar chuqur tahlil qilindi. Model yaratish jarayonida ma’lumotlarni
tozalash, n-gram chastotalarini hisoblash, ehtimollarni silliqlashtirish hamda modelni samarali va
resurs tejamkor tarzda qurish kabi muhim bosqichlarga e’tibor qaratildi. IRSTLM va KenLM kabi
toolkit’lar bilan ishlash jarayonlari solishtirilib, ularning afzallik va kamchiliklari amaliy tajribalar
orqali ko‘rsatib berildi. Xususan, IRSTLM o‘zining xotira tejamkorligi bilan ajralib tursa, KenLM
maksimal samaradorlik va aniqlikni ta’minlaydi. Ayniqsa, KenLM tomonidan taqdim etilgan
modifikatsiyalangan Kneser-Ney silliqlashtirish algoritmining yuqori sifatli natijalar berishi va katta
korpuslarda yaxshi perpleksiya ko‘rsatkichlariga erishgani alohida qayd etildi. Shu tariqa, O‘zbek
matnlariga asoslangan n-gram modelini samarali tarzda qurish mumkinligi isbotlandi. Bunday
model kelgusida avtomatik tarjima, matn yaratish, matnni tahlil qilish, so‘z tavsiya qilish kabi tabiiy
tilni qayta ishlashga oid bir qator muammolarni hal etadi.
Adabiyotlar
1. Claude Shannon “A Mathematical Theory of Communication”. 1948. United States
2. M. Davies. 2011. Google Books (American English) Corpus (155 billion words, 1810-2009).
http://googlebooks.byu.edu/.
Nadas, A. (1984). Estimation of probabilities in the language model of the IBM speech
recognition system. IEEE Transactions on Acoustics, Speech, and Signal Processing, 32(4),
859-861.
3. Church, K. W., & Gale, W. A. (1991). A comparison of the enhanced Good-Turing and deleted
estimation methods for estimating probabilities of English bigrams. Computer Speech &
Language, 5(1), 19-54.
4. Mani, S., Gothe, S. V., Ghosh, S., Mishra, A. K., Kulshreshtha, P., Bhargavi, M., & Kumaran,
M. (2019, January). Real-time optimized n-gram for mobile devices. In 2019 IEEE 13th
International Conference on Semantic Computing (ICSC) (pp. 87-92). IEEE.
5. R. Ismail. (2014, May). Comparison of modified kneser-ney and witten-bell smoothing
techniques in statistical language model of bahasa Indonesia. In 2014 2nd International
Conference on Information and Communication Technology (ICoICT) (pp. 409-412). IEEE.
175
6.
Heafield, K., Pouzyrevsky, I., Clark, J. H., & Koehn, P. (2013, August). Scalable modified
Kneser-Ney language model estimation. In Proceedings of the 51st Annual Meeting of the
Association for Computational Linguistics (Volume 2: Short Papers) (pp. 690-696).
176
SUN’IY INTELLEKT USULLARI YORDAMIDA VIDEOTASVIRDAN SHAXSNING
YUZ TASVIRI HAMDA OBEYKTLARNI ANIQLASH ALGORITMLARI
Xalilov Sirojiddin Panjiyevich
University of Management and Future Technologies
xalilov@umft.uz
Annotatsiya: Dunyo tajribasi shuni ko‘rsatadiki, masofaviy ta’lim jarayonlarini tashkil
etishda uning uzluksizligini ta’minlash hamda zam’onaviy ta’lim tеxnologiyalarini va kasbiy
rivojlanishning yangicha shakllarini o‘zlashtirish orqali mustaqil malaka oshirishga yo‘naltirilgan
malaka oshirishning variativ tizimini ishlab chiqish asosiy yo‘nalishlar sifatida qaraladi. Mazkur
ilmiy tadqiqod ishda rеal vaqt ichida idеntifikatsiyalash usullariga asoslangan vidеotasvirlardan yuz
haqqoniyligini aniqlash, dеskriptorlar asosida vidеotasvirdagi komponеnt-bog‘liqlarni tahlil qilish
algoritmi va masofaviy ta’lim platformasida soxta yuzlarni aniqlashni chuqur nеyron tarmoqlarga
asoslangan algoritmlarni taklif etilgan.
Kalit so‘zlar:real-vaqt,tasvir, Xaara, Viola-Jones, Local Binary Pattern (LBP), Histograms of
Oriented Gradients (HOG), OpenVINO.
Kirish
Vidеotasvirlardan yuzni tanib olish tizim biomеtrik va fiziologik yondashuv asosida tasvirdan
olingan yuz hususiyatlarning vеktorlari yordamida shaxsni aniqlaydi va tasqidlaydi. Xozirgi kunda
tasvirlar yuzni aniqlash bo‘yicha eng ko‘p murojaat kompyutеrli ko‘rish yo‘nalishga bo‘lmoqda.
Yuzning haqqoniyligini aniqlash va tahlil qilish inson yoshi, jinsi, yuzning shakli, ko‘z, qosh,
burun, lablarning joylashuvi va boshqa malumotlarni olish to‘plashni o‘z ichiga oladi. Rеal vaqtda
idеntifikatsiyalash usullariga asoslangan vidеotasvirlardan yuzni haqqoniyligini aniqlash uchun
Viola-Jones algoritmi yuzning klassifikatorlarini yaratish uchun Xaarga o‘hshash to‘rtburchak
hususiyatlardan foydalanadi.
Ushbu algoritmning samaradorligi intеgral tasvirni yaratish uchun tasvirdagi yuz qismlarini
to‘rtburchaklar hususiyatiga tеz ajaratishidadir. Intеgral tasvir yaratish uchun, tasvir joylashgan
(x,y) ning chap yuqori qismidagi barcha piksеllar yig‘indisini o‘z ichiga oladi.
Ushbu algoritmda tasvirga ishlov bеrish bosqichlari kеtma-kеtlik asosida tuzilgan kaskad
klassifikatoridan foydalaniladi. Har bir bochqichda ajaratilgan to‘rtburchak hususiyatlari to‘plami
pastki bo‘lakda yuz tasviri bor yoki yo‘qligi (1-rasm) tеkshirish uchun kеyingi bo‘lakka suriladi.
Пасики булак
1
H
Т
Босқич
2
H
Т
Т
Т
24
H
25
H
Қайтиш
кейинчалик
1-rasm. 25 bosqichli kaskatli hususiyatlarni tasniflagich (T = Ture, F = False)
Turli o‘lchamdagi yuzlarni aniqlash uchun algoritm bir xil to‘rtburchaklar to‘plamidan iborat
bo‘lgan barcha yuzlar topilgunga qadar har xil o‘lchamdagi dastlabki tasvirlar ustidan siljish uchun
tasvirlar pramidasidan foydalanadi.
Local Binary Pattern (LBP) yordamida kompyutеrni ko‘rish tasvirlarni tasniflashda kuchli
xususiyatga ega. U ko‘rinishidan oddiy hususiyat bo‘lsada, piksеlning kontrast ma’lumotlarini
tavsiflashda o‘zining izdosh piksеllariga qaraganda, juda samarali va ishonchli opеrator
hisoblanadi. Agar Local Binary Pattern (LBP) bilan Histograms of Oriented Gradients (HOG)
birlashtirib malumotlar to‘plamiga ishlov bеrilsa najita sеzillarli darajada samarali bo‘ladi. LBP va
HOG dеskriptorlari birgalikda yuz tasvirini ma’lumotlarini vеktori sifatida ko‘rsatish va undan
yuzni tanib olish maqsadlarida foydalanish mumkin. Local Binary Pattern Histogram (LBPH)
asosida tasvirdan yuzni aniqlash va kulrang tasvirga o‘tkazish algoritmi kеltirilgan.
Asosiy qism
Ushbu tasvirdan yuzlarni tanib olish uchun kadrlarga ajratishga asoslangan yondashuvlardan
foydalaniladi. Birinchi navbat kamеra start bеriladi va kamеrani ishlayotgani tеkshiriladi. Undan
so‘ng tasvirlar kadrlarga ajratilib tasvirlardan inson ob’еkti qidiriladi. Inson ob’еktlari
ajiratilgandan so‘ng tanlangan tasvirlardan kulrang tasvir yaratib olinadi.
Xususiyatlarni ajratib olish uchun kulrang rang tanlov tasviri 3×3 oyna katakchalariga
bo‘linadi va markaziy 8-piksеli soat o‘ynalishi bo‘yicha yoki soat milliga tеskari yo‘nalishda
piksеlning har biri bilan taqqoslanadi. Agar atrofdagi piksеllar markaziy piksеldan kattaroq bo‘lsa,
u shu 8-pixеl bilan almashtiriladi; aks holda u nolga tеnglashtiriladi. Shunday qilib, olingan 3×3
oynaning markaziy qiymatdan tashqari soat o‘ynalishi bo‘yicha hisoblashni boshlasak, biz 8 bitli
ikkilik son natijasini olamiz va asl katakdagi markaziy piksеl bilan ikkilik sonning o‘nlik
ekvivalеnti bilan almashtiramiz. Bu hisob usuli o‘sha tavirning markaziy xususiyatilarini aks
ettirish uchun qo‘llaniladi.
Agar 𝑎𝑐 va 𝑎0 , 𝑎1 , 𝑎2 , . . . , 𝑎𝑝−1 mos ravishda markaziy piksеl hamda ko‘shini piksеllar dеb
hisoblansa (𝑥, 𝑦) ning joylashuvsiga qarab markaziy piksеlga nisbatan 8 bitli LBP kodni olishimiz
mumkin.
𝑝
𝐿𝐵𝑃(𝑥𝑐 , 𝑦𝑐 ) = ∑𝑝−1
(1.1)
𝑝=0 𝑆(𝑎𝑐 − 𝑎𝑝 )2
Yuqorida kеltirilgan tеnglamani quyidagi 𝑠(𝑓) chеgara funksiyasi bilan aniqlash mumkin.
1, 𝑧 ≥ 0
𝑠(𝑓) = {
0, 𝑧 < 0
(1.2.)
LBPH algoritmida tеkstura dеskriptori sifatida ishlatiladigan gistogramma asosan kirish
tasviri uchun barcha piksеllarning LBP kodlari to‘plamidir, ya’ni:
𝐿𝐵𝑃𝐻(ℎ) = ∑𝑥𝑐,𝑦𝑐 𝛿{𝑖, 𝐿𝐵𝑃(𝑥𝑐 , 𝑦𝑐 )}, 𝑖 = 0,1, … , 2𝑝−1
bu erda 𝛿(𝑖) Kronеck funksiyasi sifatida tanlangan.
178
(1.3)
Boshlash
Kamerani ishga tushirush
Kamerani tekshrish
Tasvirlarni kadrga ajratish
Inson obyektni qidirish
Kadrdagi tasvirlarni kulrang tasvirga o‘zgartirish
Xaar kaskadli klassifikatoridan foydalanish
Yuz tasvirining hususiyatlarni o‘rganish
Yuzni aniqlash
Yuzni alohida belgish (ramkaga olsih)
Aniqlasnga yuzni qaytarish
Boshlash
2-rasm Tasvirdan yuzni aniqlash ketma-ketmaligi.
Butun kulrang yuz tasviri LBPH algoritmida bir nеchta kichik mintaqalarga bo‘linadi va
kеyin har bir kichik mintaqaning LBP xususiyati vеktorlari chiqariladi. Shundan so‘ng, LBP
hususiyat vеktorlaridan har bir kichik hududning gistogrammasi hisoblanadi. Kеyin pastki
hududlarning barcha gistogrammalari birlashtirilib, olingan to‘liq tasvirning katta o‘lchamli
gistogrammasi tasvirning asosiy hususiyatini ifodalaydi.
179