Update README.md
Browse files
README.md
CHANGED
@@ -4,4 +4,71 @@ datasets:
|
|
4 |
- davmel/ka_homonym_disambiguation
|
5 |
language:
|
6 |
- ka
|
7 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
- davmel/ka_homonym_disambiguation
|
5 |
language:
|
6 |
- ka
|
7 |
+
---
|
8 |
+
```python
|
9 |
+
import gradio as gr
|
10 |
+
from transformers import pipeline
|
11 |
+
fill_mask = pipeline('fill-mask',
|
12 |
+
model='davmel/ka_homonym_disambiguation_FM',
|
13 |
+
tokenizer='davmel/ka_homonym_disambiguation_FM') # 1788?
|
14 |
+
|
15 |
+
masker = {0: 'თო', 1: 'დაბ', 2: 'კაფე'}
|
16 |
+
|
17 |
+
def getMasked(sent):
|
18 |
+
homonym_forms = [
|
19 |
+
'ბარით', 'ბარიანის', 'ბარზე', 'ბარები', 'ბარისთვისაც', 'ბარებია', 'ბარეთსაც', 'ბარაინში', 'ბარეთმაც',
|
20 |
+
'ბარიანი',
|
21 |
+
'ბარიცაა', 'ბარიდანა', 'ბარიც', 'ბარვაზედ', 'ბარელიც', 'ბარავდი', 'ბარისკაცები', 'ბარვაში', 'ბარვას',
|
22 |
+
'ბარეთისა', 'ბარავოოო', 'ბარისებური', 'ბარებისთვისა', 'ბარისათვის', 'ბარზეა', 'ბარელი', 'ბარშივე',
|
23 |
+
'ბარისაა',
|
24 |
+
'ბარისკენ', 'ბარელებით', 'ბარადა', 'ბარვაა', 'ბარს', 'ბარიო', 'ბარავდეს', 'ბარებმა', 'ბარებით', 'ბარების',
|
25 |
+
'ბარისგან', 'ბარშიო', 'ბარებისკენ', 'ბარიდანაა', 'ბარებინა', 'ბარებისა', 'ბარვისგან', 'ბარვისთან',
|
26 |
+
'ბარავდნენ',
|
27 |
+
'ბარადაც', 'ბარელამდე', 'ბარშიაო', 'ბარადაა', 'ბარითა', 'ბარელებიც', 'ბარელის', 'ბარელებს', 'ბარვის',
|
28 |
+
'ბარელებმა', 'ბარელმა', 'ბარადო', 'ბარებისგან', 'ბარვისას', 'ბარებშია', 'ბარავენ', 'ბარვით', 'ბარიანს',
|
29 |
+
'ბარელებში', 'ბარიცო', 'ბარავდა', 'ბარშია', 'ბარვაზე', 'ბარავთ', 'ბარო', 'ბარელისა', 'ბარაინი',
|
30 |
+
'ბარელისათვის',
|
31 |
+
'ბარელია', 'ბარებშიო', 'ბარის', 'ბარისთვისო', 'ბარებად', 'ბარშიგან', 'ბარებსაც', 'ბარებითდა', 'ბარებზე',
|
32 |
+
'ბარია', 'ბარებიდან', 'ბარისად', 'ბარზეც', 'ბარშიც', 'ბარებითაა', 'ბარად', 'ბარიდანაც', 'ბარისმაგვარ',
|
33 |
+
'ბარში',
|
34 |
+
'ბარებისთვისაც', 'ბართანა', 'ბარშიცაა', 'ბარისვე', 'ბარისთვისა', 'ბარმაც', 'ბარელით', 'ბარვა', 'ბარელებთან',
|
35 |
+
'ბარელებზე', 'ბარისაც', 'ბარისებურ', 'ბარელების', 'ბარიდან', 'ბარისი', 'ბარებმაც', 'ბარივით', 'ბარიანმა',
|
36 |
+
'ბარელისთვის', 'ბარებს', 'ბარ', 'ბარებიც', 'ბარებზეც', 'ბარებისთვის', 'ბარელსაც', 'ბარელები', 'ბარისია',
|
37 |
+
'ბარისპირით', 'ბარაამდეე', 'ბარამდეც', 'ბარი', 'ბარისაკენ', 'ბარელად', 'ბარელ', 'ბარამდე', 'ბარიანად',
|
38 |
+
'ბარებისათვის', 'ბარიანია', 'ბარებში', 'ბართან', 'ბარეთთან', 'ბარისაგან', 'ბარებთაგან', 'ბარისპირის',
|
39 |
+
'ბარზედა',
|
40 |
+
'ბარვაო', 'ბარებშიდაა', 'ბარებსადა', 'ბარელამდეც', 'ბარებითა', 'ბარისა', 'ბარებშიც', 'ბარიდანვე', 'ბარისო',
|
41 |
+
'ბარიდანნ', 'ბარელს', 'ბარელთა', 'ბართა', 'ბართანაც', 'ბარავო', 'ბარისთვის', 'ბარელზეა', 'ბარებსა',
|
42 |
+
'ბარისაო',
|
43 |
+
'ბარებიზე', 'ბარავს', 'ბა���ისმაგვარი', 'ბარებთან', 'ბარებითო', 'ბარსა', 'ბარული', 'ბარსაც', 'საბარო',
|
44 |
+
'ბარებითო',
|
45 |
+
'ბარშიაც', 'ბარობა', 'ბარისას',
|
46 |
+
]
|
47 |
+
new_sent = []
|
48 |
+
wasnt = True
|
49 |
+
for word in sent.split(" "):
|
50 |
+
if word in homonym_forms and wasnt:
|
51 |
+
new_sent.append("[MASK]")
|
52 |
+
# wasnt = False
|
53 |
+
else:
|
54 |
+
new_sent.append(word)
|
55 |
+
return " ".join(new_sent)
|
56 |
+
|
57 |
+
def predict(text):
|
58 |
+
# Mask some words in the input text
|
59 |
+
text_with_mask = getMasked(text)
|
60 |
+
# Use the model to predict the masked words
|
61 |
+
predictions = fill_mask(text_with_mask)
|
62 |
+
# Extract the predicted word and score
|
63 |
+
context = predictions[0]["token_str"]
|
64 |
+
if context == masker[0]:
|
65 |
+
return "ომონიმი გამოყენებულია, როგორც იარაღი"
|
66 |
+
elif context == masker[1]:
|
67 |
+
return "ომონიმი გამოყენებულია, როგორც დაბლობი"
|
68 |
+
else:
|
69 |
+
return "ომონიმი გამოყენებულია, როგორც კაფე"
|
70 |
+
|
71 |
+
# Create the Gradio interface
|
72 |
+
iface = gr.Interface(fn=predict, inputs="text", outputs="text", title="Fill-Mask Model",
|
73 |
+
description="Enter a sentence with a [MASK] token to indicate where the model should fill in the blank. Click 'Submit' to see the model's prediction for the missing word.")
|
74 |
+
iface.launch()
|