可扩展的web数据提取的制作方法

文档序号:13080246阅读:214来源:国知局
可扩展的web数据提取的制作方法与工艺



背景技术:

各种类型的有价值的语义信息被嵌入在web页面中。web数据提取(例如,web页面文本数据分割条和标签、web页面的语义的理解)可以显著地提高用户的浏览和搜索体验。基于规则或者基于模式的解决方案可以使用诸如正则表达式等文本模式匹配来从web页面中的超文本标记语言(html)识别小的或特定的结构或记录,或者使用基于模板的方法来识别有限域内的共同片段。这些解决方案主要集中于使用基于规则的模式挖掘方法的页面布局和格式分析,并且依赖于模板,使得它们仅针对由相同模板生成的web页面起作用。进一步,用户向基于规则或基于模式的解决方案提供关于每个规则、模式、模板等的明确信息。

附图说明

以下详细描述参考附图,在附图中:

图1是用于提供可扩展的web数据提取的示例计算装置的框图;

图2是与web服务器通信以便提供可扩展的web数据提取的示例计算装置的框图;

图3是由用于提供可扩展的web数据提取的计算装置执行的示例性法的流程图;并且

图4是从web数据中的数据记录区段的分析产生的示例关系标签的示图。

具体实施方式

如上所详述的,基于规则或基于模式的解决方案可以使用诸如正则表达式等文本模式匹配来从超文本标记语言(html)识别小的或特定的结构或记录。这些解决方案可以使用自然语言处理和文本分析来分析html中的文本片段之间的关系。然而,因为web页面的数据内容通常是文本碎片,并且没有严格地符合语法,所以通常期望符合语法的语句的传统的自然语言处理(nlp)技术并不直接适用。逻辑上一致的数据块的分割是非平凡的,并且数据块内的文本碎片不解释语法。据此,分割技术通常去除或软化不同文本碎片的边界。更重要的是,大部分的分割技术去除html元素的结构格式,诸如二维布局信息和分层组织,这导致性能降低。

本文中的示例描述用于基于具有任意图形结构的统计框架的高效和可扩展的web数据提取的独立于模板的解决方案。这样的解决方案能够将大量的随机变量表示为根据底层图进行因式分解并捕获变量之间的复杂的依赖性的一系列概率分布。例如,在来自诸如等百科全书式的页面的web数据提取中,每个百科全书式的页面具有由诸如“亚伯拉罕·林肯”等主数据记录表示的主要话题或概念。这种独立于模板的解决方案的目标是提取所有感兴趣的数据记录,诸如“亚伯拉罕·林肯”、“2月12日”、“1809”和“共和党”,并且为这些数据记录分配属性标签。在该示例中,属性标签集合可以包括:被分配给每个数据记录的预定义的标签,诸如“人”、“日期”、“年份”、“组织”标签;以及数据记录对之间的关系标签,诸如“出生日期”、“出生年份”和“成员”。是wikimediafoundation,inc.(维基媒体基金会有限公司)的注册商标,其总部设在加州的旧金山。

在一些实例中,定义用于从web页面提取的web数据的数据记录片段的联合势函数,其中联合势函数模拟web数据的数据记录分割和数据记录片段中的成对的数据片段之间的依赖性。在该阶段,从数据记录片段中识别主记录片段和若干相关记录片段,其中多个相关记录片段中的每个与主记录片段相关联。确定每个相关记录片段的相关属性。接下来,将联合势函数应用于主记录片段和每个对应的相关片段,以确定描述主记录片段和对应的相关片段之间的数据关系的关系标签。

现在参考附图,图1是用于提供可扩展的web数据提取的示例计算装置100的框图。计算装置100可以是能够访问诸如图2中的web服务器装置250a、250n等服务器装置的任何计算装置。在图1的实施例中,计算装置100包括处理器110、接口115,以及机器可读存储介质120。

