Barcha postlar
14 daqiqa o‘qish

Telegram guruhida so‘zlar bo‘yicha filtrni qanday sozlash kerak

Bot kerakli soʻzlar uchragan xabarlarni oʻchiradi. Qoidani bir necha soʻzdan qanday yigʻish, sinonim va istisnolar qoʻshish hamda yoqishdan oldin tekshirish.

Ertami-kechmi har qanday tirik chatda bir xil narsa takrorlana boshlaydi: “shaxsiyga yozing”, “akkaunt sotiladi”, kripto ayirboshlash e’lonlari. Buni qo‘lda tozalash charchatadi, tunu kun moderator saqlashning esa hojati yo‘q — bunday reklama va spamning uddasidan so‘zlar bo‘yicha filtr chiqadi: kerakli so‘zlar uchragan xabarlarni botning o‘zi o‘chiradi.

Scarabeus’da bu filtr iboralar moderatsiyasi deb ataladi. Sun’iy intellekt qoidalaridan farqli o‘laroq, bu yerda taxmin yo‘q: qoida xabardagi so‘zlarni topdi yoki topmadi. Shu sababli iboralar ifodalar oldindan aytib bo‘ladigan va xato qimmatga tushadigan joylarga mos keladi.

Konstruktor bir-biriga bog‘langan fragmentlar to‘plamiga o‘xshaydi. Quyida har bir bog‘lanish nimani anglatishi, ular qanday birikishi va nega o‘sha qoida ba’zan siz kutgandan boshqacha ishlashi haqida. “Ushlaydi” va “o‘tkazib yuboradi” degan barcha natijalar botning ichida ishlaydigan mexanizmning aynan o‘zida o‘lchandi.

Telegram guruhida taqiqlangan so‘zlar qayerda sozlanadi#

Moderatsiya bo‘limi → “Iboralar moderatsiyasi” kartasi. Butun blokni yoqib-o‘chiradigan tugmacha kartaning o‘zida turadi, “Sozlash” tugmasi esa qoidalar to‘plamlarini ochadi.

Moderatsiya bo‘limidagi “Iboralar moderatsiyasi” kartasi

Kartadagi qisqacha ma’lumot nechta to‘plam va qoida yoqilganini hamda nechta to‘plamda jazolar hali belgilanmaganini darhol ko‘rsatadi.

Qoidalar to‘plamlar ichida yashaydi. To‘plam — mavzuli to‘da: “Kripto”, “Kanal reklamasi”, “So‘kish”. Bu bo‘linish bezak uchun emas: jazolar zanjiri to‘plamga tegishli, shuning uchun reklama va haqorat turlicha jazolanishi va qoidabuzarlik hisoblagichlarini aralashtirmasligi mumkin.

Birinchi qoidani qanday yig‘ish kerak#

To‘plam ichida “Qoida qo‘shish” tugmasini bosing. Qoida ikki xil fragmentdan yig‘iladi:

  • ibora — xabarda qidiriladigan aniq so‘zlar;
  • son — raqamlarning istalgan ketma-ketligi, “istalgan son” ko‘rinishida chiqadi.

Qo‘shni fragmentlar orasida doim bog‘lanish turadi — YOKI yoki VA. “Fragment qo‘shish” tugmasi keyingi bo‘lakni qo‘shadi, “Guruhlash” esa qo‘shni fragmentlarni bitta guruhga birlashtiradi.

Qoida muharriri: “buy YOKI sell” guruhi, masofasi 10 bo‘lgan VA bog‘lanishi va “crypto” iborasi

Muharrirning tepasida doim oldindan ko‘rish osilib turadi — u qoida aslida qanday o‘qilishini ko‘rsatadi.

Misol uchun “Kripto” to‘plamini olaylik: stol o‘yinlari haqidagi chatda valyuta ayirboshlash e’lonlari keraksiz. Eng oddiy ishlaydigan qoida — bitta ibora:

