--- license: mit --- ## Introduction A paraphrase generation model that *attempts* to give you some control over the output text using natural language. You can do this by prepending the following to the input text: ``` Paraphrase: {distance_keyword} changes, {word_length_keyword} input. ``` ### distance_keyword This tells the model how much to change the input text. There are four options: 1. small 2. medium 3. large 4. gigantic ### word_length_keyword: Tells the model how long to make the output text relative to the input. There are three options: 1. reduce 2. match 3. expand If you only want to paraphrase and don't necessarily care about the specifics of the output, you can also prepend "Paraphrase: " alone or skip the prepending all together and just input the text you wish to paraphrase. ## How to use: Initializing model using GPU and Bfloat16 precision: ```python from transformers import pipeline from torch import bfloat16 para_gen = pipeline('text2text-generation', model="imjeffhi/paraphrase_generator", tokenizer="imjeffhi/paraphrase_generator", device=0, torch_dtype=bfloat16) ``` Calling model: ```python options_phrase = "Paraphrase: large changes, match input." input_text = "A paraphrase is a restatement of the meaning of a text or passage using other words." output = para_gen(f"{options_phrase} {input_text}", do_sample=True, top_k=10, num_return_sequences=5) ``` Output: ```python [{'generated_text': 'A paraphrase is a modification of the meaning or expression of a text or passage by using other words.'}, {'generated_text': 'A paraphrase is a continuation of the meaning of a text or a passage using other words.'}, {'generated_text': 'A paraphrase is the restatement of the meaning of a text or other passage containing other words.'}, {'generated_text': 'The paraphrase is a repetition of the meanings of a text or passage using other words.'}, {'generated_text': 'A paraphrase is a continuation of a sentence or passage by using other words.'}] ```