CN1932756A - 动态生成用于合成数据的语音可导航菜单的方法和系统 - Google Patents

动态生成用于合成数据的语音可导航菜单的方法和系统 Download PDF

Info

Publication number
CN1932756A
CN1932756A CNA2006100850868A CN200610085086A CN1932756A CN 1932756 A CN1932756 A CN 1932756A CN A2006100850868 A CNA2006100850868 A CN A2006100850868A CN 200610085086 A CN200610085086 A CN 200610085086A CN 1932756 A CN1932756 A CN 1932756A
Authority
CN
China
Prior art keywords
data
menu
generated data
action
generated
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2006100850868A
Other languages
English (en)
Other versions
CN100454242C (zh
Inventor
威廉·K·博丁
杰里·W·雷德曼
德拉尔·C·索尔森
戴维·贾拉米洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1932756A publication Critical patent/CN1932756A/zh
Application granted granted Critical
Publication of CN100454242C publication Critical patent/CN100454242C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/193Formal grammars, e.g. finite state automata, context free grammars or word networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Digital Computer Display Output (AREA)

Abstract

提出一种方法、系统和产品,用于动态生成用于合成数据的语音可导航菜单,包括基于合成数据确定菜单的逻辑结构,生成具有所确定逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单,基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据为菜单生成至少一个语法,以及将至少一个菜单动作添加到语法中。

Description

动态生成用于合成数据的语音可导航菜单的方法和系统
技术领域
本发明的领域涉及数据处理,更具体地,涉及动态生成用于合成数据的语音可导航菜单的方法、系统和产品。
背景技术
尽管可以更多地访问数据并且具有更多的设备对数据进行访问,但是,用户通常受到时间限制。这种时间限制的一个原因是,用户通常必须使用特定数据类型的应用从特定数据类型设备上的异构数据源访问异构数据类型的数据。由于许多的外部环境,可能难以在一个特定时间上使用一个或多个这种特定数据类型设备。可能使特定数据类型设备难以使用的外部环境的实例包括拥挤的位置、火车或汽车等不方便的位置、行走等用户行为、驾驶等可视集中行为以及本领域技术人员将了解到的其它实例。因此,需要一种用于异构数据类型的数据管理和数据表示,其提供对来自异构数据源的内容的统一数据类型访问。
发明内容
提出一种方法、系统和产品,用于动态生成用于合成数据的语音可导航菜单,包括基于合成数据确定菜单逻辑结构,生成具有所确定的逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单,基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据生成至少一个菜单语法,以及将至少一个菜单动作添加到语法中。
基于合成数据确定菜单的逻辑结构可包括基于至少一部分合成数据的原有数据类型确定逻辑结构,或者基于为合成数据识别的频道确定逻辑结构。
基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据生成至少一个菜单语法可包括,从菜单条目中选择关键字以及将关键字包括在语法中。
用于动态生成用于合成数据的语音可导航菜单的方法、系统和产品还可包括基于菜单条目以及菜单条目所代表的那部分合成数据生成菜单的可视描述标记。菜单动作可能是用于导航菜单或者访问合成数据的菜单动作。
通过对附图中本发明示例实施方式的更详细描述,本发明的上述以及其它目的、特性和优势将变得更加明显,其中,相同的参考标号通常代表本发明示例实施方式中的相同部件。
附图说明
图1表示一个网络示意图,说明依照本发明各实施方式的用于异构数据类型的数据管理和数据表示的示例系统。
图2表示自动计算机的框图,其包括依照本发明各实施方式的用于异构数据类型的数据管理和数据表示的示例计算机。
图3表示一个框图,说明依照本发明的用于异构数据类型的数据管理和数据表示系统。
图4表示一个流程图,说明依照本发明各实施方式的用于异构数据类型数据管理和数据表示的示例方法。
图5表示一个流程图,说明用于依照本发明各实施方式从异构数据源收集异构数据类型数据的示例方法。
图6表示一个流程图,说明用于依照本发明各实施方式从所识别的数据源取回所请求数据的示列方法。
图7表示一个流程图,说明用于依照本发明从异构数据源收集异构数据类型数据的示例方法。
图8表示一个流程图,说明用于依照本发明从异构数据源收集异构数据类型数据的示例方法。
图9表示一个流程图,说明用于依照本发明将所收集的异构数据类型数据合成为统一数据类型数据的示例方法。
图10表示一个流程图,说明用于依照本发明将所收集的异构数据类型数据合成为统一数据类型数据的示例方法。
图11表示一个流程图,说明用于依照本发明基于合成数据识别动作的示例方法。
图12表示一个流程图,说明用于依照本发明使合成数据频道化的示例方法。
图13表示一个流程图,说明用于动态生成用于合成数据的语音可导航菜单的示例方法,包括依照本发明基于合成数据确定菜单的逻辑结构。
图14表示显示具有等级树形结构的示例频道菜单的数据管理和数据表示模块中浏览器的直线绘制。
图15表示一个流程图,说明用于基于菜单条目以及菜单条目所代表的那部分合成数据生成菜单可视描述标记的示例方法。
具体实施方式
参考附图描述依照本发明各实施方式的用于来自异构数据源的异构数据类型的数据管理和数据表示的作为示例的方法、系统和产品,从图1开始。图1表示一个网络图,描述了依照本发明各实施方式的用于异构数据类型的数据管理和数据表示的示例系统。图1的系统通常用于根据本发明各实施方式,通过从异构数据源收集异构数据类型的数据、将所收集的异构数据类型数据合成为统一数据类型的数据、基于合成数据识别动作以及执行所识别的动作,管理和表示异构数据类型的数据。
异构数据类型是不同类型和形式的数据。这就是,异构数据类型是不同类型的数据。定义异构数据类型的数据区别可包括数据结构、文件格式、数据传输协议中的区别以及本领域技术人员将了解到的其它区别。异构数据类型的实例包括MPEG-1音频层3(‘MP3’)文件、可扩展标记语言文件(‘XML’)、电子邮件文档以及本领域技术人员将了解到的其它实例。异构数据类型通常必须在特定数据类型设备上表示。例如,MPEG-1音频层3(‘MP3’)文件通常由MP3播放器播放,无线标记语言(‘WML’)文件通常由无线设备访问,等等。
异构数据源这个术语表示异构数据类型数据的来源。这种数据源可能是能够提供对异构数据类型数据访问的任何设备或网络位置。异构数据源的实例包括提供文件的服务器、WEB站点、蜂窝电话、PDA、MP3播放器以及本领域技术人员将了解到的其它实例。
图1的系统包括作为用于在网络中进行数据通信的异构数据源工作的多个设备。图1的数据处理系统包括广域网(“WAN”)(110)和局域网(“LAN”)(120)。“LAN”是“局域网”的缩写。LAN是横跨相对小区域的计算机网络。很多LAN限制在单个建筑或建筑群。但是,一个LAN可以通过电话线和无线电波与任何距离上的其它LAN相连。以这种方式相连的LAN系统称为广域网(WAN)。Internet是WAN的一个实例。
在图1的实例中,服务器(122)作为LAN(120)和WAN(110)之间的网关。图1架构中的网络连接方面仅仅用于说明而非进行限制。实际上,根据本发明各实施方式用于对异构数据类型进行数据管理和数据表示的系统可以作为LAN、WAN、内联网、互连网、Internet、web、万维网本身、或者本领域技术人员将了解到的其它实例进行相连。这种网络是可用于在整个数据处理系统内相连的多种设备和计算机之间提供数据通信连接的媒体。
在图1的实例中,多个设备分别与LAN和WAN相连,每个设备实现一个数据源,并且每个设备在其中存储有一种特定数据类型的数据。在图1的实例中,服务器(108)通过有线连接(126)与WAN相连。图1的服务器(108)是用于RSS输入的数据源,服务器以XML文件的形式发送该数据源。RS S是新闻站点和网络日志所用的web整合的XML文件格式族。用缩写表示下列标准:丰富站点摘要(RSS0.91)、RDF站点摘要(RSS 0.9、1.0和1.1)以及真正简易整合(RSS2.0)。RSS格式提供具有到整个内容版本的链接的web内容或者web内容摘要,以及其它原数据。这个信息作为称为RSS feed、webfeed、RSS流或者RSS频道的XML文件发送。
在图1的实例中,另一个服务器(106)通过有线连接(132)与WAN相连。图1的服务器(106)是用于存储为Lotus NOTES文件的数据的数据源。在图1的实例中,个人数字助理(‘PDA’)(102)通过无线连接(130)与WAN相连。PDA是用于以XHTML移动配置文件(‘XHTML MP’)文档形式存储的数据的数据源。
在图1的实例中,蜂窝电话(104)通过无线连接(128)与WAN相连。蜂窝电话是用于作为无线标记语言(‘WML’)文件存储的数据的数据源。在图1的实例中,平板计算机(112)通过无线连接(134)与WAN相连。平板计算机(112)是用于以XHTML MP文档形式存储的数据的数据源。
图1的系统还包括数字音频播放器(‘DAP’)(116)。DAP(116)通过有线连接(192)与LAN相连。图1的数字音频播放器(‘DAP’)(116)是作为MP3文件存储的数据的数据源。图1的系统还包括膝上型计算机(124)。膝上型计算机通过有线连接(190)与LAN相连。图1的膝上型计算机(124)是用于以图形交换格式(‘GIF’)文件存储的数据的数据源。图1的膝上型计算机(124)还是用于可扩展超文本标记语言(‘XHTML’)文档形式的数据的数据源。
图1的系统包括膝上型计算(114)和智能电话(118),每个在其上安装有数据管理和表示模块,提供对异构数据源可用的异构数据类型数据的统一访问。图1的示例膝上型计算机(114)通过无线连接(188)与LAN相连。图1的示例智能电话(118)还通过无线连接(186)与LAN相连。图1的膝上型计算机(114)和智能电话(118)在其上安装运行有软件,该软件通常能够通过从异构数据源收集异构数据类型的数据、将所收集的异构数据类型数据合成为统一数据类型的数据、基于合成数据识别动作以及执行所识别的动作,对异构数据类型进行数据管理和数据表示。图1的膝上型计算机(114)和智能电话(118)还在其上安装运行有软件,该软件通常能够依照本发明各实施方式动态生成用于合成数据的语音可导航菜单。
所收集的数据是异构类型数据在单一位置上的累积。所收集数据的这个位置可能是物理的,例如,在包含所收集数据的单台计算机上,或者是逻辑的,例如,提供对所收集数据进行访问的单个接口。
合成数据是合成为统一数据类型数据的收集数据。统一数据类型可实现为从所收集数据转化过来的文本内容以及标记。合成数据还可包含插入到文本内容中的附加语音标记,这增加了附加的语音能力。
可选择地,图1系统中作为数据源描述的任何设备还可以支持依照本发明的数据管理和表示模块。例如,如上所述,服务器(106)能够支持提供对异构数据源可用的异构数据类型数据的统一访问的数据管理和表示模块。如上所述,图1中的任何一种设备,例如,PDA、平板计算机、蜂窝电话或者本领域技术人员将了解到的任何其它设备,能够支持依照本发明的数据管理和表示模块。
组成图1中所示示例系统的服务器和其它设备的安排用于说明而非进行限制。依照本发明各实施方式有用的数据处理系统可包括本领域技术人员将了解到的附加服务器、路由器、其它设备以及点对点架构,在图1中未示出。这种数据处理系统中的网络可支持多种数据通信协议,包括例如TCP(传输控制协议)、IP(Internet协议)、HTTP(超文本传输协议)、WAP(无线接入协议)、HDTP(手持设备传输协议)以及本领域技术人员将了解到的其它协议。本发明各实施方式可实现在除图1所示平台之外的各种硬件平台上。
依照本发明的用于异构数据类型的数据管理和数据表示通常使用计算机实现,也就是,使用自动计算机实现。例如,在图1的系统中,所有节点、服务器和通信设备至少在某种程度上实现为计算机。因此,为了进行进一步的说明,图2表示自动计算机的框图,其包括在依照本发明各实施方式的用于异构数据类型的数据管理和数据表示中所用的示例计算机(152)。图2的计算机(152)包括至少一个计算机处理器(156)或者‘CPU’以及随机存取存储器(168)(‘RAM’),后者通过系统总线(160)与处理器(156)和计算机的其它组件相连。
存储在RAM(168)中的是数据管理和数据表示模块(140),用于异构数据类型数据管理和数据表示的计算机程序指令,通常能够从异构数据源收集异构数据类型的数据;将所收集的异构数据类型数据合成为统一数据类型的数据;基于合成数据识别动作;以及执行所识别的动作。用于异构数据类型的数据管理和数据表示有利地向用户提供有效地访问和操纵从特定异构数据类型源所采集的数据的能力。用于异构数据类型的数据管理和数据表示还提供统一的数据类型,使得用户可在单一设备上访问从特定异构数据类型源采集的数据。
在RAM(168)中还存储有收集模块(144),用于从异构数据源收集异构数据类型数据的计算机程序指令,通常能够从收集过程接收数据请求;响应于该数据请求,从两个或多个异构数据源中识别出一个数据源作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据。从异构数据源收集异构数据类型的数据有利地提供了从多个源收集数据以进行合成的能力。
在RAM中还存储有合成引擎(145),用于将所收集的异构数据类型数据合成为统一数据类型数据的计算机程序指令,通常能够接收所收集的异构数据类型数据,以及将所收集的异构数据类型数据中的每个转化为包括文本内容以及与文本内容相关联的标记的转化数据。将所收集的异构数据类型数据合成为统一数据类型的数据有利地提供了具有统一数据类型的合成数据,该合成数据能够由单个设备对其进行访问和操作。
在RAM中还存储有语音可导航菜单生成器(141)。语音可导航菜单生成器(141)能够通过基于合成数据确定菜单的逻辑结构、生成具有所确定逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单、基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据生成至少一个菜单语法以及将至少一个菜单动作添加到语法中,来动态生成用于合成数据的语音可导航菜单。动态生成用于合成数据的语音可导航菜单有助于使用免提式交互对特定合成数据进行访问。
在RAM(168)中还存储有动作生成器模块(159),即用于基于合成数据以及经常地还基于用户指令识别动作的一组计算机程序指令。基于合成数据识别动作有利地提供了与合成数据进行交互以及管理的能力。
在RAM(168)中还存储有动作代理(158),即用于管理一个或多个所识别动作的执行的一组计算机程序指令。这种执行可在识别时立即进行、在识别后周期性地进行,或者在识别后计划进行,如本领技术人员将了解到的。
在RAM(168)中还存储有调度程序(146),即计算机程序指令,用于从收集过程接收对数据的请求;响应于对数据的请求,识别多个异构数据源中的一个作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据。从收集过程接收对数据的请求;响应于对数据的请求,识别多个异构数据源中的一个作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据有利地提供了访问异构数据源以进行收集和合成的能力。
图2的调度程序(146)还包括多个插件模块(148、150),即用于从与插件相关联的数据源取回所请求的数据以供收集过程使用的计算机程序指令。这种插件将调度程序的一般动作与取回特定类型数据所需的特定要求相隔离。
在RAM(168)中还存储有浏览器(142),即用于向用户提供合成数据接口的计算机程序指令。向用户提供合成数据的接口有利地向用户提供了对从异构数据源取回的数据内容的访问,而不必使用特定数据源设备。图2的浏览器(142)能够进行多模式交互,能够接收多模式输入以及通过多模式输出与用户进行交互。这种多模式浏览器通常支持通过可以由语音驱动的分级菜单提供多模式交互的多模式web页面。
在RAM中还存储有OSGi业务框架(157),运行于Java虚拟机(‘JVM’)(155)上。“OSGi”表示开放业务网关联盟,是开发业务绑定的规范发布、提供相适应的数据通信的软件中间件和通过业务网关的业务的行业组织。OSGi规范是基于Java的应用层框架,其向业务提供商、网络运营设备制造商以及设备制造商的销售商提供中间应用和设备层的API及功能。OSGi使用多种网络技术工作,例如,以太网、蓝牙、“家庭、音频和视频交互标准”(HAVi)、IEEE1394、通用串行总线(USB)、WAP、X-10、Lon Work、HomePlug以及多种其它网络技术。OSGi规范可从OSGi站点www.osgi.org免费下载。
OSGi业务框架(157)是用Java写的,因此,通常运行在Java虚拟机(JVM)(155)上。在OSGi中,业务框架(157)是用于运行‘业务’的主机平台。在本说明书中‘业务’这个术语基于上下文通常通常表示遵守OSGi的业务。
业务是用于依照OSGi生成应用的主要组件块。业务是一组实现特定特性的Java类以及接口。OSGi规范提供多个标准业务,例如,OSGi提供标准HTTP业务,其生成可以响应于来自HTTP客户端的请求的web服务器。
OSGi还提供一组标准业务,称为设备接入规范。设备接入规范(“DAS”)提供业务以识别与业务网关相连的设备、搜索用于那个设备的驱动器以及为该设备安装驱动。
OSGi中的业务与业务执行所需的其它文件、图像和资源打包在一个“绑定”中。绑定是Java存档或者‘JAR’文件,包括一个或多个业务实现方式、激活类、以及清单文件。激活类是业务框架用来启动和停止绑定的Java类。清单文件是描述绑定内容的标准文本文件。
OSGi中的业务框架(157)还包括业务登记器。业务登记器包括业务登记,该业务登记包括业务的名称以及为安装在框架上并向业务登记器登记的每个绑定实现业务的类实例。绑定可请求未包括在绑定中但是在框架业务登记器中登记的业务。为了找到业务,绑定在框架的业务登记器上执行查询。
依照本发明各实施方式的数据管理和数据表示可用于调用一个或多个OSGi业务。包括OSGi是用于说明而非进行限制。实际上,依照本发明各实施方式的数据管理和数据表示可使用多种不同的技术,所有这种技术位于本发明的范围内。
在RAM(168)中还存储有操作系统(154)。在依照本发明各实施方式的计算机中使用的操作系统包括UNIXTM、LinuxTM、Microsoft Windows XPTM、AIXTM、IBM i5/OSTM以及本领域技术人员将了解到的其它操作系统。图2实例中的操作系统(154)与数据管理和数据表示模块(140)表示在RAM(168)中,但是,这种软件的很多组件通常还存储在非易失性存储器(166)中。
图2的计算机(152)包括非易失性计算机存储器(166),其通过系统总线(160)与处理器(156)和计算机(152)的其它组件相连。非易失性计算机存储器(166)可实现为硬盘驱动器(170)、光盘驱动器(172)、电可擦除可编程只读存储器空间(称为‘EEPROM’或者‘闪’存)(174)、RAM驱动器(未示出),或者本领域技术人员将了解到的任何其它类型的计算机存储器。
图2中的实例计算机包括一个或多个输入/输出接口适配器(178)。通过例如用于控制对计算机显示屏幕等显示设备(180)的输出以及来自键盘和鼠标等用户输入设备(181)的用户输入的软件驱动以及计算机硬件,计算机中的输入/输出接口适配器实现面向用户的输入/输出。
图2的实例计算机(152)包括通信适配器(167),用于实现与其它计算机(182)的数据通信(184)。这种数据通信可以通过RS-232连接、通过USB等外部总线、通过IP网络等数据通信网络以及通过本领域技术人员将了解到的其它方式进行串行实现。通信适配器实现数据通信的硬件级,通过这个硬件级,一个计算机直接或者通过网络向另一个计算机发送数据通信。依照本发明各实施方式用于来自异构数据源的异构数据类型的数据管理和数据表示所用的通信适配器实例包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE 802.3)适配器以及用于无线网络通信的802.11b适配器。
为了进行进一步的说明,图3表示一个框图,描述依照本发明的用于异构数据类型的数据管理和数据表示系统。图3的系统包括收集模块(144),用于从异构数据源收集异构数据类型数据的计算机程序指令,其通常能够从收集过程接收对数据的请求;响应于对数据的请求,识别两个或多个异构数据源中的一个作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据。
图3的系统包括合成引擎(145),即用于将所收集的异构数据类型数据合成为统一数据类型数据的计算机程序指令,其通常能够接收所收集的异构数据类型数据、将所收集的异构数据类型数据中的每个转化为包括文本内容以及与文本内容相关联的标记的转化数据。
合成引擎(145)包括VXML生成器(222)模块,即用于将所收集的异构数据类型数据中的每个转化为文本内容以及与文本内容相关联的标记的计算机程序指令。合成引擎(145)还包括语法生成器(224)模块,即用于为与文本内容相关联的语音标记生成语法的计算机程序指令。
图3的系统包括合成数据仓库(226),用于以X+V格式存储由合成引擎生成的合成数据。图3的系统还包括X+V浏览器(142),即通常能够将合成数据从合成数据仓库(226)展现给用户的计算机程序指令。展现合成数据可包括合成数据的图形显示和音频展现。如下面参考图4所述,向用户展现合成数据的一种方式可通过经由一个或多个频道展现合成数据来实现。
图3的系统包括调度程序(146)模块,即计算机程序指令,用于从收集过程接收对数据的请求;响应于对数据的请求,识别多个异构数据源中的一个作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据。调度程序(146)模块从异构数据源访问异构数据类型的数据,用于收集模块(144)、合成引擎(145)和动作代理(158)。图3的系统包括由调度程序使用以访问数据的特定数据源插件(148-150、234-236),如下所述。
在图3的系统中,数据源包括本地数据(216)和内容服务器(202)。本地数据(216)是包含在自动计算机的存储器或寄存器中的数据。在图3的系统中,数据源还包括内容服务器(202)。内容服务器(202)通过网络(501)与调度程序(146)模块相连。图3的RSS服务器(108)是用于服务器以XML文件形式发送的RSS feed的数据源。RSS是新闻站点和网络日志所用web整合的XML文件格式的集合。用缩写表示下列标准:丰富站点摘要(RSS 0.91)、RDF站点摘要(RSS 0.9,1.0和1.1)以及真正简易整合(RSS 2.0)。RSS格式提供web内容或者带有到全部内容版本链接的web的内容摘要,以及其它原数据。这个信息作为称为RSS feed、webfeed、RSS流或者RSS频道的XML文件发送。
在图3的系统中,电子邮件服务器(106)是用于电子邮件的数据源。服务器以Lotus NOTES文件的形式发送这个电子邮件。在图3的系统中,日程表服务器(107)是用于日程表信息的数据源。日程表信息包括日程事件和其它相关信息。服务器以Lotus NOTES文件的形式发送这个日程表信息。
在图3的系统中,IBM按需工作站(204)是一种提供对于提供生产工具的按需工作空间(‘ODW’)的支持并且提供虚拟空间以共享观念和知识、与其他人合作以及发现信息的服务器。
图3的系统包括特定数据源插件(148-150、234-236)。对于上述列出的每个数据源,调度程序使用特定插件访问数据。
图3的系统包括与运行RSS应用的RSS服务器(108)相关联的RSS插件(148)。图3的RSS插件(148)为用户从RSS服务器(108)取回RSS feed,并且将XML文件中的RSS feed提供给收集模块。
图3的系统包括与运行日程表应用的日程表服务器(107)相关联的日程表插件(150)。图3的日程表插件(150)为用户从日程表服务器(107)取回日程事件,并且向收集模块提供日程事件。
图3的系统包括与运行电子邮件应用的电子邮件服务器(106)相关联的电子邮件插件(234)。图3的电子邮件插件(234)为用户从电子邮件服务器(106)取回电子邮件,并且向收集模块提供电子邮件。
图3的系统包括与运行ODW应用的ODW服务器(204)相关联的按需工作站(‘ODW’)插件(236)。图3的ODW插件(236)为用户从ODW服务器(204)取回ODW数据,并且向收集模块提供ODW数据。
图3的系统还包括动作生成模块(159),即用于基于合成数据从动作仓库(240)识别动作的计算机程序指令,其通常能够接收用户指令、响应于用户指令选择合成数据以及基于用户指令和所选数据选择动作。
动作生成模块(159)包含嵌入式服务器(244)。嵌入式服务器(244)通过X+V浏览器(142)接收用户指令。当从动作仓库(240)识别动作时,动作生成器模块(159)使用动作代理(158)执行动作。图3的系统包括动作代理(158),即通常能够执行动作的用于执行动作的计算机程序指令。
为了进行进一步的说明,图4表示一个流程图,说明依照本发明各实施方式的用于异构数据类型数据管理和数据表示的示例方法。图4的方法包括从异构数据源(404、410)收集(406)异构数据类型数据(402、408)。如上所述,所收集的异构数据类型数据是异构类型数据在单一位置上的累积。所收集数据的这个位置可能是物理的,例如,在包含所收集数据的单台计算机上,或者是逻辑的,例如,提供对所收集数据访问的单个接口。
依照图4的方法从异构数据源(404、410)收集(406)异构数据类型数据(402、408)可通过下列步骤实现:从收集过程接收对数据的请求;响应于对数据的请求,识别两个或多个异构数据源中的一个作为数据源;从所识别的数据源取回所请求的数据;以及向收集过程返回所请求的数据,如下面参考图5详细描述。
图4的方法还包括将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据。统一数据类型的数据是已经生成或转换为预定类型形式的数据。这就是,统一数据类型是可以在能够表示统一数据类型数据的设备上显示的单一类型数据。将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据有利地得到对取自异构数据源的异构数据收集内容的单一访问点。
在将所收集的异构数据类型数据(412)合成(414)为统一数据类型数据中有用的统一数据类型的一个实例是XHTML plus语音。XHTML plus语音(‘X+V’)是用于通过使语音展现在具有语音标记的表示层上开发多模式应用的Web标记语言。X+V使用语音和可视元素在可视小型移动设备中提供基于语音的交互。X+V包括三个主要标准:XHTML、语音XML和XML事件。如果网络应用环境是事件驱动的,则X+V将在XML事件标准中所用文档对象模型(DOM)事件框架并入。使用这个框架,X+V从HTML定义相似的事件类型,以在可视和语音标记之间生成关联。
将所收集的异构数据类型数据(412)合成(414)为统一数据类型数据可通过接收所收集的异构数据类型数据并将所收集的异构数据类型数据中的每个转化为文本内容以及与文本内容相关联的标记来实现,正如参考图9的详细描述所述。在图4的方法中,将所收集的异构数据类型数据(412)合成为统一数据类型数据可通过将所收集的数据转化为X+V或者本领域技术人员将了解到的任何其它标记语言来实现。
依照图4中方法的数据管理和数据表示还包括动态生成(444)用于合成数据的语音可导航菜单。动态生成(444)用于合成数据的语音可导航菜单包括:基于合成数据确定菜单的逻辑结构;生成具有所确定逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单;基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据,生成至少一个菜单语法;以及将至少一个菜单动作添加到语法中,如下面参考图13和14所述。语音可导航菜单有利于使用免提式交互进行对合成数据的访问。
图4的用于数据管理和数据表示的方法还包括基于合成数据(416)识别(418)动作。动作是执行时实现预定义任务的一组计算机指令。动作可立即或者在所定义的某个稍后时间基于合成数据执行。基于合成数据(416)识别(418)动作可通过接收用户指令、响应于用户指令选择合成数据以及基于用户指令和所选数据选择动作来实现。
用户指令是响应于用户动作所接收的事件。示例的用户指令包括接收作为用户使用键盘或者小键盘输入按键组合结果的事件,接收来自用户的语音,接收作为使用鼠标点击可视可视显示图标结果的事件,接收作为用户按下触摸屏上图标结果的事件,或者本领域术人员将了解到的其它用户指令。接收用户指令可通过接收来自用户的语音、将语音转换为文本、以及基于文本和语法确定用户指令来实现。可选择地,接收用户指令可通过接收来自用户的语音以及基于语音和语法确定用户指令来实现。
图4的方法还包括执行(424)所识别的动作(420)。执行(424)所识别的动作(420)可通过调用基于合成数据识别的动作对象中的成员方法、执行实现所识别动作的计算机程序指令以及本领域技术人员将了解到的执行所识别动作的其它方式来实现。
执行(424)所识别的动作(420)还可包括,确定实现动作所需通信网络的可用性,仅在通信网络可用的情况下执行动作,以及在通信网络连接不可用的情况下延迟执行动作。在通信网络连接不可用的情况下延迟执行动作可包括将所识别的动作放到动作队列中进行排队、存储动作直至通信网络可用、然后执行所识别的动作。等待执行所识别动作(420)的另一个方式可能通过将描述动作的条目插入到容器中以及然后处理容器来实现。容器可能是任何适用于存储描述动作的条目的数据结构,例如,XML文件。
执行(424)所识别的动作(420)可包括修改其中一个异构数据源中的数据内容。例如,考虑称为deleteOldEmail()的动作,在执行时不仅删除从电子邮件转化来的合成数据,还删除存储在电子邮件服务器上的原始源电子源件,该电子邮件服务器被连接以用来与根据本发明工作的数据管理和数据表示模块进行数据通信。
图4的方法还包括使合成数据(416)频道化(422)。频道是展现给用户的数据内容的逻辑集合。使合成数据(416)频道化(422)可通过识别合成数据的属性、描述合成数据属性的特性以及基于所描述的属性和频道分配规则将数据分配给预先确定的频道。使合成数据频道化有利地提供了用于向用户展现相关内容的工具。这种频道化数据的实例可能是‘工作频道’,其提供与工作相关内容的频道,‘娱乐频道’,其提供娱乐内容的频道,以及本领域技术人员将了解到的其它频道。
图4的方法还包括通过一个或多个频道向用户展现(426)合成数据(416)。通过一个或多个频道向用户展现(426)合成数据(416)的一种方法可通过展现可用频道的摘要或者标题来实现。通过这些频道展现的内容可以通过这个展现进行访问,以访问合成数据(416)。通过一个或多个频道向用户展现(426)合成数据(416)的另一种方法可通过显示或者播放频道中包含的合成数据(416)来实现。文本可能进行可视显示,或者将其转化为模拟语音向用户播放。
为了进行进一步的说明,图5表示一个流程图,说明用于依照本发明各实施方式从异构数据源收集异构数据类型数据的示例方法。在图5的方法中,从异构数据源(404、522)收集(406)异构数据类型数据(402、408)包括从收集过程(502)接收(506)对数据的请求(508)。对数据的请求可实现为从收集过程到调度程序的消息,指导调度程序开始取回所请求的数据以及向收集过程返回所请求的数据。
在图5的方法中,从异构数据源(404、522)收集(406)异构数据类型数据(402、408)还包括响应于对数据的请求(508)识别(510)多个异构数据源(404、522)中的一个作为数据源。响应于对数据的请求(508)识别(510)多个异构数据源(404、522)中的一个作为数据源可实现为多种方式。识别(510)多个异构数据源(404、522)中的一个作为数据源的一种方式可通过从用户接收对异构数据源的识别以及基于识别向收集过程识别异构数据源来实现,在下面参考图7进行详细描述。
向收集过程(502)识别异构数据源的另一种方式通过从对数据的请求识别数据类型信息以及从数据源表识别对应于数据类型的数据源来实现,在下面参考图8进行详细描述。识别多个数据源其中一个的另一种方式是通过从对数据的请求识别数据类型信息、基于数据类型信息搜索数据源以及从数据源搜索所返回的搜索结果识别对应于数据类型的数据源来实现,在下面参考图8进行详细描述。
在本说明中描述的用于识别多个数据源其中一个的三种方法用于说明而非进行限制。实际上,有很多种识别多个数据源其中一个的方法,所有这些方法位于本发明的范围内。
图5中用于收集(406)数据的方法包括从所识别的数据源(522)中取回(512)所请求的数据(514)。从所识别的数据源(522)中取回(512)所请求的数据(514)包括确定所识别的数据源是否需要数据访问信息以取回所请求的数据;如果所识别的数据源需要数据访问信息以取回所请求的数据,则基于包含在数据请求中的数据元素取回数据访问信息;以及向所识别的数据源展现数据访问信息,在下面参考图6进行详细描述。依照图5的方法取回(512)所请求的数据可通过从本地存储器取回数据、从网络位置下载数据或者以本领域技术人员将了解到的任何其它取回所请求数据的方式来实现。如上所述,从所识别的数据源(522)取回(512)所请求的数据(514)可通过设计用来从特定数据源或者特定类型数据源取回数据的特定数据源插件来实现。
在图5的方法中,从异构数据源(404、522)收集(406)异构数据类型数据(402、408)还包括向收集过程(502)返回(516)所请求的数据(514)。向收集过程(502)返回(516)所请求的数据(514)包括在消息中向收集过程返回所请求的数据、本地存储数据以及向收集过程返回指出所存储数据位置的指针,或者本领域技术人员将了解到的返回所请求数据的任何其它方法。
如上面参考图5所述,图5的收集(406)数据包括从所识别的数据源取回所请求的数据。因此,为了进行进一步的说明,图6表示一个流程图,说明用于依照本发明各实施方式从所识别的数据源(522)取回(512)所请求数据(514)的示例方法。在图6的方法中,从所识别的数据源(522)取回(512)所请求的数据(514)包括确定(904)所识别的数据源(522)是否需要数据访问信息(914)以取回所请求的数据(514)。如上面参考图5所述,数据访问信息是从某些异构数据源中访问某种类型数据所需的信息。示例的数据访问信息包括账户名称、账户号、密码或者本领域技术人员将了解到的任何其它数据访问信息。
确定(904)所请求的数据源(522)是否需要数据访问信息(914)以取回所请求的数据(514)可通过试图从所识别的数据源取回数据以及从数据源接收取回数据所需的数据访问信息提示来实现。
可选择地,并非在每次从数据源取回数据时从数据源接收提示,确定(904)所识别的数据源(522)是否需要数据访问信息(914)以取回所请求的数据(514)可由例如用户实现一次,然后被提供给调度程序,使得所需的数据访问信息不需要提示而被提供给具有任何数据请求的数据源。例如,这种数据访问信息可存储在数据源表中,该数据源表识别从所识别的数据源访问数据所需的任何相应数据访问信息。
在图6的方法中,从所识别的数据源(522)取回(512)所请求的数据(514)还包括,如果所识别的数据源需要数据访问信息以取回所请求的数据(908),则基于包含在数据请求(508)中的数据元素(910)取回数据访问信息(914)。包含在数据请求(508)中的数据元素(910)通常是数据请求(508)的属性值。属性值可包括识别所要访问的数据类型的值、识别所请求数据的异构数据源位置的值或者数据请求的任何其它属性值。
包含在数据请求(508)中的这种数据元素(910)可用于取回从异构数据源取回数据所需的数据访问信息。用户访问数据源所需的数据访问信息可能有用地存储在与用户相关的记录中,其以数据源数据的所有请求中找到的数据元素为索引。因此,依照图6基于包含在数据请求(508)中的数据元素(910)取回(912)数据访问信息(914)可通过基于请求中的一个或多个数据元素从数据库取回包含数据访问信息的记录以及从记录中抽取出数据访问信息来实现。这种数据访问信息可提供给数据源,以取回数据。
如果所识别的数据源需要数据访问信息(914)以取回所请求的数据(908),则基于包含在数据请求(508)中的数据元素(910)取回(912)数据访问信息(914)可通过识别包含在数据请求(508)中的数据元素(910)、解析数据元素以识别取回所请求数据(908)所需的数据访问信息(914)、在数据访问表中识别正确的数据访问信息以及取回数据访问信息(914)来实现。
图6中用于从所识别数据源(522)取回(512)所请求数据(514)的示例方法还包括向所识别的数据源(522)展现(916)数据访问信息(914)。依照图6的方法向所识别的数据源(522)展现数据访问信息(914)可通过在请求中提供数据访问信息作为请求的参数,或者响应于数据源对这种数据访问信息的提示提供数据访问信息来实现。也就是,向所识别的数据源(522)展现(916)数据访问信息(914)可由调度程序的所选的特定数据源插件来实现,其响应于对这种数据访问信息的提示,向所识别的数据源(522)提供数据访问信息(914)。可选择地,向所识别的数据源(522)展现(916)数据访问信息(914)可由调度程序的所选的特定数据源插件来实现,其将对于所识别数据源(522)的数据访问信息(914)作为请求的参数进行传递,而无需提示。
如上所述,依照本发明各实施方式从异构数据源收集异构数据类型的数据通常包括向收集过程识别异构数据源。这就是,在从特定数据源请求数据之前,通常向收集过程识别那个数据源。因此,为了进行进一步的说明,图7表示一个流程图,说明用于依照本发明从异构数据源(404、522)收集异构数据类型数据(404、522)的示例方法,其包括向收集过程(502)识别(1006)异构数据源(1008)。在图7的方法中,向收集过程(502)识别(1006)异构数据源(1008)包括从用户接收(1002)对异构数据源的选择(1004)。用户通常是依照本发明使用数据管理和数据表示系统以管理和表示来自异构数据源(1008)的异构数据类型数据(402、408)的人。从用户接收(1002)对异构数据源的选择(1004)可通过经由数据管理和数据表示应用的用户接口从用户接收包含异构数据源选择的用户指令以及基于选择(1004)向收集过程(502)识别(1009)异构数据源(404、522)来实现。用户指令是响应于用户动作所接收的事件,例如,作为用户使用键盘或者小键盘输入按键组合、接收来自用户的语音、接收使用鼠标对可视显示图标的点击、按下触摸屏上的图标或者本领域技术人员将了解到的其它用户动作的结果而生成的事件。数据管理和数据表示应用中的用户接口可有效地提供用于接收特定异构数据源的用户选择的工具。
在图7的实例中,向收集过程识别异构数据源由用户实现。识别异构数据源还可通过需要有限的用户交互或不需要用户交互的过程来实现。为了进行进一步的说明,图8表示一个流程图,说明用于需要少量用户动作或不需要用户动作而从异构数据源收集异构数据类型数据的示例方法,包括向收集过程(502)识别(1006)异构数据源(1008),包括从数据请求(508)识别(1102)数据类型信息(1106)。异构数据类型识别不同类型和形式的数据。这就是,异构数据类型是不同类型的数据。定义异构数据类型的数据区别可包括数据结构、文件格式、数据传输协议中的区别以及本领域技术人员将了解到的其它区别。数据类型信息(1106)是代表定义异构数据类型的这些数据区别的信息。
依照图8的方法从数据请求(508)识别(1102)数据类型信息(1106)可通过从数据请求中抽取出数据类型码来实现。可选择地,从数据请求(508)识别(1102)数据类型信息(1106)可通过从请求本身推断出正在请求数据的数据类型,例如,通过从请求中抽取出数据元素以及从那些数据元素推断出所请求数据的数据类型或者以本领域技术人员将了解到的其他方法来实现。
在图8的用于收集的方法中,向收集过程(502)识别(1006)异构数据源还包括从数据源表(1104)识别对应于数据类型的数据源(1116)。数据源表是包含对异构数据源的识别的表,用从那些异构数据源取回的数据的数据类型进行索引。从数据源表(1104)识别(1110)对应于数据类型的数据源(1116)可通过基于所识别的数据类型执行数据源表的查询来实现。
在某些情况下,可能没有找到对于数据类型的这种数据源,或者没有可用的数据源表用于识别异构数据源。因此,在图8的方法中,包括可供选择的方法,用于向收集过程(502)识别(1006)异构数据源,包括基于数据类型信息(1106)搜索(1108)数据源以及从数据源搜索返回的搜索结果(1112)识别(1114)对应于数据类型的数据源(1116)。基于数据类型信息(1106)搜索数据源可通过基于数据类型信息生成搜索引擎查询以及用所生成的查询对搜索引擎进行查询来实现。查询搜索引擎可通过对经由HHTP GET或者HTTPPOST功能发送给搜索引擎的URL编码数据的使用来实现。URL编码数据是在用于数据通信的URL中打包的数据,在本例中,将查询传送给搜索引擎。在HTTP通信的情况下,HTTP GET和POST功能通常用于传输URL编码数据。在本说明书中,记住URL并不仅仅请求文件传输是很有用的。URL识别服务器上的资源。这种资源可能是具有文件名的文件,但是,URL所识别的资源还包括对数据库的查询。这种查询的结果并非必须位于文件中,但是其仍然是由URL识别并且由搜索引擎和产生这些资源的查询数据识别。URL编码数据的一个实例是http://www.example.com/search?field1=value1&field2=value2。
这个URL编码数据实例表示通过web传送到搜索引擎的查询。更加具体地,上述实例是代表提交给搜索引擎的URL承载编码数据,而且,查询是字符串“field1=value1&field2=value2”。示例的编码方法是使字段名和字段值形成字符串,用‘&’和“=”分隔,并通过在URL中包括“search”来将编码指定为查询。示例的URL编码搜索查询用于说明而非进行限制。实际上,不同的搜索引擎可在表示数据编码URL中的查询过程中使用不同的语法,因此,数据编码的特定语法可根据所查询的特定搜索引擎而有所不同。
从数据源搜索中返回的搜索结果(1112)识别(1114)对应于数据类型的数据源(1116)可通过从搜索引擎所返回的搜索结果页面中的超链接取回数据源的URL。
如上所述,用于异构数据类型的数据管理和数据表示包括将所收集的异构数据类型数据合成为统一数据类型的数据。为了进行进一步的说明,图9表示一个流程图,说明用于将所收集的异构数据类型数据(412)合成(414)为统一数据类型数据的方法。如上所述,所收集的异构数据类型数据(412)是异构数据类型数据在单一位置上的累积。所收集数据的这个位置可能是物理的,例如,在包含所收集数据的单台计算机上,或者逻辑的,例如,提供对所收集数据访问的单个接口。如上所述,异构数据类型是不同类型和形式的数据。这就是,异构数据是不同类型的数据。统一数据类型的数据是已经被生成或被转换为预定类型格式的数据。这就是,统一数据类型是可能在能够表示统一数据类型数据的设备上显示的单一类型数据。将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据有利地使异构数据内容能够在单一设备上表示。
在图9的方法中,将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据包括接收(612)所收集的异构数据类型数据。接收(612)所收集的异构数据类型数据(412)可通过从累积有异构数据的收集过程接收来自异构数据源的异构数据类型数据,用于将其合成为统一数据类型。
在图9的方法中,将所收集的异构数据类型(610)的数据(406)合成(414)为统一数据类型的数据还包括将所收集的异构数据类型数据(610)中的每个转化(614)为文本(617)内容以及与文本内容相关联的标记(619)。依照图9的方法将所收集的异构数据类型数据(610)中的每个转化(614)为文本(617)内容以及与文本内容相关联的标记(619)包括在文本和标记中表示所收集数据的内容,使得,能够表示文本和标记的浏览器可从所转化的数据表示合成之前包含在所收集数据中的相同内容。
在图9的方法中,将所收集的异构数据类型数据(610)中的每个转化(614)为文本(617)内容和标记(619)可通过为所收集数据生成X+V文档来实现,X+V文档包括文本、标记、语法等等,将在下面参考图10进行更详细地描述。X+V的使用用于说明而非进行限制。实际上,其它标记语言可有效地用于依照本发明将所收集的异构数据类型(610)数据(406)合成(414)为统一数据类型的数据,例如,XML、VXML或者本领域技术人员将了解到的任何其它标记语言。
将所收集的异构数据类型数据(610)中的每个转化为文本(617)内容和标记(619),使得能够表示文本和标记的浏览器可从所转化的数据表示合成之前包含在所收集数据中的相同内容,这可能包括以某种方式增加转化的内容。这就是,将异构数据类型转化为文本和标记可导致对数据内容的某种修改,或者可导致对某些不能正确转化的内容的删除。这种修改和删除的数量将根据所转化的数据类型以及本领域技术人员将了解到的其它因素而有所不同。
将所收集的异构数据类型数据(610)中的每个转化为文本(617)内容以及与文本内容相关联的标记(619),可通过将所收集的数据转化为文本和标记以及基于数据类型解析所转化的内容来实现。基于数据类型解析所转化的内容表示,识别所转化内容的结构和识别内容本身的各方面,以及生成代表所识别结构和内容的标记(619)。
为了进行进一步的说明,考虑下面描述总统的音频剪辑的标记语言描述。
<head>original file type=‘MP3’keyword=′president’number=‘50’,keyword=‘air force’number=‘1’keyword=‘white house’number=‘2’></head>
<content>
Some content about the president
</content>
在上述实例中,将MP3音频文件转化为文本和标记。上述实例中的头部(header)将所转化的数据标识为已经从MP3音频文件转化的转换数据。示例的头部还包括所转化文档的内容中所包括的关键字以及那些关键字出现的频率。示例的转化数据还包括标识为‘Somecontent about the president’的内容。
如上所述,一种用于合成数据的统一数据类型是XHTML plus语音。XHTML plus语音(‘X+V’)是用于通过使语音具有语音标记来开发多模式应用的Web标记语言。X+V在使用语音和可视元素的设备中提供基于语音的交互。使合成数据用于依照本发明各实施方式的数据管理和数据表示的语音通常通过生成用于合成数据文本内容的语法集来实现。语法是所说出的一组单词、那些单词可以被说的形式或者定义语音识别引擎所识别语音的其它语言元件。这种语音识别引擎可用于数据管理和表示引擎中,以向用户提供语音导航以及与合成数据的语音交互。
因此,为了进行进一步的说明,图10表示一个流程图,说明用于将所收集的异构数据类型数据(412)合成(414)为统一数据类型数据的示例方法,其包括动态生成合成数据文本内容的语法集,以用于与用户的语音交互。依照图10的方法将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据包括接收(612)异构数据类型数据(412)。如上所述,接收(612)异构数据类型数据(412)可通过从累积有异构数据的收集过程接收来自异构数据源的异构数据类型数据,用于合成为统一数据类型。
图10中用于将所收集的异构数据类型数据(412)合成(414)为统一数据类型数据的方法还包括将所收集的异构数据类型数据(412)中的每个转化为包括文本内容以及与文本内容相关联的标记的转化数据(1204)。如上所述,将所收集的异构数据类型数据(412)中的每个转化(614)为文本内容以及与文本内容相关联的标记包括用文本和标记代表所收集数据的内容,使得能够表示文本和标记的浏览器可从所转化的数据表示合成之前包含在所收集数据中的相同内容。在某些情况下,将所收集的异构数据类型数据(412)转化(614)为文本内容和标记使得浏览器能够表示文本和标记,可包括以本领域技术人员将了解到的某种方式增加或者删除所转化的某些内容。
在图10的方法中,将所收集的异构数据类型数据(412)中的每个转化(1202)为包括文本内容和标记的转化数据(1204)可通过生成用于合成数据的X+V文档来实现,包括文本、标记、语法等,将在下面进行更详细的描述。X+V的使用用于说明而非进行限制。本领域技术人员将了解到,实际上,其它标记语言可用于将所收集的异构数据类型数据(412)中的每个转化(614)为包括文本内容以及与文本内容相关联的标记的转化数据(1204)。
图10中用于将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据可包括动态生成(1206)用于文本内容的语法集(1216)。如上所述,语法是所说出的一组单词、那些单词所说的形式或者定义语音识别引擎所识别语音的其它语言元素。
在图10的方法中,动态生成(1206)用于文本内容的语法集(1216)还包括识别(1208)所转化数据(1204)中的确定内容或逻辑结构的关键字(1210),以及将所识别的关键字包括在与转化数据相关联的语法中。确定内容的关键字是定义数据内容的主题以及展现数据内容的信息的单词和短语。确定逻辑结构的关键字是建议数据内容的信息展现方式的关键字。逻辑结构的实例包括排版结构、分级结构、关系结构以及本领域技术人员将了解到的其它逻辑结构。
识别(1208)所转化数据(1204)中确定内容的关键字(1210)可通过在所转化文本中搜索文本中出现频率高于某个预定义门限的单词。超过门限的词组频率表示该单词与所转化文本的内容相关,这是因为,预先确定的门限作为并非偶然出现的使用频率而建立。可选择地,门限还可作为函数而非静态值而建立。在这种情况下,所转化文本中单词频率的门限值可通过将所转化文本中的单词频率与从更大集合中统计获得的期望频率进行比较的统计检测进行动态建立。
识别(1208)所转化数据(1204)中确定逻辑结构的关键字(1210)可通过在所转化数据中搜索确定结构的预定义单词来实现。这种确定逻辑结构的单词的实例包括‘引言’,‘目录’,‘章’,‘节’,‘索引’以及本领域技术人员将了解到的多个其它单词。
在图10的方法中,动态生成(1206)用于文本内容的语法集(1216)还包括基于所识别的关键字(1210)和语法生成规则(1212)生成(1214)语法。语法标准规则是一组用于产生语法的预定义指令和语法形式。基于所识别的关键字(1210)和语法生成规则(1212)生成(1214)语法可通过使用来自所转化数据的JavaServer页面、activeserver页面、PHP、Perl、XML等脚本框架的使用来实现。这种动态生成的语法可进行外部存储和引用,例如在X+V中,<grammarsrc=″″/>标签用于引用外部语法。
图10中用于将所收集的异构数据类型数据(412)合成(414)为统一数据类型的数据包括将语法集(1216)与文本内容相关联(1220)。将语法集(1216)与文本内容相关联(1220)包括将定义所生成语法的标记(1224)插入(1218)到所转化数据(1204)中。在所转化数据(1204)中插入(1218)标记可通过生成定义动态生成的标记来实现,该动态生成的语法将所生成的标记插入到所转化文档中。
图10的方法还包括将动作(420)与语法相关联(1222)。如上所述,动作是执行时实现预定义任务的一组计算机指令。因此,将动作(420)与语法相关联(1222)提供了对动作的语音启动,使得,响应于对语法的一个或多个单词或短语的识别,调用相关联的动作。
如上所述,用于异构数据类型的数据管理和数据表示包括基于合成数据识别动作。为了进行进一步的说明,图11表示一个流程图,说明用于基于合成数据(416)识别动作的示例方法,其包括接收(616)用户指令(620)以及基于合成数据(416)和用户指令识别动作。在图11的方法中,识别动作可通过从动作列表取回动作ID来实现。在图11的方法中,从动作列表取回动作ID包括从列表取回要基于用户指令和合成数据执行的动作的标识(‘动作ID’)。例如,动作列表可以实现为Java列表容器、随机存取存储器中的表、存储在硬盘驱动器或CD ROM中的SQL数据库表以及本领域技术人员将了解到的其它方式。如上所述,动作本身包括软件,所以,可以实现为具体实现在编译时导入到数据管理和数据表示模块中的Java包中的动作类,因此,在运行时间里总是可用的。
在图11的方法中,接收(616)用户指令(620)包括从用户接收(1504)语音(1502)、将语音(1502)转换(1506)为文本(1508);基于文本(1508)和语法(1510)确定(1512)用户指令(620)以及基于文本(1508)和语法(1510)确定用于用户指令(620)的参数(1604)。如上面参考图4所述,用户指令是响应于用户动作所接收的事件。用户指令的参数是进一步定义指令的附加数据。例如,‘删除电子邮件’的用户指令可包括参数‘2005年8月11日’,定义2005年8月11日的电子邮件是合成数据,将基于这个参数执行用户指令调用的动作。从用户接收(1504)语音(1502)、将语音(1502)转换(1506)为文本(1508);基于文本(1508)和语法(1510)确定(1512)用户指令(620)以及基于文本(1508)和语法(1510)确定用于用户指令(620)的参数(1604)可通过并入根据本发明的数据管理和数据表示模块中的语音识别引擎来实现。
依照图11的方法基于合成数据(416)识别动作还包括响应于用户指令(620)选择(618)合成数据(416)。响应于用户指令(620)选择(618)合成数据(416)可通过选择由用户指令(620)识别的合成数据来实现。选择(618)合成数据(416)还可通过基于用户指令(620)的参数(1604)选择合成数据(416)来实现。
响应于用户指令(620)选择(618)合成数据(416)可通过选择合成数据上下文信息(1802)来实现。上下文信息是描述接收当前所显示合成数据的状态信息、时间、星期、系统配置、合成数据属性等用户指令的上下文或者其它本领域技术人员所了解上下文信息的数据。上下文信息可代替语音中所识别的用户指令的参数使用或者与其结合使用。例如,识别从电子邮件文档转化来的合成数据当前正在被显示的上下文信息可用于对语音用户指令“删除电子邮件”进行补充,从而基于它对合成数据进行识别,以执行删除电子邮件的动作。
依照图11的方法基于合成数据(416)识别动作还包括基于用户指令(620)和所选数据(622)选择(624)动作(420)。基于用户指令(620)和所选数据(622)选择(624)动作(420)可通过选择用户指令所识别的动作来实现。选择(624)动作(420)还可通过基于用户指令(620)的参数(1604)选择动作(420)以及通过基于上下文信息(1802)选择动作(420)来实现。在图11的实例中,选择(624)动作(420)通过基于一个或多个用户指令、参数或上下文信息从动作数据库(1105)取回动作来实现。
执行所识别的动作可通过数据管理和数据表示模块中动作代理的switch()声明的使用来实现。这种switch()声明可以基于动作ID进行工作,并且可以实现为下列的伪代码段:
switch(actionlD){
Case 1:actionNumber1.take_action();break;
Case 2:actionNumber2.take_action();break;
Case 3:actionNumber3.take_action();break;
Case 4:actionNumber4.take_action();break;
Case 5:actionNumber5.take_action();break;
//and so on
}//end switch()
示例的switch声明基于动作ID选择要在合成数据上执行的动作。这个实例中由switch()管理的任务是具体的动作类,称为actionNumber1、actionNumber2等等,每个具有可执行的成员方法,称为take_action(),其执行每个动作类所实现的实际工作。
在这种实施方式中,执行动作还可通过数据管理和数据表示模块中动作代理的哈希(hash)表的使用来实现。这种哈希表可以存储对以动作ID作为关键字的动作对象的引用,如在下面伪代码实例中所示。这个实例开始于动作服务生成动作哈希表,引用与用户指令相关联的具体动作类的对象。在很多实施方式中,是动作服务生成这种哈希表,在其中放入对与特定用户指令相关的动作对象的引用,以及向调用动作代理返回对哈希表的引用。
Hashtable ActionHashTable=new Hashtable();
ActionHashTable.put(″1″,new Action1());
ActionHashTable.put(″2″,new Action2());
ActionHashTable.put(″3″,new Action3());
执行特定动作则可以依照下列伪代码实现:
Action anAction=(Action)ActionHashTable.get(″2″);
if(anAction!=null)anAction.take_action();
执行动作还可通过列表的使用来实现。列表的功能通常与哈希表相似。例如,执行特定动作可以依照下列伪代码来实现:
List ActionList=new List();
ActionList.add(1,new Action1());
ActionList.add(2,new Action2());
ActionList.add(3,new Action3());
执行特定动作则可以依照下列伪代码实现:
Action anAction=(Action)ActionList.get(2);
if(anAction!=null)anAction.take_action();
上述三个实例使用switch声明、哈希表和列表对象,以说明依照本发明各实施方式执行动作。这些实例中switch声明、哈希表和列表对象的使用用于说明目的而非进行限制。实际上,本领域技术人员将了解到,依照本发明各实施方式有很多执行动作的方法,所有这些方法都落入本发明的范围内。
为了对基于合成数据识别动作进行进一步的说明,考虑识别动作、动作参数以及执行动作所依赖的合成数据的用户指令的下列实例。用户正在浏览从电子邮件转化来的合成数据,并且发出下列语音指令:“删除2005年8月15日的电子邮件”。在当前的实例中,基于合成数据识别动作是通过基于用户指令选择删除合成数据的动作、通过识别用于删除电子邮件动作的标识仅仅删除一个电子邮件的参数、以及通过响应于用户指令选择从2005年8月15日的电子邮件转化来的合成数据来实现。
为了对基于合成数据识别动作进行进一步的说明,考虑下列用户指令的实例,其不特定识别执行动作所基于的合成数据。用户正在浏览从一系列电子邮件转化来的合成数据,并且发出下列语音指令:“删除当前的电子邮件”。在当前的实例中,基于合成数据识别动作是通过基于用户指令选择删除合成数据的动作来实现的。但是,在这个实例中,选择执行动作所基于的合成数据是基于下列使用上下文信息的数据选择规则来实现的。
If synthesized data=displayed;
Then synthesized data=‘current’.
If synthesized includes=email type code;
Then synthesized data=email.
上述的示例数据选择规则识别,如果显示合成数据,则所显示的合成数据是‘current’,以及如果合成数据包括电子邮件类型编码,则合成数据是电子邮件。上下文信息用于识别当前显示的从电子邮件转化来并承载电子邮件类型编码的合成数据。因此,将数据选择规则应用于示例的用户指令“删除当前的电子邮件”会导致删除当前显示的具有电子邮件类型编码的合成数据。
如上所述,用于异构数据类型的数据管理和数据表示通常包括使合成数据频道化。使合成数据(416)频道化有利地将合成数据分隔到各个逻辑频道上。频道实现为合成数据的逻辑累积,共享具有相似特性的通用属性。这种频道的实例是用于有关娱乐的合成数据的“娱乐频道”,用于有关工作的合成数据的‘工作频道’、用于有关用户家庭的合成数据的‘家庭频道’等等。
为了进行进一步的说明,图12表示一个流程图,说明用于依照本发明各实施方式使合成数据(416)频道化(422)的示例方法,其包括识别(802)合成数据的属性(804)。合成数据的属性(804)是可用于描述合成数据(416)特性的数据方面。示例的属性(804)包括数据类型、数据中的元数据、数据的逻辑结构、特定关键字在数据内容中的出现、数据源、生成数据的应用、源URL、作者、主题、生成日期等等。识别(802)合成数据的属性(804)可通过将合成数据的内容(804)与预定义属性列表进行比较来实现。识别(802)合成数据的属性(804)的另一种方法可通过将与合成数据(804)相关联的元数据和预定义属性列表进行比较来实现。
图12中用于使合成数据(416)频道化(422)的方法还包括描述(808)合成数据属性(804)的特性。描述(808)合成数据属性(804)的特性可通过估计合成数据的识别属性来实现。估计合成数据的识别属性可包括将特性规则(806)应用于所识别的属性。为了进行进一步的说明,考虑下面的特性规则:
If synthesized data=email;AND
If email to=″Joe″;AND
If email from=″Bob″;
Then email=″work email.″
在上面的实例中,特性规则表示,如果合成数据是电子邮件而且如果电子邮件发送给“Joe”而且如果电子邮件发送自“Bob”,则示例的电子邮件的特性描述为“工作邮件”。
描述(808)合成数据属性(804)的特性可进一步通过为所识别的每个属性生成代表所识别属性特性的特性标签来实现。为了进一步的说明,考虑下面的实例,从电子邮件转化来的合成数据在其内插入特性标签。
<head>
original message type=‘email’to=‘joe’from=‘bob’re=‘I willbe late tomorrow’</head>
<characteristic>
characteristic=‘work’
<characteristic>
<body>
Some body content
</body>
在上面的实例中,合成数据是从’Bob’发送给Joe的电子邮件转化而来,其主题行包括文本‘I will be late tomorrow’。在上面的实例中,<characteristic>标签标识具有将电子邮件的特性描述为工作相关和‘work’值的特性字段。特性标签有助于通过识别用于频道化数据的数据特性使合成数据频道化。
图12中用于使合成数据(416)频道化(422)的方法还包括基于特性属性(810)和频道分配规则(812)将数据分配(814)给预先确定的频道(816)。频道分配规则(812)是预先确定的指令,用于基于特性属性(810)将合成数据(416)分配到频道中。为了进一步的说明,考虑下面的频道分配规则:
If synthesized data=‘email’;and
If Characterization=‘work related email’
Then channel=‘work channel.’
在上面的实例中,如果合成数据是从电子邮件转化而来,而且如果电子邮件的特性被描述为‘工作相关电子邮件’,则将合成数据分配到‘工作频道’。
将数据分配(814)到预先确定的频道(816)上还可基于用户选择以及本领域技术人员将了解到的其它因素来实现。用户选择是用户对配置的选择集合,通常保存在与业务逻辑(business logic)相分离的数据结构中。用户选择提供附加的粒度,用于依照本发明使合成数据频道化。
在某些频道分配规则(812)下,可将合成数据(416)分配到多个频道(816)上。这就是,相同的合成数据实际上可用于多个频道。因此,将数据分配(814)到预先确定的频道(816)可对合成数据的单一部分实现多次。
图12中用于使合成数据(416)频道化(422)的方法还可包括通过一个或多个频道(816)向用户展现(426)合成数据(416)。通过一个或多个频道(816)向用户展现(426)合成数据(416)的一种方法可通过在允许用户访问那些频道内容的用户接口上展现可用频道的摘要或题目来实现。可能通过这个展现访问这些频道,以访问合成数据(416)。还通过显示或播放包含在频道中的合成数据(416),经由所选频道向用户展现合成数据。
如上所述,用于异构数据类型的数据管理和数据表示包括动态生成用于合成数据的语音可导航菜单。为了进行进一步的说明,图13表示一个流程图,说明用于动态生成用于合成数据(416)的语音可导航菜单的示例方法,其包括基于合成数据(416)确定(1308)菜单(1316)的逻辑结构(1306)。菜单的逻辑结构(1306)是所要生成的用于导航合成数据的菜单等级形式。这就是,逻辑结构提供菜单的等级框架,用于将合成数据的各部分进行关联。菜单的逻辑结构通常是分级树形结构,其分支由合成数据的原有数据类型、那些原有数据类型的合成数据数量、合成数据类型的展现优先级以及本领域技术人员将了解到的其它因素来指示。
在图13中,基于合成数据(416)确定(1308)菜单(1316)的逻辑结构(1306)包括基于至少一部分合成数据(1302)的原有数据类型(1304)确定(1310)逻辑结构(1306)。原有数据类型(1304)是作为所收集和合成的一部分合成数据(1302)来源数据的数据类型。
例如,考虑对来自电子邮件、RSS和日程表这三种原有数据类型的合成数据进行导航的菜单逻辑结构。包括至少三个分支——每个分支对应于每个原有数据类型——的分级树形结构提供分级逻辑结构,以通过分配给那个原有数据类型的分支对每个原有数据类型的合成数据进行访问和导航。
基于至少一部分合成数据(1302)的原有数据类型(1304)确定(1310)逻辑结构(1306)还可包括确定合成数据(416)的具体的特定原有数据类型逻辑结构。这种特定原有数据类型逻辑结构可为分配给具体原有数据类型的合成数据的分级菜单部分提供附加的结构。
为了进一步的说明,考虑对来自电子邮件、RSS和日程表这三种原有数据类型的合成数据进行导航的菜单逻辑结构实例的继续。分级树形结构包括对于每个原有数据类型的一个分支。各个分支的逻辑结构选择为特定原有数据类型逻辑结构,具体设计用于对具体的原有数据类型的合成数据进行导航。
依照图13的方法基于合成数据(416)确定(1308)菜单(1316)的逻辑结构(1306)还包括基于为合成数据所识别的频道(817)确定(1312)逻辑结构(1306)。基于为合成数据所识别的频道(817)确定(1312)逻辑结构(1306)可通过生成分级树形结构来实现,其具有对于每个频道的分支,并且将菜单条目分配给每个分支。
依照图13的方法基于合成数据确定菜单逻辑结构还可通过基于菜单用户选择确定逻辑结构。菜单用户选择是对于菜单逻辑结构的具体选择。用户选择提供附加的粒度,用于生成合成数据的语音可导航菜单。
为了进行进一步的说明,图14表示数据管理和数据表示模型中浏览器(142)的直线绘制,其显示具有分级树形结构的示例频道菜单(248)。示例频道菜单(248)具有分级树形结构,有三个分支,每个具有描述分配给分支的频道的第一级条目(250、252、254)。
第一级条目包括对于工作频道(250)、家庭频道(252)和娱乐频道(254)的条目。对于图14频道菜单(248)的示例分级树形结构还包括三个第二级条目——每个对于第一级条目下的每个条目——以及九个三级条目——每个对于每个二级条目下的每个条目。
工作频道(250)分级树形结构分支的二级条目具有树形结构的分支,每个标记有描述合成数据原有数据类型的条目:一个用于RSS(256)、一个用于电子邮件(258)以及一个用于日程表(260)。图14频道菜单(248)的示例分级树形结构还在工作频道(250)的RSS(256)分支下面的三级条目中包括两个分支(274、275),每个条目(274、275)将合成数据描述为RSS数据。图14频道菜单(248)的示例分级树形结构还在工作频道(250)的电子邮件分支(258)下面的三级条目中包括两个分支(276、277),每个条目(276、277)将合成数据描述为电子邮件数据。图14频道菜单(248)的示例分级树形结构还在工作频道(250)的日程表分支(260)下面的三级条目中包括三个分支(278、279、280),每个条目(278、279、280)将合成数据描述为日程表数据。
图14频道菜单(248)的示例分级树形结构还在家庭频道(252)的RSS(262)分支下面的三级条目中包括一个分支(281),将合成数据描述为RSS数据。图14频道菜单(248)的示例分级树形结构还在家庭频道(252)的电子邮件分支(264)下面的三级条目中包括三个分支(282、283、284),每个条目(282、283、284))将合成数据描述为电子邮件数据。图14频道菜单(248)的示例分级树形结构还在家庭频道(252)的日程表分支(266)下面的三级条目中包括一个分支(285),条目(285)将合成数据描述为日程表数据。
图14频道菜单(248)的示例分级树形结构还在娱乐频道(254)的RSS(268)分支下面的三级条目中包括两个分支(286、287),条目(286、287)将合成数据描述为RSS数据。图14频道菜单(248)的示例分级树形结构还在娱乐频道(254)的电子邮件分支(270)下面的三级条目中包括一个分支(288),条目(288)将合成数据描述为电子邮件数据。图14频道菜单(248)的示例分级树形结构还在娱乐频道(254)的日程表分支(272)下面的三级条目中包括一个分支(289),条目(289)将合成数据描述为日程表数据。
再次参考图13:在图13的方法中,动态生成用于合成数据(416)的语音可导航菜单还包括生成(1314)具有确定逻辑结构(1306)以及代表一部分合成数据(1302)的至少一个菜单条目(1318)的菜单(1316)。生成(1314)具有确定逻辑结构(1306)的菜单(1316)可通过实例化一个具有确定逻辑结构的菜单来实现。
菜单条目(1318)是菜单中的子组件,其显示选择来简要描述一部分合成数据(1302)的离散信息,一部分合成数据(1302)可通过菜单条目所描述的菜单部分进行访问。菜单条目可实现为菜单中的可视元件,显示选择来简要描述一部分合成数据(1302)的离散信息,一部分合成数据(1302)可通过菜单条目所描述的菜单部分进行访问;可实现为语音使能菜单中的听觉元件,用于播放选择来简要描述一部分合成数据(1302)的离散信息,一部分合成数据(1302)可通过菜单条目所描述的菜单部分进行访问,以及实现为本领域技术人员将了解到的其它元件。选择来简要描述一部分合成数据的离散信息可包括合成数据中的关键字、一部分合成数据的摘要或者本领域技术人员将了解到的其它离散信息。
依照图13的方法动态生成用于合成数据(416)的语音可导航菜单还包括依照代表一部分合成数据(1302)的菜单条目(1318)和菜单条目(1318)所代表的那部分合成数据(1302)生成(1320)菜单(1316)的至少一个语法(1334)。语法是所说出的一组单词、那些单词所说的形式或者定义语音识别引擎所识别语音的其它语言元素。这种语音识别引擎可用于通过语音导航以及与合成数据的语音交互,对合成数据的菜单进行导航。
在图13的方法中,基于代表一部分合成数据(1302)的菜单条目(1318)以及菜单条目(1318)所代表的那部分合成数据(1302)生成(1320)菜单(1316)的至少一个语法(1334)通过从菜单条目(1318)的内容中选择(1322)关键字(1324)并且将关键字(1324)包括在语法(1334)中来实现。如上所述,菜单条目表示选择来简要描述所述部分合成数据(1302)的离散信息。从菜单条目(1318)的内容中选择(1322)关键字(1324)有效地从已经选择来简要描述所述部分合成数据的离散信息中选择关键字。
从菜单条目(1318)的内容中选择(1322)关键字(1324)并且将关键字(1324)包括在语法中可通过在菜单条目(1318)中搜索在该菜单条目中出现频率高于某个预定义门限的单词来实现。超过门限的单词频率表示单词与可通过菜单条目访问的合成数据内容相关,这是因为,预先确定的门限作为并非偶然出现的使用频率而建立。
从菜单条目(1318)的内容中选择(1322)关键字(1324)并且将关键字(1324)包括在语法(1334)中还可通过基于可通过菜单条目访问的一部分合成数据的原有数据类型选择关键字以及将关键字包括在语法中来实现。例如,考虑提供对电子邮件的可导航访问的菜单条目。菜单条目本身可能不包括关键字‘电子邮件’。但是,在电子邮件语音导航中使用的关键字不包括在语法中,例如,‘电子邮件’、‘邮件’、‘发信箱’、‘收件箱’等等。
在图13的方法中,基于代表一部分合成数据(1302)的菜单条目(1318)以及菜单(1318)所代表的那部分合成数据(1302)生成(1320)菜单(1316)的至少一个语法(1334)可通过来自菜单条目内容的JavaServer页面、active server页面、PHP、Perl、XML等脚本框架的使用来实现。这种动态生成的语法可在外部存储和在例如X+V中引用,<grammar src=″″/>标签用于引用外部语法。
依照图13的方法动态生成用于合成数据(416)的语音可导航菜单还包括将至少一个菜单动作(1328、1330)添加(1332)到语法(1334)中。动作菜单(1328、1330)通常实现为用于导航菜单或者用于访问合成数据的计算机程序指令。用于导航菜单的菜单动作实例包括用于响应于语音命令‘上滚’而执行上滚的计算机程序指令、响应于语音命令‘显示下一个菜单条目’而执行的用于显示下一个菜单条目的计算机程序指令、响应于语音命令‘显示主菜单’而执行的用于显示主菜单的计算机程序指令等等。用于访问合成数据的菜单动作实例包括响应于语音命令‘读取下一封电子邮件’而执行的用于读取下一封电子邮件的计算机程序指令、响应于语音命令‘读取置顶的RSS新闻’而执行的用于读取优先的RSS新闻的计算机程序指令等等。因此,将至少一个菜单动作(1328、1330)添加(1332)到语法(1334)中提供菜单动作的语音启动,使得,响应于所说出的语法的一个或多个单词或短语,可导航菜单或者访问合成数据。
用于合成数据的语音可导航菜单经常包括用于向用户展现的可视元件以及用于与用户进行语音交互和导航的听觉语法。为了进行进一步的说明,图15表示一个流程图,说明用于基于菜单条目(1318)和菜单条目所代表的一部分合成数据(1302)生成(1336)菜单可视描述标记(1344)的示例方法。在图15的方法中,基于菜单条目(1318)和菜单条目(1318)所代表的一部分合成数据(1302)生成(1336)菜单可视描述标记(1344)包括基于菜单条目(1318)所代表的那部分合成数据(1302)的原有数据类型(1304)生成(1340)标记。如上所述,原有数据类型(1304)是作为所收集和合成的合成数据(1302)来源的数据的数据类型。基于一部分合成数据(1302)的原有数据类型(1304)生成菜单可视描述标记有利地提供识别合成数据原有数据类型的标记。
在用于管理和表示异构数据类型数据的全功能计算机程序的上下文中描述了本发明的示例实施方式。但是,本领域技术人员将了解到,本发明还可包含在置于信号承载媒介上以和适当的数据处理系统一起使用的计算机程序产品。这种信号承载媒体可能是用于机器可读信息的传输媒介或者可记录媒介,包括磁媒介、光媒介或者其它适当的媒介。可记录媒介的实例包括硬盘驱动器或硬盘中的磁盘、用于光盘驱动器的光盘、磁带以及本领域技术人员将了解到的其它媒介。传输媒介的实例包括用于语音通信的电话网络以及数字数据通信网络,例如,以太网以及与Internet协议和万维网通信的网络。本领域技术人员将立即了解到,具有适当编程装置的任何计算机系统将能够执行包含在程序产品中的本发明方法的各个步骤。本领域技术人员将立即了解到,虽然在本说明书中描述的某些示例实施方式面向安装并运行于计算机硬件上的软件,但是,实现为固件或硬件的可供选择的实施方式同样落入本发明的范围内。
从前述的描述将了解到,可对本发明各实施方式进行修正和改变而不偏离本发明的真正精神。本说明书中的描述仅用于说明目的而非进行限制。本发明的范围仅由下面的权利要求书的语言限制。

