Web内容纠正方法和装置,Web内容纠正服务方法和设备转让专利

申请号 : CN200810127447.X

文献号 : CN101620610B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 舒芳蕊杨眉戚馨文李娟

申请人 : 国际商业机器公司

摘要 :

本发明提出一种用于纠正Web页面中的错误内容的方法及装置。该方法包括步骤:响应于用户请求纠正Web页面中的错误内容,确定该错误内容在该Web页面中的位置;接收用户针对错误内容输入的纠正内容;向纠正服务提供方提交包括所述位置和所述纠正内容的纠正信息。本发明还提出一种提供Web内容纠正服务的方法和设备。该方法包括步骤:接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容;对接收到的所述纠正信息进行存储;以及响应于用户请求访问所述Web页面,检索所述纠正信息并发送给所述用户。本发明允许用户以快速、方便、统一的方式针对各种Web网页上的错误内容进行纠正。

权利要求 :

1.一种用于纠正Web页面中的错误内容的方法,包括以下步骤:响应于用户请求纠正Web页面中的错误内容,通过文档对象模型检查确定该错误内容在该Web页面中的位置;

接收用户针对所述错误内容输入的纠正内容;

向Web内容纠正服务提供方提交包括所述位置和所述纠正内容的纠正信息,其中所述Web内容纠正服务提供方用于向用户和Web内容拥有方提供Web内容纠正服务。

2.如权利要求1所述的方法,还包括以下步骤:

响应于用户请求访问Web页面,请求所述Web内容纠正服务提供方检索与该Web页面相关联的纠正信息,所述纠正信息包括错误内容的位置和纠正内容;以及向该用户呈现所述Web页面,其中将所述纠正内容与所述错误内容一起显示。

3.如权利要求2所述的方法,还包括在向用户呈现所述Web页面之后,向所述Web内容纠正服务提供方提交该用户对所述纠正内容的反馈信息的步骤。

4.如权利要求1所述的方法,还包括响应于从所述Web内容纠正服务提供方检索到纠正信息,判断所述纠正信息是否有效的步骤。

5.如权利要求4所述的方法,其中向所述Web内容纠正服务提供方提交的纠正信息还包括错误内容的上下文签名,并且借助于所述上下文签名来判断所述纠正信息是否有效。

6.一种用于纠正Web页面中的错误内容的装置,包括:

定位模块,用于响应于用户请求纠正Web页面中的错误内容,通过文档对象模型检查确定该错误内容在该Web页面中的位置;

纠正模块,用于接收用户针对所述错误内容输入的纠正内容;

提交模块,用于向Web内容纠正服务提供方提交包括所述位置和所述纠正内容的纠正信息,其中所述Web内容纠正服务提供方用于向用户和Web内容拥有方提供Web内容纠正服务。

7.如权利要求6所述的装置,还包括:

请求模块,用于响应于用户请求访问Web页面,请求所述Web内容纠正服务提供方检索与该Web页面相关联的纠正信息,所述纠正信息包括错误内容的位置和纠正内容;以及呈现模块,用于向该用户呈现所述Web页面,其中将所述纠正内容与所述错误内容一起显示。

8.如权利要求7所述的装置,还包括反馈模块,用于在向用户呈现所述Web页面之后,向所述Web内容纠正服务提供方提交该用户对所述纠正内容的反馈信息。

9.如权利要求6所述的装置,还包括判断模块,用于响应于从所述Web内容纠正服务提供方检索到纠正信息,判断所述纠正信息是否有效。

10.如权利要求9所述的装置,其中所述提交模块向所述Web内容纠正服务提供方提交的纠正信息还包括错误内容的上下文签名,并且所述判断模块借助于所述上下文签名来判断所述纠正信息是否有效。

11.一种由Web内容纠正服务提供方提供Web内容纠正服务的方法,其中所述Web内容纠正服务提供方用于向用户和Web内容拥有方提供Web内容纠正服务,该方法包括以下步骤:接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容;

对接收到的所述纠正信息进行存储;以及

响应于用户请求访问所述Web页面,检索所述纠正信息并发送给所述用户。

12.如权利要求11所述的方法,还包括在对接收到的所述纠正信息进行存储之前,对所述纠正信息与先前存储的已有信息进行合并处理。

13.如权利要求11所述的方法,还包括接收所述用户对所述纠正内容的反馈信息的步骤。

14.如权利要求13所述的方法,还包括根据所述反馈信息,对所述纠正内容进行排名的步骤。

15.如权利要求11所述的方法,还包括响应于检索到纠正信息,判断所述纠正信息是否有效的步骤。

