CN1427971A - 对在转换基于web的信息时使用的规则进行非编程开发的系统和方法 - Google Patents

对在转换基于web的信息时使用的规则进行非编程开发的系统和方法 Download PDF

Info

Publication number
CN1427971A
CN1427971A CN01808820A CN01808820A CN1427971A CN 1427971 A CN1427971 A CN 1427971A CN 01808820 A CN01808820 A CN 01808820A CN 01808820 A CN01808820 A CN 01808820A CN 1427971 A CN1427971 A CN 1427971A
Authority
CN
China
Prior art keywords
information
user
square frame
webpage
data
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.)
Pending
Application number
CN01808820A
Other languages
English (en)
Inventor
史蒂文·杰尔米·卡里尔
史蒂文·格雷戈里·伍兹
马丁·P·A·塞林科
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.)
Quack com Inc
Original Assignee
Quack com Inc
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 Quack com Inc filed Critical Quack com Inc
Publication of CN1427971A publication Critical patent/CN1427971A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

建立与要被识别的事物的属性对应的规则,以便具有能够获得网页信息的非编程手段的方法,该方法包括:查找包含与想要的事物相关的信息的网页;选择一种格式(form)来覆盖找到的网页,以及根据该格式从找到的网页中提取信息。这种格式用与想要的事物的属性对应的规则来确定。

Description

