Senior CS Project Introduction
A lot of thought has been put into what I want to work on for my senior year Computer Science Comprehensive Project. There are a variety of topics that I am interested within the bounds of Computer Science including both software and hardware, but I decided to work on creating an automatic text summarization tool.
Initially, when I was planning out what exactly I was going to do in creating this tool, I incorporated everything that I wanted to do. In creating my own model from scratch, I wanted to compare the three top models out there created by Google/Stanford, Facebook, and IBM. I would study these models and see their strengths, weaknesses, and methods of overcoming problems introduced with their models.
For example, when many of the models encounter a word that is out of the given vocabulary, the model tends to replace these unknown words with the tag <unk>. While this makes sense, when these tags come up in the summary produced by the model, it can be quite confusing to understand if the model is working as intended especially if that unknown word is a word of importance (i.e. the word "Bitcoin" in an article about Cryptocurrency"). In order to counter this problem, Google/Stanford's model creates a pointer system where when the model encounters an OOV (out of vocabulary) word, instead of replacing that word with <unk>, the model utilizes pointers to just bring the word straight to the summary. This would then create a more flowing summary that can be comprehensible and at most times accurate.
After learning about the features implemented in the 3 models, I would then create my own model from scratch and try to incorporate those features into mine. In other words, I would be combining the 3 top models into 1 and hope that it would perform even better than the ones out there right now. While I do admit that this is overly ambitious especially due to the lack of resources that I have compared to these companies with pretty much unlimited resources and knowledge, I just wanted to see how far I could get in creating my own model. In fact, I wanted to learn the theories behind these models and the features implemented in the models and try to come up with my own solutions.
This wasn't the end of my initial proposal, however. After creating my own model, I wanted to implement this model onto a platform and have it available for public use. Instead of coming up with one platform, I came up with 3: web, mobile, and wearable device. Web was something that I worked with before and I believe it's one of the most easily accessible platforms for the general public so I wanted to put my model onto a website. Mobile app was a platform that I wanted to learn and explore so I thought this would be a good time for me to learn about making mobile apps. And lastly, I wanted to satisfy my needs for working with hardware so I planned a smart wearable glasses (just a regular glasses with a camera glued on that is hooked up to an arduino that would be either attached to the wearer's shoulder or just left dangling or something). This device would have to implement image recognition in extracting text from the images that it will take and then run that through the model somehow.
Looking back at this initial proposal that I wrote at the end of my Junior year, it's clear to me that it was extremely overly ambitious in wanting to do all of these things. But I was just coming up with as many different possibilities for my senior project because there are a countless of different things that I want to do within the bounds of Computer Science. With further discussion with my classmates and professors, I hope to reduce the scope of this project into something that I can finish within the semester.
Comments
Post a Comment