16.如权利要求15所述的方法,其中所述纠正信息还包括错误内容的上下文签名,并且借助于所述上下文签名来判断所述纠正信息是否有效。

17.一种由Web内容纠正服务提供方提供Web内容纠正服务的设备,其中所述Web内容纠正服务提供方用于向用户和Web内容拥有方提供Web内容纠正服务,该设备包括:接收模块,用于接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容;

存储模块,用于对接收到的所述纠正信息进行存储;以及

检索模块,用于响应于用户请求访问所述Web页面,检索所述纠正信息以便发送给所述用户。

18.如权利要求17所述的设备,还包括合并模块,用于在对接收到的所述纠正信息进行存储之前,对所述纠正信息与先前存储的已有信息进行合并处理。

19.如权利要求17所述的设备,还包括反馈接收模块,用于接收所述用户对所述纠正内容的反馈信息。

20.如权利要求19所述的设备,还包括仲裁模块,用于根据所述反馈信息,对所述纠正内容进行排名。

21.如权利要求17所述的设备,还包括判断模块,用于响应于检索到纠正信息,判断所述纠正信息是否有效。

22.如权利要求21所述的设备,其中所述纠正信息还包括错误内容的上下文签名,并且所述判断模块借助于所述上下文签名来判断所述纠正信息是否有效。

说明书 :

Web内容纠正方法和装置,Web内容纠正服务方法和设备

技术领域

[0001] 本发明涉及信息处理领域。更具体地说,本发明涉及用于对Web页面中的错误内容进行纠正的方法和装置、提供Web内容纠正服务的设备及其方法、和计算机程序产品。

背景技术

