Hi everyone! Welcome back to my blog!
My first week interning at Clarabridge has been quite eventful. I’ve had the opportunity to meet my mentor, Mr. Gade, as well as so many other awesome co-workers. I’ve also had the chance to learn about the fascinating projects they are working on and get started on my own.
In this blog post, I will discuss the following topics:
- Important Change to My Senior Project Topic
- Overarching Framework
- Next Steps
Important Change to My Senior Project Topic
Since Clarabridge’s sentiment analysis model is already extremely adept, my mentors at Clarabridge have instead tasked me with tackling an equally if not more challenging project that Clarabridge has not yet implemented: a humor detection model. Identifying humor adds another skill to Clarabridge’s wide range of offerings. Moreover, key concepts and findings from building this model could be extraordinarily useful in the creation of other models, including irony and sarcasm detection.
To help prepare for the challenges of my project, I completed a Git tutorial, in which I learned how to create commits, add branches, and pull/merge requests with Git & GitHub. I also installed Docker, Postman, Python, VSCode, iTerm2, and tmux. Each of these tools will be extremely useful in completing my project. In addition, I went over the basics of machine learning (types of machine learning systems, challenges of machine learning, etc.) with Mr. Gade, my mentor.
This week, Mr. Gade went over his goals for my senior research project with me. The general framework of my project is shown below. I will first be working on stage one, which involves developing the backend, an engine that recognizes humor through integrating a rule-based and machine learning model. Stage two is creating a frontend with a UI.
For most of this week, I’ve been exploring Docker, Flask, and HTTP. I completed a Docker tutorial, where I learned the advantages of Docker over virtual machines as well as how to build my own image using a Dockerfile, build containers from the command line, and run docker containers. I also learned about docker environment variables (ARG and ENV), shell scripts (ex. entrypoint.sh), and the importance of using Docker volumes and virtual environments.
In addition, I learned about HTTP, more specifically the GET and POST method (their pros and cons), as well as how to use Postman to send POST requests. Completing various Flask tutorials, I was able to run flask to launch a local-host blog website and task master website, built using HTML (base templates and other files), CSS, Python, and SQL, that successfully responded to GET and POST requests.
By running a docker container that exposes a port and launches flask, I currently have running a website that can be accessed with any computer on the Clarabridge network. With any GET or POST request, it can save an uploaded file to a specified directory and return the number of words in a sentence or file.
I look forward to building my humor detection model. To help prepare the pipeline and framework for this relatively large and complex project, I will first be implementing a simpler fruit classification model, using concepts from my word-counting program to create it.
Thanks for reading. Stay tuned for next week’s post!