处理器110可以是一个或多个中央处理单元(cpu)、微处理器和/或适用于检索和执行存储在机器可读存储介质120中的指令的其他硬件装置。处理器110可以取出、解码以及执行指令122、124、126、128,以实现提供可扩展的web数据提取。作为检索和执行指令的替代方案或除了检索和执行指令之外,处理器110还可以包括一个或多个电子电路,该一个或多个电子电路包括用于执行指令122、124、126、128中的一个或多个的功能的多个电子组件。

接口115可以包括用于与web服务器装置通信的多个电子组件。例如,接口115可以是以太网接口、通用串行总线(usb)接口、ieee1394(火线)接口、外部串行ata(esata)接口,或适合于与web服务器装置通信的任何其它物理连接接口。可替代地,接口115可以是无线接口,诸如无线局域网(wlan)接口或近场通信(nfc)接口。在操作中,如以下详细描述的,接口115可以用来将数据发送到web服务器装置的对应接口和从web服务器装置的对应接口接收数据。

机器可读存储介质120可以是存储可执行指令的任何电子存储装置、磁存储装置、光学存储装置或其他物理存储装置。因此,机器可读存储介质120可以是,例如,随机存取存储器(ram)、电可擦除可编程只读存储器(eeprom)、存储驱动器、光盘等。如在以下详细描述的,机器可读存储介质120可以以用于提供可扩展的web数据提取的可执行指令来编码。

联合势函数定义指令122以无向概率图模型定义用于在观测数据中的数据记录分割的条件分布以及记录属性。markov(马尔可夫)随机场的联合概率分布可以被定义为势函数的乘积,其中势函数可以是其自变量的任何非负函数。数据记录分割是将来自web页面的观测数据分割成记录片段(即,文本碎片),该记录片段随后可以如下文所述地被分析。每个记录片段可以是可以与属性相关联的词或短语。

例如,让l和m分别为数据记录片段的数目和web数据x的属性的数目。在该示例中,可以以无向概率图模型定义用于在观测数据x中的数据记录分割s的条件分布以及记录属性r。这种模拟使得要被执行的g的因子c能够被分割成三个集合{cs,cr,c}={{φs},{φr},{φ}},即,数据记录分割势φs、属性势φr和记录属性联合势φ,并且每个势是团模板(cliquetemplate),该团模板的参数被绑定。势函数φs(i,s,x)模拟x中的数据记录分割s,势函数φr(rpm,rpn,r)(m≠n)表示属性标签集合r中的任意两个属性之间的依赖性(例如,长期依赖性、关系传递性等),其中rpm是主数据记录候选sp(sp表示百科全书式页面的主要话题或概念)和来自s的其他数据记录候选sm之间的属性赋值,对于rpn类似。进一步,联合势φ(sp,sj,r)捕获数据记录分割s与数据记录对之间(例如,在数据记录候选sj和主数据记录候选sp之间)的记录属性r之间的丰富和复杂的相互作用。根据哈默斯利-克利福(hammersley-clifford)定理,联合条件分布p(y/x)=p({r,s}/x)以如下所示的指数族的形式被因式分解为势函数在图g中的团上的乘积:

其中,是模型的归一化因子。假设势函数φs、φr和φ根据一组特征值和对应的一组实值权重进行因式分解。更具体地,为了有效地捕获数据记录分割的性质,将一阶马尔科夫假设放宽到半马尔科夫,使得每个片段特征函数gk(·)取决于当前片段si,先前片段si-1和整个观察web数据x,即,gk(i,s,x)=gk-1(si-1,si,x)=gk(yi-1,yi,αi,βi,x)。片段内的转换可以是非马尔可夫的。

