Browser Extension Vote-Counter (early demo)

This forum is for discussion related to the game.
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #150 (ISO) » Sat Apr 13, 2024 9:07 pm

Post by JacksonVirgo »

In post 147, Random Nurse wrote:
In post 146, Thestatusquo wrote:
In post 144, Random Nurse wrote: Where are we at currently with this votecounter?

Is a practical version available to be used in future game?
Its functional right now I believe.

Nice.

So say I set up a Normal game.

Where do I go to start implementing it, please?

I'm eager to get some games going with this.
The setup should be written in the OP iirc
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #151 (ISO) » Sat Apr 13, 2024 9:12 pm

Post by Random Nurse »

In post 150, JacksonVirgo wrote:
In post 147, Random Nurse wrote:
In post 146, Thestatusquo wrote:
In post 144, Random Nurse wrote: Where are we at currently with this votecounter?

Is a practical version available to be used in future game?
Its functional right now I believe.

Nice.

So say I set up a Normal game.

Where do I go to start implementing it, please?

I'm eager to get some games going with this.
The setup should be written in the OP iirc

WDYM?
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #152 (ISO) » Sat Apr 13, 2024 11:11 pm

Post by JacksonVirgo »

In post 148, yessiree wrote: For votes with ambiguous targets, I lean more towards flagging them to be checked manually rather than trying to parse the intended target using NLP. Reason one is that configuration (usernames, aliases and replacements) are needed for each game anyway, reason two is that if the string parsing algo is not 100% accurate, you dataset ends up with some incorrect data, and reason three - NLP is hard!

I imagine the process would be like
- configure basic settings (usernames, replacements, common aliases, etc) for games from which to collect data
- collect votes -> get a list of votes + a list of flagged votes
- go through the flagged votes one by one and add aliases as necessary
- repeat step 2 until you have no more flagged votes
I do think we should be working on a proper flagging system before delving into any more NLP, I do see the appeal in it though and we could implement it only be to be accessible for those that really want it (aka. explicitly having it as a feature flag). We could also do an inverse and just use NLP to create suggested aliases to be used in the configuration file if running it while generating the VC is too unpredictable.

Fancy talk is fun but I am going to just work on the flagging system. I like the way you wrote the process, I think a cool idea would be to offer a download for the configuration file with updated aliases. I also want to add cached config results so you don't have to upload over and over.
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #153 (ISO) » Sat Apr 13, 2024 11:11 pm

Post by JacksonVirgo »

In post 151, Random Nurse wrote:
In post 150, JacksonVirgo wrote:
In post 147, Random Nurse wrote:
In post 146, Thestatusquo wrote:
In post 144, Random Nurse wrote: Where are we at currently with this votecounter?

Is a practical version available to be used in future game?
Its functional right now I believe.

Nice.

So say I set up a Normal game.

Where do I go to start implementing it, please?

I'm eager to get some games going with this.
The setup should be written in the OP iirc

WDYM?
The process to install the extension is in post 0
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #154 (ISO) » Sat Apr 13, 2024 11:13 pm

Post by JacksonVirgo »

If you still need help with it, let me know. Here, PMs or on Discord (my username is ._melancholic_.)
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #155 (ISO) » Sat Apr 13, 2024 11:19 pm

Post by JacksonVirgo »

I actually also want the option to show vote history like Gypyx seems to do in her VCs. You can possibly also store the config file in the vc itself to scrape instead of needing a file. Unsure if that's a good idea
at all
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #156 (ISO) » Sat Apr 13, 2024 11:25 pm

Post by Random Nurse »

Once my game gets rolling I'll get this installed.

Thanks JV.
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #157 (ISO) » Sat Apr 13, 2024 11:26 pm

Post by JacksonVirgo »

In post 156, Random Nurse wrote: Once my game gets rolling I'll get this installed.

Thanks JV.
No problems at all, it'd be cool to see it used more :D
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #158 (ISO) » Sat Apr 13, 2024 11:31 pm

Post by Random Nurse »

In post 157, JacksonVirgo wrote:
In post 156, Random Nurse wrote: Once my game gets rolling I'll get this installed.

