ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
295
2181-
3187
MAPREDUCE METODOLOGIYASIDAN FOYDALANGAN HOLDA
NOTO‘G‘RI YOZILGAN SO‘ZLARNI ANIQLASH
Olimov M.U.
Andijan davlat universiteti, Andijon shahar,
170100, Universitet ko‘chasi, 129 (O‘zbekiston).
Anotatsiya:
O‘zbek tilidagi matnlarni tahlil qilishda, ayniqsa, yozma nutqdagi
xatoliklarni aniqlash muhim masalalardan biridir. Xususan, noto‘g‘ri yozilgan
so‘zlarni aniqlash va to‘g‘rilash matnni samarali ishlov berish uchun zarurdir. Shu
bilan birga, katta hajmdagi matnni tahlil qilishda MapReduce metodini qo‘llash ushbu
jarayonni tezlashtirish va samarali qilishda yordam beradi
[1]
. Ushbu tadqiqotda
MapReduce modeli asosida noto‘g‘ri yozilgan so‘zlarni aniqlash metodologiyasi
ishlab chiqilgan. Dastlab, matnni tozalash va so‘zlarni bo‘g‘inlarga ajratish orqali
matnni oldindan tayyorlash amalga oshirilgan. So‘ngra, lemmatizatsiya jarayoni orqali
so‘zlar asosiy shakllariga keltirilgan va noto‘g‘ri yozilgan so‘zlar lug‘at bilan
solishtirilgan
[4][5]
. Bu yondashuv MapReducening Parallel hisoblash xususiyatidan
foydalanadi
[1][9]
. MapReduce metodologiyasi katta hajmdagi matnlarni tahlil
qilishda samarali qo‘llanilishi mumkin. Bo‘g‘inlarga ajratish va lemmatizatsiya
jarayonlari noto‘g‘ri yozilgan so‘zlarni aniqlash va ularni to‘g‘rilashda muhim rol
o‘ynaydi
[4][7]
. Ushbu yondashuv yanada mukammal natijalar olish uchun
rivojlantirilishi kerak.
Kalit so‘zlar:
MapReduce, Matn tahlili, Lematizatsiya, Noto‘g‘ri yozilgan
so‘zlar, So‘zlarni to‘g‘rilash, Katta hajmdagi ma’lumotlar, Parallel hisoblash, Natural
Language Processing (NLP), Ma’lumotlarni tahlil qilish, Morfologik tahlil, Yozuv
xatoliklarini aniqlash, Kompyuter lingvistika, Hujjatni tozalash, NLP model, Yozuvni
tuzatish tizimi, Paralel tahlil, Tekstni ajratish, Tahlil natijalari.
Аннотация:
Анализ текстов на узбекском языке, особенно выявление ошибок в письменной
речи, является одной из актуальных задач. В частности, для эффективной
обработки текста необходимо обнаружение и исправление неправильно
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
296
2181-
3187
написанных слов. В то же время применение метода MapReduce при анализе
больших объемов текста способствует ускорению и повышению эффективности
данного процесса [1]. В настоящем исследовании разработана методология
выявления орфографических ошибок на основе модели MapReduce. Сначала
была выполнена предварительная обработка текста путём его очистки и деления
слов на слоги. Затем, в процессе лемматизации, слова были приведены к их
базовой форме и сопоставлены с лексиконом для определения орфографических
ошибок [4][5]. Такой подход использует параллельную вычислительную
способность MapReduce [1][9]. Методология MapReduce может эффективно
применяться при анализе больших текстовых данных. Процессы деления на
слоги и лемматизации играют важную роль в обнаружении и исправлении
ошибок [4][7]. Этот подход должен быть усовершенствован для получения более
точных результатов.
Ключевые
слова:
MapReduce,
анализ
текста,
лемматизация,
орфографические ошибки, исправление слов, большие данные, параллельные
вычисления, обработка естественного языка (NLP), анализ данных,
морфологический анализ, обнаружение ошибок в тексте, компьютерная
лингвистика, очистка текста, модель NLP, система исправления ошибок,
параллельный анализ, сегментация текста, результаты анализа.
Abstract:
Analyzing Uzbek texts, particularly identifying errors in written language, is one of the
key challenges. Specifically, detecting and correcting misspelled words is essential for
efficient text processing. Additionally, applying the MapReduce method in large-scale
text analysis helps accelerate and optimize the process [1]. In this study, a methodology
for detecting misspelled words based on the MapReduce model is developed. Initially,
text preprocessing was performed through cleaning and syllable segmentation. Then,
through lemmatization, words were converted into their base forms and compared with
a lexicon to identify spelling errors [4][5]. This approach leverages the parallel
computing capabilities of MapReduce [1][9]. The MapReduce methodology can be
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
297
2181-
3187
effectively applied in large-scale text analysis. Syllable segmentation and
lemmatization play a crucial role in identifying and correcting misspelled words [4][7].
This approach should be further developed to achieve more accurate results.
Keywords:
MapReduce, text analysis, lemmatization, misspelled words, word
correction, big data, parallel computing, Natural Language Processing (NLP), data
analysis, morphological analysis, spelling error detection, computational linguistics,
text cleaning, NLP model, spelling correction system, parallel analysis, text
segmentation, analysis results.
I.KIRISH
Tadqiqot ob'yekti — O‘zbek tilidagi matnlarni tahlil qilish va noto‘g‘ri yozilgan
so‘zlarni aniqlash. Matnni avtomatik tarzda tahlil qilish, ayniqsa, tilshunoslik va
kompyuter lingvistikasining samarali qo‘llanilishi muhim ahamiyatga ega. Bu sohada
MapReduce metodologiyasining qo‘llanilishi hali keng o‘rganilmagan. Ayniqsa,
O‘zbek tilidagi matnlarni tahlil qilishda noto‘g‘ri yozilgan so‘zlarni aniqlashda mavjud
metodlar ko‘pincha katta hajmdagi matnlarni samarali ishlov bera olmaydi. Ushbu
tadqiqotda
MapReduce
metodologiyasidan foydalangan holda katta hajmdagi
matnlarni samarali tahlil qilishni taklif qilamiz.
Tadqiqotda
MapReduce
modeli yordamida katta hajmdagi matnlar tahlil qilindi.
Bu jarayonda, matnni tozalash, so‘zlarni bo‘g‘inlarga ajratish va lemmatizatsiya
qilishdan foydalanildi. So‘ngra, noto‘g‘ri yozilgan so‘zlarni aniqlash uchun lug‘at
bilan solishtirish usulidan foydalanildi. Tadqiqot natijalari ushbu yondashuvning
samarali ekanligini ko‘rsatadi.
MapReduce
metodini Jeffrey Dean va Sanjay
Ghemawat (2004) ishlab chiqqan, bu metod katta hajmdagi ma’lumotlarni samarali
tahlil qilish imkonini beradi [1]. O‘zbek tilida tilshunoslik va lemmatizatsiya bo‘yicha
ilgari olib borilgan tadqiqotlar (masalan,
Karimov va Raximov
, 2020) tilni avtomatik
tahlil qilishda samarali yondashuvlarni o‘rganishga qaratilgan
[4]
.
Adabiyotlar tahlili va metod
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
298
2181-
3187
Ishonchli ma’lumotlarni yig‘ish jarayoni va ma’lumotlarni tahlil qilish
metodikasi.
Ma’lumotlar yig‘ish jarayonida, dastlab matnlar tozalandi, so‘zlar bo‘g‘inlarga
ajratildi va lemmatizatsiya jarayoni amalga oshirildi. Shundan so‘ng, so‘zlar lug‘at
bilan solishtirildi va noto‘g‘ri yozilgan so‘zlar aniqlanib, to‘g‘rilandi.
MapReduce
metodologiyasi yordamida barcha jarayonlar parallel tarzda amalga oshirildi.
Jeffrey Dean va Sanjay Ghemawat tomonidan ishlab chiqilgan MapReduce
modeli katta hajmdagi matnlar bilan samarali ishlash uchun ayni muddao bo‘lgan
[1]
.
Quyida bu model matn tahlilida qanday ishlatilishini sodda va bosqichma-bosqich
tushuntirib beraman:
MapReduce modelining mohiyati:
MapReduce ikki asosiy bosqichdan iborat
[1]
:
1. Map bosqichi – ma’lumotlar bo‘laklarga ajratilib, har bir bo‘lak alohida qayta
ishlanadi.
2.Reduce bosqichi – Map bosqichidagi natijalar birlashtirilib, yakuniy natija
olinadi.
Katta hajmdagi matnni tahlil qilish (misol: so‘zlar sonini hisoblash)
Tasavvur qiling:
Bizda millionlab matnli fayllar (kitoblar, maqolalar, web sahifalar) bor va biz har
bir so‘z necha marta takrorlanganini bilmoqchimiz.
1.Map bosqichi (xaritalash)
Har bir fayl quyidagicha qayta ishlanadi:
•
Matn satrga ajratiladi.
•
Satrdagi har bir so‘z ajratib olinadi.
•
Har bir so‘z uchun juftlik qayd etiladi: ("so'z", 1)
Misol:
`Matn: "AI is the future. AI will transform the world."
Map natijasi:
("AI", 1)
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
299
2181-
3187
("is", 1)
("the", 1)
("future", 1)
("AI", 1)
("will", 1)
("transform", 1)
("the", 1) ("world", 1)
2.Shuffle bosqichi (oraliq bosqich)
Barcha `("so'z", 1)` juftliklar guruhlanadi. Bir xil so‘zlar bitta joyga yig‘iladi.
Misol:
("AI", [1, 1])
("is", [1])
("the", [1, 1]) ("future", [1])
("will", [1])
("transform", [1]) ("world", [1])
3. Reduce bosqichi (qisqartirish yoki yig‘ish)
Har bir so‘z uchun `1` lar yig‘iladi (ya’ni so‘z necha marta ishlatilganini
hisoblash).
Misol:
("AI", 2)
("is", 1)
("the", 2)
("future", 1)
("will", 1)
("transform", 1)
("world", 1)
Yuqoridagi ketma-ketliklarni bajarish natijasida katta matnlar to‘plamidagi har
bir so‘z necha marta ishlatilgani haqida ma’lumot aniqlash imkoni bo‘ladi.
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
300
2181-
3187
MapReduce modelini O‘zbek tilidagi matnlar bilan ishlashga moslashtirish va uni
amaliy dasturiy ko‘rinishda qanday ishlatish mumkinligini ko‘rib chiqamiz [4][7].
•
O‘zbek tilidagi matn uchun moslashtirish
•
O‘zbek tilining o‘ziga xos jihatlari:
•
So‘zlar qo‘shimchalar orqali o‘zgaradi (`kitob`, `kitoblar`,
`kitobimda`).
•
`ch`, `sh` kabi ikki harfli tovushlar mavjud.
•
Lotin va kiril yozuvida yozilgan matnlar bo‘lishi mumkin.
Demak, quyidagi bosqichlar kerak bo‘ladi [2][5][6]:
1. Matnni tozalash – kiril/lotin moslashuvi, belgi olib tashlash.
2. So‘zlarga bo‘lish (tokenizatsiya) – har bir so‘zni alohida ajratish.
3. Lemmatizatsiya (ixtiyoriy) – `kitobimda`, `kitoblar`, `kitobingizdan` →
`kitob`.
Yuqoridagi ishlar ketma-ketligini Python dasturi quyidagi ko‘rinishda bo‘ladi.
Dastur:
import
re
from
collections
import
defaultdict
# 1. Matnni
tayyorlash
def
clean_text
(text):
text
=
text.lower()
text = re.sub(
r'[^\w\s]'
,
''
, text)
# nuqta, vergul kabi belgilarni olib
tashlash
return
text
#
2.
Map
bosqichi
def
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
301
2181-
3187
map_words
(
text):
words = text.split()
mapped = [(word,
1
)
for
word
in
words]
return
mapped
# 3. Shuffle bosqichi
def
shuffle
(mapped):
shuffled = defaultdict(
list
)
for
word,
count
in
mapped:
shuffled[word].append(co
unt)
return
shuffled
#
4.
Reduce
bosqichi
def
reduce
(shuffle
d):
reduced = {}
for
word,
counts
in
shuffled.items():
reduced[word]
=
sum
(counts)
return
reduced
#
🧪
Sinov uchun matn
(O‘zbek tilida)
matn =
"""
Kitobimni o‘qib bo‘ldim. Kitob juda
qiziqarli edi. O‘qigan kitoblarim orasida eng
yaxshisi shu kitob bo‘ldi.
"""
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
302
2181-
3187
# MapReduce
amaliyoti
cleaned =
clean_text(matn)
mapped
=
map_words(cleane
d)
shuffled
=
shuffle(mapped)
reduced
=
reduce(shuffled)
# Natija
for
word, count
in
sorted
(reduced.items(),
key=
lambda
x: x[
1
], reverse=
True
):
(
f"
{word}
:
{count}
")
Dasturning natijasi:
kitob: 3
bo‘ldi: 2
o‘qib: 1
juda: 1
qiziqarli: 1
edi: 1
orasida: 1
eng: 1
yaxshisi: 1
shu: 1
...
`
MapReduce modelidan foydalanib O‘zbek tilidagi matnda xatolik (noto‘g‘ri
yozilgan so‘zlar) ni aniqlashni ko‘rib chiqamiz. Bu spell-checking vazifasiga
o‘xshaydi. Aosisy ishining bajarish tartibi:
1. To‘g‘ri so‘zlar lug‘ati kerak
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
303
2181-
3187
Bu — asosiy lemmatizatsiya qilingan so‘zlar ro‘yxati. Masalan, `.txt` fayl yoki
Python ro‘yxati ko‘rinishida bo‘ladi.
python
`# Oddiy lug‘at (real holatda minglab so‘z bo‘lishi kerak)
uzbek_words = {"kitob", "o‘qimoq", "foydali", "yaxshi", "bolalar", "maktab",
"ta’lim"} `
2. Map bosqichida so‘zlarni ajratamiz
3. Reduce bosqichida to‘g‘ri lug‘at bilan solishtiramiz
Dastur kodi:
import
re
# O‘zbek tilidagi asosiy lug‘at (bu juda qisqa namunasi)
uzbek_words = {
"kitob"
,
"o‘qimoq"
,
"foydali"
,
"yaxshi"
,
"bolalar"
,
"maktab"
,
"ta’lim"
,
"kitobxon"
}
# Matnni
tozalash
def
clean_text
(tex
t): text =
text.lower()
text = re.sub(
r"[^\w\sʼʻ’‘]"
,
''
,
text)
return
text
# Map bosqichi –
so‘zlar
ajratiladi
def
map_words
(text):
words = text.split()
mapped = [(word,
1
)
for
word
in
words]
return
mapped
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
304
2181-
3187
#
Reduce
bosqichi
–
noto‘g‘ri
so‘zlarni
ajratish
def
detect_misspelled
(mapped, dictionary):
misspelled = {}
for
word, _
in
mapped:
if
word
not
in
dictionary:
if
word
in
misspelled:
misspelled[word]
+=
1
else
:
misspelled[word]
=
1
return
misspelled
#
🧪
Sinov matn:
matn =
"""
Kitobb juda foydalii edi. Bu kitobxon o‘qimoqchi. Yaxshi ta’lim bolalr uchun
zarur.
"""
# Ishlash
cleaned
=
clean_text(matn)
mapped
=
map_words(cleaned)
misspelled = detect_misspelled(mapped, uzbek_words)
# Natija
(
"
❌
Noto‘g‘ri yozilgan so‘zlar:"
)
for
word, count
in
misspelled.items():
(
f"
{word}
:
{cou
Natija (taxminan):
❌
Noto‘g‘ri yozilgan so‘zlar:
kitobb: 1 marta
foydalii: 1 marta
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
305
2181-
3187
bolalr: 1 marta
")
Olingan natijalarni izohlash va uning ilmiy ahamiyatini ochib berish
Tadqiqotda
MapReduce
yordamida katta hajmdagi matnlarni samarali tahlil qilishda
muvaffaqiyatga erishildi. Bo‘g‘inlarga ajratish va lemmatizatsiya jarayonlari orqali
noto‘g‘ri yozilgan so‘zlar aniqlanishi aniq va samarali bo‘ldi. Ushbu metodologiya tilni
avtomatik tahlil qilishda muhim ahamiyatga ega va boshqa tillarda ham qo‘llanilishi
mumkin.
Xulosa
Tadqiqotda
MapReduce
metodologiyasidan foydalanib, katta hajmdagi O‘zbek
tilidagi matnlarni samarali tahlil qilish imkoniyati o‘rganildi. So‘zlarni bo‘g‘inlarga
ajratish va lemmatizatsiya qilish jarayonlari orqali noto‘g‘ri yozilgan so‘zlar aniqlanib,
to‘g‘rilash ishlari amalga oshirildi. Ushbu yondashuv yordamida matnni avtomatik
tahlil qilishda sezilarli darajada samaradorlikka erishildi.
MapReduce
ning parallel
hisoblash quvvati katta hajmdagi matnlarni tez va samarali qayta ishlash imkonini
berdi.
Biroq, tadqiqotning cheklanganligi, faqat O‘zbek tilidagi matnlar bilan ishlashda
aks etgan. Kelajakda bu metodologiya boshqa tillarda ham sinovdan o‘tkazilishi va
yanada rivojlantirilishi mumkin. Shuningdek, lemmatizatsiya va bo‘g‘inlarga ajratish
jarayonlarini takomillashtirish orqali aniqroq natijalar olish imkoniyatlari mavjud.
Shuning uchun, ushbu tadqiqot metodologiyasining imkoniyatlari va cheklovlarini
yanada chuqurroq o‘rganish zarur.
Adabiyotlar ro‘yxati
1.
Dean, J., & Ghemawat, S. (2004).
MapReduce: Simplified Data Processing on
Large Clusters
. OSDI'04: Sixth Symposium on Operating System Design and
Implementation.
ОБРАЗОВАНИЕ НАУКА И ИННОВАЦИОННЫЕ ИДЕИ В МИРЕ
https://scientific-jl.org/obr
Выпуск журнала №-71
Часть–7_ июня–2025
306
2181-
3187
2.
Jurafsky, D., & Martin, J. H. (2021).
Speech and Language Processing
(3rd
ed.).
Stanford
University.
[Online
draft
available
at
https://web.stanford.edu/~jurafsky/slp3/
3.
Manning, C. D., Raghavan, P., & Schütze, H. (2008).
Introduction to
Information Retrieval
. Cambridge University Press.
4.
Karimov, B., & Raximov, A. (2020).
O‘zbek tilida avtomatik lemmatizatsiya va
morfologik tahlil usullari
. O‘zbek tilshunosligi ilmiy jurnali, 1(2), 45–56.
5.
Bird, S., Klein, E., & Loper, E. (2009).
Natural Language Processing with
Python: Analyzing Text with the Natural Language Toolkit
. O'Reilly Media.
6.
Sahami, M. (2005).
Data Mining and Machine Learning in Large-Scale
Textual Data
. Stanford University Lecture Notes.
7.
Salomov, A. A. (2018).
O‘zbek tili morfologiyasining kompyuter lingvistikasi
nuqtayi nazaridan tadqiqi
. Toshkent: Fan va Texnologiya nashriyoti.
8.
Mitkov, R. (Ed.). (2022).
The Oxford Handbook of Computational Linguistics
.
Oxford University Press.
9.
Pachura, P. (2021).
Parallel Processing in Big Data using MapReduce and
Hadoop
. Journal of Computer Applications, 17(4), 67–75.
10.
Rasulov, S. (2022).
O‘zbek tilidagi matnlarni avtomatlashtirilgan qayta
ishlashda NLP yondashuvlari
. Ilm-fan va Texnologiyalar jurnali, 4(1), 28–36