类似地,势其中w和t是特征函数的数目,qw(·)和ht(·)是特征函数,μw和vt是函数的对应的权重。势φr(rpm,rpn,r)允许不同属性的rpm和rpn之间的长期依赖性表示。例如,如果相同的数据记录在观测数据中不止一次被提到,则数据记录的所有提及可能对于主数据记录具有相同的关系属性。相同的数据记录片段到主数据记录的使用势φr(rpm,rpn,r)关联在它们在web数据内的所有出现之间共用。联合因子φ(sp,sj,r)利用记录分割和属性之间的紧密依赖性。例如,如果记录片段被标记为“地点”并且主数据记录是“人”,则记录之间的关系属性标签可以是“出生地”或“游览”,而不能是“就业”。这种依赖性是有价值,并且对它们进行模拟往往产生提高的性能。总之,在上述框架的概率分布可以被改写为:

模型包括三个子结构:以观察web数据x为条件的数据记录分割s上的半马尔科夫链,用φs表示;测量不同属性rpm和rpn之间的依赖性的势φr;以及主数据记录sp与每个数据记录sj针对其属性的全连接图,用φ表示。可以在相似的模型中使用各种类型的条件随机场(crf)。例如,线性链crf可以仅执行单序列标签,因为它们不能够捕获长距离依赖性并且表示web数据提取中的多个子任务之间的复杂的相互作用。在另一示例中,跳跃链crf引入跳跃边缘来模拟长距离依赖性,从而处理单序列标签和提取中的标签一致性问题。在又一示例中,二维(2d)crf在web页面中并入二维邻域依赖性;然而,该模型的图形表示是2d网格。该图形的模型可以使用分层crf,该分层crf是具有分层树结构的一类crf。以上针对高效和可扩展的web描述的概率模型具有与2dcrf和分层crf不同的图形结构。进一步,模型通过表示属性之间的长期依赖性并且通过捕获数据记录分割和属性标签之间丰富和复杂的相互作用来使用半马尔可夫链进行高效的数据记录分割和属性标签,从而利用彼此的优势。

记录片段识别指令124识别数据记录分割中的主记录片段和相关记录片段。在百科全书式页面的示例中,主记录片段可以是页面的话题,诸如亚伯拉罕·林肯。相关记录片段可以被识别为在句法上或空间上与主记录片段有关的属性。例如,相关记录片段可以是引用主记录片段的语句中的属性。通过分析观测数据的数据记录分割的结果来识别主记录片段和相关记录片段。

相关属性确定指令126确定相关记录片段的属性。例如,每个相关记录片段可以被分类为“地点”、“日期”、“时间”等。可以使用诸如正则表达式等文本模式来确定属性。进一步,可以使用已经通过从web数据的样本数据集学习而填充的查找表来确定属性。

联合势函数应用指令128将联合势函数应用于主记录片段和相关记录片段,以确定成对的记录片段之间的关系属性。每个关系属性描述主记录片段和相关记录片段之间的关系(例如,出生地、出生日期、成员等)。推理的目标是寻找y*={r*,s*}=argmax{r;s}p(r,s|x),使得数据记录分割s*和属性标签r*两者被同时优化。对该问题的精确推理通常是禁止的,因为它涉及枚举所有可能的片段和对应的属性标签赋值。因此,使用近似推理作为替代方案。联合势函数使用集体迭代分类(cic)来执行近似推理从而以迭代方式确定最大后验(map)数据记录分割和属性标签赋值。总之,基于每个目标隐藏变量的采样变量的赋值标签,使用cic来对每个目标隐藏变量进行解码,其中标签可以在整个迭代过程中被动态地更新。集体分类指的是在如以下参考图4所描述的图形结构中被描述为节点的关系对象的分类。cic算法按照两个步骤来执行推理:(1)拔靴法,其考虑训练模型p(y/x)来预测未标签web数据xi的初始标签赋值;以及(2)迭代分类过程,其若干次重新估计xi的标签赋值,基于xi的初始赋值来挑选样本集合s中的标签赋值。在这种情况下,利用允许生成宽范围的推理情形的采样技术,并且样本可能在高概率区域中,这增加找最到大值并且产生更鲁棒和精确的性能的机会。如果在迭代或给定数目的迭代期间没有标签赋值变化,则cic算法可以收敛。值得注意的是,推理算法还用来有效地计算参数估计期间的边缘概率p(y/x)(即,归一化常数z(x)还可以通过近似技术来计算)。该算法可以是设计简单的、高效的以及相对于web数据的大小可扩展的。

图2是用于提供可扩展的web数据提取的示例计算装置200的框图。计算装置200可以是例如计算装置、台式计算机、机架式服务器或适用于以下描述的功能的执行的任何其他计算装置。计算装置200经由网络245与web服务器装置250a、250n通信。

在图2的实施例中,计算装置200包括接口模块210、模拟模块220、训练模块226和分析模块230。然而,计算装置200可以包括多个模块210-234。模块中的每个可以包括被编码在机器可读存储介质上并且由计算装置200的处理器可执行的一系列指令。此外或者作为替代方案,每个模块可以包括一个或多个硬件装置,该一个或多个硬件装置包括用于实现以下描述的功能的电子电路。

接口模块210可以管理与web服务器装置250a、250n的通信。具体地,接口模块210可以发起与web服务器装置250a、250n的连接,并且随后将观测数据发送到web服务器装置250a、250n/从web服务器装置250a、250n接收观测数据。

模拟模块220被配置为生成用于提供可扩展的web数据提取的无向概率图模型。模拟模块220的分割模块222将观测数据分割为记录片段。例如,如果观测数据是来自web页面的web数据,则分割模块222可以将web数据分割为词和短语(即,记录片段),该词和短语可以如以下关于属性模块223所描述地与属性相关联。

模拟模块220的属性模块223将属性与由分割模块222生成的记录片段相关联。记录片段的属性标签包括“人”、“日期”、“年份”、“组织”等。在某些情况下,可以使用诸如正则表达式等文本识别将属性与记录片段相关联。进一步,可以基于已经基于观测数据的样本数据集生成的查找表来将属性与记录片段相关联。

模拟模块220的依赖性模块224识别记录片段之间的依赖性。依赖性可以包括长期依赖性、传递关系等。具体地,依赖性模块224可以识别观测数据中的主记录片段和相关记录片段之间的依赖性。在某些情况下,可以基于与主记录片段和相关记录片段相关联的属性来识别依赖性。依赖性可以类似于以下关于图4所论述的依赖性。

训练模块226被配置成训练由模拟模块220生成的模型。给定独立和相同分布(iid)的训练web数据其中xi是第i个数据实例,并且yi={ri,si}是对应的数据记录分割和属性标签赋值。学习的目的是估计λ={λk,μw,vt},其是模型的参数的向量。在iid假设下,在下列推导期间在对数似然中忽略求和运算为了减小过拟合,可以使用诸如具有零均值和协方差σ2/的球形高斯先验的正则化。那么,数据的正则化对数似然函数可以被表示为:

其中

z(x)=∑yпφ(r,s,x),并且是正则化参数。求函数在参数λk上的导数得到:

类似地,对数似然相对于参数μw和vt的偏导数如下:

函数是凹函数,并且可以通过标准技术(诸如随机梯度和有限内存拟牛顿(l-bfgs)算法)来有效地最大化。参数λk、μw和vt被迭代地优化,直至收敛。

分析模块230将由模拟模块220生成的模型应用于观测数据以确定记录片段之间的关系标签。分析模块230的提取模块232被配置为从web服务器装置250a、250n提取观测数据(即,web数据)。具体地,提取模块230可以使用接口模块232来从web服务器装置(例如,web服务器装置a250a、web服务器装置n250n等)获得web数据。web数据与由web服务器装置(例如,web服务器装置a250a、web服务器装置n250n等)提供的web页面相关联,并且可以是各种格式,诸如超文本标记语言(html)。进一步,提取模块232还可以从web服务器装置(例如,web服务器装置a250a、web服务器装置n250n等)获得描述web数据的元数据。元数据的示例包括用来创建web页面的工具的列表、关键词、web页面被创建的时间和日期等。

