Update README.md
Browse files
README.md
CHANGED
@@ -49,25 +49,27 @@ inp = tokenizer("I am a boy </s> <2en>", add_special_tokens=False, return_tensor
|
|
49 |
|
50 |
# For generation. Pardon the messiness. Note the decoder_start_token_id.
|
51 |
model.eval() # Set dropouts to zero
|
52 |
-
model_output=model.generate(inp, use_cache=True, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
53 |
# Decode to get output strings
|
54 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
55 |
print(decoded_output) # I am a boy
|
56 |
# Note that if your output language is not Hindi or Marathi, you should convert its script from Devanagari to the desired language using the Indic NLP Library.
|
57 |
# What if we mask?
|
58 |
inp = tokenizer("I am [MASK] </s> <2en>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
59 |
-
model_output=model.generate(inp, use_cache=True, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
60 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
61 |
print(decoded_output) # I am happy
|
62 |
inp = tokenizer("मैं [MASK] हूँ </s> <2hi>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
63 |
-
model_output=model.generate(inp, use_cache=True, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
64 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
65 |
print(decoded_output) # मैं जानता हूँ
|
66 |
inp = tokenizer("मला [MASK] पाहिजे </s> <2mr>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
67 |
-
model_output=model.generate(inp, use_cache=True, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
68 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
69 |
print(decoded_output) # मला ओळखलं पाहिजे
|
70 |
```
|
|
|
|
|
71 |
|
72 |
## Benchmarks
|
73 |
|
@@ -76,13 +78,13 @@ Scores on the `IndicParaphrase` test sets are as follows:
|
|
76 |
Language | BLEU / Self-BLEU / iBLEU
|
77 |
---------|----------------------------
|
78 |
as | 1.66 / 2.06 / 0.54
|
79 |
-
bn | 11.57 / 1.69 /
|
80 |
-
gu | 22.10 / 2.76 /
|
81 |
-
hi | 27.29 / 2.87 /
|
82 |
-
kn | 15.40 / 2.98 /
|
83 |
-
ml | 10.57 / 1.70 /
|
84 |
-
mr | 20.38 / 2.20 /
|
85 |
-
or | 19.26 / 2.10 /
|
86 |
pa | 14.87 / 1.35 / 10.00
|
87 |
ta | 18.52 / 2.88 / 12.10
|
88 |
te | 16.70 / 3.34 / 10.69
|
|
|
49 |
|
50 |
# For generation. Pardon the messiness. Note the decoder_start_token_id.
|
51 |
model.eval() # Set dropouts to zero
|
52 |
+
model_output=model.generate(inp, use_cache=True,no_repeat_ngram_size=3,encoder_no_repeat_ngram_size=3, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
53 |
# Decode to get output strings
|
54 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
55 |
print(decoded_output) # I am a boy
|
56 |
# Note that if your output language is not Hindi or Marathi, you should convert its script from Devanagari to the desired language using the Indic NLP Library.
|
57 |
# What if we mask?
|
58 |
inp = tokenizer("I am [MASK] </s> <2en>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
59 |
+
model_output=model.generate(inp, use_cache=True,no_repeat_ngram_size=3,encoder_no_repeat_ngram_size=3, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
60 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
61 |
print(decoded_output) # I am happy
|
62 |
inp = tokenizer("मैं [MASK] हूँ </s> <2hi>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
63 |
+
model_output=model.generate(inp, use_cache=True,no_repeat_ngram_size=3,encoder_no_repeat_ngram_size=3, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
64 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
65 |
print(decoded_output) # मैं जानता हूँ
|
66 |
inp = tokenizer("मला [MASK] पाहिजे </s> <2mr>", add_special_tokens=False, return_tensors="pt", padding=True).input_ids
|
67 |
+
model_output=model.generate(inp, use_cache=True,no_repeat_ngram_size=3,encoder_no_repeat_ngram_size=3, num_beams=4, max_length=20, min_length=1, early_stopping=True, pad_token_id=pad_id, bos_token_id=bos_id, eos_token_id=eos_id, decoder_start_token_id=tokenizer._convert_token_to_id_with_added_voc("<2en>"))
|
68 |
decoded_output=tokenizer.decode(model_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=False)
|
69 |
print(decoded_output) # मला ओळखलं पाहिजे
|
70 |
```
|
71 |
+
# Note:
|
72 |
+
If you wish to use any language written in a non-Devanagari script (except English), then you should first convert it to Devanagari using the <a href="https://github.com/anoopkunchukuttan/indic_nlp_library">Indic NLP Library</a>. After you get the output, you should convert it back into the original script.
|
73 |
|
74 |
## Benchmarks
|
75 |
|
|
|
78 |
Language | BLEU / Self-BLEU / iBLEU
|
79 |
---------|----------------------------
|
80 |
as | 1.66 / 2.06 / 0.54
|
81 |
+
bn | 11.57 / 1.69 / 7.59
|
82 |
+
gu | 22.10 / 2.76 / 14.64
|
83 |
+
hi | 27.29 / 2.87 / 18.24
|
84 |
+
kn | 15.40 / 2.98 / 9.89
|
85 |
+
ml | 10.57 / 1.70 / 6.89
|
86 |
+
mr | 20.38 / 2.20 / 13.61
|
87 |
+
or | 19.26 / 2.10 / 12.85
|
88 |
pa | 14.87 / 1.35 / 10.00
|
89 |
ta | 18.52 / 2.88 / 12.10
|
90 |
te | 16.70 / 3.34 / 10.69
|