CN102880606B - 一种计算机实现的用于优化标记语言文本的方法与设备 - Google Patents

一种计算机实现的用于优化标记语言文本的方法与设备 Download PDF

Info

Publication number
CN102880606B
CN102880606B CN201110193378.4A CN201110193378A CN102880606B CN 102880606 B CN102880606 B CN 102880606B CN 201110193378 A CN201110193378 A CN 201110193378A CN 102880606 B CN102880606 B CN 102880606B
Authority
CN
China
Prior art keywords
word sequence
text
optimization
word
marking language
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.)
Active
Application number
CN201110193378.4A
Other languages
English (en)
Other versions
CN102880606A (zh
Inventor
李成银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201110193378.4A priority Critical patent/CN102880606B/zh
Publication of CN102880606A publication Critical patent/CN102880606A/zh
Application granted granted Critical
Publication of CN102880606B publication Critical patent/CN102880606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明的目的是提供一种用于优化标记语言文本的方法与设备,其中,优化设备获取待处理的标记语言文本;基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列;对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。与现有技术相比,本发明在保证标记语言文本内容逻辑正确的前提下,对更多内容进行优化,在提高优化准确性的基础上实现了页面的高速加载,进而提升了页面的可访问性和易维护性。

Description

一种计算机实现的用于优化标记语言文本的方法与设备
技术领域
本发明涉及网络优化计算领域,尤其涉及一种优化标记语言文本的技术。
背景技术
随着互联网技术的发展与应用,人们对网页下载速度有了更高的要求,由此标记语言文本,如HTML等的优化技术受到越来越多的关注并得到一定程度的发展。由于许多标记语言文本中包含大堆冗余信息,这些冗余信息给本来应该尽可能保持轻量级的页面增加一定不必要的负担且占据大量存储空间,降低页面加载速度,进而降低了页面的可访问性和易维护性。现有技术主要利用正则表达式匹配的方法对例如HTML文本进行优化处理,以减少其文本大小,但该方法仅能够去除HTML文本中有限的冗余内容,如换行、注释等,不能对HTML标签中的内容进行优化,并且利用正则表达式匹配的方式进行优化可能导致对HTML内容的破坏。
因此,如何有效地优化标记语言文本,成为目前亟待解决的问题之一。
发明内容
本发明的目的是提供一种用于优化标记语言文本的方法与设备。
根据本发明的一个方面,提供一种用于优化标记语言文本的方法,该方法包括以下步骤:
a获取待处理的标记语言文本;
b基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列;
c对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;
d将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
根据本发明的另一个方面,还提供了一种用于优化标记语言文本的设备,该设备包括:
文本获取装置,用于获取待处理的标记语言文本;
词法分析装置,用于基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列;
优化装置,用于对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;
优化文本获取装置,用于将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
与现有技术相比,本发明对待处理的标记语言文本进行词法分析,以获得与该标记语言文本相对应的单词序列,再对该些单词序列进行优化处理从而得到优化单词序列;本发明在保证标记语言文本内容逻辑正确的前提下,对更多内容进行优化,在提高优化准确性的基础上实现了页面的高速加载,进而提升了页面的可访问性和易维护性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面用于识别失序文本的设备示意图;
图2示出根据本发明另一个方面用于识别失序文本的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面用于优化标记语言文本的设备示意图。优化设备1包括文本获取装置11、词法分析装置12、优化装置13和优化文本获取装置14。在此,优化设备1包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
具体地,文本获取装置11获取待处理的标记语言文本。更具体地,文本获取装置11按预定周期或应事件触发实时地获取待处理的目标文本,例如通过实时监听用户通过用户设备提交的标记语言文本提交请求,接收该标记语言文本提交请求,并根据该请求获取待处理的标记语言文本,或者定期地通过约定的通信方式直接从第三方设备读取标记语言文本。例如,假设优化设备1为网站服务器,用户通过用户设备输入一条访问某HTML网页的URL,然后,用户设备将该URL通过预定的通信协议如http、https等提交到优化设备1的文本获取装置11,接着,文本获取装置11通过实时监听用户消息接收该URL,根据该URL获取其所对应的网页,并提取该网页中的HTML文本信息作为待处理的标记语言文本。再如,文本获取装置11按一定周期,定期地通过调用预定的应用编程接口(API)向第三方设备发送获取待处理的标记语言文本的请求,并接收该第三方设备基于该请求返回的标记语言文本。在此,标记语言文本包括但不限于1)超文本标记语言(HTML),2)可扩展超文本标记语言(XHTML),3)可缩放矢量图形(SVG)等。本领域技术人员应能理解上述获取标记语言文本的方式仅为举例,其他现有的或今后可能出现的获取标记语言文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,词法分析装置12基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列。具体地,词法分析装置12根据文本获取装置11提供的标记语言文本,例如通过将该标记语言的所有固有标签,作为词法分析中进行分词处理的标记;或者通过将该标记语言的指定的若干固有标签作为词法分析中进行分词处理的标记,对该标记语言文本进行分词处理,将该标记语言文本划分成若干单词序列。例如,词法分析装置12根据文本获取装置11提供的HTML文本:
<p style=″″>文本框<textarea>welefen</textarea>
<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
</p>
,将HTML的所有固有标签如该HTML文本中的input标签、textarea标签、p标签作为词法分析中进行分词处理的标记,并根据HTML的语言规范利用队列对该HTML文本进行分词处理,首先词法分析装置12将该HTML文本的第一个字符“<”入队,并记录该字符“<”为一个新标签的开始,接着将后续字符“p”和空格字符入队,并根据该队列中字符“<”与空格字符之间的字符序列“p”确定该标签为HTML固有标签,即p标签,随后词法分析装置12依次将后续字符“s”、“t”、“y”、“l”、“e”、“=”、“″”、“″”入队,接着当词法分析装置12将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并表示该固有标签p的结束,据此,词法分析装置12将该队列中的字符全部输出,以获得一个单词序列<p style=″″>,再接着词法分析装置12将字符“文”、“本”、“框”和“<”入队,并记录该字符“<”为一个新标签的开始,然后词法分析装置12将该HTML文本中的后续字符“t”、“e”、“x”“t”、“a”、“r”“e”、“a”和“>”入队,当词法分析装置12将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并根据其间的字符序列“textarea”确定其为HTML固有标签,即textarea标签,则词法分析装置12据此将该队列中字符“<”之前的所有字符全部输出,以获得单词序列“文本框”,并将该队列中的其余字符全部输出,以获得另一个单词序列“<textarea>”,词法分析装置12按照此方式对该HTML文本进行分词处理,获得的单词序列依次为:
1)<p style=″″>,
2)文本框,
3)<textarea>,
4)welefen,
5)</textarea>,
6)回车换行符(如\n\r),
7)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,
8)回车换行符,
9)</p>
。在此,所述“队列”是一种“先进先出”(FIFO-first in first out)的线性表,新元素(等待进入队列的元素)总是被插入到表的后端,即队尾,而读取的时候总是从表的前端,即队首,开始读取。在此,所述“入队”意为将新元素插入队尾。在此,所述“单词序列”意指对根据词法分析对标记语言文本进行划分的最小单位。本领域技术人员应能理解利用队列进行分词处理的方式仅为举例,其他数据结构也可作为进行分词处理的方式。本领域技术人员应能理解上述获得单词序列的方式仅为举例,其他现有的或今后可能出现的获得单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,优化装置13对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列。具体地,优化装置13根据词法分析装置12获取的若干单词序列,对该等单词序列进行去除冗余信息的优化处理,以获得与该些单词序列相对应的优化单词序列,其中,优化处理的方式包括但不限于:1)去除单词序列中的换行、注释等;2)根据单词序列类型,如开始标签、结束标签等,对所述单词序列进行相应的优化处理,例如去除单词序列类型为开始标签的单词序列中的缺省标签属性、去除可省略的单词序列类型为结束标签的单词序列。例如,假设优化处理方式包括去除单词序列中的回车换行符(\n\r),并且词法分析装置12获取的单词序列为\n\r<textarea>welefen</textarea>\n\r,则优化装置13将对该单词序列中的两个回车换行符直接删除,从而获得优化单词序列<textarea>welefen</textarea>。又例如,假设优化处理方式包括去除单词序列类型为开始标签的单词序列中的缺省标签属性,并且词法分析装置12获取的单词序列为<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,优化装置13按照HTML语言规范对该单词序列进行解析,根据字符组合“<input”确定该单词序列类型为开始标签,且为input标签的开始标签,并据此提取该input标签的属性及其属性值,包括class、onclick和type,其对应的属性值分别为″input″、″alert(′hello-->′)″和″text″,接着优化装置13在标签缺省属性列表中的查询获得input标签的type属性的缺省属性值为″text″,据此确定该单词序列中input标签的type属性的属性值为缺省属性值,从而将字符序列type=″text″从该单词序列中删除,以获得优化单词序列<input class=″input″onclick=″alert(′hello-->′)″/>,其中,所述标签缺省属性列表中包含HTML标签及其所对应可缺省标签属性的映射关系,并且其可存储于优化设备1或第三方设备中。本领域技术人员应能理解上述获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,优化文本获取装置14将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。具体地,优化文本获取装置14将优化装置13获取的优化单词序列进行合并,以获得与标记语言文本相对应的标记语言优化文本,将优化单词序列进行合并的方式包括但不限于:优化文本获取装置14基于优化单词序列所对应的该些单词序列在标记语言文本中的位序,将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本;或优化装置13获得的第一个优化单词序列后,优化文本获取装置14将该优化单词序列存入文本文档中,并根据优化装置13进行优化的顺序,将后续获得的优化单词序列依次存入该文本文档中,以获得标记语言优化文本。
例如,假设词法分析装置12获得单词序列为:
1)<p style=″″>
2)文本框
3)<textarea>
4)</textarea>
5)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
6)</p>
,优化装置13根据单词序列1)<p style=″″>,对该单词序列进行优化处理,以获得的第一个优化单词序列为<p>,文本获取装置14将其存入一个文本文档中,接着优化装置13继续对候选单词序列进行优化处理,每当完成一个单词序列的优化后,文本获取装置14将其存入文本文档,当优化结束时,文本获取装置14获取标记语言优化文本为:
<p>文本框<textarea></textarea><input class=input
onclick=″alert(′hello-->′)″/>
。本领域技术人员应能理解上述获得标记语言优化文本的方法仅为举例,其他现有的或今后可能出现的获得标记语言优化文本的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,文本获取装置11、词法分析装置12、优化装置13和文本获取装置14之间可以是持续不断地工作。具体地,文本获取装置11获取待处理的标记语言文本;随后,统计信息获取装置12基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列;接着,识别装置13对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;随后,优化文本获取装置14将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。在此,本领域技术人员应理解“持续”是指各装置分别按照设定的或实时调整的工作模式要求进行待处理的标记语言文本的获取、一个或多个单词序列的获取、优化单词序列的获取及优化文本的获取,直至文本获取装置11在较长时间内停止对待处理的标记语言文本的获取。
优选地,优化设备1的词法分析装置12可对所述标记语言文本进行词法分析,获得所述单词序列及与所述单词序列相对应的单词序列类型;接着,优化装置13根据所述单词序列类型,对所述单词序列进行优化处理,以获得所述优化单词序列。具体地,词法分析装置12根据文本获取装置11提供的标记语言文本,对该标记语言文本进行分词处理,以获得与该标记语言文本相对应的一个或多个单词序列,并据该(些)单词序列,获取与该(些)单词序列相对应的单词序列类型,其中,获取单词序列类型的规则包括但不限于:1)若单词序列以字符“<”为开始,并以字符“>”为结束,则确定该单词序列类型为开始标签;2)若单词序列以字符组合“</”为开始,并以字符“>”为结束,则确定该单词序列类型为结束标签;3)若单词序列中不包含字符“>”与字符“<”,则确定该单词序列类型为纯文本;接着,优化装置13根据词法分析装置12获取的单词序列类型,对该些单词序列进行去除冗余信息的优化处理,以获得优化单词序列,单词序列的优化处理的方式包括但不限于:1)若单词序列类型为开始标签,则去除单词序列类型为开始标签的单词序列中的缺省标签属性;2)若单词序列类型为结束标签,则根据该单词序列中的内容判断该单词序列是否可省略,以去除抑或保留该单词序列;3)若单词序列类型为纯文本,则将纯文本中的多个连续空格符修改为只保留一个空格符。本领域技术人员应能理解上述获取单词序列类型的规则确定单词序列类型的方式仅为举例,其他用户自定义的任意字符或字符组合标记如“{”和“}”、“<&”和“&>”等也可作为确定单词序列类型的依据。
例如,假设词法分析装置12根据文本获取装置11提供的HTML文本为:
<p>北京□□□国家大剧院</p>
,按照上例的方法利用队列对该HTML文本进行分词处理,获得单词序列为
1)<p>,
2)北京□□□国家大剧院,
3)</p>,
其中单词序列2)为“北京□□□国家大剧院”,并根据该单词序列中没有字符“<”和字符“>”,确定该单词序列类型为纯文本,并据此对该单词序列进行解析获得该单词序列中有连续三个空格符“□”;接着优化装置13按照HTML优化规则,纯文本中的连续空格符只需保留一个,其余可删除,从而将该纯文本的连续三个空格符删除两个保留一个,获得优化单词序列为“北京□国家大剧院”;随后,单词序列3)为</p>,根据该单词序列是以字符组合“</”为开始、以字符“>”为结束,确定该单词序列类型为结束标签,并据此对该单词序列进行解析,确定该单词序列为p标签;接着优化装置13按照HTML优化规则,p标签的结束标签可以缺省,从而将字符序列</p>删除。本领域技术人员应能理解上述获得单词序列类型和获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得单词序列类型或获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,优化装置13还可根据所述单词序列类型,结合用户相关信息,对所述单词序列进行优化处理,以获得所述优化单词序列。具体地,优化装置13根据词法分析装置12获取的单词序列类型,结合例如用户所使用的浏览器类型、或用户对HTML文本进行优化的偏好设置等用户相关信息,以确定优化处理的方式,进而对该些单词序列进行优化处理,以获得优化单词序列。例如,词法分析装置12获取的单词序列为<!--[if expression]>HTML<![endif]-->,且该单词序列类型为开始标签,据此对该单词序列进行解析获得其为HTML注释,假设用户使用的浏览器为Firefox浏览器,优化装置13在兼容对照表中查询获得在Firefox浏览器中该注释可以缺省,据此优化装置13将该单词序列删除,其中,所述兼容对照表中包含所有的现有浏览器以及其兼容HTML的标签类型的映射关系,并且其可存储于优化设备1或第三方设备中。又例如,词法分析装置12获取的单词序列为<script src=″http://cache.soso.com.js″>,且该单词序列类型开始标签,据此对该单词序列进行解析获得其为script标签,假设用户在用户偏好设置中设置不运行HTML文本中的所有script标签,则优化装置13根据该单词序列类型及该用户的偏好设置,将该单词序列删除。再例如,假设用户在用户偏好设置中设置不对HTML文本进行优化处理,则优化装置13保留原单词序列。本领域技术人员应能理解上述获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述用户相关信息包括以下至少任一项:
-用户偏好设置;
-用户浏览器信息。
其中,用户偏好设置包括但不限于:用户通过用户设备设置是否对HTML文本进行优化设置,或是否允许执行HTML文本中的脚本等;用户浏览器信息包括用户浏览器的类型或版本等,如IE浏览器、Firefox浏览器、Opera浏览器、Google Chrome浏览器等或IE3.0、IE5.0等。本领域技术人员应能理解,上述两项用户相关信息不仅可以单独用于对单词序列进行优化处理,还可以将两项结合用于对单词序列进行优化处理。本领域技术人员应能理解上述用户相关信息仅为举例,其他现有的或今后可能出现的用户相关信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述单词序列类型包括以下至少任一项:
-开始标签;
-结束标签;
-纯文本。
具体地,单词序列类型包括但不限于:
1)开始标签,若单词序列的单词序列类型为开始标签时,则优化装置13根据该单词序列类型,去除该单词序列中的缺省标签属性或当单词序列的标签的属性值不包括特殊字符如字符“<”、“>”等时,属性值的左右引号″″可省略;例如input标签的type属性的缺省属性值为″text″,优化装置13可将字符序列type=″text″从单词序列中删除;又例如,input标签的class属性的属性值″input″中没有特殊字符时,左右引号″″可省略,从而优化装置13将字符序列class=″input″中的″″删除;再例如,input标签的disabled属性的属性值为″disabled″可缺省,从而优化装置13将字符序列=″disabled″从单词序列中删除;
2)结束标签,若单词序列类型为结束标签,则优化装置13根据该单词序列类型,去除可省略的单词序列类型为结束标签的单词序列,例如,p标签的结束标签可以缺省,优化装置13将单词序列</p>删除;
3)纯文本,若单词序列类型为纯文本,则优化装置13将纯文本中的连续多个空格符只保留一个,其余删除。本领域技术人员应能理解上述单词序列类型仅为举例,其他现有的或今后可能出现的单词序列类型如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在一个优选实施例中(参照图1),所述词法分析装置12基于根据预置分析规则对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得所述一个或多个单词序列。以下参照图1对该优选实施例进行详细描述,其中,文本获取装置11获取待处理的标记语言文本;优化装置13对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;优化文本获取装置14将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本;其具体过程与前述参照图1所描述的实施例中文本获取装置11、优化装置13和优化文本获取装置14所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,词法分析装置12基于根据预置分析规则对文本获取装置11获取的标记语言文本的词法分析,并对该标记语言文本进行分词处理,以获得所述一个或多个单词序列,其中,预置分析规则包括但不限于:1)将若干指定的标记语言的固有标签,2)将用户自定义的标签,作为词法分析中进行单词序列分割的标记,对该标记语言文本进行词法分析。
例如,假设预设分析规则为将包含有Smarty语法内容的用户自定义标签<&if&>作为词法分析中进行单词序列分割的标记,文本获取装置11提供的HTML文本:
<&if $smarty.get.mode==″iframe″&>
<div class=″ui-no-result″>没有新的搭讪啦
词法分析装置12利用队列对该HTML文本进行分词处理,首先词法分析装置12将该HTML文本的第一个字符“<”入对,并记录该字符“<”为一个新标签的开始,接着将后续字符“&”、“i”、“f”和“$”入队,并根据该队列中的字符“<”与字符“$”之间的字符串“&if”确定该标签为用户自定义的标签,即<&if&>标签,随后词法分析装置12依次将后续字符“s”、“m”......“&”入队,接着当词法分析装置12将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并表示该用户自定义标签<&if&>的结束,据此,词法分析装置12将该队列中的字符全部输出,以获得一个单词序列<&if $smarty.get.mode==″iframe″&>,再接着词法分析装置12按照相同的方法对后续文本进行分词处理,以获得的单词序列依次为:
1)<&if $smarty.get.mode==″iframe″&>,
2)\n\r <div class=″ui-no-result″>。
其中,Smarty语法是一个使用PHP写出来的模板引擎,它分离了逻辑代码和外在的内容,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。本领域技术人员应能理解上述预置分析规则仅为举例,其他现有的或今后可能出现的预置分析规则如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述预置分析规则基于以下至少任一项对所述标记语言文本进行词法分析:
-所述标记语言的标签信息;
-用户自定义标签信息。
具体地,预置分析规则基于标记语言的标签信息,如该标记语言的标签信息示出该标签为标记语言固有的标签,如HTML中的<body>、<input>、<p>等;或基于用户通过用户设备自定义标签信息,如包含有Smarty语法内容的标签<&if&>、用户预先设定标记语言中的若干固有标签,作为词法分析中进行单词序列分割的标记,对标记语言文本进行词法分析。本领域技术人员应能理解,上述两项预置分析规则不仅可以单独用于对标记语言文本进行词法分析,还可以结合用于对标记语言文本进行词法分析。本领域技术人员应能理解上述词法分析的方法仅为举例,其他现有的或今后可能出现的词法分析的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,优化文本获取装置14根据所述优化单词序列所对应的所述单词序列在所述标记语言文本中的位序,将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。具体地,优化文本获取装置14根据优化装置13获取的优化单词序列,并基于该些优化单词序列所对应的该些单词序列在标记语言文本中的位序,例如将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本。例如,假设待处理的标记语言文本为:
<p style=″″>文本框<textarea>welefen</textarea>
<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
</p>
词法分析装置12进过词法分析,获得单词序列为:
1)<p style=″″>,
2)文本框,
3)<textarea>
4)welefen,
5)</textarea>,
6)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,
7)</p>,
优化装置13根据词法分析装置12获得的单词序列,通过单词序列优化获取的优化单词序列依次为:
1)<p>,
2)文本框,
3)<textarea>,
4)welefen,
5)</textarea>,
6)<input class=input onclick=″alert(′hello-->′)″/>,
优化文本获取装置14根据该些单词序列在标记语言文本中的位序,如1)、2)等,将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本为:
<p>文本框<textarea>welefen</textarea><input class=input
onclick=″alert(′hello-->′)″/>
本领域技术人员应能理解上述获得标记语言优化文本的方法仅为举例,其他现有的或今后可能出现的获得标记语言优化文本的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,文本获取装置11获取与用户通过用户设备提交的访问请求相对应的所述标记语言文本;优选设备1还包括提供装置(未示出),提供装置将所述标记语言优化文本提供给用户设备。具体地,用户通过与用户设备的交互方式,包括但不限于键盘、鼠标、遥控器、触摸板、或手写设备,在浏览器软件、应用程序或客户端软件中输入一条访问某HTML网页的URL,然后,用户设备将该URL通过预定的通信协议提交到优化设备1的文本获取装置11,接着,文本获取装置11通过实时监听用户消息接收该URL,根据该URL获取其所对应的网页,并提取该网页中的HTML文本信息作为待处理的标记语言文本。在此,该用户设备可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备进行人机交互的电子产品,包括但不限于计算机、智能手机、PDA、或IPTV等。优化设备1与用户设备之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。优化设备1与用户设备连接的网络包括但不限于:互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。本领域技术人员应能理解上述获取标记语言文本的方式仅为举例,其他现有的或今后可能出现的获取标记语言文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,提供装置根据优化文本获取装置14获取的标记语言优化文本,采用任何已知的计算机提供人可读信息的技术手段,例如屏幕显示等,将该标记语言优化文本提供给用户设备。以屏幕显示为例,提供装置将标记语言优化文本按一定格式提供给用户设备,例如以链接、页面文本等形式提供给用户设备,供用户进行浏览。本领域技术人员应能理解上述对提供标记语言优化文本的方式仅为举例,其他现有的或今后可能出现的提供标记语言优化文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图2示出根据本发明一个方面用于优化标记语言文本的方法流程图。在此,优化设备1包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
具体地,在步骤S1中,优化设备1获取待处理的标记语言文本。更具体地,在步骤S1中,优化设备1按预定周期或应事件触发实时地获取待处理的目标文本,例如通过实时监听用户通过用户设备提交的标记语言文本提交请求,接收该标记语言文本提交请求,并根据该请求获取待处理的标记语言文本,或者定期地通过约定的通信方式直接从第三方设备读取标记语言文本。例如,假设优化设备1为网站服务器,用户通过用户设备输入一条访问某HTML网页的URL,然后,用户设备将该URL通过预定的通信协议如http、https等提交到优化设备1,接着,在步骤S1中,优化设备1通过实时监听用户消息接收该URL,根据该URL获取其所对应的网页,并提取该网页中的HTML文本信息作为待处理的标记语言文本。再如,优化设备1在步骤S 1中按一定周期,定期地通过调用预定的应用编程接口(API)向第三方设备发送获取待处理的标记语言文本的请求,并接收该第三方设备基于该请求返回的标记语言文本。在此,标记语言文本包括但不限于1)超文本标记语言(HTML),2)可扩展超文本标记语言(XHTML),3)可缩放矢量图形(SVG)等。本领域技术人员应能理解上述获取标记语言文本的方式仅为举例,其他现有的或今后可能出现的获取标记语言文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,在步骤S2中,优化设备1基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列。具体地,在步骤S2中,优化设备1根据其在步骤S1中提供的标记语言文本,例如通过将该标记语言的所有固有标签,作为词法分析中进行分词处理的标记;或者通过将该标记语言的指定的若干固有标签作为词法分析中进行分词处理的标记,对该标记语言文本进行分词处理,将该标记语言文本划分成若干单词序列。例如,在步骤S2中,优化设备1根据其在步骤S 1中提供的HTML文本:
<p style=″″>文本框<textarea>welefen</textarea>
<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
</p>
,将HTML的所有固有标签如该HTML文本中的input标签、textarea标签、p标签作为词法分析中进行分词处理的标记,并根据HTML的语言规范利用队列对该HTML文本进行分词处理,首先优化设备1将该HTML文本的第一个字符“<”入队,并记录该字符“<”为一个新标签的开始,接着将后续字符“p”和空格字符入队,并根据该队列中字符“<”与空格字符之间的字符序列“p”确定该标签为HTML固有标签,即p标签,随后优化设备1依次将后续字符“s”、“t”、“y”、“l”、“e”、“=”、“″”、“″”入队,接着当优化设备1将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并表示该固有标签p的结束,据此,优化设备1将该队列中的字符全部输出,以获得一个单词序列<p style=″″>,再接着优化设备1将字符“文”、“本”、“框”和“<”入队,并记录该字符“<”为一个新标签的开始,然后优化设备1将该HTML文本中的后续字符“t”、“e”、“x”“t”、“a”、“r”“e”、“a”和“>”入队,当优化设备1将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并根据其间的字符序列“textarea”确定其为HTML固有标签,即textarea标签,则优化设备1据此将该队列中字符“<”之前的所有字符全部输出,以获得单词序列“文本框”,并将该队列中的其余字符全部输出,以获得另一个单词序列“<textarea>”,优化设备1按照此方式对该HTML文本进行分词处理,获得的单词序列依次为:
1)<p style=″″>,
2)文本框,
3)<textarea>,
4)welefen,
5)</textarea>,
6)回车换行符(如\n\r),
7)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,
8)回车换行符,
9)</p>
。在此,所述“队列”是一种“先进先出”(FIFO-first in first out)的线性表,新元素(等待进入队列的元素)总是被插入到表的后端,即队尾,而读取的时候总是从表的前端,即队首,开始读取。在此,所述“入队”意为将新元素插入队尾。在此,所述“单词序列”意指对根据词法分析对标记语言文本进行划分的最小单位。本领域技术人员应能理解利用队列进行分词处理的方式仅为举例,其他数据结构也可作为进行分词处理的方式。本领域技术人员应能理解上述获得单词序列的方式仅为举例,其他现有的或今后可能出现的获得单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,在步骤S3中,优化设备1对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列。具体地,在步骤S3中,优化设备1根据其在步骤S2中获取的若干单词序列,对该等单词序列进行去除冗余信息的优化处理,以获得与该些单词序列相对应的优化单词序列,其中,优化处理的方式包括但不限于:1)去除单词序列中的换行、注释等;2)根据单词序列类型,如开始标签、结束标签等,对所述单词序列进行相应的优化处理,例如去除单词序列类型为开始标签的单词序列中的缺省标签属性、去除可省略的单词序列类型为结束标签的单词序列。例如,假设优化处理方式包括去除单词序列中的回车换行符(\n\r),并且优化设备1在步骤S2中获取的单词序列为\n\r<textarea>welefen</textarea>\n\r,则在步骤S3中,优化设备1将对该单词序列中的两个回车换行符直接删除,从而获得优化单词序列<textarea>welefen</textarea>。又例如,假设优化处理方式包括去除单词序列类型为开始标签的单词序列中的缺省标签属性,并且优化设备1在步骤S2中获取的单词序列为<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,在步骤S3中,优化设备1按照HTML语言规范对该单词序列进行解析,根据字符组合“<input”确定该单词序列类型为开始标签,且为input标签的开始标签,并据此提取该input标签的属性及其属性值,包括class、onclick和type,其对应的属性值分别为″input″、″alert(′hello-->′)″和″text″,接着优化设备1在标签缺省属性列表中的查询获得input标签的type属性的缺省属性值为″text″,据此确定该单词序列中input标签的type属性的属性值为缺省属性值,从而将字符序列type=″text″从该单词序列中删除,以获得优化单词序列<input class=″input″onclick=″alert(′hello-->′)″/>,其中,所述标签缺省属性列表中包含HTML标签及其所对应可缺省标签属性的映射关系,并且其可存储于优化设备1或第三方设备中。本领域技术人员应能理解上述获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,在步骤S4中,优化设备1将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。具体地,在步骤S4中,优化设备1将其在步骤S3中获取的优化单词序列进行合并,以获得与标记语言文本相对应的标记语言优化文本,将优化单词序列进行合并的方式包括但不限于:在步骤S4中,优化设备1基于优化单词序列所对应的该些单词序列在标记语言文本中的位序,将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本;或优化设备1在步骤S3中获得的第一个优化单词序列后,在步骤S4中,优化设备1将该优化单词序列存入文本文档中,并根据其在步骤S3中进行优化的顺序,将后续获得的优化单词序列依次存入该文本文档中,以获得标记语言优化文本。
例如,假设在步骤S2中,优化设备1获得单词序列为:
1)<p style=″″>
2)文本框
3)<textarea>
4)</textarea>
5)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
6)</p>
,在步骤S3中,优化设备1根据单词序列1)<p style=″″>,对该单词序列进行优化处理,以获得的第一个优化单词序列为<p>,在步骤S4中,优化设备1将其存入一个文本文档中,接着优化设备1继续对候选单词序列进行优化处理,每当完成一个单词序列的优化后,优化设备1将其存入文本文档,当优化结束时,优化设备1获取标记语言优化文本为:
<p>文本框<textarea></textarea><input class=input
onclick=″alert(′hello-->′)″/>
。本领域技术人员应能理解上述获得标记语言优化文本的方法仅为举例,其他现有的或今后可能出现的获得标记语言优化文本的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,上述各步骤可以是持续不断地工作。具体地,在步骤S1中,优化设备1获取待处理的标记语言文本;随后,在步骤S2中,优化设备1基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列;接着,在步骤S3中,优化设备1对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;随后,在步骤S4中,优化设备1将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。在此,本领域技术人员应理解“持续”是指优化设备1在各步骤中分别按照设定的或实时调整的工作模式要求进行待处理的标记语言文本的获取、一个或多个单词序列的获取、优化单词序列的获取及优化文本的获取,直至优化设备1在较长时间内停止对待处理的标记语言文本的获取。
优选地,在步骤S2中,优化设备1可对所述标记语言文本进行词法分析,获得所述单词序列及与所述单词序列相对应的单词序列类型;接着,在步骤S3中,优化设备1根据所述单词序列类型,对所述单词序列进行优化处理,以获得所述优化单词序列。具体地,在步骤S2中,优化设备1根据其在步骤S1中获得的标记语言文本,对该标记语言文本进行分词处理,以获得与该标记语言文本相对应的一个或多个单词序列,并据该(些)单词序列,获取与该(些)单词序列相对应的单词序列类型,其中,获取单词序列类型的规则包括但不限于:1)若单词序列以字符“<”为开始,并以字符“>”为结束,则确定该单词序列类型为开始标签;2)若单词序列以字符组合“</”为开始,并以字符“>”为结束,则确定该单词序列类型为结束标签;3)若单词序列中不包含字符“>”与字符“<”,则确定该单词序列类型为纯文本;接着,在步骤S3中,优化设备1根据其在步骤S2中获取的单词序列类型,对该些单词序列进行去除冗余信息的优化处理,以获得优化单词序列,单词序列的优化处理的方式包括但不限于:1)若单词序列类型为开始标签,则去除单词序列类型为开始标签的单词序列中的缺省标签属性;2)若单词序列类型为结束标签,则根据该单词序列中的内容判断该单词序列是否可省略,以去除抑或保留该单词序列;3)若单词序列类型为纯文本,则将纯文本中的多个连续空格符修改为只保留一个空格符。本领域技术人员应能理解上述获取单词序列类型的规则确定单词序列类型的方式仅为举例,其他用户自定义的任意字符或字符组合标记如“{”和“}”、“<&”和“&>”等也可作为确定单词序列类型的依据。
例如,假设在步骤S2中,优化设备1根据其在步骤S1中获得的HTML文本为:
<p>北京□□□国家大剧院</p>
,按照上例的方法利用队列对该HTML文本进行分词处理,获得单词序列为
1)<p>,
2)北京□□□国家大剧院,
3)</p>,
其中单词序列2)为“北京□□□国家大剧院”,并根据该单词序列中没有字符“<”和字符“>”,确定该单词序列类型为纯文本,并据此对该单词序列进行解析获得该单词序列中有连续三个空格符“□”;接着在步骤S3中,优化设备1按照HTML优化规则,纯文本中的连续空格符只需保留一个,其余可删除,从而将该纯文本的连续三个空格符删除两个保留一个,获得优化单词序列为“北京□国家大剧院”;随后,单词序列3)为</p>,根据该单词序列是以字符组合“</”为开始、以字符“>”为结束,确定该单词序列类型为结束标签,并据此对该单词序列进行解析,确定该单词序列为p标签;接着优化设备1按照HTML优化规则,p标签的结束标签可以缺省,从而将字符序列</p>删除。本领域技术人员应能理解上述获得单词序列类型和获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得单词序列类型或获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S3中,优化设备1还可根据所述单词序列类型,结合用户相关信息,对所述单词序列进行优化处理,以获得所述优化单词序列。具体地,在步骤S3中,优化设备1根据其在步骤S2中获取的单词序列类型,结合例如用户所使用的浏览器类型、或用户对HTML文本进行优化的偏好设置等用户相关信息,以确定优化处理的方式,进而对该些单词序列进行优化处理,以获得优化单词序列。例如,在步骤S2中,优化设备1获取的单词序列为<!--[if expression]>HTML<![endif]-->,且该单词序列类型为开始标签,据此对该单词序列进行解析获得其为HTML注释,假设用户使用的浏览器为Firefox浏览器,在步骤S3中,优化设备1在兼容对照表中查询获得在Firefox浏览器中该注释可以缺省,据此优化设备1将该单词序列删除,其中,所述兼容对照表中包含所有的现有浏览器以及其兼容HTML的标签类型的映射关系,并且其可存储于优化设备1或第三方设备中。又例如,在步骤S2中,优化设备1获取的单词序列为<script src=″http://cache.soso.com.js″>,且该单词序列类型开始标签,据此对该单词序列进行解析获得其为script标签,假设用户在用户偏好设置中设置不运行HTML文本中的所有script标签,则在步骤S3中,优化设备1根据该单词序列类型及该用户的偏好设置,将该单词序列删除。再例如,假设用户在用户偏好设置中设置不对HTML文本进行优化处理,则在步骤S3中,优化设备1保留原单词序列。本领域技术人员应能理解上述获得优化单词序列的方式仅为举例,其他现有的或今后可能出现的获得优化单词序列的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述用户相关信息包括以下至少任一项:
-用户偏好设置;
-用户浏览器信息。
其中,用户偏好设置包括但不限于:用户通过用户设备设置是否对HTML文本进行优化设置,或是否允许执行HTML文本中的脚本等;用户浏览器信息包括用户浏览器的类型或版本等,如IE浏览器、Firefox浏览器、Opera浏览器、Google Chrome浏览器等或IE3.0、IE5.0等。本领域技术人员应能理解,上述两项用户相关信息不仅可以单独用于对单词序列进行优化处理,还可以将两项结合用于对单词序列进行优化处理。本领域技术人员应能理解上述用户相关信息仅为举例,其他现有的或今后可能出现的用户相关信息如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述单词序列类型包括以下至少任一项:
-开始标签;
-结束标签;
-纯文本。
具体地,单词序列类型包括但不限于:
1)开始标签,若单词序列的单词序列类型为开始标签时,则在步骤S3中,优化设备1根据该单词序列类型,去除该单词序列中的缺省标签属性或当单词序列的标签的属性值不包括特殊字符如字符“<”、“>”等时,属性值的左右引号″″可省略;例如input标签的type属性的缺省属性值为″text″,在步骤S3中,优化设备1可将字符序列type=″text″从单词序列中删除;又例如,input标签的class属性的属性值″input″中没有特殊字符时,左右引号″″可省略,从而在步骤S3中,优化设备1将字符序列class=″input″中的″″删除;再例如,input标签的disabled属性的属性值为″disabled″可缺省,从而在步骤S3中,优化设备1将字符序列=″disabled″从单词序列中删除;
2)结束标签,若单词序列类型为结束标签,则在步骤S3中,优化设备1根据该单词序列类型,去除可省略的单词序列类型为结束标签的单词序列,例如,p标签的结束标签可以缺省,在步骤S3中,优化设备1将单词序列</p>删除;
3)纯文本,若单词序列类型为纯文本,则在步骤S3中,优化设备1将纯文本中的连续多个空格符只保留一个,其余删除。本领域技术人员应能理解上述单词序列类型仅为举例,其他现有的或今后可能出现的单词序列类型如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在一个优选实施例中(参照图2),在步骤S2中,优化设备1基于根据预置分析规则对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得所述一个或多个单词序列。以下参照图2对该优选实施例进行详细描述,其中,在步骤S1中,优化设备1获取待处理的标记语言文本;在步骤S3中,优化设备1对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;在步骤S4中,优化设备1将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本;其具体过程与前述参照图2所描述的实施例中优化设备1在步骤S1、步骤S3和步骤S4中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S2中,优化设备1基于根据预置分析规则对其在步骤S1中获取的标记语言文本的词法分析,并对该标记语言文本进行分词处理,以获得所述一个或多个单词序列,其中,预置分析规则包括但不限于:1)将若干指定的标记语言的固有标签,2)将用户自定义的标签,作为词法分析中进行单词序列分割的标记,对该标记语言文本进行词法分析。
例如,假设预设分析规则为将包含有Smarty语法内容的用户自定义标签<&if&>作为词法分析中进行单词序列分割的标记,在步骤S1中,优化设备1提供的HTML文本:
<&if $smarty.get.mode==″iframe″&>
<div class=″ui-no-result″>没有新的搭讪啦
在步骤S2中,优化设备1利用队列对该HTML文本进行分词处理,首先优化设备1将该HTML文本的第一个字符“<”入对,并记录该字符“<”为一个新标签的开始,接着将后续字符“&”、“i”、“f”和“$”入队,并根据该队列中的字符“<”与字符“$”之间的字符串“&if”确定该标签为用户自定义的标签,即<&if&>标签,随后优化设备1依次将后续字符“s”、“m”......“&”入队,接着当优化设备1将字符“>”入队时,其确定该字符“>”与队首的字符“<”相对应,并表示该用户自定义标签<&if&>的结束,据此,优化设备1将该队列中的字符全部输出,以获得一个单词序列<&if $smarty.get.mode==″iframe″&>,再接着优化设备1按照相同的方法对后续文本进行分词处理,以获得的单词序列依次为:
1)<&if $smarty.get.mode==″iframe″&>,
2)\n\r <div class=″ui-no-result″>。
其中,Smarty语法是一个使用PHP写出来的模板引擎,它分离了逻辑代码和外在的内容,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。本领域技术人员应能理解上述预置分析规则仅为举例,其他现有的或今后可能出现的预置分析规则如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述预置分析规则基于以下至少任一项对所述标记语言文本进行词法分析:
-所述标记语言的标签信息;
-用户自定义标签信息。
具体地,预置分析规则基于标记语言的标签信息,如该标记语言的标签信息示出该标签为标记语言固有的标签,如HTML中的<body>、<input>、<p>等;或基于用户通过用户设备自定义标签信息,如包含有Smarty语法内容的标签<&if&>、用户预先设定标记语言中的若干固有标签,作为词法分析中进行单词序列分割的标记,对标记语言文本进行词法分析。本领域技术人员应能理解,上述两项预置分析规则不仅可以单独用于对标记语言文本进行词法分析,还可以结合用于对标记语言文本进行词法分析。本领域技术人员应能理解上述词法分析的方法仅为举例,其他现有的或今后可能出现的词法分析的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S4中,优化设备1根据所述优化单词序列所对应的所述单词序列在所述标记语言文本中的位序,将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。具体地,在步骤S4中,优化设备1根据其在步骤S3中获取的优化单词序列,并基于该些优化单词序列所对应的该些单词序列在标记语言文本中的位序,例如将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本。例如,假设待处理的标记语言文本为:
<p style=″″>文本框<textarea>welefen</textarea>
<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>
</p>
在步骤S2中,优化设备1进过词法分析,获得单词序列为:
1)<p style=″″>,
2)文本框,
3)<textarea>
4)welefen,
5)</textarea>,
6)<input class=″input″onclick=″alert(′hello-->′)″type=″text″/>,
7)</p>,
在步骤S3中,优化设备1根据其在步骤S2中获得的单词序列,通过单词序列优化获取的优化单词序列依次为:
1)<p>,
2)文本框,
3)<textarea>,
4)welefen,
5)</textarea>,
6)<input class=input onclick=″alert(′hello-->′)″/>,
在步骤S4中,优化设备1根据该些单词序列在标记语言文本中的位序,如1)、2)等,将该些优化单词序列按照位序的顺序连接成一个字符串,并将该字符串作为标记语言优化文本为:
<p>文本框<textarea>welefen</textarea><input class=input
onclick=″alert(′hello-->′)″/>
本领域技术人员应能理解上述获得标记语言优化文本的方法仅为举例,其他现有的或今后可能出现的获得标记语言优化文本的方法如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,在步骤S1中,优化设备1获取与用户通过用户设备提交的访问请求相对应的所述标记语言文本;该过程还包括步骤S5(未示出),在步骤S5中,优化设备1将所述标记语言优化文本提供给用户设备。具体地,用户通过与用户设备的交互方式,包括但不限于键盘、鼠标、遥控器、触摸板、或手写设备,在浏览器软件、应用程序或客户端软件中输入一条访问某HTML网页的URL,然后,用户设备将该URL通过预定的通信协议提交到优化设备1,接着,在步骤S1中,优化设备1通过实时监听用户消息接收该URL,根据该URL获取其所对应的网页,并提取该网页中的HTML文本信息作为待处理的标记语言文本。在此,该用户设备可以是任何一种可与用户通过键盘、鼠标、遥控器、触摸板、或声控设备进行人机交互的电子产品,包括但不限于计算机、智能手机、PDA、或IPTV等。优化设备1与用户设备之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。优化设备1与用户设备连接的网络包括但不限于:互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。本领域技术人员应能理解上述获取标记语言文本的方式仅为举例,其他现有的或今后可能出现的获取标记语言文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,在步骤S5中,优化设备1根据其在步骤S4中获取的标记语言优化文本,采用任何已知的计算机提供人可读信息的技术手段,例如屏幕显示等,将该标记语言优化文本提供给用户设备。以屏幕显示为例,在步骤S5中,优化设备1将标记语言优化文本按一定格式提供给用户设备,例如以链接、页面文本等形式提供给用户设备,供用户进行浏览。本领域技术人员应能理解上述对提供标记语言优化文本的方式仅为举例,其他现有的或今后可能出现的提供标记语言优化文本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在所附权利要求的范围内做出各种变形或修改。

