网页文本高亮显示方法及系统技术方案

技术编号:7974936 阅读:249 留言:0更新日期:2012-11-15 23:10
本发明专利技术公开了一种文本高亮显示系统,涉及文本搜索技术领域,包括:文本获取模块,适于获取关键词序列,选取需要标识关键词的网页文本;查找标记模块,适于在所述网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串;高亮显示模块,适于在所述网页文本中高亮显示被标记的子串。本发明专利技术还公开了一种文本高亮显示方法。本发明专利技术的文本高亮显示系统及方法避免了现有技术中不能进行正常分词时就无法实现文本高亮的问题。

【技术实现步骤摘要】

本专利技术涉及文本捜索
,特别涉及一种网页文本高亮显示方法及系统
技术介绍
传统的文本高亮的做法一般是完全匹配和基于分词查找的方法。完全匹配是用户输入的关键词序列在网页文本中查找与关键词序列完全相同的文本串,井高亮显示。若网页文本中不存在与关键词序列完全相同的文本串,则无法高亮显示,即使网页文本存在关键词序列的某些子串(子串可以是关键词序列的一部分或全部),这些子串也能反映用户想要查找的内容,也不会将子串高亮显示,这对用户输入关键词序列的准确性要求较高,用户体验不好。分词方法主要分为两种基于规则的分词方法和基于统计的分词方法。基于规则 的分词方法的缺点在于无法有效地解决歧义切分和未登录词识别的问题。统计方法的缺点在于计算复杂性太高,导致切分效率降低,再加上受制于有限的训练语料库,分词精度提升比较困难。因此,基于分词的文本高亮算法最大的依赖是分词词典的优劣,对于ー个新词,在词典更新之前,是不能进行正常分词,就无法实现文本高亮。
技术实现思路
本专利技术要解决的技术问题是现有的基于分词的高亮显示方法中不能进行正常分词时就无法实现文本高亮的问题。为解决上述技术问题,本专利技术提供了一种网页文本高亮显示系统,包括文本获取模块,适于获取关键词序列,选取需要标识关键词的网页文本;查找标记模块,适于在所述网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串;闻売显不ネ旲块,适于在所述网页文本中闻売显不被标记的子串。其中,查找标记模块包括矩阵建立模块,适于分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ;矩阵初始化模块,适于初始化所述矩阵,若所述网页文本的第i个字符与所述关键词序列的第j个字符相同,则矩阵中的元素M[i] [j]=l,否则为0 ;子串标记模块,适于遍历所述矩阵的每个元素,标记元素为I的字符在所述网页文本中的位置。其中,所述子串标记模块还适于遍历所述矩阵时,分别从每个第一行和第一列的元素开始,沿矩阵中对角线方向遍历所述矩阵的元素,当连续为I的元素个数为k,k大于等于2,则只标记元素连续为I的位置对应的长度为k的子串在所述网页文本中的位置。其中,所述子串标记模块还适于在遍历所述矩阵时,沿矩阵对角线方向元素连续为I的个数n大于等于预定阈值吋,则只标记矩阵中n个连续I的位置对应的长度为n的子串在所述网页文本中的位置。其中,查找标记模块包括矩阵建立模块,适于分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ;矩阵初始化模块,适于初始化所述矩阵,判断所述网页文本的第i个字符与所述关键词序列的第j个字符是否相同,若相同,则判断元素M[i-l][j-l]的值m是否为0,若不为0,则矩阵中的元素M[i] [j]=m+l,否则M[i] [j]=0 ;子串标记模块,适于遍历所述矩阵的每个元素,标记元素不为0的字符在所述网页文本中的位置。其中,所述子串标记模块还适于遍历所述矩阵时,分别从每个第一行和第一列的元素开始,沿矩阵对角线方向遍历所述矩阵的元素,当连续不为0的元素个数为k,k大于等 于2,则只标记元素连续不为0的位置对应的长度为k的字串在所述网页文本中的位置。其中,所述子串标记模块还适于在遍历所述矩阵时,元素值p大于等于预定阈值吋,则只标记从该元素起沿对角线方向的反方向长度为P的子串在所述网页文本中的位置。其中,还包括西文字符处理模块,适于所述关键词序列包括英文或数字吋,以非英文或数字字符为边界,将所述英文或数字作为ー个字符处理。本专利技术还提供了一种网页文本高亮显示方法,包括以下步骤获取关键词序列,选取需要标识关键词的网页文本;在所述网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串;在所述网页文本中高亮显示被标记的子串。其中,所述在网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串的步骤具体包括分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ;初始化所述矩阵,若所述网页文本的第i个字符与所述关键词序列的j个字符相同,则矩阵中的元素M[i] [j]=l,否则为0 ;遍历所述矩阵的每个元素,标记元素为I的字符在所述网页文本中的位置。其中,遍历所述矩阵时,分别从每个第一行和第一列的元素开始,沿矩阵中对角线方向遍历所述矩阵的元素,当连续为I的元素个数为k,k大于等于2,则只标记元素连续为I的位置对应的长度为k的子串在所述网页文本中的位置。其中,在遍历所述矩阵时,沿矩阵对角线方向元素连续为I的个数n大于等于预定阈值时,则只标记矩阵中n个连续I的位置对应的长度为n的子串在所述网页文本中的位置。其中,所述在网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串的步骤具体包括分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ;初始化所述矩阵,判断所述网页文本的第i个字符与所述关键词序列的第j个字符是否相同,若相同,则判断元素M[i — l][j 一 I]的值m是否为0,若不为0,则矩阵中的元素 M[i] [j]=m+l,否则 M[i] [j]=0 ;遍历所述矩阵的每个元素,标记元素不为0的字符在所述网页文本中的位置。其中,遍历所述矩阵吋,分别从每个第一行和第一列的元素开始,沿矩阵对角线方向遍历所述矩阵的元素,当连续不为0的元素个数为k,k大于等于2,则只标记元素连续不为0的位置对应的长度为k的字串在所述网页文本中的位置。其中,在遍历所述矩阵吋,元素值p大于等于预定阈值吋,则只标记从该元素起沿对角线方向的反方向长度为P的子串在所述网页文本中的位置。其中,预定阈值大于等于2。其中,所述关键词序列包括英文或数字时,以非英文或数字字符为边界,将所述英文或数字作为ー个字符处理。本专利技术的网页文本高亮显示方法实现了网页文本的高亮显示,尤其是基于最大公共子串(Longest Common Subsequence, LCS)的高亮显示方法采用非完全匹配策略,无需分词即可实现网页文本的高亮显示,避免了传统方法中不能进行正常分词时就无法实现网页文本高亮的问题。附图说明图I是本专利技术实施例的一种网页文本高亮显示方法流程图;图2是图I中步骤S200中ー种矩阵构造示意图;图3是图I中步骤S200中另ー种矩阵构造示意图;图4是采用图I中方法进行高亮显示的效果图;图5是本专利技术实施例的一种网页文本高亮显示系统结构图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进ー步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图I所示,本实施例的网页文本高亮显示方法包括步骤S100,获取关键词序列,选取需要标识关键词的网页文本。在文本搜索应用领域中,网页文本通常是当前窗ロ显示的文本,如一篇文档或网页中的文章。关键词序列是用户关心的主题词,通常通过编辑窗ロ由用户输入。步骤S200,在网页文本中查找并标记关键词序列的子串。本实施例中米用基于最大公共子串LCS的方式查找关键词序列的子串。LCS的解决方案包括递归求解、动态规划、普通的两重循环及矩阵的方式,本实施例中采用矩阵的方式查找关键词序列的子串,具体步骤包括分别以网页文本的长度和关键词序列的长度为行数和列数建立矩阵M (当然也可以是网页文本的长度为列,关键词本文档来自技高网...

【技术保护点】
一种网页文本高亮显示系统,其特征在于,包括:文本获取模块,适于获取关键词序列,选取需要标识关键词的网页文本;查找标记模块,适于在所述网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串;高亮显示模块,适于在所述网页文本中高亮显示被标记的子串。

【技术特征摘要】
1.一种网页文本高亮显示系统,其特征在于,包括 文本获取模块,适于获取关键词序列,选取需要标识关键词的网页文本; 查找标记模块,适于在所述网页文本中采用基于最大公共子串的方式查找并标记所述关键词序列的子串; 闻売显不I旲块,适于在所述网页文本中闻売显不被标记的子串。2.如权利要求I所述的网页文本高亮显示系统,其特征在干,查找标记模块包括 矩阵建立模块,适于分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ; 矩阵初始化模块,适于初始化所述矩阵,若所述网页文本的第i个字符与所述关键词序列的第j个字符相同,则矩阵中的元素M[i] [j]=l,否则为O ; 子串标记模块,适于遍历所述矩阵的每个元素,标记元素为I的字符在所述网页文本中的位置。3.如权利要求2所述的网页文本高亮显示系统,其特征在于,所述子串标记模块还适于遍历所述矩阵时,分别从每个第一行和第一列的元素开始,沿矩阵中对角线方向遍历所述矩阵的元素,当连续为I的元素个数为k,k大于等于2,则只标记元素连续为I的位置对应的长度为k的子串在所述网页文本中的位置。4.如权利要求3所述的网页文本高亮显示系统,其特征在于,所述子串标记模块还适于在遍历所述矩阵时,沿矩阵对角线方向元素连续为I的个数n大于等于预定阈值时,则只标记矩阵中n个连续I的位置对应的长度为n的子串在所述网页文本中的位置。5.如权利要求I所述的网页文本高亮显示系统,其特征在干,查找标记模块包括 矩阵建立模块,适于分别以所述网页文本的长度和所述关键词序列的长度为行数和列数建立矩阵M ; 矩阵初始化模块,适于初始化所述矩阵,判断所述网页文本的第i个字符与所述关键词序列的第j个字符是否相同,若相同,则判断元素M[i — I] [j 一 I]的值m是否为O,若不为O,则矩阵中的元素M[i] [j]=m+l,否则M[i] [j]=0 ; 子串标记模块,适于遍历所述矩阵的每个元素,标记元素不为O的字符在所述网页文本中的位置。6.如权利要求5所述的网页文本高亮显示系统,其特征在于,所述子串标记模块还适于遍历所述矩阵时,分别从每个第一行和第一列的元素开始,沿矩阵对角线方向遍历所述矩阵的元素,当连续不为O的元素个数为k,k大于等于2,则只标记元素连续不为O的位置对应的长度为k的字串在所述网页文本中的位置。7.如权利要求6所述的网页文本高亮显示系统,其特征在于,所述子串标记模块还适于在遍历所述矩阵吋,元素值P大于等于预定阈值吋,则只标记从该元素起沿对角线方向的反方向长度为P的子串在所述网页文本中的位置。8.如权利要求f7中任一项所述的网页文本高亮显示系统,其特征在于,还包括西文字符处理模块,适于所述关键词序列包括英文或数字时,以非英文或数字字符为边界,将所述英文或数字作...

【专利技术属性】
技术研发人员:刘付强
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1