Paraphrasing is the process of rewording a text, often done for simplification or clarity. Implement a simple C++ console-based application for paraphrasing purposes, in the following manner.
- Create a class Dictionary that contains a list of words represented by class Word.
- A Word has a text (of type String, implemented in Assignment-2) and a list of synonyms, where each synonym is also represented as a (pointer to) Word.
- Dictionary shall load its list of words from a file that contains a list of words and synonyms, where each synonym is separated by a single white space character, as in the following example:
|abandon discontinue vacate absent missing unavailable cable wire
calculate compute determine measure safety security refuge
- Create a class Paraphraser that:
- takes a text as input from the user and tokenize it into words.
- For each word, look it up in the Dictionary and replace it with a corresponding synonym (selected randomly in case of multiple options)
- Produce the output as paraphrased text