[0002] 随着信息检索技术的发展,像Google、Yahoo这样的互联网搜索服务提供商使Web用户获得了越来越好的搜索体验。用户可以通过简单的几次点击操作而迅速地找到他们感兴趣的信息。这种便利性使得用户越来越依赖于从Web获取信息;同时,这也促进了更多的机构在Web上发布信息来吸引用户。由于Web已经成为人们获取知识的最主要的来源之一,因此,提高Web上发布的内容的正确性、以避免公众被错误内容误导,成为一个重要的问题。
[0003] 大致来讲,在Web上发布信息(内容)的方式有两种,集中式内容发布和分布式内容发布。在集中式内容发布中,Web网站拥有者对Web内容具有完全的控制权,包括Web内容的创建、更新和删除。集中式网站的典型的例子包括搜狐[http://www.sohu.com]、新浪[http://www.sina.com],等等。由于Web网站拥有者的知识水平的局限性,以这种方式发布的内容不可避免地包含错误。如果这些错误不能被及时地纠正,将会对浏览该Web内容的用户产生负面的影响。
[0004] 目前解决该问题的一种方法是,由Web网站拥有者维护一个供用户报告错误内容的反馈渠道,根据用户的反馈对Web页面中的错误内容进行纠正。但是,这种方法由于存在以下缺点而不能令人满意。首先,从用户提交反馈到Web网站拥有者处理该反馈信息通常有一段时间的延迟。在该延迟期间,错误内容未被纠正因而上述问题仍然存在。其次,是否采纳用户的反馈意见而纠正Web内容取决于Web网站拥有者的判断。如前面所述,由于Web网站拥有者自身知识水平的限制,其有可能做出错误的判断。再有,如果用户希望对于不同网站上的错误内容提出纠正,他/她需要分别向这些网站的拥有者提交反馈。这就要求用户熟悉各个网站的反馈机制,对于用户来说非常麻烦,从而影响了用户对错误内容提出纠正意见的积极性。更糟糕的是,还有很多Web网站在发布Web内容之后就再也不对其进行更新。对于这些网站,用户没有任何途径对其Web页面上的错误内容进行纠正。
[0005] 另一方面,在分布式内容发布中,公众对于Web内容的创建、更新和删除具有控制权。分布式网站的典型的例子包括Wikipedia[http://en.wikipedia.org]。如果某个用户发现该网站上的错误Web内容,他/她可以直接对其进行纠正。但是,目前集中式网站的数量远多于分布式网站,而且在很长的时间内前者不会被后者取代,因此不可能通过利用后者的错误纠正机制来解决前者的问题。另外,由于对Web内容进行纠正的用户自身知识水平的限制,他/她所做出的纠正也有可能是错误的。再有,对于分布式网站来说,同样存在要求用户熟悉不同网站的错误纠正操作、因而给用户造成不便的问题。

发明内容

[0006] 本发明的主要目的是针对现有技术的缺点,提出一种允许用户以快速、方便、统一的方式针对各种Web网页上的错误内容进行纠正的机制。
[0007] 为实现上述目的,根据本发明的第一个方面,提出一种用于纠正Web页面中的错误内容的方法,包括以下步骤:响应于用户请求纠正Web页面中的错误内容,确定该错误内容在该Web页面中的位置;接收用户针对所述错误内容输入的纠正内容;向纠正服务提供方提交包括所述位置和所述纠正内容的纠正信息。
[0008] 根据本发明的第二个方面,提出一种用于纠正Web页面中的错误内容的装置,包括:定位模块,用于响应于用户请求纠正Web页面中的错误内容,确定该错误内容在该Web页面中的位置;接收模块,用于接收用户针对所述错误内容输入的纠正内容;提交模块,用于向纠正服务提供方提交包括所述位置和所述纠正内容的纠正信息。
[0009] 根据本发明的第三个方面,提出一种用于提供Web内容纠正服务的方法,包括以下步骤:接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容;对接收到的所述纠正信息进行存储;以及响应于用户请求访问所述Web页面,检索所述纠正信息并发送给所述用户。
[0010] 根据本发明的第四个方面,提出一种用于提供Web内容纠正服务的设备,包括:接收模块,用于接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容;存储模块,用于对接收到的所述纠正信息进行存储;以及检索模块,用于响应于用户请求访问所述Web页面,检索所述纠正信息并发送给所述用户。
[0011] 根据本发明的另外的方面,提出一种计算机程序产品,当在计算机上运行时,执行上述的Web内容纠正方法、或者提供Web内容纠正服务的方法。
[0012] 通过采用本发明的技术方案,使得一个普通Web用户仅仅通过简单的操作就能够对各种Web网页上的错误内容方便地进行纠正,并且可以使其他用户几乎没有延迟地看到该纠正内容。同样,该Web用户也可以及时地看到其他用户对各种Web网页上的错误内容的纠正。由此,提供了一种具有实效性、便利性、和客观性的Web内容纠正机制。

附图说明

[0013] 根据以下参照附图对本发明优选实施例的详细描述,本发明的上述及其它目的、特征和优点将变得更加清楚,附图中采用相同或相似的标记来表示相同或相似的部件。
[0014] 图1示出了一个示例性网络环境,其中可以实现根据本发明实施例的Web内容纠正方法。
[0015] 图2示出了根据本发明实施例的Web内容纠正系统的高层体系结构。
[0016] 图3示出了一个包含错误内容的Web页面的例子。
[0017] 图4示出了在Web内容纠正阶段,在用户侧执行的操作的流程。
[0018] 图5示出了在Web内容纠正阶段,在纠正服务提供方一侧执行的操作的流程。
[0019] 图6中示出了运行JavaScript代码来定位用户所选择的错误内容的结果。
[0020] 图7A示出了在纠正后的Web内容的呈现阶段,在用户侧执行的操作的流程。
[0021] 图7B示出了根据另一个实施例,在纠正后的Web内容的呈现阶段,在用户侧执行的操作的流程。
[0022] 图8A示出了在纠正后的Web内容的呈现阶段,在纠正服务提供方一侧执行的操作的流程。
[0023] 图8B示出了根据另一种实施例,在纠正后的Web内容的呈现阶段,在纠正服务提供方一侧执行的操作的流程。
[0024] 图9示出了向用户呈现的、包含对错误内容的纠正内容的Web页面的例子。

具体实施方式

[0025] 图1示出了可以实现根据本发明实施例的Web内容纠正方法的一个示例性网络环境。由于利用本发明的构思来对集中式内容和分布式内容进行纠正的过程实质上是相同的,因此,为了使描述更简单和更具代表性起见,本实施例中结合集中式网站来描述本发明。如图1中所示,分别位于Web内容拥有方A、B、C...的多个Web内容服务器103A、103B、103C...(下文中也用“103”来一般地表示)耦合到例如互连网的网络102上。多个用户a、b、c...可以分别通过安装在客户端101a、101b、101c...(下文中也用“101”来一般地表示)中的Web浏览器软件105a、105b、105c...(下文中也用“105”来一般地表示)访问由所述Web内容服务器103提供的Web内容。图1中还示出了Web内容纠正服务提供方,为了简明起见,在下文中也将其简称为“纠正服务提供方”。纠正服务提供方处设置了Web内容纠正服务器(以下也简称为“纠正服务器”或“服务器”)100,用于向用户和Web内容拥有方提供Web内容纠正服务。
[0026] 在本发明中,客户端101可以利用通用计算机实现。该通用计算机(图中未示出)典型地包括:耦合至系统总线的CPU、硬盘驱动器、用于驱动显示器的视频适配器、和网络接口;经I/O接口耦合至I/O总线的各种I/O装置,包括键盘、鼠标、只读光盘存储器等等;以及耦合至系统总线的系统存储器,其中存储了操作系统,以及各种应用程序,包括能够利用超文本传输协议(HTTP)从/向网络102接收/发送消息的浏览器应用程序。
[0027] 类似地,Web内容纠正服务器100也可以利用公知的计算机设备来实现。特别地,该计算机设备包括一个用大容量存储器实现的数据库104。
[0028] 用于实现本发明的Web内容纠正方法/系统的软件部分,在客户端101侧实现为Web浏览器105中的一个插件(下文中也称为“纠正插件”或“插件”)。也就是说,Web内容纠正和纠正后的Web内容的呈现均可以在Web浏览器105中完成。在使用本发明之前,用户仅需要在通常的浏览器中安装一个插件。因此,用户可以利用熟知的浏览器而不需要学习一种新的应用程序来使用本发明的方法。
[0029] 另一方面,在纠正服务器100侧,本发明的软件部分实现为Web内容纠正服务程序106。
[0030] 所述浏览器105中的插件和所述Web内容纠正服务程序106包含用于实现本发明的Web内容纠正方法中各个步骤的各个功能模块。
[0031] 图2示出了根据本发明实施例的Web内容纠正系统的高层体系结构,其中示出了客户端侧和纠正服务器侧的主要功能模块。如图所示,客户端101侧包括:定位模块201、纠正模块202、提交模块203。定位模块101用于响应于用户请求纠正Web页面中的错误内容,确定该错误内容在该Web页面中的位置。纠正模块202用于接收用户针对所述错误内容输入的纠正内容。提交模块203用于向纠正服务提供服务器100侧提交包括所述位置和所述纠正内容的纠正信息。客户端101侧还包括请求模块204、呈现模块205。请求模块204用于响应于用户请求访问Web页面,请求所述纠正服务提供方检索与该Web页面相关联的纠正信息,所述纠正信息包括错误内容的位置和纠正内容。呈现模块205用于向该用户呈现所述Web页面,其中将所述纠正内容与所述错误内容一起显示。纠正内容服务器100侧包括接收模块206、存储模块207、和检索模块208。接收模块206用于接收用户针对一个Web页面中的错误内容提交的纠正信息,所述纠正信息包括所述错误内容的位置以及纠正内容。存储模块207用于对接收到的所述纠正信息进行存储。检索模块208用于响应于用户请求访问所述Web页面,检索所述纠正信息以便发送给所述用户。
[0032] 以下结合具体例子,参照附图详细描述根据本发明优选实施例的方法。下面的描述是基于最流行的开放源代码Web浏览器-MozillaFirefox。但是本领域技术人员可以理解,通过适当的修改,本发明的方法也可以通过其他Web浏览器例如Internet Explorer、Opera等实现。
[0033] 根据该实施例,用于纠正Web页面中的错误内容的方法包括两个主要阶段:Web内容纠正阶段、和纠正后的Web内容的呈现阶段。
[0034] Web内容纠正阶段(第一阶段)
[0035] 假设图1中的用户a知道真空中的光速。当该用户a通过其客户端101a上的浏览器105a访问如图3所示的、包含关于真空中光速的信息的Web页面http://srf.jlab.org/srfaskquestionanswers.htm时,发现该页面中的数字“3x108”(图中用下划线标出)是错误的。用户a希望纠正该错误内容,以便避免该错误内容误导后来的访问者。为此,执行根据本实施例的Web内容纠正方法的第一阶段来完成纠正操作。
[0036] 图4示出了在该Web内容纠正阶段,在用户侧执行的操作的流程。
[0037] 首先,用户a触发一个事件,例如点击浏览器中的“纠正插件”工具条按钮,或者点击鼠标右键来触发上下文菜单项。响应于该触发事件,纠正插件启动Web内容纠正过程(步骤402)。
[0038] 接着,接收用户a在该Web页面中选择的错误内容(步骤404)。用户选择错误内容例如可以通过在错误内容的开始处按下鼠标的左键、滑动通过整个错误内容、并且在错误内容的结束处松开鼠标按键来实现。为了简化说明,在本实施中以文本作为错误内容的例子。但本领域技术人员可以理解,错误内容也可以是更复杂的对象,例如图像。对图像的处理与文本相似。通过利用Mozilla Firefox所提供的JavaScript函数window.getSelection(),用户a当前选择的错误内容“3x108”可以作为一个“Selection(选择)”对象被返回。与此同时,纠正插件监视用户a的选择动作,并确定用户a选择的错误内容在该Web页面内的位置(步骤406)。用户选择的错误内容的位置信息在以后的Web页面呈现中是有用的。该定位操作是通过DOM(Document Object Model,文档对象模型)检查来实现的。
[0039] 具体地,下面的LOCATE-SLECTED TEXT列出了用于获得所选择的错误内容的伪码。
[0040] Selection LOCATE-SELECTED-TEXT(window)
[0041] 1curSel←window.getSelection()
[0042] 2if curSel.toString().length=0
[0043] 3 then
[0044] 4 //Comment:selected text is enclosed in a frame?[0045] 5 curSel←NIL
[0046] 6 for each frame in window.frames
[0047] 7 do curSel←LOCATE-SELECTED-TEXT(frame)
[0048] 8 if curSel≠NIL
[0049] 9 then break
[0050] 10return curSel
[0051] 上述代码的含义是:
[0052] 1、利用window.getSelection()函数,获取选择信息。
[0053] 2、如果有选择的文本,则返回window.getSelection()。
[0054] 3、否则,如果curSel.toString().length为0,则意味着它被包围在一个框中。
[0055] 4、通过框迭代,以获取选择的文本信息。
[0056] 接着,针对上面得到的用户选择的错误内容,获取其位置信息。在本发明中,利用包围所选择错误内容的XML单元在DOM树中的绝对位置作为记录的位置信息。在下面的DOM-INSPECTION中列出了获取位置的伪码。
[0057] DOM-Inspection(curSel)
[0058] 1range←curSel.getRangeAt(0)
[0059] 2start←range.startOffset
[0060] 3end←range.endOffset
[0061] 4node ←range.commonAncestorContainer
[0062] 5if node.nodeType=Node.TEXT_NODE
[0063] 6 then node ←node.parentNode
[0064] 7id←NIL
[0065] 8name←NIL
[0066] 9name_index←0
[0067] 10tagName←NIL
[0068] 11tagName_index←NIL
[0069] 12if node.id≠NIL
[0070] 13 then id←node.id
[0071] 14 else
[0072] 15 nm←node.getAttribute(″name″)
[0073] 16 if nm≠NIL
[0074] 17 then
[0075] 18 nds←document.getElementsByName(nm)
[0076] 19 i←0
[0077] 20 for each nd in nds
[0078] 21 do
[0079] 22 if nd=node
[0080] 23 then
[0081] 24 name←nm
[0082] 25 name_index←i
[0083] 26 break
[0084] 27 i←i+1
[0085] 28 else
[0086] 29 tagNm←node.tagName
[0087] 30 nds←document.getElementsByTagName(tagNm)
[0088] 31 i←0
[0089] 32 for each nd in nds
[0090] 33 do
[0091] 34 if nd=node
[0092] 35 then
[0093] 36 tagName←tagNm
[0094] 37 tagName_index←i
[0095] 38 break
[0096] 39 i←i+1
[0097] 40return(start,end,id,name,name_index,tagName,tagName_index)[0098] 上述伪码的含义为:
[0099] 1、检查所选择的文本是否属于TEXT_NODE XML单元:如果是,则将其父节点设置为包围节点单元;否则将当前节点保持为包围节点单元。
[0100] 2、检查该节点是否具有id属性:如果是,则返回其id属性;否则进行到下一个步骤。
[0101] 3、检查该节点是否具有名称属性:如果是,则在document.getElementsByName()中返回当前节点的序列号;否则进行到下一个步骤。
[0102] 4、获取该节点的标签名称,并在document.getElementsByTagName()中返回当前节点的序列号。
[0103] 下面示出了图3所示的包含错误内容的Web页面的简化HTML源。
[0104]
[0105] 在本例中,用户选择了“3x108”作为错误内容。图6中则示出了运行上述JavaScript代码来定位该选择的错误内容的结果。其中,该选择的文本所在的XML单元是DOM树中的第2个标签名称为P的单元,选择的文本在该单元中的起始位置是22,结束位置为30。后面将该选择的文本的位置表示为P[1]->(22,30)。
[0106] 接着,纠正插件通过例如弹出对话框的方式提示用户输入纠正内容(步骤408),并且接收用户输入的纠正内容,在本例中为“3x10^8”(步骤410)。
[0107] 纠正插件将有关错误内容的信息(包括用户选择的原始错误内容和所识别的该错误内容的位置)连同用户输入的纠正内容暂时存储在存储器中(步骤412)。根据本发明的优选实施例,纠正插件还在步骤412中存储该错误内容的上下文签名。这是因为,当一个用户对某个Web页面中的错误内容进行纠正以后,该Web页面的拥有者可能已经更新了该页面。在这种情况下,先前提交的纠正信息就成为无效的信息,因而不应该再呈现给以后访问该Web页面的用户。上下文签名则可以用来在Web页面的呈现(将在下文中说明)期间检查该纠正消息是否仍然有效。在本实施例中,采用了一种简单的方法来生成该上下文签名:记录错误内容之前和之后的一定数目的字符,例如前后各五个字符。因此,在本实施例中,所记录的上下文签名为“tis”和“(or”。
[0108] 由于该Web页面中有可能存在需要纠正的多处错误内容,因此,在步骤414,判断用户是否例如通过点击纠正插件工具条中的“提交”按钮而终止纠正过程。如果判断结果为否,则重复上述的步骤404到步骤412中的接收和定位用户选择的错误内容、接收用户输入的纠正内容、和存储纠正信息的操作。如果步骤414中的判断结果为是,即判断出用户点击了“提交”按钮来终止纠正过程,纠正插件则将暂时存储在存储器中的包括错误内容、错误内容的位置、纠正内容、上下文签名的信息连同其他信息一起通过网络102提交给Web内容纠正服务提供方。所述其他信息包括该Web页面的统一资源定位符(URL)。在用户向所述纠正服务提供方注册了的情况下,所述其他信息也可以包括用户的信息,例如用户(纠正信息提供者)的姓名等等。
[0109] 图5示出了在Web内容纠正阶段,在纠正服务提供方一侧执行的操作的流程。
[0110] 纠正服务器100接收从客户端101a(用户侧)提交的纠正信息(步骤502)。然后,将该接收到的纠正信息连同另外的信息、例如时间戳和提交者(客户端101a)的IP地址作为一条记录存储在数据库104中(步骤506)。
[0111] 实际应用中有可能出现这样的情况,即:以前已经有其他用户针对该Web页面提交过纠正信息。因此,数据库中有可能存在关于该Web页面的多条纠正记录。应对该情况的一种简单的方法是,不管数据库中是否已经存在关于该Web页面的纠正记录,将当前用户提交的纠正信息直接作为一条新的记录插入数据库中而不对其进行处理。在以后向用户呈现该Web页面时,将记录的所有纠正信息向用户呈现出来。
[0112] 但是,如果不同用户针对同一错误内容提交的纠正信息有过多的重复,采用该简单的方法有可能造成在向用户呈现Web页面时呈现出过多的重复纠正信息。为解决该问题,根据本发明的优选实施例,在接收到当前用户提交的纠正信息时,纠正服务器100中的一个合并模块对该纠正信息和数据库中已有的类似记录进行合并(步骤504)。
[0113] 另一方面,如果根据合并模块的算法,不同用户针对同一错误内容提交的纠正信息无法合并,则在数据库中存储当前用户提交的纠正信息。在这种情况下,根据本发明的优选实施例,在纠正服务提供器100中还设置一个仲裁模块。该仲裁模块对数据库中针对同一错误内容存储的所有纠正记录进行排名,使得能够在Web页面呈现阶段将排名较高的那些纠正信息以突出的方式向用户呈现。该仲裁模块可以结合后面将更详细说明的投票机制来实现所述排名,其中,被网络用户认可的程度最高、因而被认为是最正确的那些纠正信息被给予较高的排名。
[0114] 下面的表1示出了在步骤506中,针对前述例子在数据库104中存储的纠正记录。
[0115] 表1:存储在数据库中的最终记录
[0116]数据字段 示例 注释
唯一纠正ID 550e8400-e296-41d4-a716-
446655440000
原始文本 3x108
纠正文本 3x10^8
位置信息 P[1]->(22,30)
上下文签名 tis (or 错误文本之前和之后的各五个
字符
页面URL http://srf.jlab.org/srfaskqu
estionanswers.htm
纠正提供者 Jerry 纠正内容提供者的姓名或ID(如
果注册了的话),或者匿名
IP跟踪 129.100.65.86 纠正者的IP地址(可选)
时间戳 2008-04-0620:00:00
同意票数 100 (可选)
反对票数 15 (可选)
中立票数 15 (可选)
[0117] 纠正后的Web内容的呈现阶段(第二阶段)
[0118] 此后,假设另一个用户、例如图1中的用户b,希望了解真空中的光速。为此,该用户b通过其客户端101b上的浏览器请求访问图3中所示的Web页面。在此情况下,执行根据本发明实施例的Web内容纠正方法的第二阶段,来向该用户b呈现纠正后的Web内容。
[0119] 图7A示出了在该纠正后的Web内容的呈现阶段,在用户侧执行的操作的流程。而图8A则示出了在该阶段,在纠正服务提供方一侧执行的操作的流程。
[0120] 首先,如图7A所示,浏览器105b接收用户b提出的访问Web页面的请求(步骤702)。然后,向纠正服务提供方发送请求,以请求检索关于该Web页面的纠正信息(704)。
[0121] 当纠正服务器100,如图8A所示,接收到从客户端105b发送的、检索关于Web页面的纠正信息的请求时(步骤802),在数据库104中检查是否存在关于该Web页面的纠正信息(步骤804)。这可以通过将该Web页面的URL与存储在数据库104中的记录中的Web页面的URL进行比较来完成。
[0122] 当判断出存在关于Web页面的纠正信息时(步骤804中为是),则将包括错误内容的位置和纠正内容的Web页面纠正信息发送给用户方(步骤808)。另一方面,如果判断出不存在关于Web页面的纠正信息(步骤804中为否),则向用户方返回不存在纠正信息的检查结果(步骤806)。
[0123] 回到图7A,在步骤706中,客户端101b中的浏览器根据从纠正服务器100侧返回的检查结果,执行进一步的操作。如果返回的检查结果是不存在关于该Web页面的纠正信息(步骤706为否),则浏览器105b不对该Web页面做任何改变,以常规的方式向用户b呈现Web页面(步骤707)。另一方面,如果步骤706中的结果为是,即存在关于该Web页面的纠正信息并且从服务提供方一侧接收到该纠正信息,则浏览器105b进一步检查该纠正信息是否有效(步骤708)。这可以通过使用该纠正信息中的上下文签名来实现。具体地,浏览器105b将纠正信息中的上下文签名“tis”和“(or”与当前该Web页面中相同位置的字符相比较。如果二者不一致,则认为该Web页面已经被Web内容拥有方修改过,因此该纠正信息已经不再有效。另一方面,如果二者一致,则认为该Web页面尚未被修改过,因此该纠正信息是有效的。
[0124] 如果判断结果是纠正信息有效(步骤708中为是),将Web页面的原始信息和纠正信息一起呈现(步骤710)。优选地,对原始信息以例如高亮或者加下划线的方式进行突出显示,并将纠正内容显示在错误信息的附近,如图9所示。
[0125] 根据另外一种实施方式,也可以在纠正服务提供方一侧检查纠正信息的有效性。对于这种情况,图7B和图8B分别示出了在用户侧和在纠正服务提供方一侧执行的操作的流程,其中与图7A和图8A中相同的部分用相同的附图标记表示,并且省略其说明。
[0126] 当纠正服务器100,如图8B所示,判断出存在关于Web页面的纠正信息时(步骤804中为是),进一步检查该纠正信息是否仍然有效(步骤805)。如果判断出纠正信息仍然有效(步骤805中为是),则将包括错误内容的位置和纠正内容的Web页面纠正信息发送给用户方(808)。另一方面,如果判断出不存在关于Web页面的纠正信息(步骤804中为否),或者尽管存在关于该Web页面的纠正信息、但该纠正信息已经不再有效(步骤805中为否),则向用户方返回相应的检查结果(步骤806’)。
[0127] 回到图7B,在步骤706’中,客户端101b中的浏览器插件根据从纠正服务器100侧返回的检查结果,执行进一步的操作。如果返回的检查结果是不存在关于该Web页面的纠正信息或者该纠正信息无效(步骤706’为是),则浏览器105b不对该Web页面做任何改变,以常规的方式向用户b呈现Web页面(步骤707)。另一方面,如果步骤706’中的结果为否,即存在关于该Web页面的纠正信息并且该纠正信息是有效的,则浏览器105b将Web页面的原始信息和纠正信息一起呈现,其中将纠正内容显示在错误信息的附近,如图9所示。
[0128] 根据本发明的一个优选实施例,还提供了一种允许浏览Web页面的用户对于所显示的纠正内容进行反馈的机制。具体地说,在客户端101b一侧,浏览器插件可以通过例如弹出对话框的方式提示用户b对显示的纠正内容“3x10^8”进行投票(图7A,7B中的步骤712)。用户b例如可以选择“同意”、“反对”、或“中立”。接收到该投票结果后,客户端101b可以将该投票结果提交给纠正服务提供方(步骤714)。由此,结束这个阶段的操作。
[0129] 如图8A、8B所示,在纠正服务提供方一侧,纠正服务器100接收用户b的该投票结果,并将其与先前已经接收到的投票结果相累加并存储在数据库中(步骤810)。基于该反馈结果,纠正服务器100中的仲裁模块可以对于不同用户针对同一错误内容提交的多个纠正内容进行排名。例如,可以根据同意票数占总票数的比例来对多个纠正内容进行排名,并将排名的结果连同纠正信息返回给客户端101b。在客户端101b向用户呈现针对同一错误内容的多个纠正内容时,例如可以将排名较高的一定数目的纠正内容显示出来,其中将排名最高的纠正内容显示在最突出的位置,并且也可以将关于纠正内容的投票结果的信息与该纠正内容与一起呈现给用户。另外,纠正服务器100还可以设定一个阈值,当针对某个纠正内容的反对票数(或者反对票数占总票数的比例,等等)超过该阈值时,仲裁模块可以从数据库中删除该纠正内容。
[0130] 至此,已经描述了Web内容纠正和纠正后的Web内容呈现的典型过程。可以看出,任何一个普通Web用户只需要在其浏览器中安装一个插件即可以实施本发明。该用户可以很方便地在Web页面上直接标出错误内容,而不需要使用图形或文本描述语言来指出错误在什么位置,另外也可以很方便地描述纠正内容并提交纠正信息。这样,该用户能够以统一的方式针对各种Web页面上的错误内容很方便地进行纠正。一旦提交了该纠正信息,其他用户在浏览该Web页面时,可以立即看到纠正内容而几乎没有延迟。当然,该Web用户也可以及时地看到其他用户对各种Web页面上的错误内容的纠正。由此,不需要对现有的集中式网站的结构做出任何改变,就可以得到比仅依赖于网站拥有者的自身纠正更快捷并且更具有客观性的Web内容纠正结果。
[0131] 根据本发明的一种优选实施方式,纠正服务提供方还可以向Web内容拥有方提供错误通知服务。例如,当接收到用户针对某个Web页面提交的纠正信息后,纠正服务器100可以向相应的Web内容拥有方通知该纠正信息。纠正服务器100还可以对Web网页上的错误数目进行统计,并将该统计结果作为对Web页面质量/重要性进行评分的依据。例如,如果错误数目越多,则可以认为该Web页面的重要性越低,反之亦然。另一方面,为了鼓励用户纠正Web网页中的错误内容,纠正服务提供方可以向提供了最有价值的纠正信息(例如获得了最多的同意票数的纠正信息)的用户提供奖励。由此,在Web内容纠正服务提供方、用户方、和Web内容拥有方之间形成了良性循环,使得Web上的错误内容得到及时纠正。
[0132] 上面已经参照优选实施例对本发明进行了详细描述。应该指出,对优选实施例的详细描述仅仅是示例性的,而不应被理解为限制性的。例如,在上面描述的实施例中,为不失一般性,Web内容纠正服务器100与Web内容服务器103被示出为分别位于Web内容纠正服务提供方和Web内容拥有方。但是本领域技术人员可以理解,本发明不限于此。Web内容纠正服务提供方本身也可以是一个Web内容拥有方。又如,尽管上文中描述的实施例是通过互连网来实现的,但本发明的构思同样可以应用于企业内部网(intranet)。另外,尽管上面是结合集中式Web网站来描述实施例,但本发明同样也可以应用于分布式Web网站。事实上,用户可以以统一的方式针对各种网站上的错误内容提出纠正。
[0133] 此外,本发明可以采取能够从计算机可读介质访问的计算机程序产品的形式。该计算机可读介质提供程序代码以结合计算机或者任何指令执行系统来使用,以便执行本发明的客户端侧或者纠正服务器侧的操作。所述计算机可读介质可以是电子的、磁性的、光学的、电磁的、红外的或者半导体器件或装置。计算机可读介质的具体例子包括半导体或者固态存储器、磁带、可移动的计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括光盘只读存储器(CD-ROM)、读/写光盘(CD-R/W)和数字多用盘(DVD),等等。
[0134] 在不脱离本发明的精神和范围的情况下,本领域的技术人员可以进行各种修改和替换。本申请的保护范围应该由后附的权利要求书来确定。