对所选数据域进行定制和呈现的方法

文档序号:6537222阅读:275来源:国知局

专利名称::对所选数据域进行定制和呈现的方法
技术领域
:本发明涉及不同格式定制数据的呈现,包括音频和有限可视格式。本发明特别涉及将超文本链接标示语言(HTML)格式的数据呈现为其它的格式,如除源格式以外的音频及视频格式。目前,在HTML格式中包含大量有价值的信息。但是,HTML主要是设计用来在特定的可视化环境中进行访问,即通过网络浏览器所应用的图形用户接口进行访问。因此有必要通过其它接口和阅读程序获取HTML上的数据。本发明就是要解决这种需求中的关键问题。
发明内容根据本发明提供了一种方法,在计算机网络中,通过从数据的数学标准形式中抽取特征标记的方式选择和识别数据元素,依靠通过参考特征标记访问元素的系统,经过适当的语言翻译器将这些数据呈现给查询者。这个语言翻译器可以包括文本到语音翻译程序、与元素对应的已存储音频形式和与HTML形式相适应的简化文本表达程序。本发明的另一个方面是,本方法还包括使翻译更适合上下文的选择元素的识别、定制,以及通过适当的语言翻译器对选择和定制数据的进一步说明。本发明的一个突出特点是HTML页可以用标准形式表示。本发明的另一个重要特点是只需要选择元素,而不必选择元素的实际值,这样就可以用当前值对它进行动态更新和呈现。为更好地理解本发明,下面结合附图,对本发明进行详细说明。图1是本发明的系统框图,其中运行时引擎使用根据本发明的适当呈现工具所识别的元素从HTML页上检索信息。图2是本发明翻译实例的流程图。具体实施例的详细说明图1所示为系统101的方框图,其中带有主运行时组件和相关的元素。从主网络服务器12检索出网页11后,交给翻译器20,翻译器从共享的持久存储器14中检索相应的目标语言文档21,生成所谓WML网页23和运行时对象24。设计者13须预先从HTML或源语言网页11中选择一些数据,此后称作“组件”17,以便自动生成唯一的特征标记,运行环境通过运行时引擎22使用该标记可以从HTML页中提取实时数据。运行时引擎22与电话服务器或其它翻译服务器26连接,用户28可以用翻译服务器26提供的格式从主网络服务器得到所需的时实信息。运行时,当翻译器20从网站下载HTML页时,它的作用像主网络服务器12的浏览器。在具体实施例中,翻译器20也从共享持久存储器14中检索目标语言脚本,目标语言是为这些目的所建立的语言,称作AML。对于每一个网页来说,相应的AML脚本告诉翻译器如何创建运行时对象24。这些运行时对象24传送到与调用者交互作用的运行时引擎22。运行时引擎22运用文本到声音或文本到减量文本技术,通过语音或其它接口设备读取文本和向用户28发送提示信息。当电话用户28发出响应时,运行时引擎22利用语音识别技术或text-to-nine(这里称作T9)技术把呼叫响应转化为文本。然后翻译器20把来自呼叫者的响应提交回能够对要求产生解释和响应的主网络服务器12。由于可以将脚本设置为编码页内流,且可以包含网页的URL,翻译器能够请求适当的网页。运行时主网络服务器12可以看做是与传统的网络浏览器相连接。除了创建运行时对象24,运行时翻译器20也可为使用WML文件的第三方应用程序创建这种文件。对于从门户访问可用音频网站的访问者,也可以使用定制的小程序。运行时操作的一个重要方面是翻译过程,下面对其进行解释。A.翻译本节说明的是如何对上一节所述的各种组件进行翻译。A.1翻译格式格式样本的翻译如下。每一个格式的输入元素都以STEP字样出现。步骤(step)元素有一个提示(prompt)元素和一个输入(input)元素,提示元素告诉用户本输入的特性,输入元素汇集来自用户的输入。图2为此处所说明的翻译样本流程图。<prelisting-type="program-listing"><![CDATA[  <DialogName="Logon"greeting="LogonPage">  <componentName="Logon"TYPE="FORM"position=1></component>  <STEPName="Logon">  <PROMPT>Pleasespeaktheeightdigitsinyouraccountnumber</PROMPT>  <INPUTTYPE="DIGITS"NAME="SignonAccountNumber"  NEXT="#F2"></INPUT>  </STEP>  <STEPName="F2">  <PROMPT>Pleasespeakyourpassword</PROMPT>  <INPUTTYPE="STRING"NAME="SignonPassword"NEXT=  "#F3"></INPUT>  </STEP>  <STEPName="F3">  <PROMPT>Pleasechoosefromoneofthefollowingoptions.  AccountOverview,StockTrading,OptionsTrading,MutualFund  Trading,CorporateBondTrading,Real-TimeQuotes.Account  BalancesandPosition.</PROMPT>  <INPUTTYPE="OPTIONLIST"NAME="StartAnchor"  NEXT=”#IF4”  grammar=.optionlist  //[commentThegrammardefineswhattheuserisexpectedtosayorinputatthispoint.Iftheusersayssomethingelse,anerrorisraisedandis  handledaccordingtotheonErrorstep.]  onError=#error>  <RENAMEVARNAME=”StartAnchor”  GRAMMARNAME=”X”>  //[commentTheforgoingisthemappingbetweenthevariablenameand  thegrammarname.]  <optionValue="Ccbodyi">AccountOverview</OPTION>  <optionValue="TradingEQ">StockTrading</OPTION>  <optionValue="TradingOpt">OptionsTrading  </OPTION>  <optionValue="TradeMF">MutualFundTrading  </OPTION>>  <optionValue="TradeCorpBonds">CorporateBond  Trading</OPTION>  <optionValue="Quotes">Real-TimeQuotes</OPTION>  <optionValue="Balance">AccountBalances</OPTION>  <optionValue="Position">Positions</OPTION>  </INPUT>  </STEP>//[commentThefollowingisforaform.Inaform,hiddenvariables,actionsandmethodsarealwayspulledfromtheHTMLorsourcepage.]  <FORM  NAME="F4"  PARAMETERS="StartAnchor=$amlvar(StartAnchor)&amp;SignonPas  sword=$amlvar(SignonPassword)&amp;SignonAccountNumber=$amlv  ar(SignonAccountNumber)"  Component=”Logon”>  <PROMPT>AttemptingtoLogontoCharlesSchwab  </PROMPT>  </FORM>  <flowName="formflow"  Source="https//trading2.schwab.com/trading/signon/."Sourceaudio=logon  Destination="...trading/generic/?FormNarne=DelayedQuotes"Destinationaudio=headlines  Destinationstep=headlines>  </flow>  </Dialog>]]></pre>属性定义了给定步骤的转换过程。例如,参见图2,在第一步F1,登录步骤中,提示信息要求用户输入8位的账号,当接收到用语音输入的该账号后,它便建立一个转换过程到步骤F2。在登录步骤中,输入元素的名称(name)属性SignonAccountNumber为一个“全局”变量且可以被后面做为$amlver(SignonAccountNumber)进行存取。继续到步骤F2,提示输入口令,接收到输入后,便建立一个转换到步骤F3。步骤F3为一个选项列表,用户能够在多个选项中挑选一个。选择完成后,用户转换到步骤F4。参数(parameters)属性说明需要传递到动作url的参数,最后,提示元素向用户反馈一个信息说明哪些工作已经完成。流(flow)元素定义到下一个步骤的转换—给定目标url,设计者和运行时系统能够确定继续浏览所必须的下一个AML页。识别语法为变量指定了一个名称,即X,其中放置变量的值,该步骤有与input(Startanchor)相对应的变量名。有时情况会有所不同,即当语法在多个不同的输入步骤间共享时,它们会用不同的变量名称。此时,RENAME元素会帮助定义识别变量名到该步骤的变量名的对应关系。如果语法分配多个变量,则需要为每个变量指定一个重命名(rename)元素。例如,在下面的代码段中,所有的变量都由语法分配,且它们被重新映射到变量名,这些变量名在后面的示例代码中使用。<prelisting-type="program-listing"><![CDATA[  <STEPName="stock">  <PROMPT>Whatwouldyouliketotrade?</PROMPT>  <INPUTTYPE="GRAMMAR"GRAMMAR=".StockTrade2"onError=”#error”>  <RENAMEVARNAME=”TradeType”GRAMMARNARN=”A1”>  <RENAMEVARNAME=”Symbol”GRAMMARNAME=”A2”>  <RENAMEVARNAME=”OrderType”GRAMMARNAME=”A3”>  <RENAMEVARNAME=”LimitPrice”GRAMMARNAME=”A4”>  <RENAMEVARNAME=”TimeLimit”GRAMMARNAME=”A5”>  <RENAMEVARNAME=”Quantiyty”GRAMMARNAME=”A6”>  </INPUT>  </STEP>]]></pre>如果由于某些原因,(声音)识别引擎不能理解用户所说的内容,则会产生一个错误状态。如果没有指定onError属性,则用默认的方式对错误进行处理提示会重复多次,直到产生正确的识别。用户也可以选择用她或他自己定义的错误步骤来代替默认方式。在下面的例子中,用户定义了一个错误步骤作为全局步骤。该步骤定义的动作能应付各种各样的错误。该步骤为全局性的,即它可以被其它随后的aml页所调用。<prelisting-type="program-listing"><![CDATA[  <STEPname=errorglobal=true>  <switchname=$amlvar(amlerror.type)><casevalue=RECOGNlTION_FAILUREnext=”#recognition_failure”></case>  <casevalue=CALLER_TIMEOUTnext=”#caller_timeout”></case  </switch></STEP><STEPname=recognition_failure>  <prompt>Ididnotunderstandwhatyousaid.</prompt>  <switchname=$amlvar(amlerror.number_errors_page)>  <casevalue=1next=”#first_error”><casevalue=2next=”#second_error”><casevalue=3next=”#third_error”></switch><STEPname=first_error>  <prompt>$amlvar(lastprompt)</prompt>.</STEP><STPname=second_error>  <prompt>$amlvar(lastshadowprompt)</prompt></STEP><STEPname=third_error>  <prompt>Givingup!</prompt><STEP>]]></pre>A.2翻译表表能够以多种方式读出。本节说明两种可能的方式。一种方式是每次读出表的一行,然后询问用户是否继续进行。另一种方式是每次读出表的所有行,允许用户在任何时间强插进入。A.2.1每次一行举例来说,用户登录到系统后,他或她可以利用浏览器转换到一个网页,该网页中有一个具体股票代号标题新闻的表。选择感兴趣的表单元。它们可以分别说明数据、时间和标题新闻。表的每一行是股票代号的新闻标题。这个例子相应的AML页见后。它包括识别和翻译两部分。表中行的识别构成一个loop循环,示例性地从html页中选出单元1、3和5。在这个页面中只有一个步骤,即Headlines。它有一个提示和一个输入元素。本步骤的输入元素放在循环(loop)元素中,该循环在组件属性所说明的整个组件内循环。与输入元素相关的是另外一个提示,它在每个loop循环中都会出现。在本例中,与loop相关的是用数组变量说明的提示,即$amlvar(Headlines[index].date),它代表当前行的日期变量。对option(选项)标记来说,next属性具有多个含义(1)next=”#goto”说明接下来的步骤名叫goto(2)next=”return”返回到调用步骤(3)else如果next指定为其它内容,举例来说,next=”$amlvar(c.continue)”,或next=http//www.amazon.com/select/select.cgi,则下一个step将经过一个固定(anchor)元素。每个重复过程中的prompt后面,option的“next”属性有两个可能的值(i)continue(继续),这是保留字,说明系统将进行到下一个loop循环,(ii)$amlvar(Headlines[index].date),说明如果用户说“yes”,系统必须转换到指定的url。接下来的flow元素定义继续浏览所需的AML页。下面是嵌有声音提示的AML代码<prelisting-type="program-listing"><![CDATA[  <DIALOGname=headlinesgreeting="newsheadline">  //...componentdefinitionwouldbehere...//  <STEPName="Headlines">  <PROMPT>Thisisalistofalltheheadlines</PROMPT>  <LOOPname=headlinesloopindex=indexstart=Oincrement=1end=$amnlvar(headlines.length)next=query></LOOP>  </STEP><STEPname=”query”>  <PROMPT>  NewsonDate$amlvar(Headlines[index].date)at  time$amlvar(Headlines[index].time)$amlvar(Headlines[index].news).  IfyouwanttohearthecompletestorysayYesorsayNotogotothenextheadline  <PROMPT>  <INPUTtype=optionlistgrammar=”.YesNoNavigation”>  <OPTIONnext=”return”>No</OPTION>  <OPTIONNEXT="$amlvar(headlines[index].url)">Yes  </OPTION>  </INPUT>  </STEP>  <FLOW  Name="detailflow"  Source="/parser/test/schwab/news.html"  Sourceaudio=headlines  Destination="/parser/test/schwab/<amlvar>.html"  Destinatiornaudio=/parser/test/schwab/detail.vox  DestinationStep="detail">   </FLOW>  </DIALOG>]]></pre>A.2.2所有行一起可以一行接一行地读出所有行,在读取完成后向用户发出提示说明。也可增加强插支持功能,即允许用户在列表的过程中进行中断。<prelisting-type="program-listing"><![CDATA[<STEPName="Headlines">        <PROMPT>Herearetheheadlines.IfyouwanttohearthecompletestorysayYesfortheheadline  </PROMPT>  <LOOPname=headlinesloopindex=index  rext=”#query”start=Oincrement=land=$amlvar(headlines.length)>  <TLOOP></STEP><STEPname=”query”>  <PROMPT>  NewsonDate$amlvar(Headlines[index].date)at  time$amlvar(Headlines[index].time)$amlvar(Headlines[index].news).  </PROMPT>  <INPUTNAME="choice"TYPE=OPTIONLIST  BARGEIN=TRUE  grammar=".YesNoNavigation"  onError=#error>  <optionNEXT="$amlvar(headlines[index].url)">Yes</OPTION>  <optionnext=”rerurn”>No</OPTION>  </INPUI></STEP>]]></pre>强插功能允许用户在听新闻时,当想听详细的新闻时只要说“yes”。这样可以减少需要用户说的内容。A.3翻译变量循环元素考查下面变量循环实例翻译的例子。组件识别之后的内容与前面例子中表的翻译没有多大不同。<prelisting-type="program-listing"><![CDATA[  <STEPName="resultssection">  <PROMPT>  Herearethebooksearchresults.Ifyouwanttohearmore  detailsaboutabooksayYes  </PROMPT>  <LOOPname=resultssection2loopindex=index  start=Oincrement=1end=$amlvar(resultssection2.length)  next=”#part”>  </LOOP>  </STEP>  <STEPname=”part”>  <PROMPT>  Title$amlvar(resultssection2[index].title]shipsin  $amlvar(resultssection2[index].shipping).Theauthorsfor  thisbookare$amlvar(resultssection2[index].author).Itisa  $amlvar(resultssection2[index].type)andwaspublishedin  $amlvar(resultssection2[index].date).Thepriceis  $amlvar(resultssection2[index].price).  </PROMPT>  <INPUTNAME="choice"TYPE=OPTIONLISTbargein=truegrammar=".YesNoNavigation"  onError=“#error”>  <optionNEXT="$amlvar(resulssection2[index].detail)">  yes</OPTION>  <optionnext=”return”>no</OPTION>  </INPUT  </STEP>]]></pre>A.4翻译替代结构在前面重复结构的示例中,如果必须输入时,每一行都有相同的结构,相同选择的单元。本节的例子中,行的结构是不相同的。例1对于下面的表,可以根据表中不同的内容用不同的提示信息进行翻译StockPriceQuantityOperationDateIFMX10.500100BUY5/25/98ORCL51.5200SELL5/26/98IBM171.5DIVIDEND5/27/98IBM51.5INTEREST<prelisting-type="program-listing"><![CDATA[  <STEPName="transactionList"next=”#finish”>  <LOOPname=transactionListloopindex=index  start=0end=$amlvar(transactionList.length)increment=1next=”#iteration”>  LOOP>  </STEP>  <STEPname=”finish”>  <PROMPT>Youhavenowheardyourentire.transactionlist.  ShouldIreturntothemainmenu?  </PROMPT>  <INPUTTYPE=OPTIONLISTgrammar="YesNoNavigation"NAME="choice"  onError=”#error">  <optionNEXT="/trading/center"Value="yes">yes</OPTION>  <optionNext="#exit"Value="no">no</option>  </INPUT>  </STEP>  <STEPname=”iteration”next=”retum”>  <SWITCHname=transactionList[index].define>  <CASEvalue=”INTEREST”next=”#interest”></CASE><CASEvalue=”DIVIDEND”next=”#dividend”></CASE>  <CASEvalue=defaultnext=”#default”></CASE>  </SWITCH>  </STEP>  <STEPname=”interest>  <PROMPT>Interest$amlvar(transactionList[index].icol2)waspostedon$amlvar(transactionList[index].icolS).</PROMPT>  <INPUTtype=nonenext=”return”>  </STEP>  <STEPname=”dividend”>  <PROMPT>DividendSamlvar(transactionList[index].dcol2)waspostedonamlvar(transactionList[index].dcol5)  forstocksymbol$amlvar(transactionList[index].dcol1).  </PROMPT>  <INPUTtype=nonenext=”rerurn”>  </STEP>  <STEPname=”default”>  <PROMPT>A$amlvar(transactionList[index].col4)transactionof  $amlvar(transactionList[index].col3)sharesat  $arnlvar(transactionList[index].col2)of  $amlvar(transactionList[index].col1)waspostedon  $amlvar(transactionList[index].co15).  </PROMPT>  <INPUTtype=nonenext=”return”>  </STEP>]]></pre>例2下面的AML代码翻译了一个交易历史表。其中有两个loop---一个对股票代号循环,另一个对每个代号的交易历史循环。<prelisting-type="program-listing"><![CDATA[  <DialogName="allstocks"greeting="ThisistheTradeHistorypage">  <!-Loopoverallthestocksonebyone><STEPName="allstocks">  <loopname=stocksbargein=trueloopindex=index1  start=0increment=1end=$amlvar(stocks.length)  next=”#iterationl”>  </loop>  </STEP>  <STEPname=”iterationl”>  <PROMPT>Pleasesayyesifyouwanttolistentotheordersfor$amlvar(stocks[index1].stock).  </PROMPT>  <INPUTTYPE="OPTIONLIST"GRAMMAR=".YesNo"NAME="choice">  <optionNext="#stockl"Value="Yes"></option>  <optionNext="return"Value="No"></option>  </INPUT>  </STEP>  <!-Foreachstock,loopoverthetradesforthatstock>  <STEPName="stockl"next=return>  <LOOPNAME=stocklloopindex=index2next=”#iteration2”  start=3increment=1end=$amlvar(stockl.length)  order=$amlvar(stockl[index2].closed)direction=descend>  <LOOP>  </STEP>  <STEPname=”iteration2”>  <switchname=stockl[index].define>  <casevalue=”CLOSED”next=”#closed”></case>  <casevalue=”OPEN”next=”#open”></case>  </switch>  </STEP><!Promptforopentrades><STEPname=”open”>  <PROMPT>  $amlvar(stockl[index2].ordemo)iscurrentlyopen,andisa  $amlvar(stockl[index2].action)  for$amlvar(stockl[index2].qty)sharesof  $amlvar(allstocks[indexl].stock)atprice  $amlvar(stockl[index2].price).Itwaspostedon  $amlvar(stockl[index2].date)withatimelimitof  $amlvar(stockl[index2].limit).  </PROMPT>  <INPUTtype=nonenext=”return”></STEP><!promptforclosedtrades><STEPname=”closed”>  <PROMPT>  $amlvar(stockl[index2].orderno)wasa  $amlvar(stockl[index2].action)for  $amlvar(stockl[index2].qty)sharesof  $amlvar(allstocks[indexl].stock)atprice  $arnlvar(stockl[index2].price).Itwaspostedon  $amlvar(stockl[index2].date)withatimelimitof  $amlvar(stockl[index2].limit).Thetransactionwasclosed  on$amlvar(stockl[index2].date2)andtheactionwas  $amlvar(stockl[index2].action2).  </PROMPT>  <INPUTtype=nonenext=”return”></STEP>]]></pre>B.流说明URL/格式动作由于有url或格式的动作(action)元素,从一个html页到另一个html页的转换是可行的。根据本发明,这也定义了相应的音频网页规范间的转换。因此就可能有一个称作“流”的映射,它定义了目标url和目标声音元素。为达到简化和更易查找的目的,也可以存储源url和源网页的信息。url可以具有静态和动态部分。在操作中指定变量url的组件说明的结构属性是可以再使用的。在GUI部分,将html页转换到音频“程序”存在两个级别。在第一个级别中,单个的html页被转换到相应的音频页。在第二级别中,显示所有音频页,允许用户用与html组件相对应的url/格式动作方法定义各种音频页间的转换。对每个url转换,得到一个音频元素定义,该定义会在“urls-&gt;audioid”映射关系内部保留,这里audioid为音频页的标识符。用流元素指定url的转换。flow元素指定url和其相应的对话。考虑在html页中下面href的语句。&lt;aHREF="/trading/generic/?FormName=DelayedQuotes"NAME=CompanyNewsTARGET="CCBodyi"onMouseOver="parent.self.stanus=′CompanyNews′;renturntrue"&gt;&lt;u&gt;Company&lt;/u&gt;&lt;/a&gt;如果允许用户转换到这个url(目标地址),相应的流规范将会是&lt;flowName=“CompanyNews”Source=”https//trading2.schwab.com/trading/signon/.”Sourceaudio=logonDestination=“...trading/generic/?FormName=DelayedQuotes”Destinadonaudio=headlines&gt;&lt;/flow&gt;同样地,如果选择了Amazon主页实例中的格式组件,就隐含地选择了动作方法进行转换。这样有必要为它定义流元素,格式元素开始的实例如下&lt;formmethod="post"action="/exec/obidos/generic-quicksearch-query/002-0363237-2566852"&gt;格式提交的目的url为http//www.amazon.com/exec/obidos/generic-quicksearch-query/002-0363237-2566852。静态部分http//www.amazon.com/exec/obidos/generic-quicksearch-query,变量部分002-0363237-2566852。变量部分为session-id,它被指派为一个到amazon.com页的新对话。该页的流组件可以定义如下&lt;flowname="Resultsflow"source="http//www.amazon.com/exec/obidos/generic-quicksearch-query/&lt;amlvarname=sessionid&gt;&gt;"destination="http//www.amazon.com/exec/obidos/generic-quicksearch-query/&lt;amlvarname=sessionid&gt;"sourceaudio=homepagedestinationaudio=Resultspage&gt;&lt;/flow&gt;呼叫/语音用户可以使用导航命令在不同的音频步骤间进行导航向后、向前、停止、继续和刷新。步骤间定义的转换记为转换步骤。向后和向前命令会分别将呼叫者带到后面或前面的下一个转换步骤。停止会中断当前的翻译或对话的后台操作。继续会从停止的位置开始工作。刷新会刷新当前正检查其会话的html页。因此在下面的AML语言代码中,可以用属性转换(缺省值为“false”)将headlines步骤标记为转换步骤<prelisting-type="program-listing"><![CDATA[  <STEPName="Headlines"transition=true>  <PROMPT>  Herearetheheadlines.Ifyouwanttohearthecomplete  storysayYesfortheheadline  <PROMPT>  <LOOPname=headlinesloopindex=index  next=”#query”start=0increment=1  end=$amlvar(headlines.length)>  </LOOP>  </STEP>]]></pre>不是所有的步骤都需要转换。因此,在内部,格式可以被翻译为多个步骤,而且可以使用户总是转换到格式的第一个步骤。C.AML(DTD说明)C.1全部文档下面是音频语言AML的一个规范。按照本语法的实例可以创建其它语言,而且修改语言以操作其它介质或使之服从定义的约束。因此,本说明是说明性且没有限制。<prelisting-type="program-listing"><![CDATA[  <!ELEMENTDIALOG(component|form|step|flow)*>  <!ATTLISTdialog#audiopageelement  nameCDATA#nameofobject  urlCDATA#structureofurl  greetingCDATA#informationgreetinguseronenteringaudiopage  #thisisreadoutwhenuserreachesthis  audiopageforthe  #firsttime,orthereafterwhilenavigatingthroughthe  #audiopages  cookieCDATA#anyassociatedcookieswithpage,maybenecessaryfor  >  Identification  <!ELEMENTCOMPONENT(component|idloop|idswitch)*>  <!ATTLISTcomponent#componentelement-  typeCDATA#typeofobjectform/table/tr/td/inputetc.  positionCDATA#ordinalelementnumberofcomponentintheparentcontainer  urlCDATA#identifyingurl.urlarecase  sensitive  nameCDATA#nameofcomponent  htmlnameCDATA#NameonthehtmldocumentidCDATA#IDofhtmlobject  dinensionCDATA  #forforms#ofvisiblecontrolsinthe  form#foratablenumberofrows#  foratrnumberofcellsvisible  (true|false)#setto“true”ifthe  nonvisibledataneedstobestripped  suuctureCDATA#structureobject>  <!ELEMENTidswitch(idcase)*>  <!ATTLISTidswitch  nameCDATA#whatdoyouswitchon?>  <!ELEMENTidcase(component|idloop|idswitch)*>  <!ATTLISTidcase  defineCDATA  #usedtodefinecomponenttypes,  later#inrenderingtoidentifytypeof  #componentbeingrendered  >  <!ELEMENTidloop(component|idswitch|idloop)*>  <!ATTLISTidloop  ignore(ALL|ALL_BUT_FIRST|ALL_BUT_LAST|LAST|EVEN|ODD)  nameCDATA#nameofcomponent  loopindexCDATA#nameofloopindex  >  <!ELEMENTFLOW  <!ATTLISTflow#flowelement  nameCDATA;#nameofelement  sourceCDATA;#structurespecificationofsourceurl  destinationCDATA;#structurespecificationof  destinationurl  sourceaudioCDATA;#sourceaudiopageid  destinationaudioCDATA;#destinationaudiopageid  destinationstepCDATA;#startingstepinnewaudioelement>  <!ELEMENTAMLVAR>  <!ATTLISTamlvar#variableelement-  nameCDATA#nameofvariable  type(char|int|money|date|time)#whatisthetypeofthisvariable  #thisisusedforrendering,e.g.,  #ifitisoftypedate,andlookslike  #1/10/99,itwouldberenderedas  #October1,1999  formatCDATA#fordate/time/money,whatistheformat  #ofthisvariableonthehtmlpage  #mmddy4/y4/etc  renderCDATA#howisthisrenderedtothecaller  #mmddy4/y4/etc  <!ELEMENTstep(prompt)(input|switch|loop)>  <!ATTLISTstep  nameIDREQUIRED  Transition(true|false)#transitionalstepfornavigation  NextCDATA#whatisthenextstepafterthisstep.Validonyforsteps#thatencloseloopandswitch  >  <!ELEMENTinput(option|rename)*>  <!ATTLISTinput  nameID#  nextCDATA#whatisthenextstepafterthisstep  bargein(Y|N)#defaultisyes(Y)  grammarCDATA#grammardescribingwhattoexpect#fromtheuseratthispoint;somedefault  #grammarsavailable,suchasyes/no,etc.  keypadCDATA#grammardescribingkeypadstuff  orErrorCDATA#errorhandlingstepifthereisa  #probleminthis  #inputfromtheuser  type(TEXT|DIGITS|OPTIONLIST|NONE)  >  <!ELEMENToption(CDATA)>  <!ATTLISToption  valueCDATA#valueofoption  nextCDATA#whatisthenextstep  >  <!ELEMENTswitch(case)*>  <!ATTLISTswitch  componentCDATA#whatdoyouswitchon?  >  <!ELEMENTcase>  <!ATTLISTcase  valueCDATA#valueforthiscase;  nextCDATA#stepcontainingbodyofcase<!ELEMENTprompt(CDATA)>  <!ATTLISTprompt  wavefileCDATA#wavefilecontainingprompt  >  <!ELEMENTloop>  <!ATTLISTloop  componentCDATA#nameofcomponentonwhichtoloopon  nextCDATA#stepcontainingbodyofloop  loopindexCDATA#nameofloopindex  startCDATA#startingvalueforloopindex  (default0)  endCDATA#endingvalueforloopindex  (default#lengthofcomponent)  incrementCDATA#loopindexincrement(default1)  orderCDATA#partofcomponentonwhichit  needsto#besorted  direction(ascend|descend)#renderinascending/descending  orderif  >  <!EMENTrename>  <!ATTLISTrename  VARNAMECDATA#nameofamlvariable  GRAMMARNAMECDATA#grammarslotname  >  Theinventionhasbeendescribedwithreferencetospecificembodiments.Otherembodimentswillbeevidenttothoseofordinaryskillintherelevantart.Itisthereforenotintendedthattheinventionbelimited,exceptasindicatedbytheappendedclaims.]]></pre>这里参考具体实施例对本发明进行了说明。对于那些对相关
技术领域
的普通技术人员来说其它的实施例是很明显的。因此除在本发明的权利要求书所指定内容以外,本发明是不受限制的。权利要求1.在具有源数据和所述源数据识别程序存储装置的计算机系统中,一种将二维数据表达方式翻译为音频或视频格式的方法,所述二维数据是标准数学表达式的一部分,所述表达式是从标准数学元素分析中导出的特征标记,所述翻译的方法包括响应用户的查询,从所述存储装置中检索所述特征标记;从所述源装置中检索由所述特征标记指定的所述关心元素的当前值;通过预选的语言翻译器将当前值翻译到输出部分;将所述输出提供给用户。2.根据权利要求1的方法,其特征在于,所述预选的语言翻译器是文本到语音翻译器。3.根据权利要求1的方法,其特征在于,所述预选语言翻译器是一套已储存语音表达方式,这些表达方式与每个所选元素预选值相对应。4.根据权利要求1的方法,其特征在于,所述预选语言翻译器包括映射到每一个声音元素预选值的简化文本表达处理器引擎。5.一套系统,包括从主机网络服务器接收说明网络元素的源语言信息的装置;识别至少一个由源语言信息说明的元素的标准数学表达式的接收装置;用源语言信息和标准数学表达式产生目标语言信息以便运行时引擎呈现识别的网络元素的装置。6.根据权利要求5的系统,其特征在于源语言信息包括HTML数据。7.根据权利要求5的系统,其特征在于目标语言信息包括HTML数据。8.根据权利要求5的系统,其特征在于目标语言信息包括运行时对象。9.根据权利要求5的系统,其特征在于识别的网络元素包括流控制信息。10.根据权利要求5的系统,其特征在于识别的网络元素包括选项列表。11.根据权利要求5的系统,其特征在于识别的网络元素包括表格。12.根据权利要求5的系统,其特征在于识别的网络元素包括登录信息的请求。13.根据权利要求5的系统,其特征在于运行时引擎包括文本到语音的引擎。14.根据权利要求5的系统,其特征在于翻译器包括文本到语音的引擎。15.根据权利要求5的系统,其特征在于翻译器包括映射到识别的网络元素预选值的音频表示。16.根据权利要求5的系统,其特征在于翻译器包括映射到识别的网络元素预选值的简化文本表示。17.一种方法,包括从主机网络服务器接收说明网络元素的源语言信息;接收能识别至少一个由源语言信息说明的元素的标准数学表达式;从源语言信息和标准数学表达式产生目标语言信息以便运行时引擎呈现识别的网络元素。18.一种计算机可读的存储介质,存储程序代码以便于计算机完成以下步骤从主网络服务器接收说明网络元素的源语言信息;接收能识别至少一个由源语言信息说明的元素的标准数学表达式;从源语言信息和标准数学表达式产生目标语言信息以便运行时引擎呈现识别的网络元素。19.一种方法,包括从主机网络服务器接受HTML页信息;从持久存储器中检索目标语言脚本;按照目标语言脚本翻译HTML页信息以产生翻译后的HTML页信息;通过再现设备向用户呈现翻译后的HTML页信息。20.根据权利要求19的方法,其特征在于所述翻译包括从HTML页信息中动态提取可更新的数据。21.根据权利要求19的方法,其特征在于翻译后的HTML页信息用声音呈现。22.根据权利要求19的方法,其特征在于翻译后的HTML页信息包括运行时对象。23.根据权利要求19的方法,其特征在于所述呈现包括交互地给用户提供提示元素和接收来自用户的输入元素。24.根据权利要求19的方法,其特征在于再现设备为电话。25.根据权利要求19的方法,其特征在于HTML页信息指网页。26.根据权利要求19的方法,还包括识别要翻译的所述HTML页信息。27.提供用户交互式访问网页信息的方法,包括从主网络服务器接受网页信息;将网页信息转换到包括可通过再现设备呈现给用户的呈现页的当前呈现对话;从用户接收当前呈现网页的转换;当将转换页映射到网页信息目标和相应的转换步骤时定义呈现的数据;接收用户的导航命令;执行转换步骤,其中如果接收到与表达元素相对应的用户导航命令,会呈现与网页信息目标相对应的对话。28.根据权利要求27的方法,其特征在于转换页指接收呈现页转换前呈现给用户的网页。29.根据权利要求27的方法,其特征在于导航命令包括呈现前一个对话的回退命令。30.根据权利要求27的方法,其特征在于导航命令包括使用户回退到下一个转换步骤的回退命令,和使用户前进到下一个转换步骤的前进命令。31.根据权利要求27的方法,其特征在于导航命令包括中断相应的当前呈现设备运行的停止命令;从中止处开始相应的呈现设备运行的继续命令。32.根据权利要求27的方法,其特征在于导航命令包括刷新当前检查的HTML页的刷新命令。33.根据权利要求27的方法,其特征在于所述表示页包括音频网页且所述表示元素为是音频元素。全文摘要提供了一种方法,利用从数据的数学常规表达式中提取特征标记,所选择和识别的数据元素,可以通过适当的语言翻译器后呈现给查询者,这种系统适于通过特征标记引用存取数据元素。语言翻译器可以包括文本到语音翻译程序、与之素对应的已存储音频形式和与HTML形式相适应的简化文本表达程序。更进一步,本发明还提供了对选择元素的识别、定制,使之适于文本上下文呈现,通过适当的语言翻译器对所选择和定制的数据进一步说明。文档编号G06F17/24GK1461445SQ00814425公开日2003年12月10日申请日期2000年9月6日优先权日1999年9月10日发明者普兰卡什·伊耶,皮雨什·戈尔,雷杰夫·莫希德雷,艾米塔什·辛哈,帕雷萨德·克罗萨普里,罗纳德·马克,沙石·维蒂尔申请人:伊维里帕斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1