- 浏览: 374432 次
文章分类
最新评论
-
strchi:
这个网站,什么都没有了
做小说搜索网站,这个是不是有可能会侵权的呢? -
从此醉:
楼主倒是给出解决办法啊
Java虚拟机支持的最大内存限制 -
kjmmlzq19851226:
又要增强客户体验,又要降低伪造攻击的概率,╮(╯▽╰)╭,程序 ...
Web安全测试之跨站请求伪造(CSRF)篇(图) -
zhangxinze:
linux下使用Java获取客户端ip地址?大家有何高见,我现 ...
怎样用Java来获取真实的IP地址 -
k_kid9157:
学习 感谢分享:-)
log4j的ConversionPattern参数的格式含义
垂直搜索的优势就在于搜索结果的高度匹配,但垂直搜索,一般都是要借助人工的筛选,来缩小访问、搜索的范围,进而来获得最浓缩的匹配结果,在此过程中,需要涉及到行业信息资讯的详细分类划分。对于资讯类的垂直搜索,除了人工筛选,一般以都是按照页面的关键词特征进行粗略的分类。在《垂直搜索出路的思考》一文中提到的一个例子,用搜狗的分类搜索搜索“解密可口可乐秘密配方的组成”,并选择“军事”分类进行搜索,可以看到第一条是:“【股市论谈】股市战斗---多用机枪少用炮轰 -股票论坛”。其实这个是股市论坛,此页面应该是归属“财经”大类的。但搜狗判断该页面为军事,就是因为页面标题中出现多个军事相关的关键词。可见这种按照页面内的关键词进行行业划分的做法效果非常有限。
其实可以通过分析、寻找到页面所属的信息分类列表,再找出该资讯列表的标题关键词,就可以比较精确的进行行业划分了。所以理论上,这种资讯的行业划分完全可以用搜索引擎来自动精确识别划分。本文就是针对这种自动识别的技术的实现作一个探讨。技术的基本原理就是首先找到资讯信息所属资讯列表,再找到该资讯列表的标题关键词,通过分析该关键词,可以比较精确的将该资讯进行分类。其中关键和难点在于如何对混乱无章的资讯进行整理,从中理出清晰条理。
一般每个网站都有自己的核心资讯,并且,一般都要用资讯列表的方式展示出来的。除了核心资讯内容,网站还会有一些附缀资讯,比如网站介绍,网站联系方式等等,后者这些东西,可以认为是对垂直搜索引擎没什么意义的信息,是可以被排除收录的。垂直搜索,要保障搜索资讯的高度集中,就必须限制自己的收录是集中在网站的核心资讯里面。必须要去找到资讯的详细阅读页面,并从该页面中去提取核心资讯。
所以垂直搜索的资讯分类的自动识别技术的关键就是要分辨出网站的“资讯列表页面”和“详细资讯阅读页面”。后者一般都能从前者中找到自己的链接入口。
把网站的每一个页面看作一个节点,可以把整个网站看作一个“树”结构,每个节点都有至少一个入口来路,{1,n},有0或者N个出口{0,n}。可以看出这是一个混乱树的结构。如:http://www.5a520.cn 网站的
__________
| 网站首页 |
----------
╱ \
╱ \
╱ \
________ ________
| 古典诗词,列表 | | 现代文学 |
-------- --------
╱ | \ ╱ \
╱ | \ ╱ \
╱ | \ ╱ \
______ ___ ___ ________ _________
| 诗词列表2 | |F11 | |F12...| | 散文,列表 | | 灌水园地,列表 |
------ --- --- -------- ---------
╱ | \ ╱
╱ | \ ╱
╱ | \ ╱
______ ___ ____ ________
| 诗词列表3 | | F21 | | F22... | | 散文列表2 |
------ --- ---- --------
╱ ╱
╱ ╱
________
| 。。。。。。 |
--------
(图1)
因为页面内的链接导向是混乱的,一个页面可能包含很多指向其它页面的链接。所以图1中任意两个节点间都可能发生直接的链接。任意两节点间都能找到间接的链接。称这种间接链接的中介页面为“桥页”。因为任意两个节点之间,都可以找到链接通路,而且这来去链接通路长度和路径未必相同。从一个节点A出发,通过若干桥页后,到达某个指定节点B后,再从B节点回到A节点的路径,此处称之为“回路”。任意两节点间,肯定存在一个路径最短的回路。而且这个最短的回路可能不止一条。
搜索引擎就需要通过整理,将页面间的杂乱无章的链接整理成图1所示的清晰链接树。从图1可以看到,每个“详细资讯阅读”页面只有一个入口,且就是所属的“资讯列表”页面。每个资讯列表页面,也只有一个入口,有若干个出口。此时只要找到或者分析出“资讯列表”页面的标题字符串,我们就可以精确判断任意“详细资讯阅读”页面所属的“行业分类”了。而不再需要根据单个资讯阅读页面内有限的关键词进行并不准确的判断。
关键的问题是如何去整理这颗混乱树,把其整理出图1所示条理来。此处就作一个初步的理论探讨,仅供参考。
第一个问题:实现的基本原理
首先,需要整站下载所有页面,根据页面间的链接关系,建立一个树结构(,或者有向图结构)。设计的结构需要方便计算任意两点间的回路长度。
二、从网站页面中识别出所有的“资讯列表”页面。如何识别?后面再专述。
三、计算其它页面和资讯列表页面的“回路”,“详细资讯阅读页面”和“资讯列表”页面之间的回路是最短的,通过这点就可以轻易判断、分离。当然,最短的未必就全部是“详细资讯阅读页面”,可以后继再从中剔除。
第二个问题:如何识别“资讯列表”页面
这是最关键的部分,传统的办法是人工识别,但是可以通过资讯列表页面的特征进行自动判断的。虽然每个网站的资讯列表页面的布局都不一样,可以说是无奇不有,但是通过分析,还是可以找到通行的规律的。(此处分析只针对html页面)
一、资讯列表一般都是一行一个详细资讯,而且这样的资讯会存在多行。在剔除资讯列表内包含的可视元素后,资讯列表内每一行的html代码一般都是一样的,常见的如<tr>...</tr>,还有直接用<table>...</talbe>的,或者存在多个table联合、组合。如果一个页面内代码符合这个规律,就可以初步判断是“资讯列表”页面
二、一个页面可能存在多个符合上述特征的资讯列表,这种情况很常见,比如一个新闻列表页面会同时包含其它资讯列表,如最新资讯,点击最多的资讯等等。如何去分离、识别关键的核心资讯列表?——还是可以有规律可循的:一般核心资讯列表的可视元素比较多,字符长度比较长,而且可能包含多个附缀信息,如时间,图片等等。页面内非关键信息的资讯列表,一般只会有标题存在,而且限于版面宽度,这些标题字符长度都较短。
三、同一个资讯列表,一般都有自己的列表序列,如图1所示的“古典诗词列表1,古典诗词列表2,古典诗词列表3....”。这些列表页面的资讯列表部分的html代码规律肯定是相同的,而且相邻列表间肯定有链接存在,至少会存在一个入口链接。而且上下链接的入口的HTML代码都会很集中。相邻资讯列表间的回路肯定最短。综合这几点一般就可以轻易的分离出。当然,可能同时有到多个列表页面的回路都是最短。此时就需要另外想办法再做判断。也可都综合保留,再最终整理的时候,人为定义一下彼此间的从属关系即可,毕竟这点是丝毫不会影响到最终结果。
四、如果上述途径识别都失败了,那就都保留备用,后继过程中还可以再综合分析,通过信息阅读页面的入口路径进行反推。也可以直接忽略,因为不能符合上述特征的,一般都不会是资讯列表页面,综合起来,损失的比例会很小。
五、如网站首页,站内大栏目的首页,都会存在若干个小的资讯列表,html代码特征相同,可视元素特征相同,列表数相同。符合此特征的页面,一般都不会满足第三条条件的。是可以在整理的过程中舍去的,因为这不会我们需要寻找的资讯列表页面。
六、如果某个网站的逻辑关系很不符合常规,无法适用上述规律,此时可以考虑舍去,也可以继续使用传统方法进行搜索遍历。用传统的人工或者页面关键词特征进行划分。毕竟这样的情况只占很少比例,舍去亦无大碍。20%的方法可以解决80%的问题,如果要解决另外的20%问题,工作量就要是80%了。等到你的搜索引擎足够权威的时候,被搜索网站自然会调整自己来满足搜索引擎的偏好。
第三个问题:如何识别“详细资讯阅读页面”
这个比较容易,一般每个网页的资讯阅读页面的模版都是一样的,或者相近的,至少,每个小栏目的资讯阅读页面的模版都是相近的。
一、如果第一和第二个问题解决的比较顺利,此问题的判断就可以忽略的,从资讯列表内引出的页面,肯定就是详细阅读页面。
二、横向对比通过资讯列表引出的页面,首先剔除页面的可是元素,分析,对比html代码。html代码大致相同的页面即是。但一般只能比较页面前部分的HTML代码,后继代码可能会不相同。比如帖子的回复内容的html肯定就不能相同了。
三、对于动态页面,就更容易,资讯阅读页面的url名称一般是相同的。变化的只是页面url后面的参数
四、判断页面到资讯列表的回路,回路最短,而且是从资讯列表内引出链接的页面,肯定就是资讯阅读页面。
第四个问题:最终的整理。
通过第二步,就可以确认下资讯列表的嫌疑页面和资讯阅读页面的嫌疑页面。只是页面间的链接依旧混乱,不能达到回路最短唯一的要求。还需要再次分析。比如论坛最新的帖子一般都会展示在网站首页,如果有该论坛很大,里面的大分类都有各自的首页,该新帖子也就可能在该大分类的首页再次出现。而这个帖子的阅读页面也会有到网站首页和栏目的大分类首页的链接,此时两者之间的回路肯定都是最短的。而该帖子到所属的资讯列表的回路也是最短的,此时就出现最短回路有多个的情况,所以还需要对真正的资讯列表再次做个判断。需要舍近求远。判断从网站首页到该列表的最短单向路径长度,取该单向路径长度最长的资讯列表页面为最终结果。注意此时判断的不再是“回路”路径。
但还是有不能符合上述特征的特殊情况存在。如http://www.bt285.cn/content.php?id=1196863,因为此资讯阅读页面就没有指向资讯列表的链接,此时如果仅仅判断最短回路,就会分析失败。但如果良好的解决了第二部分的问题,此时就不必再依赖最短回路来分析。所以解决第二部分的问题,是这个自动识别技术的核心关键所在。其它部分技巧只是作为特殊情况的补充判断。
二、确认资讯列表页面和资讯阅读页面后,此时可以斩断页面的其它链接的导入、导出口,成功的简化成图1所示的结构。(其实,分析到此,此步聚可以不比执行,因为此时页面节点间的逻辑已经理顺了)。
第五个问题:对资讯列表进行行业归类。
第一步是要找到资讯列表所属的标题。一般在列表页面的标题中就可以找到关键词,但这标题可能包含很多额外的附缀信息,这些额外的信息很可能会给分类判断带来严重的歧义影响。所以需要继续寻找其它辅助信息来辅助判断。如:资讯列表在引入页面的链接的可视标题,<a..a/>内隐含的title标注,只是同一个页面的这种引入链接的可视标题可能会多种多样,一般不会相同或相近,如常见的“首页、上页、下页、尾页”等等,需要综合灵活判断。另外如资讯列表页面也肯定会包含这个关键词,而且一般不会是用链接中可视元素的状态出现,只会是独立的关键词。如果这些标题都是使用图片的方式,而且没有页面标题,则上述判断又都会失败。最终的补救手段,可以分析资讯列表内资讯标题的关键词规律,从中找出所属行业的最大可能。这点一般不会分析失败。
找出资讯列表标题后,通过对标题进行分词,判断关键词所属的行业,最终精确判断的目的就可以完成。不过,仅仅根据有限长度的标题进行判断,还是不准,综合资讯列表内资讯标题的的关键词特征,应该就可以非常精确的进行行业划分了。
另外还有一种情况,如图1所示的“灌水园地”的栏目列表,此时如果仅仅根据列表关键词就无法进行准确归类。或者资讯列表关键词中包含的关键词都是行业分类未知的。此时可以判断该资讯列表所属父栏目的行业分类,直接继承即可。如图1中的“灌水园地”资讯列表内资讯可以归结为其父类“现代文学”。
第六个问题:从理论到实现
这种整站综合分析的方法,对算法、编程开发人员的技术水平都是具有很大挑战性,问题是不容易解决的。除了技术,另外必备条件是必须要有解决困难的决心,只要有决心,办法总会有的。这种算法对服务器资源的开支也是及其巨大的,所以需要权衡利弊是否采用。第一次访问、收录网站可以采用这种方法,但以后再次访问的时候,是不能再这么大规模的计算分析的,是不能每次都把整个网站整体下载下来。可以在首次分析后,记录保留每个资讯列表的入口地址,以后每次更新的时候,就可以直接访问这个入口,直接采集最新的资讯。非常的便捷。
如果该算法对你能有所启发,在欢迎你使用的同时,希望你能在此留下你的改进方法,或者指出不足之处,大家共同完善这个算法。这个算法只是我给自己的课外作业,可能自己没有机会去实际实现,所以可能也就无法继续精确完善。
发表评论
-
推荐JS压缩工具ESC
2009-01-08 20:13 2161昨天将CheckBox转Text的代码从HTML中剥离出来之 ... -
怎样用Java来获取真实的IP地址
2009-01-06 13:05 7479在JSP里,获取客户端的IP地址的方法是:request.ge ... -
CLOSE_WAIT状态的生成原因[转]
2008-12-16 14:50 3070CLOSE_WAIT状态的生成原因首先我们知道,如果我们的Cl ... -
tcp相关状态
2008-12-16 14:42 1311客户端口实际上就是从本机访问其它计算机服务时打开的源端 ... -
网站前端优化一些小经验
2008-12-04 20:32 960着第3届bt论坛的顺利结 ... -
Base64基础(2)
2008-12-02 10:19 1343url: http://zh.wikipedia.org/wi ... -
什么是Base64以及sun.misc.BASE64Decoder的用法
2008-11-24 15:10 4859Base64是网络上最常见的用于传输8Bit字节代码的编码方式 ... -
Regex的一些常用例子
2008-11-11 12:37 1355import java.util.HashMap; imp ... -
值得收藏的健康知识
2008-11-03 11:53 1561不要死于无知。 不要拿 ... -
java的File#renameTo(File)方法的陷井
2008-10-27 10:17 1686以前我一直以为File#renameTo(File)方法与OS ... -
Twitter的增容处理
2008-10-21 12:00 1005文/Patrick Joyce译/杨昊 由于之前 ... -
一步步图解 Tomcat 体系结构
2008-10-08 10:42 2310Apache Tomcat 是一款非常著名的开源 Servle ... -
Java编码原理与解决方案
2008-10-07 22:40 1308一、Java编码是怎么回事? 对于使用中文以及其他非拉丁语系语 ... -
JAVA分布式应用中使用XML数据
2008-09-24 15:14 1323可扩展标记语言(XML) ... -
红黑树(red-black tree)算法,附AVL树的比较
2008-09-03 15:01 14158红黑树的定义 正如在CLR ... -
状态对象:数据库的替代者
2008-09-03 10:39 915这是一个实战中非常重 ... -
一个计算机专业学生几年的编程经验汇总
2008-08-02 21:04 1418想来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈 ... -
UUID的介绍与使用
2008-07-30 17:24 2930一.UUID的介绍:UUID又称为通用唯一标识符,是一个128 ... -
htmlparser使用指南
2008-07-05 14:07 3027需要做一个垂直搜索引擎,比较了nekohtml和htmlp ... -
Apache安装配置与优化
2008-07-04 15:06 1667文针对apache web服务器的安装配置收集有效的一些经验 ...
相关推荐
2.新增加采集功能,采集时图片下载,flash下载功能,默认配置的是南海网分类信息的采集规则; 3.该代码简洁,完全开源,可以与网博多款新闻系统无缝整合; 4.最新新闻系统已增加伪静态与全站生成静态功能。 5.支持上...
网博垂直搜索引擎完全开源版 1.前台结合Lucene的搜索引擎功能,使得数据搜索更快; 2.新增加采集功能,采集时图片下载,flash下载功能,默认配置的是南海网分类信息的采集规则; 3.该代码简洁,完全开源,可以与...
#### 一、垂直搜索引擎的概念与分类 ##### 1.1 垂直搜索引擎定义 垂直搜索引擎是指专门针对某一特定领域或行业的搜索引擎,其设计初衷是为了满足该领域用户的特定信息需求。与通用搜索引擎不同,垂直搜索引擎更加...
综上所述,新闻垂直搜索引擎的爬虫部分通过Webmagic框架高效抓取新闻网站数据,而分类部分则利用Classifier4j进行文本分类,确保新闻内容能准确地按类别组织,提升用户体验。这两个环节的协同工作,使得搜索引擎能够...
作用:此服务用来自动匹配字段信息,如根据网站中分析的地区信息\\行业分析信息等各类分类信息匹配成为系统需要的信息,如从网站获得的地区信息:浙江省>>杭州市>>将这一内容自动匹配为浙江省或杭州市,也可以根据企业...
1.2.1 垂直搜索的应用场景 1.2.2 垂直搜索的技术选型 1.2.3 垂直搜索的引擎架构 1.2.4 垂直搜索技术和业务细节 1.2.5 现场答疑【Q&A】 2、知识扩展 2.1 淘宝类目及标题相关性分档计算方法 2.1.1 系统预测该关键词所...
2.新增加采集功能,采集时图片下载,flash下载功能,默认配置的是南海网分类信息的采集规则; 3.该代码简洁,完全开源,可以与网博多款新闻系统无缝整合; 4.最新新闻系统已增加伪静态与全站生成静态功能。 5.后台...
开发房产行业的垂直搜索引擎,需要快速构建一个房产行业的垂直搜索引擎,能够以较强的时效性对房产类的信息进行提取、分类,需要对采集到的数据进行格式转换。用户可以在WEB前台通过文字或在地图上指定一定范围搜索...
1. **信息粒度**:垂直搜索提供更精细的信息粒度,而通用搜索的信息粒度较为粗糙。 2. **信息组织方式**:垂直搜索通常采用结构化的方式组织信息,使得用户更容易理解和使用;通用搜索则通常缺乏有效的信息结构化...
垂直搜索引擎应运而生,它专注于特定领域的信息搜索,能够更有效地解决信息过载的问题,提高搜索结果的相关性和准确性。本文主要探讨了Heritrix体系结构在垂直搜索引擎中的应用,并对其关键技术进行了深入分析。 ##...
### 基于垂直搜索的机票搜索系统设计与实现的关键知识点 #### 一、垂直搜索引擎概述 ##### 1.1 定义与特征 - **定义**:垂直搜索引擎(Vertical Search Engine)是一种针对特定领域或行业的专业搜索引擎。它不同于...
乙王垂直搜索引擎系统开源版能够自动提取目标网页分类栏目信息字段并自动归类,带服务端爬虫,无须自定义采集规则也能归类影片集数信息,如用于电影垂直搜索引擎等。 本垂直搜索引擎系统需要独立服务器支持,也可以用你...
门户垂直搜索是针对特定领域或行业的搜索引擎优化设计,它能够为用户提供更加精准、高效的信息检索服务。AUTONOMY作为一家知名的搜索技术服务商,其在这一领域的专业性不容忽视。这份“门户垂直搜索应用建议书”深入...
行业分类-设备装置-基于云平台的水利信息垂直搜索方法.zip