Claims (18)

1.一种计算机实现的用于优化标记语言文本的方法,其中,该方法包括以下步骤:
a获取待处理的标记语言文本;
b基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列,其中,所述单词序列是指根据词法分析对所述标记语言文本进行划分的最小单位;
c对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;
d将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
2.根据权利要求1所述的方法,其中,所述步骤b还包括:
-对所述标记语言文本进行词法分析,获得所述单词序列及与所述单词序列相对应的单词序列类型;
其中,所述步骤c还包括:
-根据所述单词序列类型,对所述单词序列进行优化处理,以获得所述优化单词序列。
3.根据权利要求2所述的方法,其中,所述步骤c还包括:
-根据所述单词序列类型,结合用户相关信息,对所述单词序列进行优化处理,以获得所述优化单词序列。
4.根据权利要求3所述的方法,其中,所述用户相关信息包括以下至少任一项:
-用户偏好设置;
-用户浏览器信息。
5.根据权利要求2至4中任一项所述的方法,其中,所述单词序列类型包括以下至少任一项:
-开始标签;
-结束标签;
-纯文本。
6.根据权利要求1所述的方法,其中,所述步骤b还包括:
-基于根据预置分析规则对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得所述一个或多个单词序列。
7.根据权利要求6所述的方法,其中,所述分析规则基于以下至少任一项对所述标记语言文本进行词法分析:
-所述标记语言的标签信息;
-用户自定义标签信息。
8.根据权利要求1所述的方法,其中,所述步骤d还包括:
-根据所述优化单词序列所对应的所述单词序列在所述标记语言文本中的位序,将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
9.根据权利要求8所述的方法,其中,所述步骤a还包括:
-获取与用户通过用户设备提交的访问请求相对应的所述标记语言文本;
其中,该方法还包括:
将所述标记语言优化文本提供给所述用户设备。
10.一种用于优化标记语言文本的设备,其中,该设备包括:
文本获取装置,用于获取待处理的标记语言文本;
词法分析装置,用于基于对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得与所述标记语言文本相对应的一个或多个单词序列,其中,所述单词序列是指根据词法分析对所述标记语言文本进行划分的最小单位;
优化装置,用于对所述单词序列进行优化处理,以获得与所述单词序列相对应的优化单词序列;
优化文本获取装置,用于将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
11.根据权利要求10所述的设备,其中,所述词法分析装置还用于对所述标记语言文本进行词法分析,获得所述单词序列及与所述单词序列相对应的单词序列类型;
其中,所述优化装置还用于根据所述单词序列类型,对所述单词序列进行优化处理,以获得所述优化单词序列。
12.根据权利要求11所述的设备,其中,所述优化装置还用于根据所述单词序列类型,结合用户相关信息,对所述单词序列进行优化处理,以获得所述优化单词序列。
13.根据权利要求12所述的设备,其中,所述用户相关信息包括以下至少任一项:
-用户偏好设置;
-用户浏览器信息。
14.根据权利要求11至13中任一项所述的设备,其中,所述单词序列类型包括以下至少任一项:
-开始标签;
-结束标签;
-纯文本。
15.根据权利要求10所述的设备,其中,所述词法分析装置还用于基于根据预置分析规则对所述标记语言文本的词法分析,对所述标记语言文本进行分词处理,以获得所述一个或多个单词序列。
16.根据权利要求15所述的设备,其中,所述预置分析规则基于以下至少任一项对所述标记语言文本进行词法分析:
-所述标记语言的标签信息;
-用户自定义标签信息。
17.根据权利要求10所述的设备,其中,该优化文本获取装置还用于根据所述优化单词序列所对应的所述单词序列在所述标记语言文本中的位序,将所述优化单词序列进行合并,以获得与所述标记语言文本相对应的标记语言优化文本。
18.根据权利要求17所述的设备,其中,所述文本获取装置还用于获取与用户通过用户设备提交的访问请求相对应的所述标记语言文本;
其中,该设备还包括:
提供装置,用于将所述标记语言优化文本提供给所述用户设备。
CN201110193378.4A 2011-07-11 2011-07-11 一种计算机实现的用于优化标记语言文本的方法与设备 Active CN102880606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110193378.4A CN102880606B (zh) 2011-07-11 2011-07-11 一种计算机实现的用于优化标记语言文本的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110193378.4A CN102880606B (zh) 2011-07-11 2011-07-11 一种计算机实现的用于优化标记语言文本的方法与设备

