对网页切片算法问题的研究
来源:双金属温度计 发布时间:2008-06-05 12:41:00
最近在研究网页的切片算法,很可能很多人不知道什么是切片算法,其实这是一种面向搜索引擎的网页分块、切片的原理,目前随着工作的深入,逐渐碰到了各种问题,具体有以下几个方面。
网页切片的粒度问题:
网页切片算法的目的不是精确找到所需要的内容,而是识别划分网页的各种功能区域,导航区,链接区,内容,页脚区和广告区等。
网页切片的网页对象:
互连网纱功能的网页大概有2种类型,目录型和内容型;随着搜索引擎的发展,网站结构逐渐向扁平化的方向发展,对此也做出了数据验证,而且随着显示器分辨率的不断提高,内容和目录结合型的网页呈增加趋势。
网页切片算法的对象应该是针对:内容型和内容目录混合型。对不同网页,应该有个识别算法,应该包括哪些标准?
网页内容区最大范围识别:
从切片的粒度可以看出,应该把内容区作为一个部分单独切出来。根据一般的网页设计规律,一般有2种容纳内容区的方式:1、包含型(如blog ) 2、并列型(如bbs帖子)。
如果处理分页的内容型网页:
现在大多数网站为了改善用户体验和增加页面展示次数的需要,对网页做了分页处理,这部分需要设别出来。无意间看到了:VIPS:基于视觉的Web页面分页算法 ,从理论上证明了这种方法的可行性。可是实现起来有很多障碍,正如这位所说的:我那天用浮动的 用绝对位置定位代替相对定位,并且在客户端的JavaScript中动态排列。客户端的对象用脚本动态生成插入。这样的算法太依赖于具体实现了,很难有好的解决办法。况且,现在依赖客户端脚本展现动态表现力慢慢开始流行,这个算法很难适应未来的潮流。
就拿最简单的,我有一个类似于OutLook工具条的页面风格,都是脚本生成的,视觉分析只能落脚到视觉上,只能对页面的静态画面作分析才能得到正确的条块分割,分割条块是容易的简单算法就能做到,但是要把这些内容归结到分割到的条块是难的。好的办法只有一个,模拟鼠标击键,击键处的对象返回响应,这在IE能够实现的。这样才能取得分割好条块后的对象归属。
视觉依靠画面分割条块,很简单,对空白进行膨胀-缩小算法,这样留白就能逐渐清晰出来,文字就模糊了。然后作模糊处理,然后用一个亮度阈值把图片转换成二值图,然后作一个矢量化处理,留下线条。归结到90度和0度上去,得到一个条块分割的矢量图。然后,每一块中按照密度用鼠标点击模拟获得对象!这样就可以完成了条块归纳了。
对内容区的分析是个难点,鉴于我自己的需要,只要找到最大的内容区就可以了。
这段时间对算法的一个体会就是,算法就是解决特定问题的方法。教科书上的算法大都是最一般性,常用性的方法的说明。
最后,套句俗话,能解决实际问题的方法就是好方法。但能把我们解决的问题用数学模型表达出来仍是一个不断提高算法水平的基本要求。
猜你喜欢
- MySQL是一个真正的多用户、多线程SQL数据库服务器。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mys
- 阅读上一篇:交互设计模式(二)-Pagination(分页,标记页数) Tagging(标签)问题摘要用户往往想通过流行或最详尽的主题来浏览
- 缓动,学名为Tween,缓冲移动的简称。要想页面内容切换起来舒服,就使用淡入淡出特效,要想让页面元素动起来自然,就要使用缓动效果。这两个混合
- Index.asp:程序代码<html><head><meta http-equiv="Conten
- 如今大部分网站仍然采用表格嵌套内容的方式来制作网站,虽然此方法对于我们来说比较熟悉、比较上手;但是,它却阻碍了一种更好的、更有亲和力的、更灵
- 在附加数据库后查看不了数据库关系图,也无法建立数据库关系图 我的解决方法如下: 1、设置兼容级别为90(2005为90)(2000为80)
- 函数名:chk_Email()'返回值:布尔值(True为通过,False为未通过)'参数:email(需要判断的email
- MySQL是一个非常流行的小型关 系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的
- 我从11岁开始编程,并且一直都很喜欢技术和编程。这些是我一直以来获得的经验教训。作为一个程序员,你可能需要这样的忠告。我更希望每个人在获取这
- SQL Server 2000安装问题集锦1、先把SQL Server卸载(卸载不掉也没有关系,继续下面的操作)2、把Microsoft S
- 受<! #include file="filename.asp" --> 宏限制必须存在该文件并且会预先编译
- 最近我因为要安装 Firebug 1.4 导致我不得不安装了 Firefox 3.5 ,所以很不小心地接触到了Wordpress后台那漂亮的
- 在Google Reader上看到网友分享的一个链接,真的发现自己已经out了。上面的这张图,是纯CSS实现的,没有背景图、没有Javasc
- 1**:请求收到,继续处理2**:操作成功收到,分析、接受3**:完成此请求必须进一步处理4**:请求包含一个错误语法或不能完成5**:服务
- 我们这里所说的head区域,是指页页html代码的<head>和</head>之间的内容。在以前的文章中,主要介绍了
- 第一章:日志管理 1.forcing log switchessql> alter system switch logfile;2.f
- int connectDb() { EXEC SQL BEGIN DECLARE SECTION; char username[20]; c
- ASP 能快速执行你的 * 页,但你还可以通过紧缩代码和数据库连接以使它们执行更快。这是一篇关于怎样精简代码和Asp 特征以获得最快执行速度
- 介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。 摘 要
- 我的PJBlog在从2.7升级的3.0的时候,犹豫了很久。升级到PJBlog3.0就是看中了新增的静态页面功能,但是同时又担心造成博客出现大