RomanSavitskyi commited on
Commit
136b056
·
verified ·
1 Parent(s): 1c8eab5

Add enhanced model card

Browse files
Files changed (1) hide show
  1. README.md +94 -0
README.md ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: uk
3
+ tags:
4
+ - text-classification
5
+ - ukrainian
6
+ - slang-detection
7
+ - random-forest
8
+ - sklearn
9
+ - enhanced-features
10
+ license: mit
11
+ library_name: sklearn
12
+ ---
13
+
14
+ # Ukrainian Slang Detection Enhanced Model
15
+
16
+ Покращена модель для визначення сленгових слів в українському тексті з розширеним набором лінгвістичних ознак.
17
+
18
+ ## Модель
19
+
20
+ - **Тип**: Random Forest Classifier (sklearn)
21
+ - **F1-Score**: 0.846
22
+ - **Кількість фічей**: 5,395
23
+ - **Навчальних прикладів**: 10,000 (5,000 сленг + 5,000 нейтральні)
24
+ - **Мова**: Українська
25
+
26
+ ## Фічі моделі
27
+
28
+ ### 1. TF-IDF символьні n-грами (2-5)
29
+ - Аналізує послідовності символів для виявлення сленгових патернів
30
+
31
+ ### 2. TF-IDF словесні n-грами
32
+ - Аналізує цілі слова та їх комбінації
33
+
34
+ ### 3. Лінгвістичні ознаки (14 фічей)
35
+ - Довжина слова
36
+ - Повторювані символи
37
+ - Співвідношення голосних/приголосних
38
+ - Наявність цифр та спеціальних символів
39
+ - Сленгові патерни ('жж', 'кк', 'топ', 'лол', тощо)
40
+ - Морфологічні характеристики
41
+
42
+ ## Файли моделі
43
+
44
+ - `enhanced_slang_model.pkl` - повна навчена модель з pipeline
45
+ - `model_metadata.json` - метадані про модель
46
+
47
+ ## Використання
48
+
49
+ ```python
50
+ import joblib
51
+ from huggingface_hub import hf_hub_download
52
+
53
+ # Завантажити модель
54
+ model_path = hf_hub_download(
55
+ repo_id="RomanSavitskyi/ukrainian-slang-detection-enhanced",
56
+ filename="enhanced_slang_model.pkl"
57
+ )
58
+
59
+ model = joblib.load(model_path)
60
+
61
+ # Класифікація
62
+ def predict_slang_enhanced(word):
63
+ pred = model.predict([word])[0]
64
+ prob = model.predict_proba([word])[0]
65
+ slang_prob = prob[1]
66
+ label = "SLANG" if pred == 1 else "NEUTRAL"
67
+ return {"label": label, "score": float(slang_prob)}
68
+
69
+ # Приклад використання
70
+ result = predict_slang_enhanced("кльово")
71
+ print(result) # {"label": "SLANG", "score": 0.84}
72
+ ```
73
+
74
+ ## Покращення порівняно з базовою моделлю
75
+
76
+ - **F1-Score**: 0.846 vs 0.78 (базова)
77
+ - **Фічі**: 5,395 vs 3,000 (базова)
78
+ - **Кращий розпіз повторюваних символів**: "кльововоо", "хахаха"
79
+ - **Розуміння морфології**: українські відмінки та форми
80
+ - **Стійкість до шуму**: менше false positives
81
+
82
+ ## Тестові результати
83
+
84
+ ```
85
+ кльово -> СЛЕНГ (0.840)
86
+ супер -> НЕЙТРАЛЬНЕ (0.460)
87
+ топчик -> СЛЕНГ (0.690)
88
+ книга -> НЕЙТРАЛЬНЕ (0.190)
89
+ хахаха -> СЛЕНГ (0.870)
90
+ ```
91
+
92
+ ## Ліцензія
93
+
94
+ MIT License