Claims (17)

1.一种动态生成用于合成数据的语音可导航菜单的方法,所述方法包括:
基于合成数据确定菜单的逻辑结构;
生成具有所确定的逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单;
基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据,为菜单生成至少一个语法;以及
将至少一个菜单动作添加到语法中。
2.根据权利要求1所述的方法,其中,基于合成数据确定菜单的逻辑结构进一步包括基于至少一部分合成数据的原有数据类型确定逻辑结构。
3.根据权利要求1所述的方法,基于合成数据确定菜单的逻辑结构进一步包括基于为合成数据识别的频道确定逻辑结构。
4.根据权利要求1所述的方法,其中,基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据为菜单生成至少一个语法进一步包括,从菜单条目的内容中选择关键字以及将关键字包括在语法中。
5.根据权利要求1所述的方法,进一步包括基于菜单条目以及菜单条目所代表的那部分合成数据生成菜单的可视描述标记。
6.根据权利要求5所述的方法,其中,基于菜单条目以及菜单条目所代表的那部分合成数据生成菜单的可视描述标记进一步包括基于菜单条目所代表的那部分合成数据的原有数据类型生成标记。
7.根据权利要求1所述的方法,其中,菜单动作进一步包括用于导航菜单的菜单动作。
8.根据权利要求1所述的方法,其中,菜单动作进一步包括用于访问合成数据的菜单动作。
9.一种动态生成用于合成数据的语音可导航菜单的系统,所述系统包括:
计算机处理器;
计算机存储器,与计算机处理器相连,所述计算机存储器在其内具有计算机程序指令,所述计算机程序指令能够:
基于合成数据确定菜单的逻辑结构;
生成具有所确定的逻辑结构以及代表一部分合成数据的至少一个菜单条目的菜单;
基于代表一部分合成数据的菜单条目以及菜单条目所代表的那部分合成数据,为菜单生成至少一个语法;以及
将至少一个菜单动作添加到语法中。
10.根据权利要求9所述的系统,其中,计算机存储器还在其内具有计算机程序指令,所述计算机程序指令能够基于至少一部分合成数据的原有数据类型确定逻辑结构。
11.根据权利要求9所述的系统,其中,计算机存储器还在其内具有能够基于为合成数据识别的频道确定逻辑结构的计算机程序指令。
12.根据权利要求9所述的系统,其中,计算机存储器还在其内具有能够从菜单条目的内容中选择关键字以及将关键字包括在语法中的计算机程序指令。
13.根据权利要求9所述的系统,其中,计算机存储器还在其内具有能够基于菜单条目以及菜单条目所代表的那部分合成数据生成菜单的可视描述标记的计算机程序指令。
14.根据权利要求13所述的系统,其中,计算机存储器还在其内具有能够基于菜单条目所代表的那部分合成数据的原有数据类型生成标记的计算机程序指令。
15.根据权利要求13所述的系统,其中,菜单动作进一步包括用于导航菜单的菜单动作。
16.根据权利要求13所述的系统,其中,菜单动作进一步包括用于访问合成数据的菜单动作。
17.一种计算机程序产品,用于动态生成用于合成数据的语音可导航菜单,所述计算机程序产品包含在计算机可读媒介上,所述计算机程序产品包括用于实现上述权利要求的任何一个方法的计算机程序指令。
CNB2006100850868A 2005-09-14 2006-05-31 动态生成用于合成数据的语音可导航菜单的方法和系统 Expired - Fee Related CN100454242C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/226,747 US20070061132A1 (en) 2005-09-14 2005-09-14 Dynamically generating a voice navigable menu for synthesized data
US11/226,747 2005-09-14

