Increase accuracy by weighting probs with softmax #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi!
I just came across this library. Great idea, and great implementation!
This PR improves the score on GermaNet compounds from 95.20% to 95.91% on my machine. This is done by:
Intuitively, this works because longer ngrams are more significant, but shorter ngrams also carry some significance, so adding them with a lower weight instead of completely discarding them improves the scores.
Note that for infixes softmax weighting did not improve the GermaNet score for me, so I did not change the aggregation method for infixes.
Concerns
The downside to this PR is speed. As you mentioned in the comments, only considering the longest ngrams improves speed. This PR would undo that improvement.
See snippets of running GermaNet evaluation without this PR and with this PR:
Without:
With:
So it takes ~ 2x more time. I am not sure if the additional 0.7% is worth it in all cases, so the softmax weighting should maybe be put behind a feature flag.