MoySklad
Odoo
amoCRM
Tizimlashtirish
Marketing
AI agentlar
BUline
MoySklad
Odoo
amoCRM
Систематизация
Маркетинг
Маркетинг: обзор
Стратегия и контент
Стратегия и планКонтент и SMM
Рекламные каналы
Google AdsYandex DirectРеклама в TelegramInstagram и FacebookМаркетплейсы
Органический рост
SEO
Измерение и аналитика
Аналитика и KPI
AI-агенты
BUline
Blog · Avtomatlashtirish

Dublikatlar va maʼlumotni tozalash: takror yozuvlarni qanday topish mumkin

Bir mijoz yoki mahsulot bazada ikki marta yozilsa, uni topish uchun harfma-harf solishtirish yetmaydi. Maqolada yozuvlarni bogʻlashning aniq qoidali va ehtimoliy usullari, hisoblash namunasi va topilgan juftni birlashtirish tartibi tushuntiriladi.

15-oktabr, 2026Oʻqish: 9 daqiqaBUline tahririyati
Qisqacha

Takror yozuvlarni topish uchun avval maʼlumot bir shaklga keltiriladi, keyin yozuvlar juft-juft solishtiriladi. Oddiy qoida aniq kalit boʻlganda yaxshi ishlaydi, kalit boʻlmasa ehtimoliy usul qoʻllanadi: har maydon dalil beradi va dalillar qoʻshiladi. Ishonchsiz juftlarni odam koʻradi, topilganini esa asl yozuvlarni saqlagan holda birlashtirish kerak.

Gipotetik holat. Mijozlar bazasida uch yozuv bor: “Botir Aliyev, 12.03.1985”, “Aliev Botir, 12.03.1985” va “B. Aliyev, 12.03.85”. Odam ularning bitta kishi ekanini darrov sezadi, oddiy dastur esa harfma-harf solishtirib, uchalasini ham alohida mijoz deb hisoblaydi. Takror shunday paydo boʻladi.

Takrorni topish va birlashtirish ishining nomi yozuvlarni bogʻlash, inglizcha record linkage. Quyida uning ikki asosiy usuli, hisoblash namunasi, tezlashtirish yoʻli va topilgan juftni birlashtirish qoidalari koʻrib chiqiladi.

Takrorlar qayerdan paydo boʻladi

Takrorning sababi koʻpincha xodimning beparvoligi emas, kiritish tartibining oʻzi. Quyidagi sabablar tahririyat tahlili, ular tipik holatlarni sanaydi.

  • Ikki xodim bitta mijozni turli kuni kiritadi va birinchi yozuvni qidirmaydi.
  • Ism va familiya turli tartibda, qisqartma bilan yoki imlo xatosi bilan yoziladi.
  • Bir nom kirill va lotin yozuvida kiritiladi, masalan “Алиев Ботир” va “Aliyev Botir”.
  • Eski tizimdan koʻchirishda ikki baza qoʻshiladi va ikkalasida ham bir xil mijoz bor.

Shuning uchun takrorni faqat dastlabki tozalash bilan yoʻqotib boʻlmaydi. Kiritish usuli oʻzgarmasa, yangi takror bir necha oyda yana paydo boʻladi. Tozalash va yangi yozuvni ochishdan oldingi qidiruv bir jarayonning ikki qismi sifatida ishlashi kerak.

Avval maʼlumotni bir shaklga keltirish

Solishtirishdan oldin yozuvlar bir xil shaklga keltiriladi: kichik va katta harf, ortiqcha boʻshliq, qisqartma, sana formati. Microsoft ombor tuzilishi hujjatida bu ishni tozalash qatlamiga beradi. Unda sifat qoidalari, standartlashtirish, takrorlarni olib tashlash va bir nechta manbani birlashtirish bajariladi.

Hujjat tozalash qatlamini xom maʼlumot qatlamidan ajratadi: xom qatlamda takrorlar va xato yozuvlar ataylab saqlanadi, shunda hammasini keyin qayta ishlash mumkin. Demak, tozalash asl yozuvni oʻchirish emas, uning tozalangan nusxasini yaratishdir.

Gipotetik misol. “Botir Aliyev” va “BOTIR ALIYEV” faqat harf registrida farq qiladi, registrni tenglashtirsangiz bu juft darrov topiladi. “Aliev” bilan “Aliyev” esa imloda farq qiladi, shuning uchun oddiy standartlashtirish bunday juftni topmaydi.

Aniq qoida: sodda, lekin moʻrt

Aniq qoidali bogʻlash yozuvlarni ularning identifikatori mos kelganda yoki belgilangan miqdordan oshganda bogʻlaydi. Vikipediyaga koʻra, u umumiy identifikator bor yoki asosiy maydonlar sifatli boʻlsa yaxshi ishlaydi. Maydon boʻsh qolsa, laqab ishlatilsa yoki familiya oʻzgarsa, qoʻshimcha qoidalar kerak boʻladi, ular esa koʻpincha bitta maʼlumot toʻplamiga moslangan va doimiy yangilab turilishi lozim.

Gipotetik misol: kontragentlar soliq toʻlovchi raqami boʻyicha bogʻlanadi. Raqam kiritilgan yozuvlarda bu qoida deyarli xatosiz ishlaydi. Raqam boʻsh yoki xato yozilgan yozuvlarda esa u hech narsa bermaydi. Juft topilmay qoladi.

Aniq qoidaning afzalligi shundaki, uni tushuntirish oson: ikki yozuv nega birlashgani hammaga koʻrinadi. Ehtimoliy usulning afzalligi esa nomukammal maʼlumotda ham ishlashi. Amalda ikkalasi birga qoʻllanadi: avval aniq kalit boʻyicha bogʻlanadi, qolgan yozuvlar ehtimoliy hisobga yuboriladi. Bu tahririyat xulosasi, manbalar tayyor retsept bermaydi.

Ehtimoliy usul: dalillarni qoʻshish

Gʻoya yangi emas. Vikipediya bu sohadagi dastlabki ishlar sifatida 1946 yilda Dunn va 1959 yilda Newcombe nomlarini keltiradi. Newcombe va hammualliflarning 1959 yilgi maqolasi Science jurnalida chiqqan va hayotiy voqealar yozuvlarini avtomatik bogʻlashga bagʻishlangan. 1969 yilda Fellegi va Sunter usulni nazariya shaklida asosladi.

Mohiyati sodda: har maydon dalil beradi, lekin dalillarning kuchi turlicha. Ikki yozuvda tugʻilgan sana mos kelsa, bu jinsi mos kelganidan koʻra kuchliroq dalil, chunki sanani tasodifan topish qiyin. Avstraliya statistika byurosi buni ikki ehtimol bilan tavsiflaydi: bir kishining ikki yozuvida maydon mos kelish ehtimoli va ikki boshqa kishida tasodifan mos kelish ehtimoli. Ikki ehtimol nisbatining logarifmi maydonning ballini beradi, ballar esa qoʻshiladi.

Buyuk Britaniya Adliya vazirligining ochiq dasturi Splink shu modelga tayanadi. Uning tavsifida tugʻilgan sana mos kelishi jinsning mos kelishidan koʻproq narsani bildiradi, manzil kodining mos kelmasligi esa kuchsiz dalil, chunki odamlar uy almashtiradi.

Quyidagi jadval gipotetik ehtimollar bilan hisoblangan namuna. Ball ikkilik logarifm asosida olingan, bu ABS hujjatidagi usulga mos. Hisoblash qoʻlda ham mumkin.

Gipotetik ehtimollar. Usul: ABS axborot hujjati.
MaydonBir kishida mos kelish ehtimoliTasodifan mos kelish ehtimoliMos kelsa ballMos kelmasa ball
Tugʻilgan sana0,950,003+8,3−4,3
Ism0,900,01+6,5−3,3
Telefon0,800,001+9,6−2,3
Jins0,990,5+1,0−5,6

Ikki juftni solishtiring, hisob oddiy. Birinchisida sana, ism va jins mos, telefon mos emas: 8,3 + 6,5 − 2,3 + 1,0 = 13,5. Ikkinchisida sana, telefon va jins mos, ism mos emas: 8,3 − 3,3 + 9,6 + 1,0 = 15,6. Jinsning mos kelishi deyarli dalil bermaydi, mos kelmasligi esa juftni qattiq zaiflashtiradi. Amalda bu shuni bildiradi: dastur tugʻilgan sana va telefon mos kelgan, ismi esa biroz farq qilgan juftni birlashtiradi, faqat ismi mos kelib, qolgan maydonlari mos kelmagan juftni esa umuman birlashtirmaydi, chunki uning yigʻindisi manfiy chiqadi.

Ballarni qoʻshish oddiy, lekin bu usul maydonlar bir-biriga bogʻliq emas deb faraz qiladi. Amalda telefon va manzil koʻpincha birga oʻzgaradi, shuning uchun yigʻindi dalilni baʼzan ortiqcha koʻrsatishi mumkin va chegarani ehtiyotkorlik bilan tanlash kerak. Bu tahririyat izohi.