U to‘g‘ridan-to‘g‘ri e’lonlarni ushlaydi va boshqacha ifodalangan hamma narsani o‘tkazib yuboradi. Konstruktor kerak bo‘ladigan joy shundan keyin boshlanadi.

VA — ikkala qism ham xabarda bo‘lishi kerak#

VA bog‘lanishi matnda ikkala fragment ham uchrashi kerakligini bildiradi. Bog‘lanish yonida “n tagacha belgi” maydoni paydo bo‘ladi — ular orasidagi eng katta masofa.

  • Ushlaydi: “swap usdt at a good rate”.
  • Ushlaydi: “usdt for swap” — qat’iy tartibsiz qaysi so‘z birinchi kelishining ahamiyati yo‘q.
  • O‘tkazib yuboradi: “swap stickers happens every friday at our board game club, and questions about usdt belong in another chat” — so‘zlar orasida 40 belgidan ko‘p.

YOKI — qismlardan istalgani yetarli#

YOKI bog‘lanishi qo‘shni qismlardan hech bo‘lmaganda bittasi topilsa ishlaydi:

  • Ushlaydi: “buying a couch” — YOKI so‘zlardan bittasidan boshqa hech narsa talab qilmaydi, shu bois bunday qoida juda keng.
  • O‘tkazib yuboradi: “trading cards”.

Muhim nozik jihat: YOKI VA’dan kuchliroq bog‘laydi. Mana shu qoida:

“swap yoki p2p — va yonida usdt” deb o‘qiladi, “yo swap, yo usdt yonidagi p2p” deb emas. Ochiq yozilganda o‘sha bog‘lanish shunday ko‘rinadi:

  • O‘tkazib yuboradi: “swap stickers” — “swap” so‘zi yolg‘iz o‘zi hech narsani ushlamaydi, unga ham yaqin atrofda “usdt” kerak.
  • Ushlaydi: “p2p usdt” va “swap usdt”.

Agar boshqacha guruhlash kerak bo‘lsa, qismlarni “Guruhlash” tugmasi bilan ajrating: u holda avval guruh ichidagi moslik qidiriladi, uning natijasi esa qolgan fragmentlar bilan bog‘lanadi. Bitta qoidada bir nechta guruh bo‘lishi mumkin, ammo guruh ichidagi guruhga yo‘l qo‘yilmaydi.

Son — istalgan raqamlar#

“Istalgan son” fragmenti raqamlarning har qanday ketma-ketligi o‘rniga qo‘yiladi: summalar, miqdorlar, raqamlar. U so‘zlar oldindan aytib bo‘ladigan, raqamlar esa noaniq bo‘lgan joyda kerak:

  • Ushlaydi: “selling for 500”, “giving away 2 pieces”.
  • O‘tkazib yuboradi: “selling advice” — unda raqam yo‘q.

“n tagacha belgi”: ikkita tuzoq#

Birinchisi: 0 “chegarasiz” degani, “yonma-yon” degani emas. Bu eng ko‘p uchraydigan xato. 0 qo‘yilsa, fragmentlar shunchaki xabarning biror joyida uchrashsa bas — hatto biri birinchi, ikkinchisi oxirgi qatorda bo‘lsa ham.

Ikkinchisi: masofa bo‘shliqlari allaqachon olib tashlangan matn bo‘yicha hisoblanadi.

  • Ushlaydi: “notcrypto”, “not crypto” va “not crypto” — bo‘shliqlar tekshiruvdan oldin yo‘qoladi, demak uchala holatda ham masofa nolga teng.

Shu sababli cheklov ko‘zga tashlanganidan ancha kengroqni qamrab oladi: bo‘shliqsiz 40 belgi — taxminan olti-yetti so‘z.

Qat’iy tartib#

