rmihaylov commited on
Commit
5c3b1e1
1 Parent(s): 9103920

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +85 -0
README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ >>> ---
2
+ inference: false
3
+ language:
4
+ - bg
5
+ license: mit
6
+ datasets:
7
+ - oscar
8
+ - chitanka
9
+ - wikipedia
10
+ tags:
11
+ - torch
12
+ ---
13
+
14
+ # ROBERTA BASE (cased) finetuned on private Bulgarian STSB, NLI data
15
+
16
+ This model is cased: it does make a difference between bulgarian and Bulgarian.
17
+
18
+ It was finetuned on private Bulgarian STSB, NLI data.
19
+
20
+ Then, it was compressed via [progressive module replacing](https://arxiv.org/abs/2002.02925).
21
+
22
+ ### How to use
23
+
24
+ Here is how to use this model in PyTorch:
25
+
26
+ ```python
27
+ >>> import scipy
28
+ >>> import torch
29
+ >>> from transformers import AutoModel, AutoTokenizer
30
+ >>>
31
+ >>> model = AutoModel.from_pretrained('rmihaylov/roberta-base-nli-stsb-theseus-bg')
32
+ >>> tokenizer = AutoTokenizer.from_pretrained('rmihaylov/roberta-base-nli-stsb-theseus-bg')
33
+ >>>
34
+ >>> def embed(text):
35
+ >>> inputs = tokenizer.encode_plus(text, return_tensors='pt')
36
+ >>> outputs = model(**inputs)
37
+ >>> sequence_output = outputs[0]
38
+ >>> input_mask_expanded = inputs['attention_mask'].unsqueeze(-1).expand(sequence_output.size()).float()
39
+ >>> embeddings = torch.sum(sequence_output * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
40
+ >>> return embeddings.detach().numpy()[0]
41
+ >>>
42
+ >>>
43
+ >>> query_embedding = embed("Какви са съставките на бисквитките?")
44
+ >>>
45
+ >>> questions = [
46
+ >>> "Какво е бисквитка?",
47
+ >>> "От какво са направени бисквитките?",
48
+ >>> "Използват ли в Англия думата бисквитки?",
49
+ >>> "Къде се правят бисквитките?",
50
+ >>> "Какви видове бисквитки има?",
51
+ >>> "Къде човек може да купи бисквитки?",
52
+ >>> "Откъде дойде думата бисквитка?",
53
+ >>> "Кое е чудовището на бисквитките?",
54
+ >>> "Как да си направите бисквитки у дома?",
55
+ >>> "Колко калории има типичната бисквитка?",
56
+ >>> "Какви напитки вървят добре с бисквитките?",
57
+ >>> "Бисквитките наричат ли се също сладки?"
58
+ >>> ]
59
+ >>>
60
+ >>> corpus, corpus_embeddings = [], []
61
+ >>> for question in questions:
62
+ >>> embedding = embed(question)
63
+ >>> corpus.append(question)
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
+ [['От какво са направени бисквитките?', 0.9855158537034977],
74
+ ['Къде се правят бисквитките?', 0.9774093134195002],
75
+ ['Какви видове бисквитки има?', 0.9766014240577192],
76
+ ['Използват ли в Англия думата бисквитки?', 0.9446492058523037],
77
+ ['Кое е чудовището на бисквитките?', 0.9269786184641834],
78
+ ['Къде човек може да купи бисквитки?', 0.9268900421152592],
79
+ ['Какво е бисквитка?', 0.9188155080718263],
80
+ ['Бисквитките наричат ли се също сладки?', 0.9060368627614406],
81
+ ['Откъде дойде думата бисквитка?', 0.9048309659657036],
82
+ ['Какви напитки вървят добре с бисквитките?', 0.890836765118977],
83
+ ['Как да си направите бисквитки у дома?', 0.8878968487540497],
84
+ ['Колко калории има типичната бисквитка?', 0.8652821650136402]]
85
+ ```