Qaror chegaralar bilan qabul qilinadi. Vikipediya qoidani shunday bayon qiladi: yuqori chegaradan oshgan juftlar bogʻlangan, past chegaradan pastlari bogʻlanmagan deb hisoblanadi, oradagilar qoʻlda koʻrib chiqiladi. Chegaralarni 5 va 15 deb olsak, ikkinchi juft avtomatik birlashadi, birinchisi odamga yuboriladi.

Fellegi va Sunter bu qoida berilgan xato chegarasida qoʻlda koʻriladigan juftlar sonini eng kam qilishini koʻrsatgan. Xato ikki xil boʻladi: notoʻgʻri bogʻlash va topilmay qolgan juft. Yuqori chegarani koʻtarsangiz notoʻgʻri bogʻlash kamayadi, lekin topilmay qolganlar koʻpayadi. Chegarani tanlash texnik emas, biznes qarori.

Juftlarni cheklash: nega hamma bilan hamma solishtirilmaydi

Har yozuvni har yozuv bilan solishtirish juda tez ogʻirlashadi. Ikki million yozuvli ikki fayl taxminan trillion juft beradi. Shu sababli faqat tanlangan maydonda mos tushgan yozuvlar solishtiriladi, bu usul bloklash, inglizcha blocking deyiladi.

Bloklashning kamchiligi ham bor: tanlangan maydonda farq qilgan haqiqiy juftlar umuman solishtirilmaydi. Shuning uchun jarayon bir necha bosqichda, har gal boshqa maydon bilan oʻtkaziladi. ABS ham ehtimollarni har bosqich uchun alohida hisoblaydi. Splink dasturi shu usulni oʻn millionlab yozuvli maʼlumotlarga qoʻllaydi.

Gipotetik hisob. 100 000 yozuvli bazada har yozuvni har biri bilan solishtirsangiz, taxminan 5 milliard juft hosil boʻladi. Yozuvlar tugʻilgan yil boʻyicha 80 ta teng blokka boʻlinsa, har blokda taxminan 1 250 yozuv boʻladi va jami taxminan 62 million juft qoladi, yaʼni 80 baravar kam. Bloklash maydoni sifatida tugʻilgan yilni olsak, yili xato yozilgan yozuv boshqa blokka tushadi. Bunday yozuv birinchi bosqichda hech qachon oʻz juftiga duch kelmaydi. Ikkinchi bosqichda telefonning oxirgi raqamlari olinsa, bunday juft topilishi mumkin.

Bloklash maydonini tanlash ham muhim: tugʻilgan yil kabi barqaror maydon bloklarni teng qiladi, familiyaning bosh harfi kabi tez-tez uchraydigan belgi esa bitta blokni juda katta qilib qoʻyadi va tezlashtirish foydasini yoʻqotadi. Bu tahririyat izohi.

Mahsulot takrorlari: nomdan koʻra xususiyatlar

Mahsulotni takrorlash mijozga oʻxshamaydi, chunki nom koʻpincha bir xil, farq esa hajm, rang yoki qadoqda yashiringan. “Choy qora 100 g” va “Qora choy, 100 gr” bitta mahsulot boʻlishi mumkin. “Choy qora 100 g” va “Choy qora 200 g” esa ikki xil mahsulot.

Shu sababli mahsulotda nomni xususiyatlardan ajratib solishtirish maʼqul: hajm, oʻlchov birligi, qadoq turi, ishlab chiqaruvchi alohida maydonda turadi. Agar GTIN yozilgan boʻlsa, uni aniq qoida sifatida ishlatish mumkin, chunki GS1 tizimida har mahsulot varianti va qadoq darajasi oʻz GTINini oladi. Bu tahririyat fikri, kodlash qoidalari alohida maqolada koʻrib chiqilgan.

Topilgan juftni qanday birlashtirish

Birlashtirish alohida masala. Microsoft Purview hujjati MDM jarayonida koʻchirilgan maʼlumotni birlashtirish, tozalash va standartlashtirish, keyin oltin yozuvlar toʻplamini tuzish ketma-ketligini beradi. Quyidagi uch qoida tahririyat taklifi, lekin ular shu ketma-ketlikka mos keladi.

  • Qaysi yozuv asosiy boʻladi: odatda eng toʻliq yoki rasmiy hujjatga eng yaqini.
  • Har maydon qayerdan olinadi: nom buxgalteriyadan, telefon esa eng yangi yozuvdan.
  • Asl yozuvlar bilan aloqa qanday saqlanadi: oʻchirilmaydi, umumiy kod bilan bogʻlanadi.