Odatda VA bog‘lanishi tartibga qaramaydi — yuqoridagi “usdt for swap” misolidagidek. “Qat’iy tartib” belgisi qismlar matnda chapdan o‘ngga, xuddi shaklda joylashtirilgani tartibida kelishini talab qiladi. Sxemada qat’iy tartib undov belgisi bilan ko‘rsatiladi:

  • Ushlaydi: “buying usdt”.
  • O‘tkazib yuboradi: “usdt buying”.

Qat’iy tartibni butun qoidaga yoki faqat bitta guruhga yoqish mumkin.

Istisnolar#

“Istisno” belgisi fragmentni ishga tushishni bekor qiladigan shartga aylantiradi. Istisno zanjirning oddiy qismi bo‘lib qoladi — boshqalar kabi o‘z bog‘lanishi bilan — va faqat rangi bilan farqlanadi. U aynan nimani bekor qilishi darajaga bog‘liq.

Yuqori darajadagi istisno butun qoidani bekor qiladi. Avval asosiy qism tekshiriladi, agar u mos kelsa-yu, xabarning biror joyida istisno topilsa, qoida ishga tushmaydi. Misol — o‘z e’lonlari jazoga tushmasligi kerak bo‘lgan “Kanal reklamasi” to‘plami:

  • Ushlaydi: “subscribe to the channel”.
  • Istisno bekor qiladi: “subscribe to our channel”.
  • Istisno bekor qiladi: “our channel: subscribe to the channel” — istisno xabarning qayerida uchragani ahamiyatsiz.

Agar “o‘z” variantlari bir nechta bo‘lsa, istisno butun guruhga qo‘yiladi — u holda ulardan istalgani ishga tushishni bekor qiladi:

  • Istisno bekor qiladi: “subscribe to the official channel”.
  • Ushlaydi: “subscribe to the channel”.

Guruh ichidagi istisno faqat o‘sha guruhni o‘chiradi, undan tashqaridagi qolgan YOKI shoxlari ishlashda davom etadi. Bu amalda qanday ko‘rinishi quyidagi birikmalar bo‘limida.

Har bir darajada bitta istisnoga ruxsat beriladi, ichma-ich istisnolar taqiqlangan.

Birikmalar: qismlar birgalikda qanday ishlaydi#

Alohida bog‘lanishlar tushunarli; kutilmagan holatlar ularni birlashtirganda boshlanadi. Aynan birikmalar oddiy suhbatlarga tegmasdan reklama va spamni tozalash uchun kerak. Quyida asosiy birikmalar va qoidaning ularga qanday munosabat bildirishi keltirilgan.

YOKI ichidagi VA’li guruh#

Guruhning o‘zi VA bog‘lanishi bo‘lishi mumkin — u holda u butunligicha YOKI shoxlaridan biriga aylanadi:

  • Ushlaydi: “buying usdt” — guruh ishga tushdi.
  • Ushlaydi: “any p2p here?” — ikkinchi shox ishga tushdi, guruh kerak bo‘lmadi.
  • O‘tkazib yuboradi: “buying a couch” — guruhda “usdt” yetishmadi, “p2p” esa yo‘q.

Uch qismli zanjir#

VA bog‘lanishlarini ketma-ket qo‘yish mumkin, har birining o‘z masofasi bo‘ladi. Qoida faqat barcha qismlar topilgandagina ishga tushadi:

  • Ushlaydi: “selling telegram account”.
  • O‘tkazib yuboradi: “selling an account” — bitta qism yetishmaydi.

VA orqali ikkita guruh#

Guruhlar bir nechta bo‘lishi mumkin — masalan, ikkala tomonda ham sinonimlar:

  • Ushlaydi: “p2p btc”, “swap usdt” — birinchi guruhdagi istalgan so‘z ikkinchisidagi istalganining yonida.
  • O‘tkazib yuboradi: “swap stamps”.

Masofa cheklovisiz qat’iy tartib#

Qat’iy tartib va masofa bir-biriga bog‘liq emas. Nol bilan tartib muhim, oraliq esa emas:

  • Ushlaydi: “swap stickers, and at the very end about usdt”.
  • O‘tkazib yuboradi: “usdt first, swap later”.