Publications (2)

Publication Number Publication Date
CN102880606A CN102880606A (zh) 2013-01-16
CN102880606B true CN102880606B (zh) 2017-03-15

Family

ID=47481935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110193378.4A Active CN102880606B (zh) 2011-07-11 2011-07-11 一种计算机实现的用于优化标记语言文本的方法与设备

Country Status (1)

Country Link
CN (1) CN102880606B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021174249A1 (en) * 2020-02-25 2021-09-02 Transposit Corporation Markdown data content with action binding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655629A (zh) * 1996-09-16 2005-08-17 诺基亚电信公司 移动通信网络中的数据服务
CN101192217A (zh) * 2006-11-28 2008-06-04 阿里巴巴公司 消除超文本标记语言中有害代码的方法
CN101216842A (zh) * 2008-01-07 2008-07-09 华为技术有限公司 获取页面关键词的方法及页面信息处理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1655629A (zh) * 1996-09-16 2005-08-17 诺基亚电信公司 移动通信网络中的数据服务
CN101192217A (zh) * 2006-11-28 2008-06-04 阿里巴巴公司 消除超文本标记语言中有害代码的方法
CN101216842A (zh) * 2008-01-07 2008-07-09 华为技术有限公司 获取页面关键词的方法及页面信息处理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web文本挖掘中的一种中文分词算法研究及其实现;苏芳仲等;《福州大学学报(自然科学版)》;第67-71页;20041231;第32卷;第67-71页 *

