| --- |
| inference: false |
| pipeline_tag: sentence-similarity |
| language: |
| - bg |
| license: mit |
| datasets: |
| - oscar |
| - chitanka |
| - wikipedia |
| tags: |
| - torch |
| --- |
| |
| # ROBERTA BASE (cased) trained on private Bulgarian-English parallel data |
| This is a Multilingual Roberta model. It could be used for creating embeddings of Bulgarian sentences. |
|
|
| 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. |
|
|
| The teacher model is the [USE model by Google](https://aclanthology.org/D18-2029/). |
|
|
| This model is cased: it does make a difference between bulgarian and Bulgarian. |
|
|
| It was trained on private Bulgarian-English parallel data. |
|
|
| Then, it was compressed via [progressive module replacing](https://arxiv.org/abs/2002.02925). |
|
|
| ### How to use |
|
|
| Here is how to use this model in PyTorch: |
|
|
| ```python |
| >>> import scipy |
| >>> import torch |
| >>> from transformers import AutoModel, AutoTokenizer |
| >>> |
| >>> model = AutoModel.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg') |
| >>> tokenizer = AutoTokenizer.from_pretrained('rmihaylov/roberta-base-use-qa-theseus-bg') |
| >>> |
| >>> query = "Какви са съставките на бисквитките?" |
| >>> |
| >>> answers = [ |
| >>> "Бисквитката е печена или варена храна, която обикновено е малка, плоска и сладка.", |
| >>> "Бисквитките обикновено съдържат брашно, захар и някакъв вид масло или мазнини. Те могат да включват други съставки като стафиди, овес, шоколадов чипс, ядки и др.", |
| >>> "В повечето англоговорящи страни, с изключение на САЩ и Канада, хрупкавите бисквитки се наричат бисквити.", |
| >>> "Бисквитите Chewier понякога се наричат бисквитки дори в Обединеното кралство. Някои бисквитки могат също да бъдат назовавани според формата им, като квадратчета с дата или барове.", |
| >>> "Бисквитките или бисквитите могат да се произвеждат масово във фабрики, направени в малки пекарни или домашно приготвени.", |
| >>> "Вариантите за бисквити или бисквити включват сандвич бисквити, като крем крем, Jammie Dodgers, Bourbons и Oreos, с пълнеж от ружа или конфитюр и понякога потопени в шоколад или друго сладко покритие.", |
| >>> "Бисквитките често се сервират с напитки като мляко, кафе или чай.", |
| >>> "Фабричните бисквитки се продават в магазини за хранителни стоки, магазини за удобство и автомати.", |
| >>> "Американската употреба произлиза от холандското koekje „малка торта“, което е умалително от „koek“ („торта“), което произлиза от средно холандската дума „koke“.", |
| >>> "Cookie Monster е Muppet в дългогодишното детско телевизионно шоу Sesame Street, който е най-известен с ненаситния си апетит към бисквитките и известните си фрази за ядене, като „Me want cookie!“, „Me eat cookie!“ (или просто „COOKIE!“) и „Om nom nom nom“ (казано през уста, пълна с храна).", |
| >>> "Домашните бисквитки обикновено се правят от тесто, оформено на малки топчета и пуснато върху лист с бисквитки. След това се пекат във фурна за 5 до 15 минути, в зависимост от рецептата. Температурата на фурната варира от 250 до 350 градуса.", |
| >>> "Повечето бисквитки със среден размер, ако са направени със захар, брашно и скъсяване, ще съдържат между 100 и 200 калории.", |
| >>> ] |
| >>> |
| >>> query_embedding = model.question(**tokenizer.encode_plus(query, return_tensors='pt')).detach().numpy()[0] |
| >>> |
| >>> corpus, corpus_embeddings = [], [] |
| >>> for answer in answers: |
| >>> value_inputs = tokenizer.encode_plus(answer, answer, return_tensors='pt') |
| >>> embedding = model.answer(**value_inputs).detach().numpy()[0] |
| >>> corpus.append(answer) |
| >>> corpus_embeddings.append(embedding) |
| >>> |
| >>> distances = scipy.spatial.distance.cdist([query_embedding], corpus_embeddings, "cosine")[0] |
| >>> |
| >>> results = zip(range(len(distances)), distances) |
| >>> results = sorted(results, key=lambda x: x[1]) |
| >>> |
| >>> print([[corpus[idx].strip(), (1.0 - distance)] for idx, distance in results]) |
| |
| [['Бисквитките обикновено съдържат брашно, захар и някакъв вид масло или мазнини. Те могат да включват други съставки като стафиди, овес, шоколадов чипс, ядки и др.', |
| 0.5449754306536151], |
| ['Фабричните бисквитки се продават в магазини за хранителни стоки, магазини за удобство и автомати.', |
| 0.5049509545814316], |
| ['В повечето англоговорящи страни, с изключение на САЩ и Канада, хрупкавите бисквитки се наричат \u200b\u200bбисквити.', |
| 0.5029661338050297], |
| ['Бисквитките или бисквитите могат да се произвеждат масово във фабрики, направени в малки пекарни или домашно приготвени.', |
| 0.4991678233218718], |
| ['Вариантите за бисквити или бисквити включват сандвич бисквити, като крем крем, Jammie Dodgers, Bourbons и Oreos, с пълнеж от ружа или конфитюр и понякога потопени в шоколад или друго сладко покритие.', |
| 0.49050297326146386], |
| ['Повечето бисквитки със среден размер, ако са направени със захар, брашно и скъсяване, ще съдържат между 100 и 200 калории.', |
| 0.48950875441294106], |
| ['Бисквитката е печена или варена храна, която обикновено е малка, плоска и сладка.', |
| 0.48646309549536737], |
| ['Бисквитите Chewier понякога се наричат \u200b\u200bбисквитки дори в Обединеното кралство. Някои бисквитки могат също да бъдат назовавани според формата им, като квадратчета с дата или барове.', |
| 0.4840599482604815], |
| ['Cookie Monster е Muppet в дългогодишното детско телевизионно шоу Sesame Street, който е най-известен с ненаситния си апетит към бисквитките и известните си фрази за ядене, като „Me want cookie!“, „Me eat cookie!“ (или просто „COOKIE!“) и „Om nom nom nom“ (казано през уста, пълна с храна).', |
| 0.45209677893728206], |
| ['Домашните бисквитки обикновено се правят от тесто, оформено на малки топчета и пуснато върху лист с бисквитки. След това се пекат във фурна за 5 до 15 минути, в зависимост от рецептата. Температурата на фурната варира от 250 до 350 градуса.', |
| 0.4511516464302119], |
| ['Бисквитките често се сервират с напитки като мляко, кафе или чай.', |
| 0.42364528401677803], |
| ['Американската употреба произлиза от холандското koekje „малка торта“, което е умалително от „koek“ („торта“), което произлиза от средно холандската дума „koke“.', |
| 0.3267314582662877]] |
| ``` |
|
|