CN101866342B - 生成或显示网页标注的方法和装置以及信息共享*** - Google Patents
生成或显示网页标注的方法和装置以及信息共享*** Download PDFInfo
- Publication number
- CN101866342B CN101866342B CN 200910133976 CN200910133976A CN101866342B CN 101866342 B CN101866342 B CN 101866342B CN 200910133976 CN200910133976 CN 200910133976 CN 200910133976 A CN200910133976 A CN 200910133976A CN 101866342 B CN101866342 B CN 101866342B
- Authority
- CN
- China
- Prior art keywords
- webpage
- web page
- annotation
- cbf
- label
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 239000013598 vector Substances 0.000 claims description 59
- 238000002372 labelling Methods 0.000 claims description 35
- 238000004140 cleaning Methods 0.000 claims description 10
- 230000002194 synthesizing effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 20
- 230000008859 change Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 210000001175 cerebrospinal fluid Anatomy 0.000 description 9
- 238000003860 storage Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 241000218028 Anotea Species 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
公开了一种用于生成或显示网页标注的方法和装置,以及基于这种网页标注的信息共享***。生成网页标注信息的方法,包括:响应于用户在客户端Web浏览器上载入的当前网页上选择了目标网页元素作为被标注对象,提取被标注对象在当前网页的文档对象模型(DOM)树中的XPath路径;基于被标注对象及当前网页中紧邻在被标注对象之前和之后的上下文网页元素的内容,生成被标注对象的特征码CF;以及基于被标注对象的XPath路径、特征码CF以及用户输入的标注,生成网页标注信息,其中,网页标注信息被存储在远程标注服务器的标注数据库中,被标注对象的特征码CF由被标注对象的基于内容的特征(CBF)及其上下文网页元素的CBF构成。
Description
技术领域
本发明总体上涉及网页标注技术,并且尤其涉及考虑到网页上作为被标注对象的目标网页元素的内容而生成或者显示网页标注的技术,以及基于这种网页标注实现信息共享的技术。
背景技术
标注是一种在文档中添加信息的技术。这个概念最开始是在纸质媒体中产生的,包括对关键词进行突出显示、添加旁注等。随着计算机及网络技术的迅猛发展及日渐普及,当前网络媒体已经成为人们了解信息的重要途径之一。在这种情况下,网页标注技术也得到了重视和发展,网页标注日渐成为包括数字图书馆、计算机辅助协同工作、信息共享及管理在内的多种领域内的热门话题之一。
传统的Web***向内容或者信息的提供者提供了很方便的信息发布平台,比如网页制作平台。但是,这种信息交流的方式基本上是单向的。网页阅读者能够进行的交互仅仅限于点击链接或者添加书签等。当前流行的Web2.0理念强调了广大Web用户的参与和信息共享,这样信息的流动就成为双向的、甚至是多向的方式。目前常用的信息共享技术包括:
-RSS(Really Simply Syndication):其中通过一个服务器对要发布的内容进行集成,然后由用户选择所要获取的内容。在这种方式下用户只能被动地获取RSS源所发布的内容,这样的信息流动也是不对称的;
-交互式的Web发布平台(例如,Wiki和Blog):用户通过这样的平台,可以发表自己的文章和意见,以达到信息共享的目的。但是,这种信息共享的方式需要在特定结构化的网页中进行,不能对所看到的所有网页随时随地的共享意见。
网页标注***和上述两种信息共享方式不同,它实际上提供了一种标注装置来帮助用户对所浏览的网页进行标注,该标注装置可以是包含浏览器的单独软件工具,可以是独立于浏览器的单独软件工具,或者也可以是集成在浏览器中的扩展模块。Annotea作为万维网(World Wide Web,W3C)提供的标准网页标注工具,使用了RDF(Resource DescriptionFormat,资源描述格式)和XPointer作为描述被标注网页的方法。作为W3C的推荐计划,Annotea为网页标注的表示及存储提供了一个标准的框架和实现方法。在Annotea***中,***使用了一个RDF数据库服务器来存储所有的网页标注信息,用户利用一个特定的软件客户端对网页进行标注。在Annotea的基础上,还出现了一些各有特色的网页标注***,比如Annoty、Crit、e-Marked、YAWAS等。
总体来说,现有的网页标注***的基本架构可以如图1所示。如图1所示,现有技术的网页标注***主要包括用户命令处理单元110、标注查询单元120、网页获得单元130和网页标注合成单元140。其中,用户命令处理单元110接收用户的输入信息(包括网页URL、显示选项、用户信息等),并把这些信息发送到标注查询单元120和网页获得单元130。标注查询单元120根据用户输入的网页URL信息,通过经由诸如互联网之类的网络查询远程的标注服务器,得到网页的标注信息。网页获得单元130基于用户提供的网页URL信息,通过互联网取得所期望的网页。网页标注合成单元140把取得的网页和相关的标注信息合成在一起,提供给用户,使用户在看到所需网页的同时还可以看到相关的网页标注信息。
尽管现有的网页标注***可以实现对网页添加标注,但是还存在着诸如以下所述的各种问题:
-不能处理其中被标注对象转移到其它页面的情况。在很多网站中,一个页面内的特定元素往往随着内容的滚动而自动地列到其它页面中,传统的网页标注方法不能把这样的标注显示出来;
-当网页中被标注对象的格式发生某些可以容忍的变化(例如,被标注对象中的字体变为斜体或者加黑等)时,标注不能被正确地显示;
-在很多情况下,往往会对被标注对象的内容进行若干修改,在传统的网页标注***中经过内容修改的被标注对象被认为已经不是原被标注内容,因而不再对其标注进行显示。
因此,目前仍然需要提供一种能够在考虑到被标注对象的内容的情况下生成网页标注或者显示网页标注的方法和装置,以及能够基于网页标注在用户之间更有效地实现信息共享的***,以克服现有技术中存在的上述一种或更多种缺陷。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
为了解决现有技术的上述问题,本发明的一个目的是提供一种能够考虑到网页上被标注对象的内容而生成或者显示网页标注的方法和装置,其中能够将网页标注信息与被标注对象及网页上紧邻在被标注对象之前和之后的上下文网页元素的内容联系起来,从而可以动态地跟踪被标注对象的变化。
本发明的另一个目的是提供一种网页标注方法和装置,利用该方法和装置,能够在客户端浏览器上显示用户期望载入和显示的网页,以及存储在远程标注服务器上的、先前标注在该网页上的已有标注,并在网页上添加和显示新标注。
本发明的再一个目的是提供一种利用上述网页标注方法和装置实现基于网页标注的信息共享的信息共享***。
为了实现上述目的,根据本发明的一个方面,提供了一种用于生成网页标注信息的方法,该方法包括:响应于用户在客户端Web浏览器上载入的当前网页上选择了目标网页元素作为被标注对象,提取被标注对象在当前网页的文档对象模型(DOM)树中的XPath路径;基于被标注对象及当前网页中紧邻在被标注对象之前和之后的上下文网页元素的内容,生成被标注对象的特征码CF;以及基于被标注对象的XPath路径、特征码CF以及用户输入的标注,生成网页标注信息,其中,所述网页标注信息被存储在远程标注服务器的标注数据库中,被标注对象的特征码CF由被标注对象的基于内容的特征(CBF)及其上下文网页元素的CBF构成,以及网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
根据本发明的另一个方面,还提供了一种用于生成网页标注信息的装置,该装置包括:XPath生成器,用于响应于用户在客户端Web浏览器上载入的当前网页上选择了目标网页元素作为被标注对象,提取被标注对象在当前网页的文档对象模型(DOM)树中的XPath路径;特征码(CF)生成器,用于基于被标注对象及当前网页中紧邻在被标注对象之前和之后的上下文网页元素的内容,生成被标注对象的特征码CF;以及标注生成器,用于基于被标注对象的XPath路径、被标注对象的特征码CF以及用户输入的标注,生成网页标注信息,其中被标注对象的特征码CF由被标注对象的基于内容的特征CBF及其上下文网页元素的CBF构成,其中,所述网页标注信息被存储在远程标注服务器的标注数据库中,网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
根据本发明的另一个方面,还提供了一种用于在客户端Web浏览器上显示网页及网页上的标注的方法,该方法包括:a)响应于用户输入要在浏览器上载入并显示的网页的统一资源定位符(URL),对输入的URL进行分析,以得到有效URL;b)根据所述有效URL,从远程标注服务器中查询出所有和有效URL有关的标注,从而得到标注候选集以及这些标注的网页标注信息;c)针对标注候选集中的每一个标注,根据该标注的网页标注信息,确定该标注是否标注了所要载入的网页中的网页元素,即,确定该标注是否应当存在于要载入的网页中,并且如果是的话,还进一步确定其所标注的网页元素在所述要载入的网页中的位置、即标注位置;以及d)根据被确定为应当存在于要载入的网页中的标注的网页标注信息及其标注位置,将这些标注与所述要载入的网页合成起来,并经由浏览器将合成后的网页显示给用户,其中,标注的网页标注信息包含标注所对应的被标注对象的XPath路径、被标注对象的特征码CF、标注的内容和格式、标注所在网页的URL、标注所在网页的内容特征码,被标注对象的特征码CF由被标注对象的基于内容的特征(CBF)及紧邻在被标注对象之前和之后的上下文网页元素的CBF构成,网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
根据本发明的另一个方面,还提供了一种用于经由客户端Web浏览器显示网页及网页上的标注的装置,所述装置包括:URL分析器,用于响应于用户输入的要在浏览器上载入并显示的网页的统一资源定位符(URL),对输入的URL进行分析,以得到有效URL;标注查询器,用于根据所述有效URL,从远程标注服务器中查询出所有和有效URL有关的标注,从而得到标注候选集以及这些标注的网页标注信息;标注位置确定单元,用于针对标注候选集中的每一个标注,根据该标注的网页标注信息,确定该标注是否标注了所要载入的网页中的网页元素,即,确定该标注是否应当存在于要载入的网页中,并且如果是的话,还进一步确定其所标注的网页元素在所述要载入的网页中的位置、即标注位置;以及合成单元,用于根据被确定为应当存在于要载入的网页中的标注的网页标注信息及其标注位置,将这些标注与所述要载入的网页合成起来,其中,合成后的网页经由浏览器显示给用户,标注的网页标注信息包含标注所对应的被标注对象的XPath路径、被标注对象的特征码CF、标注的内容和格式、标注所在网页的URL、标注所在网页的内容特征码,被标注对象的特征码CF由被标注对象的基于内容的特征(CBF)及紧邻在被标注对象之前和之后的上下文网页元素的CBF构成,网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
另外,根据本发明的又一个方面,还提供了一种网页标注方法,该方法包括:响应于用户输入的要在客户端Web浏览器上载入和显示的网页的URL,通过执行上述用于在客户端Web浏览器上显示网页及网页上的标注的方法,在浏览器上显示所述网页,以及存储在远程标注服务器上的、先前标注在该网页上的已有标注;通过执行上述用于生成网页标注信息的方法,在所述网页上添加新标注,该新标注的网页标注信息被存储在远程标注服务器上;以及经由浏览器在所述网页上显示所添加的新标注。
根据本发明的又一个方面,还提供了一种网页标注装置,该装置包括:上述用于生成网页标注信息的装置;以及上述用于经由客户端Web浏览器显示网页及网页上的标注的装置。
根据本发明的又一个方面,还提供了一种基于网页标注的信息共享***,它包括:客户端和远程标注服务器,其中,所述客户端包括上述网页标注装置,以及所述远程标注服务器包括用于存储网页标注信息的标注数据库,和用于对标注数据库进行存取控制的标注信息存取器。
依据本发明的其它方面,还提供了相应的计算机可读存储介质和计算机程序产品。
本发明的优点在于,在以上所述的根据本发明的方法、装置和***中,在生成网页标注信息时考虑了被标注对象的XPath路径,以及被标注对象及其上下文网页元素的内容,使得能够实现标注对于被标注对象的动态跟踪,因此,相关的标注信息会跟随被标注对象移动。而且,即使被标注对象的格式发生变化,标注也可以被正确地显示出来。甚至在被标注对象的内容本身发生变化时,也可以对内容变化进行评估,以决定是否可以显示对应的标注。
通过以下结合附图对本发明的最佳实施例的详细说明,本发明的这些以及其他优点将更加明显。
附图说明
本发明可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。在附图中:
图1是示出了现有技术中的网页标注***的一般架构的示意图;
图2是示出了根据本发明实施例的利用网页标注实现信息共享的***的结构的示意图;
图3是示出了根据本发明的实施例、利用图2所示的***在网页上添加新标注时所执行的处理过程的示例性流程图;
图4是详细地示出了图2中所示的CBF生成器的示例性结构及处理过程的示意图;
图5是详细地示出了图2中所示的标注分析器的示例性结构的方框图;
图6是示出了根据本发明的实施例、在用户利用图2所示的***在客户端浏览器中输入要载入网页的URL(统一资源定位符)以便显示所述网页及其中的已有标注的处理过程的流程图;
图7是示出了在根据本发明的一个实施例中基于用户输入的URL获得备选URL、并将备选URL所对应的网页和浏览器当前载入的网页进行相同和相近页面判定以得到有效URL的过程(即图6中所示的步骤S610的具体处理过程)的流程图;
图8是示出了在根据本发明的一个实施例中确定所有可能的标注是否存在于当前载入的网页中及标注在其中的标注位置的过程(即图6中的步骤S630的具体处理过程)的流程图;以及
图9是示出了在图8所示的处理过程中用到的某标注的特征码CF(如图9中的(a)所示)及其对应的当前网页的DOM树(如图9中的(b)所示)的结构的示意图。
本领域技术人员应当理解,附图中的元件仅仅是为了简单和清楚起见而示出的,而且不一定是按比例绘制的。例如,附图中某些元件的尺寸可能相对于其他元件放大了,以便有助于提高对本发明实施例的理解。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与***及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
图2是示出了根据本发明实施例的、利用网页标注实现信息共享的***的结构的示意图。该***可以分为通过网络(未示出)相连的客户端和服务器端(即标注服务器)两大部分。
如图2所示,在客户端部分,网页标注装置200主要包括用户接口210、XPath生成器220、基于内容的特征(CBF)生成器230、标注生成器240、标注分析器250和XML转换器260,而在服务器端部分主要包括标注信息存取器270和标注数据库280。
在图2所示的***的一个具体实现示例中,客户端的网页标注装置200可以以浏览器插件的方式实现;而标注服务器可以用Java Servelet来实现,具体来说,服务器端的标注信息存取器240可以用Java Servelet的方式实现,标注数据库250可以用已有的数据库管理***实现。但是,本领域技术人员应当明白,本发明的原理并不仅仅局限于此,而是完全可以根据需要采用其他不同的方式实现这些装置或部件。
在客户端,用户可以利用网页标注装置200在浏览器所载入的网页上添加并显示新的网页标注,以及正确地显示先前已经添加在该网页上的已有网页标注。在网页标注装置200中,用户接口210负责接收整个装置的输入,它可以接收以下输入信息中的任意一个或者多个:(1)与***的配置参数有关的输入信息;(2)与用户在网页上选择的被标注对象有关的输入信息;(3)与标注内容有关的输入信息;(4)与标注的显示方式有关的输入信息;等等。
XPath生成器220用于提取被标注对象在网页的DOM(文档对象模型)树中的XPath路径。XPath是W3C推荐的网页内任意一个元素的表示方式,网页中的每一个元素都对应着一条XPath路径,而且通过XPath路径可以定位到网页中的任何一个元素。在网页的DOM树中的各个节点分别对应于网页中所包含的各个元素。也就是说,网页中的被标注对象及紧邻在被标注对象之前和之后的网页元素都可以被表示为DOM树上的节点。为了便于说明,将网页中紧挨在被标注对象之前和之后的网页元素称为上文和下文元素,其分别对应于该被标注对象在DOM树中的对应节点的紧密相邻的兄弟节点,因此也可以将其称之为上下文节点或上下文网页元素。
CBF(基于内容的特征)生成器230依据被标注对象的内容,生成被标注对象的CBF。被标注对象的CBF由被标注对象的字母投影向量(CPF)和字母顺序向量(CSF)组成,即:CBF=CPF+CSF。
其中,字母投影向量(CPF)由被标注对象中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,向量的长度即为字母表Λ的长度。例如,假设被标注对象是网页上的一段英文文字说明,则可以统计出在该段文字说明中每个字母a、b、......、z的个数Num(a)、Num(b)、......、Num(z),从而可以得到如下字母投影向量CPF:[Num(a),Num(b),...,Num(z)]。CPF的变化可以在一定程度上反映出对被标注对象的内容的删除、***和替换等操作。
字母顺序向量(CSF)由表示被标注对象中的所有字母在字母表Λ上的逆序统计个数组成,向量的长度为字母表的长度。假设字母表Λ存在一个偏序关系:a<b<c<...<z,则被标注对象x中的所有字母在字母a上的逆序个数为所有大于字母a(即,b、c、......、z)并且紧密地排在字母a之前的字母的统计个数,被标注对象x中的所有字母在字母b上的逆序统计个数为所有大于字母b(即,c、d、......、z)并且紧密地排在字母b前面的字母的统计个数,以此类推,从而可以得到被标注对象x中的所有字母在整个字母表上的逆序统计个数。CSF的变化可以在一定程度上反映出被标注对象的交换变化。例如,对于bad和dab,它们的CPF相同,但是CSF不同,这反映出它们之间在字母顺序方面存在差异。
为了能够有效地跟踪被标注对象的上下文是否发生了变化,CBF生成器320除了生成被标注对象的CBF之外,还生成被标注对象的上下文节点的CBF。被标注对象的上下文节点可以通过XPath生成器220所生成的被标注对象的XPath路径来确定。由被标注对象(用DOM树节点x表示)的CBF及其上下文节点(分别用节点xleft和xright表示)的CBF构成被标注对象的特征码CF,即,CF(x)=CBF(xleft)+CBF(x)+CBF(xright)。
CBF生成器230的具体结构及其处理过程,以及如何利用网页标注装置在网页中添加新标注的过程,将下面参照图3和图4来进行描述。
标注生成器240根据被标注对象的有关信息(例如,被标注对象的特征码)和输入的标注的内容和格式等,生成网页标注信息,并且XML转换器260将所生成的网页标注信息转换成适合于通过网络与服务器端进行通信的XML消息格式,以便将网页标注信息传输到服务器端并经由标注信息存取器270存储到标注数据库280中。其中,网页标注信息包含标注的URL(即,标注所在网页的URL)、标注在网页上的位置(即,对应的被标注对象的XPath路径信息)、对应的被标注对象的有关特征(例如,特征码CF信息等)、标注所在的网页的内容特征码、标注的内容和格式等。在此,网页的内容特征码是用于标识网页的内容的特征码,两个网页的内容特征码相同,表明这两个网页的内容相同,并且网页的内容特征码可以采用传统的编码方式、例如哈希编码(MD5)来获得。
标注分析器250基于当前网页的URL,把存储在标注数据库250中的、和当前网页在同一网站中且所对应的网页与当前网页相同或者相近的URL确定为有效URL,从标注数据库中查询所有和有效URL有关的标注,并用查询得到的所有标注在当前网页中进行匹配,以判断其中哪些标注应当标注了当前载入网页中的元素(即,判断其中哪些标注应当存在于当前网页中),并确定这些标注应当被显示在当前网页中的哪些位置上。标注分析器230可以支持其中被标注对象的内容被从一个页面转移到其它页面的情况。有关标注分析器250的具体处理过程及其结构将在下面参照图5至图9来进行描述。
XML转换器260用于将需要在客户端与服务器端之间进行通信的信息进行XML消息格式转换,以使得客户端的网页标注装置200能够与服务器端进行通信。然而,本领域技术人员应当明白,XML格式的消息是为了便于客户端与用Java Servelet实现的服务器端进行通信而使用的,本发明的原理并不仅仅局限于转换成XML格式的消息格式转换,而是可以根据如图2所示的服务器端部分的实现方式的不同而选用其他不同消息格式在客户端与服务器端进行通信。
如图2所示,在服务器端,标注信息存取器270响应于来自客户端的请求,对标注数据库280进行存取,而标注数据库280中存储了与信息共享***所收集的各个标注有关的网页标注信息,其如上所述可以包括标注的URL(即,标注所在网页的URL)、标注在网页上的位置、对应的被标注对象的特征码、标注的内容和格式等。
下面结合图3和图4来进行说明。其中,图3是示出了根据本发明的实施例、利用图2所示的***在网页上添加新标注时所执行的处理过程300的示例性流程图,而图4是详细地示出了图2中所示的CBF生成器的示例性结构及处理过程的示意图。
如图3所示,在步骤S310,依据用户在当前网页上选择的被标注对象,提取被标注对象在当前网页的DOM树中的XPath路径,然后在步骤S320,基于被标注对象及其上下文节点(可以基于步骤S310中所生成的XPath路径来确定)的内容,如上所述生成它们的CBF,从而得到被标注对象的特征码CF。接下来,在步骤S330,根据被标注对象和输入的标注内容等的有关信息,生成网页标注信息,在步骤S340,将来自步骤S330中所生成的网页标注信息转换成适合于与服务器端进行通信的XML格式的消息,然后在步骤S350中,在服务器端经由标注信息存取器270将客户端所生成的网页标注信息存储到标注数据库280中。
图4中详细地示出了如图2所示的CBF生成器230。如图4所示,CBF生成器230可以包括HTML(超文本标记语言)清理(cleaning)单元410、HTML字母化单元420、字母投影向量(CPF)生成单元430、字母顺序向量(CSF)生成单元440。下面以利用CBF生成器230生成被标注对象的CBF为例来进行说明。
HTML清理单元410用于根据预先存储的HTML清理原则(例如,如图4所示可以预先存储在HTML字典450中),从用户所选择的被标注对象中去掉一些没有作用的HTML标记(例如,诸如<b></b>、<u></u>等之类的格式标记),以便降低HTML噪音以及减小网页格式变化对被标注对象的影响。
HTML字母化单元420用于对经过HTML清理后的被标注对象进行HTML字母化,从而基于被标注对象的内容被标注对象转换为一个由a到z的字母构成的字母串。对于其中包含中文文字说明的被标注对象,HTML字母化单元420需要先参考汉字字典460(它在被标注对象不包含中文文字说明时可以省略)将被标注对象中的中文文字说明转换为汉语拼音,然后再得到字母串。对于多音字的情况,HTML字母化单元可以取该多音字的第一个汉语拼音,但是显然本发明的原理并不仅仅局限于此。
字母投影向量(CPF)生成单元430和字母顺序向量(CSF)生成单元440根据以上给出的字母投影向量(CPF)和字母顺序向量(CSF)的定义,基于经过HTML字母化处理得到的字母串,分别生成被标注对象的字母投影向量和字母顺序向量。然后,通过将字母投影向量(CPF)和字母顺序向量(CSF)拼接起来,就可以得到被标注对象的基于内容的特征CBF。
返回参见图2。当用户在客户端浏览器中输入某一网页的URL以便浏览该网页以及网页上的标注信息时,客户端的浏览器载入所期望的网页,并把网页的URL以及DOM树结构传送给标注分析器240。
图5示出了根据本发明实施例的标注分析器240的示例性结构。如图5所示,标注分析器230包括URL分析器510、标注查询器520以及网页标注合成器530。
其中,URL分析器510对用户输入的URL进行分析,(经由XML转换器260和标注信息存取器270)从标注数据库280中取出所有和当前要载入的网页(即当前输入的URL所对应的网页,也可简单地为当前网页)在同一网站中的URL,形成一个备选URL集,将备选URL集中的所有URL(以下将其称为备选URL)所对应的网页与当前网页进行相同页面判定和相近页面判定,并将所对应的网页与当前网页相同或者相近的备选URL确定为有效URL。
标注查询器520根据URL分析器510所确定的有效URL,(经由XML转换器260和标注信息存取器270)在标注数据库280中查询和有效URL有关的所有标注(即在有效URL所对应的网页上的所有标注),即,在标注数据库280中查询出所有可能与当前网页有关的标注,从而得到标注候选集,并从标注数据库280中获得所有这些可能标注的网页标注信息。
网页标注合成器530用所有可能的标注在当前网页中进行匹配,以判断其中哪些标注最有可能标注了当前载入网页中的哪些元素或对象,即,确定每一个可能的标注在当前网页中是否存在及其存在的位置,并将标注与网页合成起来以便经由浏览器显示给用户。如图5所示,网页标注合成器530可以进一步包括标注位置确定单元532和合成单元534。
其中,标注位置确定单元532针对所述标注候选集中的每一个可能的标注,根据该标注的网页标注信息(例如,该标注所对应的被标注对象的XPath路径及特征码CF等信息),确定该可能标注是否标注了当前网页中的网页元素(即,确定该可能标注在当前网页中是否存在),并且在确定该可能标注存在的情况下进一步确定其所标注的网页元素在当前网页中的位置(即,标注位置)。
合成单元534根据被确定应当存在于当前网页中的可能标注的网页标注信息,及所确定的这些标注在当前网页中的标注位置,将这些标注与当前网页合成,并经由浏览器将合成后的网页显示给用户。
图6是示出了根据本发明的实施例、在用户利用上述信息共享***在客户端浏览器中输入要载入网页的URL以便显示该网页及其中的已有标注的处理过程600的流程图。
如图6所示,在步骤S610中,如上所述,对用户输入的URL进行分析,获得备选URL集,并将所有备选URL所对应的网页与要载入的网页(即当前网页)进行相同和相近页面判定,从而确定出有效URL。有过步骤S610中的具体处理过程将在下文中参照图7进行描述。
在步骤S620中,根据所确定的有效URL,在标注数据库中查询所有可能与当前网页有关的标注,从而得到标注候选集。然后,在步骤S630,确定所有可能标注中的哪一些在当前网页中存在,并确定这些存在的标注在当前网页中的标注位置。有关步骤S630的具体处理过程将在下文中参照图8和图9来加以说明。
然后,在步骤S640中,基于步骤S630中确定应当存在的标注的网页标注信息以及这些标注的所确定的标注位置,将标注与当前网页合成,并且在步骤S650中将合成后的网页经由浏览器显示给用户。在此,可以通过动态修改当前网页的DOM代码,首先把标注转化成html的格式,然后把转换之后的html片段***到网页代码中,并在浏览器中显示出来。
图7是示出了在根据本发明的一个实施例中基于用户输入的URL获得备选URL以及将其所对应的网页和浏览器当前载入的网页(即当前网页)进行相同和相近页面判定的过程(即,图6中所示的步骤S610的具体处理过程)的示例性流程图。
如图7所示,在步骤S710中,如上所述,基于用户输入的URL,获得和输入的URL在同一网站中的所有备选URL的集合、即备选URL集。然后,在步骤S720中,确定某一备选URL所对应的网页与当前网页是否为相同的页面。在此,如果备选URL所对应的网页的内容特征码与当前网页的内容特征码相同,则可以确定所述两个网页为相同的页面,否则上述两个网页就是不相同的。在此借助于网页的内容特征码来判断标注所在的网页和当前网页是否为相同的页面,因此,如上文中所述,可以采用现有的编码方式、例如MD5来获得网页的内容特征码。这主要是针对一些网页的URL不同但是内容却没有改变的情况。
如果在步骤S720中确定上述两个网页不相同,则在步骤S730中,确定这两个网页是否是相近似的页面。在此,在这两个网页之间满足以下条件时,可以确定这两个网页是相近似的,否则就是不相近的:
(1)网页的标题相同,而且
(2)这两个网页之间存在参数传递的情况,URL中数字参数缺失,其它相同;
这两个网页之间存在参数传递的情况,URL中的数字参数不同,而且备选URL所对应的网页中的数字参数与当前URL所对应的网页中的数字参数相比更小,其它相同;或者
这两个网页之间不存在参数传递,URL的最后一个地址部分不同,其它相同。
在此显然可以看出,本发明的原理并不仅仅局限于上述这种相近页面判定条件,本领域技术人员完全可以根据需要设定其他不同的相近页面判定条件。
在步骤S720或者步骤S730中的判定结果是肯定的时,处理进行到步骤S740,将当前备选URL确定为有效URL。
如果在经步骤S720和步骤S730中的判定后确定上述两个网页既不相同也不相近,则处理进行到步骤S750,确定备选URL集中是否还有未经相同和相近页面判定的URL。如果是的话,则在步骤S760,从备选URL集中取出下一个备选URL,然后处理返回到步骤S720,以便将该取出的下一个备选URL所对应的网页与当前网页进行相同和相近页面判定。重复步骤S720~步骤S760的处理,直至在步骤S750中确定备选URL集中的所有备选URL都已经经过了相同和相近页面判定为止,从而确定出备选URL集中的所有有效URL。
图8是详细地示出了图6中的步骤S630的处理过程(即,确定所有可能的标注是否存在于当前网页中及其在当前网页中的标注位置)的流程图,而图9是示出了在图8所示的处理过程中用到的某标注的特征码CF(如图9中的(a)所示)及其对应的当前网页的DOM树(如图9中的(b)所示)的结构的示意图。
如图8所示,在步骤S810中,基于当前待确定的可能标注的网页标注信息,例如与该标注对应的被标注对象的特征码CF及XPath路径等,以在当前网页的DOM树中依据XPath路径所确定的节点为基础,分别向上和向下依次对当前网页的DOM树中的节点进行检测,以确定DOM树中的与该标注所对应的被标注对象及其上下文节点相同或最接近的节点(在此,相似是指节点的内容以及上下文的差异在可以允许的范围内),作为当前网页中与该标注对应的DOM树节点。
例如,以图9的(a)所示的某一待确定的可能标注的特征码CF为例,其中A、B和C分别表示该标注所对应的被标注对象及其上文节点和下文节点,以基于A的XPath路径确定的节点为基础依次对DOM树中的节点进行检测,确定出A、B和C在当前DOM树中最接近的节点分别是如图9中的(b)所示的A’、B’和C’,在此可以将其称为所述待确定标注所对应的DOM树节点。
然后,在步骤S820中,基于所确定的与待确定的可能标注对应的DOM树节点,按照下述方式计算该标注与DOM树的距离D(A,A’):
D(A,A’)=d(A,A’)+α(d(B,B’)+d(C,C’))+βds
其中,
d(A,A’)=|CBF(A)-CBF(A’)|,
d(B,B’)=|CBF(B)-CBF(B’)|,
d(B,B’)=|CBF(C)-CBF(C’)|,
ds为树结构距离,α、β为常数,而且α表示被标注对象的上下文的差异对被标注对象的差异的影响程度,β表示DOM树结构的差异对标注的相似度差异的影响程度,ds表示当前DOM树中的上下文节点结构和标注的CF结构(即,原上下文节点结构)的差异。
假设在DOM树中可以找到节点A’、B’、C’的最底层公共节点P,而且lA’、lB’、lC’分别表示从节点A’、B’、C’到节点P所经过的节点的个数,则ds可以按如下方式计算:
ds=lA’+lB’+lC’
在如图9(b)中所示的情况下,ds=1。
返回参见图8。在步骤S830中,判断在步骤S820中所计算的所述待确定标注的距离D是否小于某一预定阈值。如果是的话,则在步骤S840中可以确定该标注应当存在于当前网页上,并确定它在当前网页上的存在位置。例如,如果所计算的D(A,A’)小于预定阈值,则确定所述待确定标注仍然标注了当前网页中的元素或对象,因此应当显示在当前网页上,并且节点A’在DOM树中所处的位置就决定了该标注应当显示在当前网页上的位置。
如果在步骤S830中确定所述待确定标注的距离D不小于预定阈值,则在步骤S840中,放弃该标注,即确定该标注不应当被显示在当前网页上。
从以上对被标注对象的基于内容的特征CBF及特征码CF的定义中可以看出,CBF对于被标注对象而言在一般情况下都具有唯一性(尤其是在被标注对象是以英文文本表示的网页内容时更是如此),而且具有统一的长度,便于数据传输和存储;CBF的变化能够真实反映出被标注对象的内容的变化;而且被标注对象的CF之间的距离是对象变化的度量。
在如上所述的根据本发明实施例的信息共享***中,在使用XPath路径对被标注对象进行标识的同时,还利用了被标注对象的特征码CF信息,因此能够实现动态网页中标注对于被标注对象的动态跟踪,而这在传统的网页信息标注***中是不可能实现的。这是因为,在传统的网页信息标注***中一般采用哈希函数的形式(比如MD5编码)来构造被标注对象的特征,虽然这种特征在一般情况下是唯一的,而且长度统一,便于数据传输和存储,但是这种特征不能反映被标注内容的变化程度。这种哈希编码使得被标注对象的微小的变化导致特征的巨大变化,从而不能通过特征之间的距离来度量被标注对象变化的程度。
在以上结合附图所描述的根据本发明实施例的基于网页标注的信息共享方法和***中,可以基于被标注对象的内容及其上下文内容来生成被标注对象的特征码,这样在用所有可能标注在当前载入网页中进行匹配的时候,可以对标注的变化进行度量,从而使得可以根据变化的程度来确定是否对标注进行显示,从而实现了动态跟踪。而且,在标注匹配的过程中,采用了基于上下文内容的特征的轻量级的DOM树搜索方法,用来衡量被标注对象的内容变化及其上下文变化。
通过以上的描述不难看出,在以上所描述的根据本发明实施例的方法和***中,使用了动态跟踪技术,使得即使网页中的被标注对象发生了一定的变化,也可以将对应的标注正确地显示在网页上的变化后的位置处,而对于从网页中消失的内容,则其对应标注将不会被显示出来。而且,在网页中的被标注对象是从其他网页中转移而来的情况下,对于这类被标注对象,也可以在网页上正确的位置显示出其对应的标注。另外,在当前网页可能已经通过不同的URL进行了标注的情况下,这些标注也会全部被正确地显示出来。此外,当被标注对象的格式发生变化时,其标注也可以同时正确的显示出来,比如加黑,斜体等,引文等。格式的改变在网页更新或者论坛内容转载的是很常见的。因此,可以以网页标注作为手段来实现用户之间共享信息的目的。
此外,显然,根据本发明的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。
而且,本发明的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给***或设备,并且该***或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。
此时,只要该***或者设备具有执行程序的功能,则本发明的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作***的脚本程序等。
上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。
另外,计算机通过连接到互联网上的相应网站,并且将依据本发明的计算机程序代码下载和安装到计算机中然后执行该程序,也可以实现本发明。
还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
最后,还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上虽然已经结合附图详细说明了本发明的实施例,但是应当明白,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。在不背离由所附的权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变、替代和变型。而且,本申请的范围不仅限于说明书所描述的过程、设备、制造、物质的结构、手段、方法和步骤的具体实施例。本领域普通技术人员根据本发明的公开内容将很容易理解,根据本发明可以使用执行与在此所述的相应实施例基本相同的功能或者获得与其基本相同的结果的、现有和将来要被开发的过程、设备、制造、物质的结构、手段、方法或者步骤。因此,所附的权利要求旨在它们的范围内包括这样的过程、设备、制造、物质的结构、手段、方法或者步骤。
Claims (25)
1.一种用于生成网页标注信息的方法,包括如下步骤:
响应于用户在客户端Web浏览器上载入的当前网页上选择了目标网页元素作为被标注对象,提取被标注对象在当前网页的文档对象模型DOM树中的XPath路径;
基于被标注对象及当前网页中紧邻在被标注对象之前和之后的上下文网页元素的内容,生成被标注对象的特征码CF;以及
基于被标注对象的XPath路径、特征码CF以及用户输入的标注,生成网页标注信息,
其中,所述网页标注信息被存储在远程标注服务器的标注数据库中,
被标注对象的特征码CF由被标注对象的基于内容的特征CBF及其上下文网页元素的CBF构成,以及
网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
2.根据权利要求1所述的方法,其中,所述生成被标注对象的特征码CF的步骤进一步包括:
按照下述方式生成被标注对象及其上下文网页元素的CBF:
通过参考预先存储的HTML清理原则,从网页元素中去除无意义的HTML标记;
对经过HTML清理后的网页元素进行HTML字母化,从而基于网页元素的内容将网页元素转换为由a到z的字母构成的字母串;
统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的个数以及逆序个数,以便生成网页元素的字母投影向量和字母顺序向量;
将网页元素的字母投影向量和字母顺序向量拼接起来,从而得到网页元素的CBF,以及
按如下方式得到被标注对象的特征码CF:被标注对象的上文网页元素的CBF+被标注对象的CBF+被标注对象的下文网页元素的CBF。
3.根据权利要求2所述的方法,其中,在被标注对象及其上下文网页元素包含中文文字说明的情况下,在对经过HTML清理后的网页元素进行HTML字母化之前,参考汉字字典将中文文字说明转换为汉语拼音。
4.根据权利要求1至3中任意一项所述的方法,其中,所述网页标注信息除了包含被标注对象的XPath路径、特征码CF以及标注的内容和格式外,还包括标注所在网页的URL、标注所在网页的内容特征码。
5.根据权利要求1至3中任意一项所述的方法,其中,所述远程标注服务器通过Java Servelet实现,以及
所述方法进一步包括步骤:将所生成的网页标注信息转换成适合于与远程标注服务器进行通信的XML格式,以便将其传输给远程标注服务器。
6.一种用于生成网页标注信息的装置,包括:
XPath生成器,用于响应于用户在客户端Web浏览器上载入的当前网页上选择了目标网页元素作为被标注对象,提取被标注对象在当前网页的文档对象模型DOM树中的XPath路径;
特征码CF生成器,用于基于被标注对象及当前网页中紧邻在被标注对象之前和之后的上下文网页元素的内容,生成被标注对象的特征码CF;以及
标注生成器,用于基于被标注对象的XPath路径、被标注对象的特征码CF以及用户输入的标注,生成网页标注信息,
其中,被标注对象的特征码CF由被标注对象的基于内容的特征CBF及其上下文网页元素的CBF构成,
其中,所述网页标注信息被存储在远程标注服务器的标注数据库中,
网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
7.根据权利要求6所述的装置,其中,所述特征码CF生成器包括基于内容的特征CBF生成器,用于基于网页元素的内容,生成网页元素的基于内容的特征CBF;以及
所述CBF生成器进一步包括:
HTML清理单元,用于通过参考预先存储的HTML清理原则,从网页元素中去除无意义的HTML标记;
HTML字母化单元,用于对经过HTML清理后的网页元素进行HTML字母化,从而基于网页元素的内容将网页元素转换为由a到z的字母构成的字母串;
字母投影向量生成单元,用于统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的个数,以生成网页元素的字母投影向量;
字母顺序向量生成单元,用于统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的逆序个数,以生成网页元素的字母顺序向量;以及
用于将网页元素的字母投影向量和字母顺序向量拼接起来从而得到网页元素的CBF的单元,以及
其中,所述CF生成器按如下方式生成被标注对象的特征码CF:被标注对象的上文网页元素的CBF+被标注对象的CBF+被标注对象的下文网页元素的CBF。
8.根据权利要求7所述的装置,其中,在被标注对象及其上下文网页元素包含中文文字说明的情况下,所述HTML字母化单元参考汉字字典将经过HTML清理后的网页元素的中文文字说明转换为汉语拼音,然后对其进行HTML字母化。
9.根据权利要求6至8中任意一项所述的装置,其中,所述网页标注信息除了包含被标注对象的XPath路径、特征码CF以及标注的内容和格式外,还包括标注所在网页的URL、标注所在网页的内容特征码。
10.根据权利要求6至8中任意一项所述的装置,其中,所述装置通过浏览器插件实现,所述远程标注服务器通过Java Servelet实现,
所述装置进一步包括XML转换器,用于将所生成的网页标注信息转换成适合于与远程标注服务器进行通信的XML格式。
11.一种用于在客户端Web浏览器上显示网页及网页上的标注的方法,包括以下步骤:
a)响应于用户输入要在浏览器上载入并显示的网页的统一资源定位符URL,对输入的URL进行分析,以得到有效URL;
b)根据所述有效URL,从远程标注服务器中查询出所有和有效URL有关的标注,从而得到标注候选集以及这些标注的网页标注信息;
c)针对标注候选集中的每一个标注,根据该标注的网页标注信息,确定该标注是否标注了所要载入的网页中的网页元素,即,确定该标注是否应当存在于要载入的网页中,并且如果是的话,还进一步确定其所标注的网页元素在所述要载入的网页中的位置、即标注位置;以及
d)根据被确定为应当存在于要载入的网页中的标注的网页标注信息及其标注位置,将这些标注与所述要载入的网页合成起来,并经由浏览器将合成后的网页显示给用户,
其中,标注的网页标注信息包含标注所对应的被标注对象的XPath路径、被标注对象的特征码CF、标注的内容和格式、标注所在网页的URL、标注所在网页的内容特征码,
被标注对象的特征码CF由被标注对象的基于内容的特征CBF及紧邻在被标注对象之前和之后的上下文网页元素的CBF构成,
网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
12.根据权利要求11所述的方法,其中,所述步骤a)进一步包括:
基于所述输入的URL,从远程标注服务器中取出所有和要载入的网页在同一网站中的URL作为备选URL,将备选URL所对应的网页与要载入的网页进行相同和相近页面判定,并将所对应的网页与要载入的网页相同或者相近的备选URL确定为有效URL。
13.根据权利要求11或12所述的方法,其中,所述步骤c)进一步包括:
针对标注候选集中的每一个标注:
基于该标注所对应的被标注对象的特征码CF及XPath路径,以在要载入网页的文档对象模型DOM树中依据XPath路径所确定的节点为基础,分别向上和向下依次对网页的DOM树中的节点进行检测,以确定DOM树中的、与该标注所对应的被标注对象及其上下文网页元素相同或最接近的节点,作为该标注在DOM树中的对应DOM树节点;
基于所述标注的特征码以及它所对应的DOM树节点,计算该标注与DOM树的距离D;
确定所计算的距离D是否小于预定阈值;以及
在所述标注的所述距离D小于预定阈值时,确定该标注应当存在于要载入的网页中,并基于所确定的与该标注所对应的被标注对象相同或最接近的DOM树节点,确定该标注在要载入网页中的标注位置。
14.根据权利要求13所述的方法,其中,按照下述方式计算标注与DOM树的距离D:
假设标注所对应的被标注对象及其上下文网页元素为A、B和C,DOM树中与它们相同或最接近的树节点分别为A’、B’和C’,则:
D=d(A,A’)+α(d(B,B’)+d(C,C’))+βds,
其中,
d(A,A’)=|CBF(A)-CBF(A’)|,
d(B,B’)=|CBF(B)-CBF(B’)|,
d(B,B’)=|CBF(C)-CBF(C’)|,
其中,d(A,A’)表示网页元素A与DOM树中和所述网页元素A相同或最相似的树节点A’之间的距离,d(B,B’)表示网页元素B与DOM树中和所述网页元素B相同或最相似的树节点B’之间的距离,d(C,C’)表示网页元素C与DOM树中和所述网页元素C相同或最相似的树节点C’之间的距离,CBF(A)、CBF(B)和CBF(C)分别表示网页元素A、B和C的CBF,CBF(A’)、CBF(B’)和CBF(C’)分别表示树节点A’、B’和C’的CBF,α、β为常数,而且α表示被标注对象的上下文的差异对被标注对象的差异的影响程度,β表示DOM树结构的差异对标注的相似度差异的影响程度,ds表示DOM树的结构和标注的特征码CF的差异。
15.根据权利要求11或12所述的方法,其中,按照下述方式生成网页元素的CBF:
通过参考预先存储的HTML清理原则,从网页元素中去除无意义的HTML标记;
对经过HTML清理后的网页元素进行HTML字母化,从而基于网页元素的内容将网页元素转换为由a到z的字母构成的字母串;
统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的个数以及逆序个数,以便生成网页元素的字母投影向量和字母顺序向量;
将网页元素的字母投影向量和字母顺序向量拼接起来,从而得到网页元素的CBF。
16.根据权利要求11或12所述的方法,其中,所述远程标注服务器通过Java Servelet实现,以及
所述方法还包括步骤:对于在客户端与远程标注服务器之间进行传递的信息,在发送或者接收之前将其转换成XML格式。
17.一种用于经由客户端Web浏览器显示网页及网页上的标注的装置,包括:
URL分析器,用于响应于用户输入的要在浏览器上载入并显示的网页的统一资源定位符URL,对输入的URL进行分析,以得到有效URL;
标注查询器,用于根据所述有效URL,从远程标注服务器中查询出所有和有效URL有关的标注,从而得到标注候选集以及这些标注的网页标注信息;
标注位置确定单元,用于针对标注候选集中的每一个标注,根据该标注的网页标注信息,确定该标注是否标注了所要载入的网页中的网页元素,即,确定该标注是否应当存在于要载入的网页中,并且如果是的话,还进一步确定其所标注的网页元素在所述要载入的网页中的位置、即标注位置;以及
合成单元,用于根据被确定为应当存在于要载入的网页中的标注的网页标注信息及其标注位置,将这些标注与所述要载入的网页合成起来,
其中,合成后的网页经由浏览器显示给用户,
标注的网页标注信息包含标注所对应的被标注对象的XPath路径、被标注对象的特征码CF、标注的内容和格式、标注所在网页的URL、标注所在网页的内容特征码,
被标注对象的特征码CF由被标注对象的基于内容的特征CBF及紧邻在被标注对象之前和之后的上下文网页元素的CBF构成,以及
网页元素的CBF由该网页元素的字母投影向量和字母顺序向量组成,其中所述字母投影向量由该网页元素中的所有字母在字母表Λ={a,b,c,d,...,z}上的统计个数组成,所述字母顺序向量由该网页元素中的所有字母在字母表Λ上的逆序统计个数组成。
18.根据权利要求17所述的装置,其中,所述URL分析器基于所述输入的URL,从远程标注服务器中取出所有和要载入的网页在同一网站中的URL作为备选URL,将备选URL所对应的网页与要载入的网页进行相同和相近页面判定,并将所对应的网页与要载入的网页相同或者相近的备选URL确定为有效URL。
19.根据权利要求17或18所述的装置,其中,所述标注位置确定单元针对标注候选集中的每一个标注执行以下处理:
基于该标注所对应的被标注对象的特征码CF及XPath路径,以在要载入网页的文档对象模型DOM树中依据XPath路径所确定的节点为基础,分别向上和向下依次对网页的DOM树中的节点进行检测,以确定DOM树中的、与该标注所对应的被标注对象及其上下文网页元素相同或最接近的节点,作为该标注在DOM树中的对应DOM树节点;
基于所述标注的特征码以及它所对应的DOM树节点,计算该标注与DOM树的距离D;
确定所计算的距离D是否小于预定阈值;以及
在所述标注的所述距离D小于预定阈值时,确定该标注应当存在于要载入的网页中,并基于所确定的与该标注所对应的被标注对象相同或最接近的DOM树节点,确定该标注在要载入网页中的标注位置。
20.根据权利要求19所述的装置,其中,所述标注位置确定单元按照下述方式计算标注与DOM树的距离D:
假设标注所对应的被标注对象及其上下文网页元素为A、B和C,DOM树中与它们相同或最接近的树节点分别为A’、B’和C’,则:
D=d(A,A’)+α(d(B,B’)+d(C,C’))+βds,
其中,
d(A,A’)=|CBF(A)-CBF(A’)|,
d(B,B’)=|CBF(B)-CBF(B’)|,
d(B,B’)=|CBF(C)-CBF(C’)|,
其中,d(A,A’)表示网页元素A与DOM树中和所述网页元素A相同或最相似的树节点A’之间的距离,d(B,B’)表示网页元素B与DOM树中和所述网页元素B相同或最相似的树节点B’之间的距离,d(C,C’)表示网页元素C与DOM树中和所述网页元素C相同或最相似的树节点C’之间的距离,CBF(A)、CBF(B)和CBF(C)分别表示网页元素A、B和C的CBF,CBF(A’)、CBF(B’)和CBF(C’)分别表示树节点A’、B’和C’的CBF,α、β为常数,而且α表示被标注对象的上下文的差异对被标注对象的差异的影响程度,β表示DOM树结构的差异对标注的相似度差异的影响程度,ds表示DOM树的结构和标注的特征码CF的差异。
21.根据权利要求17或18所述的装置,还包括基于内容的特征CBF生成器,用于生成网页元素的基于内容的特征CBF,
所述CBF生成器进一步包括:
HTML清理单元,用于通过参考预先存储的HTML清理原则,从网页元素中去除无意义的HTML标记;
HTML字母化单元,用于对经过HTML清理后的网页元素进行HTML字母化,从而基于网页元素的内容将网页元素转换为由a到z的字母构成的字母串;
字母投影向量生成单元,用于统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的个数,以生成网页元素的字母投影向量;
字母顺序向量生成单元,用于统计所述字母串中的所有字母在字母表Λ={a,b,c,d,...,z}上的逆序个数,以生成网页元素的字母顺序向量;以及
用于将网页元素的字母投影向量和字母顺序向量拼接起来从而得到网页元素的CBF的单元。
22.根据权利要求17或18所述的装置,其中,所述装置通过浏览器插件实现,所述远程标注服务器通过Java Servelet实现,
所述装置进一步包括XML转换器,用于在发送或者接收之前将在客户端与远程标注服务器之间传递的信息转换成XML格式。
23.一种网页标注方法,包括:
响应于用户输入的要在客户端Web浏览器上载入和显示的网页的URL,通过执行根据权利要求11至16中的任意一项所述的方法,在浏览器上显示所述网页,以及存储在远程标注服务器上的、先前标注在该网页上的已有标注;
通过执行根据权利要求1至5中的任意一项所述的方法,在所述网页上添加新标注,该新标注的网页标注信息被存储在远程标注服务器上;以及
经由浏览器在所述网页上显示所添加的新标注。
24.一种网页标注装置,包括:
根据权利要求9所述的用于生成网页标注信息的装置;以及
根据权利要求17至22中的任意一项所述的用于经由客户端Web浏览器显示网页及网页上的标注的装置。
25.一种基于网页标注的信息共享***,包括客户端和远程标注服务器,其中,
所述客户端包括根据权利要求24所述的网页标注装置,以及
所述远程标注服务器包括用于存储网页标注信息的标注数据库,和用于对标注数据库进行存取控制的标注信息存取器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910133976 CN101866342B (zh) | 2009-04-16 | 2009-04-16 | 生成或显示网页标注的方法和装置以及信息共享*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910133976 CN101866342B (zh) | 2009-04-16 | 2009-04-16 | 生成或显示网页标注的方法和装置以及信息共享*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866342A CN101866342A (zh) | 2010-10-20 |
CN101866342B true CN101866342B (zh) | 2013-09-11 |
Family
ID=42958073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910133976 Expired - Fee Related CN101866342B (zh) | 2009-04-16 | 2009-04-16 | 生成或显示网页标注的方法和装置以及信息共享*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101866342B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102637172B (zh) * | 2011-02-10 | 2013-11-27 | 北京百度网讯科技有限公司 | 网页分块标注方法与*** |
US9619580B2 (en) | 2012-09-11 | 2017-04-11 | International Business Machines Corporation | Generation of synthetic context objects |
US9741138B2 (en) | 2012-10-10 | 2017-08-22 | International Business Machines Corporation | Node cluster relationships in a graph database |
US8931109B2 (en) | 2012-11-19 | 2015-01-06 | International Business Machines Corporation | Context-based security screening for accessing data |
CN103942224B (zh) * | 2013-01-23 | 2018-12-14 | 百度在线网络技术(北京)有限公司 | 一种获取网页分块的标注规则的方法及装置 |
US9069752B2 (en) | 2013-01-31 | 2015-06-30 | International Business Machines Corporation | Measuring and displaying facets in context-based conformed dimensional data gravity wells |
US9053102B2 (en) | 2013-01-31 | 2015-06-09 | International Business Machines Corporation | Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects |
CN104035916B (zh) * | 2013-03-07 | 2017-05-24 | 富士通株式会社 | 标准化标注工具的方法和设备 |
US10152526B2 (en) | 2013-04-11 | 2018-12-11 | International Business Machines Corporation | Generation of synthetic context objects using bounded context objects |
US9348794B2 (en) | 2013-05-17 | 2016-05-24 | International Business Machines Corporation | Population of context-based data gravity wells |
CN104794174A (zh) * | 2015-04-01 | 2015-07-22 | 百度在线网络技术(北京)有限公司 | 用于显示网页标记信息的方法与装置 |
CN104811351A (zh) * | 2015-04-21 | 2015-07-29 | 中国电子科技集团公司第四十一研究所 | 一种基于xml的分布式通信网络测试方法及*** |
CN105095432B (zh) * | 2015-07-22 | 2019-04-16 | 腾讯科技(北京)有限公司 | 网页批注显示方法及装置 |
CN105117498A (zh) * | 2015-09-28 | 2015-12-02 | 北京奇虎科技有限公司 | 网页页面数据处理方法及装置 |
CN106610994A (zh) * | 2015-10-23 | 2017-05-03 | 北京国双科技有限公司 | 点击路径的统计方法和装置 |
CN105824925B (zh) * | 2016-03-17 | 2019-09-10 | 四川长虹电器股份有限公司 | 基于浏览器网页元素的动态标注方法 |
CN105930383A (zh) * | 2016-04-14 | 2016-09-07 | 青岛海信移动通信技术股份有限公司 | 电子书签的实现方法及装置 |
CN106250394B (zh) * | 2016-07-15 | 2019-08-02 | 北京邮电大学 | 网络资源内容洞察***及方法 |
US10331758B2 (en) | 2016-09-23 | 2019-06-25 | Hvr Technologies Inc. | Digital communications platform for webpage overlay |
CN108874373B (zh) * | 2017-05-12 | 2023-05-30 | 深圳市雅阅科技有限公司 | 向网页内***信息的方法及装置、显示终端及存储介质 |
CN107808000B (zh) * | 2017-11-13 | 2020-05-22 | 哈尔滨工业大学(威海) | 一种暗网数据采集与抽取***及方法 |
CN110619100B (zh) * | 2019-06-18 | 2023-02-28 | 北京无限光场科技有限公司 | 用于获取数据的方法和装置 |
CN113688597A (zh) * | 2020-05-18 | 2021-11-23 | 北京字节跳动网络技术有限公司 | 一种标注文件的展示方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124609A (zh) * | 2004-07-29 | 2008-02-13 | 雅虎公司 | 使用内联上下文查询的搜索***及方法 |
CN101251855A (zh) * | 2008-03-27 | 2008-08-27 | 腾讯科技(深圳)有限公司 | 一种互联网网页清洗方法、***及设备 |
-
2009
- 2009-04-16 CN CN 200910133976 patent/CN101866342B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124609A (zh) * | 2004-07-29 | 2008-02-13 | 雅虎公司 | 使用内联上下文查询的搜索***及方法 |
CN101251855A (zh) * | 2008-03-27 | 2008-08-27 | 腾讯科技(深圳)有限公司 | 一种互联网网页清洗方法、***及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101866342A (zh) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101866342B (zh) | 生成或显示网页标注的方法和装置以及信息共享*** | |
US11372935B2 (en) | Automatically generating a website specific to an industry | |
US8276060B2 (en) | System and method for annotating documents using a viewer | |
JP3879350B2 (ja) | 構造化文書処理システム及び構造化文書処理方法 | |
US20090089278A1 (en) | Techniques for keyword extraction from urls using statistical analysis | |
US7353268B2 (en) | Network system, server, web server, web page, data processing method, storage medium, and program transmission apparatus | |
Papadakis et al. | Stavies: A system for information extraction from unknown web data sources through automatic web wrapper generation using clustering techniques | |
CN101551800B (zh) | 标注信息生成装置、查询装置及共享*** | |
US20020035619A1 (en) | Apparatus and method for producing contextually marked-up electronic content | |
US20080072140A1 (en) | Techniques for inducing high quality structural templates for electronic documents | |
US20090019015A1 (en) | Mathematical expression structured language object search system and search method | |
US20110137943A1 (en) | Apparatus for deciding word-related keywords, and method and program for controlling operation of same | |
TW200836075A (en) | Method of converting hypertext markup language web page into pure text and system thereof | |
CN111079043A (zh) | 一种关键内容定位方法 | |
US20060047693A1 (en) | Apparatus for and method of generating data extraction definition information | |
TW201415254A (zh) | 語意標註建議方法及其系統 | |
US8140575B2 (en) | Apparatus, method, and program product for information processing | |
US20100082594A1 (en) | Building a topic based webpage based on algorithmic and community interactions | |
KR20090130364A (ko) | 웹 페이지에 포함되는 이미지에 대하여 태깅을 수행하고 그 결과를 이용하여 웹 검색 서비스를 제공하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
KR20100037401A (ko) | 검색 데이터베이스 관리 방법 및 장치 | |
Maurer et al. | Transclusions in an html-based environment | |
CN101196883A (zh) | 一种互联网信息自然语言翻译通用方法和*** | |
US20030176996A1 (en) | Content of electronic documents | |
JP5321777B2 (ja) | 参考キーワードを提示する機能を備えた商品検索装置および商品検索方法 | |
CN101145936B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130911 Termination date: 20180416 |
|
CF01 | Termination of patent right due to non-payment of annual fee |