Comments (7)
Depends with what script you compose the descriptive and normative FSTs.
If you compose it with the normative analyzer as done in the crk.hfscript recipe in crk/inc (as you plonk it to the input side of the normative analyzer, and that requires inverting, I believe):
echo 'Composing spelling relaxation transducer with normative analyser transducer to create descriptive analyser.'
hfst-compose -F -1 crk-orth.hfst -2 crk-anl-norm.hfst | hfst-minimize - -o crk-anl-desc.hfst
If you create it using the standard Giella Make file, I believe that knows how to properly compile (and invert when necessary).
The one annoying difference between HFST vs. XFST and FOMA is in how they interpret input/surface/lower and output/underlying/upper sides in some compositions (which I've never fully understood - to me, lookup means looking up, so the input would be the lower side and the analysis the upper side, which is at the same time the underlying form, which gets confusing). From folks in the know, the HFST solution would be more proper, but that's less of a consolation when XFST and FOMA operate differently.
from plains-cree-fsts.
We will probably want to implement a spell-relax rule also for word-final -uh
, so that one can recognize neeyuh
for nîya
, and maybe some other interference from English.
from plains-cree-fsts.
The latest spellrelax file and how it is compiled (from crk.hfscript) should be the following:
hfst-regexp2fst -S -i $GTLANG_crk/src/orthography/spellrelax.regex | hfst-invert -o crk-orth.hfst
As far as I can remember, I've tried to have only one spellrelax file for all purposes.
For the record, for the spell-checker, I've also tried to specify exactly the same modifications for the error model, though that requires using the different formalism in the *.default.txt files.
from plains-cree-fsts.
It needs to be INVERTED?
from plains-cree-fsts.
These are the results I get when the spell relax is INVERTED:
echo "acuhkos" | flookup crk-descriptive-analyzer.fomabin
acuhkos acâhkos+N+A+Sg
acuhkos ahcahk+N+A+Der/Dim+N+A+Sg
acuhkos atâhk+N+A+Der/Dim+N+A+Sg
echo "neeya" | flookup crk-descriptive-analyzer.fomabin
neeya niya+Pron+Pers+1Sg
neeya niyâ+Ipc
echo "neeyu" | flookup crk-descriptive-analyzer.fomabin
neeyu niyâ+Ipc
neeyu niya+Pron+Pers+1Sg
Does this look right?
from plains-cree-fsts.
Yup. I'm relying on the standard descriptive HFST in giella (our own script doesn't incorporate the regex's concerning various permutations of capitalization, but that shouldn't matter here):
hfst-optimized-lookup -q src/analyser-gt-desc.hfstol
You should also get the same results with ucukos
and ucuhkos
.
from plains-cree-fsts.
I inverted the FST as of 751f86f and now it works! Closing.
from plains-cree-fsts.
Related Issues (20)
- Discrepancy using `kâ-` in layouts HOT 1
- Incorrect tense marker in FST implementation HOT 8
- Implement a spell-relax rule also for word-final `-uh` HOT 1
- (Descriptive) Fomabin no longer analyzes "nipa" HOT 1
- Imperatives for the VTAti subclass HOT 1
- Unspecified actors for AI verbs HOT 3
- -n/h alternation for II verbs HOT 1
- Productive recognition of diminutives HOT 1
- New Foma FST build script HOT 6
- Split numerals file? HOT 3
- VTA-1 with glides HOT 4
- Descriptive analyzer should accept "ni-ki-pimohtanan" HOT 1
- Normative analyser misses correctly spelled particles (and one verb)
- kê- not recognized as preverb HOT 1
- Possible typo for `langs/crk/inc/paradigms/verb-ai-full.layout` HOT 3
- Question: paradigm strings for forms in FSTs, but not on itwêwina site HOT 12
- Missing alternative form for `V+AI+Ind+Fut+Def+3Sg` HOT 6
- Document how to generate forms with alternative grammatical preverbs HOT 2
- Some stems should not be stems HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plains-cree-fsts.