Qat’iy tartib faqat guruh ichida#

Tartibni qoidaning qolganini bog‘lamasdan bitta guruhdan talab qilish mumkin:

  • Ushlaydi: “buying usdt”.
  • O‘tkazib yuboradi: “usdt buying” — guruh ichida tartib buzilgan.
  • Ushlaydi: “usdt buying via p2p” — guruh ishga tushmadi, ammo “p2p” shoxi ishladi.

Son birinchi o‘rinda#

Son zanjirning istalgan joyida turishi mumkin. Qat’iy tartib bilan birga bu teskari tartibga tegmasdan “summa, keyin valyuta” ko‘rinishini ushlash imkonini beradi:

  • Ushlaydi: “500 usdt”.
  • O‘tkazib yuboradi: “usdt 500”.

Guruh ichidagi istisno#

Eng nozik holat: istisno faqat o‘z guruhini o‘chiradi, YOKI’ning qo‘shni shoxi esa o‘z hayoti bilan yashaydi:

  • Ushlaydi: “swap usdt” — guruh ishga tushdi, istisno yo‘q.
  • Istisno bekor qiladi: “swap stickers” — guruh o‘chirildi, xabarda boshqa shox ham yo‘q.
  • Ushlaydi: “swap stickers and p2p” — guruh o‘chirildi, ammo “p2p” shoxi o‘zi ishga tushdi.

Qat’iy tartib va istisno#

Istisno tartibda qatnashmaydi: qat’iy tartib asosiy qismlarni tekshiradi, istisno esa butun xabar bo‘ylab qidiriladi:

  • Ushlaydi: “buying usdt”.
  • Istisno bekor qiladi: “buying from you usdt”.

Nega qoida boshqacha ishlaydi: tekshiruvdan oldin matnga nima bo‘ladi#

Bu — asosiy bo‘lim: kutilmagan holatlarning yarmi aynan shu bilan izohlanadi. Qoida ham, xabar ham bir xil ko‘rinishga keltiriladi va faqat shundan keyin solishtiriladi:

  1. matn kichik harflarga o‘tkaziladi — harf katta-kichikligi hech qachon muhim emas;
  2. emojilar o‘chiriladi;
  3. tinish belgilari va ramzlar bo‘shliq bilan almashtiriladi;
  4. harf almashtirish aniqlanadi: alifbolar yoki harflar bilan raqamlar aralashgan so‘zlarda begona belgilar joyiga qaytariladi — “go0ds” “goods” deb o‘qiladi, kirill “а”si bilan yozilgan “cаnal” esa “canal” deb. Raqamlar ketma-ketligiga tegilmaydi, shu bois “100” “100” bo‘lib qoladi — ketma-ket ikki nolli “g00ds” ham o‘zgarmaydi;
  5. barcha bo‘shliqlar o‘chiriladi.

Bundan esda tutishga arziydigan uchta xulosa chiqadi:

  • Qidiruv kichik satr bo‘yicha boradi, so‘z chegaralari yo‘q. ban iborasi “banana” va “urban” ichidan topiladi. Qisqa iboralarni deyarli har doim VA bog‘lanishi bilan aniqlashtirish yoki uzunroqlari bilan almashtirish kerak.
  • Ibora ichidagi bo‘shliq va belgilar xalaqit bermaydi. spam qoidasi “s p a m” va “s.p.a.m” da ham ishlaydi.
  • Faqat emoji yoki tinish belgilaridan iborat ibora hech qachon ishlamaydi — normallashtirishdan keyin undan hech narsa qolmaydi.

Qoida ishga tushishidan oldin uni tekshiring#

Muharrirning pastida “Qoidani tekshirish” kartasi bor. “Tekshirish uchun matn” maydoniga haqiqiy xabarni qo‘ying va “Tekshirish” tugmasini bosing.