对在转换基于WEB的信息 时使用的规则进行非编程开发的系统和方法
发明背景
本发明通常涉及因特网和电子商务、即“e商务(e-commerce)”。更确切的说,本发明涉及对在转换基于web的信息时使用的规则进行非编程开发的系统和方法。
因特网(Internet)已经发展成为一种媒体,通过这种媒体,人们使用连入因特网的计算机可以获取大量信息,而且通过因特网获取信息的方式有多种多样。有时可以通过搜索引挚获取信息,示例的这种搜索引挚是通过关键词或短语搜索,然后给出一系列在网页中包含关键词或短语的网站地址,例如,网页的文本或内嵌识别码(如元标志)。信息还可以借助因特网通过单独的网站获得。这些网站提供了大量且种类繁多的具备时效性和不依赖于时问的信息和服务。
因特网特别有助于开展电子商务。已建立了许多因特网服务器,销售商可利用这些服务器为他们的产品或服务打广告和销售这些产品和服务。这样的产品或服务可包括通过因特网以电的方式传递到购买者手中的项目(如,音乐)和通过传统的销售渠道(如普通货运公司)传递到购买者手中的物品(如,书籍)。而服务能够提供信息(如,天气预报、交通、电影、成本比较等)和通过因特网来完成的交易(如股票买卖、定餐)。
遗憾的是,当因特网提供给用户获取大量信息的机会的同时,人们发现这种基于因特网的信息通常是非常耗时且非常麻烦的。更为糟糕的是,在大量的单个网站上很难找到并比较相同的信息,因为这些相同的信息在这些网站上是可以以不同的方式组织、描述的,并且可以在不同的时间发生变化。除了这些固有的困难之外,因特网还有一个显而易见的问题是,不借助于通过因特网服务提供商(ISP)连入因特网的计算机或类似电子装置,人们就无法获取这些信息。而且,为了查找基于因特网的网络信息,人们必须学会如何通过因特网定位信息。如此一来,人们没有计算机,或者没有通过ISP接入互连网,或者没有使用因特网的经历或训练,访问基于因特网的信息就受到了限制。这些因素都直接导致了为什麽在1999年底业内专家估计只有30%的美国人曾经访问过互连网或“网上冲浪”(来自Forrester Research 1999年10月的统计)。
因此,希望提供一种系统和方法,通过这种系统和方去,人们无须使用计算机,无须ISP的连接,无须具有使用因特网的经历或训练就可以访问基于因特网的信息。此外,希望提供一种系统和方法,该系统和方法使人们能够使用传统的且容易获得的方式,如通过公用电话的语音来获得基于因特网的信息。更进一步,人们还希望提供一种系统和方法,该系统和方法为在转换和规范化语义结构化数据时所使用的规则的非编程开发提供了保证,使得例如语音这样的数据可以从因特网源和用户接口平台之间进行转换。
迄今为止,有许多难题使得这样的一种系统和方法是不可能的。例如,使用这种系统的人们希望尽快的得到信息,至少是在可以容忍的时间之内得到信息。达到这样的速度是很难的。即使是使用传统的高速计算机和快速的通讯连接,获取因特网信息的延迟也已经使很多人把因特网称为″世界范围等待(world wide wait)″。这种系统和方法的另一个问题是语音通讯的识别问题。传统的语音识别技术既慢又不准确。方便实用的通过语音获取基于因特网的信息需要简单、快速、准确的语音识别技术。然而,已知的处理器和存储设备都不允许对大词汇量的快速访问和像人与人交互中的语音识别那样所需要的处理速度。
这样一种系统和方法还存在另一个问题就是如伺在获得资金支持的同时来提供免费的基于因特网的信息浏览。传统的互联网广告业务需要看到广告信息,如“标题”(banners),并通过手动选择,如“点击”标题来获得更多的广告产品或服务的信息。
因此,除了上述提到的功能之外,人们还需要通过这种系统和方法获得迅速准确的对基于因特网信息的免费的语音访问。进一步说,还需要通过这种系统和方法从因特网信息源获得数据并把它与其它因特网信息源的数据进行比较,然后提供给大量的不同平台的用户,包括语音平台和无线访问协议平台(WAP)。
发明概要
本发明一实施例的一个方面涉及一种方法,该方法建立与要被识别的事物的属性对应的规则,以便具有能够获得网页信息的非编程手段。该方法包括查找包含与想要的事物相关的信息的网页,选择一利格式(form)来覆盖找到的网页,以及根据该格式从找到的网页中提取信息。这种格式用与想要的事物的属性对应的规则来确定。
简要来说,本发明一实施例的另一个方面涉及一种系统,该系统建立与要被识别的事物的属性对应的规则,以便从网页获得信息。该系统包括查找包含与想要的事物相关的信息的网页的装置,选择一种格式(form)来覆盖找到的网页的装置,以及根据该格式从找到的网页中提取信息的装置。这种格式用与想要的事物的属性对应的规则来确定。
简要来说,本发明一实施例的另一个方面是对在把基于WEB的信息转换为普通数据结构时使用的规则进行非编程开发的方法。该方法包括查找信息页面中含有相关信息的区域,识别包括隔离含有相关信息的区域的模式的格式,在包括含有相关信息的区域的一组页面中查找与更多信息页面的链接,以及为一组具有相同模式的页面创建提取文件来隔离含有相关信息的区域。
简要来说,本发明一实施例的另一个方面是对在把基于WEB的信息转换为普通数据结构时使用的规则进行非编程开发的系统。该系统包括查找信息页面中含有相关信息的区域的装置,识别包括隔离含有相关信息的区域的模式的格式的装置,在包括含有相关信息的区域的一组页面中查找与更多信息页面的链接的装置,以及为一组具有相同模式的页面创建提取文件来隔离含有相关信息的区域的装置。
简要来说,本发明一实施例的另一个方面是建立在转换基于WEB的信息时使用的规则的系统。该系统包括一个数据库和数据管理工具。数据库存储使用多个格式中的一个格式从网页中提取出的信息。这多个格式包含与从网页中检索出的相关信息相应的规则。数据管理工具允许非专家规则的设计者从多个格式中选择该格式。选定的格式被用来逼近该网页的信息的排列和上下文。
简要来说,本发明一实施例的另一个方面是一种计算机程序产品,它包含对在把基于WEB的信息转换为普通数据结构时使用的规则进行非编程开发的计算机程序代码。该计算机程序产品中的程序代码包含用于查找网页的第一计算机可读程序代码和用于识别包括隔离含有相关信息的区域的模式的格式的第二计算机可读程序代码。
本发明的其它主要特征和优点对于那些仔细阅读了以下的附图、详细描述、以及所附的权利要求的本领域普通技术人员来说是显而易见的。
附图概述
本发明通过例子加以说明,但不受以下附图的限制,图中相同的标号表示相同的部分,其中:
图1是与因特网连接的语音入口的简要图形表示;
图2是图1的语音入口的一示例功能实施例的简要功能方框图;
图3是图1的语音入口的一示例物理实施例的更详细的方框图;
图4是被图1的语音入口使用的一示例数据结构模型的图形表示;
图5是图4的用于用户相关信息的一示例数据结构模型的图形表示;
图6是图4的用于广告相关信息的一示例数据结构模型的图形表示;
图7是说明图4的示例数据结构模型的一示例创建过程的流程图;
图8是图7的示例创建过程的图形表示;
图9是说明使用非编程手段收集基于因特网信息的一示例过程的流程图;
图10是与图1语音入口相关的规则的非编程开发的一示例过程的图形表示;
图11是与图1的语音入口相关的规则的非编程开发的一示例图形用户界面;
图12是在与图1的语音入口相关的规则的非编程开发中使用的一示例图形用户界面窗口;
图13是图12的图形用户界面窗口的扩展形式;
图14是在与图1的语音入口相关的规则的非编程开发中使用的一示例图形用户界面搜索数据编辑器窗口;
图15是在与图1的语音入口相关的规则的非编程开发中使用的一示例图形用户界面窗口;
图16是图15的图形用户界面窗口的扩展形式;
图17是在与图1的语音入口相关的规则的非编程开发中使用的一示例图形用户界面窗口;
图18是在与图1的语音入口相关的规则的非编程开发中使用的销售商表格选项的一示例图形用户界面窗口;
图19是在与图1的语音入口相关的规则的非编程开发中测试URL的一示例图形用户界面窗口;
图20是在与图1的语音入口相关的规则的非编程开发中选择模式的一示例图形用户界面窗口;
图21是在与图1的语音入口相关的规则的非编程开发期间,被用来识别对多个页面的链接进行检测的模式的一示例图形用户界面窗口;
图22是在蜘蛛编程中使用的分级结构的图形表示;
图23是与图1的语音入口一道使用的蜘蛛编程的一示例图形用户界面窗口;
图24是图23的示例图形用户界面窗口的扩展形式;
图25是说明将信息汇合到图1的语音入口的统一数据库中的一示例过程的流程图;
图26是说明将信息汇合到图1的语音入口的统一数据库的另一示例过程的流程图;
图27是从一个给定项目的更完整信息的两个existant中创建规范existant的图形表示;
图28是从因特网源到图1的语音入口的用户的数据隔离和转换的一示例过程的第一部分的图表表示;
图29是图28的从因特网源到图1的语音入口的用户的数据隔离和转换的示例过程的第二部分的图形表示;
图30是说明图1的语音入口的示例操作流程的流程图;
图31是说明图30的流程图的一示例操作子系统的流程图;
图32是说明图30的流程图的第二示例操作子系统的流程图;
图33是说明图30的流程图的第三示例操作子系统的流程图;
图34是说明在图1的语音入口中汇集用户响应来确定想要的项目或服务的一示例过程的流程图;
图35是说明使用图1的语音入口进行交易的一示例过程的流程图;
图36A是说明利用图1的语音入口做广告的一示例过程的流程图;
图36B是说明利用图1的语音入口做广告的另一示例过程的流程图;
图37是说明图1的语音入口的一示例对话映射的流程图;
图38是说明图37的示例对话映射的一示例子系统的流程图;
图39是说明图37的示例对话映射的第二示例子系统的流程图;
图40是说明图37的示例对话映射的第三示例子系统的流程图;
图41是说明图37的示例对话映射的第四示例子系统的流程图;
图42是说明图37的示例对话映射的第五示例子系统的流程图;
图43是说明图37的示例对话映射的第六示例子系统的流程图。
示例实施例的详细描述
现在描述对在转换基于WEB的信息时使用的规则进行非编程开发的系统和方法。在下面的描述中,为说明起见,给出了许多具体的细节以便于彻底地理解本发明。然而,对本领域普通技术人员来说,没有这些具体的细节也可实施本发明是显而易见的。在其它情况下,众所周知的结构和装置以方框图的形式来表示,以方便对本发明的示例实施例进行描述。
本发明一示例实施例的一个方面是建立与要被识别的事物的属性对应的规则,以便具有能够获得网页信息的非编程手段的方法。该方法包括查找包含与想要的事物相关的信息的网页,选择一种格式(form)来覆盖找到的网页,该格式用与想要的事物的属性对应的规则来确定;以及根据该格式从找到的网页中提取信息。
本发明一实施例的另一个方面涉及对基于因特网信息和服务提供语音访问的系统。本发明一实施例的另一个方面涉及使用电话传送的语音在因特网上访问、处理、和进行交易的系统和方法。本发明一实施例的还一个方面涉及判定一个网站是否与另外一个网站具有相同信息的系统和方法。本发明一实施例的另一个方面涉及使用因特网语音入口发布广告的系统和方法。本发明一实施例的另一个方面涉及汇集因特网语音入口系统中的用户响应来确定想要的物品的系统和方法。本发明一实施例的另一个方面涉及转换和规范化系统地构筑的数据的系统和方法。
在一个实施例中,使用了具有中央处理单元(CPU)的计算机系统,该中央处理单元执行存储在存储器中的指令序列。更确切的说,指令序列的执行使CPU执行如下面所描述的步骤。这些指令可从只读存储器(ROM)、海量存储设备、或某些其它持续存储设备装入到随机存取存储器(RAM)供CPU来执行。在其它实施例中,硬连线电路可代替、或是和软件指令一道来实现本发明。因此,此处描述的实施例不局限于硬件电路和软件的任何具体组合,也不局限于计算机系统执行的特定指令源。
图1表示语音入口10和网络20之间的连接。在一示例实施例中,网络20是因特网,即一个使用TCP/IP网络协议进行数据传输和交换的世界范围的计算机网络。在替代的实施例中,网络20可以是任何种类的网络,比如,可以是一个虚拟专用网(VPN)。网络20最好提供与超文本标记语言(HTML)网页30和40的通信。网页30和40包含在不同网络服务器上的各种数据。网络20还提供与非语音入口50的通信,非语音入口50将计算机52和54以及包含数据库58的服务56连接到网络20。服务56可以是与网络20连接的任何类型的公司、内容或服务提供商。数据库58是一个数据存储媒体,它可以是光的、磁的、或其它合适的存储媒体。
一般来说,语音入口10被作为服务器的网络来实现。服务器可以用软件来构成。最好是这些服务器包括大量的包含磁盘驱动器和其它存储器的读/写存储器。一般来说,用户通过呼叫电话号码(使用简易老式电话业务(POTS))利用电话、例如蜂窝电话12或普通电话14访问语音入口10,这就在电话和语音入口10之间启动了通信。还可以使用其它类型的电话服务把语音或语音数据传送至入口10。入口10可以通过各种导线、网络、和中转站与电话12和14连接。最好语音入口10提供与用户的语音通信。语音入口10允许访问来自网页30和40以及其它通过网络20可到达的源的信息和服务。这种访问由语音入口10连续地检索、组织和存储来自各种网站和因特网服务的信息以快速和有效的方式来提供。还可以提供其它用户接口平台来使用语音入口10。这样的用户接口平台包括例如WAP(无线应用协议)和网络接口。
图2描述了由语音入口10执行的示例功能操作。这些功能可以用不同的方式实现,包括任何数量的物理结构。在一示例实施例中,语音入口10包括一个用户接口110、一个广告子系统120、一个顾客管理子系统130、一个existant子系统140、一个汇合引擎150、一个更新引擎160、和一个数据库170。
用户接口110协调语音入口10和用户之间的语音通信。用户接口110可以借助于语音、因特网,或借助于“万维网”(WWW),也可以借助于无线应用协议(WAP)接口或借助于任何其它平台接口。在一示例实施例中,用户接口是面向语音的。在这样一个面向语音的实施例中,用户接口110使用基于词的自动语音识别(ASR)来尽可能的接受用户输入。用户接口110可以使用语音识别软件包,如位于麻省波士顿的Speech Works国际公司(Speech Works International)提供的Speech Works。为了达到高速率的语音识别,用户接口110最好采用过滤处理,这种过滤处理过滤对于一组可识别答案的用户响应。将参考图34对过滤做进一步的说明。当不能提供基于词的ASR时,用户接口110还可以使用基于拼写的ASR来接受用户输入。最后,仅当它对用户有利时,用户接口110才使用数字键盘输入来接受用户输入。这种键输入使用电话12和14上的按键(图4)。
在一示例实施例中,用户接口110执行下述任务中的一个或多个:(1)用电话号码或其它用户特定的信息识别用户。(2)在给定平台上为给定用户开始一个新的会话期。(3)在给定平台上为给定用户增加一个新的交互。(4)在语音入口10可提供的感兴趣的纵向域集合中更新用户的优先选择。(5)对那组感兴趣的纵向域激活或取消用户的优先选择。(6)普遍地或在特定纵向范围内更新用户的专业级别。(7)更新用户的人口统计或个人信息(包括信用卡信息)。(8)用用户接口特定信息更新用户的会话期状态。(9)在数据库中增加新的信用卡。(10)用新信息更新已有的信用卡。(11)用信用卡类型和卡号识别信用卡并检查它是否已经在数据库中。(12)设定用户可用的纵向域列表及其顺序。(13)正常终止用户会话期。(14)通知顾客管理子系统130用户会话期被非正常地中断至某种确定状态(如呼叫中断、会话期时间到)。(15)确定在某一平台上最新的用户会话期,以便如果会话期非正常终止(如呼叫中断、会话期时间到),能够恢复会话期,并返回到已被保存的会话期状态。用户接口110能够执行与识别、会话期、用户、以及支付协议相关的其它功能。
广告子系统120在通信会话期中协调与要提供给用户的广告相关的活动。在一示例实施例中,广告子系统120包括各种广告,如赞助广告、针对特定用户的广告、只在用户的确认请求之后才进行提供的基于允许的广告。在一示例实施例中,广告子系统120提供以下一个或多个功能:(1)根据用户、会话期、地点、内容、以及调查的项目选择一个要播放的广告。(2)记录一个广告已经播放过,以及它是否播放完了。(3)记录做过说尽(speak-through)(即像下面描述的,用户选择的希望对某个广告主题听到更多的广告)。(4)在粒媒中存储顾客和会话期信息,这样就不需要重复的数据库呼叫。(5)为一个提供广告的公司创建记录,而且可以识别一个这样的公司。(6)创建一个广告和一个要存储在数据库中的广告合约(一个广告可能在系统中有不同的可用的合约)。(7)为了广告销售的目的,创建一个新的销售员工或雇主的联系方式。(8)更新一个广告,以及/或者那个广告的合约。(9)更新一个广告公司,改变联系信息和地址信息。(10)更新销售员工和雇主的联系方式。(11)将一个广告放入/移出一个活动列表。(12)根据外部信息标记广告合约是否完成。(13)根据广告种类显示活动的广告列表。(14)根据非活动的、活动的、未完成的、完成的、或简单的根据全部广告的标准显示和一个公司相关的广告列表。(15)根据上述标准显示和一个广告相关的广告合约列表。(16)根据上述标准显示和销售员工有关的广告合约列表。(17)通过简单的传递一个唯一识别码检索一个员工、公司、广告、或者广告合约的完整列表。(18)用相近字符串匹配对员工、公司、广告、和广告合约existant搜索数据库。(19)跟踪对某一特定合约给公司的付款的递送,以及能够更新公司的结余。(20)搜索更新日志,来确定不存在数据完整性问题。(21)为一个特定的类型创建并修改需要存储的广告播放列表。
可以使用许多不同的方法来完成这些操作中的任一个。广告操作将参考图36进一步说明。广告子系统120可以执行与识别、会话期、用户、和支付协议相关的其它功能。这里说明的做广告的技术也可以用一个传统的个人计算机(PC)接口网络连接实现。
顾客管理子系统130协调与用户相关的信息管理和用户对语音入口10的使用。在一示例实施例中,顾客管理子系统130获得关于用户的信息,如优先选择和统计信息,这些都被用户界面110、广告子系统120、以及语音入口10的其它功能所选择使用过。顾客管理子系统120可以执行与识别、会话期、用户、以及支付协议相关的其它功能。虽然子系统110、120和130是分别描述的,但他们每一个的运行可以集成在一个单一单元中,而不违反此发明的原理。
用户接口(UI)110和顾客管理子系统130协同操作来对提供纵向域的选择和对基于因特网信息的访问。纵向域对不同的字段和区域进行分类,用户可以在语音入口10中对这些字段和区域进行选择。为了使UI110有效地与用户通信,要主动或被动的确定和理解某种优先选择和用户事实。顾客管理子系统130将这些信息存储在数据库170中。另一种替代的做法是用一个单独的顾客数据库来保存这些信息。
顾客管理子系统130从UI110中获得确定顾客优先选择和事实所需要的信息。UI110将数据传递给顾客管理子系统130,顾客管理子系统130处理它,然后将其转送到至少一个数据库中。还有,在existant子系统140中更新优先选择来作进一步分析。然后,existant子系统140将诸如用户优先选择和事实的信息传回给UI110。
最好是,顾客管理子系统130在没有使响应时间太长的情况下可更改,而且可扩展。这样一来,在语音入口10中增加新的纵向域的过程就是快速而且一致的。由于新的纵向域总是要添加的,所以顾客事实和统计信息的类型永远不可能完全定义。
顾客管理子系统130利用数据库记录已注册和未注册用户所执行的所有交易。顾客管理子系统130还记录了在形成的历史列表中用户确定的项目,并且追踪用户(在web站点上或通过WAP设备)看过的集合。
顾客管理子系统130一有可能就识别注册顾客,并尽可能被动地这样做。因此,最好是通过某种识别键,如进入一个系统的一个电话号码和一个ID(“PIN”)来识别顾客。这个识别最好指向和顾客相联系的特定优先选择和在每个优先选择集中的顾客体验级别。另外,系统在根据存储的信用卡信息授权进行头卖之前,允许一个附加级的识别(比如,密码识别)。
顾客管理子系统130通过在每一个纵向域中维持一组优先选择来方便通过语音入口的用户交互。例如,在一示例实施例中,顾客管理子系统130从顾客处收集信息,来进一步确定要提供给顾客什么类型的广告,以及如何提高顾客服务。顾客管理子系统130维持适合于每个支持域的顾客优先选择,而且动态地更新数据源中的顾客数据。例如,在感兴趣的拍卖域,根据用户要求更新当前投标状态。语音入口10最好用适合于该域的货币提供用户数据。例如,在感兴趣的拍卖域,出价总是在几秒内就被更新成最新的。在感兴趣的电子商务域,当购买价格给出时,价格信息是最新的。
最好是,顾客管理子系统130提供报告和分析来允许判定哪个用户要访问哪种服务。再者,顾客管理子系统130通过不同的统计信息段提供关于会话期和交易历史的报表,如决定从某一收入组类、某一性别、或年龄组中的用户访问何种信息。顾客管理子系统130也提供根据实际使用的关联性报表(如,报告对电影感兴趣的用户访问了其它哪些服务的能力)。
为了持续地从一个平台向另一个平台增加用户的值和转换(例如从电话向网络,或者从电话向WAP),顾客管理子系统130最好用服务来提供个人化的特性来改善增加顾客体验。除了个人化之外,其它的“粘着性”源(考虑到竞争顾客对服务的“粘着性”)包括团体特性的支持,比如有共同爱好的网络朋友。因此,如果在顾客管理子系统130中包括个人特性和团体特性的话,顾客对特定的服务提供商就会越来越忠实。
为了支持服务(或广告)对顾客行为的任何适应性,顾客管理子系统130最好跟踪服务的使用情况。此外在接口评估区域中,接口分级的示例的用户发掘可有助于识别问题领域或很有用的领域,或是识别在一个会话期中子特性的相关集合。语音入口10服务的另一个重要特性是及时性。例如,“闯入(barge-in)”的使用(在一串提示结束之前用户可利用答案进行中断)能够表明更高级的用户,对为特定用户重复的一单独子树的一串闯入选择可由顾客管理子系统130进行检测,并导致了使用快捷键的可能,一个通用的或者可能是顾客特定的快捷键。
“粘着性”的一个方面是使服务适应用户的优先选择。虽然这种适应可包含相对简单的特性,比如支持非重复的“登陆”或“买卖”数据输入需求的顾客信息保持,但还可包含在不同的前端浏览特定的交互子树的优先选择,以及对服务/销售商排序或选择的优先选择。作为销售商优先选择或排序的一个例子,用户可选择“首选的销售商”,它允许语音入口10把找到的产品的一系列销售商限制为两个:最便宜的和首选的。
纵向优先选择应被动地根据用户行动来设定。就是说,在请求特定属性一次以上后,就将设定一个被动的优先选择。或者,优先选择是动态的,根据用户的动作改变。更好的情况是,用户能够用通过语音或网络接口设定或重新设定优先选择来覆盖所有被动的优先选择。
顾客管理子系统130可以从个人网页诸如MyYahoo、MyExcite中找出用户的优先选择,如股票信息、偏爱的天气等。个人网页可以通过一个传统的因特网连接由用户提前创建好。或者,个人网页也可以由顾客管理子系统130响应用户语音命令来建立。然后可将这些网页变换成供语音入口10使用。如果特定的纵向优先选择和当前调用优先选择不存在,最好将普通的优先选择作为默认的优先选择。
下面是一个示例的纵向优先选择的需求和它们的描述的列表。每个优先选择在每个接口上都被不同地使用。在一示例实施例中,对天气来说,唯一的优先选择是顾客要求的地点的天气。默认情况下,用户的地点是他们的邮政编码。如果能够得到的话,最常用地点被当前调用地点覆盖。
在感性趣的运动域,我们要查看几个不同的优先选择。第一,最喜欢的运动是一个选项。可以发送给用户某个运动成绩、时间表、和比赛结果。对于网站来说,可以使用排除法不发送某项运动的广告和信息。例如,一个用户可能不希望听到关于曲棍球的信息,而希望听到棒球的信息。第二,如果更喜欢某个队,则要增加优先选择的粒度。每一个粒度中,都可以使用最近使用(MRU)的限定选项列表来确定优先选择列表。除了运动和队的优先选择的类型外,还可以使用优选的事件。
在感性趣的电影域中,需要的优先选择包括顾客所在地点和戏院所在地点、电影的类型(如惊险片、恐怖片、动作片等)、电影等级(AA、G、R等)、以及有顾客最喜欢的男/女演员的电影。这些优先选择中的每一个都可能列在限定选项的一个MRU列表中。
在感性趣的交通域中,使用的主要的优先选择应该是顾客愿意使用的能够达到目的地的特定路线,它的一个属性是时间(当前是默认的)。因此,限制的路线的MRU列表会组成顾客的优先选择列表。
在一示例实施例中,感性趣的股票域有一个两层的优先选择层次。第一,有一个市场列表的优先选择;第二,在每个市场中,有一个要查看哪个股票和索引的优先选择。再一次,可能把市场和股票的TBD选项的MRU列表制成表格。感性趣的其它纵向域可能包括饭店、音乐会、和现场事件、出租车、以及飞机预订。
仍然参考图2,existant子系统140协调用户接口110、广告子系统120、顾客管理子系统130、汇合引擎150、和更新引擎160对数据库170的访问。Existant子系统140处理在数据库170中的数据结构的创建、修改和操作。在数据库170中的数据是由更新引擎160从因特网源收集来的。在一示例实施例中,在数据库190中使用的数据结构是基于existant或事物的分级,以及他们相互之间的关系和联系。有利的是,因为数据库170只与existant子系统140交互,所以复制和修改数据库170中的信息是比较容易做到的。Existants和它们的创建将参考图4-10进一步描述。具体来说,虽然对于existant可以使用其它不同的结构,但将参考图4-6来描述existant的一个示例数据结构模型。Existant的创建和更新将参考图7-10来说明。
汇合引擎150判定两个existant是否一样,如果一样,将existant汇合形成一个第三规范existant。这样一来,汇合引擎150确定了从一个源收集到的信息是否与从另外的源收集到的信息相关或相同。汇合引擎150的功能将参考图25、26和27进一步说明。
更新引擎160从因特网检索信息来更新在数据库170中的信息和属性。在一示例实施例中,更新引擎160使用“蜘蛛”来从因特网检索信息以更新数据库170中的信息。更新引擎160的操作将参考图7和8进一步描述。
数据库170存储语音入口10使用的信息,如顾客数据、广告信息、以及产品和服务信息。数据库170中的信息存储在existant、existant属性、existant关系、和existant联系中。什么是existant,它们是怎么形成的,它们是怎么互相关联的,它们是如何与语音入口10的功能相关的,将在下面进一步描述。在另外一种实现中,对特定类型的信息,如顾客数据、广告信息、和操作记录,可以使用不同的数据库。
图3阐明了语音入口10的示例物理设计。这些物理结构仅仅作为例子。其它结构可与所示的这些结构组合在一起使用或代替所示的这些结构。在一示例实施例中,语音入口10包括前端服务器210、前端到后端网络220、后端服务器230、和后端网络240。用户通过电话与前端服务器210中的一个进行通信,该前端服务器通过前端到后端网络与后端服务器连接起来。
在一示例实施例中,后端服务器230包括一个代理管理器245、代理250、粒媒260、和数据库270。通过前端到后端网络220,代理管理器245从前端服务器210中的一个接受信息请求。代理管理器245通过后端网络240通信,决定每个代理管理器245上的工作负荷级别。一旦决定了合适的代理管理器245,适当的代理管理器245从免费代理250池中取得一个免费代理,并且将代理分配给一个粒媒260。粒媒260与数据库270相联系来检索信息、插入信息、搜索existant或existant关系、或用数据库270执行其它可能的功能。
 参考图3描述的虚拟数据库结构要设计成以一个及时、高效的方式,递送从因特网20到语音入口10的用户储存的信息。人们以不同的设置和方式需要和使用信息,而且最好是,语音入口10在包括但不限于电话(例如,语音、WAP和这两者)、网络、和轻便连接计算设备(例如,Palm操作系统设备、WinCE设备、RIM寻呼)的各种平台上对此提供支持。
