CN105095206A - 信息处理方法以及信息处理装置 - Google Patents
信息处理方法以及信息处理装置 Download PDFInfo
- Publication number
- CN105095206A CN105095206A CN201410157792.3A CN201410157792A CN105095206A CN 105095206 A CN105095206 A CN 105095206A CN 201410157792 A CN201410157792 A CN 201410157792A CN 105095206 A CN105095206 A CN 105095206A
- Authority
- CN
- China
- Prior art keywords
- node
- pattern
- child
- child node
- text
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了信息处理方法以及信息处理装置。该信息处理方法包括:对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
Description
技术领域
本申请总体上涉及一种信息处理方法以及信息处理装置,尤其涉及一种以统一的、模块化的方式显示不同内容部分的信息处理方法以及信息处理装置。
背景技术
目前,相对于纯文本文件,更多地使用富文本的方式提供各种信息。与纯文本文件相比,富文本可以以各种方式显示内容,例如结合尺寸、颜色、字体、表格、列表等不同格式来显示内容。这样,不仅可以保存更多的信息,而且也让内容的显示更加美观并便利了用户的浏览。而且,利用富文本的方式,还可能实现不同的应用服务。例如,作为富文本的一个示例,网页形式的富文本可以提供各种基于Web的应用。
以网页形式的富文本为例,随着企业的快速发展和Web服务组合技术日渐成熟,出现了许多含有大量网页的用于Web服务的站点,例如企业内部站点等。不同的企业内部站点可以用于不同的目的,例如发布关于企业动向的新闻、记录员工考勤、提供天气预报等生活辅助信息等。各个内部站点可能采用不同的组织架构和显示方式,这会导致易于混淆,因此员工可能需要大量时间来学习如何应用这些站点。
为此,已经提出了所谓的“企业信息门户”(EIP)。即,在因特网的环境下,把各种应用***、数据资源和互联网资源统一集成到企业信息门户之下,形成便于用户理解的统一应用界面,并进行对事件和消息的处理、传输。可以通过几种不同的方式来产生企业信息门户,这些方式都借助模块化的Portlet组件的集合来表示统一的应用界面。Portlet是一种基于java的web组件,其能用作可插拔用户接口,并提供信息***的表示层。相应地,需要基于现有的企业内部站点或Web应用来重新设计,以便得到包含Portlet集的企业信息门户,而这在现有技术中一般通过根据现有网页的HTML文档人工手动编写Portlet来实现。
同样,对于其他形式的已有富文本,也可能存在对富文本进行重新设计、以便以统一的模块化的方式来显示不同的内容部分的需求。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
在根据现有的富文本进行重新设计的过程中,为了以统一的、模块化的方式显示不同的内容部分,开发人员通常需要基于现有富文本文档人工编写富文本组件,并相应地设计这些组件的显示方式。这需要理解原始富文本文档的内部处理,而由于不同***的开发人员很可能是不同的,导致上述过程经常难以进行并且非常耗时。为此,本公开希望解决的问题之一是如何高效、自动地生成富文本组件并以对应的方式进行显示。
鉴于上述问题,本公开提供了一种改进的信息处理方法和信息处理装置,其能够生成富文本组件,并以统一的、模块化的方式显示不同的富文本组件。
根据本公开的一个方面,提供了一种信息处理方法,包括:对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
根据本公开的另一个方面,提供了一种信息处理装置,包括:分割装置,用于对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及获取及显示装置,用于根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
依据本公开的其它方面,还提供了一种使得计算机用作如上所述的信息处理装置的程序。
依据本公开的又一方面,还提供了相应的计算机可读存储介质,该计算机可读存储介质上存储有能够由计算设备执行的计算机程序,该计算机程序在执行时能够使计算设备执行上述信息处理方法。
上述根据本公开实施例的信息处理方法和图像处理装置,能够通过简单高效的处理自动生成富文本组件,并以统一的、模块化的方式显示不同的富文本组件。
通过以下结合附图对本公开的优选实施例的详细说明,本公开的这些以及其他优点将更加明显。
附图说明
本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
图1是示意性地示出了根据本公开第一实施例的信息处理方法的流程图。
图2是示意性地示出了根据本公开第一实施例的信息处理方法中的示例性分组处理的流程图。
图3是示意性地示出了根据本公开第一实施例的信息处理方法中的示例性获取显示类型处理的流程图。
图4是示意性地示出了根据本公开第一实施例的信息处理方法中的预先确定预设特征的特征值与显示类型的对应关系的示例性处理的流程图。
图5是根据本公开第二实施例的信息处理装置的示意性框图。
图6是根据本公开第二实施例的信息处理装置中的示例性分割装置的示意性框图。
图7是根据本公开第二实施例的信息处理装置中的示例性获取及显示装置的示意性框图。
图8是根据本公开第二实施例的信息处理装置中可以额外包括的示例性对应关系设定装置的示意性框图。
图9是示出了可用来实现根据本公开实施例的信息处理装置和信息处理方法的一种可能的硬件配置的结构简图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与***及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
此外,在以下描述中,采用网页作为富文本的示例来描述一些优选实施例,但是本领域技术人员可以理解,本公开的方法和装置同样可以适用于除网页以外的各种富文本。
首先参照图1至图4描述根据本公开的第一实施例的信息处理方法。图1示意性示出了根据本公开的第一实施例的信息处理方法的流程图。在该方法中,首先,在步骤101中,对富文本进行分割,并根据分割得到的各个块产生与各个块分别对应的富文本组件。
在本公开的第一实施例的信息处理方法中,不需要对富文本重新编码,而是对富文本进行分割,并由此生成对应的富文本组件。这是基于下述理解:开发人员在编写富文本时,经常使用各种方式来划分不同的内容部分,以方便用户浏览和使用。因此,相较于现有技术中的重新编写富文本,直接对现有的富文本进行分割是一种更为简单、高效的方式。
以网页作为富文本的示例,通过步骤101,可以分割出网页的不同内容部分,例如导航栏、左右两侧的广告、中间的主要内容、底部的评论以及版权栏等,并且可以产生相应的Portlet,例如,导航栏可以生成导航Portlet,主要内容可以生成语段阅读Portlet,等等。
然后,在步骤102中,根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,并且以获取的显示类型显示对应的富文本组件。这种处理是基于这一理解:每个块的特征值可以反映该块所基于的数据源的特性,而生成的富文本组件的显示类型同样应该适合于数据源的特性。以此方式基于特征值而选择的显示类型可以适合于数据源的特性,因此能够实现统一美观的显示。
继续以网页为例,通过步骤102,可以根据分割得到的块的预设特征的特征值而了解该块所基于的数据源的特性,例如是来自网页中的导航栏部分、主要内容部分、还是其他某个部分。相应地,可以确定显示类型并据此进行显示,例如,基于主要内容部分中的新闻列表生成的Portlet可以按照新闻标题的列表的方式显示,而基于新闻正文内容生成的Portlet可以显示为文本方式。
因此,利用本公开的第一实施例的信息处理方法,能够以一种高效、自动的方式基于现有富文本来生成富文本组件,并且能够实现富文本组件的统一、美观的显示。
下面将借助不同的优选实施例来进一步描述本公开第一实施例的信息处理方法。
富文本分割以及富文本组件的生成
在本公开的一个优选实施例中,按照与富文本相关的结构信息和/或视觉信息对富文本进行分割。分割后的每个块可以被视作独立的内容块,再基于这些内容块生成富文本组件。通过利用相关结构信息和/或视觉信息对富文本进行分割,可以实现富文本组件的自动生成,从而避免手动设计富文本组件的繁琐过程。
例如,当富文本是网页时,网站中的同一内容部分中的不同条目通常具有相同或相似的视觉信息,诸如相同或相似的字体、大小、类型和/或背景等。为了以简单的方式获取这种视觉信息,可以以DOM(文档对象模型)树来分析网页。以HTML语言编写的网页为例,DOM树把HTML文档视为带有元素、属性和文本的树结构。按照DOM树的一般定义,每个HTML标签构成一个元素节点,另外还有由包含在HTML元素中的文本构成的节点和由HTML属性构成的节点等。树起始于根节点,并由此继续伸出枝条,直到处于这棵树最低级别的文本节点为止。DOM树的一般定义以及利用DOM树解析HTML文档的一般方法是本领域技术人员所熟知的,这里不再进行具体描述。
利用DOM树结构,本公开中的富文本分割或者网页分割可以通过下述方式来进行:从网页的DOM树的根节点开始向下层节点遍历DOM树中的节点,按照预设模式对DOM树中的节点进行分组,每一个组对应一个块。
由于DOM树携带了与网页相关的全部结构信息和视觉信息,并且这些信息能够以非常简单的方式从DOM树获得,因此利用DOM树的上述分割处理提供了一种简单的、且充分利用了现有网页的结构信息和/或视觉信息来进行网页的分割方法。
为了利用视觉信息结合DOM树进行富文本分割或者网页分割,本公开可以采用基于DOM树的节点所包含的结构信息和/或视觉信息的预设模式。为此,从本公开的分割方法所关注的角度出发,首先对DOM节点分类。本领域技术人员可以理解,由于分类并不是以互斥的方式进行,而是鉴于节点特性、节点在页面中所代表的内容、以及节点的子节点特征等不同因素进行划分,因此下述分类类别之间可能会有所重合,甚至出现引用的关系。
这里基于WWW(万维网)html标准给出在本公开的网页分割过程中将会使用到的一些节点分类类别。
(1)分隔符(line-break)节点:具有将会引起新的一行标签的节点。例如,带有标签<br>(换行),<P>(段落)等的节点。
(2)内联(inline)节点:不会引起新的一行的节点。例如,在DOM树中带有除了分隔符标签之外的标签,例如<FONT>(字体),<B>(粗体),<I>(斜体)等的节点。
(3)有效节点:能够在页面上被用户直接看到的节点。这样的节点的高度和宽度都不为0。
(4)文本节点:仅仅包括纯文本的节点。换言之,文本节点对应于不包含HTML标签的文本。在内联节点本身是文本节点的情况下,文本节点可以包括内联节点。
(5)虚文本节点:如果节点的子节点全部是文本节点或者只含有虚文本节点,那么这样的节点就称为虚文本节点。
基于以上节点分类类别,可以给出在富文本或网页分割或者节点分块时所利用的处理模式。例如,可以考虑节点的子节点的组织架构,如是否含有有效子节点、有效子节点的个数等。还可以将节点的子节点是否为同一类型作为处理模式的执行条件,例如考虑节点的所有子节点是否都是文本节点或虚拟文本节点或者只具有同一类型。另外,可以基于子节点所表示的显示格式,例如,节点的子节点中是否包括水平线子节点或分隔符子节点、各个子节点是否颜色不同、相邻子节点之间的距离是否大于指定距离等设置处理模式的执行条件。此外,还可以考虑节点的所有子节点是否形成一个表单,等等。
在上述模式中,由于在判断分组(换言之,判断相关节点是否应属于同一内容块)时的强度不同,因此可以划分为三种不同的处理模式:绝对分组模式、非绝对分组模式、以及非分组模式。
有些处理模式是绝对分组模式,即,满足该处理模式的执行条件时,将节点分组并且不再改变。例如,如果节点没有有效子节点,则该节点本身自然地成为一个不能再被划分的组。再例如,文本节点通常是DOM树的最下端的叶子节点,当一个节点的子节点全部是文本节点时,该节点就可以看作单独的分块或分组。此外,水平线子节点(带有表示水平线的<HR>标签)一般用于在网页上对不同主题进行视觉划分,因此,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组并且不再改变。
另外一些处理模式是非绝对分组模式,即,满足该处理模式的执行条件时,可以先将节点分组,再视乎后续处理决定是否改变这种分组方式。例如,当节点的子节点中包括分隔符子节点时,其可能表示由分隔符子节点分成了不同的内容部分,但也有可能是同一个内容部分的不同子部分。因此,可以首先按照分隔符子节点将各个子节点分组,然后基于后续处理来决定是否需要将这些子节点合并。这一类的处理模式的执行条件还可以包括各个子节点是否颜色不同、相邻子节点之间的距离是否大于指定距离等。
更弱的一类处理模式是非分组处理模式,其甚至不对节点分组,而是表示该节点的子节点可能与其它节点一同构成同一内容部分。例如,如果节点的所有子节点形成一个供用户输入信息的表单,则这些子节点一般不是一个单独的内容块,而是作为内容块的一部分。此时不对这些子节点分组,而是做出相应标记(例如稍后所描述的设置较小的Doc值,以表示子节点之间的关联程度较高)以供后续处理。
由于存在后两种处理模式,在此引入了Doc值的概念,作为表示节点之间的关联程度的关联值。作为示例,本文中假设Doc值越小则关联程度越高,并且例如将Doc值的范围设为从1到10的整数。在处理过程中,满足非绝对分组处理模式以及非分组处理模式的执行条件可以减小节点的Doc值,以便供后续处理参考。注意,当然可以以其它方式设置Doc值,例如该值越大则关联程度越高等,并且相应地对相关处理进行变型,在此不做详细描述。
以下参考图2来描述在根据本公开的第一实施例的信息处理方法中利用处理模式和Doc值来对节点进行分组的示例处理。图2示出了第一实施例的信息处理方法中步骤101的一种示例性分割处理(下文中有时也将分割处理称为分组处理)的流程图。
首先,在步骤201中,在遍历过程开始之前,可以对网页的DOM树的所有节点设置Doc值的相同初始值,例如10。
然后,在步骤202中,从网页的DOM树的根节点开始进行遍历,按照各个处理模式对未被分组的节点执行处理,以将节点分组。对于一个给定节点,可以首先按照一个处理模式查看是否符合该处理模式规定的执行条件,并在符合执行条件时执行该模式的处理,否则则转为下一处理模式,直到找到了该节点所符合的处理模式或者针对全部模式执行了处理为止。这里,对同一节点应用不同处理模式的顺序可以表示处理模式的优先级。在对一个节点完成处理之后,进入下一节点。重复进行上述过程,直到遍历了整个DOM树的节点为止。遍历过程中,非绝对分组模式以及更弱的非分组模式可以减小节点的Doc值,以便供后续处理参考。
在一次遍历结束之后,在步骤203中,判断是否满足关于Doc值的收敛条件或迭代结束条件。这样的条件可以是不再存在Doc值小于合并阈值的子节点,或者相比于上次遍历结束,Doc值的变化幅度小于一定程度因而可以视为不再变化等。当满足关于Doc值的收敛条件时,处理结束。
反之,处理进入可选的步骤204中。当迭代结束条件是不再存在Doc值小于合并阈值的子节点时,在步骤204中,将Doc值小于合并阈值(即,关联程度过高)的相邻子节点合并。而且当迭代结束条件是其他的Doc值收敛条件时,可以跳过可选的步骤204。
之后,处理回到步骤202,并且以迭代方式重复步骤202、步骤203以及可选步骤204的处理,直到满足迭代结束条件为止。这表示分组已经完成,此时分组处理结束。
以上已经以一般的方式介绍了根据本公开的第一实施例的信息处理方法中的示例性分组处理。以下给出处理模式的具体示例以及利用这些处理模式对DOM树的节点进行遍历、从而对节点分组的一种示例方法。
在一个优选实施例中,节点分组处理首先包括对网页的DOM树的所有节点设置Doc值的相同初始值,其中,Doc值表示相邻节点之间的关联度,并且Doc值越小表示关联度越高。
然后,从网页的DOM树的根节点开始进行遍历,按照下述处理模式1-9(下文中有时也简称为模式1-9)对节点执行处理:
模式1
如果节点没有有效子节点,则以该节点为一个组。
模式2
如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1-9对该有效子节点执行处理。
模式3
如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4
如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理,且设置该节点的各子节点的DoC值为第一预设值(例如8-10)。
模式5
如果节点的所有子节点形成表单,则设置该节点的各子节点的DoC值减去第二预设值(例如2)作为更新后的DoC值,且不对该节点的子节点执行处理。
模式6
如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1-9对该节点的子节点执行处理,且设置该节点的各子节点的DoC值为第三预设值(例如6-8)。
模式7
如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理。
模式8
如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理。
模式9
如果节点的任意两个相邻子节点之间的距离大于两个相邻子节点中的较小子节点的长或宽一定比例,例如n%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1-9对该节点的各子节点执行处理,其中n为第四预设值(例如可以取n%为小于或等于5%的数值,如3%)。
在遍历结束后,判断是否存在DoC值小于第五预设值(即上文中所述的合并阈值,在本实施例中例如可以为5)的相邻子节点。如果存在,则将这样的相邻子节点合并为一个子节点。对经合并处理后的DOM树,依照迭代的方式,按照模式1-9从经合并处理后的DOM树的根节点开始再次对所有未被分组的子节点进行遍历处理,直到经合并处理后的DOM树中不存在DoC值小于第五预设值的子节点为止。
在遍历过程中,模式1-9可以按描述的顺序进行,也可以以其他顺序进行。利用不同模式对节点匹配或处理的顺序代表了模式的优先级,即越优先的模式越早进行。本领域技术人员可以理解,对于不同的现有网页应用或者为了产生不同***,处理模式1-9可以具有与本文中描述不同的优先级,因此可以按照不同的顺序来进行处理模式1-9。
另外,上述模式中DoC预设值的不同设置也可以表示不同的考量或权重。一般而言,将第一至第三预设值以及第五预设值设置为小于初始值,并将第一至第三预设值设置为大于第五预设值。
此外,可以将模式6中涉及子节点颜色不同的Doc第三预设值设置为小于模式4中涉及存在分隔符子节点的Doc第一预设值。例如,可以将第三预设值设置为6-8,而将第一预设值设置为8-10。前一个Doc预设值更小,这表示在本示例的应用中认为相较于存在分隔符的子节点而言,颜色不同的子节点关联程度更高,或者说更可能指示了相同的内容块。
类似地,对同一个模式中的Doc预设值,较小的值也表示较高的关联程度。例如,在模式6中,第三预设值可以取决于执行模式6的处理的节点的子节点的颜色的数量而不同。例如,当子节点只存在两个不同颜色时,可以将Doc第三预设值设置为6,而当子节点存在三个不同颜色时,可以将该值设置为7,表示子节点颜色越多时子节点之间的关联程度可能越小。
各个Doc预设值的适当设置可以有助于获得更好的分组结果。本领域技术人员可以理解,上述各设置方式只是作为示例,并且取决于实际应用的不同可以采取各种其他设置。
通过图2中的上述分组处理,能够充分利用现有网页的结构信息和/或视觉信息来对网页进行自动分割,此外,由于设置了DoC值而改进了分组的精度并由此改进了对网页分割的精度。
作为图2所示的分组处理的替选方案,在本公开的另一个优选实施例中,可以将所有处理模式视为“绝对”的分组处理模式,因此在分组之后不再进行任何后续合并处理。相应地,可以在分组处理中省略所有涉及Doc值的步骤,即省略了步骤201、203、204。这样的处理方式不需要以迭代的方式进行遍历,而是对DOM树的节点遍历一次后即可终止。这种方式提供了一种更加简单的分组处理,可以提高处理速度。
仍以上述模式1-9为例,在此替选实施例中,可以按照上述“绝对化”原则将其变型为模式1’-9’。即,可以从DOM树的根节点开始进行遍历,按照下述模式1’-9’对节点执行处理,以便将DOM树中除根节点以外的其他节点分组:
模式1’
如果节点没有有效子节点,则以该节点为一个组。
模式2’
如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1’-9’对该有效子节点执行处理。
模式3’
如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理。
模式4’
如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理。
模式5’
如果节点的子节点形成表单,则以该节点为一组,且不对该节点的子节点执行处理。
模式6’
如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1’-9’对该节点的子节点执行处理。
模式7’
如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理。
模式8’
如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理。
模式9’
如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n’%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1’-9’对该节点的各子节点执行处理,n’为第六预设值(例如,n’%可以类似地取值为3%)。
这样,在一次遍历之后,即获得了最终的分组结果。注意,除了以上指出的区别之外,模式1’-9’的含义和应用方式与在先实施例是相同的,在此不进行重复说明。
当利用各种处理模式对DOM树进行遍历之后,即可以得到节点分组或分块作为对富文本或网页的分割结果。可以利用各种现有技术的方式将节点块转换为富文本组件或者Portlet。例如,可以使用已知的web内容提取方法,甚至使用人工处理来生成Portlet。由于具体如何生成Portlet并不是本公开关注的重点,因此不会在此详细描述。
需要指出的是,以上描述的示例模式1-9以及1’-9’考虑了与网页或DOM树有关的结构信息以及显示信息两者。然而,在替选实现方式中,可以基于结构信息和显示信息中的一者来设置处理模式、进而基于结构信息和显示信息中的一者来对网页进行分割。在一些应用中,这样的处理可以简化分割处理并提高效率,同时仍能提供可接受的分割结果。例如,一些网页的诸如文本的字体、颜色、大小等显示信息即足以划分不同的内容块,此时只利用显示信息就可以实现网页分割。一些网页的DOM树的组织架构或层级划分可能充分体现了网页的内容块的划分,因此仅仅利用结构信息就能够实现良好的网页分割。类似地,对于除网页之外的其他富文本,同样可以仅基于结构信息和显示信息中的一者来进行分割并提供可接受的分割结果。
从以上描述可以看出,相较于重新编写富文本,本公开所提供的利用富文本中本身所包含的信息来进行富文本分割是一种更为简单、高效的方式。这是基于下述理解:在富文本中,可以使用不同的组织架构来划分富文本的不同部分,还可以使用富文本中的视觉信息帮助用户更方便地浏览富文本。具体而言,各种视觉信息在很大程度上反映了不同内容的范围,例如,同一部分内容通常具有基本统一的视觉信息。因此,本公开提供了利用富文本中本身所包含的结构信息和/或视觉信息来进行富文本分割的方式,使得富文本组件的开发人员甚至不必知道富文本的具体内部处理或了解其具体内容,就能以简单的方式生成富文本组件。
富文本组件的显示
当生成富文本组件之后,如何以合适的显示方式来显示富文本是富文本应用中重要的因素之一。不同的现有富文本文件的显示方式通常彼此不同。在从富文本文件中提取出富文本文件组件之后,如果在不进行修改的情况下就将这些富文本文件组件简单地放到一起,那将会非常不美观,并且不便于用户浏览和使用。
在本公开第一实施例的信息处理方法中,根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,并且以获取的显示类型显示对应的富文本组件。这种处理是基于如下考虑:各个块的特征值可以反映数据源的特性,而生成的富文本组件的显示类型同样应该适合于数据源的特性。以此方式基于特征值而选择的显示类型可以适合于数据源的特性,因此能够实现统一美观的显示便于用户浏览和使用。
以下参照图3来描述在本公开第一实施例中的获取富文本组件的显示类型的示例性处理。图3示出了获取富文本组件的显示类型的示例性处理的流程图。
首先,在可选的步骤301中,从分割得到的块中提取预设特征的特征值。通过适当地选择或设置预设特征,可以利用富文本分割块中这些特征的不同特征值来充分反映分割块所基于的富文本中的具体数据源的特性。然后,在步骤302中,根据各个块的预设特征的特征值以及预先确定的预设特征的特征值与显示类型的对应关系,得到与各个块分别对应的富文本组件的显示类型。注意,如果此前已经获得了相应的特征值,则可以省略步骤301。
在上述获取显示类型的处理中,预设特征的选择尤为重要。可以基于不同的设计需要等实际因素来选择合适的预设特征。需要这些预设特征与富文本组件的显示类型相关。在一个优选实施例中,本公开的方法衡量了分割富文本得到的块中的下述预设特征。
特征编号 | 特征定义 |
特征1 | 超链接与文本的比值 |
特征2 | 图像与文本的比值 |
特征3 | 是否存在提交按钮 |
特征4 | 是否存在表单 |
特征5 | 成列的子节点中包含的子节点的个数 |
特征6 | 节点的文本的平均长度 |
特征7 | 节点的文本的长度与平均长度的差 |
表1预设特征示例
本领域技术人员可以通过各种已知方式来获取上述特征的特征值,在此不做详细描述。
上述预设特征1-7各自从不同角度反映了分割块所基于的数据源的类型,因而与富文本组件的显示类型相关。以特征3的是否存在提交按钮为例,当存在提交按钮时,可将特征3的特征值设置为1,这表示该分割块所基于的数据源有可能是需要人机交互的应用;反之,则将其设为0,这表示数据源很可能不是需要人机交互的应用。对于特征5,如果成列的子节点中包含的子节点的个数足够多,则分割块所基于的数据源较可能是列表。特征7考虑节点的文本的长度与文本平均长度的差,其定义方式类似于方差,表示文本的整齐程度。因此当特征7的值越小时,分割块越可能是文本列表。预设特征1-7全面反映了数据源的各种特性,因此有助于获得准确的富文本组件的显示类型。
在提取所有预设特征的特征值之后,由于特征值是体现富文本组件的显示类型的,即可根据预设的对应关系得到相应的富文本组件的显示类型。基于对富文本以及富文本组件的分析,预先定义富文本组件的不同显示类型。在本公开的一个优选实施例中,富文本组件的显示类型可以包括列表类型、文本类型或应用类型,而每个显示类型又可以进一步包括不同的子类型。
列表类型即具有列表的富文本组件。列表中的元素具有相同或相似的类型,并且元素的内容也是相似的。例如,新闻列表就属于列表类型。列表类型可以包括下述中的至少一种:具有超链接的普通文本列表,例如新闻列表;具有超链接和图像的文本列表,例如带有新闻图片的新闻列表;图像列表,例如图片显示;以及普通文本列表,例如论坛中的内容。
文本类型的富文本组件的主要内容是文本,例如新闻报道的内容等。文本类型可以包括下述中的至少一种:普通文本,例如上述的新闻报道;具有评论的文本,例如下方带有留言的新闻报道。
应用类型的富文本组件包含单个内容信息。一个富文本组件可以被视作独立的web服务。例如,本地天气信息、日程表应用等都属于应用类型。应用类型可以包括下述中的至少一种:具有人机交互的应用,这类应用需要人机交互,例如,搜索模块、应用提交等;以及不具有人机交互的应用,例如,本地天气信息、当天的时刻表等。
注意,这些显示类型仅仅是作为示例给出的,以便于进行说明。本领域技术人员可以取决于不同的设计要素和应用需求等而给出对显示类型的不同定义,而同样能够应用本公开的第一实施例的信息处理方法。
为了预先确定分割块的预设特征的特征值与相应的富文本组件的显示类型之间的对应关系,一种简单的方式是根据预设特征的不同特征值所反映的数据源的特性,基于经验来设置该对应关系。以上面给出的表1中的特征为例,当特征1的超链接与文本的比值较高时,表示数据源有可能是列表类型中的新闻列表等;当特征3的特征值为1时,表示数据源有可能是需要人机交互的应用;等等。可以据此进行设置,使得当分割块的特征1的特征值大于预定阈值时,相应的富文本组件的显示类型为列表类型;而当分割块的特征3的特征值为1时,相应的富文本组件的显示类型为应用类型,等等。以此类推,可以简单地设置分割块的预设特征的特征值与相应的富文本组件的显示类型之间的对应关系。
另一方面,作为设置上述对应关系的更加精确的方法,可以使用各种已知方法利用现有样本数据进行训练和建模。例如,可以使用已知样本数据进行基于决策树的训练过程或者基于支持向量机的过程。
以下参照图4来描述在本公开的第一实施例的信息处理方法中可以使用的预先确定特征值与显示类型的对应关系的示例性处理。图4示出了预先确定预设特征的特征值与显示类型的对应关系的示例性处理。
首先,在步骤401中,将预定的训练富文本数据库中的各训练样本富文本预先分割为块。预先准备的训练富文本数据库中的各个训练文本带有表示数据源的类型、进而表示显示类型的标注(由于这两种类型通常具有紧密甚至对应一致的关系,因此下文中不再明确区分)。步骤401中的分割可以按照上述各种分割处理(如参照图2描述的分组处理)或任何适当的分割处理来进行,在此不再重复描述。
然后,在步骤402中,从各训练样本富文本的各块中提取预设特征的特征值。这里的预设特征可以是以上参照表1描述的各个特征,也可以是基于设计需求等各种因素而选择的其他特征。
在步骤402之后,接着,在步骤403中,根据所提取的特征值与预先标注的各块的显示类型,训练得到各块的特征值与显示类型的对应关系。
应当指出的是,尽管可基于设计需求等各种因素在步骤401、402中使用不同分割处理以及提取不同预设特征的特征值,然而,此处的分割处理和预设特征应该与训练结束之后利用训练结果(即最后获得的预设特征的特征值与显示类型的对应关系)对富文本进行处理时所采用的分割处理以及所提取的预设特征相一致。
在一个具体示例中,可以基于决策树根据信息增益来进行步骤403的训练过程。即,计算各个特征的信息增益,并构建决策树。例如,考虑由多个训练样本Sk构成的数据集D={S1,S2,S3,…},k=1,…,sum,其中sum为样本的总数,Sk表示分割块的预设特征所构成的特征向量以及所带有的标注信息(即显示类型)。首先计算参考特征的信息熵,参考特征类似于平均值的概念,用作衡量各个特征的重要性的参考。这里,假设最终分类或显示类型的数量为n,并且i表示第i个分类,则di表示训练样本中属于分类i的样本数量。参考特征的信息熵H(D)基于公式(1)计算如下:
接着,计算各个预设特征的信息熵。由于每个特征的信息熵是该特征的所有特征值的信息熵的总和,因此首先基于公式(2)计算特征a(featurea)的特征值b(valueb)的信息熵。公式(2)里的n仍表示分类数量且i表示第i个分类,vi则表示所有样本当中特征a取特征值b的第i类样本的样本数,而sumb为所有样本当中特征a取特征值b的样本的总数,
在按照公式(2)计算特征a的各个特征值b的信息熵之后,可以按照公式(3)计算特征a的信息熵如下,其中B为特征a的所有特征值的总数:
得到特征a的信息熵之后,就可以按照公式(4)计算特征a的信息增益。即,由根据公式(1)得到的参考特征的信息熵H(D)减去根据公式(3)得到的特征a的信息熵,就得到了特征a的信息增益,具体如下:
以此方式,可以利用公式(1)到(4)计算特征向量中的每个特征的信息增益。
然后,基于各个特征的信息增益来生成决策树。以迭代的方式进行训练处理或决策树生成。由于信息增益表示信息熵的变化,因此一个特征的信息增益越高,表明该特征与参考特征的差异越大,该特征在决策树生成的过程中应该处于越高的级别。具体地,在每次迭代中,在各个特征当中选择信息增益最大的一个特征作为决策树的根节点,然后该特征的每个特征值作为一个分支,每一个分支下,再重新计算未曾用作根节点的其他特征的信息增益,并选取这些特征当中信息增益最大的那个特征作为该分支上的根节点。以此类推,直到节点的所有样本都属于同一分类(即,同一显示类型),或者到达最终经历了所有特征的叶子节点为止。如果到了最终的叶子节点时,其中的样本不是全部都是同一类的,就以样本数最多的那个分类作为这个叶子节点的分类,如果有两个类的样本数相同,那就随机选一个。决策树的最终节点就是最终的分类,即通过训练得到了各块的特征值与显示类型的对应关系。
基于决策树的分类方法优点在于,根据不同特征对分类结果的影响而设置了特征在分类过程中的优先级,因此可以得到良好的特征值与显示类型的对应关系。获得决策树之后,对于新获得的分割块,就可以基于决策树根据分割块的预设特征的特征值来确定相应的富文本的显示类型。
以上已经参照图1至图4描述了根据本公开的第一实施例的信息处理方法。以下将参照图5至图8来描述根据本公开的第二实施例的信息处理装置。由于本公开第二实施例的信息处理装置可以按照与第一实施例的信息处理方法相对应的方式来实现,因此这里仅给出简要的说明,而不再进行重复的详细描述。在上述第一实施例的信息处理方法中描述的全部内容都可以适应性地应用于第二实施例的信息处理装置中。
图5示出了根据本公开第二实施例的信息处理装置500的示意性框图。信息处理装置500包括:分割装置501,用于对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及获取及显示装置502,用于根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
在一个优选实施例中,分割装置501可以被配置为按照与富文本相关的视觉信息对富文本进行分割。富文本可以为网页,此时分割装置501可以进一步被配置为:从网页的DOM树的根节点开始向下层节点遍历所述网页的DOM树中的节点,按照预设模式对网页的DOM树中的节点进行分组,每一个组对应一个块。
图6示出了本公开第二实施例的信息处理装置500中的分割装置501的一种实现方式的示意性框图。分割装置501可以包括初始值设置装置501-1和遍历装置501-2。初始值设置装置501-1用于对网页的DOM树的节点设置Doc值的相同初始值,其中,Doc值表示相邻节点之间的关联度,并且Doc值越小表示关联度越高。遍历装置501-2用于从网页的DOM树的根节点开始进行遍历,按照预设模式对节点执行处理。
初始值设置装置501-1和遍历装置501-2可以一起被配置为实现在第一实施例的信息处理方法中参照图2描述的节点分组处理,即从图2中的步骤201到步骤204的迭代过程,在此不进行重复描述。遍历装置501-2所采用的预设模式可以是在上述第一实施例的信息处理方法中描述的模式1-9。另外,在分割装置501的一个替选实施例中,可以省去初始值设置装置501-1。即,仅利用遍历装置501-2来实现在上述第一实施例中描述的模式1’-9’,这里也不再进行重复描述。
图7示出了本公开第二实施例的信息处理装置500中的获取及显示装置502的一种实现方式的示意性框图。获取及显示装置502可以被配置为进行在第一实施例的图3中描述的获取显示类型的处理。获取及显示装置502可以包括:可选的特征值提取装置502-1,用于从分割得到的块中提取预设特征的特征值;以及显示类型获取装置502-2,用于根据各个块的预设特征的特征值以及预先确定的预设特征的特征值与显示类型的对应关系,得到与各个块分别对应的富文本组件的显示类型,以供用于对富文本组件进行显示。注意,如果可以通过其他方式获取了相应的特征值,则可以省略特征值提取装置502-1。
在第二实施例的信息处理装置500中,获取及显示装置502所考虑和处理的预设特征可以是第一实施例的信息处理方法中所考虑的预设特征,如以下特征中至少之一:超链接与文本的比值;图像与文本的比值;是否存在提交按钮;是否存在表单;成列的子节点中包含的子节点的个数;节点的文本的平均长度;以及节点的文本的长度与平均长度的差,等等。这些特征的含义在此不再进行重复描述。
类似地,在第二实施例的信息处理装置500中,获取及显示装置502所考虑和处理的显示类型同样可以包括第一实施例中的列表类型、文本类型或应用类型。并且,类似地,列表类型包括具有超链接的普通文本列表、具有超链接和图像的文本列表、图像列表以及普通文本列表中的至少一种;文本类型包括普通文本和具有评论的文本中的至少一种;应用类型包括具有人机交互的应用和不具有人机交互的应用中至少之一。
图8示出了本公开第二实施例的信息处理装置500中可以额外包括的示例性对应关系设定装置503的示意性框图。可以通过对应关系设定装置503来预先确定特征值与显示类型的对应关系。对应关系设定装置503可以包括:预先分割装置503-1,用于将预定的训练富文本数据库中的各训练样本富文本预先分割为块;特征值提取装置503-2,用于提取各训练样本富文本的各块的预设特征的特征值;以及训练装置503-3,用于根据所提取的特征值与各块的显示类型,训练得到各块的特征值与显示类型的对应关系。图8的对应关系设定装置503可以实现在第一实施例中参照图4说明的对应关系设置处理。
以上已经参照图5至图8描述了根据本公开的第二实施例的信息处理装置。该信息处理装置可以实现第一实施例的信息处理方法能够获取的各种效果和优点,在此不再重复描述。需要强调的是,尽管在以上描述中,使用网页作为富文本的示例,但是本公开的信息处理方法和信息处理装置可以适应于除了网页以外的各种富文本。
本领域技术人员容易理解,上面描述的根据本发明实施例的信息处理装置及其各组成部件,都可以通过软件、硬件、固件及其任意组合来实现。
图9是示出了可用来实现根据本公开的实施例的信息处理装置和方法的一种可能的信息处理设备900的硬件配置的结构简图。
在图9中,中央处理单元(CPU)901根据只读存储器(ROM)902中存储的程序或从存储部分908加载到随机存取存储器(RAM)903的程序执行各种处理。在RAM903中,还根据需要存储当CPU901执行各种处理等等时所需的数据。CPU901、ROM902和RAM903经由总线904彼此连接。输入/输出接口905也连接到总线904。
下述部件也连接到输入/输出接口905:输入部分906(包括键盘、鼠标等等)、输出部分907(包括显示器,例如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分908(包括硬盘等)、通信部分909(包括网络接口卡例如LAN卡、调制解调器等)。通信部分909经由网络例如因特网执行通信处理。根据需要,驱动器910也可连接到输入/输出接口905。可拆卸介质911例如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器910上,使得从中读出的计算机程序可根据需要被安装到存储部分908中。
在通过软件实现上述系列处理的情况下,可以从网络例如因特网或从存储介质例如可拆卸介质911安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图9所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质911。可拆卸介质911的例子包含磁盘(包含软盘)、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM902、存储部分908中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
此外,本公开还提出了一种存储有机器可读取的指令代码的程序产品。上述指令代码由机器读取并执行时,可执行上述根据本公开的实施例的信息处理方法。相应地,用于承载这种程序产品的例如磁盘、光盘、磁光盘、半导体存储器等的各种存储介质也包括在本公开的公开中。
在上面对本公开具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
此外,本公开的各实施例的方法不限于按照说明书中描述的或者附图中示出的时间顺序来执行,也可以按照其他的时间顺序、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本公开的技术范围构成限制。
此外,显然,根据本公开的上述方法的各个操作过程也可以以存储在各种机器可读的存储介质中的计算机可执行程序的方式实现。
而且,本公开的目的也可以通过下述方式实现:将存储有上述可执行程序代码的存储介质直接或者间接地提供给***或设备,并且该***或设备中的计算机或者中央处理单元(CPU)读出并执行上述程序代码。
此时,只要该***或者设备具有执行程序的功能,则本公开的实施方式不局限于程序,并且该程序也可以是任意的形式,例如,目标程序、解释器执行的程序或者提供给操作***的脚本程序等。
上述这些机器可读存储介质包括但不限于:各种存储器和存储单元,半导体设备,磁盘单元例如光、磁和磁光盘,以及其它适于存储信息的介质等。
另外,客户信息处理终端通过连接到因特网上的相应网站,并且将依据本公开的计算机程序代码下载和安装到信息处理终端中然后执行该程序,也可以实现本公开的各实施例。
综上,在根据本公开的实施例中,本公开提供了如下方案,但不限于此:
方案1.一种信息处理方法,包括:
对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及
根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
方案2.如方案1所述的方法,其中,对富文本进行分割包括:按照与富文本相关的结构信息和/或视觉信息对富文本进行分割。
方案3.如方案2所述的方法,其中,所述富文本为网页,按照与富文本相关的结构信息和/或视觉信息对富文本进行分割包括:从所述网页的DOM树的根节点开始向下层节点遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组,每一个组对应一个块。
方案4.如方案3所述的方法,其中,遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组包括:
对所述网页的DOM树的所有节点设置Doc值的相同初始值,其中,所述Doc值表示相邻节点之间的关联度,并且所述Doc值越小表示关联度越高;
从所述网页的DOM树的根节点开始进行遍历,按照下述模式1-9对节点执行处理:
模式1,如果节点没有有效子节点,则以该节点为一个组;
模式2,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1-9对该有效子节点执行处理;
模式3,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理,且设置该节点的各子节点的DoC值为第一预设值;
模式5,如果节点的所有子节点形成表单,则设置该节点的各子节点的DoC值减去第二预设值作为更新后的DoC值,且不对该节点的子节点执行处理;
模式6,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1-9对该节点的子节点执行处理,且设置该节点的各子节点的DoC值为第三预设值;
模式7,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理;
模式8,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1-9对该节点的各子节点执行处理,n为第四预设值,其中,
对于同一节点,如果不满足模式1-9中的一个模式的执行条件,则按照模式1-9中的另一个模式执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1-9对该下一节点重复相同的处理;
遍历结束后,将DoC值小于第五预设值的相邻子节点合并为一个子节点;
对经合并处理后的DoM树,依照迭代的方式,按照所述模式1-9从所述经合并处理后的DOM树的根节点开始再次对所有没有被分组的子节点进行遍历处理,并且在每次遍历处理结束之后再次进行基于DoC值的相邻子节点合并处理,直到所述经合并处理后的DOM树中不存在DoC值小于第五预设值的子节点。
方案5.如方案4所述的方法,其中,所述第一预设值至所述第五预设值满足下述条件中的至少一个:
所述第一预设值至所述第三预设值以及所述第五预设值小于所述初始值,并且所述第一预设值至所述第三预设值大于所述第五预设值;
所述第三预设值小于所述第一预设值;
所述第三预设值取决于执行模式6的处理的节点的子节点的颜色的数量而不同;以及
所述第四预设值小于或等于5。
方案6.如方案3所述的方法,其中,遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组包括:
从所述网页的DOM树的根节点开始进行遍历,按照下述模式1’-9’对节点执行处理,以便将DOM树中除根节点以外的其他节点分组:
模式1’,如果节点没有有效子节点,则以该节点为一个组;
模式2’,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1’-9’对该有效子节点执行处理;
模式3’,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4’,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式5’,如果节点的子节点形成表单,则以该节点为一组,且不对该节点的子节点执行处理;
模式6’,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1’-9’对该节点的子节点执行处理;
模式7’,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式8’,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9’,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n’%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1’-9’对该节点的各子节点执行处理,n’为第六预设值,其中,
对于同一节点,如果不满足模式1’-9’中的一个模式的执行条件,则按照模式1’-9’中的另一个模式执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1’-9’对该下一节点重复相同的处理。
方案7.如方案1所述的方法,其中,根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型包括:
根据各个块的预设特征的特征值以及预先确定的特征值与显示类型的对应关系,得到与各个块分别对应的富文本组件的显示类型。
方案8.如方案7所述的方法,所述预设特征包括下述至少一种:
超链接与文本的比值;
图像与文本的比值;
是否存在提交按钮;
是否存在表单;
成列的子节点中包含的子节点的个数;
节点的文本的平均长度;以及
节点的文本的长度与平均长度的差。
方案9.如方案7所述的方法,其中,通过下述方式预先按显示类型确定预设特征的特征值与显示类型的对应关系:
将预定的训练富文本数据库中的各训练样本富文本预先分割为块;
从各训练样本富文本的各块中提取预设特征的特征值;以及
根据所提取的特征值与各块的显示类型,训练得到各块的特征值与显示类型的对应关系。
方案10.如方案7所述的方法,其中,所述显示类型包括列表类型、文本类型或应用类型。
方案11.如方案10所述的方法,其中,
所述列表类型包括具有超链接的普通文本列表、具有超链接和图像的文本列表、图像列表以及普通文本列表中至少之一;
所述文本类型包括普通文本和具有评论的文本中至少之一;以及
所述应用类型包括具有人机交互的应用和不具有人机交互的应用中至少之一。
方案12.一种信息处理装置,包括:
分割装置,用于对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及
获取及显示装置,用于根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
方案13.如方案12所述的装置,其中,所述分割装置被配置为按照与富文本相关的结构信息和/或视觉信息对富文本进行分割。
方案14.如方案13所述的装置,其中,所述富文本为网页,所述分割装置进一步被配置为:从所述网页的DOM树的根节点开始向下层节点遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组,每一个组对应一个块。
方案15.如方案14所述的装置,其中,所述分割装置包括:
初始值设置装置,用于对所述网页的DOM树的所有节点设置Doc值的相同初始值,其中,所述Doc值表示相邻节点之间的关联度,并且所述Doc值越小表示关联度越高;
遍历装置,用于从所述网页的DOM树的根节点开始进行遍历,按照下述模式1-9对节点执行处理:
模式1,如果节点没有有效子节点,则以该节点为一个组;
模式2,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1-9对该有效子节点执行处理;
模式3,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理,且设置该节点的各子节点的DoC值为第一预设值;
模式5,如果节点的所有子节点形成表单,则设置该节点的各子节点的DoC值减去第二预设值作为更新后的DoC值,且不对该节点的子节点执行处理;
模式6,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1-9对该节点的子节点执行处理,且设置该节点的各子节点的DoC值为第三预设值;
模式7,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理;
模式8,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1-9对该节点的各子节点执行处理,n为第四预设值,其中,
所述遍历装置被配置为:对于同一节点,如果不满足模式1-9中的一个模式的执行条件,则按照模式1-9中的另一个模式对该节点执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1-9对该下一节点重复相同的处理;
子节点合并装置,用于在遍历结束后,将DoC值小于第五预设值的相邻子节点合并为一个子节点;
其中,所述遍历装置被进一步配置为对经合并处理后的DoM树、依照迭代的方式、按照模式1-9从所述经合并处理后的DOM树的根节点开始再次对所有没有被分组的子节点进行遍历处理,并且,所述子节点合并装置被进一步配置为在每次遍历处理结束之后再次进行基于DoC值的相邻子节点合并处理,直到所述经合并处理后的DOM树中不存在DoC值小于第五预设值的子节点。
方案16.如方案15所述的装置,其中,所述第一预设值至所述第五预设值满足下述条件中的至少一个:
所述第一预设值至所述第三预设值以及所述第五预设值小于所述初始值,并且所述第一预设值至所述第三预设值大于所述第五预设值;
所述第三预设值小于所述第一预设值;
所述第三预设值取决于执行模式6的处理的节点的子节点的颜色的数量而不同;以及
所述第四预设值小于或等于5。
方案17.如方案14所述的装置,其中,所述分割装置包括:
遍历装置,用于从所述网页的DOM树的根节点开始进行遍历,按照下述模式1’-9’对节点执行处理,以便将DOM树中除根节点以外的其他节点分组:
模式1’,如果节点没有有效子节点,则以该节点为一个组;
模式2’,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1’-9’对该有效子节点执行处理;
模式3’,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4’,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式5’,如果节点的子节点形成表单,则以该节点为一组,且不对该节点的子节点执行处理;
模式6’,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1’-9’对该节点的子节点执行处理;
模式7’,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式8’,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9’,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n’%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1’-9’对该节点的各子节点执行处理,n’为第六预设值,其中,
所述遍历装置被配置为:对于同一节点,如果不满足模式1’-9’中的一个模式的执行条件,则按照模式1’-9’中的另一个模式对该节点执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1’-9’对该下一节点重复相同的处理。
方案18.如方案17所述的装置,所述预设特征包括下述至少一种:
超链接与文本的比值;
图像与文本的比值;
是否存在提交按钮;
是否存在表单;
成列的子节点中包含的子节点的个数;
节点的文本的平均长度;以及
节点的文本的长度与平均长度的差。
方案19.如方案18所述的装置,其中,
所述列表类型包括具有超链接的普通文本列表、具有超链接和图像的文本列表、图像列表以及普通文本列表中至少之一;
所述文本类型包括普通文本和具有评论的文本中至少之一;以及
所述应用类型包括具有人机交互的应用和不具有人机交互的应用中至少之一。
方案20.一种计算机可读存储介质,该计算机可读存储介质上存储有能够由计算设备执行的计算机程序,该计算机程序在执行时能够使计算设备执行如方案1-11中任一项所述的信息处理方法。
最后,还需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管上面已经通过本公开的具体实施例的描述对本公开进行了披露,但是,应该理解,本领域技术人员可在所附权利要求的精神和范围内设计对本公开的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本公开所要求保护的范围内。
Claims (10)
1.一种信息处理方法,包括:
对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及
根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
2.如权利要求1所述的方法,其中,对富文本进行分割包括:按照与富文本相关的结构信息和/或视觉信息对富文本进行分割。
3.如权利要求2所述的方法,其中,所述富文本为网页,按照与富文本相关的结构信息和/或视觉信息对富文本进行分割包括:从所述网页的DOM树的根节点开始向下层节点遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组,每一个组对应一个块。
4.如权利要求3所述的方法,其中,遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组包括:
对所述网页的DOM树的所有节点设置Doc值的相同初始值,其中,所述Doc值表示相邻节点之间的关联度,并且所述Doc值越小表示关联度越高;
从所述网页的DOM树的根节点开始进行遍历,按照下述模式1-9对节点执行处理:
模式1,如果节点没有有效子节点,则以该节点为一个组;
模式2,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1-9对该有效子节点执行处理;
模式3,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理,且设置该节点的各子节点的DoC值为第一预设值;
模式5,如果节点的所有子节点形成表单,则设置该节点的各子节点的DoC值减去第二预设值作为更新后的DoC值,且不对该节点的子节点执行处理;
模式6,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1-9对该节点的子节点执行处理,且设置该节点的各子节点的DoC值为第三预设值;
模式7,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1-9对该节点的各子节点执行处理;
模式8,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1-9对该节点的各子节点执行处理,n为第四预设值,其中,
对于同一节点,如果不满足模式1-9中的一个模式的执行条件,则按照模式1-9中的另一个模式执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1-9对该下一节点重复相同的处理;
遍历结束后,将DoC值小于第五预设值的相邻子节点合并为一个子节点;
对经合并处理后的DoM树,依照迭代的方式,按照所述模式1-9从所述经合并处理后的DOM树的根节点开始再次对所有没有被分组的子节点进行遍历处理,并且在每次遍历处理结束之后再次进行基于DoC值的相邻子节点合并处理,直到所述经合并处理后的DOM树中不存在DoC值小于第五预设值的子节点。
5.如权利要求4所述的方法,其中,所述第一预设值至所述第五预设值满足下述条件中的至少一个:
所述第一预设值至所述第三预设值以及所述第五预设值小于所述初始值,并且所述第一预设值至所述第三预设值大于所述第五预设值;
所述第三预设值小于所述第一预设值;
所述第三预设值取决于执行模式6的处理的节点的子节点的颜色的数量而不同;以及
所述第四预设值小于或等于5。
6.如权利要求3所述的方法,其中,遍历所述网页的DOM树中的节点,按照预设模式对所述网页的DOM树中的节点进行分组包括:
从所述网页的DOM树的根节点开始进行遍历,按照下述模式1’-9’对节点执行处理,以便将DOM树中除根节点以外的其他节点分组:
模式1’,如果节点没有有效子节点,则以该节点为一个组;
模式2’,如果节点只有一个有效子节点且该有效子节点不是文本节点,则按照模式1’-9’对该有效子节点执行处理;
模式3’,如果节点的所有子节点都是文本节点或者虚拟文本节点,则以该节点为一个组,不对该节点的子节点执行处理;
模式4’,如果节点的一个子节点是分隔符子节点,则以分隔符子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式5’,如果节点的子节点形成表单,则以该节点为一组,且不对该节点的子节点执行处理;
模式6’,如果节点的子节点的颜色不同,则根据颜色将该节点的子节点分组,且按照模式1’-9’对该节点的子节点执行处理;
模式7’,如果节点具有水平线子节点,则以该水平线子节点为界限将该节点的子节点分组,并按照模式1’-9’对该节点的各子节点执行处理;
模式8’,如果节点只具有同一类型的子节点,则以该节点为一个组,且不对该节点的子节点执行处理;
模式9’,如果节点的任意两个相邻子节点之间的距离大于所述两个相邻子节点中的较小子节点的长或宽的n’%,则以该两个相邻子节点为界限对该节点的子节点进行分组,并按照模式1’-9’对该节点的各子节点执行处理,n’为第六预设值,其中,
对于同一节点,如果不满足模式1’-9’中的一个模式的执行条件,则按照模式1’-9’中的另一个模式执行处理,直到满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理为止,以及
对于该节点,在满足其中一个模式并执行该模式的处理或者针对全部模式执行了处理之后,如果在所述网页的DOM树中存在下一节点,则按照模式1’-9’对该下一节点重复相同的处理。
7.如权利要求1所述的方法,所述预设特征包括下述至少一种:
超链接与文本的比值;
图像与文本的比值;
是否存在提交按钮;
是否存在表单;
成列的子节点中包含的子节点的个数;
节点的文本的平均长度;以及
节点的文本的长度与平均长度的差。
8.如权利要求1所述的方法,其中,所述显示类型包括列表类型、文本类型或应用类型。
9.如权利要求8所述的方法,其中,
所述列表类型包括具有超链接的普通文本列表、具有超链接和图像的文本列表、图像列表以及普通文本列表中至少之一;
所述文本类型包括普通文本和具有评论的文本中至少之一;以及
所述应用类型包括具有人机交互的应用和不具有人机交互的应用中至少之一。
10.一种信息处理装置,包括:
分割装置,用于对富文本进行分割,根据分割得到的各个块产生与各个块分别对应的富文本组件;以及
获取及显示装置,用于根据分割得到的块的预设特征的特征值获取对应的富文本组件的显示类型,以获取的显示类型显示对应的富文本组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410157792.3A CN105095206A (zh) | 2014-04-18 | 2014-04-18 | 信息处理方法以及信息处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410157792.3A CN105095206A (zh) | 2014-04-18 | 2014-04-18 | 信息处理方法以及信息处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105095206A true CN105095206A (zh) | 2015-11-25 |
Family
ID=54575676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410157792.3A Pending CN105095206A (zh) | 2014-04-18 | 2014-04-18 | 信息处理方法以及信息处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095206A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085822A (zh) * | 2016-02-16 | 2017-08-22 | 北京小米移动软件有限公司 | 人脸图像处理方法及装置 |
CN108882049A (zh) * | 2017-11-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种数据展示方法及视联网终端 |
CN109582932A (zh) * | 2018-10-15 | 2019-04-05 | 深圳点猫科技有限公司 | 基于教育***的微信小程序富文本转换方法及电子设备 |
CN113259495A (zh) * | 2021-07-14 | 2021-08-13 | 佛山市墨纳森智能科技有限公司 | 一种基于区块链的新闻定点投放方法、***和可读存储介质 |
CN113807050A (zh) * | 2021-07-01 | 2021-12-17 | 西安华讯科技有限责任公司 | 一种基于富文本的节点截取方法、***、设备和存储介质 |
CN116383546A (zh) * | 2023-06-06 | 2023-07-04 | 深圳思谋信息科技有限公司 | 文件处理方法、***、计算机设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050044A1 (en) * | 2002-10-28 | 2005-03-03 | International Business Machines Corporation | Processing structured/hierarchical content |
CN102253937A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 获取网页中的感兴趣信息的方法及相关装置 |
CN102314520A (zh) * | 2011-10-24 | 2012-01-11 | 莫雅静 | 基于统计回溯定位的网页正文提取方法和装置 |
-
2014
- 2014-04-18 CN CN201410157792.3A patent/CN105095206A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050050044A1 (en) * | 2002-10-28 | 2005-03-03 | International Business Machines Corporation | Processing structured/hierarchical content |
CN102253937A (zh) * | 2010-05-18 | 2011-11-23 | 阿里巴巴集团控股有限公司 | 获取网页中的感兴趣信息的方法及相关装置 |
CN102314520A (zh) * | 2011-10-24 | 2012-01-11 | 莫雅静 | 基于统计回溯定位的网页正文提取方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085822A (zh) * | 2016-02-16 | 2017-08-22 | 北京小米移动软件有限公司 | 人脸图像处理方法及装置 |
CN107085822B (zh) * | 2016-02-16 | 2020-09-04 | 北京小米移动软件有限公司 | 人脸图像处理方法及装置 |
CN108882049A (zh) * | 2017-11-30 | 2018-11-23 | 北京视联动力国际信息技术有限公司 | 一种数据展示方法及视联网终端 |
CN109582932A (zh) * | 2018-10-15 | 2019-04-05 | 深圳点猫科技有限公司 | 基于教育***的微信小程序富文本转换方法及电子设备 |
CN113807050A (zh) * | 2021-07-01 | 2021-12-17 | 西安华讯科技有限责任公司 | 一种基于富文本的节点截取方法、***、设备和存储介质 |
CN113807050B (zh) * | 2021-07-01 | 2024-04-09 | 西安华讯科技有限责任公司 | 一种基于富文本的节点截取方法、***、设备和存储介质 |
CN113259495A (zh) * | 2021-07-14 | 2021-08-13 | 佛山市墨纳森智能科技有限公司 | 一种基于区块链的新闻定点投放方法、***和可读存储介质 |
CN113259495B (zh) * | 2021-07-14 | 2021-09-14 | 佛山市墨纳森智能科技有限公司 | 一种基于区块链的新闻定点投放方法、***和可读存储介质 |
CN116383546A (zh) * | 2023-06-06 | 2023-07-04 | 深圳思谋信息科技有限公司 | 文件处理方法、***、计算机设备及计算机可读存储介质 |
CN116383546B (zh) * | 2023-06-06 | 2023-08-11 | 深圳思谋信息科技有限公司 | 文件处理方法、***、计算机设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6818050B2 (ja) | ウェブサイト構築システムおよび方法 | |
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN105095206A (zh) | 信息处理方法以及信息处理装置 | |
CN108491205B (zh) | 一种基于组件树的前端网页开发方法及*** | |
CN104881488B (zh) | 基于关系表的可配置信息抽取方法 | |
Olsina et al. | Specifying quality characteristics and attributes for websites | |
CN101661512B (zh) | 一种识别传统表单信息并创建对应Web表单的***及方法 | |
CN1786965B (zh) | 一种新闻网页正文信息的提取方法 | |
CN103309806B (zh) | 一种快速开发测试的装置及方法 | |
KR101640051B1 (ko) | 특유 콘텐츠 판정 장치, 특유 콘텐츠 판정 방법, 기록 매체, 콘텐츠 생성 장치 및 관련 콘텐츠 삽입 장치 | |
CN101251855A (zh) | 一种互联网网页清洗方法、***及设备 | |
CN103631865B (zh) | 网页生成方法及设备 | |
CN102520966B (zh) | 一种代码提示方法和装置 | |
CN103544178A (zh) | 一种用于提供与目标页面相对应的重构页面的方法和设备 | |
CN106503211B (zh) | 面向信息发布类网站的移动版自动生成的方法 | |
CN102915361B (zh) | 一种基于文字分布特征的网页正文提取方法 | |
CN102163203A (zh) | 网页下载的方法和装置 | |
CN103559199A (zh) | 网页信息抽取方法和装置 | |
CN108563431A (zh) | 软件开发方法、装置、计算机可读存储介质以及电子设备 | |
CN102262658B (zh) | 一种基于实体的自底向上Web数据抽取方法 | |
CN102375847A (zh) | 形成用于生成文档模板的合并树的方法以及装置 | |
CN103235719A (zh) | 建立wap网站的方法和装置 | |
CN102236658B (zh) | 网页内容提取方法和装置 | |
CN102999511A (zh) | 一种页面快速转换方法、装置和*** | |
CN103064966A (zh) | 一种从单记录网页中抽取规律噪音的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151125 |
|
WD01 | Invention patent application deemed withdrawn after publication |