I wanted to try building a deep learning model that could take on creative tasks and this seemed to be the perfect opportunity to do just that. The idea itself was pretty silly because I'm pretty sure no one would want to be caught dead using made-up pick-up lines (probably). It's definitely not something I'd build for a usual hackathon.
This a website that serves a model that attempts to generate pick-up lines. The only thing is, it doesn't? It just generates some sort of deep learning goop that came from the lack of data and my lack of awareness about hyperparameter optimization. Some of it's notable pick-up lines are:
- "ice cream ghe me stare for a beause here and erean beaust ancand a conder? I were "
- "pick me up you cabe the think thing"
- "hellomy finicuse craiv sleys. I mone A'pder Nothiuke nagh"
- "yodan! Youd I and r" (this is the closest it got to making a pun)
- "my world the thous so you a wine. I do you the seans know you"
I used HTML, CSS and a little Vanilla JavaScript for the front-end. I used python's tensorflow and ml5.js (with p5.js) for creating and serving the model on the website. I hosted the website using firebase.
- Pick-up lines aren't all that random. They have some intent behind them, and they are pretty brilliant in getting a message across, even if they come off as cheesy, cringey, aggressive or straight-up off-putting. So, randomly generating them using an LSTM would probably not give be able to figure out such creative patterns unless the dataset is huge.
- Unfortunately, most of the sites I scraped data from were not gender neutral, but I did my best to make sure I cleaned all the data that was not inclusive.
- In the end, I could only get around 100Kb (16.6k lines) which isn't much. I would need at least 20x that amount of data to get a decent model.
- I think I spent more time on fixing up the CSS than actually coding stuff lol, and I still couldn't get it completely right. Making websites accessible and responsive is super hard :,)
I'm proud of getting this hack completed. I can't believe I got it up! I didn't even team up with anyone because I thought I would get demotivated in the middle, lose focus and give up, and I didn't want to disappoint anyone :(
There's always a last resort if you don't like any of the alien-esque pick-up lines being generated by this CharRNN mini-monster. "You know, I’m actually terrible at flirting. How about you try to pick me up instead?" On a more serious note, I had a lot of fun creating this, so I would definitely try to make my future hackathon more fun too.
With more time, I'd probably scrape through twitter and some sub-reddits and look for some quality pick-up lines, since having a larger dataset would improve this model a ton. Maybe I'd make a twitter bot that would suggest pick-up lines based on replies it's been @ed in?