Your feedback for the Report
Your report is considerably shorter than the requested length (3000 words).
Well done to include a short introductory section that builds an appropriate frame for your work, however you could have also included a brief conclusion paragraph, summarising your work and highlighting any key insights.
Always add appropriate captions to figures (you did that), plots and tables.
It is good to see that you are referencing relevant academic literature, however try to adhere to an appropriate citation style (for example Harvard style, check the infoSuss website on StudyDirect).
Always make sure the images you add to the ipython notebook are appropriately sized. Most of your parse trees are much too large, making it hard to read them (also make sure they are high- resolution).
Your descriptions of PoS Tagging and Dependency Parsing are good, although could have been a bit longer and more in-depth. I liked that you used specific examples to support your explanation.
Well done to include all the necessary code to reproduce your results.
It is good to see you are filtering out opinions that do not bear sentiment, such as ¡°main character¡±. However, you could have taken this much further.
Your discussion of how you implemented every individual extension is very short, I was hoping for a more detailed description on how you’ve extended your algorithm to make it work.
Your qualitative analysis of the performance of your opinion extractor on the large Amazon DVD corpus is very good. I liked that you picked a few example sentences and provided a detailed error analysis as to what went wront. However, I was missing a more in-depth discussion on how you would improve the NLP pipeline (PoS Tagger – Dependency Parser – Opinion Extractor) to prevent such problems.
You don’t provide a quantitative analysis of your opinion extractor on the large Amazon DVD corpus. Simply saying it didn’t work on 4 out of 40 sentences is not enough. You need to quantify the nature of the error in more detail and report the performance of your algorithm in terms of standard metrics such as Accuracy, Precision, Recall or F1-Score. Further note, 40 is a tiny sample and is almost certainly not enough to provide a realistic performance estimation.
Your proposal for the website is good, however too vague in certain aspects. Its good to see that you are worrying about the computational efficiency of the website however, you fail to explain in detail how and why MapReduce would be helpful. You also don’t suggest any solutions to why you think extending the PoS Tagger and Dependency Parser to support more languages is difficult and I certainly don’t see why modularising the code is going to help support more languages. Be more specific, if you propose to make the code more modular, say exactly how and what functionality would be modularised. The same goes for your proposal to make the “alogorithm more flexible” – what do you mean by that? How would you do it? Why is more flexibility better? How would you use machine learning techniques to improve your opinion extractor? Are you going to use supervised or unsupervised techniques? How would this help? Furthermore, are the PoS Tagger and Dependency Parser appropriate choices for the target domain, i.e. can they handle informal language and/or incorrect grammar? How would you improve the system?