Class SymSpell
- java.lang.Object
-
- org.languagetool.rules.spelling.symspell.implementation.SymSpell
-
- All Implemented Interfaces:
java.io.Serializable
public class SymSpell extends java.lang.Object implements java.io.Serializable- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classSymSpell.SegmentedSuggestionstatic classSymSpell.Verbosity
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.lang.Long>belowThresholdWordsprivate intcompactMaskprivate longcountThresholdprivate static intdefaultCompactLevelprivate static intdefaultCountThresholdprivate static intdefaultInitialCapacityprivate static intdefaultMaxEditDistanceprivate static intdefaultPrefixLengthprivate java.util.Map<java.lang.Integer,java.lang.String[]>deletesprivate EditDistance.DistanceAlgorithmdistanceAlgorithmprivate intinitialCapacityprivate intmaxDictionaryEditDistanceprivate intmaxLengthprivate static longNprivate intprefixLengthprivate java.util.Map<java.lang.String,java.lang.Long>words
-
Constructor Summary
Constructors Constructor Description SymSpell(int initialCapacity, int maxDictionaryEditDistance, int prefixLength, int countThreshold)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommitStaged(SuggestionStage staging)booleancreateDictionary(java.lang.String corpus)booleancreateDictionaryEntry(java.lang.String key, long count, SuggestionStage staging)private booleandeleteInSuggestionPrefix(java.lang.String delete, int deleteLen, java.lang.String suggestion, int suggestionLen)private java.util.HashSet<java.lang.String>edits(java.lang.String word, int editDistance, java.util.HashSet<java.lang.String> deleteWords)private java.util.HashSet<java.lang.String>editsPrefix(java.lang.String key)private intgetStringHash(java.lang.String s)booleanloadDictionary(java.io.BufferedReader br, int termIndex, int countIndex)booleanloadDictionary(java.io.InputStream corpus, int termIndex, int countIndex)booleanloadDictionary(java.lang.String corpus, int termIndex, int countIndex)java.util.List<SuggestItem>lookup(java.lang.String input, SymSpell.Verbosity verbosity)java.util.List<SuggestItem>lookup(java.lang.String input, SymSpell.Verbosity verbosity, int maxEditDistance)java.util.List<SuggestItem>lookupCompound(java.lang.String input)java.util.List<SuggestItem>lookupCompound(java.lang.String input, int maxEditDistance)private java.lang.String[]parseWords(java.lang.String text)voidpurgeBelowThresholdWords()SymSpell.SegmentedSuggestionwordSegmentation(java.lang.String input)SymSpell.SegmentedSuggestionwordSegmentation(java.lang.String input, int maxEditDistance)SymSpell.SegmentedSuggestionwordSegmentation(java.lang.String input, int maxEditDistance, int maxSegmentationWordLength)
-
-
-
Field Detail
-
defaultMaxEditDistance
private static int defaultMaxEditDistance
-
defaultPrefixLength
private static int defaultPrefixLength
-
defaultCountThreshold
private static int defaultCountThreshold
-
defaultInitialCapacity
private static int defaultInitialCapacity
-
defaultCompactLevel
private static int defaultCompactLevel
-
initialCapacity
private int initialCapacity
-
maxDictionaryEditDistance
private int maxDictionaryEditDistance
-
prefixLength
private int prefixLength
-
countThreshold
private long countThreshold
-
compactMask
private int compactMask
-
distanceAlgorithm
private EditDistance.DistanceAlgorithm distanceAlgorithm
-
maxLength
private int maxLength
-
deletes
private java.util.Map<java.lang.Integer,java.lang.String[]> deletes
-
words
private java.util.Map<java.lang.String,java.lang.Long> words
-
belowThresholdWords
private java.util.Map<java.lang.String,java.lang.Long> belowThresholdWords
-
N
private static long N
-
-
Method Detail
-
createDictionaryEntry
public boolean createDictionaryEntry(java.lang.String key, long count, SuggestionStage staging)
-
loadDictionary
public boolean loadDictionary(java.lang.String corpus, int termIndex, int countIndex)
-
loadDictionary
public boolean loadDictionary(java.io.InputStream corpus, int termIndex, int countIndex)
-
loadDictionary
public boolean loadDictionary(java.io.BufferedReader br, int termIndex, int countIndex)
-
createDictionary
public boolean createDictionary(java.lang.String corpus)
-
purgeBelowThresholdWords
public void purgeBelowThresholdWords()
-
commitStaged
public void commitStaged(SuggestionStage staging)
-
lookup
public java.util.List<SuggestItem> lookup(java.lang.String input, SymSpell.Verbosity verbosity)
-
lookup
public java.util.List<SuggestItem> lookup(java.lang.String input, SymSpell.Verbosity verbosity, int maxEditDistance)
-
lookupCompound
public java.util.List<SuggestItem> lookupCompound(java.lang.String input, int maxEditDistance)
-
lookupCompound
public java.util.List<SuggestItem> lookupCompound(java.lang.String input)
-
deleteInSuggestionPrefix
private boolean deleteInSuggestionPrefix(java.lang.String delete, int deleteLen, java.lang.String suggestion, int suggestionLen)
-
parseWords
private java.lang.String[] parseWords(java.lang.String text)
-
edits
private java.util.HashSet<java.lang.String> edits(java.lang.String word, int editDistance, java.util.HashSet<java.lang.String> deleteWords)
-
editsPrefix
private java.util.HashSet<java.lang.String> editsPrefix(java.lang.String key)
-
getStringHash
private int getStringHash(java.lang.String s)
-
wordSegmentation
public SymSpell.SegmentedSuggestion wordSegmentation(java.lang.String input)
-
wordSegmentation
public SymSpell.SegmentedSuggestion wordSegmentation(java.lang.String input, int maxEditDistance)
-
wordSegmentation
public SymSpell.SegmentedSuggestion wordSegmentation(java.lang.String input, int maxEditDistance, int maxSegmentationWordLength)
-
-