I originally belong to Computer Vision world. Recently I worked on Scene Understanding. There, I accept an image and generate a sentence explaining the contents of the scene. Now, my professor wants me to generate an essay for a scene.

As per my literature survey, this is not a very easy task to do. So I am completely confused with what should be the approach.

I came across Automatic Essay Grading systems, which break down essay using Latent Semantic Analysis. I am thinking of generating reverse approach:

  1. From a set of keywords (bag-of-words), form a "random" Entropy Matrix
  2. Generate a training set to have a Entropy_Matrix: Essay
  3. Train a system (may be Neural_Net)

But I am not sure what would be representation of essay? I mean how would I generate a training set's output entity?

So please help me find the answers to following questions:

a. Is my approach correct in targeting the problem? If yes, how may I further create a concrete plan?

b. What other parallel approaches could be taken into consideration?

My professor thinks this can be achieved in couple of weeks time, for a constrained "context".(Essay is supposed to have a context, let's say "nature" and "beach" are only two contexts to start with) I strongly disagree with him. If you could share written evidences of your view, it would further help me in coming up with a time-frame.

Your help is already appreciated

  • 2
    Although @Adel provided a lot of helpful points, this question is too broad for SO, in my opinion. I recommend it be closed, and specific points should be re-asked.
    – Adam_G
    Mar 23, 2016 at 17:51

1 Answer 1


At first let's review your method: You are going to generate an essay based on semantically related words, that's not enough for an essay to be coherent. It would be context-free grammar. Within the scope of CFG: Yes, you can and as your professor mentioned it only takes several weeks (if you need to prepare noun list, programming issues etc.). A well known example of this method is SCIgen By Jeremy Stribling et al.

As you specifically mentioned ...for a constrained "context" which I presume you want an essay to be meaningful not just gibberish generated by algorithms then you should consider other methods like N-gram based text generation and Neural network

In conclusion, to answer question (a) I must say what is your definition of "correct"? by all means it's a working method but is it the best-working method? or the most efficient? You can't say, currently there are some better methods for generating meaningful textual data; For CFG this is an approach that works.

For a general plan regarding CFG you must first choose your subject, Nature or beach; what are specific vocabulary related to these essays? Simple analyze those specific essays by programs like AntConc and Wordsmith add them to a list (By the way you can use the data in SCIgen's Github page at here). write the code in a language you're familiar with. There you go.

For [deep] Neural-network or N-gram models you need a large corpus of essays (specially for DNN and NN you need very large corpora) and analyze them by code like this which is python.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.