Natural Language Processing

Natural Language Processing was not an area I was particularly interested in since I was quite sure that the area I wanted to pursue was Computer Vision and also because I had some exposure to it and I did not find it as interesting or intuitive in terms of both coding and concepts. But I had to take this module because I did not have another option at the time. Despite the circumstances, I wanted to have a positive outlook towards the subject and not lose motivation.

Topics covered include regular expressions, n-gram model, POS tagging, Markov models, syntactic parsing, word vector models, seq2seq models and attention. The lecture content was interesting enough for me to want to read more and study it but the assignments were very heavy and very little time was given to complete them. The assessment was based on two quizzes and two projects. The two quizzes were based on the first and second half of the lectures. The first quiz was strangely designed with a lot of questions asked from outside the lecture material which we were asked to study so I was not able to do as well. The second quiz was quite simple and I did well in it.

The projects formed the bulk of the coursework for this module. The projects were to be completed in groups of 4-5 students. I made my group with a friend and a three other acquaintances for a total of 5 members. This group was to be maintained for both assignments. For the first assignment, we were given a dataset of food-business reviews and tasked to perform tokenisation, stemming, POS tagging and frequent noun-adjective pair extraction on a set of reviews to get an idea about the businesses. Additionally, we also performed adjective phrase extraction and sentiment analysis on the reviews dataset. Further, writing style analysis was also conducted on randomly crawled web posts.

I worked on the adjective phrase extraction with one other group member. I was more experienced than her in coding as she was not a computer student so I was naturally placed in a position to help and guide her. It went so far that I prepared all the code and gave it to her as a template to use which she only ran a couple of times and got the results. as we were pressed on time, I could not bring this up and spend time teaching or correcting her. She also called me multiple times asking for help to fix minor issues in the code which was very difficult for me to handle since I was also balancing other modules, assignments and FYP work. However, I managed to get through it and we did well for the first assignment.

For the second project, we were tasked to perform word-based language analysis and Named Entity Recognition. I worked together with my friend in the group to perform the NER. This was the very first time we were working together since we did not have many common project-based modules before. So although we had studied together for many modules, we had never teamed up for a project before. Despite that, we managed to work well together and successfully completed our section of the project.

This module was quite a competitive one with the quiz performance making up a good part of our final grade. Thus, despite not getting an A grade, I was proud of myself for getting through the module.

Keywords
  • POS Tagging
  • Character and Word-Based Models
  • Named Entity Recognition
  • Python
  • Group Project Experience
More Posts
Courses taken in the same semester or experiences with related concepts