对本系统后续工作者的一点建议

2024-04-19 08:18

本文主要是介绍对本系统后续工作者的一点建议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对后续工作者的一点建议 build 091011

1. 熟悉HtmlParser

 Java用于解析网页的开源库主要有HtmlParser和NekoHtml,模拟浏览器自动测试的有HtmlUnit,真正解析js或提取dom节点的视觉信息还是靠Mozilla的浏览器。
 
 NekoHtml的效率和发展状况更好,但是实践表明HtmlParser是可以满足信息抽取任务的。HtmlParser结构比较好,便于上手或进一步修改。

 务必熟悉HtmlParser的大部分API,及其所有内部数据结构,这是下一步工作的基础。

2. 阅读论文

 可以以几篇中文论文(综述,或相关硕博士论文)入门,之后阅读WWW 会议或IEEE,ACM相关会议的论文。

 下面是我看过的论文中关于HTML结构这方面比较经典的

 0.A Brief Survey of Web Data Extraction Tools
 02年的综述,值得一看。鄙人已译,译文在网上很容易搜到。如果比较懒,直接看下一篇也可以。

 1.A Survey of Web Information Extraction Systems.
 06年IE领域权威综述,必读

 2.RoadRunner Towards Automatic Data Extraction from Large Web Sites
 基于html的包装器全自动抽取技术的鼻祖

 3.Automatic Web news extraction using tree edit distance
 WWW论文,提供了针对相似页面生成模板的全自动信息抽取的一揽子解决方案

 4.Mining Data Records in Web Pages
 SIGKDD论文,无模板方法自动提取数据记录的代表作。鄙人已译。

 5.Web data extraction based on partial tree alignment
 WWW论文,上面这篇论文的改进版,引入了本系统的基础算法:STM算法

 6.Joint Optimization of Wrapper Generation and Template Detection
 KDD论文,这篇论文综合前面几篇的观点,提出了一种模式树。但作者没有说明其动态规划是如何实现的,鄙人一开始是想实现这个算法,但没成功。如果能在本科毕设实现这项工作,我认为是可圈可点的。

 7.VIPS: a Vision-based Page Segmentation Algorithm
 微软亚洲研究院的论文,基于视觉信息分块,前两年火的一塌糊涂,微软的搜索引擎也使用了这项技术,但注意它是无模板的。

 此外,应该了解一下树编辑距离及其衍生问题,最大公共子树问题,后缀树等算法的思想。

 下面是中科院计算所信息抽取小组的blog,其中推荐了很多该领域的论文。
 http://blog.csdn.net/ictextr9

3.下一步的展望

 (0)完善本系统

 WIE系统暂时还只能处理gb2312编码,需要针对自动判断编码进行改进,网上有针对HtmlParser的解决方案。

 本系统的噪音祛除算法还比较简单,如何准确的对网页分块还是一项比较困难的课题,目前效果最好的是基于视觉信息的方法。

 (1)挖掘嵌套数据结构:
 
 本系统对于所有内容节点是一视同仁的,没有考虑表格,列表等数据结构。
 
 以本系统建立的模板为基础,根据上面提到的论文4,5中的方法,实现基于模板技术的列表页面的自动挖掘是完全可行的。实现这项工作也是个不错的本科毕设题目。

 至于文献6的方法,可以量力而行。

 (2)向量空间模型

 这方面比较成熟,但是与本系统相结合是否合适,还有待于考虑。

 (3)视觉信息

 即论文7。这个内容也被广泛应用到普通高等院校的研究生毕设项目中。但是需要使用浏览器解析网页,抛开本系统,从底层重新做,工作量较大。

 本质上说,这是一种无模板方法,但是可以利用该算法来处理我们抽取的模板。

 值得注意的是,无模板抽取网页信息的方法,在这两年发展迅速。


 (4)自然语言处理&机器学习&隐马尔可夫模型

 这些都有现成的毕设论文可供参考。没做过相关研究,不做评论。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/scottxp/archive/2009/10/11/4654562.aspx

这篇关于对本系统后续工作者的一点建议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/917019

相关文章

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Windows 系统下 Nginx 的配置步骤详解

《Windows系统下Nginx的配置步骤详解》Nginx是一款功能强大的软件,在互联网领域有广泛应用,简单来说,它就像一个聪明的交通指挥员,能让网站运行得更高效、更稳定,:本文主要介绍W... 目录一、为什么要用 Nginx二、Windows 系统下 Nginx 的配置步骤1. 下载 Nginx2. 解压

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