Stemmer.Rules (Stemmer v1.2.0)

Summary

Functions

Examples

iex> Stemmer.Rules.invariant?("sky")
{true, "sky"}

iex> Stemmer.Rules.invariant?("skynet")
{false, "skynet"}

Examples

iex> Stemmer.Rules.invariant_after_1a?("inning")
{true, "inning"}

iex> Stemmer.Rules.invariant_after_1a?("manning")
{false, "manning"}

R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel.

R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel.

Examples

iex> Stemmer.Rules.replace_suffix_in_r1("sensational", "ational", "ate")
{:found, "sensate"}

Examples

iex> Stemmer.Rules.short?("rap")
true

iex> Stemmer.Rules.short?("trap")
true

iex> Stemmer.Rules.short?("ow")
true

iex> Stemmer.Rules.short?("on")
true

iex> Stemmer.Rules.short?("at")
true

iex> Stemmer.Rules.short?("bed")
true

iex> Stemmer.Rules.short?("shed")
true

iex> Stemmer.Rules.short?("shred")
true

iex> Stemmer.Rules.short?("uproot")
false

iex> Stemmer.Rules.short?("bestow")
false

iex> Stemmer.Rules.short?("disturb")
false

iex> Stemmer.Rules.short?("bead")
false

iex> Stemmer.Rules.short?("embed")
false

iex> Stemmer.Rules.short?("beds")
false

Functions

Link to this function

invariant?(word)

Examples

iex> Stemmer.Rules.invariant?("sky")
{true, "sky"}

iex> Stemmer.Rules.invariant?("skynet")
{false, "skynet"}
Link to this function

invariant_after_1a?(word)

Examples

iex> Stemmer.Rules.invariant_after_1a?("inning")
{true, "inning"}

iex> Stemmer.Rules.invariant_after_1a?("manning")
{false, "manning"}

R1 is the region after the first non-vowel following a vowel, or is the null region at the end of the word if there is no such non-vowel.

Examples

iex> Stemmer.Rules.r1("beautiful")
"iful"

iex> Stemmer.Rules.r1("beauty")
"y"

iex> Stemmer.Rules.r1("beaut")
""

iex> Stemmer.Rules.r1("beau")
""

iex> Stemmer.Rules.r1("animadversion")
"imadversion"

iex> Stemmer.Rules.r1("sprinkled")
"kled"

iex> Stemmer.Rules.r1("eucharist")
"harist"

iex> Stemmer.Rules.r1("generation")
"ation"

iex> Stemmer.Rules.r1("communication")
"ication"

iex> Stemmer.Rules.r1("arsenal")
"al"

R2 is the region after the first non-vowel following a vowel in R1, or is the null region at the end of the word if there is no such non-vowel.

Examples

iex> Stemmer.Rules.r2("beautiful")
"ul"

iex> Stemmer.Rules.r2("beauty")
""

iex> Stemmer.Rules.r1("beaut")
""

iex> Stemmer.Rules.r2("beau")
""

iex> Stemmer.Rules.r2("animadversion")
"adversion"

iex> Stemmer.Rules.r2("sprinkled")
""

iex> Stemmer.Rules.r2("eucharist")
"ist"
Link to this function

replace_suffix_in_r1(word, suffix, replacement)

Examples

iex> Stemmer.Rules.replace_suffix_in_r1("sensational", "ational", "ate")
{:found, "sensate"}

Examples

iex> Stemmer.Rules.short?("rap")
true

iex> Stemmer.Rules.short?("trap")
true

iex> Stemmer.Rules.short?("ow")
true

iex> Stemmer.Rules.short?("on")
true

iex> Stemmer.Rules.short?("at")
true

iex> Stemmer.Rules.short?("bed")
true

iex> Stemmer.Rules.short?("shed")
true

iex> Stemmer.Rules.short?("shred")
true

iex> Stemmer.Rules.short?("uproot")
false

iex> Stemmer.Rules.short?("bestow")
false

iex> Stemmer.Rules.short?("disturb")
false

iex> Stemmer.Rules.short?("bead")
false

iex> Stemmer.Rules.short?("embed")
false

iex> Stemmer.Rules.short?("beds")
false
Link to this function

short_syllable()