Also Published As

Publication number Publication date
CN102880606A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
US7770107B2 (en) Methods and systems for extracting and processing translatable and transformable data from XSL files
CN102200971B (zh) 一种实现网页内容预览的方法和设备
CN102065572B (zh) 移动浏览器、网关、浏览系统及互联网页面访问方法
CN109408783A (zh) 电子文档在线编辑方法及系统
WO2019024755A1 (zh) 网页信息提取方法、装置、系统及电子设备
CN103166981B (zh) 一种无线网页转码方法及装置
US9563611B2 (en) Merging web page style addresses
CN107391675A (zh) 用于生成结构化信息的方法和装置
CN108804469B (zh) 一种网页识别方法以及电子设备
CN107958078A (zh) 信息生成方法和装置
JP6866551B2 (ja) 数式処理方法、装置、デバイス及びプログラム
CN112257472B (zh) 一种文本翻译模型的训练方法、文本翻译的方法及装置
CN110020312B (zh) 提取网页正文的方法和装置
CN102314494B (zh) 一种用于处理网页内容的方法和设备
WO2014154033A1 (en) Method and apparatus for extracting web page content
CN111552704A (zh) 一种数据报表生成方法、装置、计算机设备及存储介质
CN107590288B (zh) 用于抽取网页图文块的方法和装置
CN105740355B (zh) 基于聚集文本密度的网页正文提取方法及装置
CN104090920A (zh) 一种实现数字内容跨终端出版的系统
CN116468009A (zh) 文章生成方法、装置、电子设备和存储介质
CN102768663A (zh) 一种网页标题的提取方法、装置及信息处理系统
CN104572874B (zh) 一种网页信息的抽取方法及装置
CN102880606B (zh) 一种计算机实现的用于优化标记语言文本的方法与设备
US10261979B2 (en) Method and apparatus for rendering a screen-representation of an electronic document
CN108664511B (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
C14 Grant of patent or utility model
GR01 Patent grant