UAlbertaALTLab / plains-cree-fsts

Mirror of the source code for the Plains Cree morphological analyzer/generator.
https://github.com/giellalt/lang-crk
Other
2 stars 1 forks source link

(Descriptive) Fomabin no longer analyzes "nipa" #14

Closed eddieantonio closed 5 years ago

eddieantonio commented 5 years ago

"nipa" should be analyzed as "nipâ" or "nipâw+V+AI+Imp+Imm+2Sg". This works in HFST:

$ echo "nipa" | hfst-lookup -q crk-descriptive-analyzer.hfst
nipa    nipâw+V+AI+Imp+Imm+2Sg  0.000000

And the optimized lookup:

$ echo "nipa" | hfst-optimized-lookup -q crk-descriptive-analyzer.hfstol
!! Warning: file contains more than one transducer          !!
!! This is currently not handled - using only the first one !!
nipa    nipâw+V+AI+Imp+Imm+2Sg

However, this CRASHES flookup!

$ echo "nipa" | flookup -q crk-descriptive-analyzer.fomabin
[1]    12880 done       echo "nipa" |
       12881 abort      flookup -q crk-descriptive-analyzer.fomabin

Trying to load the FST into Foma also crashes it!

$ foma
Foma, version 0.9.18alpha (svn r0)
Copyright © 2008-2015 Mans Hulden
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; for details, type "help license"

Type "help" to list all commands available.
Type "help <topic>" or help "<operator>" for further help.

foma[0]: load stack crk-descriptive-analyzer.fomabin
[1]    12891 abort      foma

However, the strict analyzer (spell relax not applied) still works...?

$ echo "nipâ" | flookup -q crk-strict-analyzer.fomabin
nipâ    nipâw+V+AI+Imp+Imm+2Sg

Note that fst-lookup does not crash on this Fomabin, and is actually usable for some analyses, but returns 0 results for nipa.

Possible sources of the bug:

eddieantonio commented 5 years ago

Another possible solution: