KR20020042831A - Method For Customizing And Rendering Of Selected Data Fields - Google Patents

Method For Customizing And Rendering Of Selected Data Fields Download PDF

Info

Publication number
KR20020042831A
KR20020042831A KR1020027003231A KR20027003231A KR20020042831A KR 20020042831 A KR20020042831 A KR 20020042831A KR 1020027003231 A KR1020027003231 A KR 1020027003231A KR 20027003231 A KR20027003231 A KR 20027003231A KR 20020042831 A KR20020042831 A KR 20020042831A
Authority
KR
South Korea
Prior art keywords
information
page
user
web
name
Prior art date
Application number
KR1020027003231A
Other languages
Korean (ko)
Inventor
아이어프래커쉬
고엘퓌쉬
모힌드라라지브
신하아미타브
크로사팰리프라사드
마크로날드
비탈샤쉬
Original Assignee
에브리패스 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에브리패스 인코포레이티드 filed Critical 에브리패스 인코포레이티드
Publication of KR20020042831A publication Critical patent/KR20020042831A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4938Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals comprising a voice browser which renders and interprets, e.g. VoiceXML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 데이터 요소들이, 시그너처에 의한 참조를 통하여 요소들을 액세스하는데 적합한 시스템에 의하여, 적절한 해당 언어 번역기를 통하여 조회자에게 렌더링될 수 있는 데이터의 수학적 정규식으로부터 추출되는 시그너처에 의하여 제공 및 식별되는 방법을 제공한다. 해당 언어 번역기는 텍스트-음성 번역기, 상기 요소들에 매핑되는 저장된 청각식 및 HTML 표현식에 매치시키기 위하여 프로그램된 단순한 텍스트식을 포함할 수 있다. 본 발명의 또 다른 형태에 따르면, 본 발명은 선택된 요소의 식별, 상기 의도된 문맥에 적합한 렌더링을 위한 선택된 요소의 맞춤화 및 적합한 해당 언어 번역기를 통한 선택된 요소 및 맞춤화된 요소의 추가 명세를 더 포함한다.The present invention relates to a method in which data elements are provided and identified by a signature extracted from a mathematical regular expression of data that can be rendered to a queryer via a suitable corresponding language translator, by a system suitable for accessing the elements via a reference by signature. to provide. The language translator may include a text-to-speech translator, a stored textual expression mapped to the elements, and a simple textual expression programmed to match an HTML expression. According to another form of the invention, the invention further comprises the identification of the selected element, customization of the selected element for rendering suitable for the intended context and further specification of the selected element and the customized element via a suitable language translator. .

Description

선택된 데이터 필드의 맞춤화 및 렌더링 방법{Method For Customizing And Rendering Of Selected Data Fields}Method For Customizing And Rendering Of Selected Data Fields}

현재, 유용한 다량의 정보들이 HTML 포맷으로 이용될 수 있다. 하지만 HTML은 주로 명세화된 시각적 문맥에서의 액세스, 즉 웹브라우저와 함께 사용되도록 설계된 형식의 그래픽 사용자 인터페이스의 수단으로 설계된다. HTML 데이터를 다른 인터페이스 및 판독기를 통해서 액세스할 수 있게 만들 필요가 있다. 여기에 기술된 본 발명은 그러한 필요성에 주안점을 두고 있다.At present, a large amount of useful information is available in HTML format. However, HTML is primarily designed as a means of access in a specified visual context, a form of graphical user interface designed to be used with a web browser. You need to make the HTML data accessible through other interfaces and readers. The present invention described herein focuses on such a need.

본 발명은 맞춤화된(customized) 데이터를 청각적 포팻 및 제한된 시각적 포맷을 포함한 다른 포맷으로 렌더링(rendering)하는 것에 관한 것이다. 특히 본 발명은 하이퍼텍스트마크업랭귀지(HTML)에서의 데이터를 소스포맷 이외의 청각적 포맷이나 시각적 포맷과 같은 다른 형태로 렌더링하는 것에 관한 것이다.The present invention is directed to rendering customized data in other formats including audio format and limited visual format. In particular, the present invention relates to rendering data in a hypertext markup language (HTML) in other forms such as an audio format or a visual format other than the source format.

도 1은 HTML 페이지로부터 정보를 검색(retrieve)하기에 적절한 렌더링 도구를 갖춘, 런타임 엔진이 본 발명에 따른 식별된 요소를 사용하는, 본 발명에 따른 시스템의 블럭도,1 is a block diagram of a system according to the invention, wherein the runtime engine employs the identified elements according to the invention, with a rendering tool suitable for retrieving information from an HTML page;

도 2는 본 발명에 따른 샘플 번역의 플로우차트.2 is a flowchart of sample translation in accordance with the present invention.

본 발명에 따라, 컴퓨터 네트워크 시스템에서 테이터의 수학적 정규식으로부터 추출된 시그니처에 의하여 선택되고 식별된 데이터가 시그니처에 의한 참조(reference)를 통하여 요소들을 액세스하기에 적합한 시스템에 의하여 조회자(querier)에게 해당하는 적절한 언어 번역기를 통하여 렌더링될 수 있는 방법이 제공된다. 해당 언어 번역기는 스피치 번역기에 대한 텍스트, 요소들에 대하여 매핑된(mapped) 저장된 청각식(aural expression) 및 HTML 표현식에 맞추기 위하여 프로그램된 단순화된 텍스트식(textual expression)을 포함할 수 있다. 본 발명의 또 다른 실시형태에 따르면, 상기 방법은 선택된 요소의 식별, 의도하는 문장에 적합한 렌더링을 위한 선택된 요소의 맞춤화, 및 관심사의 적절한 언어번역기를 통하여 선택되고 맞춤화된 요소의 또 다른 명세(specification)를 더욱 포함한다.According to the present invention, data selected and identified by a signature extracted from a mathematical regular expression of data in a computer network system corresponds to a query by a system suitable for accessing elements via a reference by the signature. A method is provided that can be rendered via a suitable language translator. The language translator may include text for the speech translator, a simplified textual expression programmed to match the stored aural expression and the HTML expression mapped to the elements. According to another embodiment of the present invention, the method further comprises identifying the selected element, customizing the selected element for rendering suitable for the intended sentence, and another specification of the selected and customized element through an appropriate language translator of interest. More).

HTML 페이지가 정규식으로 표현될 수 있다는 것이 본 발명의 중요한 인식이다. 요소들만이 선택될 필요가 있고 요소들의 실제값은 선택될 필요가 없어서 그 값이 동적으로 업데이트되고 현재값으로 렌더링되게 할 수 있다는 것이 또한 본 발명의 중요한 인식이다.It is an important recognition of the present invention that an HTML page can be represented by a regular expression. It is also an important recognition of the present invention that only the elements need to be selected and the actual values of the elements need not be selected so that the values can be dynamically updated and rendered to the current values.

이하, 첨부된 도면과 연계하여 상세한 설명을 참조로 본 발명을 더욱 이해할 수 있다.Hereinafter, with reference to the detailed description in conjunction with the accompanying drawings, the present invention may be further understood.

도 1은 주요 런타임 구성요소 및 관련된 요소를 갖춘 시스템(101)의 블럭도를 도시한다. 웹페이지(11)는 호스트 웹서버(12)로부터 번역기(20)로 검색되고, 다음에 상기 번역기는 소위 WML 페이지(23) 및 런타임 객체(runtime object)(24)를 만들기 위해서 공유 지속성 스토어(shared persistent store)(14)로부터 해당하는 목표 언어문서(21)를 검색한다. 이전에 디자이너(13)는 HTML 또는 소스 언어 페이지(11)로부터 어떤 데이터(이하, "구성요소"(17)라 칭함)를 선택하여, HTML 페이지로부터 실시간 데이터를 추출하기 위해서 런타임 엔진(22)을 통하여 런타임 환경이 사용하는 특유의 시그니처(unique signature)가 자동으로 생성되었다. 런타임 엔진(22)은 폰서버 또는 기타 렌더링 서버(26)와 인터페이스하고, 사용자(28)는 렌더링 서버(26)를 통하여 제공되는 포맷으로 호스트 웹서버로부터 요청된 실시간 정보를 액세스한다. 런타임시에, 런타임 번역기(20)는 호스트 웹서버(12)에 대하여 사이트로부터 HTML 페이지를 다운로드하는 브라우저처럼 작용한다. 또한 번역기(20)는 특정 실시예에서 공유 지속성 스트어(14)로부터 목표 언어(소위 AML용으로 제작된 언어)의 스크립트를 검색한다. 각 웹페이지에 대하여 대응하는 AML 스크립트는 번역기에 어떻게 런타임 객체(24)를 생성하는지를 알려준다. 이들 런타임 객체(24)는 런타임 엔진(22)으로 공급되고 그런 다음 호출자와 대화한다. 런타임 엔진(22)은 텍스트를 읽고 텍스트 대 음성 또는 텍스트 대 축약 텍스트(reduced text) 기술을 사용하여 사용자(28)에게 전화기 또는 기타 인터페이스장치로 프롬프트를 발행한다. 전화 호출자(28)가 그의 응답할 때마다, 엔진(22)은 음성인식기술 또는 텍스트-온-나인(text-on-nine)(여기에서는 T9로 칭함)을 사용하여 호출자 응답을 텍스트로 변환한다. 그리고 번역기(20)는 호출자로부터 다시 호스트웹서버(12)에 응답 데이터를 제출할 수 있으며, 다시 호스트 웹서버가 그 요청을 해석하고 응답하는 식으로 계속된다.1 shows a block diagram of a system 101 with major runtime components and associated elements. The web page 11 is retrieved from the host web server 12 to the translator 20, which is then shared to create a so-called WML page 23 and a runtime object 24 shared shared store. The corresponding target language document 21 is retrieved from the persistent store 14. The designer 13 previously selects some data (hereinafter referred to as "component" 17) from the HTML or source language page 11 and uses the runtime engine 22 to extract real-time data from the HTML page. This creates a unique signature for the runtime environment. The runtime engine 22 interfaces with the phone server or other rendering server 26 and the user 28 accesses the real time information requested from the host web server in a format provided through the rendering server 26. At runtime, runtime translator 20 acts as a browser to download HTML pages from the site to host web server 12. The translator 20 also retrieves the script of the target language (the language written for AML) from the shared persistence store 14 in certain embodiments. The corresponding AML script for each web page tells the translator how to create the runtime object 24. These runtime objects 24 are supplied to the runtime engine 22 and then talk to the caller. The runtime engine 22 reads the text and issues a prompt to the user 28 by phone or other interface device using text-to-speech or text-to-reduced text technology. Each time telephone caller 28 responds, engine 22 converts the caller response to text using speech recognition technology or text-on-nine (hereafter referred to as T9). . The translator 20 can then submit the response data back to the host web server 12 from the caller, and then continue in such a way that the host web server interprets and responds to the request.

