abrowne2 / streamfeel Goto Github PK
View Code? Open in Web Editor NEWTwitch chat analytics; filter garbage, see what people are feeling, and more using natural language processing.
License: MIT License
Twitch chat analytics; filter garbage, see what people are feeling, and more using natural language processing.
License: MIT License
When a message becomes deleted w/ <deleted message>
; it appears to the top of the chat frame. It still gets deleted after 3 minutes, but still is problematic to the user.
If twitch is in darkmode, the data analytics pane should show the dashboard as white or black, respectively (change font colors as well).
[Ongoing] The sentiment dataset is bare and needs improvement.
Similar to r9k, keep track of each message by something like this:
std::chrono::time_point<std::chrono::steady_clock> now();
If the differences between messages <30 seconds, we can compare the messages. If they're identical, the most recent one is spam.
The ultimate goal of this issue is to accomplish #3 . After testing, it seems that the bottleneck in transferring persistent categorizer data is in the native messaging system. By separating the large datasets down into quarter-chunks (or more) it should do the trick.
As the slider is moved, the user could be able to see the chat rendered as it appeared at the time.
It takes ~10 sec to read in the data for the relevance and sentiment categorizers and deserialize them. Currently, we're splitting the sentiment data into two chunks to avoid overflow.
I'm not sure why I get this error, none of the references found googling helps the problem. I tried including the cpp that define the class text_categorizer. Same error different line number and function. It was BuildCategorizer, now it is serialize.
Output:
/data/user/0/com.n0n3m4.droidc/files/temp.c: In function 'std::__ndk1::vector serialize(DataInst&)':
/data/user/0/com.n0n3m4.droidc/files/temp.c:105:25: error: use of deleted function 'mitie::text_categorizer& mitie::text_categorizer::operator=(mitie::text_categorizer&&)'
compilation terminated due to -Wfatal-errors.
/// text_categorizer.h was modified to include "encode / decode" to use the serialization/deserialization/
^^ I feel this could be why
I've setup the emotes so they can be viewed in the chart. I just have to make an interface to choose between the three options; it should be aligned with the time selector div.
We can now find messages that were directed to the user, but we need to introduce those into the format for the content script to parse them.
TODO:
Occasionally, an emote's img representation will not fully load. This is likely due to the pattern being created before it's loaded the chart update trying to reference it.
Intention: Display the emotes based on frequency, in their image form.
Methods:
*Requires toggling the legend off for sentiment and commands, but creating a legend via generateLegend() and stylizing it.
This accomplishes part of #2 .
Clips are not loading when posted in chat. Possible reasons:
Possible solution:
All special messages have special-message
within their class name. Clone them, remove original, and append at the bottom of the chat.
If the chat is moving very fast, messages that are deemed relevant will be popped off the DOM automatically by Ember.JS (normal twitch). This can be fixed by adding a "copy" of the message to the DOM, only removing it after an arbitrary time interval.
Make StreamFeel compatible with YouTube Live.
Whether it is a BetterTwitchTV emoji, or a standard twitch one, we need a way to parse all of the emoji's and get their respective images. It should work like this:
Allow the user to view their mentions in a concise format. (maybe have notifications)
Based on a minute or 30 seconds time interval, messages are scrutinized based on existing messages received within that time period. If they match a percentage similarity, they're not relevant. "Relevance" would otherwise be determined by the text categorizer, but in this case it could be useful.
See title. I've made a fix but need to re-update the datasets as I've also modified the # of chunks they're split into to confirm if it works.
Imagine there are spammers saying something like:
Watch our better stream at twitch tv/----. *** your fake views and fake subs. We are better than you. Give us free money and screw your dumbass stream go watch ---- on twitch.
]
over and over, with very little time in between. If the chat is not in r9k mode or actively moderated, this is some spam.
Consider;
Line 308-309 of stream_feel.cc -
while(index++ < pos) hrs += time[index];
should be
while(index < pos) hrs += time[index++];
PNaCl is being deprecated; port to newest standard "web assembly"
To use some of our additional features, the name of the logged in twitch user is needed. This can be done by searching the DOM.
When messages from 60 seconds before show, they aren't filtered with the unordered_map solution
Also consider:
The current menu for viewing data; sentiment, commands, and emoji's needs:
Timeline to traverse data "footprints". Imagine a line with a 'slider' on it. As you slide, you can choose to view the sentiment, emoji, or command analytics at that point.
When no data is loaded, we need to show that there is no data. Currently it's showing undefined.
Show the number of messages which makes up our data.
An intuitive interface to choose between viewing what people feel/think, commands used, and emoji's.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.