[Speechsc] Semantic Scripts - Arrays

"Arthur Vernon" <arthur@istnetworks.com> Mon, 24 August 2009 10:17 UTC

Return-Path: <arthur@istnetworks.com>
X-Original-To: speechsc@core3.amsl.com
Delivered-To: speechsc@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 129203A6E19 for <speechsc@core3.amsl.com>; Mon, 24 Aug 2009 03:17:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.001
X-Spam-Level: *
X-Spam-Status: No, score=1.001 tagged_above=-999 required=5 tests=[BAYES_50=0.001, J_BACKHAIR_33=1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U0cTu9DsNOcb for <speechsc@core3.amsl.com>; Mon, 24 Aug 2009 03:17:55 -0700 (PDT)
Received: from Out001.Mi8.com (out001.mi8.com [216.166.12.74]) by core3.amsl.com (Postfix) with ESMTP id 3F35C3A69FA for <speechsc@ietf.org>; Mon, 24 Aug 2009 03:17:54 -0700 (PDT)
Received: from AUSP02VMBX01.Mi8.com ([10.4.8.6]) by Out001.Mi8.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 24 Aug 2009 06:17:59 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Mon, 24 Aug 2009 06:18:09 -0400
Message-ID: <19EAD33AD254324284516DA3335C8FEA960203@AUSP02VMBX01.Mi8.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: Semantic Scripts - Arrays
Thread-Index: AcokpC3iUckZGeaIT2WOssle7gDrPA==
From: Arthur Vernon <arthur@istnetworks.com>
To: speechsc@ietf.org
X-OriginalArrivalTime: 24 Aug 2009 10:17:59.0703 (UTC) FILETIME=[27F42A70:01CA24A4]
Subject: [Speechsc] Semantic Scripts - Arrays
X-BeenThere: speechsc@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Speech Services Control Working Group <speechsc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/speechsc>, <mailto:speechsc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/speechsc>
List-Post: <mailto:speechsc@ietf.org>
List-Help: <mailto:speechsc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/speechsc>, <mailto:speechsc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Aug 2009 10:17:56 -0000

In "Speech Processing for IP Networks" there is a reference to how
arrays of values are to be handled.

The gist of it is: 

"It is possible for the rule variable of the root rule to be of type
Array (e.g. x[0], x[1], etc) or indeed
for one of its properties to be of type Array."

I cannot see a concrete example in the specification of how this
information is supposed to be communicated from the server to the
client.

The MRCP 2 server reports this...
<stock confidence="0.687036">
   BHP
   RIO
</stock>

As you can see, there is notional identification of the two items I
spoke by way of a CR/LF.

The MRCP 2 client reports receiving this:

<stock confidence="0.687036">
   BHP
   RIO
</stock>


On the document server, this is getting passed back to me as stock:
"BRI"

Further reading of the logs on the MRCP client (produced using)

<log>The type of stock is <value
expr="typeof(Buy$.interpretation.stock)"/></log>
<log>The value of stock is <value
expr="Buy$.interpretation.stock"/></log>

reveals:

The type of stock is string
The value of stock is BRI

I would have expected that the type of stock to be array. (containing
BHP and RIO)


My problem is (from a user perspective) who do I complain to to seek a
resolution to the problem?

Can the specification clarify this matter please (or maybe I have just
missed this bit).

Here is the (edited and relevant bits of the) grammar used to generate
this:

<rule id="generic"> Buy <tag>out._service = "StockBuy"; out.stock=new
Array(); var index=0;</tag>
                            <item repeat="0-2">
                                <ruleref uri="#company"/>
                                <tag>out.stock[index++] =
""+rules.company;</tag>
                            </item>
                        </rule>
                        <rule id="company">
                            <item>
                                <one-of>
 
<item>BHP<tag>out="BHP";</tag></item>
                                    <item>Rio tinto
<tag>out="RIO";</tag></item>
                                </one-of>
                            </item>
                        </rule>

It is a bit hacked because in the process I have tried numerious ways to
realise a working array.


Kind Regards,
Arthur Vernon - Lead Software Architect, IST Networks

AUSTRALIA
(m) +61 411 336 176
(w) +61 (8) 6380 2058
Unit 5B, 1 Station St, Subiaco WA 6008