Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,97 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
inference: false
|
3 |
+
pipeline_tag: sentence-similarity
|
4 |
+
language:
|
5 |
+
- bg
|
6 |
+
license: mit
|
7 |
+
datasets:
|
8 |
+
- oscar
|
9 |
+
- chitanka
|
10 |
+
- wikipedia
|
11 |
+
tags:
|
12 |
+
- torch
|
13 |
+
---
|
14 |
+
|
15 |
+
# ROBERTA BASE (cased) trained on private Bulgarian-English parallel data
|
16 |
+
This is a Multilingual Roberta model. It could be used for creating embeddings of Bulgarian sentences.
|
17 |
+
|
18 |
+
Using the ideas from [Sentence-BERT](https://arxiv.org/abs/2004.09813), the training is based on the idea that a translated sentence should be mapped to the same location in the vector space as the original sentence.
|
19 |
+
|
20 |
+
The teacher model is the [USE model by Google](https://aclanthology.org/D18-2029/).
|
21 |
+
|
22 |
+
This model is cased: it does make a difference between bulgarian and Bulgarian.
|
23 |
+
|
24 |
+
It was trained on private Bulgarian-English parallel data.
|
25 |
+
|
26 |
+
Then, it was compressed via [progressive module replacing](https://arxiv.org/abs/2002.02925).
|
27 |
+
|
28 |
+
### How to use
|
29 |
+
|
30 |
+
Here is how to use this model in PyTorch:
|
31 |
+
|
32 |
+
```python
|
33 |
+
>>> import scipy
|
34 |
+
>>> import torch
|
35 |
+
>>> from transformers import AutoModel, AutoTokenizer
|
36 |
+
>>>
|
37 |
+
>>> model = AutoModel.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg')
|
38 |
+
>>> tokenizer = AutoTokenizer.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg')
|
39 |
+
>>>
|
40 |
+
>>> query = "Какви са съставките на бисквитките?"
|
41 |
+
>>>
|
42 |
+
>>> answers = [
|
43 |
+
>>> "Бисквитката е печена или варена храна, която обикновено е малка, плоска и сладка.",
|
44 |
+
>>> "Бисквитките обикновено съдържат брашно, захар и някакъв вид масло или мазнини. Те могат да включват други съставки като стафиди, овес, шоколадов чипс, ядки и др.",
|
45 |
+
>>> "В повечето англоговорящи страни, с изключение на САЩ и Канада, хрупкавите бисквитки се наричат бисквити.",
|
46 |
+
>>> "Бисквитите Chewier понякога се наричат бисквитки дори в Обединеното кралство. Някои бисквитки могат също да бъдат назовавани според формата им, като квадратчета с дата или барове.",
|
47 |
+
>>> "Бисквитките или бисквитите могат да се произвеждат масово във фабрики, направени в малки пекарни или домашно приготвени.",
|
48 |
+
>>> "Вариантите за бисквити или бисквити включват сандвич бисквити, като крем крем, Jammie Dodgers, Bourbons и Oreos, с пълнеж от ружа или конфитюр и понякога потопени в шоколад или друго сладко покритие.",
|
49 |
+
>>> "Бисквитките често се сервират с напитки като мляко, кафе или чай.",
|
50 |
+
>>> "Фабричните бисквитки се продават в магазини за хранителни стоки, магазини за удобство и автомати.",
|
51 |
+
>>> "Американската употреба произлиза от холандското koekje „малка торта“, което е умалително от „koek“ („торта“), което произлиза от средно холандската дума „koke“.",
|
52 |
+
>>> "Cookie Monster е Muppet в дългогодишното детско телевизионно шоу Sesame Street, който е най-известен с ненаситния си апетит към бисквитките и известните си фрази за ядене, като „Me want cookie!“, „Me eat cookie!“ (или просто „COOKIE!“) и „Om nom nom nom“ (казано през уста, пълна с храна).",
|
53 |
+
>>> "Домашните бисквитки обикновено се правят от тесто, оформено на малки топчета и пуснато върху лист с бисквитки. След това се пекат във фурна за 5 до 15 минути, в зависимост от рецептата. Температурата на фурната варира от 250 до 350 градуса.",
|
54 |
+
>>> "Повечето бисквитки със среден размер, ако са направени със захар, брашно и скъсяване, ще съдържат между 100 и 200 калории.",
|
55 |
+
>>> ]
|
56 |
+
>>>
|
57 |
+
>>> query_embedding = model.question(**tokenizer.encode_plus(query, return_tensors='pt')).detach().numpy()[0]
|
58 |
+
>>>
|
59 |
+
>>> corpus, corpus_embeddings = [], []
|
60 |
+
>>> for answer in answers:
|
61 |
+
>>> value_inputs = tokenizer.encode_plus(answer, answer, return_tensors='pt')
|
62 |
+
>>> embedding = model.answer(**value_inputs).detach().numpy()[0]
|
63 |
+
>>> corpus.append(answer)
|
64 |
+
>>> corpus_embeddings.append(embedding)
|
65 |
+
>>>
|
66 |
+
>>> distances = scipy.spatial.distance.cdist([query_embedding], corpus_embeddings, "cosine")[0]
|
67 |
+
>>>
|
68 |
+
>>> results = zip(range(len(distances)), distances)
|
69 |
+
>>> results = sorted(results, key=lambda x: x[1])
|
70 |
+
>>>
|
71 |
+
>>> print([[corpus[idx].strip(), (1.0 - distance)] for idx, distance in results])
|
72 |
+
|
73 |
+
[['Бисквитките обикновено съдържат брашно, захар и някакъв вид масло или мазнини. Те могат да включват други съставки като стафиди, овес, шоколадов чипс, ядки и др.',
|
74 |
+
0.5449754306536151],
|
75 |
+
['Фабричните бисквитки се продават в магазини за хранителни стоки, магазини за удобство и автомати.',
|
76 |
+
0.5049509545814316],
|
77 |
+
['В повечето англоговорящи страни, с изключение на САЩ и Канада, хрупкавите бисквитки се наричат \u200b\u200bбисквити.',
|
78 |
+
0.5029661338050297],
|
79 |
+
['Бисквитките или бисквитите могат да се произвеждат масово във фабрики, направени в малки пекарни или домашно приготвени.',
|
80 |
+
0.4991678233218718],
|
81 |
+
['Вариантите за бисквити или бисквити включват сандвич бисквити, като крем крем, Jammie Dodgers, Bourbons и Oreos, с пълнеж от ружа или конфитюр и понякога потопени в шоколад или друго сладко покритие.',
|
82 |
+
0.49050297326146386],
|
83 |
+
['Повечето бисквитки със среден размер, ако са направени със захар, брашно и скъсяване, ще съдържат между 100 и 200 калории.',
|
84 |
+
0.48950875441294106],
|
85 |
+
['Бисквитката е печена или варена храна, която обикновено е малка, плоска и сладка.',
|
86 |
+
0.48646309549536737],
|
87 |
+
['Бисквитите Chewier понякога се наричат \u200b\u200bбисквитки дори в Обединеното кралство. Някои бисквитки могат също да бъдат назовавани според формата им, като квадратчета с дата или барове.',
|
88 |
+
0.4840599482604815],
|
89 |
+
['Cookie Monster е Muppet в дългогодишното детско телевизионно шоу Sesame Street, който е най-известен с ненаситния си апетит към бисквитките и известните си фрази за ядене, като „Me want cookie!“, „Me eat cookie!“ (или просто „COOKIE!“) и „Om nom nom nom“ (казано през уста, пълна с храна).',
|
90 |
+
0.45209677893728206],
|
91 |
+
['Домашните бисквитки обикновено се правят от тесто, оформено на малки топчета и пуснато върху лист с бисквитки. След това се пекат във фурна за 5 до 15 минути, в зависимост от рецептата. Температурата на фурната варира от 250 до 350 градуса.',
|
92 |
+
0.4511516464302119],
|
93 |
+
['Бисквитките често се сервират с напитки като мляко, кафе или чай.',
|
94 |
+
0.42364528401677803],
|
95 |
+
['Американската употреба произлиза от холандското koekje „малка торта“, което е умалително от „koek“ („торта“), което произлиза от средно холандската дума „koke“.',
|
96 |
+
0.3267314582662877]]
|
97 |
+
```
|