6 ms·
Show HN: See if a movie is happy or sad with sentiment analysis
- eljs 9y agoOP here! I was watching the Stanford NLP classes a while back (https://www.youtube.com/playlist?list=PLiNErZ5Bus8qNxNsFZFkh-9_CzZRW9iH9 https://www.youtube.com/playlist?list=PLiNErZ5Bus8qNxNsFZFkh...) and ended up trying the part about sentiment analysis on srt files. The way it works right is quite primitive but you can still see some "trends" on most movies. If there are any suggestions on how I could make this smarter I would love to hear them!
- sawmurai 9y agoMaybe if you get information about cut frequency you could identify parts that are more actionish / exciting than others.
- sharemywin 9y agohas anyone tried opensubtitles.org just found it on google
- sharemywin 9y agonever mind looks kinda scammy
- icebraining 9y agoNah, it's fine, it tries to push you their downloader, but if you avoid the pitfalls the content is good. I've used it many times over the years.
- vit05 9y agoJust sometimes, because is the only place that has subtitles for some old movies. But I personally prefer Subscene.com.
- curiousgal 9y agoTry http://www.yifysubtitles.com/ http://www.yifysubtitles.com/
- msapaydin 9y agoMaybe you could use RNNs to do the sentiment analysis, either Recurrent or Recursive Neural Networks. Some sample code is available in the book "Tensorflow for machine intelligence" in github.
- AznHisoka 9y agoWhat about a movie lile "Brazil"? would that be considered happy or sad?
- eljs 9y agoI don't know this movie but you can try it out by uploading the movies srt file.
- cholantesh 9y agoBrazil is a dystopian satire. I would wager that GP is asking about scenarios where there is significant ambiguity and/or situational/verbal irony.
- eljs 9y agoI just gave it a try: https://www.crealdo.com/story/movie-sentiment/movies/30 https://www.crealdo.com/story/movie-sentiment/movies/30 Never seen the movie so I can't judge myself.
- blacksmith_tb 9y agoThat seems like a plausible analysis, the movie becomes darker as it proceeds, though there's a false happy ending (which in some cases of ham-fisted editing is the only ending - I saw it aired on network TV in the US this way) followed by a much more somber closing.
- deleted 9y ago[deleted]
- zoidb 9y agoYou should let people see what other people submitted although it's pretty easy by fiddling with the URL. I like seeing the word patterns but I really wonder how well it can detect true sentiment, not an easy thing to do. https://www.crealdo.com/story/movie-sentiment/movies/13 https://www.crealdo.com/story/movie-sentiment/movies/13
- kingkawn 9y agoHorrifying.
- snissn 9y agoWhy does the graph go from green to blue?
- eljs 9y agoGood question, I just thought it looked nice but maybe I shouldn't have
- snissn 9y agoCool! I thought it was an indication of sentiment at first, I was like oh yeah la la land gets sad towards the end. Cool endeavor! Curious if you investigated other libraries or algorithms. have you seen this - i have been playing with it, seems reliable: https://github.com/cjhutto/vaderSentiment https://github.com/cjhutto/vaderSentiment
- opticals 9y agoMake it available in French!
- btbuildem 9y agoInteresting project, horrible presentation. The colour gradient on the graph is confusing - does green mean happy, blue unhappy, and the movie changes tone over time? Axes of the graph are not labeled, what are we looking at? But, those concerns are secondary. Bar graph seems a poor choice here, given the nature of the data. Given that there doesn't seem to be any correlation with time, the order of phrases doesn't seem important -- you could forgo the linear presentation, and display the distribution of the data instead. For example, you could bucket the sentiment values (-3 to -2, -2 to -1, etc) and use a histogram to show the counts in each bucket. This would enable you to compare different movies (one histogram per movie).
- eljs 9y agoYou're right about the graphs. The horizontal axis is the minutes of the movie though (on the second graph). Will get rid of the gradient and add labels!
- rodrigocoelho 9y agoAlso interesting: Character-to-Character Sentiment Analysis in Shakespeare’s Plays (PDF) http://www.aclweb.org/anthology/P13-2085 http://www.aclweb.org/anthology/P13-2085
- etjossem 9y agoOne of the major problems with sentiment analysis is that it doesn't pick up on irony or subtext very well. Relying on word choice alone, one such analysis pinned "Fitter Happier" as one of the happiest Radiohead songs. http://rcharlie.com/2017-02-16-fitteR-happieR/ http://rcharlie.com/2017-02-16-fitteR-happieR/ Edit: sorry, I misremembered - it actually handled "True Love Waits" pretty well. It did pick up "Fitter Happier" as one of the happiest, that's what struck me as strange.
- bberrry 9y agoEveryone realizes there outliers difficult to get right. Point is you can get quite far with a relatively naive approach.
- rullgrus 9y agoIsn't "True Love Waits" detected as the most depressing? The happiest one is "15 steps".
- johnnydoe9 9y agoThat says True Love Waits is the most depressing song though.. am I missing something? >We have a winner! “True Love Waits” is officially the single most depressing Radiohead song to date. Rightly so, given that it tied for lowest valence (0.0378) and ranked fourth for highest percentage of sad words (24%). If the numbers still don’t convince you, just listen to it.
- huangc10 9y agoAt the top, can you put a score or average of the analysis so we know if the overall movie is happy or sad? That number will be interesting :D
- gh1 9y agoI like it. What do you think of a recommendation engine which tries to recommend movies based on patterns of happiness and sadness?
- blackflame7000 9y agoIt's broken. My sentiment of La La Land was nowhere near that cheerful lol. In all serious though, its pretty cool idea for data analytics.
- aisofteng 9y agoI'm always a little wary of the robustness of sentiment analysis; in my experience, if you take the time to check sentiment analysis results sentence by sentence, you will find a high error rate. I haven't confirmed by looking at the source, but my suspicion is that either most sentiment analysis implementations are rule based or are not well tuned. My go-to example is IBM Watson's sentiment analysis service rating "I hope you die" as very positive because the sentence is categorized as "hopeful". Which I suppose it is, technically, and perhaps this is a case where I'm expecting too much because recognizing this particular example as having a negative sentiment requires much human abstract reasoning and inference, but the example remains nonetheless because real-world language usage that isn't dry and technical is rife with these sorts of linguistic usages.