Hozir shaklda ochiq turgan qoralama tekshiriladi — qoidani saqlash shart emas. Bu jazo keltirib chiqarmaydi va jurnalga tushmaydi. Javob uch xil bo‘ladi:

  • “Matn moderatsiyadan o‘tmaydi” — qoida ishga tushgan bo‘lardi;
  • “Matn moderatsiyadan o‘tadi” — ishga tushmadi; pastda aynan nima yetishmagani sanab o‘tiladi: “Matnda topilmadi: …”;
  • “Matn moderatsiyadan o‘tadi”, shu bilan birga istisno ajratib ko‘rsatilgan — qoida ishga tushdi, ammo istisno uni bekor qildi.

Ajratib ko‘rsatish matnni allaqachon normallashtirilgan holda ko‘rsatadi: bo‘shliqlarsiz, emojisiz va tinish belgilarisiz. G‘alati ko‘rinadi, buning evaziga bot aynan nimani solishtirayotgani darrov ma’lum bo‘ladi.

“Qoidani tekshirish” kartasi: “sell crypto” matni moderatsiyadan o‘tmaydi

Tekshiruv hech narsani saqlamaydi va hech kimni jazolamaydi — u shunchaki qoida shu matnda ishga tushgan-tushmaganini ko‘rsatadi.

Nega qoida xabarlarni o‘chirmayapti: jazolar to‘plamda belgilanadi#

Jazolar zanjiri faqat to‘plamda belgilanadi: “N ta qoidabuzarlikdan keyin — ogohlantirish, keyingisidan keyin — ovozdan mahrum qilish” va hokazo. Na alohida qoidaning, na butun blokning o‘z zanjiri bor — qattiqlik tayinlanadigan birlik aynan to‘plamdir. Shuning uchun qoidalarni to‘plamlarga taqsimlash kerak: “Kripto”, “Kanal reklamasi” va “So‘kish” turlicha jazolanadi.

“Profanity” to‘plami: ikkita qoida va “jazosiz → ogohlantirish → ovozdan mahrum qilish” zanjiri

To‘plam qoidalari ro‘yxat bo‘lib ko‘rinadi, kartaning pastida esa uning jazolar zanjiri turadi.

Agar to‘plamda jazolar sozlanmagan bo‘lsa, uning qoidalari umuman ishga tushmaydi — va jurnalda bitta ham satr paydo bo‘lmaydi. To‘plam ishlayotganday ko‘rinadi, aslida esa ta’sir qilmaydi. Agar qoida “ushlamayotgan” bo‘lsa, avvalo shuni tekshirish kerak.

Qoida muharriridagi “Alohida qoidabuzarlik hisoblagichi” belgisi bitta qoida qolganlarini o‘z ortidan tortmasligi kerak bo‘lganda kerak bo‘ladi: uning ishga tushishlari alohida sanaladi va to‘plamning umumiy hisoblagichini siljitmaydi. Buning teskari tomoni: belgi o‘chirilganda shu qoidaning to‘plangan hisoblagichi o‘chiriladi va eskalatsiya boshidan boshlanadi.

Nima va qachon tekshiriladi#

  • Xabar matni va mediaga izoh tekshiriladi. Matnsiz xabarlar matn qatlamlariga umuman tegmaydi.
  • Tahrirlangan xabarlar qaytadan tekshiriladi — tuzatish qutqarmaydi.
  • Chat adminlari va oq ro‘yxatdagi ishtirokchilar barcha tekshiruvlardan oldin o‘tkazib yuboriladi: na ishga tushish, na hisoblagich.
  • Qatlamlar navbat bilan boradi: uzunlik → dublikatlar → iboralar → muntazam ifodalar → havolalar. Ishga tushgan birinchi qatlam tekshiruvni yakunlaydi, shuning uchun uzunlik yoki dublikatlar bo‘yicha ushlangan xabar iboralarga yetib bormaydi.
  • Agar bir nechta ibora qoidasi ishga tushgan bo‘lsa, tartib bo‘yicha birinchisi hisobga olinadi — to‘plam ham, demak jazolar zanjiri ham o‘shandan olinadi.