스크립트는 내부 페이지 흐름(inter-page flow)를 인코딩하고 웹페이지의 URL을 간직하도록 설정될 수 있기 때문에, 번역기는 적절한 웹페지를 요청할 수 있다. 런타임시에, 호스트 웹서버(12)는 종래의 웹브라우저에 접속되어 있는 것으로 생각한다.Since the script can be set to encode the inter-page flow and retain the URL of the web page, the translator can request the appropriate web page. At runtime, the host web server 12 is assumed to be connected to a conventional web browser.

런타임 객체(24)를 생성하는 것 이외에도, 런타임 번역기(20)는 WML 파일을 사용하는 제3자 애플리케이션(third party application)을 위한 WML 파일도 생성할 수 있다. 포털(portal)로부터 액세스된 가청 사이트(audio-enabled site)가 맞춤화된 애플릿을 사용할 수도 있다.In addition to creating a runtime object 24, the runtime translator 20 can also generate a WML file for a third party application that uses the WML file. Audio-enabled sites accessed from the portal may use customized applets.

런타임 작동의 중요한 관점은 번역과정이다. 이하 번역과정을 설명한다.An important aspect of runtime operation is the translation process. The following describes the translation process.

A.번역 A. Translation

이 섹션에서는 어떻게 전 섹션으로부터 다양한 구성요소가 렌더링되는지를 설명한다.This section explains how the various components are rendered from the previous section.

A.1 번역: 양식(form)A.1 Translation: Form

아래에 샘플 양식의 번역을 보인다. 상기 양식의 각 입력요소는 "STEP"으로 나타난다. 스텝요소는 이 입력의 특성(nature of input)을 사용자에게 알려주는 프롬프트요소 및, 사용자로부터 입력을 끌어모으는 입력요소를 갖는다. 도 2는 여기에 서술된 샘플 번역의 플로우차트이다.See below for a translation of the sample form. Each input element of the form is represented by "STEP". The step element has a prompt element that informs the user of the nature of the input and an input element that draws input from the user. 2 is a flowchart of a sample translation described herein.

<Dialog Name="Logon" greeting="Logon Page"><Dialog Name = "Logon" greeting = "Logon Page">

<component Name="Longon" TYPE="FORM"<component Name = "Longon" TYPE = "FORM"

position=1></component>position = 1> </ component>

<STEP Name="Longon"><STEP Name = "Longon">

<PROMPT>Please speak the eight digits in your account number<PROMPT> Please speak the eight digits in your account number

</PROMPT></ PROMPT>

<INPUT TYPE="DIGIT" NAME="SignonAccountNumber"<INPUT TYPE = "DIGIT" NAME = "SignonAccountNumber"

NEXT="#F2"></INPUT>NEXT = "# F2"> </ INPUT>

</STEP></ STEP>

<STEP Name="F2"><STEP Name = "F2">

<PROMPT>Please speak your password</PROMPT><PROMPT> Please speak your password </ PROMPT>

<INPUT TYPE="STRING" NAME="Signon Password" NEXT="#F3"></INPUT><INPUT TYPE = "STRING" NAME = "Signon Password" NEXT = "# F3"> </ INPUT>

</STEP></ STEP>

<STEP Name="F3"><STEP Name = "F3">

<PROMPT>Please choose from one of the following options.<PROMPT> Please choose from one of the following options.

Account Overview, Stock Trading, Options Trading, Mutual FundAccount Overview, Stock Trading, Options Trading, Mutual Fund

Trading, Corporate Bond Trading, Real-Time Quotes, AccountTrading, Corporate Bond Trading, Real-Time Quotes, Account

Balances and Position.</PROMPT>Balances and Position. </ PROMPT>

<INPUT TYPE="OPTIONLIST" NAME="StartAnchor" NEXT="#F4"<INPUT TYPE = "OPTIONLIST" NAME = "StartAnchor" NEXT = "# F4"

grammar=.optionlistgrammar = .optionlist

//[comment: The grammar defines what the user is expected to say or// [comment: The grammar defines what the user is expected to say or

input at this point. If the user says something else, an error isinput at this point. If the user says something else, an error is

raised and is handled according to the onError step.]raised and is handled according to the onError step.]

onError=#error>onError = # error>

<RENAME VARNAME="Start Anchor"<RENAME VARNAME = "Start Anchor"

GRAMMARNAME="X">GRAMMARNAME = "X">

//[comment: The forgoing is the mapping between the variable name and// [comment: The forgoing is the mapping between the variable name and

the grammar name.]the grammar name.]

<option Value="Ccbodyi">Account Overview</OPTION><option Value = "Ccbodyi"> Account Overview </ OPTION>

<option Value="TradingEQ">Stock Trading</OPTION><option Value = "TradingEQ"> Stock Trading </ OPTION>

<option Value="TradingOpt">Option Trading</OPTION><option Value = "TradingOpt"> Option Trading </ OPTION>

<option Value="TradeMF">Mutual Fund Trading</OPTION><option Value = "TradeMF"> Mutual Fund Trading </ OPTION>

<option Value="TradeCorpBonds">Corporate Bond Trading<option Value = "TradeCorpBonds"> Corporate Bond Trading

</OPTION></ OPTION>

<option Value="Quotes">Real-Time Quotes</OPTION><option Value = "Quotes"> Real-Time Quotes </ OPTION>

<option Value="Balance">Account Balances</OPTION><option Value = "Balance"> Account Balances </ OPTION>

<option Value="Position">Position</OPTION><option Value = "Position"> Position </ OPTION>

</INPUT></ INPUT>

</STEP></ STEP>

//[comment: The following is for a form. In a form, hidden variables, actions and methods are always pulled from the HTML or sourse page.]// [comment: The following is for a form. In a form, hidden variables, actions and methods are always pulled from the HTML or sourse page.]

<FORM><FORM>

NAME="F4"NAME = "F4"

PARAMETERS="StartAnchor=$amlvar(StartAnchor)&SignonPassPARAMETERS = "StartAnchor = $ amlvar (StartAnchor) & SignonPass

word=$amlvar(SignonPassword)&SignonAccountNumber=$amlvarword = $ amlvar (SignonPassword) & SignonAccountNumber = $ amlvar

(SignonAccountNumber)"(SignonAccountNumber) "

Component="Logon">Component = "Logon">

<PROMPT>Attempting to Log on to Charles Schwab<PROMPT> Attempting to Log on to Charles Schwab

</Prompt></ Prompt>

</FORM></ FORM>

<flow<flow

Name="formflow"Name = "formflow"

Source="https://trading2.schwab.com/trading/signon/."Source = "https://trading2.schwab.com/trading/signon/."

Sourceaudio=logonSourceaudio = logon

Destination="...trading/generic/?FormName=DelayedQuotes"Destination = "... trading / generic /? FormName = DelayedQuotes"

Destinationaudio=headlinesDestinationaudio = headlines

Destinationstep=headlines>Destinationstep = headlines>

</flow></ flow>

</Dialog></ Dialog>

애트리뷰트는 주어진 스텝으로부터의 변환점(transition)을 정의한다. 예를 들어, 도 2를 참조하면, 첫번째 스텝 F1(로그온 스텝)에서 프롬프트는 사용자의 8자리 계정번호(account number)를 물어보고 음성 입력으로 그것을 수신함과 동시에 스텝 F2로 넘어간다. 로그온 스텝에서, 입력요소의 네임 애트리뷰트인 SignonAccountNumber는 "global" 변수이고 나중에 $amlvar(SignonAccountNumber)로서 액세스될 수 있다. 계속해서 스텝 F2에서, 프롬프트는 패스워드를 물어보고 입력을 수신하면, 스텝 F3로 넘어간다. 스텝 F3는 옵션리스트로서 여기에서 사용자는 많은 옵션들 중 하나를 선택할 수 있다. 하나의 옵션을 선택한 다음, 사용자는 스텝 F4로 진행하게 된다. 파라미터 애트리뷰트는 동작 url로 진행되는 데 필요한 파라미터를 명세화하며, 마지막으로 프롬프트는 사용자에게 행해지고 있는 것에 대한 피드백을 제공한다. 플로우요소는 다음 스텝으로의 변환점을 정의한다. 행선지 url이 주어지면, 설계자 및 런타임 시스템은 브라우징을 속행하는 데 필요한 다음 AML 페이지를 결정할 수 있다.An attribute defines a transition from a given step. For example, referring to FIG. 2, in the first step F1 (logon step), the prompt asks for the user's eight digit account number and receives it by voice input and goes to step F2. In the logon step, the name attribute of the input element, SignonAccountNumber, is a "global" variable and can later be accessed as $ amlvar (SignonAccountNumber). Subsequently, at step F2, the prompt asks for a password and, upon receiving an input, proceeds to step F3. Step F3 is a list of options from which the user can select one of many options. After selecting one option, the user proceeds to step F4. The parameter attribute specifies the parameters needed to proceed to the action url, and finally the prompt provides feedback about what is being done to the user. The flow element defines the transition point to the next step. Given a destination url, designers and runtime systems can determine the next AML page needed to continue browsing.

