rmihaylov commited on
Commit
fd4d6b4
1 Parent(s): 7a8c1ad

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +97 -0
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
+ ```