Dan, thank you for&nbsp; your answer. I have another question. <br>


<p class="MsoNormal">We are interested in the functionality where a free text can
be entered through TTY (or through free speech recognition). </p>




<p class="MsoNormal">For example, a user can be asked to describe the event. The
grammar for this description is not available, so we want to store all of the
typed ( or recognized) text, and/or a URL of the recorded speech <span style="">&nbsp;</span>into the concept in a dialog manager. </p>




<p class="MsoNormal">We need to bypass the parser. I would need to make changes
to the RavenClaw to accommodate this, right?</p>




<p class="MsoNormal">Currently the user input from the TTY (or ASR) <span style="">&nbsp;</span>is processed by the parser. </p>




<p class="MsoNormal">&nbsp;The control flow is determined by the .pgm file. This entry
causes it to call process_parse when an output from the parser is available:</p>


<p class="MsoNormal">&nbsp;</p>














<p class="MsoNormal">;; If we have a confidence annotated hypothesis, but<br>
;; no parse, call phoenix to parse it<br>
;; ---<br>
RULE: :confhyps &amp; !:parses --&gt; phoenix.phoenixparse<br>
IN: :confhyps :npow :pow :clip_info<br>
OUT: :total_numparses :parses :input_source<br>
LOG_OUT: :parses</p>






<p class="MsoNormal">&nbsp;</p>


<p class="MsoNormal">So I plan to add another entry:</p>




















<p class="MsoNormal">&nbsp;;; If we have a confidence annotated hypothesis, but<br>
;; no parse, call DM directly<br>
;; ---<br>
RULE: :confhyps &amp; !:parses --&gt; DM.process_raw<br>
IN: :confhyps :npow :pow :clip_info<br>
OUT:<br>
LOG_OUT:<br>
<br>
&nbsp;</p>


<p class="MsoNormal">Add process_raw() to </p>










<p class="MsoNormal">Libraries/RavenClaw/DMInterfaces/GalaxyInterfaceFunctions.h&amp; implement in GalaxyInterface.cpp<br>
&nbsp;</p>


















<p class="MsoNormal">process_raw() function will be called whenever an output
from the TTY (or ASR) is received. So, this output will go to both parser and
DialogManager.process_raw.<br>
process_raw() <span style="">&nbsp;</span>assigns
the text to a concept (but only in the case when the concept is currently expected):<br>
For every expected concept as compiled by <span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">CDMCoreAgent::compileExpectationAgenda():<br>
</span>If a concept is a "raw speech" concept, <span style="">&nbsp;</span>set its value to the raw text received in an <span style="">&nbsp;</span>input frame <span style="">&nbsp;</span>to process_raw&nbsp;<br>
I would have to add a type to a concept to indicate that it
allows "raw text" input.</p>




<p class="MsoNormal"><br>
Does this implementation plan make sense? </p>


<p class="MsoNormal">Could you please make any suggestions?</p>


<p class="MsoNormal">Jahanzeb must have done something similar because his
application can record user's input. Do you know how that was implemented?</p>


<p class="MsoNormal">&nbsp;</p>

Thank you,<br>
Svetlana<br>
<br>
<br>
<br>