beyondguo / genius

💡GENIUS – generating text using sketches! A strong text generation & data augmentation tool.
174 stars 16 forks source link

请问如何继续提高生成质量? #4

Open 5118Python opened 1 year ago

5118Python commented 1 year ago

使用的genius-base-chinese

from transformers import pipeline genius = pipeline("text2text-generation", model=r'genius-base-chinese', device=0) sketch = "学生[MASK]作文[MASK]感受" generated_text = genius(sketch, num_beams=1, do_sample=True, max_length=200)[0]['generated_text'] generated_text = generated_text.replace(' ', '') print(generated_text)

生成结果: 学生在作文中,有感受要先写出自己的理解、感受、观点,再看自己所作用的作品。 学生在阅读和完成作文之间产生了很多的联系和感受 学生在作文中,不仅是感受美国,我觉得也有大量东西可写,感受 学生对自己的作文有丰富的感受,这样就能够给予孩子更深刻的认识和感受 学生通过作文表现出自己对于生活及教育的认识及感受

请问生成质量如果希望提升到更好的效果,可以从哪些方面进行着手改进? 语料规模? 模型规模? 能够具体介绍下?

beyondguo commented 1 year ago

您好,感谢对模型的关注! 看了您给出的生成结果,个人感觉在我预期之内。 如果进一步提升流利程度和内容丰富度的话,可以在自己想测试的领域的数据上继续finetune。

另外,如果希望通过目前的版本获得更好的结果,建议给模型提供更多的信息,比如sketch包含多种粒度的文本,一般来说,信息越多,生成的效果就越好,例如: input: 学生[MASK]写作文[MASK]表达感受[MASK]思想感情[MASK] output: 学生在写作文的过程中,首先要学会表达感受,然后再根据自己的思想感情进行写作,这样才能写出好的作品。

kg-nlp commented 1 year ago

怎么做到一个sketch生成那么多结果的

beyondguo commented 1 year ago

@kg-nlp We use an extreme-and-selective masking strategy during pre-training, which asks the model to reconstruct large parts of text based only on a sketch. For more details please check our paper. Thanks.