[RavenclawDev 173] Re: bypassing the parser
Svetlana Stenchikova
svetastenchikova at gmail.com
Sun Nov 5 19:52:53 EST 2006
I just thought of another way to implement this without changing RavenClaw:
Add another server ProcessRawData which receives the raw data input (in
parallel with the parser)
ProcessRawData outputs the input text in the format of the Parser:
[RawText] ( the typed in text )
The output is passed to the DialogManager.process_parse message
The the text will bind to all concept that are expected in the [RawText]
grammar mapping.
Please let me know your thoughts on this.
thank you
Svetlana
On 11/5/06, Svetlana Stenchikova <svetastenchikova at gmail.com> wrote:
>
> Dan, thank you for your answer. I have another question.
>
> We are interested in the functionality where a free text can be entered
> through TTY (or through free speech recognition).
>
> 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 into the concept in
> a dialog manager.
>
> We need to bypass the parser. I would need to make changes to the
> RavenClaw to accommodate this, right?
>
> Currently the user input from the TTY (or ASR) is processed by the
> parser.
>
> 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:
>
>
>
> ;; If we have a confidence annotated hypothesis, but
> ;; no parse, call phoenix to parse it
> ;; ---
> RULE: :confhyps & !:parses --> phoenix.phoenixparse
> IN: :confhyps :npow :pow :clip_info
> OUT: :total_numparses :parses :input_source
> LOG_OUT: :parses
>
>
>
> So I plan to add another entry:
>
> ;; If we have a confidence annotated hypothesis, but
> ;; no parse, call DM directly
> ;; ---
> RULE: :confhyps & !:parses --> DM.process_raw
> IN: :confhyps :npow :pow :clip_info
> OUT:
> LOG_OUT:
>
>
>
> Add process_raw() to
>
> Libraries/RavenClaw/DMInterfaces/GalaxyInterfaceFunctions.h& implement in
> GalaxyInterface.cpp
>
>
> 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.
> process_raw() assigns the text to a concept (but only in the case when
> the concept is currently expected):
> For every expected concept as compiled by
> CDMCoreAgent::compileExpectationAgenda():
> If a concept is a "raw speech" concept, set its value to the raw text
> received in an input frame to process_raw
> I would have to add a type to a concept to indicate that it allows "raw
> text" input.
>
>
> Does this implementation plan make sense?
>
> Could you please make any suggestions?
>
> Jahanzeb must have done something similar because his application can
> record user's input. Do you know how that was implemented?
>
>
> Thank you,
> Svetlana
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.srv.cs.cmu.edu/pipermail/ravenclaw-developers/attachments/20061105/1bfdd3f3/attachment.html
More information about the Ravenclaw-developers
mailing list