18-bo‘lim
Qidiruv sifatini baholash
Baholash to'plami tuzish, Recall@k va MRR, xatolarni ko'rib chiqish va chegarani raqam bilan tanlash.
Ushbu bo‘lim mundarijasi
17-bo'limda qidiruv bitta savolda xato qildi. Lekin «bitta savolda» - bu o'lchov emas, kuzatuv. Bu bo'limda uni raqamga aylantiramiz.
Baholash to'plami #
Har savol uchun to'g'ri javob qaysi hujjatda ekanini qo'lda belgilaymiz:
sinov = [
("Ofis soat nechada ochiladi?", 0),
("Ish kuni qachon tugaydi?", 0),
("Tushlik qachon?", 0),
("Ta'til necha kun?", 1),
("Ta'tilga qancha oldin ariza beraman?", 1),
("Kasal bo'lsam nima qilaman?", 2),
# ... jami 13 ta
]
baholash to'plami: 13 ta savol
13 ta savol yozish yarim soat oladi. Lekin usiz siz tizimingiz yaxshilanayotganini bila olmaysiz.
Har o'zgarishdan keyin (boshqa model, boshqa bo'laklash, boshqa k)
shu 13 ta savolni qayta o'tkazasiz va raqamni solishtirasiz.
Savollarni haqiqiy foydalanuvchilar tilida yozing - texnik atamalar bilan emas. «Yo'l puli qoplanadimi?» deb yozing, «Transport kompensatsiyasi siyosati» deb emas.
Ikki o'lchov #
| O'lchov | Nima aytadi |
|---|---|
| Recall@k | To'g'ri hujjat birinchi k ta ichida bormi |
| MRR | To'g'ri hujjat o'rtacha nechanchi o'rinda |
MRR (Mean Reciprocal Rank) - 1/o'rin qiymatlarining o'rtachasi.
Birinchi o'rin 1.0, ikkinchi 0.5, uchinchi 0.33 beradi.
k Recall@k MRR
1 38.5% 0.605
2 61.5% 0.605
3 84.6% 0.605
5 92.3% 0.605
MRR k ga bog'liq emas - u butun tartibni baholaydi, shuning uchun
ustun bo'ylab o'zgarmaydi.
Recall esa keskin o'sadi: 38.5% dan 92.3% gacha.
Bu raqamlar nimani anglatadi #
Recall@1 = 38.5% degani: savollarning uchdan bir qismidagina kerakli hujjat birinchi o'rinda.
Agar 17-bo'limdagi kabi k=2 olsak, 61.5%. Ya'ni har uchta
savoldan bittasida javob promptga umuman tushmaydi.
Recall@5 = 92.3% - deyarli hammasi topiladi.
Xatolarni ko'rib chiqish #
Raqam muammo borligini aytadi, sababini esa xatolarning o'zi:
5-o'rin | 'Ofis soat nechada ochiladi?'
kutilgan: Ish vaqti topilgan: Kasallik varaqasi
3-o'rin | 'Tushlik qachon?'
kutilgan: Ish vaqti topilgan: Ta'til
6-o'rin | 'Yo'l puli qoplanadimi?'
kutilgan: Kompensatsiya topilgan: Masofaviy ish
2-o'rin | 'Kurs to'lovi qoplanadimi?'
kutilgan: O'quv kurslari topilgan: Masofaviy ish
Naqsh ko'rinib turibdi: «Masofaviy ish» hujjati juda ko'p marta noto'g'ri topilyapti.
Sabab - u eng qisqa va eng umumiy hujjat: «Rahbar bilan kelishiladi» kabi ko'p savolga mavzuan yaqin ko'rinadigan jumlalardan iborat.
Ikkinchi naqsh: savol va hujjat boshqa so'zlar ishlatadi. «Yo'l puli» va «Transport xarajati» - bir xil narsa, lekin umumiy so'z yo'q. 15-bo'limda ko'rganimizdek, o'zbekcha uchun model bu bog'lanishni ishonchli qila olmaydi.
PyTorch darsligining 18-bo'limidagi xato tahlili tartibi bu yerda ham ishlaydi:
- Qaysi savollar xato bo'lgan.
- Ular orasida naqsh bormi (bizda: bitta hujjat hammasini tortib oladi).
- Sabab nima - hujjat matnimi, savol tilimi, modelmi.
- Bitta o'zgarish kiriting va o'sha 13 ta savolni qayta o'tkazing.
Bizning holatda birinchi urinish: «Ish vaqti» hujjatiga savollar tilidagi so'zlarni qo'shish - «soat nechada ochiladi», «tushlik».
Chegarani raqam bilan tanlash #
17-bo'limda «chegara qo'ying» deb aytdik. Endi uni o'lchaymiz:
to'g'ri javoblarda o'rtacha ball: 0.605
xato javoblarda o'rtacha ball: 0.487
To'g'ri va xato holatlar ajraladi, lekin ustma-ust tushadi. Demak mukammal chegara yo'q - faqat murosa bor:
chegara 0.35: javob berdi 13/13 | to'g'ri 5 | xato 8 | o'tkazib yuborilgan 0
chegara 0.40: javob berdi 12/13 | to'g'ri 5 | xato 7 | o'tkazib yuborilgan 0
chegara 0.45: javob berdi 11/13 | to'g'ri 5 | xato 6 | o'tkazib yuborilgan 0
chegara 0.50: javob berdi 7/13 | to'g'ri 4 | xato 3 | o'tkazib yuborilgan 1
Bu PyTorch darsligining 18-bo'limidagi precision-recall murosasining o'zi.
0.50 da tizim faqat 7 ta savolga javob beradi, lekin xatolar 8 dan
3 ga tushadi. Buning evaziga bitta to'g'ri javob o'tkazib
yuboriladi.
Recall@1 = 38.5% degani tizim hali ishlab chiqarishga yaroqsiz.
Buni yashirmaslik kerak. Bizning bazamiz atigi 6 ta hujjatdan iborat va model o'zbek tilida kuchsiz (10 va 15-bo'limlar).
To'g'ri yo'l - raqamni e'lon qilish, sababini aytish va yaxshilash rejasini tuzish. «Ishlayapti» deb aytish esa - eng yomon variant.
Tizimni raqamsiz chiqarish, undan ham yomoni, uni noto'g'ri raqam bilan chiqarish (13-bo'limdagi 100% kabi).
Nimani o'lchash kerak #
| Qism | O'lchov |
|---|---|
| Qidiruv | Recall@k, MRR |
| Javob to'g'riligi | Qo'lda baholash yoki boshqa model bilan |
| «Ma'lumot yo'q» holati | Bazada javobi yo'q savollarda to'g'ri rad etadimi |
| Tezlik | So'rovga ketgan vaqt |
| Narx | Har so'rovdagi tokenlar soni |
Birinchi qatordan boshlang: qidiruvni tuzatmasdan qolganini o'lchashning ma'nosi yo'q (17-bo'lim).
- O'z bazangiz uchun 12-15 ta savol yozib, to'g'ri hujjatni belgilang.
- Savollarni foydalanuvchi tilida yozing, hujjat tilida emas.
- Recall@1, @3 va @5 ni hisoblang.
- MRR ni hisoblab, nega
kga bog'liq emasligini tushuntiring. - Xato qilingan savollarni ro'yxatga oling.
- Ular orasida naqsh bor-yo'qligini tekshiring.
- To'g'ri va xato holatlardagi o'rtacha ballni solishtiring.
- To'rt xil chegarada javob berilgan va xato sonini hisoblang.
- O'z masalangiz uchun chegarani tanlab, asoslang.
- Bitta yaxshilash kiritib, o'sha savollarni qayta o'tkazing va farqni yozing.
Xulosa #
- «Bitta savolda xato qildi» - bu kuzatuv, o'lchov emas.
- Baholash to'plami: savol va uning to'g'ri javobi qaysi hujjatda ekani.
- Savollarni foydalanuvchi tilida yozing.
- Recall@k - to'g'ri hujjat birinchi
kta ichidami. - MRR - o'rtacha o'rin; u
kga bog'liq emas. - Bizda Recall@1 atigi 38.5%, Recall@5 esa 92.3%.
- Bu 17-bo'limdagi «
kni oshiring» maslahatining raqamli isboti. - Xatolarda naqsh bor edi: bitta umumiy hujjat ko'p savolni tortib olardi.
- To'g'ri javoblarda o'rtacha ball 0.605, xatolarda 0.487 - ajraladi, lekin ustma-ust tushadi.
- Chegarani ko'tarish xatolarni kamaytiradi, lekin javob berilmaydigan savollar ko'payadi.
Keyingi bo'limda bunday tizimni ishlab chiqarishga chiqarish - narx, tezlik va cheklovlar haqida gaplashamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.