<br>Hello Asheesh,<br><br><div class="gmail_quote">On Mon, Jun 30, 2008 at 2:41 AM, Asheesh Laroia &lt;<a href="mailto:openmoko@asheesh.org">openmoko@asheesh.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Sun, 29 Jun 2008, saurabh gupta wrote:<br>
<br>
&gt; &nbsp; &nbsp;Besides this, some modification is being done in the noise rejection<br>
&gt; part since it can degrade the performance wildly. I will use zero crossing<br>
&gt; rate and short term energy algorithm for end point detection. My model will<br>
&gt; also use left to right HMM. But for properly training HMM models one needs<br>
&gt; more than one training sequence. It means that in speaker dependent<br>
&gt; recognition, for training any word, one needs to utter the same word two or<br>
&gt; three times so that proper modeling of HMM parameters take place. When more<br>
&gt; than one training sequence is used for training, baum welch or K-means<br>
&gt; segmental method gives better modeling of HMM &nbsp;parameters.<br>
<br>
</div>The training problem is interesting. &nbsp;Here is my idea; please let me know<br>
if it&#39;s bogus:<br>
<br>
The user utters a phrase and the HMM classifies it as meaning something.<br>
We can wait a short while to see if the user does something to indicate<br>
that this classification is incorrect. &nbsp;If there is no such action, and if<br>
the HMM had low confidence of its classification, train it on the<br>
utterance just issued so that next time it would be more confident (and<br>
presumably catch further variants).<br></blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Obviously, there is the danger of over-training. &nbsp;It seems we can mitigate<br>
that through (1) our detection that the utterance was correctly classified<br>
by the HMM, given that the user didn&#39;t do anything to correct it, and (2)<br>
perhaps limiting the system to only do this re-training if the counter of<br>
how many training data have been used for this particular classification<br>
is below some constant. &nbsp;That constant could decay over time, for example,<br>
to allow us to gently migrate to varying patterns (and so that if a phone<br>
transfers owners it would gracefully switch to the new patterns).<br>
</blockquote><div><br>You have identified the correct and justified problem in training. I thought to handle it in this way. Whenever a user runs this application, the GUI for speech recognition will ask it to go in training or recognition mode. In training mode, after uttering a word, the GUI will again ask the user to utter the same word again and so on. The user will have to feed the training word three times (I have assumed that constant to be three) to fully create a word in the vocabulary. If the user terminates the application or mishandles it before three sequences, the application will not save the word. However there is no easy way to detect the mishandling since if the user neither&nbsp; terminates the application nor speaks training word again, application can pick the louder noise thinking it as the training word and wrong result will be produced. This is always a bigger problem in speech related applications since environment noise as well as end point detection is quite difficult in real world scenario.&nbsp; <br>
&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Thoughts?<br>
<div class="Ih2E3d"><br>
&gt; Next To Do:<br>
&gt; 1)Porting the whole code on openmoko platform:<br>
&gt; 2)testing with real adc channel of Freerunner<br>
&gt; 3)Proper testing of noise handling and recognition on freerunner<br>
<br>
</div>Your Next To Do list looks pretty great and full enough even without my<br>
suggestion, but I&#39;m still curious what you and others think. (-:<br>
<br>
-- Asheesh.<br>
<font color="#888888"><br>
--<br>
The chief cause of problems is solutions.<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-- Eric Sevareid<br>
<br>
_______________________________________________<br>
Openmoko community mailing list<br>
<a href="mailto:community@lists.openmoko.org">community@lists.openmoko.org</a><br>
<a href="http://lists.openmoko.org/mailman/listinfo/community" target="_blank">http://lists.openmoko.org/mailman/listinfo/community</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Saurabh Gupta<br>Electronics and Communication Engg.<br>NSIT,New Delhi, India<br>&quot;Problem is something which does have a solution, else it is called impossible........&quot;<br>
<br>