Moderatsiya jurnalida ishga tushish “Iboralar: to‘plam nomi” ko‘rinishida aks etadi; o‘sha yerda qaysi qoida mos kelgani va ishtirokchi eskalatsiyaning qaysi bosqichiga chiqqani ham ko‘rinadi.

Tarif cheklovlari#

Cheklangan tarifda bir vaqtning o‘zida o‘ntadan ko‘p bo‘lmagan ibora qoidasi ishlaydi: to‘plam kartasidagi tugmacha ulardan qaysilari faol ekanini tanlaydi. To‘plamlarning o‘z soni cheklanmagan. Base’da iboralar bo‘yicha cheklov yo‘q, o‘sha yerda muntazam ifodalar va forum mavzulari uchun alohida sozlamalar ham mavjud. Har bir tarifga nima kirishi tariflar sahifasida.

Ko‘p beriladigan savollar#

Ibora qoidalari oddiy taqiqlangan so‘zlardan nimasi bilan farq qiladi?

Taqiqlangan so‘z o‘z-o‘zidan taqiqlanadi. Ibora qoidasi esa bir nechta so‘zning yonma-yon bo‘lishini talab qila oladi, YOKI orqali sinonimlarga yo‘l qo‘yadi, tartibni hisobga oladi va xabarda istisno uchrasa jim turadi. Shu sababli u oddiy suhbatlarga ancha kam tegadi.

Telegram chatida so‘kishni qanday bloklash mumkin?

Alohida to‘plam oching — masalan, “Nomaqbul leksika” — unga yozilish variantlarini YOKI bilan birlashtirgan qoidalarni yig‘ing va to‘plamga jazolar zanjirini tayinlang. To‘plamda jazolar bo‘lmaguncha uning qoidalari ishga tushmaydi.

Nega qoidam hech narsani o‘chirmayapti?

Ko‘pincha to‘plamda jazolar zanjiri sozlanmagan bo‘ladi. Boshqa sabablar: “Iboralar moderatsiyasi” bloki o‘chirilgan; xabarni oldingi qatlam ushlagan — uzunlik yoki dublikatlar; muallif chat admini yoki oq ro‘yxatdagi ishtirokchi bo‘lib chiqqan; Cheklangan tarifda qoida faol o‘nlikka kirmagan.

Bo‘shliqli va harflari almashtirilgan so‘zlar ushlanadimi?

Ha. Tekshiruvdan oldin matndan bo‘shliqlar, emojilar va tinish belgilari olib tashlanadi, so‘z ichiga tiqilgan ortiqcha raqamlar yoki boshqa alifbo harflari esa joyiga qaytariladi. Shuning uchun “s p a m”, “s.p.a.m” va “spam” qoida uchun bir xil narsa.

Surat izohlari va tahrirlangan xabarlar tekshiriladimi?

Ha. Qoidalar xabar matniga va mediaga izohga qaraydi, tahrirlangan xabar esa qaytadan tekshiriladi — tuzatish uni qutqarmaydi.

Qisqacha tekshiruv ro‘yxati#

  • To‘plamga jazolar zanjiri tayinlangan — aks holda qoidalar jim turadi.
  • “Yonma-yon” demoqchi bo‘lgan bo‘lsangiz, “n tagacha belgi” qiymati 0 emas.
  • So‘zlar tartibi muhim bo‘lsa, “Qat’iy tartib” yoqilgan.
  • ban kabi qisqa iboralar “banana”ni ushlamasligi uchun VA bog‘lanishi bilan aniqlashtirilgan.
  • Qoida “Qoidani tekshirish” kartasida haqiqiy xabarda sinab ko‘rilgan.
  • O‘z e’lonlaringiz istisnoga chiqarilgan.

Telegram guruhlarini moderatsiya qilish bo‘yicha boshqa qo‘llanmalar Scarabeus jurnalida.

Keyingi o‘qish