Subject: [Speechsc] Problem with draft-6 RECOGNIZE command and test/uri-list content type

From: "Bennett, Patrick" <[email-masked]>
Date: Tue, 14 Jun 2005 10:09:25 -0500

According to the latest draft on page 89:

   ...The RECOGNIZE method MUST carry the grammars that need to be 

   activated for that RECOGNIZE method, in its message body. The 

   grammars that need to be activated can be specified in one of 3 

   ways. The grammar content could be specified as a mime-content in 

   the message body. It could be a simple list of grammar URIs 

   specified in a mime-content of type text/uri-list, in which case the 

   order of the URI refer to the precedence order of the grammars 

   during the recognize. ...

The problem here is the statement "in which case the order of the URI
refer to the precedence order of the grammars during the recognize."

Well, what is the EXACT precedence?  Shouldn't each of the grammars be
considered as equally weighted alternatives?  Ideally, all must be
weighted equally unless a specific weight parameter was specified with
each URI.

As currently specified, this part of the specification is basically
worthless.  No MRCP client would ever send multiple URIs to an MRCP
server via a uri-list since the weighting applied to each grammar is
completely undefined.

This really needs to be corrected.

Patrick Bennett

_______________________________________________
Speechsc mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/speechsc

---

From: "Dave Burke" <[email-masked]>
Date: Tue, 14 Jun 2005 16:25:10 +0100

The precedence is not related to weighting. The text here covers the case if you had two grammars say gram1.grxml and gram2.grxml both of which recognise the token "speech" but return a different semantic interpretation. If gram2.grxml follows gram1.grxml in the uri-list then it is gram1.grxml that is matched and it is gram1.grxml's semantic interpretation result that is returned in the NLSML.

This is also required for VoiceXML 2.x behaviour (see http://www.w3.org/TR/2004/REC-voicexml20-20040316/#dml3.1.4).

Dave
  ----- Original Message ----- 
  From: Bennett, Patrick 
  To: [email-masked] 
  Sent: Tuesday, June 14, 2005 4:09 PM
  Subject: [Speechsc] Problem with draft-6 RECOGNIZE command and test/uri-listcontent type

     .The RECOGNIZE method MUST carry the grammars that need to be 

     during the recognize. .

  The problem here is the statement "in which case the order of the URI refer to the precedence order of the grammars during the recognize."

  Well, what is the EXACT precedence?  Shouldn't each of the grammars be considered as equally weighted alternatives?  Ideally, all must be weighted equally unless a specific weight parameter was specified with each URI.

  As currently specified, this part of the specification is basically worthless.  No MRCP client would ever send multiple URIs to an MRCP server via a uri-list since the weighting applied to each grammar is completely undefined.

  Patrick Bennett

------------------------------------------------------------------------------

---

From: "David R. Oran" <[email-masked]>
Date: Tue, 14 Jun 2005 12:02:26 -0400

I agree with Dave, but I also believe the current text is quite  
torturous and prone to misinterpretation. I had held off screwing  
around with it because of my shaky understanding of the "one-of-rule- 
id" stuff but now that I think I can get it right I've taken a whack  
at it.

This is what the in-progress version of the spec says:

The RECOGNIZE request uses the message body to specify the grammars  
applicable to the request. The active grammar(s) for the request can  
be specified in one of 3 ways.

1. The grammer may be placed directly in the message body using MIME  
content. If more than one grammar is included in the body, the order  
of inclusion controls the corresponding precedence for the grammars  
during recognition.
2. The body may contain a list of grammar URIs specified in a mime- 
content of type text/uri-list. The order of the URIs determines the  
corrensponding precedence for the grammars during recognition.
3. The active grammar among a set of grammars can specified using a  
One-Of-Rule-Id-URI header in the message. This header (see Section  
9.4.24 (One-Of-Rule-Id-URI)) refers to a specific <one-of> rule-id  
contained in the grammar (or grammars) specified in the body of the  
message.

Are further adjustments needed?

On Jun 14, 2005, at 11:25 AM, Dave Burke wrote:

> The precedence is not related to weighting. The text here covers  
> the case if you had two grammars say gram1.grxml and gram2.grxml  
> both of which recognise the token "speech" but return a different  
> semantic interpretation. If gram2.grxml follows gram1.grxml in the  
> uri-list then it is gram1.grxml that is matched and it is  
> gram1.grxml's semantic interpretation result that is returned in  
> the NLSML.
>
> This is also required for VoiceXML 2.x behaviour (see http:// 
> www.w3.org/TR/2004/REC-voicexml20-20040316/#dml3.1.4).
>
> Dave
>    …The RECOGNIZE method MUST carry the grammars that need to be
>
>    during the recognize. …
> The problem here is the statement “in which case the order of the  
> URI refer to the precedence order of the   grammars during the  
> recognize.”
>
> Well, what is the EXACT precedence?  Shouldn’t each of the grammars  
> be considered as equally weighted alternatives?  Ideally, all must  
> be weighted equally unless a specific weight parameter was  
> specified with each URI.
>
> server via a uri-list since the weighting applied to each grammar  
> is completely undefined.
>

---

From: "Dave Burke" <[email-masked]>
Date: Tue, 14 Jun 2005 17:41:18 +0100

To be clear, I think there are two issues:
A. How to word the precedence when input matches more than one active 
grammar?
B. How to specify a weight for a complete grammar? (see 
http://www1.ietf.org/mail-archive/web/speechsc/current/msg01023.html)

For A, how about appending the sentence in 1. and 2. so that we get:

...the order of inclusion controls the corresponding precedence for the 
grammars
during recognition should the input match more than one active grammar.

For B, which point 3 addresses, there are three options discussed:
(i) Use the One-Of-Rule-Id-URI mechanism below
(ii) Add an informative note that a <one-of> grammar can be used to apply 
weights to grammars (One-Of-Rule-Id-URI is unnecessary )
(iii) Go with Jeff's idea of adding a new header to a MIME part 
(http://www1.ietf.org/mail-archive/web/speechsc/current/msg01102.html) Small 
refinement though, the header should be called Content-Grammar-Weight to fit 
RFC2045's extension mechanism

My preference is for (iii) over (ii) because if my MRCP client runs VoiceXML 
then I'm going to have to handle cases when <grammar> has a weight attribute 
and build up a <one-of> grammar. This is just annoying complexity for the 
client.

Dave

----- Original Message ----- 
From: "David R. Oran" <[email-masked]>
To: "Dave Burke" <[email-masked]>
Cc: <[email-masked]>; "Bennett, Patrick" <[email-masked]>
Sent: Tuesday, June 14, 2005 5:02 PM
Subject: Re: [Speechsc] Problem with draft-6 RECOGNIZE command 
andtest/uri-listcontent type

On Jun 14, 2005, at 11:25 AM, Dave Burke wrote:

> The precedence is not related to weighting. The text here covers  the case 
> if you had two grammars say gram1.grxml and gram2.grxml  both of which 
> recognise the token "speech" but return a different  semantic 
> interpretation. If gram2.grxml follows gram1.grxml in the  uri-list then 
> it is gram1.grxml that is matched and it is  gram1.grxml's semantic 
> interpretation result that is returned in  the NLSML.
>
> The problem here is the statement “in which case the order of the  URI 
> refer to the precedence order of the   grammars during the  recognize.”
>
> Well, what is the EXACT precedence?  Shouldn’t each of the grammars  be