chmorph with English words

Help
Eleonora
2009-05-08
2013-06-03
  • Eleonora
    Eleonora
    2009-05-08

    I try to use chmorph with English words.
    en_US.aff head:
    FLAG num
    AF 589
    AF 2,3 # 1
    AF 2 # 2

    en_US.dic head:
    52890
    A/1     1
    AA/2    1
    AAA
    Aachen

    Experiments:
    en@anonymous:~/program/humorph$ echo book | ./chmorph en_US.aff en_US.dic /dev/stdin ts:nom "ts:PLUR ts:NOM"
    book

    (I expected books)

    en@anonymous:~/program/humorph$ echo write | ./chmorph en_US.aff en_US.dic /dev/stdin SG_1 SG_3
    write

    (I expected writes)

    Where is the error?

     
    • Eleonora
      Eleonora
      2009-06-01

      hunspell analysis and generation also works with English:

      en@anonymous:~/program/humorph$ echo books |./analyze en_US.aff en_US.dic /dev/stdin
      > books
      analyze(books) =  st:book ts:0 is:Ns
      analyze(books) =  st:book ts:0 is:Vs
      stem(books) = book

      en@anonymous:~/program/humorph$ echo book |./analyze en_US.aff en_US.dic /dev/stdin
      > book
      analyze(book) =  st:book ts:0
      stem(book) = book

      en@anonymous:~/program/humorph$ echo book | ./chmorph en_US.aff en_US.dic /dev/stdin ts:0 "ts:0 is:Ns"
      books

      en@anonymous:~/program/humorph$ echo read |./analyze en_US.aff en_US.dic /dev/stdin
      > read
      analyze(read) =  st:read ts:0
      stem(read) = read

      en@anonymous:~/program/humorph$ echo reads |./analyze en_US.aff en_US.dic /dev/stdin
      > reads
      analyze(reads) =  st:read ts:0 is:Ns
      analyze(reads) =  st:read ts:0 is:Vs
      stem(reads) = read

      en@anonymous:~/program/humorph$ echo read | ./chmorph en_US.aff en_US.dic /dev/stdin ts:0 "ts:0 is:Ns"
      reads

      en@anonymous:~/program/humorph$ echo book boys | ./analyze en_US.aff en_US.dic /dev/stdin
      generate(book, boys) = books

      en@anonymous:~/program/humorph$ echo rainbow | ./analyze en_US.aff en_US.dic /dev/stdin
      > rainbow
      analyze(rainbow) =  st:rainbow ts:0
      stem(rainbow) = rainbow

      en@anonymous:~/program/humorph$ echo rainbows | ./analyze en_US.aff en_US.dic /dev/stdin
      > rainbows
      analyze(rainbows) =  st:rainbow ts:0 is:Ns
      stem(rainbows) = rainbow

      en@anonymous:~/program/humorph$ echo rainbow | ./chmorph en_US.aff en_US.dic /dev/stdin ts:0 "ts:0 is:Ns"
      rainbows

      en@anonymous:~/program/humorph$ echo nice |./analyze en_US.aff en_US.dic /dev/stdin
      > nice
      analyze(nice) =  st:nice ts:0
      stem(nice) = nice

      en@anonymous:~/program/humorph$ echo nicely |./analyze en_US.aff en_US.dic /dev/stdin
      > nicely
      analyze(nicely) =  st:nice ts:0 is:Ay
      stem(nicely) = nice

      en@anonymous:~/program/humorph$ echo elderly |./analyze en_US.aff en_US.dic /dev/stdin
      > elderly
      analyze(elderly) =  st:elderly ts:0
      analyze(elderly) =  st:elder ts:0 is:Ay
      stem(elderly) = elderly
      stem(elderly) = elder

      en@anonymous:~/program/humorph$ echo elder |./chmorph en_US.aff en_US.dic /dev/stdin ts:0 "ts:0 is:Ay"
      elderly

      The issue can be closed.