인식 문법(recognition grammar)은 그 값을 지정하는 변수(가령, X)에 대한 네임을 명세화하고, 그 스텝은 입력(Startanchor)에 대응하는 변수 네임을 갖는다. 어떤 경우에는, 이들이 동일하지 않을 수 있는데, 예를 들어 많은 상이한 입력 스텝들간에 문법이 공유되는 때에는 그들이 모두 상이한 변수 네임으로 코드되어 있다. 그 경우에, RENAME 요소는 인식 변수 네임으로부터 스텝의 변수 네임으로의매핑(mapping)을 정의하는 데 도움을 줄 것이다. 문법이 다수의 변수를 할당한다면, 각각의 변수에 대하여 하나의 리네임 요소를 명세화할 필요가 있다. 예를 들어, 다음의 코드 세그먼트에서 모든 변수가 문법으로 할당되어 있고, 그들은 다음의 또다른 예의 코드에서 사용되는 변수 네임으로 리매핑(remapped)된다.A recognition grammar specifies a name for a variable (eg, X) that specifies its value, and the step has a variable name corresponding to the starter. In some cases, they may not be the same, for example when they are shared between many different input steps they are all coded with different variable names. In that case, the RENAME element will help define the mapping from the recognition variable name to the variable name of the step. If the grammar assigns multiple variables, then you need to specify one rename element for each variable. For example, in the following code segment all variables are assigned by syntax, and they are remapped to the variable names used in the following example code.

<STEP Name="stock"><STEP Name = "stock">

<PROMPT>What would you like to trade?</PROMPT><PROMPT> What would you like to trade? </ PROMPT>

<INPUT TYPE>="GRAMMAR"GRAMMAR="StockTrade2"<INPUT TYPE> = "GRAMMAR" GRAMMAR = "StockTrade2"

onError="#error">onError = "# error">

<RENAME VARNAME="TradeType" GRAMMARNAME="A1"><RENAME VARNAME = "TradeType" GRAMMARNAME = "A1">

<RENAME VARNAME="Symbol" GRAMMARNAME="A2"><RENAME VARNAME = "Symbol" GRAMMARNAME = "A2">

<RENAME VARNAME="OrderType" GRAMMARNAME="A3"><RENAME VARNAME = "OrderType" GRAMMARNAME = "A3">

<RENAME VARNAME="LimitPrice" GRAMMARNAME="A4"><RENAME VARNAME = "LimitPrice" GRAMMARNAME = "A4">

<RENAME VARNAME="TimeLimit" GRAMMARNAME="A5"><RENAME VARNAME = "TimeLimit" GRAMMARNAME = "A5">

<RENAME VARNAME="Quantity" GRAMMARNAME="A6"><RENAME VARNAME = "Quantity" GRAMMARNAME = "A6">

</INPUT></ INPUT>

</STEP></ STEP>

어떤 이유로 하여 (음성)인식 엔진이 사용자가 말한 것을 이해하지 못한다면, 에러 상태가 뜬다. 온에러 애트리뷰트가 명세화되지 않으면 그것은 디폴트 방식(default way)으로 조작된다. 즉, 프롬프트는 인식이 정확할 때까지 몇 번 반복된다. 사용자는 디폴트 행위를 그 자신이 정의한 에러스텝으로 대치하도록 선택할수 있다. 다음의 예에서, 에러스텝은 사용자에 의하여 글로벌스텝으로 정의된다. 상기 스텝은 여러가지 에러의 경우에 따른 조치를 정의한다. 상기 스텝은 글로벌스텝으로서, 즉 기타의 후속하는 aml 페이지로부터 엑세스될 수 있다.If for some reason the (speech) recognition engine does not understand what you say, you get an error. If the on error attribute is not specified, it is manipulated in the default way. That is, the prompt is repeated several times until the recognition is correct. You can choose to replace the default behavior with an error step of your own definition. In the following example, the error step is defined as a global step by the user. This step defines the actions taken in case of various errors. The step can be accessed as a global step, i.e. from another subsequent aml page.

<STEP name=error global=true><STEP name = error global = true>

<switch name=$amlvar(amlerror.type)><switch name = $ amlvar (amlerror.type)>

<case value=RECOGNITION_FAILURE<case value = RECOGNITION_FAILURE

next="#recognition_failure"></case>next = "# recognition_failure"> </ case>

<case value=CALLER_TIMEOUT<case value = CALLER_TIMEOUT

next="#caller_timeout"></case>next = "# caller_timeout"> </ case>

<switch><switch>

</STEP></ STEP>

<STEP name=recognition_failure><STEP name = recognition_failure>

<prompt>>I did not understand what you said.</propmt><prompt >> I did not understand what you said. </ propmt>

<switch name=$amlvar(amlerror.number_errors_page)><switch name = $ amlvar (amlerror.number_errors_page)>

<case value=1 next="#first_error"></case><case value = 1 next = "# first_error"> </ case>

<case value=1 next="#second_error"></case><case value = 1 next = "# second_error"> </ case>

<case value=1 next="#third_error"></case><case value = 1 next = "# third_error"> </ case>

</switch></ switch>

</STEP></ STEP>

<STEP name=first_error><STEP name = first_error>

<prompt>$amlvar(lastprompt)</prompt><prompt> $ amlvar (lastprompt) </ prompt>

</STEP></ STEP>

<STEP name=second_error><STEP name = second_error>

<prompt>$amlvar(lastshadowprompt)</prompt><prompt> $ amlvar (lastshadowprompt) </ prompt>

</STEP></ STEP>

<STEP name=third_error><STEP name = third_error>

<prompt>Giving up!</prompt><prompt> Giving up! </ prompt>

<INPUT type=none next="navigation"><INPUT type = none next = "navigation">

</STEP></ STEP>

A.2 번역: 테이블A.2 Translation: Tables

테이블은 다중 방법으로 판독될 수 있다. 이번 섹션에서는 두 가지 가능한 방법을 서술한다. 한 가지 방법은 한번에 테이블의 1열을 판독하면서 사용자에게 계속 진행할 것을 원하는지 묻는 것이다. 또 하나의 방법은 한번에 테이블의 모든 열을 판독하면서 사용자가 어느 때에라도 열람(barge)할 수 있게 하는 것이다.The table can be read in multiple ways. This section describes two possible methods. One way is to read the first column of the table at a time and ask the user if they want to proceed. Another way is to allow the user to barge at any time, reading all the rows of the table at once.

A.2.1 한번에 1열A.2.1 One Row At A Time

사용자가 시스템에 로그온하면 사용자는 브라우저를 사용하여 예를 들어, 특수한 스톡기호의 헤드라인 뉴스의 테이블이 있는 페이지를 번역할 수 있다. 이 테이블의 선택된 셀은 특수한 관심의 대상이다. 그것들은 각각 날짜, 시간 및 헤드라인 뉴스를 명시할 수 있다. 테이블의 각 열은 스톡기호용 뉴스 헤드라인이다. 그러한 예에 대하여 대응하는 AML 페이지가 아래에 보인다. 그것은 식별부(identification part) 및 번역부를 모두 담고있다. 식별부는 반복 루프로 이루어진 테이블의 열 및 html 페이지로부터 예시용으로 선택된 셀(1, 3, 5)을 포함한다. 이 페이지에는 단지 하나의 스텝, 즉 Headline만 있다. 그것은 프롬프트 및 입력요소를 갖는다. 이 스텝의 입력요소는 구성요소 애트리뷰트로 명세화된 구성요소에 대하여 루프(loop)하는 루프요소에 속한다. 입력요소와 결부되어, 루프의 반복마다 소리내는 또다른 프롬프트가 있다. 본 예시에서 루프와 결부된 프롬프트는 현재 열에 대한 날짜 변수를 의미하는 배열 변수(array variable)의 항, 즉 $amlvar(Headlines[index].date)로 명세화된다.When the user logs on to the system, the user can use a browser to translate a page with a table of headline news, for example, of a special stock symbol. Selected cells in this table are of special interest. They can specify date, time and headline news respectively. Each column of the table is a news headline for stock symbols. The corresponding AML page is shown below for such an example. It contains both an identification part and a translation part. The identification part comprises cells 1, 3, 5 selected for illustration from a column of the table consisting of a repeating loop and an html page. There is only one step on this page, the Headline. It has a prompt and an input element. The input element of this step belongs to the loop element that loops over the component specified by the component attribute. In conjunction with the input element, there is another prompt that sounds for each iteration of the loop. In this example, the prompt associated with the loop is specified in terms of an array variable, $ amlvar (Headlines [index] .date), meaning the date variable for the current row.

넥스트 애트리뷰트는 옵션 태그(option tag)에 대하여 중의성(multiple connotation)을 갖는다. 즉,The next attribute has multiple connotation for the option tag. In other words,

(1) next="#goto": goto 라는 스텝에서의 계속을 가리킴(1) next = "# goto": indicates the continuation at goto

(2) next="return": 인보킹 스텝(invoking step)으로 되돌아옴(2) next = "return": return to the invoking step

(3) 그 밖에도, next가 그 이외의 어느것으로 명세화되면, 즉 next="$amlvar(c.continue)" 또는 next=http://www.amazon.com/select/select.cgi 이라면, 넥스트 스텝은 앵커요소(anchor element)를 횡단하고(traversing) 있다.(3) Next, if next is specified as anything else, ie next = "$ amlvar (c.continue)" or next = http: //www.amazon.com/select/select.cgi, the next step Is traversing the anchor element.

반복마다 프롬프트를 따라오는 옵션에 대한 "next" 애트리뷰트는 두 개의 가능한 값을 갖는다. 즉, (ⅰ) continue, 이것은 시스템이 루프의 넥스트 반복으로진행한다는 것을 가리키는 예약어(reserved word)이다. (ⅱ) $amlvar(headline [index].news.url), 이것은 사용자가 "Yes"라고 하면 시스템이 지정된 url로 트랜지션해야 한다는 것을 명세화한다. 후속하는 흐름 요소는 브라우징을 계속하는 데 요구되는 AML 페이지를 정의한다. 다음은 청각 프롬프트가 내장된 AML 코드이다:The "next" attribute for the option that follows the prompt per iteration has two possible values. That is, (ⅰ) continue, which is a reserved word that indicates that the system proceeds to the next iteration of the loop. (Ii) $ amlvar (headline [index] .news.url), which specifies that if the user says "Yes" the system should transition to the specified url. Subsequent flow elements define the AML pages required to continue browsing. Here is the AML code with the built-in hearing prompt:

