本专利申请要求于2014年4月7日提交的、名称为“METHOD TO COMPUTE THE PROMINENCE SCORE TO PHONE NUMBERS ON WEB PAGES AND AUTOMATICALLY ANNOTATE/ATTACH IT TO ADS(用于计算网页上的电话号码的显著性分值并且自动将其注释/附加至广告的方法)”的美国实用申请号14/246,421的优先权,并且转让给本申请的受让人并特此通过引用并入本文。
背景技术:
在计算机化的内容递送网络中,第一方内容提供者能够提供用于对资源的公开呈现的信息,诸如网页、文档、应用、和/或其他资源。附加的第三方内容也能够由第三方内容提供者提供以用于连同第一方内容提供者所提供的第一方内容一起在用户设备上演示。因此,查看资源的用户能够访问作为资源主题的第一方内容以及可能与资源的主题相关或不相关的第三方内容。
第三方内容提供者可以提供联系信息以连同第三方内容项目一起呈现。查看第三方内容项目的用户可以使用该联系信息来联系第三方内容提供者。
技术实现要素:
本公开的一个实施方式是一种用于从资源提取联系信息并且将其与内容项目相关联的计算机实现的方法。所述方法可以由处理电路来执行。所述方法包括从内容提供者接收内容项目以及统一资源定位符(URL),所述URL标识资源。所述方法进一步包括加载由所接收的URL标识的所述资源以及从所加载的资源检测多个联系信息。所述方法进一步包括计算所述多个联系信息中的每个联系信息的显著性分值以及基于所计算的显著性分值来选择所述多个联系信息中的一个。所述方法进一步包括将所选择的联系信息与所述内容项目相关联。
所述方法可以进一步包括:确定所接收的URL的域;在所述域下找到多个URL,多个URL中的每个标识距所接收的URL少于预定数目的弧的资源;以及其中,加载所述资源可以包括加载由所述多个URL标识的多个资源。加载所述资源可以包括:将所述资源解析成对象树;使用所述对象树来渲染所述资源;以及其中,检测多个联系信息可以进一步包括从所渲染的资源使用光学字符识别来检测多个联系信息。所述方法可以进一步包括:过滤所加载的资源的一部分;以及其中,检测多个联系信息可以包括从所加载的资源的未过滤部分中检测多个联系信息。
计算显著性分值可以包括:计算所述所述多个联系信息中的每个的显著性分值,显著性分值包括与相应联系信息相关联的多个信号的加权和。可以使用以下中的一个来计算信号:所述相应联系信息在所加载的资源上被示出的次数;其他联系信息在所加载的资源上被检测出的数目;相应联系信息的排版强调;所述联系信息在所加载的资源内的位置;在所加载的资源内位于所述相应联系信息附近的文本;或者与由所加载的资源引用的相应联系信息相关联的图像的显著性。
选择所述多个联系信息中的一个可以进一步包括剔除低于预定最小阈值数值的联系信息。选择所述多个联系信息中的一个可以包括:从所述多个联系信息中选出联系信息的子集;以及从所述内容提供者接收所述联系信息的子集中的所选择的联系信息。选择所述多个联系信息中的一个可以包括:响应于所选择的联系信息的所述相应显著性分值降至置信阈值以下,从所述内容提供者接收所选择的联系信息是正确的。所述联系信息可以包括电话号码、邮寄地址、电子邮件地址、传真号码、即时通讯句柄、社交媒体简档、支付信息或者银行路由号码中的一个。
本公开的另一实施方式是一种用于从资源提取联系信息并且将其与内容项目相关联的系统。所述系统包括接收器,其被配置成从内容提供者接收内容项目以及统一资源定位符(URL),所述URL标识资源。所述系统进一步包括加载器,其被配置成加载由所接收的URL识别的资源。所述系统进一步包括检测器,其被配置成从所加载的资源检测多个联系信息。所述系统进一步包括评分器,其被配置成计算所述多个联系信息中的每个的显著性分值。所述系统进一步包括选择器,其被配置成基于所计算的显著性分值来选择所述多个联系信息中的一个。所述系统进一步包括链接器,其被配置成将所选择的联系信息与所述内容项目相关联。
所述加载器可以进一步包括:确定所接收的URL的域;在所述域下找到多个URL,多个URL中的每个标识距所接收的URL少于预定数目的弧的资源;以及加载由所述多个URL标识的多个资源。所述加载器可以另外地或替选地进一步包括:将所述资源解析成对象树;使用所述对象树来渲染所述资源;以及其中,所述检测器可以进一步包括从所渲染的资源使用光学字符识别来检测多个联系信息。所述加载器可以附加地或替选地进一步包括:过滤所加载的资源的一部分;以及其中,所述检测器可以包括从所加载的资源的未被过滤部分检测多个联系信息。
所述评分器可以进一步包括计算所述多个联系信息中的每个的显著性分值,显著性分值包括与相应联系信息相关联的多个信号的加权和。所述评分器可以进一步包括使用以下中的一个来计算信号:所述相应联系信息在所加载的资源上被示出的次数;其他联系信息在所加载的资源上被检测出的数目;相应联系信息的排版强调;所述联系信息在所加载的资源内的位置;在所加载的资源内位于所述相应联系信息附近的文本;或者与由所加载的资源引用的相应联系信息相关联的图像的显著性。
所述选择器可以进一步包括剔除低于预定最小阈值数值的联系信息。所述选择器可以进一步包括:从所述多个联系信息中选出联系信息的子集;以及从所述内容提供者接收所述联系信息的子集中的所选择的联系信息。所述选择器可以进一步包括:响应于所选择的联系信息的所述相应显著性分值降至置信阈值以下,从所述内容提供者接收所选择的联系信息是正确的。所述联系信息可以包括电话号码、邮寄地址、电子邮件地址、传真号码、即时通讯名称、社交媒体简档、支付信息、或者银行路由号码中的一个。
在所述实施方式的每一个中,所述内容项目以及相关联的所选择的联系信息可以被选择以用于显示。所选择的内容可以被传送至与用户相关联的计算机以用于作为用户界面的一部分来显示。所述内容可以采取任何便利的形式,并且可以例如是交互式图形用户界面的组成部分。
应领会到,本发明的各方面能够以任何便利的形式来实现。例如,本发明可以通过适当的计算机程序来实现,所述计算机程序可以被携载在适当的载体媒介上,所述载体媒介可以是有形的载体媒介(例如,盘)或者无形的载体媒介(例如,通信信号)。本发明的方面也可以使用合适的装置来实现,所述装置可以采取布置被布置来实现本发明的运行计算机程序的可编程计算机的形式。本发明的方面可以被组合并且在一个方面的场境中所描述的特征可以与其他方面的特征相结合。
附图说明
本领域技术人员将认识到,本发明内容仅作出说明,并非旨在以任何方式作出限制。仅由权利要求书所定义的本文所述的设备和/或过程的其他方面、发明特征、和优点将变得显而易见。
在附图以及以下描述中阐述了一个或多个实施方式的细节。本公开的其他特征、方面和优点根据说明书、附图以及权利要求将变得显而易见,其中:
图1是根据所描述的实施方式的包括网络、第三方内容提供者、内容项目管理系统、第三方内容服务器、用户设备、资源服务器、以及内容项目选择系统的计算机系统的框图;
图2是用于从资源中提取联系信息并且将其与内容项目相关联的过程的一个实施方式的流程图;
图3是更加详细地图示图1的内容项目管理系统的一个实施方式的框图;
图4A、4B和、4C是显示多个联系信息的域下的说明性网页;
图5是图示具有所计算的显著性分值的从图4A至4C中的网页所检测到的多个联系信息的框图;以及
图6A和6B是与联系信息一起显示的说明性广告。
将认识到,附图中的一些或全部是出于说明目的的示意性表示。所述附图是出于说明一个或多个实施方式而提供,其中明确理解的是,它们不将被使用于限制权利要求书的范围或含义。
具体实施方式
下面更详细地描述与用于在计算机网络上提供信息的方法、装置、和系统相关的各个概念以及所述方法、装置、和系统的实施方式。由于上文介绍并且将在下文更加详细地讨论的各个概念并不限于任何特定方式的实施方式,因此所描述的概念可以以诸多方式中的任一方式来实现。具体实施方式以及应用主要是出于说明性目的而提供。
图1是包括网络101、第三方内容提供者102、内容项目管理系统104、第三方内容服务器106、用户设备108、资源服务器110、以及内容项目选择系统112的计算机系统100的框图。系统100可以被使用来从统一资源定位符(URL)所标识的资源中提取联系信息,所述URL由诸如第三方内容提供者102的内容提供者提供。所提取的联系信息与也由内容提供者提供的内容项目相关联。由URL标识的资源可以是内容项目的着陆页面,其可以被托管在资源服务器110上。
系统100可以使用至少一个计算机网络,诸如网络101。网络101可以包括局域网(LAN)、广域网(WAN)、诸如公共交换电话网络(PSTN)的电话网络、无线链路、内联网、互联网、或其组合。
第三方内容提供者102可以是由广告主或者任何其他内容提供者操作的计算设备。具有数据处理器的计算设备可以使用网络101来连接至内容项目管理系统104、第三方内容服务器106、用户设备108、资源服务器110、以及内容项目选择系统112。第三方内容提供者102也可以与内容项目管理系统104或者用户设备108通信。第三方内容提供者102可以创建内容项目——诸如文本、图像、视频、网页、或任何其他内容项目,或者将其提供给内容项目管理系统104。第三方内容可以与联系信息相关联,用户设备108能够使用所述联系信息来联系第三方内容提供者102。内容项目管理系统104可以将内容项目存储在第三方内容服务器106中。联系信息可以是电话号码、邮寄地址、电子邮件地址、传真号码、视频聊天句柄、即时通讯句柄、社交媒体简档、支付信息、银行路由号码(routing number)、或者提供用于与第三方交互的信息的任何其他联系信息。与第三方内容项目相关联的联系信息能够在向用户设备显示内容项目时连同该内容项目一起被显示或者被嵌入内容项目内,使得用户设备上的用户能够使用该联系信息来联系第三方内容提供者。例如,第三方内容提供者102可以与向用户设备上的用户显示的广告一起提供销售电话号码,使得用户能够通过销售电话号码来呼叫第三方内容提供者。第三方内容提供者102也可以提供与内容项目相关联的URL。URL可以引用存储在资源服务器110上的资源,诸如网页或者着陆页面。
在一些实施方式中,第三方内容提供者102可以与内容项目管理系统104连接以通过内容项目选择系统112来管理内容项目的选择和派发。例如,第三方内容提供者102可以经由用户界面设定出价(bid)值和/或选择准则,其可以包括关于内容项目的派发的一个或多个内容项目条件或约束。第三方内容提供者102可以指定应当对于具有与某个地理位置或地区、某个语言、某个操作系统、某个web浏览器等相关联的设备标识符的用户设备108来选择和派发内容项目和/或内容项目的集合。在另一实施方式中,第三方内容提供者102可以指定,当诸如网页、文档、应用等资源包含与某些关键词、短语等匹配或相关的内容项目时,内容项目或内容项目的集合应当被选择和派发。第三方内容提供者102可以为若干内容项目设定单个出价值、为内容项目的子集设定出价值、和/或为每个内容项目设定出价值。第三方内容提供者102也可以设定出价值的类型,诸如:基于用户是否点击第三方内容项目的出价、基于用户是否基于第三方内容项目的呈现来执行特定动作的出价、基于第三方内容项目是否被选择和派发的出价、和/或其他类型的出价。
内容项目管理系统104能够是数据处理系统。内容项目管理系统104能够包括诸如具有数据处理器的计算设备的至少一个逻辑设备,以经由网络101例如与第三方内容提供者102、第三方内容服务器106、用户设备108、资源服务器110、以及内容项目选择系统112通信。一个或多个处理器可以被配置来执行存储在存储器设备中的指令以实施本文所述的一个或多个操作。换言之,内容项目管理系统104的一个或多个数据处理器和存储器设备可以形成处理模块。内容项目管理系统104可以与第三方内容服务器106、内容项目选择系统112、或者资源服务器110组合在一个或多个计算设备中。例如,内容项目选择模块可以是内容项目管理系统104的一部分。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或者其组合。存储器可以包括但不限于电子、光学、磁性、或者能够向处理器提供程序指令的任何其他存储或传输设备。存储器可以包括软盘、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)、磁盘、存储器芯片、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、光介质、或者处理器能够从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、HTML、XML、以及Visual处理器可以处理指令并且输出数据以实现从由第三方内容提供者102所提供的URL所引用的资源提取联系信息。处理器也可以处理指令以经由网络101来接收数据并且将来自内容项目管理系统112的数据提供给第三方内容提供者102。除处理电路之外,内容项目管理系统110可以包括被配置来存储数据的一个或多个数据库。数据存储设备可以通过网络101来被连接至内容项目管理系统104。在操作中,根据本公开的内容项目管理系统104从第三方内容提供者102接收内容项目和URL。URL标识特定的资源。内容项目管理系统104加载URL所标识的资源。多个联系信息被检测。对于多个联系信息中的每个来计算显著性分值。基于所计算的显著性分值来选择多个联系信息中的一个,并且将所选择的联系信息与内容项目相关联。关于图3来更加详细地描述内容项目管理系统。
第三方内容服务器106能够包括被配置来存储第三方内容项目的计算设备,诸如服务器。第三方内容服务器106可以经由网络101来直接或间接地将第三方内容项目提供给内容项目管理系统104、用户设备108、资源服务器110、内容项目选择系统112、和/或其他计算设备。第三方内容服务器106可以是计算机服务器(例如,文件传输协议(FTP)服务器、文件共享服务器、web服务器等)、服务器的组合(例如,数据中心、云计算平台等)。在一些实施方式中,第三方内容服务器106可以是能够存储第三方内容提供者数据、用户简档数据、内容项目数据、核算数据、竞拍数据、或者由内容项目管理系统104、内容项目选择系统112、或者计算系统100的另一组件使用的任何其他类型的数据的任何类型的存储器设备。第三方内容服务器106可以包括任何类型的非易失性存储器、介质、或者存储器设备。例如,第三方内容服务器106可以包括半导体存储器设备(例如,EPROM、EEPROM、闪速存储器设备等)、磁盘(例如,内置硬盘、可移动盘等)、磁光盘、和/或CD ROM和DVD-ROM盘。在一些实施方式中,第三方内容服务器106在内容项目管理系统104、内容项目选择系统112、或者资源服务器110本地。在其他实施方式中,第三方内容服务器106是经由网络101与内容项目管理系统104和/或内容项目选择系统112相连接的远程数据存储设备。在一些实施方式中,第三方内容服务器106是能够从内容项目管理系统104和/或内容项目选择系统112接收查询并且对其进行响应的数据存储服务器或系统的一部分。在一些实例中,第三方内容服务器106可以被集成到内容项目管理系统104或者内容项目选择系统112中。在一些实例中,第三方内容项目可以被存储在内容项目管理系统104或者内容项目选择系统112的数据库中。在一些实施方式中,第三方内容提供者102或者内容项目管理系统104可以在第三方内容服务器106中存储新的内容项目或者删除旧的内容项目。在一些实施方式中,用户设备108、资源服务器110以及内容项目选择系统112可以请求第三方内容服务器106中所存储的内容项目。
存储在第三方内容服务器106中的内容项目可以处于可以在用户设备108的显示器上呈现的任何格式,例如,图形、文本、图像、音频、视频等。内容项目也可以是这些格式的组合或混合。内容项目可以是网幅内容项目、插播式内容项目、弹出式内容项目、丰富媒体内容项目、混合内容项目、内容项目、跨域iframe内容项目等。内容项目也可以包括嵌入式信息,诸如超链接、元数据、链接、机器可执行指令、注释等。
第三方内容服务器106可以具有多个第三方内容项目,它们来自例如不同的第三方内容提供者。在一些实施方式中,第三方内容提供者102、资源服务器110、和/或用户设备108能够与多个第三方内容服务器106和内容项目选择系统112通信。资源服务器110可以在多个第三方内容服务器106之间交替或者对于网页的特定内容项目槽位使用第三方内容服务器106。
用户设备108可以包括任何数目和/或类型的用户可操作电子设备。例如,用户设备108可以包括桌面计算机、膝上型计算机、智能电话、可穿戴设备、智能手表、平板计算机、个人数字助理、用于电视机的机顶盒、智能电视、游戏控制台设备、移动通信设备、远程工作站、客户端终端、娱乐控制台、或者被配置成经由网络101与其他设备通信的任何其他设备。一些用户设备能够被用于拨打广告主的电话号码、定位地址、或者使用支付信息来转账。用户设备108可以有能力接收来自资源服务器110的资源和/或来自内容项目选择系统112、第三方内容服务器106、和/或资源服务器110的第三方内容项目。用户设备108可以是包括数据处理器和存储器的任何形式的电子设备。存储器可以存储机器指令,所述机器指令在由处理器来执行时使得处理器请求资源、加载资源、以及请求内容项目。存储器也可以存储数据以用于实现在计算设备上呈现一个或多个资源、内容项目等。处理器可以包括微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、或者其组合。存储器可以包括但不限于电子、光学、磁性、或者能够向处理器提供程序指令的任何其他存储或传输设备。存储器可以包括软盘、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)、磁盘、存储器芯片、只读存储器(ROM)、随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、闪速存储器、光介质、或者处理器能够从其读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码,诸如但不限于C、C++、C#、HTML、Visual以及XML。
用户设备108能够执行软件应用(例如,web浏览器、视频游戏、聊天程序、移动应用、或者其他应用)以通过网络101从其他计算设备请求和检索资源和内容。这样的应用可以被配置来从资源服务器110检索资源以及第一方内容。第一方内容能够包括文本、图像、动画、视频、和/或音频信息。在一些情况下,在用户设备108上运行的应用本身可以是第一方内容(例如,游戏、媒体播放器等)。第一方内容能够包含第三方内容或者要求用户设备从第三方内容服务器请求第三方内容。用户设备108可以包括用户接口元件(例如,电子显示器、扬声器、键盘、鼠标、麦克风、打印机等)以用于向用户呈现内容、接收用户输入、或者促进用户与电子内容的交互(例如,点击内容项目、悬停在内容项目上方等)。
在一些实施方式中,用户设备108包括应用(例如,web浏览器、资源渲染器等)以用于将电子内容转换成用户可理解的格式(例如,视觉、听觉、图像等的格式)。例如,用户设备108可以执行web浏览器应用,其在用户设备的显示器上提供浏览器窗口。提供浏览器窗口的web浏览器应用可以通过从输入设备(例如,指示设备、键盘、触摸屏、或者其他形式的输入设备)或者从存储器元件接收诸如web地址的统一资源定位符(URL)的输入来操作。作为响应,执行来自web浏览器应用的指令的用户设备108的一个或多个处理器可以从URL地址所引用的连接至网络101的另一设备(例如,资源服务器110)请求数据。然后,接收请求的计算设备可以将网页数据和/或其他数据提供给用户设备108,该用户设备108使得视觉标记(indicia)被用户设备108的显示器显示。因此,浏览器窗口显示所检索的诸如来自各个网站的网页的第一方内容以促进用户与第一方内容的交互。用户设备108可以充当用于允许用户查看HTML编码的内容的用户代理。第三方内容能够连同第一方内容一起被显示。第三方内容可以或者可以不与第一方内容的主题相关。第三方内容能够通过第三方内容服务器106来被提供给用户设备108以及资源服务器110。用户设备108可以包括能够处理嵌入式信息(例如,被嵌入超链接中的元信息等)以及执行嵌入式指令的处理器。嵌入式指令可以包括与其中呈现了第三方内容项目的内容项目槽位相关联的计算机可读指令(例如,软件代码、等)。
在一个说明性实例中,使用web浏览器的用户设备108能够浏览由网页发布者提供的网页。网页发布者可以是第一方内容提供者并且网页可以是第一方内容。网页能够由资源服务器110来提供。用户设备108加载网页,该网页包含第三方内容项目,诸如广告。在一些实施方式中,资源服务器110可以从广告服务器接收广告并且将该广告同网页一起提供给用户设备108。广告服务器可以是第三方内容服务器106。例如,网页发布者可以提供搜索引擎结果并且可以向广告提供搜索结果。在其他实施方式中,网页可以包含直接或者间接地引用广告服务器的链接。例如,当用户设备上的web浏览器加载网页时,用户设备从广告服务器请求广告并且接收该广告。广告服务器接收来自广告主的广告。广告主可以是第三方内容提供者106。广告主可以创建或提供信息以生成广告。广告可以链接至着陆页面,该着陆页面能够是另一网页或者资源。链接能够由广告主来提供。广告也能够包含广告主的联系信息。
在一些实施方式中,用户设备108能够检测与所分发的内容项目的交互。与内容项目的交互可以包括显示内容项目、悬停在内容项目上方、点击内容项目、查看内容项目的源信息、或者用户设备108与内容项目之间的任何其他类型的交互。与内容项目的交互并不需要用户关于特定内容项目作出的明确动作。在一些实施方式中,闪现(impression)(例如,显示或呈现内容项目)可以有资格作为交互。用于定义哪些用户动作(例如,主动或被动的的用户动作)有资格作为交互的准则可以由内容项目选择系统112或者由内容项目管理系统104在个体的基础上(例如,对于每个内容项目)来确定。
用户设备108可以生成各种用户动作。例如,用户设备108可以响应于所检测到的与内容项目的交互来生成用户动作。用户动作可以包括多个属性,所述属性包括内容标识符(例如,内容ID或者签名元素)、设备标识符、作出引用的URL标识符、时间戳、或者任何其他描述交互的属性。当特定动作被用户设备执行时(例如,资源查看、在线购物、搜索查询被提交等),用户设备108可以生成用户动作。由用户设备108生成的用户动作可以被传输至点击服务器、内容项目管理系统104、或者单独的核算系统。
在一些实施方式中,系统100可以进一步包括点击服务器。在一些实施方式中,点击服务器可以是内容项目选择系统112、内容项目管理系统104、或者连接至网络101的另一服务器的一部分。在一些实施方式中,点击服务器可以是连接至网络101的单独服务器。当用户与用户设备108从内容项目选择系统112接收的内容项目进行交互时,点击服务器从用户设备108接收请求。例如,用户可以通过选择连同内容项目一起提供的联系信息来参与(engage)内容项目。点击服务器可以接收请求并且更新存储在内容项目管理系统104或者第三方内容服务器106中的效能度量。例如,度量可以是用户与广告的参与(engagement)。表现度量可以以与所提供的第三方内容项目相关联的方式来被存储在第三方内容服务器106中。点击服务器可以将用户设备108重定向到存储在资源服务器110中的资源,其中,资源可以是通过第三方内容提供者102所提供的URL所标识的着陆页面。
对于此处所讨论的系统收集关于用户的个人信息或者可以使用个人信息的情况,可以向用户提供机会来控制程序或者特征是否收集用户信息(例如关于用户的社交网络、社会动作或活动、职业、用户偏好、或者用户的当前位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户较为相关的内容项目。此外,在存储或者使用某些数据之前,可以以一个或多个方式对其进行处理(例如,通过内容项目选择系统112来处理),使得个人可识别信息被去除。例如,用户的身份可以被处理以使得无法确定用户的个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码、或者州层级),使得用户的具体位置无法被确定。因此,用户可以控制内容项目选择系统112如何收集(例如由应用,由用户设备108等)和使用信息的方式。
资源服务器110能够包括多个计算设备。计算设备可以是服务器,其被配置来托管资源,诸如网页或者其他资源(例如,文章、评论主题(thread)、音乐、视频、图形、搜索结果、信息馈送等)。资源服务器110可以是计算机服务器(例如,文件传输协议(FTP)服务器、文件共享服务器、web服务器等)或者服务器的组合(例如,数据中心、云计算平台等)。一个资源服务器110能够将资源数据或者其他内容(例如,文本文档、PDF文件、以及其他形式的电子文档)提供给用户设备108,并且另一个资源服务器110能够将由第三方内容提供者提供的URL所引用的资源连同内容项目一起提供。例如,一个资源服务器能够托管发布者的网页或者搜索引擎,并且另一个资源服务器能够托管资源——诸如由广告主引用的着陆页面;在一些实例中,一个资源服务器110可以托管这两个资源。第一方内容提供者能够将第一方内容提供给资源服务器110。资源服务器110可以向第三方内容服务器106请求第三方内容并且将所接收的第三方内容连同第一方内容一起传送至用户设备108。在一个实施方式中,用户设备108能够经由网络101访问资源服务器110来请求数据以实现对资源服务器110的资源的呈现。在一个实施方式中,内容项目管理系统104能够经由网络101访问另一资源服务器110来请求由第三方内容提供者102提供的URL所引用的资源。
由资源服务器110提供的资源可以包括能够通过网络101来被提供的任何类型的信息或数据结构。在一些实施方式中,资源可以由与资源服务器110相关联的资源地址(例如,URL)来标识。资源可以包括网页(例如,HTML网页、PHP网页等)、文字处理文档、便携式文档格式(PDF)文档、图像、视频、编程元素、交互式内容、流送视频/音频源、或者其他类型的电子信息。由资源服务器110提供的资源可以是网页、本地资源、内联网资源、互联网资源、或者其他网络资源。在一些实施方式中,资源包括一个或多个网页,当用户设备108与由内容项目选择系统112提供的第三方内容项目进行交互时用户设备108被指引到该所述一个或多个网页(例如,经由嵌入式超链接来指引)。资源可以包含对其他资源或者网页的引用,诸如超链接。例如,第一方内容可以包含到相同的URL域或子域内的其他第一方内容的链接。在另一实例中,第三方内容项目可以包含到其他资源或网页的引用。
内容项目选择系统112能够包括诸如具有数据处理器的计算设备的至少一个逻辑设备,以经由网络101例如与第三方内容提供者102、第三方项目管理系统104、第三方内容服务器106、用户设备108、和/或资源服务器110通信。在一些实施方式中,内容项目选择系统112可以包括第三方内容服务器106。内容项目选择系统112能够包括服务器,诸如广告服务器或其他。
在一个实施方式中,内容项目选择系统112能够经由网络101接收对于内容项目的请求。所接收的请求可以从资源服务器110、用户设备108、和/或系统100中的任何其他计算设备来被发送。资源服务器110可以由第一方内容提供者所拥有或操作。资源服务器110或者资源可以包括指令以用于使一个或多个内容项目选择系统12向第三方内容项目提供资源服务器110上的第一方内容提供者的一个或多个资源。在一个实施方式中,资源可以包括网页。用户设备108可以是由用户操作的(由设备标识符表示的)计算设备,例如该计算设备在访问资源服务器110的资源时能够向内容项目选择系统112作出对于待与资源一起被呈现的内容项目的请求。内容项目请求能够包括作出请求的设备的信息(例如,web浏览器类型、操作系统类型、来自作出请求的设备的一个或多个先前的资源请求、由作出请求的设备接收到的一个或多个先前的内容项目、对于作出请求的设备的语言设置、作出请求的设备的地理位置、作出请求的设备处的日期、作出请求的设备处的周内日、作出请求的设备处的月内日、作出请求的设备处的年内日等)以及资源信息(例如,所请求的资源的URL、与所请求的资源相关联的一个或多个关键词、资源的内容的文本、资源的标题、资源的类别、资源的类型等)。内容项目选择系统112接收的信息能够包括超文本传输协议(HTTP)cookie,其包含表示用户设备108的设备标识符(例如,随机数)。在一些实施方式中,设备信息和/或资源信息可以被附加到内容项目请求URL(例如,contentitem.item/page/contentitem?devid=abcl23&devnfo=A34r0)。在一些实施方式中,设备信息和/或资源信息可以在被附加至内容项目请求URL之前被编码。作出请求的设备的信息和/或资源信息可以由内容项目选择系统112利用来选择第三方内容项目以与所请求的资源一起被派发并且被呈现在用户设备108的显示器上。
在一些实例中,对于内容项目的请求可以是网页或者其他资源(例如,应用)的一部分,所述网页或其他资源包括一个或多个内容项目槽位,其中可以显示所选择和所派发的第三方内容项目。定义网页或者其他资源的内容项目槽位的代码(例如,HTML等)可以包括指令以用来从内容项目选择系统112请求第三方内容项目来与网页一起被呈现。在一些实施方式中,代码可以包括具有可以包括一个或多个参数的内容项目请求URL(例如,/page/contentitem?devid=abcl23&devnfo=A34r0)的图像请求。在一些实施方式中,这样的参数可以是已编码的字符串,诸如“devid=abcl23”和/或“devnfo=A34rO”。
内容项目选择系统112在选择和派发第三方内容项目以用于经由互联网或其他网络来与所请求的资源一起呈现时,可以被利用内容项目管理系统104的第三方内容提供者102控制或以其他方式受其影响。例如,第三方内容提供者102可以指定在对第三方内容项目的选择中所使用的选择准则(诸如关键词)以及对应的出价值。竞拍内容项目选择系统112可以在竞拍中利用该出价值来选择和派发内容项目以用于与资源一起呈现。例如,第三方内容提供者可以在竞拍进行出价,该出价对应于如果用户与提供者的内容项目进行交互则竞拍支付一定金额的协定(例如,提供者同意如果用户点击该提供者的内容项目则支付$3)。在其他实例中,第三方内容提供者102可以在竞拍中进行出价,该出价对应于如果内容项目被选择和派发则竞拍支付一定金额的协定(例如,提供者同意每当内容项目被选择和派发时就支付$0.005或者提供者同意每当内容项目被选择或点击时就支付$0.05)。在一些实例中,内容项目选择系统112使用内容项目交互数据来确定第三方内容提供者的内容项目的效能。例如,比起其他内容,用户可能更倾向于点击某些网页上的第三方内容项目。因此,对于高效能的网页、网页的类别放置第三方内容项目的竞拍出价可以较高,和/或其他准则;而对于低效能的网页、网页的类别出价可以较低,和/或其他准则。
在一些实例中,内容项目选择系统112可以确定第三方内容项目的一个或多个效能度量,并且内容项目管理系统104可以经由用户界面将对这样的效能度量的指示提供给第三方内容提供者102。例如,效能度量可以包括每闪现成本(CPI)或者每一千闪现成本(CPM),其中,例如,每当内容项目被选择来派发以用于与资源一起呈现时,可以对闪现计数。在一些实例中,效能度量可以包括点进率(CTR),其被定义为对内容项目的点击数目除以闪现数目。在一些实例中,效能度量可以包括每参与成本(CPE),其中当用户以指定方式与内容项目进行交互时可以对参与计数。参与能够是在社交站点上共享内容项目的链接、提交电子邮件地址、参加调查、或者观看视频至结束。还可以使用其他效能度量,可以使用诸如每动作成本(CPA)(其中动作可以是对内容项目或者其中链接的点击、对产品的购买、对内容项目的推介(referral)等)、转化率(CVR)、每点进成本(CPC)(当内容项目被点击时计数)、每销售成本(CPS)、每引导注册(lead)成本(CPL)、有效CPM(eCPM)、和/或其他效能度量。在内容项目选择、内容项目呈现、用户点击、或者用户参与之前、期间、或之后,可以测量各个效能度量。在一些实施方式中,效能度量可以由点击服务器来测量。
基于若干影响因素,诸如预测的点进率(pCTR)、预测的转化率(pCVR)、与内容项目相关联的出价等,内容项目选择系统112可以选择第三方内容项目以资源一起派发。这样的影响因素可以被用于生成值,诸如分值,竞拍内容项目选择系统112可以通过竞拍来将该分值与其他内容项目的其他分值进行比较。
在对于诸如网页的资源的内容项目槽位的竞拍期间,内容项目选择系统112可以利用由第三方内容提供者12对于各个第三方内容项目所指定的若干不同类型的出价值。例如,竞拍可以包括:基于用户是否点击第三方内容项目的出价、基于用户是否基于第三方内容项目的呈现来执行特定动作的出价、基于第三方内容项目是否被选择和派发的出价、和/或其他类型的出价。例如,基于第三方内容项目是否被选择和派发的出价可以是较低的出价(例如,$0.005),而基于用户是否执行特定动作的出价可以是较高的出价(例如,$5)。在一些实例中,出价可以被调整以虑及与出价的类型相关联的概率和/或出于其他原因而被调整。例如,用户执行特定动作的概率可能低,诸如0.2%,而被选择和被派发第三方内容项目的概率可能是100%(例如,如果被选择和被派发的内容项目在竞拍期间被选择则其就会发生,所以不调整出价)。因此,基于出价值以及率或另一修正值,可以生成诸如分值或标准化值的值以在竞拍中被使用。在先前的实例中,基于第三方内容项目是否被选择和派发的出价的值或分值可以是$0.005*1.00=0.005,并且基于用户是否执行特定动作的出价的值或分值可以是$5*0.002=0.01。为使所产生的收入最大化,内容项目选择系统112可以竞拍选择具有来自竞拍的最高值的第三方内容项目。在前述实例中,内容项目选择系统112可以由于与基于用户是否执行特定动作的出价相关联的值或分值较高来选择与该出价相关联的内容项目。
一旦内容项目选择系统112选择了第三方内容项目,用于实现在用户设备108的显示器上对该第三方内容项目的呈现的数据便可以使用网络101而被提供给用户设备108。用户设备108的用户可以选择或点击所提供的第三方内容项目。在一些实例中,与第三方内容项目相关联的URL可以引用另一资源,诸如网页或者着陆页面。在其它实例中,URL可以引用回内容项目选择系统112、第三方内容服务器116、或者内容项目管理系统104。更新一个或多个度量,诸如点进或参与,并且将用户设备重新定向到已经由第三方内容提供者102连同第三方内容项目一起提供的资源,诸如网页或者着陆页面。
图2是用于从资源中提取联系信息并且将其与内容项目相关联的过程的一个实施方式的流程图。简而言之,所述方法大体上包括从内容提供者接收内容项目和URL,该URL标识资源(步骤210),加载由所接收的URL标识的资源(步骤220),以及从所加载的资源中检测多个联系信息(步骤230)。所述方法还包括计算每个联系信息的显著性分值(步骤240),基于所计算的显著性分值来选择多个联系信息中的一个(步骤250),以及将所选择的联系信息与内容项目相关联(步骤260)。所述方法可以可选地包括确定URL的域(步骤215)(在虚线视图中示出),以及过滤所加载的资源的一部分(步骤225)(在虚线视图中示出)。在其他实施方式中,这些步骤能够以不同的顺序来执行。
仍参照图2,并且更具体的,所述方法包括从内容提供者接收内容项目和URL,该URL标识资源(步骤210)。在一些实施方式中,内容项目与URL相关联。例如,由URL标识的资源可以是内容项目的着陆页面。内容项目以及URL可以被从第三方内容提供者102被发送并且在内容项目管理系统104处被接收。在一些实施方式中,仅接收URL并且从由所接收的URL识别的资源中生成内容项目。例如,可以加载由URL引用的资源,并且可以组合来自该资源的各个元素以生成内容项目。在一些实施方式中,仅接收内容项目并且该内容项目包含URL。
URL可以引用被托管在资源服务器110或者第三方内容提供者102上的资源。所接收的URL可以识别资源,该资源是所接收的内容项目的网页或者着陆页面。资源可以由第三方内容提供者102来维护。内容项目可以是由第三方内容提供者102提供的关于资源的产品、服务、促销、优惠券的广告等。例如,第三方内容提供者102可以是在线零售商,资源可以是在线零售商的网页,并且内容项目可以是用于网页的广告。
如图2所示,所述方法可选地包括确定URL的域(步骤215)。URL的域能够通过将URL解析为文本字符串而被识别。在一些实施方式中,可以解析URL以识别URL的域。可以使用正则表达式、文本搜索、模式识别、以及本领域已知的其他方式来识别URL的域。
在一些实施方式中,所述域是根域。在其他实施方式中,所述域是子域。例如,URL可以是https://sub.example.com,其中,“example”是根域,并且“sub”是子域。一些URL可以具有多个层级的子域。在一些实施方式中,可以确定多个域,每个域具有不同的域层级。例如,可以确定URL的根域以及子域。在一些实施方式中,基于每个域中可用资源的数目来选择域中的一个。在一些实施方式中,基于域的类型来选择域中的一个。
在一些实施方式中,基于将域与域的列表进行比较来选择URL的域中的一个。域的列表可以被存储在内容项目管理系统104、内容项目选择系统112、资源服务器110、或者计算机系统100中的任何其他组件中。可以将URL中每个层级的域与域的列表进行比较。在一些实施方式中,可以首先比较根域,并且以域层级的顺序来比较子域。在一些实施方式中,可以首先比较最低层级的域,并且以域层级的倒序来比较更高层级的域。域的列表可以存储可以包括由多个组织或用户控制的子域的域。例如,所述列表可以包括example.com,其中example.com可以具有子域parent1.example.com以及parent2.example.com,每个子域由不同的组织或用户控制或者拥有。所述方法可以包括从根域或者一个或多个子域中的一个选择域,使得所选择的域不出现在域的列表中。例如,所接收的URL可以是parent1.example.com。可以首先将根域example.com与域的列表进行比较。在域中找到根域并且因此其没有被选择。将子域parent1.example.com与域的列表相比较。在域的列表中可能没有找到该子域,并且因此该子域被选择。
在一些实施方式中,基于查找控制URL中的一个或多个域的组织或者用户来选择域中的一个。可以选择仅由一个组织或者用户所控制的、具有最高层级的域。每个域的组织或者用户可以被存储在内容项目管理系统104、内容项目选择系统112、资源服务器110、或者计算机系统100中的任何其他组件中。例如,可以将控制根域example.com的组织确定为Example Inc.,并且可以将控制子域parent1.example.com的组织确定为parent1Inc.。可以找到由不同的组织控制的根域下的另一子域,诸如parent2.example.com。作为响应,可以在根域example.com上选择子域parent1.example.com。
在一些实施方式中,所述方法可以包括选择最低层级的域。如果没有从所加载的资源中提取出联系信息,或者如果没有从多个联系信息中选择联系信息,则可以选择更高级别的域。该过程能够重复直至到达根域。
域可以被用于在域下找到多个URL,多个URL中的每个标识距所接收的URL所标识的资源少于预定数目的弧(arc)的资源。弧是从一个资源向另一个资源的链接或者引用。例如,网页可以包括指向另一个网页的超链接。弧的预定数目可以被设定来限制距由所接收的URL所识别的资源以链接计的最大距离,由此限制从由多个URL引用的多个资源所检测到的联系信息的数目。例如,如果将弧的预定数目设定为1,则多个URL会包括所接收的URL以及由所接收的URL所标识的资源所引用的一个或多个URL。在一些实施方式中,首先加载由所接收的URL识别的资源,并且如果没有检测到联系信息,则可以加载由多个URL识别的每个资源并且可以从每个资源检测联系信息。如果以1个链接的距离没有在资源中检测到联系信息,则以2个链接的距离来加载多个资源。该距离被增加直至达到指定以链接计的最大距离的弧的预定数目、直至检测到联系信息、或者直至检测到具有高于阈值分值的显著性分值的联系信息。
在一些实施方式中,web爬虫或者web机器人可以爬行或导航至所接收的URL并且找到该域下的多个URL。例如,web爬虫可以加载由所接收的URL引用的资源并且在资源中找到一个或多个URL。然后,web爬虫可以加载由该一个或多个URL引用的一个或多个资源,并且在该一个或多个资源中的每个中找到另一URL的集合。这个过程重复预定的次数,该预定的次数与弧的预定数目相对应。
在一些实施方式中,数据库或者存储器元件存储多个URL。数据库或者存储器元件可以是搜索引擎、内容项目管理系统104、第三方内容服务器106、或者内容项目选择系统112的一部分。可以利用域以及预定数目的弧来对数据库或者存储器元件进行查询以检索多个URL。例如,数据库可以存储域下的多个URL的有向图,该有向图中的节点表示域下的URL,并且弧表示该URL所标识的资源之间的链接。
如图2所示,所述方法进一步包括加载由所接收的URL标识的资源(步骤220)。内容项目管理系统104可以从托管该资源的资源服务器110请求资源。作为响应,资源服务器110可以将该资源发送至内容项目管理系统104。在一些实施方式中,将资源作为文本字符串加载到存储器中,例如作为超文本标记语言(HTML)文件来加载。在其他实施方式中,可以将资源解析为对象树并且渲染为网页。
例如,可以将资源解析成对象树,诸如文档对象模型(DOM)树。DOM树可以是特定资源的层级模型。DOM树可以包括资源的图像信息(例如,图像URL、显示位置、显示大小、替选(alt)文本等)、字体信息(例如,字体名称、字体大小、字体效果等)、色彩信息(例如,RGB色值、十六进制颜色码等)、以及文本信息。
在另一实例中,资源可以被渲染以创建资源的快照图像。快照图像可以是特定资源的视觉表示。快照图像可以在渲染资源之后如其被呈现在用户接口设备(例如,电子显示屏、计算机监视器、触摸敏感显示器等)上那样来图示资源的视觉外观。快照图像可以包括色彩信息(例如,像素颜色、亮度、饱和度等)。在一些实施方式中,快照图像可以是具有任何可行的文件扩展名(例如,.jpg、.png、.bmp等)的图片文件。
在一些实施方式中,资源可以包含对被呈现在网页上的其他内容项目——诸如图像的引用。在一些实施方式中,不加载或渲染所引用的其他内容项目。例如,其他内容项目可以是广告,其没有与网页一起被加载或渲染。在找到域下的多个URL的实施方式中,可以将由多个URL标识的多个资源加载到存储器中。可以将多个资源中的每个资源存储在存储由所接收的URL标识的资源的资源服务器110中或者存储在其互联网协议地址解析至相同域的不同资源服务器110中。
如图2所示,所述方法可选地包括过滤所加载的资源的一部分(步骤225)。在一些实施方式中,通过删除加载到存储器中的资源的一部分,可以过滤资源的所识别的部分。例如,在将资源的文本加载到存储器中的实施方式中,在存储器中删除资源的文本的部分。在另一实例中,在将资源解析为对象树的实施方式中,在存储器中删除与所过滤的部分相对应的节点。在一些实例中,将资源的所过滤的部分的位置存储在列表中或者另一数据结构中。在多个资源被加载的实施方式中,可以过滤多个资源中的每个资源的一部分。在一些实施方式中,可以过滤整个资源。在一些实施方式中,不过滤资源的任何部分。在一些实施方式中,所过滤的部分可以对应于第三方内容项目或者广告。通过找到将所加载的资源的对应部分指示为第三方内容项目的标签或者节点,可以删除第三方内容项目。
所过滤的部分可以是用户内容,即由访客或者网页的用户而非网页的发布者或主人所编写的内容。例如,一些网页可以具有评论区,其中任何用户都可以写出他自己的评论。可以通过搜索遍历所加载的资源来检测这些评论区。在一些实施方式中,所加载的资源的标签或节点可以指示资源的对应部分是评论。在一些实施方式中,可以通过找到具有用户名的时间或者日期签名来检测位于与被识别为评论的所加载的资源的部分接近的评论。通过分析所加载的资源——诸如通过解析层叠样式表(CSS)或者将资源渲染为网页——可以确定接近度。在一些实施方式中,通过找到嵌入在第二资源中的第三方评论系统,可以检测评论或者评论区。在一些实施方式中,可以检测在多个第二资源中反复出现的用户名或者与用户名相关联的签名。可以过滤接近于用户名或者签名的内容。
如图2所示,所述方法进一步包括从所加载的资源中检测多个联系信息(步骤230)。在检测多个联系信息的过程中,忽略所加载的资源的所过滤的部分。例如,潜在联系信息可能处于网页的评论区中,在此情形下,该潜在联系信息没有被检测为多个联系信息中的一个。在将所过滤的部分的位置存储在列表中的实施方式中,对比该列表来检查在资源上找到的任何潜在联系信息。如果潜在联系信息位于列表中所指定的位置中,则不将该潜在联系信息选择为多个联系信息中的一个。在一些实施方式中,可以从资源的隐藏部分检测联系信息。资源的隐藏部分可以由资源的标签或者节点来指定。在将资源作为文本加载到存储器中的实施方式中,正则表达式、模式识别、以及其他文本搜索能够被用于找到多个联系信息。在可以将资源解析为对象树并且渲染的实施方式中,可以经由例如光学字符识别来从所渲染的资源中检测联系信息。在加载多个资源的实施方式中,多个联系信息可以是在多个资源中的每个资源中所检测到的全部联系信息的聚合。可以忽略多个资源中的每个资源的所过滤的部分。在一些实施方式中,检测多个联系信息包括提取多个联系信息。
在资源或者多个资源中,能够检测第三方内容提供者102的联系信息。联系信息可以是电话号码、邮寄地址、电子邮件地址、传真号码、视频聊天句柄、即时通讯句柄、社交媒体简档、支付信息、银行路由号码、或者任何其他联系信息。在一些实施方式中,可以检测预定类型的联系信息。例如,可以仅从资源中检测电话号码。在另一实例中,可以仅从资源中检测电话号码以及邮寄地址。在又一实例中,可以检测任何类型的联系信息。不同的规则集合可以被使用来依赖于联系信息的类型来检测联系信息。例如,一个规则集合可以被使用来检测电话号码,并且另一个规则集合可以被使用来检测邮寄地址。在一些实施方式中,可以在网页的一个部分中检测多个联系信息。例如,地址可以接近于资源中的电话号码。
用于检测不同类型的联系信息的规则集合可以被实现为模块。规则集合可以被用于检测电话号码、邮寄地址、电子邮件、传真号码、视频聊天句柄、即时通讯句柄、支付信息、银行路由号码、或者社交媒体简档。例如,检测视频聊天句柄可以包括搜索资源以获取嵌入的统一资源标识符(URI)。
更具体地描述用于检测电话号码的规则集合。在一些实施方式中,当检测联系信息时可以虑及各种惯例和格式。电话号码惯例可以指定潜在联系信息是否是有效的电话号码。电话号码格式可以指定编电话号码的各种常用方式。例如,在美国以及其他北美编号方案国家中,电话号码可以包括十位数,其中前三位数是区域码。可以将区域码置于括号内或者可以用破折号或者句点将区域码与其他四个数字分隔。十位数内可以包括前缀号码1。例如,资源可以包含包括十位数的号码,其中前三位数由破折号分隔。然后,可以将号码检测为联系信息。在一些实施方式中,可以应用多个国家和地区的惯例和格式。例如,印度的电话号码也是十位数。在从资源或者多个资源检测电话号码的过程中,如果潜在电话号码具有十位数,则将其与美国电话号码的规则集合以及印度电话号码的规则集合进行比较。
在一些实施方式中,可以从URL检测URL的国家代码顶级域以确定使用哪一规则集合来检测联系信息。例如,如果URL的国家代码顶级域是“.us”,则遵循美国电话号码的规则集合的电话号码可以被检测为联系信息。在一些实施方式中,域名可以被解析为因特网协议(IP)地址,之后能够使用其来找到资源服务器110的地理位置。在一些实施方式中,可以确定用户设备108的位置。地理位置能够被用于确定使用哪个规则集合来检测联系信息。例如,如果地理位置指示资源服务器110或者用户设备108位于北加利福尼亚州,则可以使用用于检测美国的电话号码的规则集合。在另一实例中,可以使用检测具有与北加利福尼亚州相对应的区域码的美国的电话号码的规则集合。
更具体地描述用于检测邮寄地址的规则集合。邮寄地址可以包括国家、邮政编码、县、州、城镇、村庄、市区、地区、街道、街道号码、单元号码、公司名称、或者邮寄地址的任何其他部分中的一个或多个。邮寄地址惯例可以指定邮寄地址的不同部分的顺序以及首字母缩略词、缩写、前缀、和后缀。通过使用正则表达式、模式识别、以及其他文本搜索来搜索资源的文本,可以找到地址的一个或多个部分。例如,正则表达搜索可以找到美国的地址的五位数或者九位数邮政编码。可以靠近邮寄地址的已找到部分来检测地址的其他部分。例如,可以在已找到的邮政编码之前找到州名缩写,诸如加利福尼亚州的CA。在一些实施方式中,资源的对象树可以被用于找到邮寄地址。对象树的标签或者节点可以指示嵌入式地图。例如,具有被设置为指向地图web站点的链接的src属性的iframe标签可以指示地图被嵌入在资源中。可以在标签或节点内或者接近标签或节点来检测邮寄地址。
如图2所示,所述方法包括计算多个联系信息中的每个联系信息的显著性分值(步骤240)。这导致对多个显著性分值的计算。可以通过搜索与联系信息相关联的一个或多个信号来计算联系信息的显著性分值。对于与联系信息相关联的每个信号,可以计算信号分值。信号可以具有不同的类型。可以通过以下步骤中的一个或多个来找到不同类型的信号:搜索遍历所加载的资源的文本,分析资源的对象树或CSS,或者分析所渲染的资源的OCR。例如,所加载的资源的DOM或快照图像可以被用于找到一个或多个信号以及计算信号分值。
在一些实施方式中,信号的类型是在资源上检测到联系信息的次数。例如,可以多次在网页上示出电话号码。联系信息出现在资源上的次数可以与信号分值成比例。在一些实施方式中,多个联系信息含有重复,使得联系信息被多次存储的次数等于联系信息出现在资源中的次数。在一些实施方式中,多个联系信息不含有重复,使得对所加载的资源进行搜索以获取特定联系信息来确定该特定联系信息出现在资源中的次数。
在一些实施方式中,信号的类型是资源上其他联系信息的数目。例如,电话号码可以是网页上仅有的联系信息。资源上的其他联系信息的数目可以与信号分值成反比。
在一些实施方式中,信号的类型是与和信号相关联的联系信息相同类型的其他联系信息的数目。例如,网页中的电话号码的信号分值可以是网页中的其他电话号码的数目。与和信号相关联的联系信息相同类型的其他联系信息的数目可以与信号分值成反比。例如,如果网页具有电话号码和电子邮件地址并且网页中不存在其他电话号码,则信号分值可以是这种类型的信号的最大信号分值。
在一些实施方式中,信号的类型是资源中的联系信息的文本强调。文本强调可以包括字体大小、粗体、斜体、斜投影、加下划线、颜色、对比度、闪烁等。在一些实施方式中,信号的类型是联系信息与资源中的周围内容相比的相对文本强调。例如,网页可以包括字体大小16的电话号码,并且围绕电话号码的文本可以具有字体大小12。在另一实例中,网页可以包括处于黑体的电话号码以及不处于黑体的周围的文本。在从所加载的资源的文本检测到联系信息的实例中,可以从对象树的标签或节点或者CSS的对应部分检测文本强调。在从所渲染的资源中检测到联系信息的实例中,通过分析所渲染的资源——诸如使用快照图像上的OCR可以检测文本强调。
在一些实施方式中,信号的类型是在资源内的联系信息的位置。资源内的一些位置与该资源内的其他位置相比具有更高的信号分值。例如,位于网页的顶部的电话号码可以具有高于位于网页的底部的另一电话号码的信号分值。通过使用诸如快照图像的所渲染的资源或者通过使用对象树,可以确定联系信息的位置。
在一些实施方式中,信号的类型是基于资源内接近联系信息的内容。接近联系信息的内容可以是图形、文本、图像、音频、视频等。可以使用对象树或者所渲染的资源来找到接近联系信息的内容。对于对象树而言,如果内容是父节点、兄弟节点、或者与联系信息相同的节点,则内容可以接近联系信息。对于所渲染的资源而言,如果内容处于快照图像中的联系信息的预定的空间距离内或者与其毗邻,则内容可以是接近联系信息的。例如,空间距离可以是绝对距离或者是相对于快照图像的尺寸的相对空间距离。例如,内容可能需要处于离联系信息100像素之内以被视为接近。在另一实例中,内容可能需要处于相对于所渲染的快照的宽度的相对距离的10%之内。在找到接近联系信息的内容之后,该内容可以被用于确定信号分值。例如,可以找到接近一个电话号码的文本“fax(传真)”,并且可以找到接近另一个电话号码的文本“call(电话)”。词语“fax”旁的电话号码可以具有比词语“call”旁的电话号码更低的信号分值。词语“fax”可以指示内容提供者不意图被用对应的电话号码来被呼叫,并且词语“call”可以指示内容提供者意图用对应的电话号码来被呼叫。
在一些实施方式中,在基于资源内接近联系信息的内容来确定信号分值的过程中,可以考虑所接收的内容项目。例如,资源可以包含词语“service(服务)”旁的电话号码以及词语“sales(销售)”旁的另一个电话号码。如果所接收的内容项目包括文本“Call our sales representatives today!(今日致电我们的销售代表!),则词语“sales”旁的电话号码可以具有较高的信号分值。如果所接收的内容项目包括文本“Call for service(呼叫以获取服务),则词语“service”旁的电话号码具有较高的信号分值。
在一些实施方式中,在基于资源内接近联系信息的内容来确定信号分值的过程中,可以考虑与所接收的内容项目相关联的一个或多个关键词。关键词可以被用来选择资源内接近联系信息的内容。例如,内容项目可以与关键词“limousine(豪华轿车)”相关联。电话号码可以在所渲染的资源中的词语“limo service(豪车服务)”旁。对于与关键词完全匹配的内容以及对于在空间距离上更靠近的内容,信号分值可以更高。
在一些实施方式中,在基于资源内接近联系信息的内容来确定信号分值的过程中,可以考虑内容提供者数据、内容项目数据、核算数据、竞拍数据、或者任何其他类型的数据中的一个或多个。例如,如果内容提供者数据指定内容提供者是比萨饼外送餐馆,则词语“for delivery(获取外送)”旁的电话号码可以具有高信号分值。在另一实例中,如果内容提供者数据指定广告针对黑色星期五促销,则词语“Call for specials on Black Friday Sale!(致电以获取黑色星期五特价促销!)”旁的电话号码可以具有高信号分值。
在一些实施方式中,信号的类型是基于在资源内接近联系信息的内容的显著性。接近联系信息的内容可以是图形、文本、图像、音频、视频等。内容的显著性可以通过内容的其他类型的信号来确定,诸如位置、大小、与资源相比的相对大小、色彩、对比度等。例如,接近联系信息的内容可以是由HTML的img标签所指定的图像,并且电话号码可以在img标签的alt文本属性中。在另一个实例中,联系信息可以是图像的一部分并且从所渲染的资源中被检测到。
能够根据一个或多个信号分值来计算联系信息的显著性分值。基于信号的类型、内容项目的类型、或者内容提供者数据,可以将信号分值加权、扩缩、或者标准化。例如,可以扩缩每个信号分值以使得不同信号类型的信号分值可以具有相同范围的可能值。可以将一个或多个信号分值组合或总计成显著性分值。例如,通过基于位置、文本强调、以及接近电话号码的内容来组合信号分值,可以计算电话号码的显著性分值。在一些实施方式中,显著性分值是信号分值的加权和。在加载多个资源的一些实施方式中,基于从由所接收的URL标识的资源到包含联系信息的资源的弧的数目,可以对与联系信息相关联的显著性分值进行加权。例如,可以在着陆页面上检测第一电话号码,并且可以在从着陆页面被链接的网页上检测第二电话号码。可以将第一电话号码的显著性分值乘以一个权重值——诸如1,而可以将第二电话号码乘以另一个权重值——诸如0.5。在一些实施方式中,显著性分值的权重值可以是距由所接收的URL识别的资源的弧的数目的递减函数。例如,该函数可以是指数衰减函数或者线性衰减函数。每个联系信息的显著性分值可以与对应的联系信息相关联。例如,存储器元件可以与对应的联系信息一起存储每个显著性分值。在另一个实例中,每个显著性分值可以存储对相关联的联系信息的引用或者指针。
如图2所示,所述方法包括基于所计算的显著性分值来选择多个联系信息中的一个(步骤250)。在一些实施方式中,所述方法包括选择与相对于多个联系信息的中的其他显著性分值的最高显著性分值相关联的多个联系信息中的一个。在多个联系信息当中选择所选择的显著性分值所引用的或者与其相关联的联系信息。在一些实施方式中,所述方法包括选择特定类型的联系信息,其与和该特定类型的联系信息相关联的其他显著性分值相比具有最高显著性分值。例如,可以在其他电话当中选择与最高显著性分值相关联的电话号码。
在一些实施方式中,所述方法可以包括基于所计算的显著性分值来选择联系信息的集合。可以从多个联系信息中选择联系信息的集合。例如,多个联系信息可以包括五个电话号码,并且联系信息的集合可以包括这五个电话号码中的三个。在一些实施方式中,可以将过滤器应用于多个显著性分值,使得高于预定阈值的任何显著性分值被选择。可以选择与所选择的显著性分值相对应的每个联系信息作为联系信息集合的一部分。在一些实施方式中,基于联系信息的类型以及显著性分值来选择联系信息的集合。例如,可以选择每个高于指定显著性分值的电话号码。
在一些实施方式中,向内容提供者提供联系信息的集合,使得内容提供者可以选择该联系信息的集合中的一个或多个联系信息。在一些实施方式中,向内容提供者提供多个联系信息,使得内容提供者可以选择该多个联系信息中的一个或多个。在一些实施方式中,将多个联系信息或者联系信息的集合以降序来提供给内容提供者,使得首先显示与最高显著性分值相关联的联系信息。内容提供者可以选择一个或多个联系信息以与内容项目相关联。
如图2所示,所述方法进一步包括将所选择的联系信息与内容项目相关联(步骤260)。在一些实施方式中,首先从资源中提取所选择的联系信息并且之后将其与内容项目相关联。在一些实施方式中,所选择的联系信息被嵌入内容项目中。所选择的联系信息可以与内容项目一起被存储在第三方内容服务器106中。
在一些实施方式中,描述符可以与每个联系信息相关联。例如,描述符可以指定联系信息的类型,诸如电话号码。在另一个实例中,描述符可以指定联系信息的地理区域。在一些实施方式中,描述符可以是来自与该描述符相关联的联系信息的内容接近的所加载的资源的内容。例如,电话号码可以接近于文本“Call us at(请致电)”,其被存储为描述符。在一些实施方式中,可以将描述符以及联系信息嵌入到内容项目中。在联系信息的集合被选择的实施方式中,可以将联系信息的集合嵌入到内容项目中。联系信息的集合中的每个联系信息可以与描述符相关联,使得可以将描述符的集合嵌入到内容项目中。可以将与联系信息相关联的内容项目存储在第三方内容服务器106中。
当内容项目选择系统112在竞拍期间确定存储在第三方内容服务器106上的内容项目应当被派发至用户设备108时,将内容项目连同与内容项目相关联的联系信息一起派发。可以将联系信息与内容项目一起显示在用户设备108处。也可以将联系信息嵌入内容项目,使得用户设备108上的用户能够通过点击内容项目或者与其交互来联系内容提供者。例如,用户设备108可以是智能电话,内容项目可以是广告,并且联系信息可以是广告主的电话号码。与联系信息相关联的描述符可以与内容项目一起被显示。例如,描述符可以存储文本“Call us at”,其被显示在联系信息旁。在联系信息的集合与内容项目相关联的一些实施方式中,一个或多个联系信息可以与内容项目一起被显示。例如,内容项目可以与电话号码和电子邮件地址一起被显示。在一些实施方式中,用户设备108的地理位置被用来确定显示联系信息中的哪个。例如,一个联系信息可以是具有区域码“408”的与加利福尼亚州森尼韦尔(Sunnyvale,California)相关联的本地电话号码,并且另一个联系信息可以是免费的1-800电话号码。如果用户设备108被确定为在森尼韦尔附近,使得能够向本地电话号码作出呼叫而无需长途通话费用,则本地电话号码可以与内容项目一起被显示。否则,免费电话号码可以与内容项目一起被显示。在一些实施方式中,用户设备108的类型或者用户设备108的能力可以被使用来确定是否或如何显示联系信息。例如,如果用户设备108是能够作出电话呼叫的智能电话或者桌面计算机,则按钮可以与内容项目一起被显示以使得点击按钮就可以通过拨打与该内容项目相关联的电话号码来呼叫内容提供者。在另一个实例中,点击按钮可以将内容提供者与和内容项目相关联的电话号码一起添加到地址簿或者联系人列表。如果用户设备108是无法作出电话呼叫的桌面设备,则电话号码可以仅被显示为本文而非显示为可点击的按钮。在另一个实例中,如果用户设备108能够显示地理地图,则按钮可以与内容项目一起被显示,使得点击按钮就可以调出具有内容提供者的邮寄地址的地图。在一些实施方式中,一个或多个按钮可以连同内容项目一起被显示。
在一些实施方式中,内容项目选择系统112可以生成到点击服务器的链接并且将该链接与内容项目一起传送至用户设备108。在用户设备108上,指向点击服务器的链接能够被显示为用来联系第三方内容提供者或者导航至诸如着陆页的由URL所标识的资源的途径。例如,链接可以被显示为呼叫广告主的电话号码的途径。当用户点击链接时,用户设备可以向点击服务器发送请求。点击服务器可以记录关于内容项目的度量——诸如参与并且将该度量存储在内容项目管理系统104中。然后,点击服务器可以将指令发送回用户设备108以经由与内容项目相关联的联系信息来联系第三方内容提供者102。例如,点击服务器可以将指令发送至用户设备108来拨打与广告一起提供的电话号码。在另一个实例中,点击服务器可以将指令发送回用户设备108以经由联系信息来打开新电子邮件消息或者发送SMS文本消息或者使用任何其他应用联系或定位第三方内容提供者102。点击服务器也可以将用户设备108重定向到URL所标识的资源。
图3是更加详细地图示图1的内容项目管理系统104的一个实施方式的框图,其被示出为包括接收器310、处理器301、以及存储器302。接收器310可以是包括有线或无线接口的通信接口(例如,插口、天线、发射器、接收器、收发器、线缆端子、以太网端口、WiFi收发器等),用于经由网络101与本地或远程的设备或系统传导数据通信。例如,接收器310可以允许内容项目管理系统104与第三方内容提供者102、第三方内容服务器106、资源服务器110、以及计算机系统100的其他组件通信。在一些实施方式中,接收器可以具有与硬件组件结合来工作的对应的模块或者软件。接收器310可以从第三方内容提供者102接收内容项目和URL。接收器310可以将所接收的内容项目和URL传送至存储器中的模块,诸如传送至域确定器315或者资源加载器320。
处理器301可以被实现为通用处理器、专用集成电路(ASIC)、一个或多个现场可编程门阵列(FPGA)、CPU、GPU、处理组件的群组、或者其他合适的电子处理组件。处理器301可以被直接或间接地连接至存储器302以及接收器310。处理器301可以读取、写入、删除、或者以其他方式访问存储在存储器302或其他组件中的数据。处理器301可以执行存储在存储器302中的指令。
存储器302可以包括用于存储数据和/或计算机代码的一个或多个设备(例如RAM、ROM、快闪存储器、硬盘存储等),所述数据和/或计算机代码用于完成和/或促进本公开中所述的各个过程、层、和模块。存储器302可以包括易失性存储器或者非易失性存储器。存储器302可以包括数据库组件、目标代码组件、脚本组件、或者用于支持各项活动的任何其他类型的信息结构以及本公开中所述的信息结构。在一些实施方式中,存储器302被可通信地连接至处理器301并且包括计算机代码(例如,存储在存储器302中的数据模块)以用于执行本文所述的一个或多个过程。简而言之,存储器302被示为包括可选的域确定器315、资源加载器320、可选的过滤器325、检测器330、评分器340、选择器350、以及链接器360。
仍参照图3,存储器302被示为包括可选的域确定器315。域确定器315确定所接收的URL的域。域可以是根域或者子域。域确定器315可以将URL解析为文本字符串。在一些实施方式中,域可以被用于找到在域下的多个URL,该多个URL中的每个标识距所接收的URL少于预定数目的弧的资源。web爬虫或者机器人程序可以被用于确定该多个URL。在一些实施方式中,存储器元件存储多个URL。在一些实施方式中,域确定器315是资源加载器320的一部分。
仍参照图3,存储器302被示为包括资源加载器320。资源加载器320可以与接收器310通信以加载由所接收的URL标识的资源。在一些实施方式中,资源加载器320可以与域确定器315通信以接收多个URL。资源加载器320可以加载多个资源,每个资源由所述多个URL来识别。在一些实施方式中,资源加载器320将资源作为文本字符串加载到存储器中。在一些实施方式中,资源加载器320可以包括解析器以及渲染器。解析器可以将资源解析成对象树并且渲染器可以使用该对象树来渲染资源。
仍参照图3,存储器302被示为可选地包括过滤器325。过滤器325可以过滤所加载的资源的一部分。在一些实施方式中,过滤器325可以过滤多个所加载的资源中的每个资源的一部分。过滤器325可以过滤掉所加载的资源的与用户评论或者其他广告相对应的部分。在一些实施方式中,资源的所过滤的部分可以从存储器302被删除。在一些实施方式中,资源的所过滤的部分的位置可以被存储在数据结构中。
仍参照图3,存储器302被示为包括检测器330。检测器330可以从所加载的资源或者多个所加载的资源中检测多个联系信息。检测器330可以不从所加载的资源的所过滤的部分中检测联系信息。检测器330可以从所加载的资源的隐藏部分中检测联系信息。检测器330可以使用不同的规则集合来提取不同类型的联系信息。规则集合可以被实现为硬件或者服务器上的函数、类、库、模块、应用程序编程接口(API)、或者其他软件。在一些实施方式中,检测器330通过遍历资源的文本进行搜索或者解析来检测联系信息。在一些实施方式中,检测器330从所渲染的资源中检测联系信息。在一些实施方式中,检测器330使用URL或者IP地址的一部分来确定使用哪个规则集合检测不同类型的联系信息。在一些实施方式中,检测器330提取多个联系信息。
仍参照图3,存储器302被示为包括评分器340。评分器340计算所述多个联系信息中的每个的显著性分值。可以通过搜索与联系信息相关联的一个或多个信号来计算联系信息的显著性分值。对于每个信号计算信号分值,并且组合一个或多个信号分值以计算与联系信息相关联的显著性分值。信号可以是不同类型的并且通过搜索资源的文本、分析资源的对象树或CSS、或者分析所渲染的资源的OCR来被找到。在一些实施方式中,信号的类型可以是在资源上检测到联系信息的次数、资源上其他联系信息的数目、与和信号相关联的联系信息的相同类型的其他联系信息的数目、在资源中的联系信息文本强调、在资源内的联系信息的位置、资源内接近联系信息的内容、资源内接近联系信息的内容的显著性等。
仍参照图3,存储器302被示为包括选择器350。选择器350基于所计算的多个显著性分值来从多个联系信息中选择一个或多个联系信息。在一些实施方式中,选择器350选择与最高显著性分值相关联的联系信息。在一些实施方式中,选择器350选择联系信息的集合,每个所选择的联系信息与高于预定阈值的显著性分值相关联。在一些实施方式中,选择器350通过接收器310将一个或多个联系信息提供给第三方内容提供者102。然后,第三方内容提供者102可以选择所提供的联系信息中的一个或多个并且通过接收器310将该选择发送至选择器350。
仍参照图3,存储器302被示为包括链接器360。所述链接器360可以将一个或多个所选择的联系信息与内容项目相关联。可以将所选择的联系信息嵌入内容项目中。可以将所选择的联系信息与内容项目一起存储在第三方内容服务器106中。在一些实施方式中,描述符可以与联系信息相关联。描述符可以被嵌入内容项目中并且被存储在第三方内容服务器106中。
图4A、4B、和4C是显示多个联系信息的域下的说明性网页。第三方内容提供者102可以向内容项目管理系统104提供URL“http://sub.example.com/contact”以及用于文本广告的内容项目,该内容项目包括“Our Sales Reps are standing by!(我们的销售代表随时待命!)”。图4A是由URL所标识的说明性网页。网页可以包括两个联系信息:销售电话号码410以及服务电话号码411。在对于销售电话号码410计算显著性分值时可以使用一个或多个信号。用于销售电话号码410的一个信号可以是销售电话号码410出现在网页上的次数。此处,销售电话号码410在网页上出现两次,相对于在网页上仅出现一次的电话号码——诸如服务电话号码411,将与这种类型的信号相关联的信号分值增加。用于销售电话号码410的另一个信号可以是网页上出现的其他联系信息的数目。在此,不算重复的销售电话号码,还存在出现在网页上的一个另外的电话号码,该电话号码是服务电话号码411;因此,用于这种类型的信号的信号分值与用于不包含任何其他联系信息的网页上所检测的联系信息的信号相比可以更低。用于销售电话号码410的另一个信号可以是文本强调。销售电话号码410在其第一次出现在网页中时以粗体文本出现。因此,用于这种类型的信号的信号分值相对于没有以粗体显示的电话号码——诸如服务电话号码411可以更高。用于销售电话号码410的另一个信号可以是网页内的位置。销售电话号码410在其第一次出现在网页中时位于网页的顶部。因此,信号分值相对于出现在网页底部的电话号码——诸如服务电话号码411可以更高。用于销售电话号码410的另一个信号可以是字体大小。销售电话号码410的字体大小相对于周围的文本更大。由此,信号分值相对于小于周围文本的电话号码——诸如服务电话号码411可以更高。用于销售电话号码410的另一个信号可以是接近销售电话号码410的内容。在此,销售电话号码410靠近文本“Sales(销售)”,其与所提供的内容项目“Our Sales Reps are standing by!”匹配。因此,这种类型的信号的信号分值比靠近文本“service(服务)”的电话号码——诸如服务电话号码411可以相对更高。销售电话号码410的一个或多个信号分值可以被组合以计算销售电话号码410的显著性分值。服务电话号码411的一个或多个信号分值可以被组合以计算服务电话号码411的显著性分值。在本说明性实例中,销售电话号码410的显著性分值可以是100,并且服务电话号码的显著性分值可以是49。
在图4A中图示的网页也可以包括指向另一个网页的链接,该链接具有URL——http://sub.example.com/firstlink,其如图4B所图示。在图4B中图示的网页可以包括电子邮件地址以及URL——http://sub.example.com/secondlink,其如图4C所示。在加载一个以上资源的实施方式中,确定所接收的URL的域。在此,域可以是example.com或者sub.example.com。如关于图2的步骤220所述,在一些实施方式中,如果从由所接收的URL所标识的资源中通过链接识别出一个或多个附加资源,则加载它们。在一些实施方式中,弧的预定数目可以限定来自由所接收的URL所标识的资源的链接中的最大距离。在该例示中,如果弧的预定数目被设定为0,则仅有图4A中所图示的网页可以被加载。如果弧的预定数目被设为1,则图4A和4B中所图示的网页可以被加载。如果弧的预定数目被设为2,则图4A至4C中所图示的网页可以被加载。
由图4B图示的网页中的联系信息可以是电子邮件地址。可以使用一个或多个信号来计算电子邮件地址的显著性分值。可以被用来计算显著性分值的一个信号是接近电子邮件地址的图像420的显著性。在此,电子邮件可以具有通过图像420的显著性分值来部分计算的显著性分值,所述图像420的显著性分值是基于图像的位置以及图像的大小。电子邮件的显著性分值也可以基于来自着陆页的链接中的距离来被扩缩。在该说明性实例中,电子邮件的显著性分值可以是50。
由图4C图示的网页中的联系信息可以是支持电话号码430。支持电话号码430的显著性分值可以是基于信号分值,所述信号分值基于支持电话号码430的文本强调、支持电话号码430在网页内的位置、以及支持电话号码430的字体大小。然而,支持电话号码430的显著性分值与图4A中的销售电话号码410相比可以相对更低,因为支持电话号码430的显著性分值可以按依赖于二者的以链接计的距离的指数衰减因子而被扩缩。在该说明性实例中,支持电话号码的显著性分值可以是25。
图5是图示具有所计算的显著性分值的从图4A至4C中的网页所检测到的多个联系信息的框图。在一些实施方式中,如果一个联系信息和与多个联系信息关联的每个其他显著性分值相比与最高的显著性分值相关联,则可以选择该联系信息。在一些实施方式中,可以选择多于一个联系信息。在一些实施方式中,可以选择多于一个不同类型的联系信息。例如,可以选择一个电话号码以及一个电子邮件地址。在该说明性实例中,可以选择在所有其他电话号码当中具有最高显著性分值的电话号码501,并且可以选择在所有其他电子邮件当中具有最高显著性分值的电子邮件502。在一些实施方式中,可以选择高于预定阈值510的全部联系信息。在该说明性实例中,可以将预定阈值设定成49,并且可以选择电话号码501以及电子邮件地址502。
图6A和6B是与联系信息一起显示的说明性广告。广告可以被显示在用户设备108上,并且基于用户设备108的能力或应用,可以与广告一起显示不同的联系信息。例如,用户设备108可能能够呼叫电话号码,但可能无法发送电子邮件。图6A中图示的广告可以被显示在这样的用户设备108上,使得按钮640被提供以使得当用户点击按钮640时,向电话号码620拨打呼叫。除按钮640之外,广告还可以显示电话号码620、电子邮件630、以及URL 610。另一用户设备108可能有能力呼叫电话号码以及发送电子邮件。图6B中图示的广告可以被显示在这样的用户设备108上,使得一个按钮641在被用户点击时呼叫电话号码621,并且另一个按钮651在被用户点击时打开电子邮件应用或者向内容提供者发送电子邮件。广告还可以显示电话号码621、电子邮件631、以及URL611。
本说明书中所述的主题的实施方式以及操作可以以数字电、或者以计算机软件、固件、或硬件、包括在本说明书中公开的结构及其结构等价物、或者其中一个或多个的组合中来实现。本说明书中所述的主题的实施方式可以被实现为一个或多个计算机程序——即在计算机程序指令的一个或多个模块,所述计算机程序指令被编码在一个或多个计算机存储介质上以用于由数据处理装置来执行或者控制其操作。替选地或另外地,程序指令可以被编码于人工生成的传播信号(例如,机器生成的电、光、或者电磁信号)上,其被生成以编码用于传送至合适的接收器装置的信息以用于由数据处理设备来执行。计算机存储介质可以是以下或者被包括在以下中:计算机可读的存储设备、计算机可读的存储基板、随机或串行存取存储器阵列或设备、或者其中的一个或多个的组合。此外,尽管计算机存储介质并非传播信号,但计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是一个或多个单独的组件或介质(例如,多个CD、盘、或者其他存储设备)或者包括在其中。因此,计算机存储介质是有形的以及无形的。
在本公开中所述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或者从其他源接收的数据执行的操作。
术语“客户端”或者“服务器”包括用于处理数据的所有种类的装置、设备、和机器,包括可编程处理器、计算机、片上系统、或者前述中的多个或组合。所述装置可以包括专用逻辑电路,例如现场可编程门阵列(FPGA)或者专用集成电路(ASIC)。所述装置除硬件之外还可以包括为讨论中的计算机程序创建执行环境的代码(例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机、或者以上一个或多个的组合的代码)。所述装置和执行环境可以实现各种不同的计算模型的基础设施,诸如web服务、分布式计算、以及网格计算的基础设施。
本公开所述的系统和方法可以通过任何计算机程序来完成。计算机程序(也称为程序、软件、软件应用、脚本、或者代码)可以以任何形式的编程语言来编写,包括编译或解释语言、声明性或过程式语言,并且其可以以任何形式来部署,包括作为独立程序或者模块、组件、子例程、对象、或者适于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保持其他程序或者数据的文件(例如存储在标记语言文档中的一个或多个脚本)的一部分中、专用于讨论中的程序的单个文件中或者多个协调文件(例如存储一个或多个模块、子程序、或者部分代码的多个部分)中。计算机程序可以被部署为在一个计算机上或者在位于一个地点或者跨多个地点分布并且通过通信网络互连的多个计算机上来执行。
本说明书中所述的过程以及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器来执行以通过对输入数据进行操作并且生成输出来执行动作。所述的过程以及逻辑流程也可以由专用逻辑电路来执行,并且装置也可以被实现为专用逻辑电路(例如,FPGA或者ASIC)。
适于执行计算机程序的处理器包括通用和专用的微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或者二者接收指令和数据。计算机的必需组件是用于根据指令来执行动作的处理器以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘、或者光盘)或者可操作地耦合以从所述一个或多个海量存储设备接收数据或向所述一个或多个海量存储设备传送数据,或这两者。然而,计算机不必具有这样的设备。此外,计算机可以被嵌入在另一设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器、或者便携式存储设备(例如,通用串行总线(USB)闪存驱动器)等)中。适于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备、半导体存储器设备(例如,EPROM、EEPROM、和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘)。处理器和存储器可以由专用逻辑电路补充,或合并入专用逻辑电路。
为提供与用户的交互,本说明书中所述的主题的实施方式可以在具有以下的计算机上实现:用于向用户显示信息的显示设备(例如,CRT(阴极射线管)、LCD(液晶显示器)、OLED(有机发光二极管)、TFT(薄膜晶体管)、或其他灵活配置)或者任何其他监视器,以及用户可以通过其可以向计算机提供输入的键盘、例如鼠标或轨迹球的指示设备,或者触摸屏、触控板等。其他种类的设备也可以被使用以提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且来自用户的输入可以以任何形式来接收,包括声学、语音、或者触觉输入。此外,计算机可以通过将文档发送至由用户所使用的设备并且从由用户所使用的设备接收文档来与用户交互;例如,通过响应于从用户的用户设备上的web浏览器所接收的请求而将网页发送至该web浏览器。
本公开中所述主题的实施方式可以在包括以下的计算系统中实现:后端组件(例如,作为数据服务器);中间件组件(例如,应用服务器);或者前端组件(例如,客户端计算机),所述前端组件具有用户通过其可以与本公开中所述的主题的实施方式交互的图形用户界面或者web浏览器、或者一个或多个这样的后端、中间件、或前端组件的任何组合。系统的组件可以通过任何形式或者介质的数字数据通信(例如,通信网络)来互连。通信网络包括LAN和WAN、互连网络(例如,互联网)、以及对等网络(例如,点对点(ad-hoc)对等网络)。
虽然本说明书包含许多具体实施方式细节,但这些不应当被解释为对任何公开或者可以要求保护的内容的范围的限制,而应当被解释为具体到特定公开的特定实施方式的特征的描述。本公开中在单独实施方式的场境中描述的某些特征也可以在单个实施方式中组合来实现。反之,在单个实施方式的场境中描述的各种特征也可以单独地在多个实施方式中或者以任何适当的子组合来实现。此外,尽管在上文可能将特征描述为以某些组合起作用,甚至最初如此要求保护,但在一些情况下,来自所要求保护的组合的一个或多个特征可以从所述组合中被删去,并且所要求保护的组合可以涉及子组合或者子组合的变型。
类似地,虽然在附图中以特定顺序来描绘操作,但这不应被理解为需要以所示的特定顺序或者以连续顺序来执行这样的操作,或者需要执行所有图示的操作才能获得期望的结果。在某些情况下,多任务以及并行处理可以是有利的。此外,上述实施方式中的各种系统组件的分离不应被理解为在所有实施方式中均要求这样的分离,而应理解的是,所描述的程序组件和系统一般可以一起被集成在单个软件产品中或者被封装到体现在一个或多个有形介质上的多个软件产品中。
因此,已对本主题的特定实施方式进行了描述。其他实施方式在所附权利要求书的范围内。在一些情况下,能够以不同的顺序来执行权利要求书中所记载的动作并且仍然获得期望的结果。此外,在附图中所描绘的方法不必需要所示的特定顺序或者连续顺序来获得期望的结果。在某些实施方式中,多任务以及并行处理可能是有利的。