/* * Carrot2 project. * * Copyright (C) 2002-2016, 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: * http://www.carrot2.org/carrot2.LICENSE */ package org.carrot2.text.preprocessing.filter; import org.carrot2.text.preprocessing.LabelFilterProcessor; import org.carrot2.text.preprocessing.LabelFilterTestBase; import org.junit.Test; /** * Test cases for {@link StopWordLabelFilter}. */ public class CompleteLabelFilterTest extends LabelFilterTestBase { @Override protected void initializeFilters(LabelFilterProcessor filterProcessor) { filterProcessor.stopWordLabelFilter.enabled = true; filterProcessor.completeLabelFilter.enabled = true; filterProcessor.completeLabelFilter.labelOverrideThreshold = 0.5; } @Test public void testEmpty() { final int [] expectedLabelsFeatureIndex = new int [] {}; check(expectedLabelsFeatureIndex); } @Test public void testOnePhrase() { createDocuments("aa bb cc . aa bb cc", "aa bb cc . aa bb cc"); final int [] expectedLabelsFeatureIndex = new int [] { 5 }; check(expectedLabelsFeatureIndex, 0); } @Test public void testSubphrases() { createDocuments("aa bb cc . aa bb cc", "bb cc . bb cc"); final int [] expectedLabelsFeatureIndex = new int [] { 5 }; check(expectedLabelsFeatureIndex, 0); } @Test public void testNestedPhrases() { createDocuments("aa bb cc dd . aa bb cc dd", "aa bb dd . aa bb dd"); final int [] expectedLabelsFeatureIndex = new int [] { 9, 11 }; check(expectedLabelsFeatureIndex, 0); } @Test public void testFuzzyOverrideApplied() { createDocuments("aa bb cc . aa bb cc . aa bb cc . aa bb cc . aa bb cc dd . aa bb cc dd"); final int [] expectedLabelsFeatureIndex = new int [] { 9 }; double previousThreshold = labelFilterProcessor.completeLabelFilter.labelOverrideThreshold; labelFilterProcessor.completeLabelFilter.labelOverrideThreshold = 0.3; check(expectedLabelsFeatureIndex, 0); labelFilterProcessor.completeLabelFilter.labelOverrideThreshold = previousThreshold; } @Test public void testFuzzyOverrideNotApplied() { createDocuments("aa bb cc . aa bb cc . aa bb cc . aa bb cc . aa bb cc dd . aa bb cc dd"); final int [] expectedLabelsFeatureIndex = new int [] { 7, 9 }; check(expectedLabelsFeatureIndex, 0); } @Test public void testOverridingByFilteredOutPhrase() { createDocuments("stop aa bb stop . stop aa bb stop"); final int [] expectedLabelsFeatureIndex = new int [] { 3 }; check(expectedLabelsFeatureIndex, 0); } }