Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > a2e5ae2091c2674a899ba2cbfce176e5 > files > 26

festival-2.1-3.mga1.i586.rpm

<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52
     from ../festival.texi on 2 August 2001 -->

<TITLE>Festival Speech Synthesis System - 16  POS tagging</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
Go to the <A HREF="festival_1.html">first</A>, <A HREF="festival_15.html">previous</A>, <A HREF="festival_17.html">next</A>, <A HREF="festival_35.html">last</A> section, <A HREF="festival_toc.html">table of contents</A>.
<P><HR><P>


<H1><A NAME="SEC62" HREF="festival_toc.html#TOC62">16  POS tagging</A></H1>

<P>
<A NAME="IDX241"></A>
<A NAME="IDX242"></A>
<A NAME="IDX243"></A>
Part of speech tagging is a fairly well-defined process.  Festival
includes a part of speech tagger following the HMM-type taggers as found
in the Xerox tagger and others (e.g. <CITE>DeRose88</CITE>).  Part of speech
tags are assigned, based on the probability distribution of tags given a
word, and from ngrams of tags.  These models are externally specified
and a Viterbi decoder is used to assign part of speech tags at run time.

</P>
<P>
So far this tagger has only been used for English but there
is nothing language specific about it.  The module <CODE>POS</CODE>
assigns the tags.  It accesses the following variables for
parameterization.
<DL COMPACT>

<DT><CODE>pos_lex_name</CODE>
<DD>
The name of a "lexicon" holding reverse probabilities of words
given a tag (indexed by word).  If this is unset or has the
value <CODE>NIL</CODE> no part of speech tagging takes place.
<DT><CODE>pos_ngram_name</CODE>
<DD>
The name of a loaded ngram model of part of speech tags (loaded
by <CODE>ngram.load</CODE>).
<DT><CODE>pos_p_start_tag</CODE>
<DD>
The name of the most likely tag before the start of an utterance.
This is typically the tag for sentence final punctuation marks.
<DT><CODE>pos_pp_start_tag</CODE>
<DD>
The name of the most likely tag two before the start of an utterance.
For English the is typically a simple noun, but for other languages
it might be a verb.  If the ngram model is bigger than three
this tag is effectively repeated for the previous left contexts.
<DT><CODE>pos_map</CODE>
<DD>
We have found that it is often better to use a rich tagset for
prediction of part of speech tags but that in later use (phrase breaks
and dictionary lookup) a much more constrained tagset is better.  Thus
mapping of the predicted tagset to a different tagset is supported.
<CODE>pos_map</CODE> should be a a list of pairs consisting of a list of tags
to be mapped and the new tag they are to be mapped to.
</DL>

<P>
Note is it important to have the part of speech tagger match 
the tags used in later parts of the system, particularly the
lexicon.  Only two of our lexicons used so far have
(mappable) part of speech labels.

</P>
<P>
An example of the part of speech tagger for English can be found in
<TT>`lib/pos.scm'</TT>.

</P>
<P><HR><P>
Go to the <A HREF="festival_1.html">first</A>, <A HREF="festival_15.html">previous</A>, <A HREF="festival_17.html">next</A>, <A HREF="festival_35.html">last</A> section, <A HREF="festival_toc.html">table of contents</A>.
</BODY>
</HTML>