Thanks JV.
No problems at all, it'd be cool to see it used more :D

Do you have games that show it being used? I want to get a feel for how it operates, please.
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #159 (ISO) » Sat Apr 13, 2024 11:33 pm

Post by JacksonVirgo »

In post 158, Random Nurse wrote:
In post 157, JacksonVirgo wrote:
In post 156, Random Nurse wrote: Once my game gets rolling I'll get this installed.

Thanks JV.
No problems at all, it'd be cool to see it used more :D

Do you have games that show it being used? I want to get a feel for how it operates, please.
I can record a clip of me using it from start to finish if you'd like? I assume Aureal uses it but I am not sure how much it's being used currently
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #160 (ISO) » Sat Apr 13, 2024 11:39 pm

Post by Random Nurse »

In post 159, JacksonVirgo wrote:
In post 158, Random Nurse wrote:
In post 157, JacksonVirgo wrote:
In post 156, Random Nurse wrote: Once my game gets rolling I'll get this installed.

Thanks JV.
No problems at all, it'd be cool to see it used more :D

Do you have games that show it being used? I want to get a feel for how it operates, please.
I can record a clip of me using it from start to finish if you'd like? I assume Aureal uses it but I am not sure how much it's being used currently

I'd appreciate it.

Just want to see what it'll look like.

Does it post on every page-top?
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #161 (ISO) » Sat Apr 13, 2024 11:42 pm

Post by JacksonVirgo »

In post 160, Random Nurse wrote:
In post 159, JacksonVirgo wrote:
In post 158, Random Nurse wrote:
In post 157, JacksonVirgo wrote:
In post 156, Random Nurse wrote: Once my game gets rolling I'll get this installed.

Thanks JV.
No problems at all, it'd be cool to see it used more :D

Do you have games that show it being used? I want to get a feel for how it operates, please.
I can record a clip of me using it from start to finish if you'd like? I assume Aureal uses it but I am not sure how much it's being used currently

I'd appreciate it.

Just want to see what it'll look like.

Does it post on every page-top?
It's not fully automatic, although I'm increasingly wanting to make something for that. Essentially you get a new button on the web-page which you can click and get a generated/formatted vote-count. It's a little more to that but that'd be shown in the video demo I'll record soon.
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #162 (ISO) » Sat Apr 13, 2024 11:46 pm

Post by JacksonVirgo »

Image

The VC button is on every post, just next to the ISO
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #163 (ISO) » Sat Apr 13, 2024 11:46 pm

Post by Random Nurse »

Looking forward to it. :)
User avatar
Random Nurse
Random Nurse
He/Him
Mafia Scum
User avatar
User avatar
Random Nurse
He/Him
Mafia Scum
Mafia Scum
Posts: 2712
Joined: April 29, 2023
Pronoun: He/Him
Happy Scumday!

Post Post #164 (ISO) » Sat Apr 13, 2024 11:46 pm

Post by Random Nurse »

Can Mafiascum just implement it site-wide as an option? That'd be awesome.
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #165 (ISO) » Sat Apr 13, 2024 11:49 pm

Post by JacksonVirgo »

In post 164, Random Nurse wrote: Can Mafiascum just implement it site-wide as an option? That'd be awesome.
Bork said the future may have a way for people to add stuff to the site itself (check post ) but for right now an extension is your second best option.

What a magical day that would be though, being able to have a votecounter built into the site :heart_eyes:
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
yessiree
yessiree
he
Mafia Scum
User avatar
User avatar
yessiree
he
Mafia Scum
Mafia Scum
Posts: 4389
Joined: June 6, 2013
Pronoun: he

Post Post #166 (ISO) » Sun Apr 14, 2024 12:05 am

Post by yessiree »

In post 152, JacksonVirgo wrote: I also want to add cached config results so you don't have to upload over and over.
Well actually I was thinking of working on a config editor to replace yaml config files altogether, but wasn't sure if that's the direction you wanted to go. Basically, it will be a UI that lets you edit configs and save/load them to/from local storage.
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #167 (ISO) » Sun Apr 14, 2024 12:06 am