<DIALOG name=headlines greeting="news headline"><DIALOG name = headlines greeting = "news headline">

//...component definition would be here...////...component definition would be here ... //

<STEP Name="Headlines"><STEP Name = "Headlines">

<PROMPT>This is a list of all the headlines</PROMPT><PROMPT> This is a list of all the headlines </ PROMPT>

<LOOP name=headlines loopindex=index start=0 increment=1<LOOP name = headlines loopindex = index start = 0 increment = 1

end=$amlvar(headlines.length)next=#query></LOOP>end = $ amlvar (headlines.length) next = # query> </ LOOP>

</STEP></ STEP>

<STEP name="query"><STEP name = "query">

<PROMPT><PROMPT>

News on Date $amlvar(Headlines[index].date)atNews on Date $ amlvar (Headlines [index] .date) at

time$amlvar(Headlines[index].time)$amlvar(Headlines[index].news).time $ amlvar (Headlines [index] .time) $ amlvar (Headlines [index] .news).

If you want to hear the complete story say Yes or No to go to the next healineIf you want to hear the complete story say Yes or No to go to the next healine

</PROMPT></ PROMPT>

<INPUT type=optionlist grammar=".YesNoNavigation"><INPUT type = optionlist grammar = ". YesNoNavigation">

<OPTION next="return">No</OPTION><OPTION next = "return"> No </ OPTION>

<OPTION NEXT=$amlvar(Headlines[index].url)">Yes<OPTION NEXT = $ amlvar (Headlines [index] .url) "> Yes

</OPTION></ OPTION>

</INPUT></ INPUT>

</STEP></ STEP>

<FLOW<FLOW

Name="datailflow"Name = "datailflow"

Source="/parser/test/schwab/news.html"Source = "/ parser / test / schwab / news.html"

Sourceaudio=headlinesSourceaudio = headlines

Destination="parser/test/schwab/<amlvar>.html"Destination = "parser / test / schwab / <amlvar> .html"

Destinationaudio=/parser/test/schwab/detail.voxDestinationaudio = / parser / test / schwab / detail.vox

DestinationStep="detail">DestinationStep = "detail">

</FLOW></ FLOW>

</DIALOG></ DIALOG>

A.2.2 모든 열 함께A.2.2 All Columns Together

모든 열이 하나씩 하나씩 판독될 수 있고, 사용자는 판독의 끝에서 방향에 대하여 프롬프트될 수 있다. 그들은 바지-인(barge-in)용 지원을 부가하도록, 즉 사용자가 중간부에서 리스트의 플레잉(playing)을 인터럽트할 수 있도록 강화될 수 있다.All rows can be read one by one and the user can be prompted for direction at the end of the reading. They can be enhanced to add support for barge-in, ie allow the user to interrupt playing of the list in the middle.

<STEP Name="Headlines"><STEP Name = "Headlines">

<PROMPT><PROMPT>

Here are the headlines. If you want to hear the complet story say Yes for the headlineHere are the headlines. If you want to hear the complet story say Yes for the headline

</PROMPT></ PROMPT>

<LOOP name=headlines loopindex=index<LOOP name = headlines loopindex = index

next="#query"start=0 increment=1next = "# query" start = 0 increment = 1

end=$amlvar(Headlines.length)>end = $ amlvar (Headlines.length)>

</LOOP></ LOOP>

</STEP></ STEP>

<STEP name="query"><STEP name = "query">

<PROMPT><PROMPT>

News on Date $amlvar(Headlines[index].date) atNews on Date $ amlvar (Headlines [index] .date) at

time $amlvar(Headlines[index].time)time $ amlvar (Headlines [index] .time)

$amlvar(Headlines[index].news).$ amlvar (Headlines [index] .news).

</PROMPT></ PROMPT>

<INPUT NAME="choice" TYPE=OPTIONLIST<INPUT NAME = "choice" TYPE = OPTIONLIST

BARGEIN=TRUEBARGEIN = TRUE

grammar=".YesNoNavigation"grammar = ". YesNoNavigation"

onError=#error>onError = # error>

<option NEXT="$amlvar(Headlines[index].url)">Yes<option NEXT = "$ amlvar (Headlines [index] .url)"> Yes

</OPTION></ OPTION>

<option next="return">No</OPTION><option next = "return"> No </ OPTION>

</INPUT></ INPUT>

</STEP></ STEP>

바지-인은 사용자가 뉴스를 들을 수 있게 하고 상세한 뉴스를 듣고자 할 때에만 yes라고 말하면 된다. 이것은 사용자가 말해야 하는 건수를 최소화한다.The pants-in need to say yes only if they want the user to hear the news and want to hear detailed news. This minimizes the number of things the user must say.

A.3 번역: 변수 루핑요소A.3 Translation: Variable Looping Elements

또다른 예시로서 변수 루핑 예에 대한 다음의 번역을 가정한다. 구성요소 식별후의 단계에서는 이전 예시에서의 테이블의 렌더링과 큰 차이는 없다.As another example, assume the following translation of the variable looping example. The step after component identification is not much different from the rendering of the table in the previous example.

<STEP Name="resultssection"><STEP Name = "resultssection">

<PROMPT><PROMPT>

Here are the book search result. If you want to hear moreHere are the book search result. If you want to hear more

details about a book say Yesdetails about a book say Yes

</PROMPT></ PROMPT>

<LOOP name=resultssection2 loopindex=index<LOOP name = resultssection2 loopindex = index

start=0 increment=1 end=$amlvar(resultssection2.length)start = 0 increment = 1 end = $ amlvar (resultssection2.length)

next="#part">next = "# part">

</LOOP></ LOOP>

</STEP></ STEP>

<STEP name="part"><STEP name = "part">

<PROMPT><PROMPT>

Title $amlvar(resultssection2[index].title) ships inTitle $ amlvar (resultssection2 [index] .title) ships in

$amlvar(resultssection2[index].shipping). The authors for$ amlvar (resultssection2 [index] .shipping). The authors for

this book are $amlvar(resultssection2[index].author). It is athis book are $ amlvar (resultssection2 [index] .author). It is a

$amlvar(resultssection2[index].type) and was published in$ amlvar (resultssection2 [index] .type) and was published in

$amlvar(resultssection2[index].date). The price is$ amlvar (resultssection2 [index] .date). The price is

$amlvar(resultssection2[index].price).$ amlvar (resultssection2 [index] .price).

</PROMPT></ PROMPT>

<INPUT NAME="choice"TYPE=OPTIONLIST bargein=true<INPUT NAME = "choice" TYPE = OPTIONLIST bargein = true

grammar=".YesNoNavigation"grammar = ". YesNoNavigation"

onError="#error">onError = "# error">

<option NEXT="$amlvar(resultssection2[index].detail)"><option NEXT = "$ amlvar (resultssection2 [index] .detail)">

yes</OPTION>yes </ OPTION>

<option next="return">no</OPTION><option next = "return"> no </ OPTION>

</INPUT></ INPUT>

</STEP></ STEP>

A.4 번역: 교번 구조(alternate structures)A.4 Translation: Alternate Structures

이전 예시의 반복 구조에서, 각 열은 동일한 구조를 가졌고 선택된 셀은 필요 입력을 제공하였다. 이 섹션에서는 열 구조가 동일하지 않은 경우의 예시를 보인다.In the repeating structure of the previous example, each column had the same structure and the selected cell provided the necessary input. This section shows an example where the column structures are not the same.

예시 1Example 1

다음 테이블은 아래와 같이 테이블의 상이한 경우에 대하여 상이한 프롬프트로 렌더링될 수 있다.The following table can be rendered with different prompts for different cases of the table as follows.

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

Stock Price Quantity Operation DateStock Price Quantity Operation Date

IFMX 10.50 100 BUY 5/25/98IFMX 10.50 100 BUY 5/25/98

ORCL 51.5 200 SELL 5/26/98ORCL 51.5 200 SELL 5/26/98

IBM 171.5 DIVIDEND 5/27/98IBM 171.5 DIVIDEND 5/27/98

IBM 51.5 INTEIBM 51.5 INTE

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

<STEP Name="transactionList"next="#finish"><STEP Name = "transactionList" next = "# finish">

<LOOP name=transactionList loopindex=index<LOOP name = transactionList loopindex = index

start=0 end=$amlvar(transactionList.length)increment=1start = 0 end = $ amlvar (transactionList.length) increment = 1

next="#iteration">next = "# iteration">

LOOP>LOOP>

</STEP></ STEP>

</STEP name="#finish"></ STEP name = "# finish">

<PROMPT> You have now heard your entire transaction list.<PROMPT> You have now heard your entire transaction list.

Should I return to the main menu?Should I return to the main menu?

</PROMPT></ PROMPT>

<INPUT TYPE=OPTIONLIST grammar=".YesNoNavigation"<INPUT TYPE = OPTIONLIST grammar = ". YesNoNavigation"

NAME="choice"NAME = "choice"

onError="#error">onError = "# error">

<option NEXT="/trading/center"Value="yes"><option NEXT = "/ trading / center" Value = "yes">

yes<OPTION>yes <OPTION>

<option Next="#exit"Value="no">no</option><option Next = "# exit" Value = "no"> no </ option>

</INPUT></ INPUT>

</STEP></ STEP>

<STEP name="iteration"next="return"><STEP name = "iteration" next = "return">

<SWITCH name=transactionList[index].define><SWITCH name = transactionList [index] .define>

<CASE value="INTEREST" next="#interest></CASE><CASE value = "INTEREST" next = "# interest> </ CASE>

<CASE value="DIVIDEND" next="#dividend"></CASE><CASE value = "DIVIDEND" next = "# dividend"> </ CASE>

<CASE value=default next="#default"></CASE><CASE value = default next = "# default"> </ CASE>

</SWITCH></ SWITCH>

</STEP></ STEP>

</STEP name="interest></ STEP name = "interest>

<PROMPT>Interest $amlvar(transactionList[index].ico12)was<PROMPT> Interest $ amlvar (transactionList [index] .ico12) was

posted on $amlvar(transactionList[index].ico15).</PROMPT>posted on $ amlvar (transactionList [index] .ico15). </ PROMPT>