Yana bir ogohlantirish bor. Microsoft ombor xizmatida bir xillik cheklovi tekshirilmaydi, shuning uchun takror yozuvni topish va uning keyingi qatlamga oʻtishini toʻxtatish yuklash mantigʻining ishi. Demak, omborga olib kelish takrorlarni oʻzi yoʻqotmaydi, buni alohida qoida bajaradi.

Notoʻgʻri birlashtirish xavfi

Ikki xil kishi bitta yozuvga qoʻshilsa, ularning buyurtmalari va qarzlari aralashadi. Takrorni topmay qolish noqulay, notoʻgʻri birlashtirish esa xatoni yashiradi: ikki odamning tarixi aralashib ketadi va uni keyin ajratish qiyin. Shu sababli ishonchsiz juftlarni avtomatik birlashtirmagan va asl yozuvlarni saqlagan maʼqul. Bu tahririyat fikri, chunki manbalar bu masalada tayyor qoida bermaydi.

Amalda nima qilish mumkin

Quyidagi qadamlar manbalardan chiqarilgan tahririyat xulosasi.

  1. Bazadan 100 ta tasodifiy yozuvni oling va qoʻlda takrorlarni qidiring, bu orqali muammo hajmini baholang.
  2. Standartlashtirish qoidalarini yozing: harf registri, boʻshliq, sana va telefon shakli.
  3. Aniq qoida bilan boshlang: soliq toʻlovchi raqami yoki telefon mos kelgan juftlarni toping.
  4. Qolganini ikkiga ajrating: ishonchli juftlar va shubhali juftlar, shubhalilarni odam koʻrib chiqsin.
  5. Birlashtirishdan oldin asl yozuvlarning nusxasini saqlang va natijani bir necha oyda qayta tekshiring.

Tahririyat fikri: tozalash bir martalik ish emas, chunki yangi yozuv har kuni kiritiladi va yangi takror ham har kuni paydo boʻladi, shu sababli solishtirish qoidasi kartochka ochish jarayonining ichiga qoʻyilgani, yaʼni kiritish paytida dastur oʻxshash yozuvni koʻrsatgani maʼqul.

Manbalar haqida. Fellegi va Sunter hamda Newcombe maqolalarining toʻliq matni ochilmadi, ularning bibliografik maʼlumoti Crossref yozuvlari bilan tasdiqlandi, mazmuni esa ABS hujjati va Vikipediya maqolasi orqali berildi. Ballar jadvalidagi ehtimollar va chegaralar gipotetik. Microsoft hujjatlari sotuvchining mahsulot hujjatlari. Vikipediya maqolasi yordamchi manba.
Oddiy tilda yakun

Takrorlarni topish aniq qoidadan boshlanadi, aniq kalit boʻlmasa ehtimoliy hisobga oʻtadi. Ikkala holatda ham ishonchsiz juftni odam koʻradi va asl yozuv saqlanadi. Tozalash bir martalik emas, yangi yozuv ochish jarayonining bir qismi.

Asosiy atamalar

Takror yozuv
Bitta mijoz yoki mahsulotning bazada ikki marta yoki undan koʻp yozilgani.
Yozuvlarni bogʻlash
Turli yozuvlar bitta obyektga tegishli ekanini aniqlash ishi.
Aniq qoida
Identifikator mos kelsa yozuvlarni bogʻlaydigan sodda qoida. Kalit boʻsh boʻlsa ishlamaydi.
Ehtimoliy usul
Har maydonning mos kelishi dalil sifatida hisoblanadigan va dalillar qoʻshiladigan usul.
Ball
Maydonning mos kelishi yoki kelmasligi bergan dalilning kuchini bildiruvchi son.
Chegara
Ballning shunday qiymati, undan yuqorisida juft birlashadi, pastida alohida qoladi.
Bloklash
Faqat tanlangan maydonda mos tushgan yozuvlarni solishtirish, shunda juftlar soni kamayadi.
Standartlashtirish
Yozuvlarni bir xil shaklga keltirish: harf registri, sana, telefon, qisqartma.
Qoʻlda koʻrish
Dastur ishonchli qaror qila olmagan juftni odam tekshirishi.
Oltin yozuv
Birlashtirilgan yozuvlardan hosil boʻlgan yagona ishonchli yozuv.

Manbalar

Maqola quyidagi manbalarga tayanadi:

#avtomatlashtirish#dublikat#yozuvlarni_boglash#malumot_tozalash#fellegi_sunter#record_linkage#malumot_sifati#mdm#takror_yozuv