Phonological Rules and Hermit

26 views
Skip to first unread message

Scott Hamilton

unread,
Feb 7, 2016, 3:34:38 PM2/7/16
to flex...@googlegroups.com
Hey there,

So I am using the HermitCrab parser and I've run into some issues. The
parser 'unapplies' phonological rules (as mentioned in the
pdocumentation), and that is causing it to fail parsing in a few cases
for me.

For example, I have a metathesis rule that swaps /u/ and /i/ - that
is, whenever the vowel sequence /ui/ appears, it becomes /iu/.
However, the sequence /iu/ also can appear in the language without
being a result of the metathesis. So /piu/ is a valid word, but if
some morphological process produced /pui/ (/pu/ + /-i/), it would
become /piu/.

However, whenever the parser sees /iu/, it always applies the reverse
rule and only considers that form. So it never parses /piu/ as /piu/
even though /piu/ is in the lexicon as a stem - it always tries to
parse it as /pui/ with the metathesis rule applied.

Is there any way to get the parser to understand that just because a
phonological rule could have produced a particular sequence, that does
not mean that the sequence is always the result of that phonological
rule?

Thanks for your time,
Scott

maxwell

unread,
Feb 7, 2016, 7:53:33 PM2/7/16
to flex...@googlegroups.com
Scott--

The algorithm that HC uses for unapplying (most) phonological rules is
to change any phonological features that are assigned in the output of
the rule to "unknown". When those features are referred to by a rule
that applies earlier in the derivation (but of course after during
unapplication), unknown features are treated as perhaps having the
appropriate value. This does not cause those earlier rules to
over-apply in most cases; only in opaque rule orders (counter-feeding or
counter-bleeding) can they cause over-application. Any such
over-application is caught when HC applies the rules to actual lexical
forms (i.e. going in the opposite direction).

In the case of your metathesis rule, there are two ways HC might unapply
the rule. I don't remember how I did it back in the 90s when I wrote
the original HC, and of course it's possible the new HC does things
slightly differently. The two ways it might unapply the rule are:

1) The first is the way I described above for "ordinary" phonological
rules. That is, HC might remove the [-back] and [-round] feature values
of the surface /i/ and the [+back] and [+round] feature values of the
surface /u/, giving a form that is ambiguous among /ui/, /iu/, /ii/ and
/uu/ (assuming /u/ and /i/ are the only high vowels in your language).
This ought to work, because both an underlying /iu/ and an underlying
/ui/ would match that.

2) The other way is that HC might be doing something special for
metathesis rules. Metathesis rules can do funny things, like reverse a
consonant and a vowel. Since consonants and vowels differ in virtually
every feature (in most feature systems), simply removing feature values
of a C and a V that metathesize could result in a form that matches lots
of words in the lexicon (or words + affixes), slowing things down a lot.
So I might have put some special handling in for metathesis rules that
avoids the cost of this naive approach. The way this ought to work for
a surface /iu/ is that HC now tries two search paths: one in which the
metathesis rule is unapplied in a more literal way, by swapping the two
phonemes to give an intermediate /ui/; and one in which the metathesis
rule is not unapplied, leaving the intermediate /iu/.

From your description, it sounds like (2) is the case, but that only
the first search path is tried.

Unfortunately, that's as far as I can take it, because I haven't been
involved in HC for over a decade. (I wrote it for LinguaLinks in Prolog
and C, and someone else has since reprogrammed it in easier-to-maintain
languages.) Andy Black, are you out there?

Also, Scott, you mention that it fail "in a few cases." Are all the
cases metathesis rules?

--
Mike Maxwell
max...@umiacs.umd.edu
"I cannot believe that our existence in this universe
is a mere quirk of fate, an accident of history, an
incidental blip in the great cosmic drama. Our
involvement is too intimate. The physical species
Homo may count for nothing, but the existence of
mind in some organism on some planet in the universe
is surely a fact of fundamental significance. Through
conscious beings the universe has generated
self-awareness." --Paul Davies

Andy Black

unread,
Feb 9, 2016, 12:52:36 PM2/9/16
to flex...@googlegroups.com
Scott:

Yes, it does seem that Hermit Crab is always applying the metathesis rule and is not trying two paths.  I've forwarded your message to the programmer in charge of Hermit Crab.

Assuming that the environment for when the /ui/ goes to /iu/ cannot be better described and controlled, here is a work-around you can try for now.

For a word like /piu/ which should parse but does not because the metathesis rule is always applied and flips the /i/ and /u/, make the Citation Form field be the correct /piu/ but make the Lexeme Form be the incorrect /pui/.  Hermit Crab will flip the two vowels during the analysis portion, find the lexeme form and then synthesize it.

Using Try a Word, the result may look like this:


...



--Andy

Reply all
Reply to author
Forward
0 new messages