--- language: - fa pipeline_tag: text2text-generation datasets: - m0javad/Degarbayan-SC-dataset tags: - paraphrase - paraphrase_generation --- # Degarbayan-SC: A Colloquial Paraphrase Farsi using pre-trained mT5 This is the model of [Degarbayan-SC paper](https://ieeexplore.ieee.org/abstract/document/9959983). You can Finetune this model or similar models using [Github](https://https://github.com/m0javad/Degarbayan-SC). Paraphrase generation and detection are important tasks in Natural Language Processing (NLP), such as information retrieval, text simplification, question answering, and chatbots. The lack of comprehensive datasets in the Persian paraphrase is a major obstacle to progress in this area. Despite their importance, no large-scale corpus has been made available so far, given the difficulties in its creation and the intensive labor required. In this paper, the construction process of Degarbayan-SC uses movie subtitles. As you know, movie subtitles are in Colloquial language. It is different from formal language. To the best of our knowledge, Degarbayan-SC is the first freely released large-scale (in the order of a million words) Persian paraphrase corpus. Furthermore, this newly introduced dataset will help the growth of Persian paraphrase. # Train Dataset ### Access and Download You can find the dataset under this link of [Google Drive](https://drive.google.com/file/d/1-0B-t9MISKmymaBn88ay4EUS1X7awwLL/view?usp=sharing). - Dataset is in .csv format - our dataset has 2 columns the first column is for source sentences and the second is for targets. # Test ```python import torch from transformers import T5ForConditionalGeneration,T5Tokenizer def set_seed(seed): torch.manual_seed(seed) set_seed(42) tx2tx_model = "m0javad/Degarbayan-SC" model = T5ForConditionalGeneration.from_pretrained(tx2tx_model) from transformers import T5ForConditionalGeneration,AutoTokenizer tokenizer = AutoTokenizer.from_pretrained(tx2tx_model) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print ("device ",device) model = model.to(device) #get the sentences and see how this Network works sents=["first sentence","second sentence",...] w = 0 for sentt in sents: text = "paraphrase: " + sentt max_len = 100 encoding = tokenizer.encode_plus(text,padding='longest', return_tensors="pt") input_ids, attention_masks = encoding["input_ids"].to(device), encoding["attention_mask"].to(device) # set top_k = 50 and set top_p = 0.95 and num_return_sequences = 3 beam_outputs = model.generate( input_ids=input_ids, attention_mask=attention_masks, do_sample=True, max_length=120, top_k=120, top_p=0.98, early_stopping=True, num_return_sequences=1 ) print ("\nOriginal sentence: ") print (sentt) print ("\n") print ("Paraphrased sentences: ") final_outputs =[] for beam_output in beam_outputs: sent = tokenizer.decode(beam_output, skip_special_tokens=True,clean_up_tokenization_spaces=True) if sent.lower() != sentt.lower() and sent not in final_outputs: final_outputs.append(sent) for i, final_output in enumerate(final_outputs): print("{}: {}".format(i, final_output)) ``` # citation ``` @misc {mohammadjavadaghajani_2024, author = { {MohammadJavadAghajani} }, title = { Degarbayan-SC (Revision 6de2b06) }, year = 2024, url = { https://huggingface.co/m0javad/Degarbayan-SC }, doi = { 10.57967/hf/1774 }, publisher = { Hugging Face } } ``` # contact mjaghajani.ai@gmail.com