Publications (2)

Publication Number Publication Date
CN1932756A true CN1932756A (zh) 2007-03-21
CN100454242C CN100454242C (zh) 2009-01-21

Family

ID=37856394

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100850868A Expired - Fee Related CN100454242C (zh) 2005-09-14 2006-05-31 动态生成用于合成数据的语音可导航菜单的方法和系统

Country Status (3)

Country Link
US (1) US20070061132A1 (zh)
CN (1) CN100454242C (zh)
TW (1) TW200745946A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101981570A (zh) * 2008-04-01 2011-02-23 雅虎公司 用于与内容对象集成、关联和交互的开放式架构
CN104010097A (zh) * 2014-06-17 2014-08-27 携程计算机技术(上海)有限公司 基于传统pstn电话的多媒体通讯系统及方法
US9477969B2 (en) 2006-12-12 2016-10-25 Yahoo! Inc. Automatic feed creation for non-feed enabled information objects

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958131B2 (en) * 2005-08-19 2011-06-07 International Business Machines Corporation Method for data management and data rendering for disparate data types
US8977636B2 (en) 2005-08-19 2015-03-10 International Business Machines Corporation Synthesizing aggregate data of disparate data types into data of a uniform data type
US20070061371A1 (en) * 2005-09-14 2007-03-15 Bodin William K Data customization for data of disparate data types
US20070061712A1 (en) * 2005-09-14 2007-03-15 Bodin William K Management and rendering of calendar data
US8266220B2 (en) 2005-09-14 2012-09-11 International Business Machines Corporation Email management and rendering
US8694319B2 (en) * 2005-11-03 2014-04-08 International Business Machines Corporation Dynamic prosody adjustment for voice-rendering synthesized data
US8271107B2 (en) 2006-01-13 2012-09-18 International Business Machines Corporation Controlling audio operation for data management and data rendering
US20070165538A1 (en) * 2006-01-13 2007-07-19 Bodin William K Schedule-based connectivity management
US20070192675A1 (en) * 2006-02-13 2007-08-16 Bodin William K Invoking an audio hyperlink embedded in a markup document
US9135339B2 (en) * 2006-02-13 2015-09-15 International Business Machines Corporation Invoking an audio hyperlink
US8582729B2 (en) * 2006-02-24 2013-11-12 Qualcomm Incorporated System and method of controlling a graphical user interface at a wireless device
US9196241B2 (en) 2006-09-29 2015-11-24 International Business Machines Corporation Asynchronous communications using messages recorded on handheld devices
US20090234814A1 (en) * 2006-12-12 2009-09-17 Marco Boerries Configuring a search engine results page with environment-specific information
US20090240564A1 (en) * 2006-12-12 2009-09-24 Marco Boerries Open framework for integrating, associating, and interacting with content objects including advertisement and content personalization
US9318100B2 (en) 2007-01-03 2016-04-19 International Business Machines Corporation Supplementing audio recorded in a media file
US7822608B2 (en) * 2007-02-27 2010-10-26 Nuance Communications, Inc. Disambiguating a speech recognition grammar in a multimodal application
US20090172546A1 (en) * 2007-12-31 2009-07-02 Motorola, Inc. Search-based dynamic voice activation
TWI391838B (zh) * 2008-08-11 2013-04-01 Shuchih Ernest Chang 以網路供餵【web-feed】為基礎之搜尋系統及方法
US8615396B2 (en) * 2008-09-02 2013-12-24 International Business Machines Corporation Voice response unit mapping
US9003300B2 (en) * 2008-10-03 2015-04-07 International Business Machines Corporation Voice response unit proxy utilizing dynamic web interaction
DE112009005347A5 (de) * 2009-11-05 2012-08-16 Bertram Stoll System und methode zur spracherfassung von strukturierten daten
US10353552B1 (en) * 2010-06-20 2019-07-16 Sitting Man, Llc Apparatuses and methods for identifying a contactee for a message
WO2012090196A1 (en) * 2010-12-30 2012-07-05 Melamed Gal Method and system for processing content
US8452603B1 (en) * 2012-09-14 2013-05-28 Google Inc. Methods and systems for enhancement of device accessibility by language-translated voice output of user-interface items
US10733235B2 (en) 2015-06-09 2020-08-04 Patricia Henery Aid for dyslexic readers

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785408A (en) * 1985-03-11 1988-11-15 AT&T Information Systems Inc. American Telephone and Telegraph Company Method and apparatus for generating computer-controlled interactive voice services
US5406626A (en) * 1993-03-15 1995-04-11 Macrovision Corporation Radio receiver for information dissemenation using subcarrier
US5901287A (en) * 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US6233318B1 (en) * 1996-11-05 2001-05-15 Comverse Network Systems, Inc. System for accessing multimedia mailboxes and messages over the internet and via telephone
US6487277B2 (en) * 1997-09-19 2002-11-26 Siemens Information And Communication Networks, Inc. Apparatus and method for improving the user interface of integrated voice response systems
DE60032982T2 (de) * 1999-09-13 2007-11-15 Matsushita Electric Industrial Co., Ltd., Kadoma Spracherkennung zur Steuerung eines Geräts
US6850603B1 (en) * 1999-09-13 2005-02-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized dynamic and interactive voice services
WO2001096994A2 (en) * 2000-06-14 2001-12-20 Koninklijke Philips Electronics N.V. User interface with dynamic menu option organization
US7092370B2 (en) * 2000-08-17 2006-08-15 Roamware, Inc. Method and system for wireless voice channel/data channel integration
US20020128837A1 (en) * 2001-03-12 2002-09-12 Philippe Morin Voice binding for user interface navigation system
US6832196B2 (en) * 2001-03-30 2004-12-14 International Business Machines Corporation Speech driven data selection in a voice-enabled program
US20050234727A1 (en) * 2001-07-03 2005-10-20 Leo Chiu Method and apparatus for adapting a voice extensible markup language-enabled voice system for natural speech recognition and system response
US7609829B2 (en) * 2001-07-03 2009-10-27 Apptera, Inc. Multi-platform capable inference engine and universal grammar language adapter for intelligent voice application execution
US7076051B2 (en) * 2001-12-12 2006-07-11 International Business Machines Corporation Promoting caller voice browsing in a hold queue
US20030115289A1 (en) * 2001-12-14 2003-06-19 Garry Chinn Navigation in a voice recognition system
US7149694B1 (en) * 2002-02-13 2006-12-12 Siebel Systems, Inc. Method and system for building/updating grammars in voice access systems
US7215743B2 (en) * 2002-12-20 2007-05-08 International Business Machines Corporation Telephony signals containing an IVR decision tree
US20050045373A1 (en) * 2003-05-27 2005-03-03 Joseph Born Portable media device with audio prompt menu
US20050043940A1 (en) * 2003-08-20 2005-02-24 Marvin Elder Preparing a data source for a natural language query
US20050108406A1 (en) * 2003-11-07 2005-05-19 Dynalab Inc. System and method for dynamically generating a customized menu page
US20050152344A1 (en) * 2003-11-17 2005-07-14 Leo Chiu System and methods for dynamic integration of a voice application with one or more Web services
CN2679798Y (zh) * 2003-12-12 2005-02-16 王良生 电子邮件语音播送器
US20060165104A1 (en) * 2004-11-10 2006-07-27 Kaye Elazar M Content management interface

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9477969B2 (en) 2006-12-12 2016-10-25 Yahoo! Inc. Automatic feed creation for non-feed enabled information objects
CN101981570A (zh) * 2008-04-01 2011-02-23 雅虎公司 用于与内容对象集成、关联和交互的开放式架构
CN104010097A (zh) * 2014-06-17 2014-08-27 携程计算机技术(上海)有限公司 基于传统pstn电话的多媒体通讯系统及方法

