O‘zbek tili leksik resurslari Omonimlarni aniqlash tizimi

Tizim qanday ishlaydi

Omonim — yozilishi bir xil, ma’nosi har xil so‘z. Masalan, “yoz” fasl ham, “xat yozmoq” ham bo‘lishi mumkin. Tizim gapdagi bunday so‘zlarni topadi va qaysi ma’noda ishlatilganini kontekstga qarab aniqlaydi.

Tahlil bosqichlari

  1. Omonimni topish

    Gapdagi har bir so‘z lug‘at bilan solishtiriladi. Qo‘shimchalar (masalan, yozdi, otni) morfologik qoidalar orqali ajratilib, so‘zning lug‘at shakli aniqlanadi.

  2. Kontekstni o‘qish

    Topilgan so‘zning atrofidagi to‘rttadan so‘z olinadi. Ma’noni aynan shu yaqin so‘zlar belgilaydi.

  3. Ma’noni tanlash

    Har bir omonim uchun alohida o‘qitilgan model kontekstga eng mos ma’noni tanlaydi va lug‘atdagi izohini qaytaradi.

Modellar

Modellar oldindan o‘qitilgan va server ishga tushganda bir marta yuklanadi. Tahlil paytida ular qayta o‘qitilmaydi.

LinearSVC
Chiziqli tayanch vektorlar usuli. Notebookdagi asosiy model.
LogisticRegression
Logistik regressiya: har bir ma’no uchun ehtimollikni baholaydi.
MultinomialNB
Naiv Bayes: so‘zlar chastotasiga tayanadigan tezkor model.
RandomForestClassifier
Tasodifiy o‘rmon: ko‘plab qaror daraxtlari ovozi.

Dasturchilar uchun API

Tizimni boshqa dasturlarga ulash uchun JSON interfeysi mavjud.

POST /api/analyze/ — gapni tahlil qilish

{
  "sentence": "Yoz kelib, u darsni yozdi.",
  "model": "LinearSVC",
  "all_models": false
}

GET /api/models/ — mavjud modellar ro‘yxati

GET /api/health/ — xizmat holati