Repository navigation
Conversation
HistogramFilter.score_document counted in-histogram characters over text.strip() but divided by len(text), the un-stripped length. Leading or trailing whitespace inflated the denominator, lowering the ratio and flipping otherwise-kept documents to rejected. Whitespace-only or empty input also raised ZeroDivisionError. Compute the ratio over the stripped text used for the numerator, and return 0 for empty/whitespace-only input. Signed-off-by: Udaya Tejas <udayatejas2004@gmail.com>
Contributor
[Medium impact] The PR appears safe to merge. Summary
Reviews (2) · Last reviewed commit: "Merge branch 'main' into fix/histogram-f..." · Reviewed by Greptile |
Contributor
|
/ok to test a5df36a |
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What
HistogramFilter.score_documentcounts in-histogram characters overtext.strip()but divides bylen(text)— the un-stripped length:Numerator and denominator range over different character sets. Leading/trailing whitespace inflates the denominator, lowering the ratio and flipping an otherwise-kept document to rejected. Whitespace-only/empty input additionally raises
ZeroDivisionError.With histogram
{a, b, c}and threshold0.8,"abc"scores1.0(kept) while" abc "scores0.43(dropped) — identical content, opposite verdicts. Legitimate text is silently discarded from curated datasets.Fix
Compute the ratio over the same stripped text used for the numerator, and return
0for empty/whitespace-only input:Tests
Adds
tests/stages/text/filters/histogram/test_histogram_filter.pycovering whitespace-invariance, the empty/whitespace-only guard, and a below-threshold rejection. Verified fail-on-revert: with the source reverted the whitespace document flips to rejected and empty input raisesZeroDivisionError; with the fix all pass.