3 ms·
EDIT: Fixed the UI: I'm assuming you were looking at a topic, the "probable mood" used to render as it relates to the topic being searched, not current mood. H
by lettergram 8y ago
EDIT: Fixed the UI: I'm assuming you were looking at a topic, the "probable mood" used to render as it relates to the topic being searched, not current mood.
Highly recommend reading the "how it works" section (I assume you already have):
https://hnprofile.com/learn-more https://hnprofile.com/learn-more
That section has a few examples and details. I'll add further details below.
The system ONLY looks at comments sent to it. It, kind of looks like:
{ Author, Comment }
From there, everything else is derived. Nothing else, no profiles, no voting, nothing. That's it.
The system identifies:
- Expertise
- Knowledge
- Interests
- Relevant content
- Promoter score (an improved net promoter score)
- Trends
- Mood
- Related Topics
- etc.
To your question, there are multiple algorithms at work determining mood, most are pretty standard models. These are ones you can find in NLTK, spaCy, CoreNLP, etc. There's also a couple home-baked ones. These models than "vote" for the mood, with an averaged score. Typically these scores are 3 - 7 models voting at any one time. The aggregate score is roughly 80% accurate (based on my tags), and it tags the topics, sentence, and overall comment all separately. Finally, the models are much more accurate at the extremes: Very Positive and Very Negative, but in the middle, it's much fuzzier. This is in part, just how language works, it's subjective.
All NLP models are based on a combination of open datasets with the tagged sentiment, as well as my own manually created dataset, and finally, a dataset that was manually created via looking at following comments (for instance, "no need to be negative", is used to tag the prior comment.
The probable current mood is a prediction of your prior moods. I believe right now, it looks at the last time you discussed the given topic you searched (if you searched for a user, it is the most recent mood). If there is enough data, it'll also predict your mood, based on the time of day + topic being discussed.
Finally, I should add - there are definitely improvements to be made, and I'm currently working on mood. Primarily, the focus was on expertise, knowledge, and interests. That is what enables the "related content" section and is now very accurate (given a decent number of data samples). Mood, as stated, is ~80% accurate based on my tags. I think I can do better (probably >90%), especially with more labeled data for this particular dataset.
The goal of this is it can drop into any company and instantly can search for who and what is relevant to your company.
- Waterluvian 8y agoThanks for sharing these details. I'd like to chat more about it if you'll bear with me: Last I checked I was "tense". Is it theoretically possible to explain why your models came to that conclusion? Is there a theoretical data view that could say "here's the comments that contributed to you being considered "tense" (or even better: specific parts of the comments). From my perspective, without a way to concretely back up any conclusion made, I simply cannot consider the complex-sounding systems to be any better than RNG. I alluded to this in my first comment, but I think it's imperative that if you're going to explicitly call out what mood you think someone was/is/will be, you need to back it up with "why" so that, at the very least, someone can say, "that's clearly an unfair representation of my mood and here's where the algorithms messed up." I'm going to go on a bit of a limb and assume that you're just having some fun and exploring an interesting feature. And I think that's really quite cool. But I think we're getting into a software engineering ethics realm that I'm ill-equipped to dig in to. You've got a site that applies "moods" to individuals in a way that doesn't appear to be verifiable. And even if they are, and are accurate, is that even the right thing to do? I don't want to ruin your fun or twist your arm into changing this. I'm just responding to my red-alert alarm that lives in my stomach. It's set off by the discovery that one of my few online accounts where I don't hide my identity has been assigned a mood label.
- lettergram 8y agoFirst, this conversation is not going to be comforting and your red-alert alarm should be going off. I know this is building toward the dystopian future. I personally use Signal, put my cell phone in the microwave when I come home, and am writing this through a VPN. That being said, I'm 100% confident that Google, Apple, Amazon, and more know WAY more about you than I do. This system only looks at public data and only links back to usernames. Strangely enough, it can identify users across sites (even without knowing your identity) - say Reddit and Hacker News. It was originally built for https://projectpiglet.com/ https://projectpiglet.com/ to find company insiders, and make trades (which works ridiculously well btw). There should be no expectation of privacy. > You've got a site that applies "moods" to individuals in a way that doesn't appear to be verifiable. And even if they are, and are accurate, is that even the right thing to do? The short answer is, I don't know. I don't want this to exist, but it does. I also know that I have already built systems for companies doing this and more. Albeit the system here is much more of a "turn-key" solution and its patent-pending for what it's worth (I'm also against patents and donate to the EFF, but feel I can potentially segment off this market). Still, lots of people are looking to build systems such as this. Personally, I'd rather be the one guiding the ship, because I do ask myself the same questions you're asking. I'll be honest... I've used this system to show my friends that even when they change usernames I can still identify them. That particular system (which looks at speech patterns) is turned off here. That's in part because of those questions. However, I'm 100% confident, others are doing that right now, with this conversation. We know that because Snowden shared it with us.