<INPUT type=none next="return"><INPUT type = none next = "return">

</STEP></ STEP>

</STEP name="dividend"></ STEP name = "dividend">

<PROMPT> Dividend $amlvar(transactionList[index].dcol2)was<PROMPT> Dividend $ amlvar (transactionList [index] .dcol2) was

posted on amlvar(transactionList[index].dco15)posted on amlvar (transactionList [index] .dco15)

for stock symbol $amlvar(transactionList[index].dcol1).for stock symbol $ amlvar (transactionList [index] .dcol1).

</PROMPT></ PROMPT>

<INPUT type=none next="return"><INPUT type = none next = "return">

</STEP></ STEP>

</STEP name="default"></ STEP name = "default">

<PROMPT> A $amlvar(transactionList[index].co14)transaction of<PROMPT> A $ amlvar (transactionList [index] .co14)

$amlvar(transactionList[index].co13)shares at$ amlvar (transactionList [index] .co13) shares at

$amlvar(transactionList[index].co12)of$ amlvar (transactionList [index] .co12) of

$amlvar(transactionList[index].co11) was posted on$ amlvar (transactionList [index] .co11) was posted on

$amlvar(transactionList[index].co15).$ amlvar (transactionList [index] .co15).

</PROMPT></ PROMPT>

<INPUT type=none next="return"><INPUT type = none next = "return">

</STEP></ STEP>

예시 2Example 2

다음 AML 코드는 거래이력 테이블(trade history table)을 렌더링한다. 두 가지 루프가 존재하는데, 하나는 스톡기호를 통한 루프이고 다른 하나는 각각의 기호에 대한 거래이력 루프이다.The following AML code renders a trade history table. There are two loops, one through the stock symbol and the other through the transaction history loop for each symbol.

<Dialog Name="allstocks"greeting="This is the Trade History page"><Dialog Name = "allstocks" greeting = "This is the Trade History page">

<!--Loop over all the stocks one by one><!-Loop over all the stocks one by one>

<STEP Name="allstocks"><STEP Name = "allstocks">

<loop name=stocks bargein=true loopindex=index1<loop name = stocks bargein = true loopindex = index1

start=0 increment=1 end=$amlvar(stocks.length)start = 0 increment = 1 end = $ amlvar (stocks.length)

next="#iteration1">next = "# iteration1">

</loop></ loop>

</STEP></ STEP>

<STEP name="iteration1"><STEP name = "iteration1">

<PROMPT>Please say yes if you want to listen to the orders for<PROMPT> Please say yes if you want to listen to the orders for

$amlvar(stocks[index1].stock).$ amlvar (stocks [index1] .stock).

</PROMPT></ PROMPT>

<INPUT TYPE="OPTIONLIST"GRAMMAR=".YesNo"NAME<INPUT TYPE = "OPTIONLIST" GRAMMAR = ". YesNo" NAME

="choice">= "choice">

<option Next="#stock1" Value="Yes"></option><option Next = "# stock1" Value = "Yes"> </ option>

<option Next="return"Value="No"></option><option Next = "return" Value = "No"> </ option>

</INPUT></ INPUT>

</STEP></ STEP>

<!--For each stock, loop over the trades for that stock><!-For each stock, loop over the trades for that stock>

<STEP Name="stock1"next=return><STEP Name = "stock1" next = return>

<LOOP NAME=stock1 loopindex=index2 next="#iteration2"<LOOP NAME = stock1 loopindex = index2 next = "# iteration2"

start=3 increment=1 end=$amlvar(stock1.length)start = 3 increment = 1 end = $ amlvar (stock1.length)

order=$amlvar(stock1[index2].closed)direction=descend>order = $ amlvar (stock1 [index2] .closed) direction = descend>

</LOOP></ LOOP>

</STEP></ STEP>

<STEP name="iteration2"><STEP name = "iteration2">

<switch name=stock1[index].define><switch name = stock1 [index] .define>

<case value="CLOSED"next="#closed"></case><case value = "CLOSED" next = "# closed"> </ case>

<case value="OPEN"next="#open"></case><case value = "OPEN" next = "# open"> </ case>

</switch></ switch>

</STEP></ STEP>

<!Prompt for open trades><! Prompt for open trades>

<STEP name="open"><STEP name = "open">

<PROMPT><PROMPT>

$amlvar(stock1[index2].orderno)is currently open, and is a$ amlvar (stock1 [index2] .orderno) is currently open, and is a

$amlvar(stock1[index2].action)$ amlvar (stock1 [index2] .action)

for $amlvar(stock1[index2].qty) shares offor $ amlvar (stock1 [index2] .qty) shares of

$amlvar(allstocks[index1].stock)at price$ amlvar (allstocks [index1] .stock) at price

$amlvar(stock1[index2].price). It was posted on$ amlvar (stock1 [index2] .price). It was posted on

$amlvar(stock1[index2].date)with a time limit of$ amlvar (stock1 [index2] .date) with a time limit of

$amlvar(stock1[index2].limit)$ amlvar (stock1 [index2] .limit)

</PROMPT></ PROMPT>

<INPUT type=none next="return"><INPUT type = none next = "return">

</STEP></ STEP>

<!prompt for closed trades><! prompt for closed trades>

<STEP name="closed"><STEP name = "closed">

<PROMPT><PROMPT>

$amlvar(stock1[index2].order no)was a$ amlvar (stock1 [index2] .order no) was a

$amlvar(stock1[index2].action)for$ amlvar (stock1 [index2] .action) for

$amlvar(stock1[index2].qty) shares of$ amlvar (stock1 [index2] .qty) shares of

$amlvar(allstocks[index1].stock)at price$ amlvar (allstocks [index1] .stock) at price

$amlvar(stock1[index2].price). It was posted on$ amlvar (stock1 [index2] .price). It was posted on

$amlvar(stock1[index2].date)with a time limit of$ amlvar (stock1 [index2] .date) with a time limit of

$amlvar(stock1[index2].limit) The transaction was closed$ amlvar (stock1 [index2] .limit) The transaction was closed

on $amlvar(stock1[index2].date2) and the action wason $ amlvar (stock1 [index2] .date2) and the action was

$amlvar(stock1[index2].action2).$ amlvar (stock1 [index2] .action2).

</PROMPT></ PROMPT>

<INPUT type=none next="return"><INPUT type = none next = "return">

</STEP></ STEP>

B. 흐름: 특정화된 urls/양식 동작(form actions)B. Flow: Specialized urls / form actions

html의 페이지로부터 html의 또다른 페이지까지의 트랜지션은 url로 또는 양식 동작 요소로 가능해질 수 있다. 또한 이들은 본 발명에 따른 대응 오디오 페이지 명세 사이에서의 순위를 정의한다. 따라서, 행선지 url 및 행선지 voice 요소를 정의하는 "흐름(flow)" 이라 불려지는 매핑(mapping)을 가질 수 있다. 단순성과 아마도 더 용이한 탐색을 위하여, 원시 url 및 원시 page 정보가 또한 저장될 것이다. url은 정적 부분과 동적 부분을 가질 수 있다. 연산에서, 변수 urls 를 명세화시키기 위한 구성요소 명세에 대한 구조 속성이 재사용된다.Transitions from a page of html to another page of html can be enabled either as a url or as a form action element. They also define the ranking among the corresponding audio page specifications according to the invention. Thus, it may have a mapping called "flow" that defines a destination url and a destination voice element. For simplicity and perhaps easier navigation, raw url and raw page information will also be stored. The url can have a static part and a dynamic part. In the operation, the structure attribute for the component specification to specify the variable urls is reused.

GUI 부분에서, html 페이지를 오디오 "program" 으로 변환시키는데에는 두 가지 레벨이 있다. 첫 번째 레벨에서, 개별 html 페이지는 대응하는 오디오 페이지로 전환된다. 두 번째 레벨에서, 모든 오디오 페이지가 표시되고, 사용자는 대응하는 html 구성요소에서 urls/양식 동작(form action) 방법을 사용하여 다양한 오디오 페이지들 사이의 트랜지션을 형성하도록 된다. 각각의 url 트랜지션에 대하여,오디오 요소가 형성되고, 그것은 "urls->audioid" 의 매핑에서 내부적으로 유지될 것이며 여기서 audioid는 오디오 페이지의 식별자가 된다.In the GUI section, there are two levels of conversion of html pages to audio "programs". At the first level, individual html pages are converted to the corresponding audio pages. At the second level, all audio pages are displayed and the user is forced to form a transition between the various audio pages using the urls / form action method in the corresponding html component. For each url transition, an audio element is formed, which will be kept internally in the mapping of "urls-> audioid" where audioid is the identifier of the audio page.

url 트랜지션은 흐름 요소를 사용하여 구체화된다. 흐름 요소는 url 및 그것의 대응하는 다이얼로그를 명세화한다. html 페이지에서 다음의 href 문장을 고려할 것임.The url transition is specified using a flow element. The flow element specifies the url and its corresponding dialog. Consider the following href statement in the html page:

<a<a

HREF="/trading/generic/?FormName=DelayedQuotes"HREF = "/ trading / generic /? FormName = DelayedQuotes"

NAME=CompanyNewsTARGET="CCBodyi"NAME = CompanyNewsTARGET = "CCBodyi"

onMouseOver="parent.self.status='Company News';return true">onMouseOver = "parent.self.status = 'Company News'; return true">

<u>Company</u><u> Company </ u>

</a></a>

만약 사용자가 이러한 url(행선지 주소)을 순회할 수 있다면, 그 다음에 대응하는 흐름 명세는 다음과 같이 될 것이다.If the user can traverse this url, then the corresponding flow specification would be:

<flow<flow

Name="CompanyNews"Name = "CompanyNews"

Source="https://trading2.schwab.com/trading/signon/."Source = "https://trading2.schwab.com/trading/signon/."

Sourceaudio=logonSourceaudio = logon

Destination="...trading/generic/?FormName=DelayedQuotes"Destination = "... trading / generic /? FormName = DelayedQuotes"

Destinationaudio=headlines>Destinationaudio = headlines>

</flow></ flow>