Also Published As

Publication number Publication date
CN100454242C (zh) 2009-01-21
US20070061132A1 (en) 2007-03-15
TW200745946A (en) 2007-12-16

Similar Documents

Publication Publication Date Title
CN1932756A (zh) 动态生成用于合成数据的语音可导航菜单的方法和系统
US8266220B2 (en) Email management and rendering
CN1248139C (zh) 用于表达频道化数据的系统和方法
CN1120432C (zh) 产生显示控制信息的方法和计算机
CN1142489C (zh) 信息处理方法和服务器
US8977636B2 (en) Synthesizing aggregate data of disparate data types into data of a uniform data type
US8271107B2 (en) Controlling audio operation for data management and data rendering
CN101051310A (zh) 用于将合成电子邮件数据转入音频文件的方法和系统
CN101042919A (zh) 调用内容管理指令的方法和系统
CN101030204A (zh) 在用户终端设备上生成用户界面的入口服务器和方法
CN1328668A (zh) 用于指定网络上的位置的系统和处理
CN1661554A (zh) 用于构建无线应用程序的系统和方法
CN1277230C (zh) 用于小型脚印尺寸装置的智能书签
US20070061371A1 (en) Data customization for data of disparate data types
CN1732459A (zh) 用于较小显示装置的网页内容译码系统和方法
CN1934569A (zh) 集成有用户注释的搜索系统和方法
CN1327195A (zh) 用于访问在一个网络上的信息的方法和系统
CN1901490A (zh) 用于提供Web服务的方法、装置以及程序产品
CN1667609A (zh) 文档信息管理系统和文档信息管理方法
CN1745364A (zh) 用于扩展应用程序首选项类的系统和方法
CN1573923A (zh) 用于用户模型化以增强对命名实体识别的系统和方法
CN1757020A (zh) 信息处理装置、信息处理方法以及计算机程序
CN1484154A (zh) 用于访问在一个网络上的信息的方法和系统
CN1211364A (zh) 一种管理互配单元及生产该单元的方法
JP2009515244A (ja) データ管理及びデータ・レンダリング用ユーザ・インターフェースを動的に作成する方法、システム、及びコンピュータ・プログラム(データ管理及びデータ・レンダリング用ユーザ・インターフェースの動的作成)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090121

Termination date: 20100531