Bir mijoz «o'zbekcha» deb yozadi, ikkinchisi «ozbekcha», uchinchisi xuddi shu so'zni ў harfi bilan o'zbek kirillida, telefonida faqat rus klaviaturasi bor to'rtinchisi esa ў o'rniga oddiy «u» bilan kirillda yozadi. Odam uchun bu bitta so'z. Bot uchun esa to'rtta har xil satr. Agar tizimning biror qismi matnni harfma-harf solishtirsa, mijoz «mahsulot topilmadi» degan javob oladi yoki CRMga ikki marta tushadi. Ushbu maqolada ikki yozuv avtomatlashtirishni aynan qayerda buzishini, matnni bir xil shaklga keltirish qatlamini qanday qurishni, javobni qaysi yozuvda berishni va hammasini ishga tushirishdan oldin qanday tekshirishni ko'rib chiqamiz.
Model tushunadi, atrofidagi tizim esa yo'q
Bugungi til modellari o'zbek tilini lotinda ham, kirillda ham, hatto apostrofsiz lotinda ham o'qiy oladi. Agar bot faqat savollarga javob beradigan bitta modeldan iborat bo'lsa, yozuv bilan muammo deyarli bo'lmaydi. Modellar o'zbek tilida umuman qayerda kuchli va qayerda zaif ekanini «O'zbek tilida sun'iy intellekt» maqolasida yozganmiz.
Lekin ishlaydigan bot faqat modeldan iborat emas. Uning atrofida matnni so'zma-so'z solishtiradigan qismlar bor:
- katalog va bilimlar bazasida qidiruv;
- triggerlar va menyu — «xabarda „narx“ bo'lsa, prays-varaqni ko'rsat»;
- CRM — ism, manzil yoki kompaniya nomi bo'yicha dublikatlarni qidirish;
- hisobotlar — qaysi mavzular va so'rovlar ko'p kelayotgani.
Aynan shu yerda «Toshkent», «Tashkent» va kirillda yozilgan Toshkent uchta alohida shaharga, «g'isht», «gʻisht» va «g`isht» esa uchta alohida mahsulotga aylanadi. Xato sezilmaydi: hech kim qidiruv hech narsa topmaganini ko'rmaydi, bot shunchaki «aniqlashtirib bering» deb javob beradi.
Amalda qanday yozilish variantlari uchraydi
| Variant | Misol | Sababi |
|---|---|---|
| Standart lotin | oʻzbek, gʻisht | O'zbek klaviaturasi, rasmiy matnlar |
| Oddiy apostrofli lotin | o'zbek | Messenjerlarda eng ko'p uchraydi |
| Boshqa belgili lotin | o`zbek, o’zbek | Turli klaviaturalar, telefondagi avtoalmashtirish |
| Apostrofsiz lotin | ozbek, gisht | Shoshilish, klaviaturani almashtirishga erinish |
| To'liq o'zbek kirilli | o'zbek, g'isht, qovun — ў, ғ, қ harflari bilan | O'zbek kirill klaviaturasi |
| «Rus» kirilli | xuddi shu so'zlar oddiy u, g, k bilan | ў, қ, ғ, ҳ harflari yo'q — ularning o'rniga eng yaqin rus harflari yoziladi |
Bunga o'zbekcha gap ichidagi ruscha so'zlar («zakaz qilmoqchiman»), lotinda yozilgan ruscha so'zlar («dostavka bormi?») va lotin so'z ichida tasodifan kirill «o» yoki «a» harfi qo'shiladi. Ko'zga farqi ko'rinmaydi, qidiruv uchun esa bu boshqa belgi.
Normallashtirish: qidiruvdan oldin nima qilinadi
Har bir tizim qismini barcha variantlarga o'rgatish shart emas. Matnni qidiruv, triggerlar va CRMga yetib borishidan oldin bitta shaklga keltirish kifoya. Asl xabar o'zgarishsiz saqlanadi — model ham, menejer ham mijoz nima yozganini ko'rishi kerak.
- Apostroflarni birlashtirish. ', `, ’, ʻ va ʼ belgilarining barchasi bitta belgiga almashtiriladi. Qaysi birini tanlash muhim emas, muhimi — katalogda, bazada va kiruvchi xabarlarda bir xil bo'lsin.
- Kirilldan lotinga o'tkazish. Bu yo'nalish teskarisidan ishonchliroq: ў → o', қ → q, ғ → g', ҳ → h, kirill «xa» → x, «sha» va «che» harflari esa sh va ch juftliklariga aylanadi. Murakkab joylar ham bor: kirill «e» so'z boshida va unlidan keyin «ye» bo'ladi, ruscha o'zlashma so'zlardagi «tse» harfi esa goh «s», goh «ts» deb yoziladi — buning uchun o'z so'zlaringiz bo'yicha istisnolar lug'ati kerak.
- Qidiruv uchun «qo'pol kalit». Apostroflar olib tashlanadi, «o'» → «o», «g'» → «g», «қ» → «k», hammasi kichik harflarda. Shunda «Oʻzbekiston», «ozbekiston» va kirillda yozilgan shu so'z bir xil bo'ladi. Bunday kalit ba'zan har xil so'zlarni birlashtirib yuboradi, shuning uchun u nomzodlarni topish uchun ishlatiladi, yakuniy tanlovni esa model yoki aniq solishtirish qiladi.
- «Begona» belgilarni almashtirish. Lotin so'z ichidagi lotin a, e, o, p, c, x harflariga o'xshash kirill harflari lotin harflariga almashtiriladi.
Teskari yo'nalish ko'proq adashadi: «yo'l» kirillda «y + ў + l» deb yoziladi, bitta «yo» harfi bilan emas; «Is'hoq» dagi «sh» esa kirill «sha» harfi emas, «s» va «ҳ». Shuning uchun qidiruv uchun hamma narsani lotinda saqlash qulayroq.
Jarayon → SI nima qiladi → odamga nima qoladi
| Jarayon | SI yoki kod nima qiladi | Odamga nima qoladi |
|---|---|---|
| Xabar ma'nosini tushunish | Model asl matnni istalgan yozuvda o'qiydi | Loglardagi bahsli holatlarni ko'rib chiqish |
| Mahsulot yoki javobni topish | Kod so'rovni normallashtiradi, model nomzodlardan tanlaydi | Sinonimlar va mahsulot nomlari lug'atini yuritish |
| Lidni CRMga yozish | Asl va normallashtirilgan shaklni saqlaydi, dublikatlarni topadi | Shubhali dublikatlarni birlashtirish haqida qaror |
| Mijozga javob berish | Mijoz yozuvida, shablonlar va baza asosida javob beradi | Shablonlarni ikkala yozuvda tasdiqlash |
Bizning kiruvchi xabarlarni tartibli lidlarga aylantiradigan AI-konsultantimiz ham shunday ishlaydi: mijozning erkin matnini model o'qiydi, CRMga esa bir xil shakldagi maydonlar tushadi.
Javobni qaysi yozuvda berish kerak
Eng oddiy va kam adashadigan qoida — mijoz qaysi yozuvda yozgan bo'lsa, o'shanda javob berish. Xabar qisqa bo'lsa («ok», «rahmat»), dialogdagi oldingi xabarlarga qarash kerak. Tarix bo'lmasa — biznes uchun tanlangan asosiy yozuvda javob beriladi.
Mijoz («rus» kirillida yozgan, bu yerda lotinda berilgan): gisht bormi? 500 dona kerak, Chilonzorga
Bot (o'zbek kirillida javob bergan, bu yerda lotinda berilgan): Assalomu alaykum! Ha, g'isht omborda bor. 500 dona uchun narxni va Chilonzorga yetkazib berishni menejerimiz aniqlashtiradi. Qaysi turdagi g'isht kerak — pishgan g'ishtmi yoki blokmi?
Mijoz ў va ғ harflarisiz «rus» kirillida yozdi. Normallashtirish uning so'zini «gisht» kalitiga aylantirdi, qidiruv «G'isht pishgan» mahsulotini topdi. Bot mijoz kabi kirillda, lekin to'g'ri o'zbek kirillida javob berdi. Narxni aytmadi, chunki u hajm va yetkazib berishga bog'liq — bu savolni menejerga topshirdi.
Model ko'rsatmasida ikki narsani aniq yozib qo'ying: bitta javobda ikki yozuvni aralashtirmaslik va mijozning yozilishini tuzatmaslik yoki izohlamaslik.
Ishga tushirishdan oldin tekshiruv ro'yxati
- Katalog va baza bitta lotin yozuviga, bitta apostrof turiga keltirilgan; har bir mahsulotning muqobil nomlari bor.
- Normallashtirish qidiruv, triggerlar va CRM oldida turadi, asl xabar yonida saqlanadi.
- Brendlar, tumanlar, ko'chalar va kirill «tse» va «e» harfli so'zlar uchun istisnolar lug'ati bor.
- 20–30 ta so'rovdan iborat test to'plami tayyor, har biri 4–6 xil yozilishda. Bot barcha variantlar uchun bir xil natija topishi kerak.
- Qidiruv hech narsa topmagan so'rovlar loglarda belgilanadi va har hafta lug'atga qo'shiladi.
Agar ism, telefon va manzillarni qayta ishlasangiz, ma'lumotlarni saqlash talablarini ham tekshiring — bu haqda shaxsiy ma'lumotlar qonuni haqidagi maqola.
Ko'p beriladigan savollar
Model kirillni lotinga o'zi o'girib bera oladimi?
Ha, va bir martalik tarjima uchun bu qulay. Lekin qidiruv va CRM uchun oddiy, oldindan aytib bo'ladigan kod yaxshiroq: u har bir xabarda bir xil, tez va bepul ishlaydi.
Katalogni qaysi yozuvda saqlash kerak?
Bittasida, amalda esa lotinda qulayroq. Javoblar uchun kirill nomlarini odam tekshirgan alohida maydonda saqlash mumkin.
Ovozli xabarlar bilan nima qilish kerak?
Nutqni aniqlash tizimi transkripsiya yozuvini o'zi tanlaydi. Uni ham oddiy matn kabi normallashtirish qatlamidan o'tkazing.
Mahalliy xususiyatlar haqidagi boshqa maqolalar — «O'zbekiston» bo'limida. Botingiz mijozlarni har qanday yozuvda bir xil tushunishini istasangiz, SI-agentlarni qanday qurishimiz bilan tanishing yoki bizga yozing. Narx hajm va ma'lumotlarga bog'liq — birinchi suhbat aynan uni hisoblash uchun.