From ad7d07ef63e2aeed89e2edbc95828c185889a6fc Mon Sep 17 00:00:00 2001 From: Dawid Weiss Date: Tue, 15 Dec 2020 14:30:04 +0100 Subject: [PATCH] GH-57: turn labelFilter and StopwordFilter into predicates. --- .../E03_CustomLanguageComponents.java | 8 ++--- .../stc/STCClusteringAlgorithm.java | 2 +- .../carrot2/language/ChainedLabelFilter.java | 33 ------------------ .../carrot2/language/ChainedWordFilter.java | 33 ------------------ .../language/DefaultDictionaryImpl.java | 8 ++--- .../language/EphemeralDictionaries.java | 34 ++++++++----------- .../org/carrot2/language/LabelFilter.java | 21 +++++++++--- .../org/carrot2/language/StopwordFilter.java | 21 +++++++++--- .../text/preprocessing/StopListMarker.java | 2 +- .../preprocessing/filter/StopLabelFilter.java | 4 +-- ...DefaultLanguageComponentsProviderTest.java | 4 +-- .../language/EphemeralDictionariesTest.java | 26 +++++++------- ...estsLanguageComponentsFactoryVariant1.java | 4 +-- ...estsLanguageComponentsFactoryVariant2.java | 4 +-- .../dcs/servlets/DummyAlgorithmProvider.java | 3 +- .../AbstractLanguageComponentsTest.java | 2 +- .../AbstractLanguageComponentsTest.java | 2 +- .../AbstractLanguageComponentsTest.java | 2 +- .../AbstractLanguageComponentsTest.java | 2 +- .../polish/PolishLanguageComponentsTest.java | 2 +- 20 files changed, 85 insertions(+), 132 deletions(-) delete mode 100644 core/src/main/java/org/carrot2/language/ChainedLabelFilter.java delete mode 100644 core/src/main/java/org/carrot2/language/ChainedWordFilter.java diff --git a/core-examples/src/test/java/org/carrot2/examples/E03_CustomLanguageComponents.java b/core-examples/src/test/java/org/carrot2/examples/E03_CustomLanguageComponents.java index b3078b477b..154ff38edc 100644 --- a/core-examples/src/test/java/org/carrot2/examples/E03_CustomLanguageComponents.java +++ b/core-examples/src/test/java/org/carrot2/examples/E03_CustomLanguageComponents.java @@ -167,13 +167,13 @@ public void overrideDefaultComponents() throws IOException { final StopwordFilter wordFilter = (word) -> { // Ignore any word shorter than 4 characters or on the explicit exclusion list. - return word.length() < 4 || ignored.contains(word.toString()); + return word.length() >= 4 && !ignored.contains(word.toString()); }; final LabelFilter labelFilter = (label) -> { // Ignore any label that has a substring 'data' in it. - return label.toString().toLowerCase(Locale.ROOT).contains("data"); + return !label.toString().toLowerCase(Locale.ROOT).contains("data"); }; // fragment-end{custom-lexical-data} @@ -211,14 +211,14 @@ public void customLanguagePipeline() throws IOException { final Set ignored = new HashSet<>(Arrays.asList("from", "what")); final StopwordFilter wordFilter = (word) -> { - return word.length() <= 3 || ignored.contains(word.toString()); + return word.length() > 3 && !ignored.contains(word.toString()); }; suppliers.put(StopwordFilter.class, () -> wordFilter); final LabelFilter labelFilter = (label) -> { // Ignore any label that has a substring 'data' in it. - return label.toString().toLowerCase(Locale.ROOT).contains("data"); + return !label.toString().toLowerCase(Locale.ROOT).contains("data"); }; suppliers.put(LabelFilter.class, () -> labelFilter); diff --git a/core/src/main/java/org/carrot2/clustering/stc/STCClusteringAlgorithm.java b/core/src/main/java/org/carrot2/clustering/stc/STCClusteringAlgorithm.java index 3661e3ab1b..e549ecd333 100644 --- a/core/src/main/java/org/carrot2/clustering/stc/STCClusteringAlgorithm.java +++ b/core/src/main/java/org/carrot2/clustering/stc/STCClusteringAlgorithm.java @@ -424,7 +424,7 @@ protected void visit(int state, int cardinality, BitSet documents, IntStack path // Build the candidate cluster's label for filtering. This may be costly so // we only do this for base clusters which are promoted to merging phase. assert cc.phrases.size() == 1; - if (!labelFilter.ignoreLabel(buildLabel(cc.phrases.get(0)))) { + if (labelFilter.test(buildLabel(cc.phrases.get(0)))) { candidates.set(j++, cc); } } diff --git a/core/src/main/java/org/carrot2/language/ChainedLabelFilter.java b/core/src/main/java/org/carrot2/language/ChainedLabelFilter.java deleted file mode 100644 index 3b8ec1a515..0000000000 --- a/core/src/main/java/org/carrot2/language/ChainedLabelFilter.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Carrot2 project. - * - * Copyright (C) 2002-2020, Dawid Weiss, Stanisław Osiński. - * All rights reserved. - * - * Refer to the full license file "carrot2.LICENSE" - * in the root folder of the repository checkout or at: - * https://www.carrot2.org/carrot2.LICENSE - */ -package org.carrot2.language; - -import java.util.ArrayList; -import java.util.List; - -/** A composite {@link LabelFilter}. */ -class ChainedLabelFilter implements LabelFilter { - private final ArrayList filters; - - public ChainedLabelFilter(List filters) { - this.filters = new ArrayList<>(filters); - } - - @Override - public boolean ignoreLabel(CharSequence word) { - for (var filter : filters) { - if (filter.ignoreLabel(word)) { - return true; - } - } - return false; - } -} diff --git a/core/src/main/java/org/carrot2/language/ChainedWordFilter.java b/core/src/main/java/org/carrot2/language/ChainedWordFilter.java deleted file mode 100644 index 229675c101..0000000000 --- a/core/src/main/java/org/carrot2/language/ChainedWordFilter.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Carrot2 project. - * - * Copyright (C) 2002-2020, Dawid Weiss, Stanisław Osiński. - * All rights reserved. - * - * Refer to the full license file "carrot2.LICENSE" - * in the root folder of the repository checkout or at: - * https://www.carrot2.org/carrot2.LICENSE - */ -package org.carrot2.language; - -import java.util.ArrayList; -import java.util.List; - -/** A composite {@link StopwordFilter}. */ -class ChainedWordFilter implements StopwordFilter { - private final ArrayList filters; - - public ChainedWordFilter(List filters) { - this.filters = new ArrayList<>(filters); - } - - @Override - public boolean ignoreWord(CharSequence word) { - for (var filter : filters) { - if (filter.ignoreWord(word)) { - return true; - } - } - return false; - } -} diff --git a/core/src/main/java/org/carrot2/language/DefaultDictionaryImpl.java b/core/src/main/java/org/carrot2/language/DefaultDictionaryImpl.java index 9b4cad7cc8..6d275f3d94 100644 --- a/core/src/main/java/org/carrot2/language/DefaultDictionaryImpl.java +++ b/core/src/main/java/org/carrot2/language/DefaultDictionaryImpl.java @@ -51,14 +51,14 @@ public class DefaultDictionaryImpl extends AttrComposite @Override public StopwordFilter compileStopwordFilter() { - Predicate precompiled = compile(); - return (word) -> precompiled.test(word.toString()); + Predicate compiled = compile(); + return (t) -> !compiled.test(t.toString()); } @Override public LabelFilter compileLabelFilter() { - Predicate precompiled = compile(); - return (label) -> precompiled.test(label.toString()); + Predicate compiled = compile(); + return (t) -> !compiled.test(t.toString()); } private Predicate compile() { diff --git a/core/src/main/java/org/carrot2/language/EphemeralDictionaries.java b/core/src/main/java/org/carrot2/language/EphemeralDictionaries.java index 9553827ec6..329b84474e 100644 --- a/core/src/main/java/org/carrot2/language/EphemeralDictionaries.java +++ b/core/src/main/java/org/carrot2/language/EphemeralDictionaries.java @@ -10,10 +10,8 @@ */ package org.carrot2.language; -import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.stream.Collectors; import org.carrot2.attrs.AttrComposite; import org.carrot2.attrs.AttrObjectArray; @@ -44,7 +42,7 @@ public class EphemeralDictionaries extends AttrComposite { * * @see DefaultDictionaryImpl * @see StopwordFilterDictionary - * @see StopwordFilter#ignoreWord + * @see StopwordFilter */ public AttrObjectArray wordFilters = attributes.register( @@ -72,7 +70,7 @@ public class EphemeralDictionaries extends AttrComposite { * * @see DefaultDictionaryImpl * @see LabelFilterDictionary - * @see LabelFilter#ignoreLabel + * @see LabelFilter */ public AttrObjectArray labelFilters = attributes.register( @@ -87,49 +85,45 @@ public class EphemeralDictionaries extends AttrComposite { */ public LanguageComponents override(LanguageComponents languageComponents) { List wordFilterAttrs = this.wordFilters.get(); - if (wordFilterAttrs != null || !wordFilterAttrs.isEmpty()) { - List wordFilters = + if (wordFilterAttrs != null && !wordFilterAttrs.isEmpty()) { + StopwordFilter dictFilter = wordFilterAttrs.stream() .map(StopwordFilterDictionary::compileStopwordFilter) - .collect(Collectors.toList()); + .reduce(StopwordFilter::and) + .get(); languageComponents = languageComponents.override( StopwordFilter.class, (previous) -> () -> { - List filters; StopwordFilter previousFilter = previous.get(); if (previousFilter != null) { - filters = new ArrayList<>(wordFilters); - filters.add(previousFilter); - return new ChainedWordFilter(filters); + return previousFilter.and(dictFilter); } else { - return new ChainedWordFilter(wordFilters); + return dictFilter; } }); } List labelFilterAttrs = this.labelFilters.get(); - if (labelFilterAttrs != null || !labelFilterAttrs.isEmpty()) { - List labelFilters = + if (labelFilterAttrs != null && !labelFilterAttrs.isEmpty()) { + LabelFilter dictFilter = labelFilterAttrs.stream() .map(LabelFilterDictionary::compileLabelFilter) - .collect(Collectors.toList()); + .reduce(LabelFilter::and) + .get(); languageComponents = languageComponents.override( LabelFilter.class, (previous) -> () -> { - List filters; LabelFilter previousFilter = previous.get(); if (previousFilter != null) { - filters = new ArrayList<>(labelFilters); - filters.add(previousFilter); - return new ChainedLabelFilter(filters); + return previousFilter.and(dictFilter); } else { - return new ChainedLabelFilter(labelFilters); + return dictFilter; } }); } diff --git a/core/src/main/java/org/carrot2/language/LabelFilter.java b/core/src/main/java/org/carrot2/language/LabelFilter.java index e1b7897935..9c5fce219e 100644 --- a/core/src/main/java/org/carrot2/language/LabelFilter.java +++ b/core/src/main/java/org/carrot2/language/LabelFilter.java @@ -10,6 +10,9 @@ */ package org.carrot2.language; +import java.util.Objects; +import java.util.function.Predicate; + /** * A cluster label candidate filter. * @@ -17,8 +20,18 @@ */ @FunctionalInterface // fragment-start{label-filter} -public interface LabelFilter { - /** @return Return true if the label candidate should be ignored in processing. */ - boolean ignoreLabel(CharSequence labelCandidate); +public interface LabelFilter extends Predicate { + /** + * @param label The label to test. Input labels may have mixed case, depending on the algorithm + * and their surface forms collected from input documents. + * @return Return {@code false} if the label candidate should be ignored in processing. + */ + boolean test(CharSequence label); + // fragment-end{label-filter} + + @Override + default LabelFilter and(Predicate other) { + Objects.requireNonNull(other); + return (t) -> test(t) && other.test(t); + } } -// fragment-end{label-filter} diff --git a/core/src/main/java/org/carrot2/language/StopwordFilter.java b/core/src/main/java/org/carrot2/language/StopwordFilter.java index 9c03a2a63a..8ee6cad0a8 100644 --- a/core/src/main/java/org/carrot2/language/StopwordFilter.java +++ b/core/src/main/java/org/carrot2/language/StopwordFilter.java @@ -10,6 +10,9 @@ */ package org.carrot2.language; +import java.util.Objects; +import java.util.function.Predicate; + /** * A stop word filter. * @@ -18,8 +21,18 @@ */ @FunctionalInterface // fragment-start{word-filter} -public interface StopwordFilter { - /** @return Return true if the provided term should be ignored in processing. */ - boolean ignoreWord(CharSequence word); +public interface StopwordFilter extends Predicate { + /** + * @param word The word to test. Input words are guaranteed to be in lower case (consistent with + * {@link Character#toLowerCase(int)}. + * @return Return {@code false} if the provided term should be ignored in processing. + */ + boolean test(CharSequence word); + // fragment-end{word-filter} + + @Override + default StopwordFilter and(Predicate other) { + Objects.requireNonNull(other); + return (t) -> test(t) && other.test(t); + } } -// fragment-end{word-filter} diff --git a/core/src/main/java/org/carrot2/text/preprocessing/StopListMarker.java b/core/src/main/java/org/carrot2/text/preprocessing/StopListMarker.java index 20e6c7c1f8..00b8bf0a03 100644 --- a/core/src/main/java/org/carrot2/text/preprocessing/StopListMarker.java +++ b/core/src/main/java/org/carrot2/text/preprocessing/StopListMarker.java @@ -43,7 +43,7 @@ public void mark(PreprocessingContext context) { CharArrayUtils.toLowerCase(word, buffer); mutableCharArray.reset(buffer, 0, word.length); - if (lexData.ignoreWord(mutableCharArray)) { + if (!lexData.test(mutableCharArray)) { types[i] |= Tokenizer.TF_COMMON_WORD; } } diff --git a/core/src/main/java/org/carrot2/text/preprocessing/filter/StopLabelFilter.java b/core/src/main/java/org/carrot2/text/preprocessing/filter/StopLabelFilter.java index 722b08db62..5dd3bdd675 100644 --- a/core/src/main/java/org/carrot2/text/preprocessing/filter/StopLabelFilter.java +++ b/core/src/main/java/org/carrot2/text/preprocessing/filter/StopLabelFilter.java @@ -38,12 +38,12 @@ public void filter( public boolean acceptPhrase(PreprocessingContext context, int phraseIndex) { final String formatedLabel = context.format(labelFormatter, phraseIndex + context.allWords.image.length); - return !labelFilter.ignoreLabel(formatedLabel); + return labelFilter.test(formatedLabel); } @Override public boolean acceptWord(PreprocessingContext context, int wordIndex) { final String formattedLabel = context.format(labelFormatter, wordIndex); - return !labelFilter.ignoreLabel(formattedLabel); + return labelFilter.test(formattedLabel); } } diff --git a/core/src/test/java/org/carrot2/language/DefaultLanguageComponentsProviderTest.java b/core/src/test/java/org/carrot2/language/DefaultLanguageComponentsProviderTest.java index 2d5ccef23f..12e85e2e01 100644 --- a/core/src/test/java/org/carrot2/language/DefaultLanguageComponentsProviderTest.java +++ b/core/src/test/java/org/carrot2/language/DefaultLanguageComponentsProviderTest.java @@ -10,7 +10,7 @@ */ package org.carrot2.language; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertFalse; import java.io.IOException; import java.io.StringReader; @@ -119,7 +119,7 @@ private void check(String language, String[][] stemmingData, String[] commonWord StopwordFilter wordFilter = components.get(StopwordFilter.class); for (String word : commonWords) { - assertTrue(wordFilter.ignoreWord(new MutableCharArray(word))); + assertFalse(wordFilter.test(new MutableCharArray(word))); } } } diff --git a/core/src/test/java/org/carrot2/language/EphemeralDictionariesTest.java b/core/src/test/java/org/carrot2/language/EphemeralDictionariesTest.java index d35a753b36..07121feb69 100644 --- a/core/src/test/java/org/carrot2/language/EphemeralDictionariesTest.java +++ b/core/src/test/java/org/carrot2/language/EphemeralDictionariesTest.java @@ -64,11 +64,11 @@ public void testDefaultFilterAttrImpl() { filter.regexp.set("foo.+"); LabelFilter labelFilter = filter.compileLabelFilter(); - Assertions.assertThat(labelFilter.ignoreLabel("word1")).isTrue(); - Assertions.assertThat(labelFilter.ignoreLabel("word2")).isTrue(); - Assertions.assertThat(labelFilter.ignoreLabel("word3")).isFalse(); - Assertions.assertThat(labelFilter.ignoreLabel("foobar")).isTrue(); - Assertions.assertThat(labelFilter.ignoreLabel("prefix-foobar")).isFalse(); + Assertions.assertThat(labelFilter.test("word1")).isFalse(); + Assertions.assertThat(labelFilter.test("word2")).isFalse(); + Assertions.assertThat(labelFilter.test("word3")).isTrue(); + Assertions.assertThat(labelFilter.test("foobar")).isFalse(); + Assertions.assertThat(labelFilter.test("prefix-foobar")).isTrue(); } @Test @@ -128,21 +128,21 @@ Entry negative(String... patterns) { StopwordFilter swFilter = filter.compileStopwordFilter(); for (String positiveExample : e.positive) { - Assertions.assertThat(labelFilter.ignoreLabel(positiveExample)) + Assertions.assertThat(labelFilter.test(positiveExample)) .as(e.patterns.toString() + " :: " + positiveExample) - .isTrue(); - Assertions.assertThat(swFilter.ignoreWord(positiveExample)) + .isFalse(); + Assertions.assertThat(swFilter.test(positiveExample)) .as(e.patterns.toString() + " :: " + positiveExample) - .isTrue(); + .isFalse(); } for (String negativeExample : e.negative) { - Assertions.assertThat(labelFilter.ignoreLabel(negativeExample)) + Assertions.assertThat(labelFilter.test(negativeExample)) .as(e.patterns.toString() + " :: " + negativeExample) - .isFalse(); - Assertions.assertThat(swFilter.ignoreWord(negativeExample)) + .isTrue(); + Assertions.assertThat(swFilter.test(negativeExample)) .as(e.patterns.toString() + " :: " + negativeExample) - .isFalse(); + .isTrue(); } } } diff --git a/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant1.java b/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant1.java index ccfa3c9111..dcffd8d2ae 100644 --- a/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant1.java +++ b/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant1.java @@ -21,8 +21,8 @@ public TestsLanguageComponentsFactoryVariant1() { registerResourceless(Stemmer.class, () -> (word) -> null); registerResourceless(Tokenizer.class, ExtendedWhitespaceTokenizer::new); - registerResourceless(StopwordFilter.class, () -> (word) -> false); - registerResourceless(LabelFilter.class, () -> (label) -> false); + registerResourceless(StopwordFilter.class, () -> (word) -> true); + registerResourceless(LabelFilter.class, () -> (label) -> true); registerResourceless(LabelFormatter.class, () -> new LabelFormatterImpl(" ")); } diff --git a/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant2.java b/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant2.java index c550b6dad2..2531f3140c 100644 --- a/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant2.java +++ b/core/src/test/java/org/carrot2/language/TestsLanguageComponentsFactoryVariant2.java @@ -21,9 +21,9 @@ public TestsLanguageComponentsFactoryVariant2() { registerResourceless(Stemmer.class, this::createStemmer); registerResourceless(Tokenizer.class, ExtendedWhitespaceTokenizer::new); - StopwordFilter wordFilter = (word) -> word.toString().contains("stop"); + StopwordFilter wordFilter = (word) -> !word.toString().contains("stop"); registerResourceless(StopwordFilter.class, () -> wordFilter); - LabelFilter labelFilter = (label) -> label.toString().startsWith("stoplabel"); + LabelFilter labelFilter = (label) -> !label.toString().startsWith("stoplabel"); registerResourceless(LabelFilter.class, () -> labelFilter); registerResourceless(LabelFormatter.class, () -> new LabelFormatterImpl(" ")); } diff --git a/dcs/contexts/service/src/test/java/org/carrot2/dcs/servlets/DummyAlgorithmProvider.java b/dcs/contexts/service/src/test/java/org/carrot2/dcs/servlets/DummyAlgorithmProvider.java index 422519a239..00009234ca 100644 --- a/dcs/contexts/service/src/test/java/org/carrot2/dcs/servlets/DummyAlgorithmProvider.java +++ b/dcs/contexts/service/src/test/java/org/carrot2/dcs/servlets/DummyAlgorithmProvider.java @@ -60,8 +60,7 @@ public List> cluster( List> clusters = new ArrayList<>(); Consumer> addToClusters = (c) -> { - if (c.getDocuments().size() > 0 - && c.getLabels().stream().noneMatch(labelFilter::ignoreLabel)) { + if (c.getDocuments().size() > 0 && c.getLabels().stream().allMatch(labelFilter)) { clusters.add(c); } }; diff --git a/lang/lucene-chinese/src/test/java/org/carrot2/language/chinese/AbstractLanguageComponentsTest.java b/lang/lucene-chinese/src/test/java/org/carrot2/language/chinese/AbstractLanguageComponentsTest.java index 511d4b4c0e..f77e340882 100644 --- a/lang/lucene-chinese/src/test/java/org/carrot2/language/chinese/AbstractLanguageComponentsTest.java +++ b/lang/lucene-chinese/src/test/java/org/carrot2/language/chinese/AbstractLanguageComponentsTest.java @@ -57,7 +57,7 @@ public void testStemming() { public void testCommonWords() { StopwordFilter wordFilter = components.get(StopwordFilter.class); for (String word : stopWords) { - Assertions.assertThat(wordFilter.ignoreWord(new MutableCharArray(word))).as(word).isTrue(); + Assertions.assertThat(wordFilter.test(new MutableCharArray(word))).as(word).isFalse(); } } diff --git a/lang/lucene-japanese/src/test/java/org/carrot2/language/japanese/AbstractLanguageComponentsTest.java b/lang/lucene-japanese/src/test/java/org/carrot2/language/japanese/AbstractLanguageComponentsTest.java index 911367cbdd..657825d422 100644 --- a/lang/lucene-japanese/src/test/java/org/carrot2/language/japanese/AbstractLanguageComponentsTest.java +++ b/lang/lucene-japanese/src/test/java/org/carrot2/language/japanese/AbstractLanguageComponentsTest.java @@ -57,7 +57,7 @@ public void testStemming() { public void testCommonWords() { StopwordFilter wordFilter = components.get(StopwordFilter.class); for (String word : stopWords) { - Assertions.assertThat(wordFilter.ignoreWord(new MutableCharArray(word))).as(word).isTrue(); + Assertions.assertThat(wordFilter.test(new MutableCharArray(word))).as(word).isFalse(); } } diff --git a/lang/lucene-korean/src/test/java/org/carrot2/language/korean/AbstractLanguageComponentsTest.java b/lang/lucene-korean/src/test/java/org/carrot2/language/korean/AbstractLanguageComponentsTest.java index c73a66dca9..99c74bd69d 100644 --- a/lang/lucene-korean/src/test/java/org/carrot2/language/korean/AbstractLanguageComponentsTest.java +++ b/lang/lucene-korean/src/test/java/org/carrot2/language/korean/AbstractLanguageComponentsTest.java @@ -57,7 +57,7 @@ public void testStemming() { public void testCommonWords() { StopwordFilter wordFilter = components.get(StopwordFilter.class); for (String word : stopWords) { - Assertions.assertThat(wordFilter.ignoreWord(new MutableCharArray(word))).as(word).isTrue(); + Assertions.assertThat(wordFilter.test(new MutableCharArray(word))).as(word).isFalse(); } } diff --git a/lang/lucene/src/test/java/org/carrot2/language/extras/AbstractLanguageComponentsTest.java b/lang/lucene/src/test/java/org/carrot2/language/extras/AbstractLanguageComponentsTest.java index 2a1dfff5d6..9313b5f5d3 100644 --- a/lang/lucene/src/test/java/org/carrot2/language/extras/AbstractLanguageComponentsTest.java +++ b/lang/lucene/src/test/java/org/carrot2/language/extras/AbstractLanguageComponentsTest.java @@ -57,7 +57,7 @@ public void testStemming() { public void testCommonWords() { StopwordFilter wordFilter = components.get(StopwordFilter.class); for (String word : stopWords) { - Assertions.assertThat(wordFilter.ignoreWord(new MutableCharArray(word))).as(word).isTrue(); + Assertions.assertThat(wordFilter.test(new MutableCharArray(word))).as(word).isFalse(); } } diff --git a/lang/polish/src/test/java/org/carrot2/language/polish/PolishLanguageComponentsTest.java b/lang/polish/src/test/java/org/carrot2/language/polish/PolishLanguageComponentsTest.java index 9168205a91..82dcf4c5dc 100644 --- a/lang/polish/src/test/java/org/carrot2/language/polish/PolishLanguageComponentsTest.java +++ b/lang/polish/src/test/java/org/carrot2/language/polish/PolishLanguageComponentsTest.java @@ -57,7 +57,7 @@ public void testStemming() throws Exception { public void testCommonWords() throws Exception { StopwordFilter wordFilter = getComponents().get(StopwordFilter.class); for (String word : getCommonWordsTestData()) { - Assertions.assertThat(wordFilter.ignoreWord(new MutableCharArray(word))).as(word).isTrue(); + Assertions.assertThat(wordFilter.test(new MutableCharArray(word))).as(word).isFalse(); } } }