유사하게, Amazon 홈 페이지 예시에서 양식 구성요소가 선택된 다음, 순위를 위한 동작 방식이 암시적으로 선택된다. 따라서 그것을 위한 흐름요소를 형성할 필요가 있다. 예를 들어, 양식 요소는 다음과 같이 시작한다.Similarly, in the Amazon home page example, the form component is selected, and then the mode of operation for ranking is implicitly selected. Therefore, it is necessary to form a flow element for it. For example, a form element begins with:

<form method="post"<form method = "post"

action="/exec/obidos/generic-quicksearch-query/002-0363237-action = "/ exec / obidos / generic-quicksearch-query / 002-0363237-

2566852">2566852 ">

양식이 제출되는 때의 행선지 url은The destination url when the form is submitted

http://www.amazon.com/exec/obidos/generic - quicksearch - query/002 - 0363237 -2566852 이다. 이것은 정적부분:http://www.amazon.com/exec/obidos/generic - quicksearch - query/ 및 변수부분:002-0363237-2566852를 가진다. 변수부분은 amazon.com 페이지로 들어오는 새로운 세션에 할당된 session-id 이다. 그러면 이러한 페이지에 대한 흐름 구성요소는 다음과 같이 정의될 수 있다.http://www.amazon.com/exec/obidos/generic-quicksearch-query / 002-0363237 -2566852 It has a static part: http://www.amazon.com/exec/obidos/generic-quicksearch-query / and a variable part: 002-0363237-2566852. The variable part is the session-id assigned to the new session coming into the amazon.com page. The flow component for these pages can then be defined as follows:

<flow<flow

name="Resultsflow"name = "Resultsflow"

source="http://www.amazon.com/exec/obidos/generic -source = "http://www.amazon.com/exec/obidos/generic-

quicksearch - query/<amlvar name=sessionid>>"quicksearch-query / <amlvar name = sessionid >> "

destination="http://www.amazon.com/exec/obidos/generic -destination = "http://www.amazon.com/exec/obidos/generic-

quicksearch - query/<amlvar name=sessionid>"quicksearch-query / <amlvar name = sessionid> "

sourceaudio=homepagesourceaudio = homepage

destinationaudio=Resultpage>destinationaudio = Resultpage>

</flow></ flow>

호출자/음성 이용자는 뒤로(back), 앞으로(forward), 정지(stop) 계속(continue), 및 재생(refresh) 과 같은 네비게이션 명령을 사용하여 상이한 오디오 단계들 사이에서 네비게이트할 수 있다. 트랜지션은 트랜지션 단계로 표시되는 단계들 사이에서 형성된다. 뒤로(back) 및 앞으로(forward) 명령어는 호출자를 각각 다음 트랜지션 단계로 뒤로 또는 앞으로 향하게 할 것이다. 정지(stop)는 현재의 렌더링 또는 세션의 배경실행(background execution of the session)을 종결시킬 것이다. 계속(continue)은 그것이 정지되었던 위치로부터 작용할 것이다. 재생(refresh)은 html 페이지가 일반적으로 상기 세션을 진단할 때 재생할 것이다. 따라서, 다음 AML 언어코드에서, 헤드라인 단계는 (디폴트에 의한 "거짓(false)"인)속성 트랜지션을 사용하여 트랜지션 단계로 표시된다:The caller / speech user may navigate between different audio steps using navigation commands such as back, forward, stop continue, and refresh. The transition is formed between the steps represented by the transition step. The back and forward instructions will direct the caller back or forward to the next transition phase, respectively. A stop will terminate the current rendering or background execution of the session. The continue will work from where it was stopped. Refresh will play when the html page normally diagnoses the session. Thus, in the following AML language code, the headline phase is represented as a transition phase using an attribute transition (which is "false" by default):

<STEP Name="Headlines"transition=true><STEP Name = "Headlines" transition = true>

<PROMPT><PROMPT>

Here are the headlines. If you want to hear the completeHere are the headlines. If you want to hear the complete

story say Yes for the headlinestory say Yes for the headline

</PROMPT></ PROMPT>

<LOOP name=headlines loopindex=index<LOOP name = headlines loopindex = index

next="#query" start=0 increment=1next = "# query" start = 0 increment = 1

end=$amlvar(headlines.length)>end = $ amlvar (headlines.length)>

</LOOP></ LOOP>

</STEP></ STEP>

모든 단계들이 변환될 필요는 없다. 따라서, 내부적으로, 양식은 다중단계로 번역될 것이고, 사용자는 상기 양식의 제1단계로 항상 변환될 수 있도록 되어 있다.Not all steps need to be converted. Thus, internally, the form will be translated in multiple stages and the user is always able to translate to the first stage of the form.

C. AML(DTD 명세)C. AML (DTD Specification)

C.1 전체 문서(Overall document)C.1 overall document

다음은 오디오 언어 AML에 대한 명세이다. 다른 언어들은 구문(syntax)의 이러한 예시에 따라 생성될 수 있고 의도된 매체에서 작동하도록 수정되거나 형성되는 제약에 지배될 수 있다. 따라서, 이러한 명세는 예시적인 것이며 제한되지 않는다.The following is the specification of audio language AML. Other languages can be generated according to this example of syntax and subject to constraints that are modified or formed to work in the intended medium. Accordingly, these specifications are illustrative and not restrictive.

<!ELEMENT DIALOG(component│form│step│flow)*><! ELEMENT DIALOG (component│form│step│flow) *>

<!ATTLIST dialog #audio page element<! ATTLIST dialog #audio page element

name CDATA #name of objectname CDATA #name of object

url CDATA #sructure of urlurl CDATA #sructure of url

greeting CDATA #information greeting user on entering audio pagegreeting CDATA #information greeting user on entering audio page

#this is read out when user reachesthis#this is read out when user reachesthis

audio page for theaudio page for the

#first time, or thereafter while navigating through the#first time, or thereafter while navigating through the

#audio pages#audio pages

cookies CDATA #any associated cookies with page, may be necessary forcookies CDATA #any associated cookies with page, may be necessary for

#identification#identification

>>

identificationidentification

<!ELEMENT COMPONENT(component│idloop│idswitch)*><! ELEMENT COMPONENT (component│idloop│idswitch) *>

<!ATTLIST component#component element-<! ATTLIST component # component element-

type CDATA #type of object form/table/tr/td/input etc.type CDATA #type of object form / table / tr / td / input etc.

position CDATA #ordinal element number of component in the patent containerposition CDATA #ordinal element number of component in the patent container

url CDATA #identifying url. url are caseurl CDATA #identifying url. url are case

sensitivesensitive

name CDATA #name of componentname CDATA #name of component

htmlname CDATA #Name on the html documenthtmlname CDATA #Name on the html document

id CDATA #ID of html objectid CDATA #ID of html object

dimension CDATAdimension CDATA

#for forms #of visible controls in the form #for a table number of rows #for a tr number of cells visible#for forms #of visible controls in the form #for a table number of rows #for a tr number of cells visible

(true│false)#set to "true"if the nonvisible data needs to be stripped(true│false) #set to "true" if the nonvisible data needs to be stripped

sructure CDATA #structure object>sructure CDATA #structure object>

<!ELEMENT idswitch(idcase)*><! ELEMENT idswitch (idcase) *>

<!ATTLIST idswitch<! ATTLIST idswitch

name CDATA #what do you switch on?>name CDATA #what do you switch on?>

<!ELEMENT idcase(component│idloop│idswitch)*><! ELEMENT idcase (component│idloop│idswitch) *>

<!ATTLIST idcase<! ATTLIST idcase

define CDATAdefine CDATA

#used to define component#used to define component

types, later #in rendering totypes, later #in rendering to

identify type of # componentidentify type of # component

being renderedbeing rendered

>>

<!ELEMENT idloop(component│idswitch│idloop)*><! ELEMENT idloop (component│idswitch│idloop) *>

<!ATTLIST idloop<! ATTLIST idloop

ignoreignore

(ALL│ALL_BUT_FIRST│ALL_BUT_LAST│LAST│EVEN│ODD)(ALL│ALL_BUT_FIRST│ALL_BUT_LAST│LAST│EVEN│ODD)

name CDATA #name of componentname CDATA #name of component

loopindex CDATA #name of loop indexloopindex CDATA #name of loop index

>>

<!ELEMENT FLOW<! ELEMENT FLOW

<!ATTLIST flow #flow element<! ATTLIST flow #flow element

name CDATA; #name of elementname CDATA; #name of element

source CDATA; #structure specification ofsource CDATA; #structure specification of

source urlsource url

destination CDATA; #structure specification ofdestination CDATA; #structure specification of

destination urldestination url

sourceaudio CDATA; #source audio page idsourceaudio CDATA; #source audio page id

desinationaudio CDATA; #desination audio page iddesinationaudio CDATA; #desination audio page id

desinationstep CDATA; #starting step in new audiodesinationstep CDATA; #starting step in new audio

elementelement

>>

<!ELEMENT AMLVAR><! ELEMENT AMLVAR>

<!ATTLIST amlvar #variable element--<! ATTLIST amlvar #variable element--

name CDATA; #name of variablename CDATA; #name of variable

type(char│int│money│dete│time) #what is the type of this variabletype (char│int│money│dete│time) #what is the type of this variable

#this is used for rendering,e.g.,#this is used for rendering, e.g.,

#if it is of type date, and#if it is of type date, and

looks likelooks like

#1/10/99, it would be# 1/10/99, it would be

rendered asrendered as

#October 1, 1999#October 1, 1999

format CDATA #for date/time/money, what is theformat CDATA #for date / time / money, what is the

formatformat

#of this variable on the html page#of this variable on the html page

#mmddy4/y4/etc.# mmddy4 / y4 / etc.

render CDATA #how is this rendered to therender CDATA #how is this rendered to the

callercaller

#mmddy4/y4/etc.# mmddy4 / y4 / etc.

visible(true│false) #visible part of text, i.e.,visible (true│false) #visible part of text, i.e.,

what you see onwhat you see on

#the screen, see Section 5.5#the screen, see Section 5.5

>>

RenderingRendering

<!ELEMENT FORM(prompt)><! ELEMENT FORM (prompt)>

<!ATTLIST form #form element<! ATTLIST form #form element

