[RavenclawDev 172] Re: bypassing the parser

Svetlana Stenchikova svetastenchikova at gmail.com
Sun Nov 5 18:43:42 EST 2006


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/d2d5ae0f/attachment-0001.html


More information about the Ravenclaw-developers mailing list