Post by JacksonVirgo »

In post 166, yessiree wrote:
In post 152, JacksonVirgo wrote: I also want to add cached config results so you don't have to upload over and over.
Well actually I was thinking of working on a config editor to replace yaml config files altogether, but wasn't sure if that's the direction you wanted to go. Basically, it will be a UI that lets you edit configs and save/load them to/from local storage.
I wanted to do this much earlier but never got the motivation to actually get it to work so I scrapped it temporarily
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
yessiree
yessiree
he
Mafia Scum
User avatar
User avatar
yessiree
he
Mafia Scum
Mafia Scum
Posts: 4389
Joined: June 6, 2013
Pronoun: he

Post Post #168 (ISO) » Sun Apr 14, 2024 12:12 am

Post by yessiree »

In post 167, JacksonVirgo wrote:
In post 166, yessiree wrote:
In post 152, JacksonVirgo wrote: I also want to add cached config results so you don't have to upload over and over.
Well actually I was thinking of working on a config editor to replace yaml config files altogether, but wasn't sure if that's the direction you wanted to go. Basically, it will be a UI that lets you edit configs and save/load them to/from local storage.
I wanted to do this much earlier but never got the motivation to actually get it to work so I scrapped it temporarily
probably because you were using jquery :lol:
should be fairly trivial with react!
User avatar
JacksonVirgo
JacksonVirgo
they/him
Survivor
User avatar
User avatar
JacksonVirgo
they/him
Survivor
Survivor
Posts: 13272
Joined: October 29, 2019
Pronoun: they/him
Location: ɐılɐɹʇsn∀

Post Post #169 (ISO) » Sun Apr 14, 2024 12:15 am

Post by JacksonVirgo »

In post 168, yessiree wrote:
In post 167, JacksonVirgo wrote:
In post 166, yessiree wrote:
In post 152, JacksonVirgo wrote: I also want to add cached config results so you don't have to upload over and over.
Well actually I was thinking of working on a config editor to replace yaml config files altogether, but wasn't sure if that's the direction you wanted to go. Basically, it will be a UI that lets you edit configs and save/load them to/from local storage.
I wanted to do this much earlier but never got the motivation to actually get it to work so I scrapped it temporarily
probably because you were using jquery :lol:
should be fairly trivial with react!
I wasn't able to figure out how to inject react into the site properly. I didn't really wanna use the extension popup as I couldn't figure out how to trigger that from the VC button injected into MS's html.

I tried a bunch of stuff, none of it worked super good. I'm also new to browser extensions so maybe I'm just an absolute goof on a stick
"Am I a ghost like you, caught between the seams of two intertwining melodies?"


wiki // GTKAS
User avatar
yessiree
yessiree
he
Mafia Scum
User avatar
User avatar
yessiree
he
Mafia Scum
Mafia Scum
Posts: 4389
Joined: June 6, 2013
Pronoun: he

Post Post #170 (ISO) » Sun Apr 14, 2024 12:37 am

Post by yessiree »

I can work out a quick WIP next week
User avatar
Psyche
Psyche
he/they
Survivor
User avatar
User avatar
Psyche
he/they
Survivor
Survivor
Posts: 10766
Joined: April 28, 2011
Pronoun: he/they

Post Post #171 (ISO) » Sun Apr 14, 2024 3:32 am

Post by Psyche »

In post 148, yessiree wrote: For votes with ambiguous targets, I lean more towards flagging them to be checked manually rather than trying to parse the intended target using NLP. Reason one is that configuration (usernames, aliases and replacements) are needed for each game anyway, reason two is that if the string parsing algo is not 100% accurate, you dataset ends up with some incorrect data, and reason three - NLP is hard!

I imagine the process would be like
- configure basic settings (usernames, replacements, common aliases, etc) for games from which to collect data
- collect votes -> get a list of votes + a list of flagged votes
- go through the flagged votes one by one and add aliases as necessary
- repeat step 2 until you have no more flagged votes
a few counterpoints:

- I think this underestimates how much of a slog getting to a complete configuration and handling flagged votes really is -- especially over many games -- when common abbreviations like "NMHS" so easily leak out. IMO if the votecounter doesn't "just work", you're going to see / are seeing relatively slow adoption, particularly among more experienced moderators already happy with how they do things.

- The string parsing algorithm in JV's repo is already not 100% accurate. This is already the default mode we're in. You're probably not in favor of just removing it though, right?

- It's possible to have both flagging
and
a smart-but-inaccurate matching algorithm. For example, you can flag all votes that don't perfectly match defined aliases, but suggest a matching during user review that can be given a quick up/down rating and trigger stuff like an update to the alias pool. You can propose aliases during configuration to save users the trouble of brainstorming them themselves. And so on.

- NLP is hard, but also fun. And also it's not that hard. For example, checking strings against a dictionary is not hard. Applying a string distance function is not hard. (And frankly I think most of the hard work is already done anyway.)

- Solving this kind of problem opens a lot of downstream possibilities that from our current vantage point look infeasible. For example, most robust analyses of a game can't stop at looking at votes, and need to pay attention to all interactions between players. Right now, tackling that looks like a pipe dream! But mapping these interactions gets much more plausible with a robust solution to the username matching problem.

Once I'm done refactoring my current implementation and its tests I'll get more specific about how it could fit into a context like this where it's very important that no false matchings get into a generated votecount without an alert.
User avatar
yessiree
yessiree
he
Mafia Scum
User avatar
User avatar
yessiree
he
Mafia Scum
Mafia Scum
Posts: 4389
Joined: June 6, 2013
Pronoun: he

Post Post #172 (ISO) » Sun Apr 14, 2024 3:40 pm

Post by yessiree »

hmm, I definitely agree that the string matching algo needs to perform at a certain accuracy level, or be improved in some way, but for the average mod who's using this to generate VCs every now and then, I don't think it's too much trouble for them to go through this process of looking at flagged votes and addressing them through config fixes?

as for vca, i should clarify that i don't really see the whole process happening at once. That is, collecting data and then performing analysis on said data. In other words, I don't see that we're shipping a tool that does everything in one complete package. I moreso see it as two separate processes; first is the data collection part, with the goal of creating a dataset to be used later, the second one is the analysis. These two processes don't need to be coupled together.

so i guess what im trying to say is that i dont see the point of creating a tool for other people to collect data on their own, but rather creating a tool to collect data ourselves, and then making this dataset available to the public. in that vein, data is only collected once and done, and that reduces the need for a perfect algorithm, if that makes sense

i dont want to stop you from doing what you're doing tho!
User avatar
Psyche
Psyche
he/they
Survivor
User avatar
User avatar
Psyche
he/they
Survivor
Survivor
Posts: 10766
Joined: April 28, 2011
Pronoun: he/they

Post Post #173 (ISO) » Wed Apr 17, 2024 7:13 am

Post by Psyche »

Am thinking you make a good point. I think I'll still push for something powerful enough to pick up particularly common abbreviations like in the example I shared (mostly because I have something close and have a stronger need for something close), but otoh will avoid getting bogged down by rarer issues most easily handled by player-specific aliasing.

Even for research purposes that do require processing a very large pool of games, I agree we only really need a tool powerful enough to make it feasible to collect good dataset just once, and to confirm to us that it is good data (i.e., flagging uncertainties).
User avatar
Psyche
Psyche
he/they
Survivor
User avatar
User avatar
Psyche
he/they
Survivor
Survivor
Posts: 10766
Joined: April 28, 2011
Pronoun: he/they

Post Post #174 (ISO) » Fri Apr 19, 2024 1:19 am

Post by Psyche »

have found some edge cases that might defy even a flagging-focused method if flagging only highlights ambiguous names

maybe most salient is broken quote tags that allow a quoted vote to look like the poster's vote

broken vote tags are also a factor, but easier to refuse by policy

might suggest as a safety measure having the votecounter by default flag any post with any signs of broken tags

Return to “Mafia Discussion”