name CDATA #name of objectname CDATA #name of object

parameters CDATA #&-separated list ofparameters CDATA # &-separated list of

parameters to be passedparameters to be passed

component CDATA #name of component incomponent CDATA #name of component in

identificationidentification

>>

<!ELEMENT step(prompt)(input│switch│loop)><! ELEMENT step (prompt) (input│switch│loop)>

<!ATTLIST step<! ATTLIST step

name ID REQUIREDname ID REQUIRED

Transition (true│false) #transitional step forTransition (true│false) #transitional step for

navigationnavigation

Next CDATA #what is the next step afterNext CDATA #what is the next step after

this step.this step.

Valid ony for step #that enclose loop and switchValid ony for step #that enclose loop and switch

>>

<!ELEMENT input(option│rename)*><! ELEMENT input (option│rename) *>

<!ATTLIST step<! ATTLIST step

name ID #name ID #

next CDATA #what is the next step afternext CDATA #what is the next step after

this stepthis step

bargein (Y│N) #default is yes(Y)bargein (Y│N) #default is yes (Y)

grammar CDATA #grammar describing what togrammar CDATA #grammar describing what to

expectexpect

#from the user at this point;#from the user at this point;

some defaultsome default

#grammars available, such as#grammars available, such as

yes/no, etc.yes / no, etc

keypad CDATA #grammar describing keypadkeypad CDATA #grammar describing keypad

stuffstuff

onError CDATA #error handling step if there is aonError CDATA #error handling step if there is a

#problem in this#problem in this

#input from the user#input from the user

type (TEXT│DIGITS│OPTIONLIST│NONE)type (TEXT│DIGITS│OPTIONLIST│NONE)

>>

<!ELEMENT option(CDATA)><! ELEMENT option (CDATA)>

<!ATTLIST option<! ATTLIST option

value CDATA #value of optionvalue CDATA #value of option

next C DATA #what is the next stepnext C DATA #what is the next step

>>

<!ELEMENT switch(case)*><! ELEMENT switch (case) *>

<!ATTLIST switch<! ATTLIST switch

component CDATA #what do you switch on?component CDATA #what do you switch on?

>>

<!ELEMENT case><! ELEMENT case>

<!ATTLIST case<! ATTLIST case

value CDATA #value for this case;value CDATA #value for this case;

next CDATA #step containing body of casenext CDATA #step containing body of case

>>

<!ELEMENT prompt(CDATA)><! ELEMENT prompt (CDATA)>

<!ATTLIST prompt<! ATTLIST prompt

wavefile CDATA #wavefile containing promptwavefile CDATA #wavefile containing prompt

>>

<!ELEMENT loop><! ELEMENT loop>

<!ATTLIST loop<! ATTLIST loop

component CDATA #name of component on whichcomponent CDATA #name of component on which

to loop onto loop on

next CDATA #step containing body of loopnext CDATA #step containing body of loop

loopindex CDATA #name of loop indexloopindex CDATA #name of loop index

start CDATA #starting value for loop indexstart CDATA #starting value for loop index

(default 0)(default 0)

end CDATA #ending value for loop indexend CDATA #ending value for loop index

