Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve word-matching algorithm #94

Open
AKushWarrior opened this issue Nov 2, 2020 · 6 comments
Open

Improve word-matching algorithm #94

AKushWarrior opened this issue Nov 2, 2020 · 6 comments

Comments

@AKushWarrior
Copy link

AKushWarrior commented Nov 2, 2020

Hey there,

As do a lot of QB teams, my team uses Protobowl for practice/fun since quarantine has started. I've always noticed that Protobowl has a lot of erroneous correct markings, as well as a lot of erroneous incorrect markings. Around a week ago, I started keeping a running log of the latter via screenshots.

I know that doing serious semantic analysis of the answers is probably impossible, but I think that some of this is fairly rudimentary and could be fixed. If @antimatter15 (who seems to be the sole active maintainer) is open to it, I'd be happy to take a shot at contributing to a potential fix.

Some of the screenshots I took are attached.

Screenshot from 2020-11-02 10-52-47
Screenshot from 2020-10-26 11-38-14
Screenshot from 2020-10-26 11-42-07

@AKushWarrior
Copy link
Author

Apologies for the profanity, if that's something that matters to you.

@AKushWarrior
Copy link
Author

Investigating the source code a little bit, there seems to be two "checkers": checker.coffee and checker2.coffee

I'm assuming the latter is currently used?

@AKushWarrior
Copy link
Author

AKushWarrior commented Nov 2, 2020

I think the system could benefit from some simple checks before it goes through a long series of checks that can mess things up. Maybe a case insensitive implementation of Levenshtein's algorithm, where a really high value between a bolded answer and guess is automatically marked as correct?

@AKushWarrior
Copy link
Author

AKushWarrior commented Nov 2, 2020

Contextual awareness could also be useful, but that might be stretching it. If the question notes that synonyms are okay, maybe usage of an NPM package could help us follow the intent. If a question notes that an answer should only be accepted before a certain point, maybe that answer should not be accepted afterwards.

@antimatter15
Copy link
Member

antimatter15 commented Nov 5, 2020 via email

@AKushWarrior
Copy link
Author

I'll dig a bit more, maybe set up some test cases for popular errors (as well ast things the current model does well). If you find that database, let me know?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants