I am new to NLP and has a lot of questions. However, I can only put 2 lines in the post, so I wrote my questions on Github. Any help is deeply appreciated!
First of all, I want to mention that paraphrasing is a very complicated task. And when I say paraphrasing, I don’t mean just changing some words with their synonyms.
-
(1) I don’t think there is another better method than finding the optimal number of epochs. If you have this possibility, you could finetune the model with different epochs and compare them.
-
(2) Don’t use negative entries, you don’t need them. Simply remove them from the dataset.
-
(4) It all depends on how fine tuned that model was. If it was fine tune without a prefix, it is generally desirable not to use it. If it was trained with a prefix, you can put it (yes, not always, if the model was fine tuned only on one task, then it will generate that task). And by the way, you can use whatever prefix you want.
-
(5) Choose whichever prefix you want…or even no prefix. But make sure that it is identical for both.
-
(7) Most likely there are too many examples, that’s why you need to put more epochs , not just 2.
-
(10) From my own experience I can tell you… forget about the test set . It is best to include the lines from the test to fine tune. It sounds a bit strange, but that’s just my opinion. The only method of testing a paraphrasing model…is that manual. Yes, this is tough, but to test a model well, this must be done manually. Especially one of paraphrasing…which in the end can give you an unexpected result. In this case neither BLUE nor ROUGE will give you a correct result, because as I said above the result can be unexpected.