(default #length of component)(default #length of component)

increment CDATA #loop index increment (default 1)increment CDATA #loop index increment (default 1)

order CDATA #part of component on whichorder CDATA #part of component on which

it needs to #be sortedit needs to #be sorted

direction (ascend│descend) #render in ascending/descending order ifdirection (ascend│descend) #render in ascending / descending order if

>>

<!ELEMENT rename><! ELEMENT rename>

<!ATTLIST rename<! ATTLIST rename

VARNAME CDATA #name of aml variableVARNAME CDATA #name of aml variable

GRAMMARNAME CDATA #grammar slot nameGRAMMARNAME CDATA #grammar slot name

>>

본 발명은 특정 실시예를 참조로 기술되어 있다. 기타의 실시예들은 당업자에게 명백해질 것이다. 따라서, 첨부된 청구항에 의해서 나타난 바를 제외하고, 본 발명이 한정되는 것을 의도하지 않는다.The invention has been described with reference to specific embodiments. Other embodiments will be apparent to those skilled in the art. Accordingly, it is not intended that the invention be limited, except as indicated by the appended claims.

Claims (33)

소스데이터를 위한 저장수단과 상기 소스테이터의 식별을 위한 수단을 구비하는 컴퓨터 네트워크 시스템에서, 수학적 정규식(regular expression)의 부분인 2차원 데이터의 표현(representation)을 청각(aural) 또는 기타의 시각양식(visual form)으로 렌더링하는 방법에 있어서, 상기 표현은 수학적 정규요소의 분석으로부터 얻은 시그너처(signature)이고, 상기 렌더링 방법은,In a computer network system having a storage means for source data and a means for identification of the small stator, an aural or other visual form for the representation of two-dimensional data that is part of a mathematical regular expression. In a method of rendering in a visual form, the expression is a signature obtained from analysis of a mathematical regular element, and the rendering method is 사용자로부터의 조회에 응답하여, 상기 저장수단에서 상기 시그너처를 검색하는 단계;Responsive to an inquiry from a user, retrieving the signature from the storage means; 상기 시그너처에 의하여 지시되는 바대로, 상기 해당 요소의 현재값을 상기 소스수단으로부터 검색하는 단계;Retrieving the current value of the corresponding element from the source means as indicated by the signature; 사전선택된 언어 번역기를 통하여 상기 현재값을 출력으로 번역하는 단계; 및Translating the current value into an output via a preselected language translator; And 상기 출력을 상기 사용자에게 제공하는 단계를 포함하는 것을 특징으로 하는 렌더링 방법.Rendering the output to the user. 제1항에 있어서,The method of claim 1, 상기 사전선택된 언어 번역기는 텍스트-음성(text to speech) 번역기인 것을 특징으로 하는 렌더링 방법.And the preselected language translator is a text to speech translator. 제1항에 있어서,The method of claim 1, 상기 사전선택된 언어 번역기는 각각의 상기 요소들 중 하나를 위하여 사전선택된 값에 매핑되는 한 세트의 저장된 청각식인 것을 특징으로 하는 렌더링 방법.And said preselected language translator is a set of stored auditory equations mapped to preselected values for each of said elements. 제1항에 있어서,The method of claim 1, 상기 사전선택된 언어 번역기는 각각의 상기 요소들 중 하나를 위하여 사전선택된 값에 매핑되는 단순화된 텍스트식의 엔진을 포함하는 것을 특징으로 하는 렌더링 방법.And said preselected language translator comprises a simplified textual engine mapped to a preselected value for each of said elements. 웹 요소들을 명세화하는 소스언어 정보를 호스트 웹 서버로부터 받는 수단;Means for receiving source language information from a host web server that specifies web elements; 상기 소스언어 정보에 의하여 명세화된 적어도 하나의 웹 요소를 식별하는 수학적 정규식을 받는 수단;Means for receiving a mathematical regular expression identifying at least one web element specified by the source language information; 런타임 엔진이 상기 식별된 웹 요소를 제시할 수 있도록 목표언어 정보를 생성하기 위하여 상기 소스언어 정보 및 상기 수학적 정규식을 사용하는 수단을 포함하는 것을 특징으로 하는 시스템.And means for using the source language information and the mathematical regular expression to generate target language information such that a runtime engine can present the identified web element. 제5항에 있어서,The method of claim 5, 상기 소스언어 정보는 HTML 데이터를 포함하는 것을 특징으로 하는 시스템.And the source language information comprises HTML data. 제5항에 있어서,The method of claim 5, 상기 목표언어 정보는 HTML 데이터를 포함하는 것을 특징으로 하는 시스템.And said target language information comprises HTML data. 제5항에 있어서,The method of claim 5, 상기 목표언어 정보는 런타임 객체를 포함하는 것을 특징으로 하는 시스템.And the target language information comprises a runtime object. 제5항에 있어서,The method of claim 5, 상기 식별된 웹 요소는 흐름제어 정보를 포함하는 것을 특징으로 하는 시스템.And the identified web element includes flow control information. 제5항에 있어서,The method of claim 5, 상기 식별된 웹 요소는 옵션 리스트를 포함하는 것을 특징으로 하는 시스템.And the identified web element includes a list of options. 제5항에 있어서,The method of claim 5, 상기 식별된 웹 요소는 테이블을 포함하는 것을 특징으로 하는 시스템.And wherein said identified web element comprises a table. 제5항에 있어서,The method of claim 5, 상기 식별된 웹 요소는 로그온 정보에 대한 요구(request)를 포함하는 것을 특징으로 하는 시스템.And wherein the identified web element includes a request for logon information. 제5항에 있어서,The method of claim 5, 런타임 엔진은 텍스트-음성 엔진을 포함하는 것을 특징으로 하는 시스템.The runtime engine comprises a text-to-speech engine. 제5항에 있어서,The method of claim 5, 상기 번역기는 텍스트-음성 엔진을 포함하는 것을 특징으로 하는 시스템.The translator comprises a text-to-speech engine. 제5항에 있어서,The method of claim 5, 상기 번역기는 상기 식별된 웹 요소를 위하여 사전선택된 값에 매핑되는 청각식을 포함하는 것을 특징으로 하는 시스템.The translator comprises an auditory equation that maps to a preselected value for the identified web element. 제5항에 있어서,The method of claim 5, 상기 번역기는 상기 식별된 웹 요소를 위하여 사전선택된 값에 매핑되는 단순화된 텍스트식을 포함하는 것을 특징으로 하는 시스템.And the translator comprises a simplified textual expression that maps to a preselected value for the identified web element. 웹 요소들을 명세화하는 소스언어 정보를 호스트 웹 서버로부터 받는 단계;Receiving source language information from a host web server that specifies web elements; 상기 소스언어 정보에 의하여 명세화된 적어도 하나의 웹 요소를 식별하는 수학적 정규식을 받는 단계; 및Receiving a mathematical regular expression identifying at least one web element specified by the source language information; And 런타임 엔진이 상기 식별된 웹 요소를 제시할 수 있도록 상기 소스언어 정보 및 상기 수학적 정규식으로부터 목표언어 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.Generating target language information from the source language information and the mathematical regular expression so that a runtime engine can present the identified web element. 웹 요소들을 명세화하는 소스언어 정보를 호스트 웹 서버로부터 받는 단계;Receiving source language information from a host web server that specifies web elements; 상기 소스언어 정보에 의하여 명세화된 적어도 하나의 웹 요소를 식별하는 수학적 정규식을 받는 단계; 및Receiving a mathematical regular expression identifying at least one web element specified by the source language information; And 런타임 엔진이 상기 식별된 웹 요소를 제시할 수 있도록 상기 소스언어 정보 및 상기 수학적 정규식으로부터 목표언어 정보를 생성하는 단계들을 컴퓨터가 수행하도록 하는 프로그램 코드를 저장하고 있는 것을 특징으로 하는 컴퓨터-읽기가능 저장매체.And store program code for causing a computer to perform steps of generating target language information from the source language information and the mathematical regular expression so that a runtime engine can present the identified web element. media. 호스트 웹 서버로부터 HTML 페이지 정보를 받는 단계;Receiving HTML page information from a host web server; 지속 저장소(persistent store)로부터 목표언어 스크립트를 검색하는 단계;Retrieving a target language script from a persistent store; 상기 목표언어 스크립트에 따라 상기 HTML 페이지 정보를 번역하여, 번역된 HTML 페이지 정보를 생성하는 단계;Translating the HTML page information according to the target language script to generate translated HTML page information; 렌더링 장치를 통하여 사용자에게 상기 번역된 HTML 페이지 정보를 제시하는 단계를 포함하는 것을 특징으로 하는 방법.Presenting the translated HTML page information to a user via a rendering device. 제19항에 있어서,The method of claim 19, 상기 번역하는 단계는 상기 HTML 페이지 정보로부터 동적으로 갱신가능한 데이터를 추출하는 단계를 포함하는 것을 특징으로 하는 방법.And wherein said translating comprises extracting dynamically updatable data from said HTML page information. 제19항에 있어서,The method of claim 19, 상기 번역된 HTML 페이지 정보는 청각적으로 제시되는 것을 특징으로 하는 방법.The translated HTML page information is presented audibly. 제19항에 있어서,The method of claim 19, 상기 번역된 HTML 페이지 정보는 런타임 객체를 포함하는 것을 특징으로 하는 방법.Wherein the translated HTML page information includes a runtime object. 제19항에 있어서,The method of claim 19, 상기 제시하는 단계는 대화식으로 사용자에게 프롬프트 요소를 제공하는 단계 및 사용자로부터 입력 요소를 받는 단계를 포함하는 것을 특징으로 하는 방법.The presenting step includes interactively providing a prompt element to the user and receiving an input element from the user. 제19항에 있어서,The method of claim 19, 상기 렌더링 장치는 전화인 것을 특징으로 하는 방법.And the rendering device is a telephone. 제19항에 있어서,The method of claim 19, 상기 HTML 페이지 정보는 웹 페이지인 것을 특징으로 하는 방법.And the HTML page information is a web page. 제19항에 있어서,The method of claim 19, 번역될 선택된 HTML 페이지 정보를 식별하는 단계를 더 포함하는 것을 특징으로 하는 방법.Identifying selected HTML page information to be translated. 웹 페이지 정보에 대화식 사용자 액세스를 제공하기 위한 방법에 있어서,A method for providing interactive user access to web page information, the method comprising: 호스트 웹 서버로부터 웹 페이지 정보를 받는 단계;Receiving web page information from a host web server; 렌더링 장치를 통하여 사용자에게 제시가능한 프리젠테이션 페이지를 포함하는 현재 프리젠테이션 다이얼로그로 상기 웹 페이지 정보를 변환하는 단계;Converting the web page information into a current presentation dialog comprising a presentation page presentable to a user through a rendering device; 현재 프리젠테이션 페이지 트랜지션(transition)을 상기 사용자로부터 받는 단계;Receiving a current presentation page transition from the user; 트랜지션 페이지를 웹 페이지 정보 목표 및 이에 대응하는 트랜지션 스텝(transition step)으로 매핑하여 프리젠테이션 요소를 정의하는 단계;Defining a presentation element by mapping a transition page to a web page information target and a transition step corresponding thereto; 사용자 네비게이션 명령을 받는 단계; 및Receiving a user navigation command; And 받은 사용자 네비게이션 명령이 상기 프리젠테이션 요소와 일치한다면, 상기 웹 페이지 정보 목표에 대응하는 다이얼로그가 제시되는 트랜지션 스텝을 발생시키는 단계를 포함하는 것을 특징으로 하는 방법.And if the received user navigation command matches the presentation element, generating a transition step in which a dialog corresponding to the web page information target is presented. 제27항에 있어서,The method of claim 27, 상기 트랜지션 페이지는 상기 프리젠테이션 페이지 트랜지션을 받는 단계 바로 직전에 사용자에게 제시되는 페이지인 것을 특징으로 하는 방법.And the transition page is a page presented to the user just before the step of receiving the presentation page transition. 제27항에 있어서,The method of claim 27, 상기 네비게이션 명령은 앞선 다이얼로그가 제시되도록 하는 백워드 명령(backward command)을 포함하는 것을 특징으로 하는 방법.And the navigation command comprises a backward command causing the preceding dialog to be presented. 제27항에 있어서,The method of claim 27, 상기 네비게이션 명령은,The navigation command, 사용자가 다음의 트렌지션 스텝으로 되돌아가도록 하는 백워드 명령, 및A backward instruction that causes the user to return to the next transition step, and 사용자가 다음의 트랜지션 스텝으로 향하도록 하는 포워드 명령을 포함하는 것을 특징으로 하는 방법.Forward instructions for directing the user to the next transition step. 제27항에 있어서,The method of claim 27, 상기 네비게이션 명령은,The navigation command, 대응하는 현재의 렌더링 장치 실행을 종료시키는 정지 명령, 및A stop instruction that terminates execution of the corresponding current rendering device, and 상기 실행이 정지된 곳으로부터 대응하는 렌더링 장치 실행을 개시하는 계속 명령(continue command)을 포함하는 것을 특징으로 하는 방법.And a continue command to initiate execution of the corresponding rendering device from where the execution was stopped. 제27항에 있어서,The method of claim 27, 상기 네비게이션 명령은 현재 조사중인 HTML 페이지를 재생(refresh)시키는 재생 명령을 포함하는 것을 특징으로 하는 방법.And the navigation command includes a refresh command to refresh the HTML page currently under investigation. 제27항에 있어서,The method of claim 27, 상기 프리젠테이션 페이지는 오디오 페이지를 포함하고, 상기 프리젠테이션 요소는 오디오 요소인 것을 특징으로 하는 방법.Wherein the presentation page comprises an audio page and the presentation element is an audio element.
KR1020027003231A 1999-09-10 2000-09-06 Method For Customizing And Rendering Of Selected Data Fields KR20020042831A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39313399A 1999-09-10 1999-09-10
US09/393,133 1999-09-10
PCT/US2000/024546 WO2001018692A2 (en) 1999-09-10 2000-09-06 Method for customizing and rendering of selected data fields

Publications (1)

Publication Number Publication Date
KR20020042831A true KR20020042831A (en) 2002-06-07

Family

ID=23553412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027003231A KR20020042831A (en) 1999-09-10 2000-09-06 Method For Customizing And Rendering Of Selected Data Fields

Country Status (7)

Country Link
EP (1) EP1344149A2 (en)
JP (1) JP2003532129A (en)
KR (1) KR20020042831A (en)
CN (1) CN1461445A (en)
AU (1) AU7355200A (en)
CA (1) CA2384618A1 (en)
WO (1) WO2001018692A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200452191Y1 (en) * 2010-06-07 2011-02-10 (주)스페이스톡 Pinwheel sculpture

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958164B2 (en) 2006-02-16 2011-06-07 Microsoft Corporation Visual design of annotated regular expression
US7860881B2 (en) 2006-03-09 2010-12-28 Microsoft Corporation Data parsing with annotated patterns
WO2012174703A1 (en) * 2011-06-20 2012-12-27 Microsoft Corporation Hover translation of search result captions
CN111680051B (en) * 2020-05-29 2023-10-20 杭州趣链科技有限公司 Data serialization and deserialization method, device and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282511B1 (en) * 1996-12-04 2001-08-28 At&T Voiced interface with hyperlinked information

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200452191Y1 (en) * 2010-06-07 2011-02-10 (주)스페이스톡 Pinwheel sculpture

Also Published As

Publication number Publication date
WO2001018692A2 (en) 2001-03-15
EP1344149A2 (en) 2003-09-17
WO2001018692A3 (en) 2003-07-17
CN1461445A (en) 2003-12-10
JP2003532129A (en) 2003-10-28
AU7355200A (en) 2001-04-10
CA2384618A1 (en) 2001-03-15

Similar Documents

Publication Publication Date Title
KR100661687B1 (en) Web-based platform for interactive voice responseivr
US7548858B2 (en) System and method for selective audible rendering of data to a user based on user input
US6446098B1 (en) Method for converting two-dimensional data into a canonical representation
US6377927B1 (en) Voice-optimized database system and method of using same
KR100919738B1 (en) Content creation system, content creation method, computer-executable program for executing the content creation method, computer-readable recording medium containing the program, graphical user interface system, and display control method
US8566102B1 (en) System and method of automating a spoken dialogue service
EP1371057B1 (en) Method for enabling the voice interaction with a web page
US20030139928A1 (en) System and method for dynamically creating a voice portal in voice XML
US11604929B2 (en) Guided text generation for task-oriented dialogue
KR20020042831A (en) Method For Customizing And Rendering Of Selected Data Fields
Reddy et al. Listener-controlled dynamic navigation of voicexml documents
US20030091176A1 (en) Communication system and method for establishing an internet connection by means of a telephone
Gupta et al. Dawn: Dynamic aural web navigation
Chirathivat et al. Internet explorer smart toolbar for the blind
KR20010017323A (en) Web browsing apparatus and method having language learning function
McTear et al. More Advanced VoiceXML
Chandon WebVoice: Speech Access to Traditional Web Content for Blind Users

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid