页面结构(精选7篇)
页面结构 篇1
0 引言
随着数码设备的发展和普及, 人们已越来越习惯于在手机、平板和电脑等电子设备上阅读书籍, 未来对电子书籍会有很大的需求。为了自动地实现纸质图书的数字化, 作者所在实验室已研发了一套自动翻页扫描的设备[1,2,3], 它以使用数码相机拍摄书籍页面的方式进行书籍扫描。然而, 直接拍摄装订成册的书籍所得到的页面图像会带有不同程度的扭曲形变。若直接将这些页面装订成电子书籍, 则不仅会影响影响美观或视觉效果, 而且会给其深层处理, 如OCR字符识别, 造成困难, 因此对拍摄得到的页面图像进行一定的校正处理是非常有必要的。
现有针对页面扭曲的校正方法大致分为以下三类:1) 基于内容分割的校正方法[4,5], 此类方法将页面图像中的单词进行分割, 分别对每个词进行倾斜校正以达到整体校正的目的, 因而计算量较大, 而且不能应对扭曲页面中字符的拉伸形变。2) 基于三维技术的页面校正方法[6,7,8], 因为扭曲页面校正本质上是将一个三维曲面展开成一个平面的问题, 所以三维技术理论上可以很好地解决这个问题。然而由于涉及到的设备系统较为复杂, 因此在实际应用中并没有优势。3) 基于模型的校正方法[9], 该方法将展开的书页曲面近似为一个柱面, 通过提取页面图像中的两条文字行曲线, 建立柱面模型进行页面校正。由于巧妙地利用了书籍页面的几何特性, 在计算量不大的情况下就可以得到近似三维校正的效果。然而, 基于柱面模型的方法也存在一些不足。其一, 它要求拍摄时像平面Y轴与柱面母线相平行, 很大一部分扭曲页面并不满足这个条件;其二, 由于需从页面图像中提取文字行点集并拟合出文字行曲线, 当没有较完整文字行时 (含较多插图、数学公式的页面, 分栏排版的页面等) , 该方法就不再适用;其三, 当拟合曲线无法很好地吻合文字行时, 校正效果将会不太理想。针对以上不足, 本文在采用柱面模型的基础上, 提出了一系列改进的方法:对待校正页面进行图像转正预处理, 使之满足算法要求;利用无需标定的结构光设备辅助提取页面中的文字行点集, 使算法能用于不同类型的页面;采用结合图像梯度信息的二值化方法去除页面的灰色背景, 使页面文字更为清晰;最后利用提取得到的文字行点集构建柱面模型进行页面校正, 避免了曲线拟合不完全时页面校正的缺陷。
1 柱面校正模型
文献[9]将展开的书籍页面近似为一个柱面, 通过提取页面图像中的任意两条文字行曲线, 即可建立柱面模型用于校正。图1为书籍页面在相机像平面上的成像示意图。
对于图1中宽度为W的扭曲页面图像, 可任意提取两条文字行曲线D1 (x) 、D2 (x) , x∈[0, W], 并假定D1 (x) 位于D2 (x) 上方。根据页面柱面模型, 校正后像素横坐标xnew与校正前像素横坐标xold具有如下映射关系U[9]:
其中:
式 (2) 中l为像素宽度, f为相机焦距。
最终用于页面校正的像素点逆映射关系如下[9]:
其中y1、y2分别为曲线D1 (x) 、D2 (x) 在x=0处的值。
2 结构光设备
结构光设备主要由两个线激光源构成, 可射出两道平行的红色激光直线。光线照射于页面的上下两端, 从而不干扰页面内容的正常拍摄。每个光源照射所成的光平面都与页面排版对齐线相垂直, 因而页面中的光照曲线可近似代表“文字行”。如图2所示。
3 结构光辅助的页面校正方法
3.1 图像转正预处理
基于柱面模型的校正方法要求像平面Y轴与柱面母线相平行, 即拍摄得到的页面图像中, 文本的左侧或右侧排版对齐线与图像Y轴平行。实际拍摄的图像往往不能满足这个条件, 为保证算法的有效性, 需在页面校正之前对图像进行转正操作, 确保页面排版对齐线与图像Y轴平行。为此, 先提取页面图像中文本的一系列左侧端点, 由此拟合得到左侧排版对齐线, 再根据对齐线与图像Y轴所成夹角对图像进行转正操作。
由于文本缩进等因素的存在, 为避免引入较大误差, 左侧端点提取过程中应将一部分伪端点剔除, 剔除方法如下:从上至下扫描左侧端点并存入端点列表。得到一个左侧端点, 其横坐标为xcur, 与之相邻的前一个端点的横坐标为xpre, 若xpre-xcur>Ttab (Ttab为文本缩进像素点数, 实验中取20) , 则判定该前一个端点为缩进点, 将其从列表中剔除。依次迭代向前比较, 直到不满足阈值判定条件或端点列表中仅存当前端点为止。以上端点剔除方法并不能保证端点列表末尾不含伪端点, 实验中只取列表中前90%的端点用于拟合对齐线。
页面左端对齐线与图像Y轴所成夹角较小, 为避免斜率无穷大的情况, 采用如下形式的直线方程对点集进行最小二乘拟合:
其中t为斜率, b为图像X轴上的截距。
根据直线方程式 (4) , 可确定页面图像所应旋转的角度为θ=arctan (t) 。旋转操作会降低图像质量, 为了尽可能地保证图像质量, 不对后续操作产生影响, 转正操作时可对像素点进行双线性插值[10]。图像转正操作的效果如图3所示。
3.2 光照曲线提取
对转正后的页面图像在R颜色通道上进行阈值化处理, 即可得到只含两条黑色曲线带的图像。为了去除曲线带上的毛刺, 使最终提取的曲线更加光滑, 首先应对曲线带图像进行膨胀操作, 膨胀掩膜可设为3×3。进一步, 对两条曲线带分别在图像Y轴方向上求取中点, 用一系列中点来描述对应的曲线。求取中点集的方法如下: (1) 由图像左上顶点沿Y轴向下扫描, 若找到长度L≥6的黑色连续区域, 即视为曲线带的初始位置, 记录下此区域的中点, 可称之为种子点。 (2) 从种子点出发, 沿图像X轴正方向扫描。初始设定下一个中点Y轴坐标与种子点相同 (为保证此点在曲线带区域内) , 而后分别沿Y轴的正负方向搜索曲线带的边界, 进而计算更新正确的中点坐标, 把新得到的中点作为“种子点”, 继续沿X轴扫描, 直到获得该曲线带上的所有中点。
3.3 页面背景去除
相机拍摄的页面图像含有灰色背景, 如不对其进行消除, 则不仅影响美观, 也会降低OCR识别的正确率。灰色背景去除可以使用图像二值化操作, 根据阈值选取方法的不同又可以分为全局阈值法 (如OSTU法) 和局部阈值法 (如Niblack法) [11]。在全局阈值法中, 整幅图像只使用一个全局的阈值, 计算量小, 但它不适用于光照变化的情况。局部阈值法为每个像素点都计算阈值, 它可以适应光照变化的情况, 但需要大量的计算。
在扭曲页面中, 不同区域的光照变化较为明显, 使用全局阈值OSTU方法得到的结果并不理想。而在页面整体较暗的情况下, 使用局部阈值Niblack方法虽能较好的提取文字细节, 但并不能很好地去除页面的灰色背景。考虑在页面图像中, 文本像素所占比率较小, 可只在文本像素周围计算局部阈值, 而在剩下的大部分区域中使用全局阈值, 这样既能很大程度上提高二值化操作的效率, 又能提取到清晰的文字。文本区域可由图像梯度确定, 因为图像梯度的变化在文本像素周围相对于其它区域更为剧烈。基于以上考量, 可采用一种结合全局阈值和局部阈值, 并利用图像梯度信息的阈值化算法来去除页面的灰色背景, 具体步骤如下:
(1) 首先利用OSTU算法计算一个全局阈值TOSTU。
(2) 遍历所有像素, 若像素点的灰度值大于Thigh, 则认为其为背景点;若灰度值小于Tlow, 认为其为文本点;若介于二者之间, 则跳转步骤 (3) 。
(3) 用Canny算子计算该像素的图像梯度, 如果梯度模值大于Tgradient (实验取100) , 则用Niblack算法 (计算窗口取7×7) 对该点所在3×3窗口内未经计算阈值的像素点计算局部阈值;如若不然, 则将该点视为背景点。
上述步骤 (2) 中, Thigh=TOSTU+Δ (TOSTU, α) , Tlow=TOSTU-Δ (TOSTU, β) , 其中ΔT (TOSTU, α) 和ΔT (TOSTU, β) 是由全局阈值TOSTU和两个0~100%的比率α、β所确定的梯度偏差。全局阈值将0~255的灰度范围划分为两个区域。ΔT (TOSTU, α) 代表高灰度值区域中的一个最小区间长度, 该区间起始于TOSTU, 并满足该区间内的像素点数占高灰度值区域中总像素数的比率大于等于α。相对应的, 可以得到ΔT (TOSTU, β) 的定义。
调整ΔT (TOSTU, α) 可用于适应局部强光照, 实验中取α=10%可对绝大多数强光照有很好的效果。调整ΔT (TOSTU, β) 可以应对局部弱光照的情况, 与α取值不同的是, 在不同的不均匀光照条件下, β的变化范围较大。为了自适应地确定一个较优的β值, 可初始设定β为10%, 而后进行二值化处理, 完成后用4×4的掩膜扫描图像, 若存在4×4的全黑区域, 则说明β取值不够大, 将β增加5%, 重新进行二值化操作;否则说明参数β已较为优化。计算得到的ΔT (TOSTU, α) 和ΔT (TOSTU, β) 可用于相同光照下的图像二值化处理。二值化操作的实验结果如图4所示。
3.4 点集建模校正
当页面的扭曲形变较为严重时, 低次曲线将不能很好地拟合页面文字行曲线, 使用拟合曲线建立柱面模型的校正结果会出现缺陷。提高拟合曲线的次数可以解决这个问题, 但是这会很大程度上增加计算量, 并且很难找到一个方法来确定一个最低的有效拟合次数。由于从光照曲线中提取的曲线点集在像素意义上连续, 因而可以直接使用代表两条曲线的点集来构建柱面模型用于校正, 即用点集所构成的折线来近似曲线。为了消除曲线点在图像Y轴上的微小波动, 避免引入校正误差, 在建立模型之前需要对这些点的Y轴坐标值进行如下的平滑处理:
式 (1) 中, xnew与xold的映射关系U将变为如下形式:
最终页面图像校正的像素点逆映射关系式与式 (3) 相同。根据式 (6) 求取xnew坐标的核心代码如下:
图5是在拟合不完全时分别使用拟合曲线和曲线点集建立柱面模型进行校正的结果。
4 实验
4.1 实验内容
实验中分别对10张带有倾斜的中文扭曲页面和英文扭曲页面进行了校正。页面图像采集使用的是佳能550D相机, 其CCD尺寸为22.3×14.9 mm, 拍摄图片的分辨率为2304×3456。实验用PC机的处理器为T5400 1.6 GHz, 内存为2 GB。编程开发环境为Visual Studio2010。部分扭曲页面的校正效果如图6所示。
为了比较采用拟合曲线建模校正和使用曲线点集建模校正两种方法在效率上的差异, 实验中对这两种方法的执行时间进行了测试。为了表述的简便, 下文分别称两种方法为拟合法和点集法, 测试时拟合法中采用的曲线拟合次数为三次。执行时间比较如表1所示。
此外, 实验中分别使用MS Office2007自带的OCR工具和开源tesseract OCR引擎对校正后的中英文页面进行了字符识别, 以此对页面校正的效果做一个较为客观的评价。其中未校正组的页面为经过转正操作的图像, 因为当存在图像倾斜时, 如不经过转正处理, 则OCR的识别率会非常低。具体的测试结果如表2所示。
4.2 结果分析
根据表1的结果, 点集法由于省去了曲线拟合的步骤, 校正效率相比原先的方法提高了四分之一, 并没有很大的提升。这是因为点集法实质上是用折线来进行页面校正, 相比于用光滑的曲线, 校正后的页面展开幅度会大一些, 这会给点集法增加一定的计算量, 使其在算法效率上的提升并不如预期明显。
从表2中页面图像的OCR处理结果可以看出, 在不同OCR工具、不同的页面类别情况下, 经点集法校正的页面与未经校正的页面相比, 文字识别率有了3.3%至12%的提升, 总体来说点集法对OCR识别率的提升是较为明显的。
5 结语
本文在文献[9]的基础上, 利用向书籍页面照射结构光线, 改进了页面校正所需曲线的提取方法。对带有倾斜的页面进行了转正操作, 使得本文的方法可以适用于更广泛的页面扭曲的情形。在图像灰色背景去除的操作上, 提出了一种利用图像梯度信息、全局阈值与局部阈值相结合的阈值化方法, 很好地兼顾了算法效率和二值化处理的效果。在页面校正环节, 采用曲线点集直接建立柱面模型进行校正, 避免了因曲线拟合不完全造成的校正缺陷。最终实验表明, 改进的页面校正方法能显著地提高扭曲页面的OCR识别率, 并且得到清晰的校正页面。然而在校正环节中, 此方法本质上是利用折线代替曲线进行页面校正, 当页面图像的分辨率较低时, 折线将不能很好地代表曲线, 因而会使得校正效果变差, 这也将是作者下一步对此方法的改进方向。
参考文献
[1]唐矫燕, 赵群飞, 杨汝清, 等.读书机器人机构设计[J].上海交通大学学报, 2005, 39 (12) :2025-2028.
[2]赵群飞, 唐矫燕, 吴心然, 等.读书机器人Read robots:中国, 1269057[P].2006-08-09.
[3]冶建科, 赵群飞, 周毅, 等.一种自动翻页扫描机器人的研制[J].机器人技术与应用, 2009 (1) :27-30.
[4]Gatos B, Pratikakis I, Ntirogiannis K.Segmentation based recovery of arbitrarily warped document images[C]//Document Analysis and Recognition, 2007.ICDAR 2007.Ninth International Conference on.IEEE, 2007, 2:989-993.
[5]宋丽丽, 吴亚东, 孙波.改进的文档图像扭曲校正方法[J].计算机工程, 2011, 37 (1) :204-206.
[6]Brown M S, Seales W B.Document restoration using 3D shape:a general deskewing algorithm for arbitrarily warped documents[C]//Computer Vision, 2001.ICCV 2001.Proceedings.Eighth IEEE International Conference on.IEEE, 2001, 2:367-374.
[7]Brown M S, Seales W B.Image restoration of arbitrarily warped documents[J].Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2004, 26 (10) :1295-1306.
[8]Iketani A, Sato T, Ikeda S, et al.Video mosaicing for curved documents based on structure from motion[C]//Pattern Recognition, 2006.ICPR2006.18th International Conference on.IEEE, 2006, 4:391-396.
[9]Cao H, Ding X, Liu C.Rectifying the bound document image captured by the camera:A model based approach[C]//Document Analysis and Recognition, 2003.Proceedings.Seventh International Conference on.IEEE, 2003:71-75.
[10]Rafael C Gonzalez, Richard E Woods.数字图像处理[M].北京:电子工业出版社, 2011:110-111.
[11]谢国庆, 白莹, 王智文.基于全局迭代阈值和局部分析的护照图像的二值化算法[J].计算机应用与软件, 2009, 26 (11) :118-119.
页面结构 篇2
在Internet电子商务网站中,客户在网站上的每一次点击,作为网站后台的Web服务器都会将这个动作如实地记录在日志中,这为分析用户访问频率、用户访问路径、用户访问目的等信息提供了数据来源。通过分析Web浏览日志,发现用户的访问模式,提取用户的访问兴趣,将得到的各种用户信息进行整合研究,从而生成有效的决策信息,即可为用户提供个性化推荐,同时还能进一步优化网站的拓扑结构。当前数据挖掘技术与Web日志分析已经实现了优质紧密结合。其中,Chen等人在1996年提出了可以将数据挖掘技术应用到Web领域中的思想,并且探讨基于Web事务的Web日志挖掘过程,用以发现用户的访问模式,由此又定义了最向前引用算法MF的概念。Zaiane等人则将Web服务器日志保存为数据立方体(Data Cube),然后对数据立方体进行数据挖掘和联机分析处理(OLAP)。而实现这些算法的前提是从Web日志中探究会话识别,并分离出用户会话,进而提炼出用户访问路径。针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,Web日志中将会呈现非时序的日志记录。基于此,本文提出了一种新的自上而下的用户访问路径收集算法,运行得出用户在一次会话中可能访问的复数目的页面,由此得出全局目的页面访问频度矩阵,该矩阵的数据将可作为实现基于网络结构的推荐系统的核心数据。
1 基于多页面浏览模式的用户访问路径的收集算法
用户访问路径树,指用户通过多页面浏览器访问模式浏览网页形成的网页访问路径。其中定义用户浏览网页的记录集,属性包括会话编号、用户编号、用户访问资源、用户引用页面、以及其他相关信息。具体来说,集合中就是经过数据预处理过程的会话识别后得到的结果记录,其他信息则是根据需要添加的不同信息,比如页面大小,访问时间等等。此外,还需定义树的节点,内容包括用户编号、用户访问资源、孩子集合等。
在对Web日志数据进行去除冗余信息、用户识别、会话识别的预处理后,算法将自上而下地搜索用户会话记录,重点关注了记录中的用户访问资源、引用页面和用户信息等属性。该主题算法的基本思想为:首先从单个会话记录的顶部发起搜索,通常第一条记录为用户访问的初始页面或者是从其他网站跳转过来的页面,此页面就会作为新建用户浏览树的根节点。继续向下展开记录搜索过程,对记录进行分析,考察记录的引用页面,是否为先前已建立的树的节点。如果是,则加入树模型中;如果不是,即以此记录的访问页面为根节点,再建一棵用户浏览路径树。直到将此会话记录全部搜索完毕,算法执行结束。
以图1所示的用户浏览情况为例算法的识别过程如下。
如图1所示,首先搜索第一条记录,把A节点作为用户浏览树的根节点。继续向下搜索记录,搜索到B页面所对应的记录。考察此记录的引用页面,引用页面为A页面,将B页面作为A页面的子节点,继续向下搜索。此后将C页面和D页面也加入到A页面所对应的节点下。
在子节点搜索父节点的过程中,此算法遵从就近搜索原则。具体过程如图2所示。
由图2可知,在搜索到访问E页面的记录时,E记录是从最后添加的D节点开始搜索的,然后搜索C节点,在搜索B节点时发现与记录的引用页面相符合,所以将E页面添加到B的孩子节点中去。在用户有多棵用户浏览树的情况下,搜索情况也与上面相似,先搜索最近生成的用户浏览树。在搜索会话记录的过程中可能会出现重复数据,即在不同的时间访问了相同的资源并且引用页面也相同,可能是用户使用同一种方式,即点击了同一超链接反复访问了同一资源,遇到这样的情况需要合并记录。这一做法的处理实现过程如图3所示。
解析图3可知,如果在搜索会话记录过程中,搜索到了第2个关于D页面的记录,向上搜索父节点的过程中遇到了一个与自己相同的页面,需考察此页面的父节点,如果与自身的引用页面相同则合并记录。
综上可得,整个算法实现流程如图4所示。
实验数据是某商业网站日志中分离出来的711个用户,使用一般用户访问路径识别算法,最终获得了1 352个路径,其中的1 076个路径均属长度为2的短路径。而使用本文算法则总共得出839棵用户访问路径树,此时可标识为2个节点的树却仅有517棵。这一结果说明本算法在收集用户访问路径上,把现有算法中并未收集到的大量短的访问路径均已成功合并到了用户访问路径树上,从而减少了短路径的生成数目。
2 基于用户多页面浏览模式的网络结构推荐系统的实现
2.1 推荐算法实现
基于网络结构的推荐算法并不考虑用户和对象的内容特征,而只是将其视作图结构中的一个个单元节点,算法所利用的信息是用户和对象之间的选择关系。在基于网络结构的推荐系统中通常会构建一个二部分网络,其中用户和对象分别构成2个节点集。定义用户集合U,表示为:U={u1,u2,u3,…,um}。定义对象集合C,表示为:C={c1,c2,c3,…,cn}。通过用户选择对象构成一个m×n的邻接矩阵A={aij}m×n。在该矩阵中如果用户j选择了对象i,则元素aij的值为1,否则该元素的值为0。算法的目的就是对于任意的用户k,对其还未经历选择的所有对象可依照k的浏览行为、兴趣爱好等方面的因素进行打分,预测k关于这些对象的喜爱程度,并将其提供有效排序,最后再将排名前若干位的对象推荐给用户k。
研究假设用户i选择了若干对象,这里可以看成用户将可调度精力或者金钱平均施付于这若干个对象上。在此,给出演示实例如图5所示。
由图5可见,X、Y、Z分别代表3个用户,a、b、c、d则为可供其选择的对象。诸如,用户X选择了对象a、b。在没有预设加权的情况下,说明用户X将自己的资源平均分配到了所选择的2个对象上。综合其他2位用户,最终分配结果可如图6所示。
综上结果可知,此次分配之后每个对象都得到了用户一定量的资源,这取决于选择资源的用户个数以及用户选择的对象个数。研究过程推理得到对象所产生的资源量可以表述为:
式中,aic表示用户i所选择的对象C。并且:
同时,f(xi)表示用户X的资源数。k(xi)代表用户X的度,具体即指用户X选择的商品数量。经过一次资源分配后,每个对象都拥有了各自的资源。研究中,再一次设定对象对用户进行一次反向的资源分配,分配结果如图7所示。
此次分配的目的在于使对象实际拥有的资源需按照用户与对象的选择关系进行再分配。由此即可获知用户一方的资源拥有量。这个过程原理的数学表示为:
将其中的f(yc)进行替换后,由上式可得下式:
上式可以写成:
提出wij得到:
式中,wij就是对象j愿意分配给对象i的资源配额。k(xj)表示对象j的度,意指该对象已由多少用户定制选择,k(yc)表示选择对象c的用户一共选择了多少对象。
如图1所示,呈现了用户和对象之间的选择关系,假设每个用户可供分配的资源数为1。利用式(3),计算得出下面的矩阵:
矩阵中的每个元素代表行元素对象愿意分配给列元素对象的资源量。这样就可得出对象与对象之间的资源配给关系。对于一个初始用户,将其自主选择的对象的初始资源设为1,其余为0。这样就得到一个n维向量f={f1,f2,…,fn}。记这个向量为f,通过资源分配后,最终的资源向量为:
此后,即对用户还未确定选择的对象,按照向量F中对应元素的大小进行排序,值越大表明用户可能对此有更多偏好,因为这些对象在那些已经被选择过的对象当中对其分配的资源的分量最重。最后将排名靠前的若干位对象推荐给目标用户。下面给出进一步解析说明。对于用户X来说,该用户选择了对象a和b,而并未选择对象c和d,在对未选择对象c和d预测评分时参照对象间资源配给矩阵得到对象a和b所在行分别给予对象c和d的资源分配量并将其求和。最终推得对象c的预测评分为5/18,对象d的预测评分为1/6,相较于对象d,对象c可能更受用户X欢迎。
2.2 推荐系统实现
上述用户多页面浏览模式下用户在一次会话中可能浏览多个目的页面。树形访问路径的叶子节点即为用户访问的目的页面。
定义用户的浏览目的页面集合User Ed P(user,uri[]),user表示用户,uri[]为此用户访问的浏览目的页面集合。定义交叉页面访问频度cp Freq(i,j),其中i,j是网页编号,cp Freq代表的是既访问量页面i又访问了页面j的用户频度。
上面交叉页面访问频度的计算方式为:
式中,∏符号为关系代数中投影计算符。特别地,下标L代指判断条件:i页面和j页面同时存在于用户的浏览目的页面集中。为此,构建矩阵如下:
对于矩阵的第i行j列元素,既访问了i页面又访问了j页面的用户访问频度。累加第k行或者k列,得出的访问了2个页面的用户数统计结果,其中这2个页面分别是k页面和所有目的页面集合。
在基于网络结构的推荐算法中,考察用户访问k页面时,系统对应搜索矩阵中的第k行(列),对页面访问频度进行排序,找到数值较大的几位,去掉数值最高的一位。因为其中cp Freq(k,k)必定为此行(列)中数值最大的项。选取上述排名前几位的交叉页面访问频度,并代入如下计算:
式中,cp Gra(k,i)为交叉页面用户访问比重,表征在访问了k页面的用户中还有多少比例人群访问了i页面。实验使用实验数据日志中的6个页面,在数据库中页面编号和对应的Uri资源如表1所示。
以表1作为数据基础设计构建的交叉页面访问频度矩阵如下:
交叉页面用户访问比重矩阵为下:
从数据上可以看出浏览过编号为4 475页面的用户中部分人还浏览了编号为278的页面,这2个页面的交叉页面用户访问比重为0.062,说明这2个页面可能具有一定的关联。对于浏览了编号为278页面的用户根据表1的数据可以证得6 759号、4 475号和2 612号页面的交叉页面用户访问比重分别为0.052、0.010和0.022。如果推荐系统给用户推荐候选页面为2个的情况下,根据计算得出交叉页面用户访问比重的结果,6 759和2 612的推荐比重均高于其他页面,也就是推荐6 759和2 612号页面要更为合适。
3 结束语
针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,本文提出了一种新的自上而下的用户访问路径收集算法。此算法能够收集到的用户访问路径树,合并短路径到用户浏览树上,减少了短路径的综合实际生成。由此得出全局用户浏览目的页面访问频度矩阵,此矩阵的内容作为实现基于网络结构的推荐系统的核心数据,实验表明建立交叉页面访问频度矩阵在实现基于网络结构的推荐上具有可行性。
摘要:针对用户普遍使用的多页面浏览器产生树型结构的浏览路径,Web日志中将会呈现非时序的日志记录。本文提出了一种新的自上而下的用户访问路径收集算法,进而得出的用户在一次会话中可能访问的复数目的页面,由此得出全局目的页面访问频度矩阵,此矩阵的数据作为实现基于网络结构的推荐系统的核心数据。
谈网页页面设计技巧 篇3
一、布局设计
网页中的布局是整个网页制作中最开始的步骤,也是最为关键的一步。网页中的布局决定网页的整体效果,合理的布局可以完美、清晰地组织网页中的文字、图形,给人以紧凑、整洁、美观的感觉。
在本例中,我们首先使用Photoshop设置网页页面的效果图,接着再切图并使用DIV+CSS语言将其做成HTML形式。接下来我们详细说明使用DIV+CSS语言的布局方法。
1、网页页面的每个区域,如页头区、主体区、法律和版权声明等,我们都插入相应的DIV元素,然后,用CSS控制DIV使网页居中显示。在本例中,我们将分为bn,main,cr三个DIV。
2、对于页面中所有的DIV元素,利用CSS控制DIV的位置,我们可以将页面中的DIV视为一个个块状元素。在此应用了“盒模型”的工作原理,“盒模型”是CSS的基础,“盒模型”理论认为:页面上的每个元素都被看做—个矩形,这个矩形由内容、填充(padding)、边框(border)、和边距(margin)构成。对于每部分的间距,以及文字、图片空隙的调整,我们用“盒模型”的工作原理来调整。在网页默认的情况下,元素由上到下依次叠放,当这样的叠放顺序不能满足布局的需要时,就要使用“float(浮动)”属性来改变元素的叠放顺序。元素应用了“float(浮动)”属性,它周围的元素就会靠近、包围元素,这样的影响在有的布局中是多余的,这时,可以用“clear(清除)”属性来阻止这种浮动对后面元素的影响。再复杂的布局也是重复利用这样的技术,大到网页每—部分的叠放,小到文字、图片的排版。
3、在DIV中添加各种网页元素,把文字、图片、动画安排到合适的位置,再把每部分合理地叠放到网页中,这样就完成了网页的布局。
二、主要设计部分
在VS.NET开发环境中,新建index.htm,并创建css文件,命名为main.css,将样式表写在一个独立的文件中。
在index.htm中写入用来声明将会把Internet Explorer 6及以后版本切换到标准兼容模式。
在
中加入
,这表示index.htm可以链接到main.css文件中,可以调用其中的内容。
在index.htm的
中插入如下代码:
对main.css文件的主要设计代码如下:
三、在main的DIV中的各个DIV中插入相应的内容
在导航的DIV中插入相应的内容
图文混搭之后的效果图如下所示:
在这里,我们只给出“最新公告”和“实训实验室”这两块内容。我们还可以在左边的DIV中加入“管理制度”“实训基地”“技能鉴定”三个DIV,在右边的DIV中加入“资料下载”“实训与实习”“高新技术考试”三个DIV。
四、上传测试
本文中的网页已通过测试运行并发布到WEB服务器上测试。上传后运行正常;并在不同分辨率下都能够正常显示。
五、结束语
本文运用了DIV+CSS技术设计的网页使用方便,兼容性好。但是DIV+CSS布局的网页由于需要兼容各种浏览器,也有其不足的地方,主要表现在开发技术高,开发时间长,开发成本高。
参考文献
[1](美)Kynn Bartle.CSS入门经典[M].北京:人民邮电出版社,2007.
[2](加)Zoe Mickley Gillenwate.灵活Web设计[专著][M].北京:机械工业出版社,2009.
[3]郑宁宁.浅析DIV+CSS网页设计技术[J].山东省农业管理干部学院学报,2008.
浅谈网页页面设计技巧 篇4
关键词:DIV+CSS,网页设计
随着互联网与WEB技术的发展, 利用DIV+CSS设计网站的设计方式正逐步成为制作网站的主力军之一, DIV+CSS技术作为制作网页的重要组成部分, 已经成为网页设计中必不可少的要素。本文将详细介绍如何使用DIV+CSS制作一个网页。
1 布局设计
网页中的布局是整个网页制作中最开始的步骤, 也是最为关键的一步。网页中的布局决定网页的整体效果, 合理的布局可以完美、清晰地组织网页中的文字、图形, 给人以紧凑、整洁、美观的感觉。
在本例中, 我们首先使用Photoshop设置网页页面的效果图, 接着再切图并使用DIV+CSS语言将其做成HTML形式。接下来我们详细说明使用DIV+CSS语言的布局方法。
(1) 网页页面的每个区域, 如页头区、主体区、法律和版权声明等, 我们都插入相应的DIV元素, 然后, 用CSS控制DIV使网页居中显示。在本例中, 我们将分为bn, main, cr三个DIV。
(2) 对于页面中所有的DIV元素, 利用CSS控制DIV的位置, 我们可以将页面中的DIV视为一个个块状元素。在此应用了“盒模型”的工作原理, “盒模型”是CSS的基础, “盒模型”理论认为:页面上的每个元素都被看做—个矩形, 这个矩形由内容、填充 (padding) 、边框 (border) 、和边距 (margin) 构成。对于每部分的间距, 以及文字、图片空隙的调整, 我们用“盒模型”的工作原理来调整。在网页默认的情况下, 元素由上到下依次叠放, 当这样的叠放顺序不能满足布局的需要时, 就要使用“float (浮动) ”属性来改变元素的叠放顺序。元素应用了“float (浮动) ”属性, 它周围的元素就会靠近、包围元素, 这样的影响在有的布局中是多余的, 这时, 可以用“clear (清除) ”属性来阻止这种浮动对后面元素的影响。再复杂的布局也是重复利用这样的技术, 大到网页每—部分的叠放, 小到文字、图片的排版。
(3) 在DIV中添加各种网页元素, 把文字、图片、动画安排到合适的位置, 再把每部分合理地叠放到网页中, 这样就完成了网页的布局。
2 主要设计部分
在VS.NET开发环境中, 新建index.htm, 并创建css文件, 命名为main.css, 将样式表写在一个独立的文件中。
在index.htm中写入用来声明将会把Internet Explorer 6及以后版本切换到标准兼容模式。
在
中加入
, 这表示index.htm可以链接到main.css文件中, 可以调用其中的内容。
在index.htm的
中插入如下代码:
对main.css文件的主要设计代码如下:
3 在main的DIV中的各个DIV中插入相应的内容
在导航的DIV中插入相应的内容
同时我们在main.css文件中加入如下代码:
在左边的DIV中插入相应的内容
省职业院校技能大赛
- 关于参加2012年度全国职业院校技能大赛
- 关于开展实训室检查通知
- 实训中心2011-2012下学期课表
- 关于做好2011-2012学年度第一学期实验...
- 关于做好2011-2012学年度第二学期实验...
- 关于做好2011-2012学年度第一学期实验...
- 关于开展实训室期末检查通知
- 关于开展实训室期中检查通知
在mian.css文件中加入如下代码:
在右边的DIV中加入代码:
在右边的main.css中加入代码:
图文混搭之后的效果图如下所示
在这里, 只给出“最新公告”和“实训实验室”这两块内容。还可以在左边的DIV中加入“管理制度”“实训基地”“技能鉴定”三个DIV, 在右边的DIV中加入“资料下载”“实训与实习”“高新技术考试”三个DIV。
4 上传测试
本文中的网页已通过测试运行并发布到WEB服务器上测试。上传后运行正常;并在不同分辨率下都能够正常显示。
5 结束语
本文运用了DIV+CSS技术设计的网页使用方便, 兼容性好。但是DIV+CSS布局的网页由于需要兼容各种浏览器, 也有其不足的地方, 主要表现在开发技术高, 开发时间长, 开发成本高。
参考文献
[1] (美) Kynn Bartle.CSS入门经典[M].北京:人民邮电出版社, 2007.
[2] (加) Zoe Mickley Gillenwate.灵活Web设计[专著][M].北京:机械工业出版社, 2009.
[3]郑宁宁.浅析DIV+CSS网页设计技术[J].山东省农业管理干部学院学报, 2008.
浅谈网站页面色彩的运用 篇5
关键词:网页,色彩,搭配
色彩的搭配是制作网页中的重要一环, 它不仅体现网站的风格, 而且在很大程度上影响到浏览者对网站的第一印象在网页配色中, 合理的网页色彩设计能体现网站风格, 突出主题, 吸引浏览者视线, 加深印象。
一、确定网站色彩主体色调
遵循主从关系, 这是最稳定的处理色彩原则。通常我们形容页面颜色会这样说:榕树下是绿色的。其实红、黄、绿、蓝、紫等每一个字都代表一类具体的颜色, 也就是色相了, 它是指色彩的相貌, 是区别色彩种类的名称。在页面上, 除白色为背景外, 大量使用的颜色, 就是这个网页的主体颜色。如果在同一个页面内运用了多种颜色, 把握不好的话, 就无法确定哪个是主体色。因为其他的颜色面积不能过大, 要遵循主从关系。
二、网站色彩搭配的运用
1、色彩均衡的应用
它是比较保险的配色互补原则。多种颜色同时存在的时候不容易把握好, 一定要调和统一。
比如利用色彩错视现象, 其中的重量错视在实用设计时用处很多。也就是明度高的浅亮色看起来较轻, 明度低的深暗色则较重。
那么在网页设计中, 如果运用了较多明度较高的颜色。比如比较浅的颜色或亮的颜色, 就可以用黑色, 或同色相的深色小面积压一下, 点缀一下, 使得页面不要太轻, 达到色彩重量的平衡。平衡的颜色较符合多数人的色彩心理。
2、黑白灰运用
黑白灰的色彩运用也是网站页面建设中常用到的一种搭配手法。如果在用色上遇到麻烦, 可以大面积的加白, 灰;小面积加黑来调节其他颜色搭配不当。遇到使用纯度很高的颜色, 比如纯蓝, 纯黄等, 这样的搭配会很鲜艳, 视觉感觉比较兴奋。把这样的颜色明度抬高或降低, 搭配上灰、白色, 也是调节的方法。
3、色彩心理与情感
选择适合内容风格的颜色。色彩运用要与网站主题相符合。如儿童类站点不要使用冷色系, 且色彩要丰富一些。女性站点, 适量选用柔美的淡粉色或高级灰, 而男性类站点, 就可以使用棕色, 深蓝色。同色相, 明度高, 则有柔软感。明度低, 则会有坚硬感。
从色相看, 暖色给人的感觉华丽;从明度看, 明度高的感觉华丽;从纯度看, 纯度高的色彩给人的华丽感觉。如旅游类站点, 可以选用草绿搭配黄色。政府类站点, 可以使用红色, 蓝色。时装类站点, 可以选择高级灰、紫色等, 突出高雅氛围。校园类站点也适合绿色。科技类适合深蓝色。新闻类适合深红色, 或黑色, 搭配高级灰等等。
色彩明度的高低与声音的高低相关。强烈的色彩如亮黄色、鲜红色, 具有尖锐、高亢的音乐感。暗浊色如海蓝色、深灰色等具有低沉浑厚的音乐感。现代音像艺术正是采用了视觉与听觉等多媒体相结合的方法, 展现了丰富、新颖的视听效果。绿色、黄绿色是未成熟的果实色彩, 有酸、涩的味感。橙色、浅黄色、浅棕色、粉红色使人想到了成熟的瓜果色彩而产生甜甜的味感。设计饮食类站点, 就可以遵循以上原则。
4、网站页面的色彩分配
网页内容, 是信息存储空间, 要求背景要亮, 文字要暗, 对比度要高。LOGO和主要信息放置的地方。一般要深色。具有较高对比度, 以便用户能够非常方便地看到他在该站点的所在位置。标题通常与页面其它部分有不同的"风貌", 它可以使用与网页内容非常不同的字体或颜色组合。也可以采用网页内容的反色。导航菜单所在区域。把菜单背景颜色设置暗一些, 然后依靠较高的颜色对比度、比较强烈的图形元素或独特的字体将网页内容和菜单的不同目的准确地区分开。在配色上使用一些比较跳跃的颜色, 用来引导视线。用跳跃性的橙色来做导航、按钮, 指引视线的去向。
三、色彩的心理感觉
不同的颜色会给浏览者不同的心理感受。红色是一种激奋的色彩刺激效果, 能使人产生冲动, 愤怒, 热情, 活力的感觉。绿色介于冷暖两色彩的中间, 显得和睦, 宁静, 健康, 安全的感觉。它和金黄, 淡白搭配, 可以产生优雅, 舒适的气氛。橙色也是一种激奋的色彩, 具有轻快, 欢欣, 热烈, 温馨, 时尚的效果。黄色具有快乐, 希望, 智慧和轻快的个性, 它的明度最高。蓝色是最具凉爽, 清新, 专业的色彩。它和白色混合, 能体现柔顺, 淡雅, 浪漫的气氛 (象天空的色彩) 。白色具有洁白, 明快, 纯真, 清洁的感受。黑色具有深沉, 神秘, 寂静, 悲哀, 压抑的感受。灰色具有中庸, 平凡, 温和, 谦让, 中立和高雅的感觉。
进行网页色彩设计时应注意使其色调与网站主题相协调.满足浏览者的不同需求, 便于阅读, 同时还应个性鲜明并保持一定的延续性。
参考文献
[1]张群瞻、李欣:《网页三剑客培训教程》冶金工业出版社, 2003
[2]权智殷:《设计师谈网页色彩与风格》上海人民美术出版社, 2001
页面结构 篇6
本文提出了一种基于HttpModule创建用户页面访问日志的方法, 它不需修改原站点工作正常的页面, 就可实现记录本站点用户访问日志的功能, 这比原来的方法简便不少, 且维护也很方便。
1 HttpModule简介
要了解HttpModule的工作原理, 首先得了解一下ASP.NET请求的处理过程。
ASP.NET请求处理过程是基于管道模型的, 在模型中ASP.NET把http请求传递给管道中的所有Module。每个Module都接收http请求并有完全控制权限。Module可以用任何自认为适合的方式来处理请求。一旦请求经过了所有HttpModule, 就最终被H TTP处理程序处理。HTTP处理程序对请求进行一些处理, 并且结果将再次经过管道中的HttpModule。如图1所示。
HttpModule是实现了System.Web.IHttpM odule接口的.NET组件。这些组件通过在某些事件中注册自身, 把自己插入ASP.NET请求处理管道。当这些事件发生的时候, ASP.NE T调用对请求有关的HttpModule, 这样该Mod ule就能处理请求了。
本方法的工作原理就是制作一个负责日志记录的HttpModule, 并在合适的事件中注册, 当用户的请求到来时, 记录相应的数据以完成日志记录。
2 创建页面访问日志的IHttpModule
HttpModule要实现IHttpModule接口的下面一些方法 (如表1) 。
在此, 我们首先在站点的App_Code文件夹中创建一个实现了上述方法的类MyH ttpModel。其关键代码如下:
为了记录用户的访问数据, 本文设计了一个名为UserLog (id, usersession, IP, dat etime, url) 的简单表。其中id是编号, users ession记录注册用户标识, IP表示访问者的IP地址, datetime表示访问时间, 它由SqlSer ver在插入数据时自动记录, url表示访问者请求的页面。
这个类的主要内容是一个用来记录用户访问数据的方法onRequest, 另外就是把此方法注册到AcquireRequestState事件中。
接下来要在web.config注册这个HttpM odul.
在web.config中的
这样注册就完成了。
接下来就可在几个不同IP的计算机上测试一下, 看看自定义HttpModule是否工作正常。
另外要作的一件事就是作一个简单的页面用以显示所有的日志记录 (如图2) 。
3 结语
通过以上制作过程可知, 本文所提出的利用HttpModule创建用户页面访问日志方法实现简单, 而且不需对原页面作任何的修改。它可记录任何用户对页面的访问, 方便管理员考查用户对自己站点中那部分最感兴趣, 从而改进自己的站点。它的缺点就是只能针对于aspx的页面, 如要记录对普通的html页面的访问则必需另作设置。
摘要:本文给出了一种基于HttpModule的记录用户访问日志的方法, 该方法实施简便, 且不需要对站点中的页面作任何修改。
关键词:HttpModule,访问日志
参考文献
[1] (意) Dino Esposito[著], 罗兵, 顾雁宏, 詹文军[译].精通ASP.NET程序设计[M].清华大学出版社, 2006.7.
[2]skyaspnet.ASP.NET HttpModule原理.[EB/OL].http://blog.csdn.net/skyasp net/archive/2009/02/05/3865126.asp x.
Prolog服务器页面概述 篇7
PSP是一种基于Prolog,能够嵌入HTML文档中脚本语言,利用PSP可以开发基于Web的应用程序,它用Prolog作为脚本语言,就像ASP用Visual Basic作为脚本语言,JSP用Java作为脚本语言一样[1]。Prolog是一种逻辑程序设计语言,特别适合于符号计算,经常用于人工智能中的符号计算和推理[2]。它由一系列规则和事实组成,运行一个Prolog程序就是提出一些查询,利用推理规则,是否能找到相匹配的规则和事实[3]。PSP解释程序由处理PSP请求,和SWI-Prolog进行交互的Web服务器和Prolog后台组成。
2 PSP简介
2.1 PSP脚本
PSP脚本通常存在于一个或多个扩展名为.psp的文件中,一个PSP文件实质上是包含一系列PSP代码的HTML文档。PSP代码位于“<?psp”和“?>”之间,被称作一个块,每一个块都被单独地传递给PSP解释程序。解释程序把每一个块替换为解释后的结果。下面的例子表明了怎样用PSP生成著名的“hello world”页面。
经过解释以后下面的文本代码被发送到浏览器:
一个块由一系列Prolog谓词定义和一个或多个Prolog查询组成,它们都是以“.”结束,查询以“?-”开始,这和Prolog的标准约定是一致的。应用程序读到谓词声明后,解释程序立刻将它声明到Prolog数据库中。
一个查询就是让应用程序询问一些关于Prolog数据库的信息,直到找到问题的解或者失败后终止[4]。输出的Prolog谓词被一个专用的套装软件生成HTML代码,PSP将SWI–Prolog的标准流改变到HTTP客户端,从而生成动态的HTML页面,这种机制类似于ASP、JSP技术。
2.2 HTML表单
一个HTML表单就是一段包含普通内容,标记,控件(如文本框,命令按钮,菜单等)和标签的文档。通常用户在将表单提交给Web服务器之前,是通过修改控件来完成表单的。每一个控件都有一个名字,用户使用控件的值向服务器传送信息。PSP提供了存取从客户端接收到的数据的方法,对于每一对(控件名,控件值),PSP解释程序都将其声明为如下事实:arg('控件名','控件值').下面是一个简单表单的例子,该表单要求输入用户的名字和电子邮件,并调用表单处理程序"form_handler.psp"。
下面的表单处理程序执行的动作是把表单接收到的姓名和电子邮件输出到屏幕上。
输出结果如下图所示:
3 实现
本文以SWI-Prolog作为应用程序后台,在现有的Prolog编译器上实现了一个Web服务器模块,PSP可以看作SWI-Prolog和Web服务器之间的接口,我们开发了一个Web服务器模块,该模块可以处理PSP文件,并且能把处理后的结果(HTML文档)发送到客户端。这种实现是在Apache Web Server2.0和SWI-Prolog5.0的环境下开发的。
从开发的观点看,PSP包括以下三个部分:
1)Apache接口;
2)SWI-Prolog接口;
3)PSP解释程序。
PSP解释程序开发成Apache模块,称为mod_psp,它运行在Apache存储空间,系统装载后,mod_psp将自己注册成text/psp文件。当有PSP请求发生时,模块打开请求文件,同时调用解释程序。需要说明的是,内存分配是开发Apache模块的重要方面,因为模块只被装载一次,当一个Apache过程开始时,多个请求是在同一个存储空间处理,当处理子程序结束时,处理请求文件的空间必须被重新分配。否则会发生内存泄露,导致系统不稳定。
SWI-Prolog强大的外部接口使得PSP-Prolog接口的开发变得容易。SWI-Prolog提供的C函数可以声明谓词,找到Pro⁃log查询的解。也可以在C函数里定义Prolog谓词。在实际的解释开始之前,PSP解释程序首先为每一个HTTP参数声明一个事实:arg(控件名,控件值)。PSP解释程序接收一块Prolog代码并且返回Prolog输出谓词的结果[5]。
4 结束语
开发的SWI-Prolog和Apache HTTP服务器之间的接口,PSP使程序员可以利用Prolog高级的推理能力来开发功能强大的应用程序,开发PSP的目的是让其作为ASP和JSP这些技术的替代和补充。因此,在任何情况下Prolog看起来更适合解决一个特定的问题,PSP能够和其他的技术一起使用。
摘要:Prolog Server Pages(PSP)是一种基于Prolog的脚本语言,它可以嵌入到HTML文档中。运行一个PSP应用程序需要Web服务器、Web浏览器和PSP解释器,代码在服务器端通过解释程序执行,执行结果被发送到客户端。该文以SWI-Prolog作为应用程序后台,在现有的Prolog编译器上实现了一个Apache Web服务器模块,它可以处理PSP文件,并且把嵌有PSP脚本的HTML代码发送到客户端。
关键词:PSP,Web服务器,PSP解释器
参考文献
[1]Developer Documentation for Apache 2.0[EB/OL].http://httpd.apache.org/docs-2.0/developer/.
[2]王永庆.人工智能原理与方法[M].西安:西安交通大学出版社,2003.
[3]雷英杰,邢清华,孙金萍,等.Visual Prolog智能集成开发环境评述[J].空军工程大学学报:自然科学版,2002,3(5):39-43.
[4]Bratko I.Prolog Programming for Artificial Intelligence[M].Addison-Wesley,2001.
【页面结构】推荐阅读:
静态页面与动态页面各自的执行机制说明11-04
页面处理05-27
页面布局07-11
页面分析08-21
动态页面技术07-25
网站页面布局07-30
产品页面设计10-23
页面置换算法模拟06-27
Asp.net页面06-20
页面置换算法实验报告09-16