Class ProhibitedCompoundRule


  • public class ProhibitedCompoundRule
    extends org.languagetool.rules.Rule
    Find compounds that might be morphologically correct but are still probably wrong, like 'Lehrzeile'.
    Since:
    4.1
    • Field Detail

      • ignoreWords

        private static final java.util.List<java.lang.String> ignoreWords
      • blacklist

        private static final java.util.Set<java.lang.String> blacklist
      • ahoCorasickDoubleArrayTrie

        protected com.hankcs.algorithm.AhoCorasickDoubleArrayTrie<java.lang.String> ahoCorasickDoubleArrayTrie
      • prohibitedCompoundRuleSearcher

        private static final com.hankcs.algorithm.AhoCorasickDoubleArrayTrie<java.lang.String> prohibitedCompoundRuleSearcher
      • prohibitedCompoundRulePairMap

        private static final java.util.Map<java.lang.String,​java.util.List<ProhibitedCompoundRule.Pair>> prohibitedCompoundRulePairMap
      • lm

        private final org.languagetool.languagemodel.BaseLanguageModel lm
    • Constructor Detail

      • ProhibitedCompoundRule

        public ProhibitedCompoundRule​(java.util.ResourceBundle messages,
                                      org.languagetool.languagemodel.LanguageModel lm)
    • Method Detail

      • addItemsFromConfusionSets

        protected static void addItemsFromConfusionSets​(java.util.List<ProhibitedCompoundRule.Pair> pairs,
                                                        java.lang.String confusionSetsFile,
                                                        boolean isUpperCase)
      • setupAhoCorasickSearch

        protected static com.hankcs.algorithm.AhoCorasickDoubleArrayTrie<java.lang.String> setupAhoCorasickSearch​(java.util.List<ProhibitedCompoundRule.Pair> pairs,
                                                                                                                  java.util.Map<java.lang.String,​java.util.List<ProhibitedCompoundRule.Pair>> pairMap)
      • getId

        public java.lang.String getId()
        Specified by:
        getId in class org.languagetool.rules.Rule
      • getDescription

        public java.lang.String getDescription()
        Specified by:
        getDescription in class org.languagetool.rules.Rule
      • match

        public org.languagetool.rules.RuleMatch[] match​(org.languagetool.AnalyzedSentence sentence)
                                                 throws java.io.IOException
        Specified by:
        match in class org.languagetool.rules.Rule
        Throws:
        java.io.IOException
      • setConfusionPair

        public void setConfusionPair​(ProhibitedCompoundRule.Pair confusionPair)
        ignore automatically loaded pairs and only match using given confusionPair used for evaluation by ProhibitedCompoundRuleEvaluator
        Parameters:
        confusionPair - pair to evaluate, parts are assumed to be lowercase / null to reset