后端服务器230包括一个拥有不同特性的数据库服务支持,包括数据收集和汇合。数据收集包括以定期间隔从因特网源收集数据来对特定的项目类型和/和站点安排,就像参照图7和8描述的一样。语音入口10检测数据源站点的变化,然后通知合适的站点规则管理器,就好像参照图9和10描述的一样。语音入口10也支持为数据源的数据抽取的非专业定义,就像参照图9和10描述的一样。
在“汇合”的过程中,语音入口10识别不同因特网销售商的相同的项目。在汇合过程中,语音入口10保持有关所有信息源的元数据。元数据包括关于数据的数据。例如,元数据会提供关于数据元素和属性的数据的证明(名字、尺寸、数据类型等),以及关于数据记录或数据结构的数据(长度、字段、栏等),以及关于数据的数据(它所在的位置、它如何联系的、所有权等)。而且,在不能自动决定确定度的情况下,语音入口10支持非专家作出的汇合决定或非决定的交互分类。语音入口10在没有改变代码的情况下,也支持增加新的数据类型和数据元素。再者,语音入口10支持相关性域特定的概念,这种相关性要通过市场调查、试验、和机会识别。例如,在感性趣的电子商务域,更便宜、更好、经常购买、和最流行,这些都是重要的相关概念。在感性趣的电影域,相关的电影和产品、以及目录中最好的电影、观看者认为最流行的、最好的、以及演员表,都是最重要的相关概念。语音入口10收集和保持有必要提供关于一个项目(如产品描述)的附加细节的相关信息。汇合的操作和功能将参考图25-27进一步描述。
图4描述了语音入口10的数据库170使用的示例数据结构模型300,在数据库170中existant(或事物)要给出属性、关联、和关系。Existant之间的“继承”关系由带有一个三角头的实线来描述。Existant之间的“关联”关系由带有一个开放头的箭头的虚线来描述。举一个继承关系的例子,在数据结构模型300中,方框310是一个“事件”。一个“事件”是一个“existant”或事物,由三角头的箭头315指向方框320来描述。相似的,“演电影”(方框330)是一个“事件”(方框310),由三角头的箭头335来描述。举一个关联关系的例子,事件与“地点”相关联,就像由开放头的箭头345指向方框340描述的一样。相似的,演电影(方框330)与“电影包”(方框350)相关联,这由开放头的箭头355显示。事件也可以是运动事件、戏剧、音乐会、喜剧演出、放焰火、舞蹈表演、或其它的活动。
数据结构模型300包括更多的existant、联系、和关系,这是由图4显示的,但是没有在这里描述。而且,数据结构模型300可能还包括没有包含在图示中的更多的existant、联系、和关系。图4只是图示用的。
现在参考图5,一示例数据结构模型400表示了在用户或顾客对象和不同纵向类之间的面向对象的关系。继承和关联关系的描述与图4所示描述的数据结构模型300中的描述是一样的。在一示例实施例中,在数据结构模型400中排列的用户信息放在数据库170中。然而,在一替代实施例中,这些用户信息可放在一个单独的顾客数据库中。
顾客是一个existant(顾客existant方框402),在分级结构中是顶层的直接派生,或是说“existant”的existant,因此就继承了它所有的属性和方法。这个结构背后的原因是已经创建了数据库170和它的方法,而且这个结构允许重用代码。
顾客对象包括不同的信息。类属优先选择类包括关于优先选择的信息,如“交通”、“天气”、以及“电影”。每次顾客输入一个新的、不同的感性趣纵向域,就会创建一个纵向域名的优先选择对象的例子,优先选择数据插入其中。如果这个纵向域已经存在了,那么用更新的信息修改对象。
会话期类记录下直接有关用户会话期(会话期方框404)的信息。会话期可能是一个呼叫、对网站的一次搜索、或是使用WAP的一个呼叫。数据,如时刻、持续时间是普通的属性,但是对于用户是从陆上通信线还是从程控电话打来的电话的分析对电话会话期来说是特定的。这种类型的数据对决定语音入口10直接与谁交易(出于广告的目的),以及提高性能和服务都是有用的。另外,顾客对象和这些会话期对象的每一个都有一个连接,以便确定在这个平台上最后一个会话期是什么(如果用户终止了这个会话期并希望在那一特定时刻重新连接)。
电话会话期方框408记录和通信会话期相关的信息,在该通信会话期中,电话被用来与入口10进行通信。电话会话期方框408包括信息,如交互的当前级别、感性趣的当前域、接口平台的类型(如WWW、WAP、ASR)、以及前次的访问级别。最好是,电话会话期方框408允许用户重新加入一个他或她在前次会话期或从被中断的会话期中停止的会话期。其它的existant方框,如信用卡信息existant、位置existant、以及优先选择existant包含需要的关联属性和记录信息。
专家类(专家方框406)起(以类属的方式并为不同的优先选择)维持跨不同平台(如Phone、WAP、WWW)的不同级别的可用性服务。顾客与这些类的例子中每一个都有连接。这些不包含在优先选择集中,因为优先选择可以跨平台,但用户无跨平台的能力。
图6描述了被语音入口10的数据库170用作与广告相关的信息的示例数据结构模型450。继承和关联关系的描述与图4中数据结构模型300描述的一样。在一示例实施例中,排列在数据结构模型450中的广告信息放在数据库170中。然而,在一替代实施例中,这些广告信息也可放在一个单独的广告数据库中。
最好是,数据结构模型300、400和450提供了一个关于existant、关联、和关系的信息的持续的扩展排列。进一步说,模型300、400和450允许迅速的创建新的感性趣纵向域,而不改变以前输入的信息。例如,模型300包含与事件相关的信息,如电影和音乐会以及日用品,再如书、玩具、以及电子产品。任何事件,如芭蕾,可以很容易的作为由“事件”继承关系的一个existant增加进去。相似的,任何日用品,如车辆可以很容易地作为由“制造项目”的继承关系和适当的关联关系的一个existant加入进去。数据结构300、400和450的动态特性和可扩展能力就使得语音入口10成为大量基于因特网信息和服务的单一语音入口。
图7描述了一个existant、比如在示例数据结构模型300(图4)、数据结构模型400(图5)、以及数据结构模型450(图6)中显示的existant的示例创建过程的流程图700。在步骤710中,找到一个在因特网上的网页。在一示例实施例中,使用蜘蛛来找到一个与预定义范畴的项目相关的特定网页。蜘蛛是一个传统的已知程序,它可以通过检索文档以及递归地检索一些或所有被其标引的文档来自动地探索世界网(WWW)。相反的,一个普通的由人操作的网络浏览器不能自动地跟踪除行式映象和URL重定向外的链接。在执行了步骤710之后,要执行步骤720,在步骤720中用选定的方式识别找到的网页上的信息,这种选定的方式对页进行覆盖来滤除特定信息。在步骤720之后,执行步骤730,在这一步骤中,使用规则来识别在步骤720中用形式覆盖检索到的信息的特性信息或属性。特性信息或属性定义什么是existant。规则定义了existant属性的组织。例如,电影existant可能包括名称、导演、演员表、发行年份、及提要的属性。
在执行了步骤730之后,执行步骤740,在这个步骤中,属性都组织在existant中,existant储存在数据库170中。最好是,在existant中的属性的组织和安排由预定义规则来构筑。
图8描述existant的示例创建过程,与图7描述的一样。蜘蛛810为了存储在大范围的不同网页的信息而遍历因特网20。由蜘蛛810检索到的信息是根据规则820组织和排列的,用来在数据结构830中放信息。在一示例实施例中,蜘蛛810从关于电影的因特网20中检索信息。例如,蜘蛛810可能遍历IMDB网站,并且检索关于名称、导演、演员表、发行年份、以及一个特别的电影的放映时间的信息。一旦电影信息存储在数据结构830中,数据结构830就会应用于词汇表840。词汇表840组织放在数据结构830中的属性,在三列中放置信息。在一示例实施例中,词汇表840的第一列包含原始数据,第二行包含规范化的、标记形式的原始数据,第三行包含可搜索的、混合形式的数据。词汇表840和数据结构830包含在数据库170的存储结构中。
举个例子来说,如果蜘蛛810就与电影“Raiders of the Lost Ark”相关的信息遍历因特网20,从因特网20检索到的数据将应用于相应的电影规则,并且放在数据结构830中。这样的一条关于电影的规则可能包括名称、导演、演员表、以及发行年份,所有这些都是电影的属性。在这个例子中,名称是“Raiders of the Lost Ark”,导演可以是“StevenSpielberg”,演员表可以是“Harrison Ford和Karen Allen”,发行年份是“1981”,放映时间是“115分钟”。这样一来,词汇表840可以用原始形式包含名称:“Raiders of the Lost Ark”,用规范化的、标记形式表示的数据:<title>Raiders of the Lost Ark</title>,以及用可搜索的、混合形式表示的数据:RaidersLostArk,没有任何空格和定冠词
(如the,a,an)。
图9是描述一个使用非编程方法收集基于因特网信息的示例过程的流程图900。在步骤910中,找到一个搜索页,并且使用模式来隔离包含相关信息的页上的区域。执行步骤910之后,执行步骤920,找到一个适当的形式,并且调用特殊的例程来抽取实际的数据和信息。在步骤920之后,执行步骤930,给定一个特别页,找到相关信息的多个页。除了数据特定的模式之外,还有一个定义数据特定模式在一个特定页中将对哪里操作的区域模式。在步骤930执行之后,执行步骤940,在这一步中找到在多个页上指向更多产品和服务列表的链接。在一示例实施例中,使用一个预测例程来从代码样本计算产品列表的实际模式。
一般来说,预测例程从规则制订者给出的希望得到的输出计算出一个模式。最好是,模式预测例程提高了生产率,因为规则制定者必须从HTML代码中拷贝他或她想要抽取的文本片断,而不用开发这些模式来实现。当前使用的写模式的输入字段用来插入这个数据。
举个例子来说,预测例程开发一个模式,它为网页的作者数据给出关于书籍的数据,这是有首先使规则制订者强网页上的一个样品作者名考报到作者字段中来实现的。然后,算法将样本数据与在网页上它的位置相匹配。和匹配数据最近的字符或者标记叫做“前缀”和“后缀”。前缀是匹配数据之前的字符,而后缀是匹配数据之后的字符。前缀和后缀用来构造一个模式。
这个构造好的模式应用到网页上,来对其它数据进行匹配。如果构造好的模式找出的是与希望得到的结果不同的数据,那么用来开发模式的前缀和后缀要增加进去,为得到一个更完整和更准确的模式。这个过程不断重复来提高模式。
为进一步说明这个例子,看下面的HTML代码,它是从给出关于书籍的产品数据的网页得到的:
<html>
<title>Programming Perl</title>
written by<b>Larry Wall</b>
</html>
<html>
<title>Learning Perl(<b>2nd edition</b>)</title>
written by<b>Randal Schwartz</b>
</html>
规则制订者在作者字段中找出“Larry Wall”来指示这对于作者来说是要抽取的数据。
模式预测算法粗略的按照下述方法工作:
n=1;
repeat
$page=~m/({.}n)Larry\s+Wall({.}n)/x;
$prefix=$1;
$suffix=$2;
$page=~m/$prefix(.*?)$suffix/x;
n=n+1;
until($1eq<desired_data>);
在第一页从n=1开始,算法匹配“>Larry Wall<”,这意味着$prefix得到了值“>”,$suffix得到了值“<”。接着,模式预测算法使用从第一步得到的$1和$2的值构造模式“>(.*?)<”。将这个模式与网页匹配,得到结果“>Programming Perl<”,它与希望得到的结果“Larry Wall”不同。因此,n增加到n=2,模式就改变成在前缀和后缀中包含其它字符。将网页与“({.}2)Larry\s+Wall({.}2)”相匹配,得到结果“b>LarryWall</”,这意味着$prefix得到值“b>”,而$suffix得到值“</”。接着,模式预告算法使用从第一步中得到的$1和$2的值构造模式“b>(.*?)</”。将这个模式与网页匹配,得到“Larry Wall”,就是希望得到的输出。
现在,当规则制订者搜查网页来将相同的模式应用于不同的页,他或她会发现模式匹配如下:关于书“LearningPerl”的页面上“第二版”。接着,规则制订者用给出第二个希望得到的答案的例子的方法来改进算法,(即,他或她将“Randal Schwartz”放入GUI的输入字段中),这将触发模式预测算法来进一步增加n,直到在创建<b>之前,模式成为“y”。算法可能执行几个递归,这依赖于网络数据和需要的模式的复杂性。
在执行步骤940之后,执行步骤950,在这一步中生成了一个销售商特定的数据抽取文件。在一示例实施例中,使用一个例程来从代码样本计算相关的URL。另外的情况下,计算URL的例程可以作为一个表来传递。在执行了步骤950之后,执行步骤960,这一步创建了一个高速缓冲寄存器。在执行了步骤960之后,执行步骤970,创建产品数据的抽取模式。在一个更好的实现中,衰退测试机制将支持编辑特殊的例程。
图10描述与语音入口10相关联的规则的非编程开发的示例过程。在一示例实施例中,从一组规则制订者1010中的一个规则制订者访问世界网(“WWW”)1020,来从数据源1030、数据源1035、数据源1040、或任何连接到WWW1020的其它数据源中的任何一个访问信息。从数据源检索到的数据是使用数据组织工具1025放置在数据结构中的。规则制订者1010用数据组织工具1025来将多个可能的形式中的一个通过WWW1020应用于可达到的信息“页”。这些形式为在页面上的相关信息的位置提供指示,并且用一些不同的标志来标记。例如,在WWW1020中提供的页可能包括一个在页的左上角的数据输入盒。而且,关于一个部分或服务的相关信息可定位在一个HTML标记、如在书名的“<title>”之后。
要指出的是,在这里使用的字“页”包括一个用户界面屏幕,或可以由一个诊断系统的用户看见的相似的东西,如提供数据、消息、记录等的图形或文本表示的屏幕。还有,这些页可能由标记语言或像Java、perl、java script或其它适宜的语言的程序语言来定义。
使用由从数据组织工具1025来的规则制订者1010、以及从数据源来的数据选择出来的形式,被组织进入数据结构1045、数据结构1050、数据结构1055、或任何维持信息的相似结构。数据结构1045、1050、和1055可能会在一个统一的数据结构1060的形成中比较、汇合或使用。统一的数据结构1060存储在数据库1070中。
更好的情况是,在图10中描述的示例过程允许非专家规则制订者1010来从数据组织工具1025中提供不同的形式中选择,以在从通过WWW1020的特别的可达的网络站点的信息检索里使用。这样一来,从数据源1030、1035、和1040得到的放在网页中的数据可以持续的用数据组织工具1025的规则制订者1010选择的形式更新到数据库1070中。在为了准确性的目的比较包含在数据结构1045、1050、1055中的信息时,数据组织工具1025就确定网页何时改变了格式或者在它们的相应网页上的数据排列。
图11-24描述了创建一条新规则的示例过程。进一步说,图11-24描述在规则制订者和数据组织工具1025(图10)之间可能的交互。一条示例规则是基于一条存在的规则:Amazon.com书籍产品。在构造这条规则中采取的步骤与在构造其它规则中采取的步骤相似。
图11描述了用于初始化规则820(图8)创建的一个图形用户界面(GUI)。GUI1110包括一个销售商窗口1120、一个蜘蛛选择窗口1130、一个查询窗口1140、一个状态窗口1150、一个搜索盒区域1160、和一个代码窗口1197。搜索盒区域1160包括一个滑动条1170、指右的箭头集1180、指左的箭头集1190、和一个搜索窗口1195。
为开始一个新的数据源,规则制订者在销售商窗口1120中输入数据源(如,Amazon书籍)。规则制订者按下‘Enter’键,并且单击‘New’按钮。这个动作执行之后,就会显示出由图12描述的图形用户界面(GUI)1200。规则制订者在确认数据源正确的列出之后,单击‘Done’按钮。接着,显示在图13中描述的图形用户界面(GUI)1300。根据选择的销售商名字显示出一个URL。要求规则制订者来确定正确的URL。在Amazon书籍的例子中,URL  http://www.AmazonBoook.com显示在GUI1300的窗口中。然而,URL链接应该读 http://www.Amazon.com。规则制订者更正URL,并且单击“done(完成)”按钮。
现在再参看图11,规则制订者选择希望得到的查询类型。第一,规则制订者选择查询窗口1140,并且从潜在的查询列表中选择。例如,“书籍包”可能是感性趣的书籍纵向域的一种可能的查询。当规则制订者在查询窗口1140中单击“SDE”(搜索数据编辑器)按钮时,这个搜索开始。SDE按钮触发一个搜索数据编辑器,它提供一个在图14中描述的图形用户界面(GUI)1400。GUI1400在搜索感性趣的特定的项目时显示可用的属性列表。例如,正在搜索的书籍中,诸如ISBN或UPC的这些属性显示出来。在为其它项目搜索时,列出和那个项目相关的属性。对“演电影”的搜索的结果时列出了一些属性,如电影包、时间、以及上映日期(见参考图4描述的方框330)。
规则制订者将ISBN数字输入到相关的数据盒中,并且单击‘Done’。更好的,在GUI1400中的按钮1430允许规则制订者来在不同的搜索中保存不同的搜索标准。一旦输入了搜索标准,规则制订者单击‘Done’,而且因为没有为特定的数据源(如,Amazon书籍)定义的规则,所以就出现了在图15中描述的图形用户界面(GUI)1500。GUI1500询问规则制订者是否想要增加一条新的规则或改变搜索数据。在这个例子中,规则制订者单击“add(添加)”按钮,并且GUI1500扩展,变成在图16中描述的图形用户界面(GUI)1600。
现在参看图16,规则制订者确定查询的正确类型被高光显示了。在这个例子中,ISBN被高光显示,并且规则制订者单击“yes(是)”按钮。在图17中描述的图形用户界面(GUI)1700用来指示规则制定者,Amazon书籍的主页被载入netscape浏览器。规则制订者被指示浏览与ISBN规则相关的网页。一旦搜索页载入因特网浏览器,规则制订者单击“done”按钮。
图18中描述的图形用户界面(GUI)显示了一个由规则制订者选择的形式选项。如果这个形式是正确的,规则制订者就单击“done”按钮。如果列出的形式没有给规则制订者需要的选项,规则制订者单击“next(下一个)”按钮来看看在页面上的其它形式。一旦找到一个匹配的页,就会显示一个如图19中描述的图形用户接口(GUI)1900。
数据组织工具1025(图10)显示在因特网浏览器中的结果页。如果页是正确的,规则制订者在GUI1900上单击“okay(确定)”。在图20中描述的图形用户界面会显示出来,并且询问如果搜索匹配到多个项目,怎样探测在页面上的单个项目。GUI2000页用来指示从哪里找到URL得到关于查询项目的细节。如果仅仅找到一个单个项目,规则制订者单击“defer(延迟)”按钮,因为没有显示足够的信息来构造常规表达式。如果找到了多个项目,将一个常规表达式输入到数据窗口2010中。例如,一个作者搜索可能会返回多个条目,因为一个单个的作者可能会写几部书。在其它情况下,尽管查询仅仅匹配一个条目,还是有必要遵循一个附加的URL链接来得到信息。
在图21中描述的图形用户界面(GUI)2100接着出现,被用来探测多个产品页。如果规则制订者直接到搜索的条目,就不需要信息来构造常规表达式。再参看图11,代码窗口1197由从检索页的HTML代码填充。在这一点上,规则制订者即将指定属性。属性由如下方法指定,在与它们的名字相邻的盒子中输入常规表达式。常规表达式必须指定在它当中的一个子串(使用括号),作为表达式的一个结果。例如,常规表达式:“这个(全部)匹配”会返回“全部”作为它的结果(假设常规表达式能够匹配)。例如,决定一个用来查找书的名字的模式需要规则制定者在搜索窗口1195中输入书的名字。可能会使用不同的HTML信号。在词之间需要“\s”符号来指示可能的空格空间。在搜索窗口1195中输入的搜索字符串的第一个匹配将高光显示在HTML代码中找到的第一个匹配。例如,名称可能在有一些附加信息的一对<title>标记中找到。书的名字的一个示例属性可能是“<title>([^<]*)</title>”。一旦属性输入了,就找到了对属性的所有匹配。
再参看图14,搜索数据编辑器1400由用来将值分配给依赖类型的属性的形式组成。状态窗口指示数据组织工具1025在做什么。在一示例实施例中,状态是空闲的,在因特网上运行查询,并且使用高速缓存。查询窗口1140允许规则制订者对有问题的数据源设置想要的查询类型,同时用SDE按钮设置搜索规则。
蜘蛛选择窗口1130允许规则制订者设置使用蜘蛛,如果不做查询搜索的话。在一示例实施例中,可能的蜘蛛类型是完整的、增长的、特殊的、和参考的。一个完整的蜘蛛找到所有和选择类型匹配的条目。增长的蜘蛛通常用来从因特网数据源找出数据更新。特殊的蜘蛛通常用来找到一些站点有的特殊的东西,如书籍的最好的经销商。参考的蜘蛛通常用来确定站点仍然存在,规则仍在使用。
销售商窗口1120允许规则制订者设置数据源为工作的。搜索窗口1195允许规则制订者保持在HTML代码中的文本被搜索。在代码窗口1197中,有一个光标来指示文本输入的位置。左箭头集1190包括一个第一数字,它是当从高速缓存运行时,搜索运行的起点。第二数字指示在高速缓存中的页的总数。当规则制订者从高速缓存运行时,这个窗口中的箭头集控制从哪个页开始。右箭头集1180包括指向滚动过的检索页的箭头。
蜘蛛和查询很相似,但是它们在没有其它规则适用的时候才被调用。蜘蛛负责收集网站上与特定类型匹配的关于任何对象的信息。蜘蛛由几个嵌套循环组成,每个都被设计成进入层次的更深的一层。现在参考图22,它显示了一个示例的蜘蛛层次2200,它是一个书籍蜘蛛,层次2210是起始页,层次2220代表书的分类页,层次2230代表书的子类别页,层次2240代表书的页。
现在参看图23,一个图形用户界面(GUI)2300用来检索一个页的URL,使之与一条蜘蛛规则相关联。一个蜘蛛深度滑动规则允许规则制订者告诉数据组织工具1025到达实际的产品页需要多少个链接。上层边界滑动规则允许规则制定者确定对于蜘蛛来说有多少个条目的限制。一旦选择了URL,就选择了一个蜘蛛深度和一个上限,规则制订者单击“done”按钮。就会显示出由图24描述的图形用户界面(GUI)。规则制订者为蜘蛛输入搜索模式,用与图11描述的为查询目的而输入的搜索模式相似的方法使用这个。一旦输入了模式,规则制订者单击“build”按钮,蜘蛛就会开始运动。
最好是,由图11-24显示和描述的图形用户界面允许非专家规则制订者执行数据搜索,创建用于信息检索的规则形式。一旦创建了形式,它就可以经常的用来收集更新信息。此外,形式对检索大量的在销售商网站上可得的信息是很有用的,这种检索有网站的销售商使用与排列相符的普通形式,以及信息的显示来完成。最好是,非专家的规则创建形式提供了更新网站可用信息的更低的费用。进一步说,这些形式更好的将准确的检索基于因特网的信息自动化。
图25描述了在数据库中汇合信息的示例过程。在由图25显示的一示例实施例中,流程图2500描述了一个简单的汇合过程,或者叫“快速汇合”,它由汇合引擎150(图2)执行。在步骤2510中,更新引擎160从网络20接受信息,将信息通过existant子系统140放入数据库170的一个existant数据结构中。汇合引擎150通过访问数据库170的existant子系统从更新引擎160得到对existant的访问。在执行了步骤2510后,执行步骤2515,在这一步中,汇合引擎从与在步骤2510中检索的existant相符的属性定义表中收集确切的汇合属性。在执行步骤2515之后,执行步骤2512,汇合引擎将从数据库170中检索到的existence的每个汇合属性混合起来,成为一个容易比较的形式。在一示例实施例中,“混合”形式去掉了空格、前置词、和其它一些非关键词。最好是,“混合”格式提供了快速搜索的能力。
在执行完步骤2520后,执行步骤2525,汇合引擎150形成一个数据库查询,在这个查询中,数据源设置为“相同”,状态设置为“规范的”。这个查询的意图是从匹配当前信息的相同数据源文件中找到一个已经存在的规范的existant。在执行完步骤2525后,执行步骤2530,在这一步骤中决定是否在数据库170中找到一个匹配。如果在数据库170中根据步骤2525的查询找到一个匹配,执行步骤2535,放在数据库170中的existant被更新。
如果在数据库170中没有从步骤2525的查询中找到匹配,执行步骤2540,在这一步中重做步骤2525,将数据源设置为“相同”,状态设置为“非规范的”。这个查询的意图是从与当前信息匹配的相同的数据源文件中找到一个已经存在的existant。在步骤2540之后,执行步骤2545,决定在数据库170中是否找到从步骤2540重查询后的一个匹配。如果找到一个匹配,执行步骤2550,更新在数据库170中的existant。
如果在数据库170中没有找到匹配,执行步骤2555,重做查询,数据源设置为“任何”,状态设置为“规范的”。这个查询的意图是从与当前信息匹配的任何数据源中找到一个已经存在的规范的existant。在步骤2555之后,执行步骤2560,决定在数据库170中是否找到一个匹配。如果在数据库170中没有找到匹配,执行步骤2565,将existant加入到数据库170中。
如果在数据库170中找到一个匹配,或是在步骤2550执行之后,执行步骤2570,决定匹配是否是一个系统existant。如果匹配是一个系统existant,执行步骤2575,更新系统existant。如果匹配不是一个系统existant,执行步骤2580,形成一个规范的系统existant。在执行完步骤2580之后,执行步骤2585,将existant加入到数据库170中。在步骤2585之后,执行步骤2590,更新汇合表。
最好是,由图25描述的汇合数据库中的信息的示例过程提供了对不同网站的信息比较。这样一来,就可以判定一个网站是否包含与另一个网站相同的信息。更进一步,在语音入口10的数据库170中的信息可以持续的从基于因特网的源增加信息、关系和信息的关联,这些源提供了从数据源检索到的信息的更大的可用性。
图26是了一个描述在汇合的示例过程中使用的步骤的流程图2600。在参考图26描述的示例过程中,显示了一个汇合过程,它比在参考图25描述的流程图2500显示的汇合过程更全面。在步骤2610中,汇合引擎150从数据库170中读一个属性定义表。在执行了步骤2610后,执行步骤2615,汇合引擎150对每个需要高级汇合的existant类型,读汇合控制语言文件。在执行了步骤2615后,执行步骤2620,汇合引擎150将汇合文件编译成一个中间计算机代码。在执行了步骤2620后,执行步骤2625,汇合引擎150将先前汇合的existant放入存储器中。在步骤2625之后,执行步骤2630,汇合引擎将属性收集到一个等价集中。在步骤2630之后,执行步骤2635,判定一个属性是否是文本的。如果汇合引擎150判定属性不是文本的,则执行步骤2640,这个值被索引。如果汇合引擎150判定属性是文本的,执行步骤2645,汇合引擎150在属性中索引子串的出现。
在步骤2645之后,执行步骤2650,汇合引擎150判定文本是否被结构化。如果判定文本没有被结构化,则执行步骤2670。如果判定文本被结构化,汇合引擎150识别位置以及在步骤2655中隔离的文本结构段。在步骤2655之后,执行步骤2660,汇合引擎150分析隔离的部分以及识别语义信息。在步骤2660之后,执行步骤2665,汇合引擎150索引语义信息。在步骤2665之后,执行步骤2670,汇合引擎150执行有效性检查来证实数据库170的完整性。在步骤2670之后,执行步骤2675,汇合引擎150检索被汇合的existant。
在步骤2675之后,执行步骤2680,汇合引擎150激活汇合标准以及与existant类型相符的匹配程序。汇合标准和匹配程序包括参考图10描述的那样建立的existant规则的使用。在步骤2680之后,执行步骤2685,汇合引擎150从汇合标准和匹配程序中执行第一汇合规则并且返回所有的匹配。在步骤2685之后,执行步骤2690,判定是否找到一个可接受的匹配。在一示例实施例中,一个可接受的匹配是这样的,在它当中,属性的预确定百分比(如70%)是普通的。在另外一种实现中,一个可接受的匹配是这样的,在它当中所有的属性都有相同的值。如果找到一个可接受的匹配,执行步骤2697,汇合引擎150将existant汇合在一起。如果没有找到一个可接受的匹配,执行步骤2691,执行下一个汇合规则,返回所有的匹配。
步骤2691之后,执行步骤2692,判定是否找到一个可接受的匹配。如果找到一个可接受的匹配,执行步骤2697,汇合引擎将existant汇合到一起。Existant的汇合包括创建新的existant,它与要汇合的existant相关联并且包含所有信息。如果没有找到一个可接受的匹配,执行步骤2693,判断最后一条规则是否测试。如果最后一条规则没被测试,则再一次执行步骤2691。如果最后一条规则被测试了,则执行步骤2694,汇合引擎150判定是否存在一个强的部分匹配。在一示例实施例中,强部分匹配指的是在某个百分比范围内,比如70%的匹配。如果存在强部分匹配,执行步骤2698,在这一步骤中推迟人工的检测。如果没有找到部分匹配,执行步骤2695,汇合引擎150拒绝汇合的创建,并且执行步骤2699来创建一个新的existant。
最好是,图26显示的在数据库中的汇合信息的示例过程提供从相同或不同数据源得到的信息的自动比较。这样一来,放在数据库170中的信息可以持续的更新,并且从其它数据源给出对信息的添加的关联性。进一步说,汇合允许一个更完全和健壮的统一数据库的编译,比在因特网上可达的成千上万个独立数据库要好。
图27描述了从两个数据结构中创建规范数据结构的示例过程。数据文件2700由一个唯一的标识数字识别,并且包含一个第一数据文件2710、一个第二数据文件2720,和一个规范数据文件2730。在一示例实施例中,第一数据文件2710包含与从IMDB(“因特网电影数据库”)(http://www.IMDB.com)检索到的特定电影相关的信息。第二数据文件2720包含从Reel.com站点得到的特定电影的电影信息。在由图27所示的例子中,数据文件2710包括名称“Boys of Arizona”,导演“Wiltz”,发行年份“1997”,以及大纲“great movie”。相似的,数据文件2720包括名称“The Boys of Arizona”,导演“Bob Wiltz”,发行年份“1998”,以及一个空白的大纲。
在创建规范数据文件的过程中,引入一个规则文件2740,它包括为特定的信息类型制订的规则。在图27所示的例子中,规则文件2740包括与电影属性相关的信息。通过应用规则2740,创建一个编年的数据文件2730,这是用如下方法创建的,从数据文件27和数据文件2720中得到最完整的名称,这个名称是从数据文件2710得到的:“The Boys of Arizona”。从数据文件2720得到导演信息,因为它比数据文件2710更完全,它包括导演的姓和名。对于列在数据文件2710和列在数据文件2720中的发行年份有一个冲突。根据优先信息,冲突被解决,这表明数据文件2720有一个更准确的发行年份。编年的数据文件2730包括数据文件2710的大纲,因为数据文件2720的大纲是空白的。
最好是,参看图27描述的编年的数据文件的创建过程用完整的、准确的信息来创建数据文件。进一步说,过程允许在不同站点间的信息的比较。更进一步说,编年的数据文件的创建过程允许在数据文件间增加相关和关联关系。
图28描述在从网络得到的数据隔离期间以及在数据库存储的数据转换期间执行的操作的功能图2800。这个示例过程包括从网络20抽取数据放入数据结构2810中,数据排列和组织在数据结构2810中。例如,与交通报表相关的数据可能从因特网抽取出来,用来包含关于一个描述、一条主路、一个交叉路口、一个时间、一个日期、以及一个严重比率的信息。数据结构2810用规则2815创建和组织,规则2815包括允许将数据排列和组织到数据结构2810中的文本模式和描述。数据结构2810存储于数据库的一个数据文件中。在数据结构2810中的数据执行一个转换,在这当中应用第一词替换的形式来创建数据结构2820。在词替换过程中应用规则2825来创建数据结构2820,包含转换表中的词汇条目。在交通报表的例子中,“Rd.”转换为“road”,“L”转换成“interstate”,“Rt.”转换为“route”。
接着,在数据结构2820中的数据被放在根据规则2835得到的数据结构2830的分析形式中,规则2835对传输数据应用属性词组文法。在交通报表的例子中,识别一个“方向”,诸如北、西、南、东,并且确定一个“高速路识别码”,比如“洲际的”或“高速路”。在数据结构2830中的数据接着应用词排列规则2845放在数据结构2840的一个重排列形式中。在数据结构2840中的数据被第二词替换形式操纵,并且应用从词汇转换表得到的规则2855放在数据结构2850中。例如,根据在词汇转换表中的它的局部识别码<street st.>或<city st.>,确定词“St.”不是“street”就是“saint”。
在执行了词汇转换之后,数据以非汇合的、规范化的、以及标记的格式放到数据结构2860中。数据结构2860最好是位于数据库2850中。规范化的和标记的格式指的是包含统一组织使得数据能够很容易被搜索、比较、和HTML标记的一种格式。经常的,HTML标记提供关于数据类型、它的位置、以及它的长度的信息。非汇合意味着数据没有经过如图25和26描述的汇合过程。
最好是,参照图28描述的数据隔离过程从网络取数据,并且在数据库中将它转换成一个规范化的、标记的格式。规范化的、标记的数据为组织、操纵、和汇合做好准备。最好是,数据隔离过程是统一的,它为从大量的数据源得到的数据服务。因此,一般来说,过程包括从因特网源得到数据,用得到的第一格式的数据创建第一数据文件,以及从得到的数据中生成词组,这些词组是域特定接口相关的第二格式。有很多应用可以用来将得到的数据转换出第一和第二格式。例如,文本模式、词汇转换表、属性词组文法、以及词排列规则都可能用来将得到的数据转换成为一个统一的可搜索的格式,这种格式存储在数据库的数据文件中,然后将存储的数据转换为接口特定的格式。在另一种实现中,可能使用其它模式、表、规则、以及数据操纵应用。
图29是描述通过一些用户界面平台(如WAP、Web、phone、ASR、TTF)从数据库170到语音入口10的用户的数据转换的功能图2900。在数据结构2860中的数据(也在图29中显示)放在数据结构2910的分析形式中,这是通过对规范化且标记的数据应用规则2915以及属性词组文法实现的。属性状态文法用规范化且标记的数据来创建包含识别的属性的敏感词组。然后,从数据结构2910得到的数据放到数据结构2920中,这是应用词替换的形式实现的,这种形式使用含有词汇条目转换表的规则2920。在一示例实施例中,规则2920的词汇条目转换表列出了与特定接口相符的数据输出结构。例如对WAP应用来说,词汇“route”转换为“Rt.”,对使用语音的电话应用转化为“Route”。相似的,对WAP应用来说,将词汇“U.S.”转换为“U.S.”,但是对使用语音的电话应用来说,转换为“you ess”。
从数据结构2920得到的数据放置在数据结构2930的重排列形式中,这是通过应用规则2935实现的,在规则2935中,根据使用的输出设备应用词替换规则。词重排列规则将词排列成最适合不同用户接口的形式。接着,在数据结构2930中的数据放在数据结构2940中,通过应用包括状态生成文法的规则2945在数据结构2940中生成句子。例如,可能生成这样的一个句子,“we have a<severity>traffic incident between<cross location>and<cross location>on<main road>.”。一旦数据是数据结构2940的格式,它就为不同的输出接口,如WAP、Web、电话以及ASR做好了准备。
最好是,参看图29描述的数据转换过程是一个取数据、并且为一个大范围的用户接口准备数据的统一过程。例如,过程允许从网络源抽取数据,语义上识别数据,通过语音接口为语音传输准备数据。同时,过程允许对WAP设备或网络应用准备相同的传输数据。
图30-33描述了证明在用户和语音入口l0之间的示例交互的几个操作路径。用户接口110最好使用特定的提示,指导用户说出适当的话,这由图32-33说明。
图30是描述示例系统总揽的流程图3000,包括代表语音入口10的不同功能的处理方框。在示例执行路径中,在方框3010中,语音入口10用“欢迎您来到由美国运通带给您的Quack,”问候用户。最好是,语音入口10使用呼叫者ID作为识别用户的方法。在更好的一种实现中,电话号码作为一个顾客属性存储在数据库170中。另一种实现,电话号码存储在顾客数据库中。语音入口10接着说,“嗨,Steve Woods。请说出你的PIN或者将它用数字键盘输入。如果你不是Steve,请说出或输入你的电话号码”。接着,用户口头上回应“5082”来给出他或她的PIN。一旦认证结束,语音入口10进入方框3020。在方框3020,语音入口10指示“你正在Quack跑道上。请说出以下列表中你感兴趣的类别的名称:电影、天气、交通、股票、以及运动。”用户回应以一个类别的名称或一个再见。如果回应的是一个类别的名称,语音入口10进入方框3030。如果回应的是再见,语音入口10就很好的退出。在示例回应中,用户说“天气”,语音入口就进入方框3030。在方框3030,语音入口10说,“欢迎您来到来到由天气频道带给您的Weather”,然后进入方框3040。在方框3040,执行对唯一的existant子系统的识别。
在方框3040之后,执行方框3050,判定是否在方框3040识别的唯一的existant子系统中找到了existant。如果没有找到existant,控制将返回到方框3030。如果找到了existant,则执行方框3060,在这当中执行找到的existant子系统(参看图33描述)。
现在参看图31,在方框3040中执行的识别唯一existant子系统(图30)包含方框3110,在这个方框中,数据库170为当前的纵向域(如天气、交通、电影)从属性依赖图中提供一个属性。如果在属性依赖图中没有其它属性,控制传递到方框3115,这里表明了一次existant搜索的失败。在做完方框3115之后,控制传递到方框3030(图30)。在方框3110(图31)之后,执行方框3120,从由数据库170提供的属性值集合中构造一个属性词汇表。在执行了方框3120之后,执行方框3130,语音入口10使用遵循方法N的自动语音识别(ASR)技术来获得用户对属性值提示的响应。例如,语音入口10可能会用邮政编码来请求用户的位置,这是一个示例的方法N。用户可能给出他或她的邮政编码比如“53045”来回应。
在方框3140中判定语音识别是否成功。如果不成功,用ASR技术执行方框3130,ASR技术遵循谬误方法N+1。例如,在天气纵向域,谬误方法N+1可能请求用户位置的洲和城市。在最佳实施例中,谬误方法包括从列表中选择属性,用分区空格(如得到状态、接着城市名字)以及拼写属性值的方法约束属性值集合。如果语音识别是成功的,执行方框3150,语音入口10用获得的属性搜索数据库170。在执行了方框3150之后,执行流程图3200(图32)。
现在参看图32,流程图3200描述了识别唯一existant子系统的一部分。在执行了方框3150(图31)之后,执行方框3210,判定从数据库170的搜索中匹配existant的数量。根据在产品数据库的搜索中找到的匹配的数量的不同,执行不同的动作。如果没有找到匹配,就执行方框3220,在这当中判定是否寻找到一个组合唯一键。如果有一个或多个唯一键,或者有在数据库170中没有的识别码,就可能存在一个组合唯一键,但是可能会用来在因特网上找到希望得到的条目。
如果找到了一个匹配,就执行方框3230,在这当中语音入口10证明匹配是否是正确的existant。如果匹配的数目多于一个,但是少于列表的最大数,就执行方框3240,请求用户从匹配列表中识别existant。如果找到的匹配多于列表中可能条目的最大数目,执行方框3250,它判定属性是否是“可扩展的”。换句话说,就是判定是否可以提供关于这个属性的更多的信息。如果可以提供更多的信息,控制将返回到方框3110(图31),在这个方框中可以从属性依赖图中得到另一个属性。如果属性是可扩展的,执行方框3260,在这个方框中试图扩展属性。如果这个属性可以被扩展,将控制传递给方框3120(图31),在方框3120中从属性依赖图得到另一个属性。如果属性扩展的结果是一列项目,控制将传递给方框3240。
现在参考在方框3220中执行的查询,如果判定出没有为WWW搜索而使用的复合唯一键,控制传递到方框3110(图31)。如果判定出复合唯一键可能存在,控制传递到方框3270,在这个框中判断WWW是否被搜索过。如果不要搜索WWW,控制传递到方框3030(图30),方框3030是当前纵向域的最高层次。如果要搜索WWW,控制传递给方框3280。现在参看方框3230和方框3240,如果找到当前的existant或者从列表中找到当前的existant,控制将传递给方框3280。如果在方框3230或方框3240中没有找到当前的existant,控制传递给方框3220来判定是否有可以搜索找到一个项目的复合唯一键。在方框3280,执行一个网络查看。在这一点上,顾客可能提出不同长度的目标广告。做广告将由图36描述进一步的细节。在执行方框3280的期间,执行方框3060,在这个方框中执行一个找到的existant子系统。
现在参看图33,找到的existant子系统包括方框3310,在这个方框中,将日志放在找到的条目的顾客数据库中。在一最佳实施例中,顾客数据库包含在数据库170中。在方框3310之后,执行方框3320,在这个方框中为与从数据库170的信息中的纵向域为显示做准备。在方框3320之后,执行方框3330,在这当中,构造相关的信息和命令文法。例如,在电影纵向域中,如果要播放在特定电影院中的电影放映的列表,文法可能包含电影名称,以允许用户请求关于特定电影的更多的信息。
在方框3340中,从用户那儿返回信息。在一最佳实施例中,可能的可接受的命令包括这样的一些命令:要听更多细节信息、从特定源听信息、听相关信息(如更便宜、更好)、以及采取适合纵向域的行动(如提高报价,改变位置)的命令。在方框3340之后,执行方框3350,在这当中得到下一个动作。如果需要一个新的纵向域,控制传递给方框3020(图30)。如果需要一个从当前纵向域的顶端的新选择,那么控制传递给方框3030(图30)。如果需要一个新的existant,则控制传递给方框3040(图30)。
再参看图32,在执行了方框3280之后,执行方框3290,在这方框中,用更新数据库170的方法来协调网络查找结果。在方框3290的网络结果的协调过程中,在方框3295中可能执行一个巧妙的延迟句柄,这其中执行广告或者其它形式的处理延迟。在方框3295的巧妙的延迟句柄使用从顾客数据库和广告数据库中的信息。在一最佳实施例中,顾客数据库和广告数据库是数据库170的子集。在一替代实施例,顾客数据库和广告数据库是物理上隔离的数据库。
在运行中,在这里描述的对基于因特网信息的语音访问的系统和方法,可以为顾客识别感性趣的纵向域,(如电影、购物),然后从所有可能事物的范围中将用户的响应“渗漏”到一个或一组顾客想要的事物中。在纵向域中的这个渗漏过程包括关于产品或服务的属性的面向系统的询问用户,这种询问是根据一组预定义的“路径”来渗漏一个特定的条目。路径是根据要确定和示例的产品的约束顺序来定义。
图34描述了漏斗处理的流程图3400,这种漏斗处理允许语音入口10汇集用户的响应,为用户相应获得更高速率的语音识别。在步骤3410中,用户呼叫语音入口10。在步骤3410之后,执行步骤3415,用上述描述的不同可能的方法识别呼叫器。在步骤3415之后,执行步骤3420,用户选择一个感性趣的纵向域。接着执行步骤3425,开始对选中的感性趣的纵向域的属性汇集特性。在步骤3425之后,执行步骤3430,语音入口10判定用户在这个感性趣的纵向域是否有优先选择。如果有优先选择,并且用户不想覆盖它们,则控制传递给步骤3460,在这一步中根据用户的优先选择,将条目或服务指示为找到的。
如果没有可得到的优先选择,或者用户覆盖了他或她的优先选择,则执行步骤3435,构造一个属性词汇表集合。词汇表集合更希望允许语音入口10拥有一个有限数量的可能相应,在感性趣的纵向域中的这一点上,将这些有限选择用于用户响应的语音识别中。和定义的词汇表集合,语音入口10更好的得到高速的认识传统的讲话识别技术。例如,在用户选择MajorLeague Baseball(MLB)队,并且构造了一个可能的队MLB队的请求的词汇表集合之后,再识别词“Brewers”就更容易了。这样一个词汇表集合可能包括相同信息的许多不同类型的用户输入。例如,在MLB队的例子中,词汇表集合可能包括与MLB队相关的所有城市或洲的名字,同样也包括MLB队福神。因此“Milwaukee”和“Brewers”可能是MLB队的词汇表集合的一部分。
在构造适当的词汇表集合之后,执行步骤3440,语音入口10就属性查询。例如,“您希望听到关于Major League Baseball队的什么?”在步骤3440之后,执行步骤3445,在这步骤中识别属性。如果属性没有被识别出来,为了属性的识别,可能回执行步骤3447的回退过程。在步骤3450中,语音入口10判定它是否达到“结束状态”,即找到了条目或服务的那一点。如果还没有达到“结束状态”,执行步骤3455,在这一步骤中访问下一个属性并且控制返回到步骤3430。在给出的棒球的例子中,仅仅给出队的名字并没有达到结束状态。必须请求其它“更窄”的属性,比如最近的比赛结果、队员的统计数字、队的名望、或其它相关信息。一旦执行步骤3460,就要执行步骤3465,将找到的条目或服务报告给用户。
在一示例实施例中,用户用下述方法选择项目。用户首先指定感性趣的域(如电子商务、交通信息、天气信息、电影等)。接着,用户指定项目的属性来选择一个项目(如一本书、一个玩具、一条交通信息的感性趣路线、天气信息的感性趣的城市等)。接着对一个识别的项目提供给用户它的细节信息、与项目的域相关(如产品、交通、天气、电影等)。例如,在感性趣回顾的电子商务域,可以得到包括价钱、运输费用、和可达性的销售商信息。在感性趣的电影域,提供了目录、生产商、和演员表。在感性趣的拍卖域,最高的报价是可达的。
最好是,用户可能用地点(如,最近的识别产品的生产商,最近的电影院)来请求信息,地点可以用不同的方法来识别(如邮编、镇的名字、城市区域“Boston North,West”等)。在一示例实施例中,使用关于邮政编码的位置识别策略,它包括请求郊区名称、回到城市甚至洲、接着再次最大化。在一示例实施例中,根据最新更新的哪条信息的请求来提供给用用日期和时间。更好的情况,所有显示给用户的数据是适合于域的当前的数据。用户被告知“纯粹的”源信息、或者从仅仅一个源得到的信息的信息源(“由XXXXX提供”)。在更好的一种实现中,在每一个选择点都可以使用“help”或“instructions”选项。
用户可能根据项目的属性请求项目比较,它与域相适应。用户可能请求识别与域相适应的“更好的”、“更便宜的”以及“相关的”项目。最好是,用户可能明确的将项目记录到一些用户定义的列表中,它是与域像相适应的。用户可能从列表中查看项目。用户还可能对他们的列表中的项目的信息改变请求电话的或者电子邮件的通知。
图35描述了一个用语音入口10进行交易的示例过程的流程图3500。在步骤3510中,用户访问(打电话或呼叫)语音入口10。步骤3510之后,执行步骤3515,这一步执行一个渗漏过程来识别用户需要的一个项目或服务。这样的渗漏过程执行了在流程图3400中图示并在图34中描述的操作。
在步骤3515之后,执行步骤3520,语音入口10让用户确定需要的并且与识别的项目和服务相关的交易。在执行了步骤3250之后,执行步骤3525,语音入口10识别适当的语音入口规则来执行特定的交易。交易可以包括买卖一个项目或者服务,就一个拍卖报价,或者其它类型的通过因特网可能的交易。在步骤3530之后,执行步骤3535,语音入口10记录交易的结果。最好是,结果记录在数据库170中。在步骤3535之后,执行步骤3540,将交易报告给用户。
不同的交易(如报价、观望、买进、追进)与不同的域相适应。例如,在感性趣的电子商务域,用户可能从选中的销售商那儿定购一个识别的产品。进一步说,用户可能在购物车中增加一个项目为以后购买。在定购的时候,用户可能指定订单信用卡以及运送地址(从用户档案得到,或用户手工提供)。用户还可能对以前定购的产品请求状态信息。举另外一个例子,在感性趣的拍卖纵向域,用户可能提高已知的报价,或者用户可能将报价放到新拍卖中。
最好是,使用语音入口10进行交易的过程不需要用户在计算机上做任何手工的动作。用户可以在不击鼠标、不敲键盘、或者不用进行任何人机交互的手工动作(如,鼠标单击、键盘输入)的情况下购买项目、投标、或做任何其它的因特网交易。因此,参考图35描述的过程可以成为一个“没有击键”的因特网交易过程。用户可以利用电话的触摸板,仍然运行一个“没有击键”的因特网交易。
图36A描述了使用语音入口10做广告的示例过程的流程图3600A。最好是,广告子系统120包括决定对一个特定用户做什么样广告的方法。一般来说,这个方法包括根据上下文,如用户统计、位置统计、以及当前感性趣的纵向域设置选集约束。在设置了选集约束之后,方法根据约束查询广告数据库,检索出可能的广告列表。这些可能的广告列表根据对每个广告的销售标准进行重排列。从重排列的列表中选择一个广告并且显示给用户。
参看流程图3600A,在步骤3610A中,语音入口10中的广告子系统120对显示给用户的广告设置选集约束。在一种实现中,选集约束是基于以用户为中心的信息的,比如用户统计、位置统计、以及当前选择的感性趣的纵向域(如果有的话),还有以广告为中心的信息,比如广告销售标准、缺少重复、以及其它广告有效性因素。这些约束或标准在从许多不同类型的广告中选择时使用,如一条介绍性的赞助广告、一条纵向的赞助广告、以及一条商业广告。在步骤3610A之后,执行步骤3615A,根据在步骤3610A中选择的约束,对可能广告的列表查询数据库170。
在步骤3615A之后,执行步骤3620A,可能的广告列表根据销售标准因素进行重排列。在一实施例中,销售标准用来确定:(1)广告递送速率能达到吗?(2)对这个广告来说,目标递送达到了最小值吗?最好是,使用销售标准来确定每个广告顾客都拥有对满意的递送的需求。在一实施例中,计算比率来优先排序先递送哪个广告。
下面提供一个用比率作为决定广告如何排序的因素的例子。广告X在它的合同中需要100,000个递送。语音入口10已经递送了7,000例的广告X。合同的起始日期是5月10日,结束日期是7月7日。假设当前日期是5月15日。所以,示例的比率就按照如下方法算出:
从合约开始的天数=5。
合约的长度=27天。
广告需要播放的天数=22。
已经播放的广告的百分比=7,000/100,000~=7%
已经播放的天数的百分比=5/27~=18.5%
这样一来,示例最终比率是:
(已经播放的天数百分比-已经播放的广告百分比)/合约中还剩的天数
最好是,这个很快要播放的广告比率值(小分母—〉高速率),以及已经播放的广告的差,以一个更小的比率返回。
在步骤3620A中,重排列可能的广告列表,在这之后,执行步骤3625A,在这一步中选中一个广告。在一种实现中,根据在可能广告列表中可以达到的最高比率来选择广告。在步骤3625A之后,根据要显示的广告类型采取不同的行动。在步骤3630A中,如果没有可得到的广告,并且如果广告类型是一个介绍性的赞助广告,那么在步骤3635A中提出一个例外。如果有一个可以得到的广告,则执行步骤3645A,在这一步骤中播放这个广告。如果没有可以得到的广告,执行步骤3640A,在这个步骤中,将选集约束复位,且控制返回步骤3620A。
这样一来,对每个广告类型在过程的步骤中都有不同,有三点不同:介绍性的赞助广告、纵向的赞助广告、以及商业广告。下述是选择一个介绍性赞助广告的示例过程。
1、对介绍性的赞助广告类型,根据位置来发置选集约束(不使用纵向,因为没有应用纵向)。
2、根据结果查询数据库,结果转换成要播放的可能广告列表。
3、根据销售标准重排列列表。
4、从列表中选择最高比率的广告。在数据库中一定有一个广告,如果没有,提出一个例外。
下面是选择一个纵向的赞助广告的示例过程:
1、对纵向的赞助广告类型,根据用户统计、位置统计、以及纵向类型设置约束。
2、根据结果查询数据库,结果转换成要播放的可能广告列表。
3、根据销售标准重排列列表。
4、从列表中选择最高比率的广告,如果这个广告可得到,并且返回到用户界面。
5、如果没有可得到的广告,仅根据纵向的类型复位选集约束,将纵向的赞助类型设置成仅为Quack促进。
6、根据销售标准重排列列表。
7、从列表中选择最高比率的广告,如果这个广告可得到,并且返回到用户界面。
8、如果用户从列表听到所有的广告,那么返回最后一个播放给用户的广告。如果因为什么原因,列表为空而且没有可得到的广告,那么提出一个例外。
下面是选择一个商业广告的示例过程:
1、对商业广告类型,根据位置统计、顾客统计、以及纵向类型设置选集约束。
2、根据结果查询数据库,结果转换成要播放的可能广告列表。
3、根据销售标准重排列列表。
4、从列表中选择最高比率的广告,如果这个广告可得到,并且返回到用户界面。
5、如果没有可得到的广告,仅根据纵向的类型复位选集约束,并且将商业的类型设置为要么是Quack(即,语音入口系统)商业,要么是付费的商业(不管键入的类型)。
6、根据销售标准重排列列表。
7、从列表中选择最高比率的广告,如果这个广告可得到,并且返回到用户界面。
8、如果用户从列表听到所有的广告,那么返回最后一个广告。如果因为什么原因,列表为空而且没有可得到的广告,那么提出一个例外。
现在参看图36B,流程图3600B描述使用语音入口10做广告的第二示例过程。在步骤3610B中,用户访问(打电话或呼叫)语音入口10。在步骤3610B之后,执行步骤3615B,执行用户查看来识别用户。呼叫者的识别可能用不同的方法来做到,这些方法中的一些参看图2和30来描述。放在步骤3615B之后,在步骤3620B中,判定用户对语音入口10是否是已知的。如果用户不是已知的,执行步骤3625B,为用户使用一个默认的档案。在一示例实施例中,默认的档案不包括对某条广告的用户约束或限制。默认档案可以为某个对呼叫已知的参数调整,比如,用户的地区代码、呼叫的时间、一周中的天等等。如果用户已知,或者在执行步骤3625B之后,执行步骤3630B,在这一步骤中广告子系统120生成一个广告集“S”,它是基于包含对当前用户特定的用户约束的接口(如,讲话、WAP、WWW)的类型。
给出当前操作的上下文(如,特定用户、感性趣的纵向域),在步骤3635B中,广告子系统120根据广告上下文为广告集合S生成权重。在步骤3635B之后,执行步骤3640B来判定上下文对准确的知道用户最想要什么是否足够。如果上下文不够,则执行步骤3645B,这一步根据得到的部分上下文找到一个广告。如果上下文是足够的,执行步骤3650B,它播放一个最适合的广告。
最好是,广告子系统120为所有呼叫者提供一个初始的一般广告或赞助消息。广告子系统120也向用户提供有目的的音频广告,根据和域相适合的用途功能来选择。在一示例实施例中,用途功能与要做广告的产品和服务的可用性、当前项目的相关性(如,DVD与电视相关)、对用户的关联(如,用统计方法),用户对广告者的希望、以及对服务提供商的值(如,根据费用/返回)这些内容相关。最好是,广告子系统能够在一定时间框内给用户递送一定数量的广告。还有,广告子系统120能够跨平台递送广告,比如无限应用协议(WAP)、WWW、和语音界面。
举个例子,语音接口平台,在第一分钟内,递送给用户一个赞助广告和一个有目的的广告。在每个附加的40秒内,递送一个第二有目的的广告。在一种实现中,一条赞助消息将在3-5秒内处理,一条有目的的广告要花费10-20秒。
这个结构的实现是基于在进入系统时显示的是介绍性的赞助广告这个事实。每一次用户进入一个纵向,就会被提示“纵向的赞助”。一旦用户要接受请求的数据,就会显示给用户一个完全商业的。最好是,这个模型估计在前面列出的计划表,同时用户估计在接受他们的信息前有40秒的搜索时间。
在广告的上下文中,发出“Speak-throughs”请求来对一个广告的显示递送更多细节信息。最好是,speak-through不仅应用于语音界面,也应用于WAP和WWW。对WAP来说,语音和文本可以看作是speak-through,在WWW上的speak-through指的是单击标题可以显示关于一个广告的更多信息。一个关于语音交互的speak-through的实现是向顾客指出一个站点地址或一个顾客电话号码,将这些提供给广告商,就可以把更多相关的信息发送给顾客。用WWW接口的时候,speak-throughs可能包括使用一个外部源来管理和审计顾客信息。广告子系统120也可能给用户提供有目标的“标题”,这些是根据与域相符合的用途功能(如,WWW接口)选择的。
广告子系统120的广告递送的管理是基于几个因素的组合的。在一示例实施例中,广告被递送到三个地方中的一个。首先,广告可能在当用户准备进入系统,开始一个新的会话期的时候递送。这个赞助消息将在用户界面110的语音,或“系统语音”中,它应当在几个替换的广告赞助商之间轮换。例如,一条赞助消息可能这样说,“Quack由Visa-网络现金—带给您,,”或是“Quack由SprintPCS-远程服务的光明未来—带给您”。
其次,另外一个赞助广告(“纵向赞助”广告)可能在用户访问某个系统的纵向,如电影、交通或天气,之前递送。例如,这样一则广告可能这样说,“由IMDB-电影信息的世界性的权威—带给您”,以及“LCE SonyMetreon:Boston伟大的电影选集的唯一选择。”
再其次,广告可能在用户收到精炼的请求之前递送。这种类型的广告叫做“商业的”。这种广告很及时(即,在选择点递送),但是仅仅依赖于很经常的基础,比如每2分钟。最好是,系统语音能够为用户指出可能有帮助的值增加的状态。例如,一个附近的饭店可能在用户在特定电影院选择电影时提出建议。在这儿虽然非speak-through广告也可能用,但是就更愿意使用Speak-through广告。广告内容本身最好时长7秒。speak-through广告最好有最大可能的品质(即,专业制作),长度最好大约15到20秒。例如,如果用户在LEC Sony Metreon选择美国丽人作为电影,系统语音会说,“我正在寻找在Sony Metreon的列表。如果你想听关于‘Tony’s Matriciana’:距离Sony Metreon仅5分钟的波士顿最好的意大利餐厅,请说‘Tony’s!,或者继续你的列表。”用户接着可能自动建立一个预订。为目标广告也可能使用其它相关属性。最好是,根据当前的假设,即做一个纵向特定的请求会花费多少时间递送这条广告,在这些不同的地点递送这条广告。
和这些条目一起,决定用户想要递送给他们哪个广告。参与这个决定的因素包括呼叫的长度,请求何种类型的纵向内容,内容和用户档案(以及/或者位置)(即饭店广告应该对顾客是当地的)的组合,财政潜力,呼叫者请求的特定信息,以及用户是否已经听过这个广告。在一示例实施例中,广告根据下面因素滚动:这个广告最后一次播放是什么时候?在这次呼叫之前用户最后一次听到这个广告的时间?用户听过这个广告了吗?对于这个广告,达到广告递送速度了吗?对于这个广告,达到目标递送最小值了吗?
最好是,广告以这样的方式递送,它的显示与特定顾客相符,并且根据付帐的比率来追踪。因此,某些基本数据被收集,来管理每个广告,如这个广告已经播放了多少次,每个用户已经听过这个广告多少次。
再有,给定这个基本数据,以下更复杂的查询也是可获得的。例如,查询可以包括对所有用户创建报表的能力,这些用户是指已经听过属于下列各种被定义的广告中的一个广告:名字,人口信息,位置和相关信息(用户请求的其它的信息)。查询也可包括对所有请求通过speak-through信息的用户创建报表的能力。
闯入(barging-in)能力(即,停止广告的播放),在语音入口10的其它操作模式下是可能的,在播放一个广告时也可以去掉。防止barge-in的能力的重要性在于广告商必须要确保获得的与广告相关的数据是通过语音入口10给出的。在一实施例中,广告数据的收集由第三方审计完成。广告子系统120保存一份给用户的所有广告的记录,包括成功的(完成的)和不成功的(未完成的)递送。更适宜的,这个记录保存在数据库170中。最好是,广告可通过感性趣纵向域、或呼叫者位置、或用户、或用户优先选择、或用户过去的性趣、或一些其它广告兴趣和用户收集的信息的组合而被确定为目标。
最好是,上下文相关信息的使用可以用来对一个用户在更窄的范围内确定目标广告。在语音入口10中确定上下文相关的目标广告,将广告商业与用户接受的信息联系起来。为了使这个功能正确,在播放广告之前将个适当的指针传递给选择算法。在一种实现中,纵向类型是上下文的指针。
在其它实施例中,existant是上下文的指针,它允许更具体的确定目标。这个上下文指针将它的属性标准与市场研究标准相匹配,来决定在某个范畴内的权重。这些与在初始列表中的广告销售标准相关联的范畴的权重定义了上下文权重的顺序,从这个顺序就可以最好的选择广告。这个初始列表,从统计和纵向类型中创建的,形成上下文权重的基础。引入数学表示来将这个问题归纳为一个算法,下面一个例子来说明它。
首先对于所涉及的参数定义变量。将传递到算法中的existant属性列表由集合{e1,e2,...,em}定义,这里m是在existant中的属性数目。例如,对一个电影existant,样品属性是类型、位置和放映时间。与广告关联的可用范畴的列表由集合{C1,C2,...Cn}定义,这里n是范畴的总数。在系统中的一些样本范畴可能是:家庭、饭店、夜生活、电影、以及娱乐。对每个范畴Ci,这里i{1,...,n},令有一个上下文范畴权重,Wi。有上下文范畴权重的目的是决定相较于广告范畴权重来说,上下文的力量,这将在下面讨论。
对所有的existant来说,市场研究标准由P={p1,p2,...,pt}来表示,这里t是在数据库中所有标准的总和。每个标准pj都有一个关联权重wj,这里j{1,...,t},每个属性ei都试图对所有的i,j满足所有的pj,这里i{1,...,m},j{1,...,t}。因此,如果ei满足pj,而且pj属于范畴ck,那么Wk=Wk+wj。这个递归用来定义前面提过的每个范畴的上下文权重。
一旦对每个范畴的总三上下文权重,wk定义了,它的关联力量比率,Rk就必须计算出来。范畴的力量比率用来判定existant的上下文是否足够强,以至可以在广告选集中作为标准。例如,如果家庭范畴在P中有许多标准,那么我们想确保与existant上下文一致的权重是一个可接受的比例。所以,Rk=Wk/Tk,其中Tk是P中与范畴k相关的所有标准的总权重。
统计查询产生的广告列表由A={A1,A2,...,Ar}定义,其中r是列表中广告的总数量。每个广告Ai都有它自己的范畴权重xk,其中i{1,...,r}且k{1,...,n},它们与算法的相符上下文范畴权重比率Rk一起使用。
因此,一旦广告A的初始列表通过对数据库过滤统计和广告类型的方法创建出来,算法将遵循下列步骤:1、为每个范畴Ck,设置范畴权重Wk如下初始化每个Wk=0,其中k{1,...,n}对于每个i{1,...,m}和j{1,...,t},基于cxistant的当前属性{e1,e2,...,em},如果ei满足pj,且pj与范畴Ck相关,那么Wk=Wk+wj,其中k{1,...,n}。2.现在把独立于existant属性的范畴总权重制成表格。从那些总权重当中,建立每个范畴的上下文比率对于每个k{1,...,n}和j{1,...,t},如果pj与范畴Ck相关,那么Tk=Tk+wj。设置范畴上下文比率,Rk=Wk/Tk3.对于每个范畴k,用每个广告Ai的范畴权重xk乘以每个Rk,接着将它们的和乘以广告的销售标准Si,获得上下文总和Gi对于每个i{1,...,r},计算Gi,其中Gi=Si*(R1x1+...+Rnxn)4.选择广告Ai,其中i由Gi中最大值i{1,...,r}定义。以上算法可以用一个简单的例子说明。考虑一个用户正在使用感性趣的电影纵向域的语音入口10的服务的例子。纵向赞助广告已经被播放,用户将要收到关于电影上映的信息。因此作为上下文,这个选择包括将要播放的特定existant的指针,为讨论方便,这个要播放的叫做“Missions toMars”。这个电影上映existant的一些属性有,等级(如R)、类型(如恐怖片)以及上映时间(如下午4:00),这些可用{e1,e2,e3}来表示。因此,就需要一个与上下文标准相匹配的列表,这个列表包含元素P={p1,p2,...,pt}。一个标准的样本列表可以在数据库中表示成:属性        匹配类型  值           范畴    权重电影            -     -            娱乐    10电影等级        =    G            家庭    80电影等级        =    R            夜生活  50电影类型        =    未知         孩子    40电影类型        =    未知         成人    50电影类型        =    恐怖片       孩子    80电影上映时间    >    下午7:00    孩子    80电影上映时间    <    下午4:00    家庭    70根据该表,可以把类别写成C={娱乐,家庭,夜生活,儿童,成人}其中k=5。步骤1中,W1=10,W2=0,W3=50,W4=80,且W5=0。步骤2中,确定R1=1,R2=0,R3=1,R4=0.4及R5=0(假设P只有8个元素,在这个例子之外,有大概200或更多的元素)。现在假设广告列表A有三个广告。假设这个广告的五个类别的权重00是:广告名称       娱乐   家庭   夜生活  孩子   成人   销售比率IMDB              0.9     0.5     0.7     0.9     0.90.8Mission to Mars   0.9     0       0.9     0.9     0.81.1AMC Theaters      0.9     0.9     0.7     0.9     0.71.0因此,从这些权重{x1,x2,x3,x4,x5}中,我们能通过计算得到每个广告Ai的Gi值,其中i{1,2,3},如下所示:Gi=Si*(R1x1+...+Rnxn)G1=0.8*((1)(0.9)+0+(1)(0.7)+(0.4)(0.9)+0)=1.568G2=1.1*((1)(0.9)+0+(1)(0.9)+(0.4)(0.9)+0)=2.376G2=1.0*((1)(0.9)+0+(1)(0.7)+(0.4)(0.9)+0)=1.96因此,根据上下文和销售比率决定,广告“Mission to Mars”是最合适的。这个算法根据检索的信息片的相互关系注意了基于不同范畴的上下文。它也组织了对销售标准来说需要播放的广告被注释且计算到排序中的事实。这个例子只是说明了P中一个短的广告列表、范畴和标准。这个算法意在充分利用更多的范畴和标准。
图37-43描述了在用户和语音入口10之间交互的示例对话映射。图37-43描述的对话映射仅仅是为了图解目的。因为在图中仅显示了感性趣的电影、天气、交通、股票、运动纵向域,很明显任何感性趣的纵向域都可以包含在这个对话映射中(以及在语音入口10和用户的相互交互中),特别是根据图4-6描述的数据结构模型300、400、450可得到的扩展和适应能力。另外,在用户和语音入口10之间表示不同相互交互作用的特定的方框也仅是为了图解目的而已。对于许多可能的感性趣的纵向域的每一个,各种相互交互也都是可能的。
图37描述了一个对话映射3700,在这个映射中,在一个用户向语音入口10打完一个电话之后,执行方框3710,提供一个欢迎。在方框3710后,执行方框3720,紧跟着一个登入过程(在图38将进一步描述)。在登入过程结束后,用户可以选择在方框3730和3740要一个语音入口10服务的介绍或是在方框3750对可能的感性趣的纵向域的介绍直接进入运行信息。特别的,在方框3730中,服务提供商提供介绍性的信息。在方框3740中,提供服务如何工作的介绍性信息。在方框3750中,语音入口10请求用户从“跑道”选择一个感性趣域(例如电影、天气、交通、股票、运动)。
如果用户选择感性趣的电影域,则执行方框3760,在那里执行一个电影子系统(在图39进一步描述),用户有权访问电影信息和交易,如电影列表、剧院和回顾。如果用户选择感性趣的天气域,则执行方框3770,在那里执行一个天气子系统(在图40进一步描述),用户有权访问天气信息,例如今天的天气预报、或对一个想要的地点或任意一个地点的进一步的天气预报。如果用户选择感性趣的交通域,则执行方框3780,在那里执行一个交通子系统(在图41进一步描述),用户有权访问交通信息,例如对城市的报告、对某一个路线的报告或是个性化的报告。如果用户选择感性趣的股票域,则执行方框3790,在那里执行一个股票子系统(在图42进一步描述),用户有权访问股票信息和交易,例如行情简介,股票报价,股票新闻和个人股票新闻或交易(如买进,卖出)。如果用户选择感性趣的运动域,则执行方框2500,在那里执行一个运动子系统(在图42进一步描述),用户有权访问体育信息和交易,例如比分、体育新闻、体育赛事门票信息和体育幻想联盟交易。
现在参看图38,显示了一个登录子系统。在方框3810中,尝试呼叫者识别。语音入口10的一种用户是未被识别的用户。这个未被识别的用户呼入(可能是第一次),通过传统的呼叫识别技术可能是是可定位的或不是。如果在数据库中不存在呼叫者ID,呼叫者可能是新的呼叫者。如果这个呼叫者ID被禁止,语音入口10不能辨认。在一实施例中,语音入口10请求一个电话号码(或其它的识别码)并对一个“识别到”的呼叫者继续。在另一实施例中,语音入口10不经过确认就继续。这个决定可能根据请求信息的种类做出。例如,在一个特定的纵向域中,在继续执行(如拍卖)之前,要判定用户的身份来识别用户。
被识别的用户可能是注册的,也可能是未注册的。如果识别的用户是注册的,语音入口10有关于用户的信息,如信用卡和优先选择。最好,一个用户要注册,以使语音入口10能开始追踪优先选择和兴趣来获得一个更高的消费者增值度以至对这个服务的忠诚度。用户可以未注册确定档案信息,包括地址、信用卡号。另外,收集到的关于一个呼叫者的信息越多,广告就越直接(从而更有价值)。
如果呼叫者识别是可能的,就执行方框3820,在那里通过询问用户密码执行用户确认。一旦密码被确认,就能设置用户的优先选择,控制转到方框3870并且控制返回到图37,在那里执行一个介绍性的或运行选择。如果给出的密码无效,控制转到方框3840。
如果呼叫者识别不可能或是用户不知道他或她的密码,控制转到方框3830中,那里语音入口10判定用户的帐号状态。如果用户没有帐号,控制转到3850,给出帐号建立提示通知用户建立帐号。如果用户有帐号,控制转到3840,语音入口10获得用户的帐号码。如果用户忘记了帐号码,控制转到3850提示用户建立一个帐号。如果用户提供了有限的帐号码,控制转到方框3820要求用户确认。如果用户给出了一个无效的帐号码,控制转到方框3860,语音入口10告诉用户帐号码不对,并告诉用户到一个网址或呼叫一个支持号码寻求帮助。接着,控制转到方框3880和图37,在那里执行一个介绍性的和运行选择。
现在参看图39,执行一个电影子系统。在方框3910中,语音入口10播放对感性趣的电影域的介绍。用户可以选择选项,如在剧院的电影、电影列表、电影评论。如果用户选择在剧院的电影,则控制转到方框3915,语音入口10决定用户想要的地点。可以用许多方法来决定地点,如邮政编码、州和城市、或优先选择。如果在给定的地点附近没有剧院,执行方框3920,播放一条消息告诉用户在给定区域没有剧院。在决定了地点之后,执行方框3925,在这一步中列出在地区内的剧院名称。在方框3925之后,执行方框3930,列出正在这个区域的剧院中上映的电影。语音入口10请求用户选择一个电影,并且控制转到方框3935。
现在返回方框3910,这个方框播放对感性趣的电影域的介绍,如果用户请求列出电影列表,执行步骤3940,语音入口向用户请求电影名称。在方框3940之后,执行方框3945,得到用户想要的地点。如前所述,有许多方法可以用来决定呼叫者地点。如果有上映选中电影的剧院,执行方框3950,列出上映这个电影的剧院,并且要求用户从列表中选择。接着控制转到方框3935。如果没有上映选中电影的剧院,执行方框3955,并且提供给用户最近地点的电影上映时间。然后,控制转到方框3935。
现在参看方框3910,这个方框播放对感性趣的电影域的介绍,如果用户请求一个电影评论,则执行方框3960,语音入口10向用户请求电影名称。在方框3960之后,执行方框3965,在这里播放选中电影的回顾。在方框3965之后,执行方框3970,语音入口10询问用户,他或她是否要找到选中电影的上映。如果用户退出,贼控制返回方框3960,得到另一个电影评论的电影名称。如果用户接受,则控制转到方框3945。
在方框3935中,语音入口10提供选中电影和剧院的电影上映时间。在方框3980中,语音入口10请求下一个动作。用户可以请求剧院的地址,这个由方框3985接着提供。这个用户也可以请求这部电影的回顾,这个则由方框3990提供。一旦这个用户想离开感性趣的电影域,控制就返回到图37的方框3750。
现在参看图40,如图示执行一个天气子系统。在方框4010中,语音入口10播放对感性趣的天气域的介绍。在方框4010中播放完介绍后,控制转到方框4020,在那里语音入口10获得将要在感性趣的天气域中用到的地点信息。如上所述,有多种方法可获得地点信息,如从邮政编码、城市或州和其它的地点指示中获得地点。在方框4020后,控制转到方框4030中,语音入口10提供一个提示询问用户是否想要当前的天气信息还是随后一段时间的天气信息。如果用户选择随后一段时间的天气信息的话,控制转到方框4040,那里语音入口10播放一个提示来向用户提供天气潜伏选项。如果用户想知道当前的天气信息或在用户在方框4040选择完潜伏选项后,控制转到方框4050,那里语音入口10提供想要的天气信息。
在执行了方框4050后,控制转到方框4060,语音入口10询问用户是否想要一个扩展的天气预报。如果想,控制转到方框4070,语音入口10提供一个扩展的天气预报。在方框4070后或者如果用户不想要扩展的天气预报,控制转到方框4080,语音入口10向这个用户要求下一个动作。如果用户向继续留在感性趣的天气域中,控制转到方框4020。如果用户想离开感性趣的天气域,控制转到方框4090,与图37中的方框3750所描述的运行一致。
现在参看图41,执行一个交通子系统。在方框4110中,语音入口10播放对感性趣的交通域的介绍。在方框4110后,控制转到方框4115,在那里语音入口10为用户获得地址信息或关于用户的个人的信息。在方框4115后,控制转到方框4120,语音入口10获得城市交通信息。如果找不到城市交通信息,控制转到方框4135,得到邮政编码交通信息。如果一个城市没有被语音入口识别出来,邮政编码交通信息就是一个回退。如果没有找到城市数据,而且数据被包含在附近的地点,则控制转到方框4140,语音入口10寻找一个附近的城市。如果在方框4120中,没有交通事件是可报告的,控制转到方框4125,在那里用户被告知这个城市里没有交通可报告。如果在方框4120中没有可得到的交通数据,控制转到方框4130中,在那里给用户提供尝试另一个城市或转到选择一个新的感性趣域的运行的选项。
在方框4120之后,控制转到方框4145,语音入口10请求一个特定的交通路线或“整个城市”。在方框4145后,控制转到方框4150,语音入口10获得路线方向信息。在方框4150后,如果在这条路线上没有交通可以报告,控制就转到方框4155。在方框4155中,给用户选项,来选择新的交通路线或“整个城市”,也可以运行和选择新的感性趣域。如果路线交通信息可获得,在方框4150后,控制转到方框4160,语音入口10列出所选路线的路线交通。如果用户在方框4145中选择“整个城市”,控制转到方框4165,在这个方框中语音入口10列出城市交通信息。
在方框4160和4165后,控制转到方框4170,语音入口10向用户提供想要的交通报告。在方框4170后,控制转到方框4175,语音入口10在感性趣交通域中要求执行下一个动作。在一示例实施例中,下一个动作可能包括重复交通报告、继续交通信息列表、以及运行。用户在方框4175作出选择后,控制转到一个合适的方框。例如,如果用户选择重复交通报告,控制转到方框4170。如果用户选择继续列出选项,控制转到方框4160或是4165,这要看在方框4145中选择的是一个特定的交通路线还是“整个城市”。如果用户选择运行,控制转到方框4180,与图37的方框3750所描述的运行致。
现在参看图42,执行一个股票子系统。在方框4210中,语音入口10播放对感性趣的股票域的介绍。在方框4210之后,控制转到方框4215,语音入口10为用户提供选项,行情简介、股票报价、或是个人化的列表叫做“MyQuack”。如果用户选择行情简介,控制转到方框4240,在这个方框中为各个市场提供一个行情简介,如Dow Jones(道·琼斯)工业指数、NASDAQ、S&P500、NYSE Volume、NASDAQ Volume、和30年债券。如果用户选择股票报价,控制转到方框4220,在那里语音入口10从用户那获得一个特定的股票名称。在方框4220之后,控制转到方框4225,语音入口10获得与方框4220提供的股票名称一致的股票交换。在交换确定后,控制转到方框4230,语音入口10提供股票信息,如价格、最后一次交易、变化、交易量、以及当天的最高和最低值。
在方框4230之后,控制转到4235,语音入口10请求执行感性趣的股票域的下一个动作。在一示例实施例中,用户可能选择重复股票信息/继续列出股票信息、得到一个新股票、听行情简介、或运行。依据用户在方框4235中的选择,控制可以转到方框4240行情简介,方框4220介绍新的股票名字,方框4250个人化的myquack股票,或者方框4275运行。在方框4275之前,控制可以转到方框4270,这一方框中语音入口10向用户提供一个优先选择提示,即优先选择可以设置成以更快的方式获得个人信息。如果用户在这次呼叫中已经关于优先选择被提醒了,控制直接转到方框4275中。
如果在方框4215中,用户选择MyQuack,而如果没有识别出帐号信息,控制转到方框4245,而如果识别到帐号信息,则控制转到4250。在方框4245中,确定一个优先选择建立和帐户信息。可能会建议用户在网络上建立一个帐号。在方框4250中,个人股票信息被提供,如价格、最后一次交易、变化、以及成交量。在方框4250的操作中,用户可以通过说来识别一个特定的股票,例如,在有关特定的股票信息播放时说“那一个”。如果作出了这样的选择,控制转到方框4255,在那里股票新闻选项列出这个特定的股票。在用户从方框4255的列表中选择了特定类型的股票新闻后,控制转到方框4260,语音入口10播放选中的股票新闻。在方框4260之后,控制转到方框4265,语音入口10询问用户是否返回到获得股票列表(方框4255)还是现存的股票新闻。如果用户选择现存的股票新闻,控制转到方框4235,这个方框请求股票的下一个动作。一旦用户完成了感性趣的股票域,控制转到方框4275中,与图37的方框3750中所描述的运行一致。
现在参看图43,执行一个运动子系统。在方框4310中,语音入口10播放对感性趣的运动域的介绍。在方框4310之后,控制转到方框4315,语音入口10获得用户想要的体育类型,或者用户可以说“MyQuack”来得到项个性化运动类型的比分。如果用户选择一个特定的运动,控制转到方框4320,语音入口10从列表中获得所选运动的联盟的名字。例如,语音入口10可能列出“NFL、NBA、NHL和Major League Baseball(棒球大联盟)”在用户选择了联盟的名字之后,控制转到方框4325,在那里语音入口10获得用户感兴趣的球队。在方框4325之后,控制转到方框4330,这个方框提供运动比分。例如,语音入口10可能说,“TEAM的最后一场比赛的最后比分是TEAM1,1分,TEAM2,2分”。
如果用户在方框4315中选择″MyQuack”,控制转到方框4340。在方框4340中,语音入口10为个性化的MyQuack运动队提供比赛比分。在方框4340之后,控制转到方框4335,语音入口10提供对特定队的体育新闻。在方框4330和4335中,控制转到方框4345,在那里语音入口10询问用户是否想重复收听刚刚播放的新闻。如果用户的回答是肯定的,那么语音入口10就返回重复所提供的信息。如果用户不想听,控制就转到方框4350,语音入口10要求执行感性趣的运动域的下一个动作。在方框4350之后,控制转到方框4320来选择一个联盟名,控制转到方框4340提供my quack体育比分,或是转到方框4355来运行。方框4355与图37的方框3750所描述的运行一致。图40-43的每个子系统仅通过例子的方式来表示。
虽然以上参看附图描述的各实施例是目前的优选实施例,但是要理解这些实施例仅仅是作为例子。为简化通过语音入口队因特网的访问,其它实施例可以包括各种不同的数据结构。本发明并不局限于某个特定的实施例,而是可以延伸到与所附权利要求书的范围和精神一致的各种修正、组合、以及改变。

Claims (26)

1.建立与要被识别的事物的属性对应的规则,以便具有能够获得网页信息的非编程手段的方法,该方法包括:
查找包含与想要的事物相关的信息的网页;
选择一种格式(form)来覆盖找到的网页,这种格式用与想要的事物的属性对应的规则来确定;
以及根据该格式从找到的网页中提取信息。
2.根据权利要求1所述的方法,其中选择一种格式来覆盖找到的网页的步骤包括利用图形用户接口(GUI)选择列出的格式。
3.根据权利要求1所述的方法,其中选择一种格式的步骤包括增加进步确定该格式的规则。
4.根据权利要求1所述的方法,其中根据该格式从找到的网页提取信息的步骤包括识别可用来定位网页上的信息的模式。
5.根据权利要求1所述的方法,还包括搜索因特网上包含与给定属性匹配的信息的网页。
6.根据权利要求5所述的方法,其中搜索因特网上网页的步骤包括调用一个蜘蛛(程序)。
7.根据权利要求1所述的方法,其中从找到的网页提取信息的步骤包括利用HTML标记识别信息的模式。
8.根据权利要求1所述的方法,其中选择一个格式来覆盖找到的网页的步骤包括创建包含与要检索的信息相关的属性的格式。
9.根据权利要求1所述的方法,还包括把选定的格式和提取的信息应用到其它网页。
10.建立与要被识别的事物的属性对应的规则来获得网页信息的系统,该系统包括:
查找包含与想要的事物相关的信息的网页的装置;
选择一种格式(form)来覆盖找到的网页的装置,这种格式用与想要的事物的属性对应的规则来确定;
以及根据该格式从找到的网页中提取信息的装置。
11.根据权利要求10所述的装置,其中选择格式的装置包括增加进一步确定该格式的规则的装置。
12.根据权利要求10所述的系统,其中根据该格式从找到的网页提取信息的装置包括识别可用来定位网页上的信息的模式的装置。
13.根据权利要求10所述的系统,还包括搜索因特网上包含与给定属性匹配的信息的网页的装置。
14.根据权利要求10所述的系统,其中选择一个格式来覆盖找到的网页的装置包括创建包含与要检索的信息相关的属性的格式的装置。
15.对在把基于WEB的信息转换成普通数据结构时使用的规则进行非编程开发的方法,该方法包括:
查找信息页面,该页面具有含有相关信息的区域;
识别包括隔离含有相关信息的区域的模式的格式;
在包括含有相关信息的区域的一组页面中查找与更多信息页面的链接;以及
为一组具有相同模式的页面创建提取文件来隔离含有相关信息的区域。
16.根据权利要求15所述的方法,还包括提取数据。
17.根据权利要求15所述的方法,其中创建提取文件的步骤包括识别在销售商的网站上显示的信息的模式,该销售商的网站包含多个网页。
18.对在把基于WEB的信息转换成普通数据结构时使用的规则进行非编程开发的系统,该体统包括:
查找信息页面的装置,该页面具有含有相关信息的区域;
识别包括模式的格式的装置,该模式隔离含有相关信息的区域;
在包括含有相关信息的区域的一组页面中查找与更多信息页面的链接的装置;以及
为一组具有相同模式的页面创建提取文件来隔离含有相关信息的区域的装置。
19.根据权利要求18所述的组织,还包括提取数据的装置。
20.根据权利要求18所述的装置,还包括把提取文件应用到其它网页的装置。
21.建立在转换基于WEB的信息时使用的规则的系统,该体统包括:
存储使用多个格式中的一个格式从WEB网页中提取出的信息的数据库;这多个格式由与从网页中检索出的相关信息相关的规则组成;以及
允许非专家规则的设计者从多个格式中选择该格式的数据管理工具,选定的格式被用来逼近该网页上的信息的排列和上下文。
22.一种计算机程序产品,它包含对在把基于WEB的信息转换为普通数据结构时所使用的规则进行非编程开发的计算机可读程序代码,该计算机程序产品中的该程序代码包含:
用于查找网页的第一计算机可读程序代码;和
用于识别包括隔离含有相关信息的区域的模式的格式的第二计算机可读程序代码。
23.根据权利要求22所述的计算机程序代码,还包括:
根据该搁置从找到的网页提取信息的第三计算机可读程序代码。
24.根据权利要求22所述的计算机程序代码,还包括:
把提取的选定格式和提取的信息应用到其它网页的第四计算机可读程序代码。
25.根据权利要求22所述的计算机程序代码,还包括:
激活图形用户接口的第五计算机可读程序代码。
CN01808820A 2000-03-21 2001-03-16 对在转换基于web的信息时使用的规则进行非编程开发的系统和方法 Pending CN1427971A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53195000A 2000-03-21 2000-03-21
US09/531,950 2000-03-21

Publications (1)

Publication Number Publication Date
CN1427971A true CN1427971A (zh) 2003-07-02

Family

ID=24119749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN01808820A Pending CN1427971A (zh) 2000-03-21 2001-03-16 对在转换基于web的信息时使用的规则进行非编程开发的系统和方法

Country Status (5)

Country Link
EP (1) EP1287447A2 (zh)
JP (1) JP2004504654A (zh)
CN (1) CN1427971A (zh)
AU (1) AU2001252909A1 (zh)
WO (1) WO2001071538A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102754111A (zh) * 2009-08-13 2012-10-24 优福特有限公司 事件信息的自动化管理系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1535211A4 (en) * 2002-08-30 2006-08-23 Miva Inc SYSTEM AND METHOD FOR PAYING QUALITY ADVERTISING USING MULTIPLE ASSEMBLIES OF ADVERTISING LISTS
US20070022098A1 (en) * 2005-07-25 2007-01-25 Dale Malik Systems and methods for automatically updating annotations and marked content of an information search
CN116304217B (zh) * 2023-03-31 2024-04-26 易智瑞信息技术有限公司 地理空间数据查询方法、装置、电子设备和可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649186A (en) * 1995-08-07 1997-07-15 Silicon Graphics Incorporated System and method for a computer-based dynamic information clipping service
US5864863A (en) * 1996-08-09 1999-01-26 Digital Equipment Corporation Method for parsing, indexing and searching world-wide-web pages
WO1998014896A1 (en) * 1996-09-30 1998-04-09 Sterling Software, Inc. Web server data/process integrator
US5826258A (en) * 1996-10-02 1998-10-20 Junglee Corporation Method and apparatus for structuring the querying and interpretation of semistructured information
US6029182A (en) * 1996-10-04 2000-02-22 Canon Information Systems, Inc. System for generating a custom formatted hypertext document by using a personal profile to retrieve hierarchical documents
US6898591B1 (en) * 1997-11-05 2005-05-24 Billy Gayle Moon Method and apparatus for server responding to query to obtain information from second database wherein the server parses information to eliminate irrelevant information in updating databases
US6278449B1 (en) * 1998-09-03 2001-08-21 Sony Corporation Apparatus and method for designating information to be retrieved over a computer network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102754111A (zh) * 2009-08-13 2012-10-24 优福特有限公司 事件信息的自动化管理系统

Also Published As

Publication number Publication date
AU2001252909A1 (en) 2001-10-03
JP2004504654A (ja) 2004-02-12
WO2001071538A3 (en) 2002-04-18
WO2001071538A2 (en) 2001-09-27
EP1287447A2 (en) 2003-03-05

Similar Documents

Publication Publication Date Title
CN1433554A (zh) 利用因特网语音入口做广告的系统和方法
CN1449518A (zh) 话音访问基于互联网的信息的系统与方法
US7213027B1 (en) System and method for the transformation and canonicalization of semantically structured data
US8874446B2 (en) System and method for funneling user responses in an internet voice portal system to determine a desired item or servicebackground of the invention
US6687734B1 (en) System and method for determining if one web site has the same information as another web site
US8521585B2 (en) System and method for using voice over a telephone to access, process, and carry out transactions over the internet
CN1231859C (zh) 信息源选择方法、信息存储方法、信息源选择装置
CN1394315A (zh) 代理系统,代理购买/销售方法,数据提供装置和数据记录介质
AU2001247456A1 (en) System and method for voice access to internet-based information
CN1679260A (zh) 用于将语境感应推荐提供给数字业务的系统和方法
CN1299488A (zh) 改进的搜索引擎
CN1639709A (zh) 服务器、信息提供方法和程序
CN1607527A (zh) 信息处理设备、信息处理方法、程序、和记录媒体
CN1406355A (zh) 执行信息通信和信息提供的信息通信系统
CN1190750C (zh) 使用代理的信息管理系统及其方法
CN1427971A (zh) 对在转换基于web的信息时使用的规则进行非编程开发的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication