Sophie

Sophie

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

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 - 17  Phrase breaks</TITLE>
</HEAD>
<BODY bgcolor="#ffffff">
Go to the <A HREF="festival_1.html">first</A>, <A HREF="festival_16.html">previous</A>, <A HREF="festival_18.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="SEC63" HREF="festival_toc.html#TOC63">17  Phrase breaks</A></H1>

<P>
<A NAME="IDX244"></A>
There are two methods for predicting phrase breaks in Festival, one
simple and one sophisticated.  These two methods are selected through
the parameter <CODE>Phrase_Method</CODE> and phrasing is achieved by the
module <CODE>Phrasify</CODE>.

</P>
<P>
The first method is by CART tree.  If parameter <CODE>Phrase_Method</CODE> is
<CODE>cart_tree</CODE>, the CART tree in the variable <CODE>phrase_cart_tree</CODE>
is applied to each word to see if a break should be inserted or not.
The tree should predict categories <CODE>BB</CODE> (for big break), <CODE>B</CODE>
(for break) or <CODE>NB</CODE> (for no break).  A simple example of a tree to
predict phrase breaks is given in the file <TT>`lib/phrase.scm'</TT>.

<PRE>
(set! simple_phrase_cart_tree
'
((R:Token.parent.punc in ("?" "." ":"))
  ((BB))
  ((R:Token.parent.punc in ("'" "\"" "," ";"))
   ((B))
   ((n.name is 0)
    ((BB))
    ((NB))))))
</PRE>

<P>
The second and more elaborate method of phrase break prediction is used
when the parameter <CODE>Phrase_Method</CODE> is <CODE>prob_models</CODE>.  In this
case a probabilistic model using probabilities of a break after a word
based on the part of speech of the neighbouring words and the previous
word.  This is combined with a ngram model of the distribution of breaks
and non-breaks using a Viterbi decoder to find the optimal phrasing of
the utterance.  The results using this technique are good and even show
good results on unseen data from other researchers' phrase break tests
(see <CITE>black97b</CITE>).  However sometimes it does sound wrong,
suggesting there is still further work required.

</P>
<P>
Parameters for this module are set through the feature list held
in the variable <CODE>phr_break_params</CODE>, and example of which 
for English is set in <CODE>english_phr_break_params</CODE> in 
the file <TT>`lib/phrase.scm'</TT>.  The features names and meaning are

</P>
<DL COMPACT>

<DT><CODE>pos_ngram_name</CODE>
<DD>
The name of a loaded ngram that gives probability distributions of B/NB
given previous, current and next part of speech.
<DT><CODE>pos_ngram_filename</CODE>
<DD>
The filename containing <CODE>pos_ngram_name</CODE>.
<DT><CODE>break_ngram_name</CODE>
<DD>
The name of a loaded ngram of B/NB distributions.  This is typically
a 6 or 7-gram.
<DT><CODE>break_ngram_filename</CODE>
<DD>
The filename containing <CODE>break_ngram_name</CODE>.
<DT><CODE>gram_scale_s</CODE>
<DD>
A weighting factor for breaks in the break/non-break ngram.  Increasing
the value insertes more breaks, reducing it causes less breaks to be
inserted.
<DT><CODE>phrase_type_tree</CODE>
<DD>
A CART tree that is used to predict type of break given the predict
break position.  This (rather crude) technique is current used to
distinguish major and minor breaks.
<DT><CODE>break_tags</CODE>
<DD>
A list of the break tags (typically <CODE>(B NB)</CODE>).
<DT><CODE>pos_map</CODE>
<DD>
A part of speech map used to map the <CODE>pos</CODE> feature of words
into a smaller tagset used by the phrase predictor.
</DL>

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