属性标签模块234将由模拟模块220生成的模型应用于由依赖性模块224识别的主记录片段和相关记录片段,以确定记录片段对的属性标签。具体地,可以将模型中的联合势函数应用于主记录片段和每个相关记录片段以确定对之间的关系。例如,如果主记录片段已经被分配“人”属性并且相关记录片段已经被分配“地点”属性,则属性标签模块可以确定应该将“出生地”关系标签应用于该对记录片段。“出生地”关系标签将该对记录片段之间的关系描述为web数据中的可以使用模型来自动识别的丰富的依赖性。

web服务器装置250a、250n可以是通过网络245由计算装置200可访问的适用于执行以下描述的功能的任何服务器。如以下详细描述的,每个web服务器装置250a、250n可以包括用于提供web内容的一系列模块260-264。

web页面模块260被配置为提供对web服务器装置a250a的web页面的访问。web页面模块260的内容模块262被配置为通过网络245将web页面用作web内容。web页面可以作为被配置为在web浏览器中显示的html页面来提供。在这种情况下,服务器计算机装置200从内容模块262获得html页面以如上所述作为web数据处理。

web页面模块260的元数据api264管理与web页面有关的元数据。元数据描述web数据,并且可以被包含在由内容模块262提供的web页面中。例如,描述各种页面元素的关键字可以作为元数据被嵌入在web页面中。

图3是由用于提供可扩展的web数据提取的计算装置100执行的示例方法300的流程图。尽管参考图1的计算装置100描述方法300的执行,但是可以使用用于执行方法300的其它合适的装置,诸如图2的计算装置200。方法300可以以存储在机器可读存储介质(诸如存储介质120)上的可执行指令的形式来实现,并/或以电子电路的形式来实现。

方法300可以开始于方框305,并继续到方框310,其中计算装置100以无向概率图模型定义用于在观测数据中的数据记录分割的条件分布以及记录属性。在方框315中,识别数据记录分割中的主记录片段和相关记录片段。通过分析观测数据的数据记录分割的结果来识别主记录片段和相关记录片段。例如,可以鉴于web数据的完整集合来分析数据记录片段的序列(即,每个记录片段的上下文)。

在方框320中,计算装置100确定相关记录片段的属性。例如,可以使用诸如正则表达式等文本模式来确定属性。在方框325中,计算装置100将联合势函数应用于主记录片段和相关记录片段,以确定成对的记录片段之间的关系属性。每个关系属性描述主记录片段和相关记录片段之间的关系(例如,出生地、出生日期、成员等)。然后,方法300可以继续到方框330,其中方法300可以停止。

图4是从web数据中的数据记录片段的分析产生的示例关系标签的示图400。示图400示出记录片段402-426与识别的关系标签430-434。记录片段402-426包括主记录片段402和相关记录片段410、414、424。在该示例中,主记录片段402“亚伯拉罕·林肯”可以是百科全书式web页面的话题。相关记录片段410、414、424被示出为具有与主记录片段402的关系430、432、434。

相关记录片段410、414、424可以各自与属性相关联,在该示例中该属性可以是相关记录片段410的“日期”、相关记录片段414的“年份”和相关记录片段424的“组”。主记录片段402可以与“人”属性相关联。当应用如以上关于图1-图3描述的模型时,可以利用每个相关记录片段410、414、424分析主记录片段402以确定关系标签430-434。

对于相关记录片段410,模型确定主记录片段402“人”与作为“出生日期”的“日期”有关,这在关系430中示出。对于相关记录片段414,模型确定主记录片段402“人”与作为“出生年份”的“年份”有关,这在关系432中示出。对于相关记录片段424,模型确定主记录片段402“人”与作为“成员”的“组”有关,这在关系434中示出。

上述公开描述了用于由计算装置提供可扩展的web数据提取的多个示例实施例。以此方式,本文中所公开的实施例使得能够通过使用解释web数据中的记录片段的统计属性的概率模型来提供可扩展的web数据提取。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1