[RavenclawDev 198] Re: bypassing the parser

Svetlana Stenchikova svetastenchikova at gmail.com
Sun Nov 26 22:24:08 EST 2006


Thank you Dan, binding to the h3_hypothesis worked.
That's good because it saves me from doing more work  :)

Good luck on your interviews!

Svetlana


On 11/25/06, Dan Bohus <dbohus at cs.cmu.edu> wrote:
>
>  Hi Svetlana,
>
>
>
> RavenClaw can bind on any of the attributes in the input. For instance, if
> you look at the "new input arrived" line in a dialog log, below it you will
> have a dump of all the attributes of the input and their values. You will
> notice that there are things there which represent the various parse
> fragments such as [Yes] or [Query.location] (which you normally bind on
> the dialog task). At the same time, there are a number of other attributes
> starting with h3_ … these are the various features that helios3 in fact uses
> in the confidence annotation process. They are passed all the way to the DM.
> Among them, h3_hypothesis contains the actual text of the recognition and
> h3_parse_str contains the full parse of the current decoded result. You can
> therefore bind on [h3_hypothesis] to get the text of the recognition.
>
>
>
> Hope this helps, but let me know if you have other questions.
>
> Dan
>
>
>  ------------------------------
>
> *From:* ravenclaw-developers-bounces at LOGANBERRY.srv.cs.cmu.edu [mailto:
> ravenclaw-developers-bounces at LOGANBERRY.srv.cs.cmu.edu] * On Behalf Of *Svetlana
> Stenchikova
> *Sent:* Thursday, November 09, 2006 9:40 AM
> *To:* Antoine Raux
> *Cc:* ravenclaw-developers at cs.cmu.edu
> *Subject:* [RavenclawDev 188] Re: bypassing the parser
>
>
>
> Hi Antoine (or Dan),
>
> did you, by any chance, remember the syntax for the grammar mapping to get
> text instead of a parse in a request/expect agent?
>
> Thank you
> Svetlana
>
> On 11/5/06, *Antoine Raux* <antoine at cs.cmu.edu> wrote:
>
> Hi Svetlana,
>
> RavenClaw actually has access to the (recognized) text corresponding to
> each input, whether it's parsable or not. It's part of the set of
> features that Helios passes to the DM. I forgot exactly how to access
> these features but I believe it's basically a grammar mapping with a
> special prefix that indicates that you're not binding a grammar slot but
> a Helios input structure slot. Sorry I don't remember the exact syntax
> now... If nobody else (Dan?) replies with more precision, I'll find it
> out and email that later in the week. In any case, you might be able to
> get what you want (the text of the input) without modifying anything at
> all but your task specification (grammar mappings)...
>
> Otherwise, the second approach you are proposing (basically adding a
> second "parser") sounds definitely much better than the first one, in
> the sense that it preserves the integrity of the input line (which is
> important for many things in the DM like grounding, reference to
> previous turns....).
>
> I hope Dan will come up with a more precise answer soon :)
>
> antoine
>
> Svetlana Stenchikova wrote:
>
> > 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
> > <mailto: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/20061126/a30c55c7/attachment-0001.html


More information about the Ravenclaw-developers mailing list