背景:#EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读内容

基于 Google 搜索路径的课程信息垂直搜索引擎

[日期:2008-07-23] 来源:  作者:孙韬 [字体: ]
2.2.2 学院包装器类
CivilAndEnvironmental.java 继承(extends)于 Extractor.java 主要包括两个函数:
(1) getTeachers(),通过 分析 WEB 页面结构获得教师信息,并存储于 teacherList,
伪代码见图 3:

1.  初始化 teacherList,数据,类型为 ArrayList

2.  根据 WEB 页面结构选择 filter,教师名的结点形式为< strong >教师名< /strong >,因此选用含有 strong

属性的 TagNameFilter filter = new TagNameFilter("strong")

3. NodeList nodelist =过滤得到的所有<strong>节点

4. foreach(节点)

String temp=<strong>节点的 firstChild

if (temp 是教师名字,要过滤掉不以字母开头的节点) {

if(有教师主页信息){

teacher = temp; //提取教师姓名元数据

teacherHome = prefix + first name +后缀.htm; //提取教师主页地址元数据

} else(没有教师主页信息) {

教师主页地址默认为 prefix,不为 teacherHome 赋值

teacher =temp; //提取教师姓名元数据}

将提取到的该名教师的信息加入到 teacherList 中去

图 3 getTeachers()函数伪代码
Fig3 pseudocode of function getTeachers()
(2) getCourses(String page, String suffix),通过分析 page 的页面结构获得课程名称以及
教授该门课程的教师的 First Name,然后在 teacherList 中查找教师的全名及教师主页。对每
一个课程,调用基类的 getDescription()获得课程简介。当课程的所有信息都取到值后,调用 基类的 insert()函数,将该课程插入到索引中去。算法伪代码见图 4:
2.2.3 索引维护类
抽取 WEB 页面数据并将写入 Lucene 的索引之后,为了提高精度和准度,编写了索引
维护类。 遍历索引 , DeleteRepeated 删除 name 和 url 两 个值都相 等的项;
SelectRealOnesForCMU 根据卡耐基梅隆大学课程编号的统一形式,用正则匹 配
[0-9]{2}-[0-9]{3},(即判断索引中的 name 域的值是否以“两个数字”+“-”+“三个数字”开头), 如果不是,说明不是卡耐基梅隆大学课程的索引项,删除该项。

1.  调用 setInfor()函数,设置了每一门课程的公共信息,本例为学校和学院

2.  初始化 HTMLParser 的分析器 parser,并设置编码方式

3.  分析 WEB 页面结构来选择合适的 filter,课程编号均含有 12-,因此选用

StringFilter courseFilter = new StringFilter("12-");

4. NodeList nodelist =过滤得到的所有课程编号节点;

5. foreach(课程编号节点)

提取元数据课程名称=课程编号节点+“ ”+课程名节点;

提取元数据教师 first name=课程编号节点之后的 nextSlibing 节点,即教师 first name 节点;

教师名=根据 first name 在 teacherList 中查找得到的教师全名;

教师主页=根据 first name 在 teacherList 中查找得到的教师主页;

提取元数据课程链接 = prefix+课程编号(不带“-”)+suffix;

提取元数据课程简介=getDescription(课程链接);

调用基类中的函数将抓取到的课程信息插入 Lucene 的索引 

图 4 getCourses()函数伪代码
Fig4 pseudocode of function getCourses()
3.算法性能
以卡耐基-梅隆大学的三个学院为例,来分析本系统算法的查全率
P(Precision),F 度量(F-measure)。
F 度量让用户在查全率和查准率上求得平衡。我们认为垂直搜索应该给用户提供准确的
信息,因此查准率的重要性大于查全率。据此,选择查准率和查全率的重要程度值 =0.5, 代表 P 的重要程度是 R 的 2 倍。
图 5 为 F 度量柱状图的比较。表 1 为 R,P,F 具体的值。从图 5 可以看出,由于本文利用 HTMLParser 进行基于 WEB 页面结构的课程元数据信息抽取,查准率很高,均接近 100%, 查全率均在 95%以上。但是在“课程介绍”这个元数据项上, F 度量明显低于其他域。分析 其原因是课程介绍比其他项在 WEB 页面上的结构有更多变化。
表 1 中,元数据项学校和学院是预设的,因此不作为性能分析的 参考 项。第一行数据为
Carnegie Institute of Technology(CIT,样本 432),第二行数据为 Mellon College of Sciences
(MCS,样本 600,未提供教师信息),第三行数据为 College of Fine Arts(CFA,样本 120)。
表 1 查全率,查准率,F-度量的比较
Tab.1 Comparison of Recall,Precision,F-measure
 

4.系统实现
本文的 Model-View-Controller 框架的实现基于 Struts1.1。Struts 是开发基于 MVC 模式 的 应用 架构的经典开源框架,是利用 Java Servlet 和 JSP 构建 Web 应用的一项非常有用的技 术。并且利用 AjaxTags(AjaxTags 项目是在现有的 Struts HTML 标记库的基础上,添加对 Ajax 支持)的 autocomplete 实现类似于 Google Sugget 的即时搜索功能;利用 dom4j 通过对 xml 文 件的读写实现实现“Latest Keywords”(最近搜索关键词)的功能。
索引的建立和搜索基于 Apache 的开源项目——Lucene,使用的版本为 2.2。Lucene 是 一个开放源代码的全文检索引擎工具包,即一个全文检索引擎的架构,提供了完整的查询引 擎和索引引擎,部分文本分析引擎。本文查询的实现调用和扩展于 Lucene 的查询函数,如 IndexSearcher 的 TermQuery 词条搜索,QueryParser 字串搜索,BooleanQuery 布尔搜索等等。 分词基于 Lucene 的中文分词软件—JE 分词。本搜索引擎同时支持中文和 英文 搜索。
 
图 5 各个学院的 F 度量
Fig5 F-measure of different colleges
5. 总结 和展望
本文提出了利用 Google 按照“ 学校- 学院- 教师- 课程” 发现搜索路径,然后利用 HTMLParser 编写包装器进行基于 WEB 页面结构分析的课程元数据信息抽取,从而建立课 程信息垂直搜索引擎的实用 方法 。
采用包装器的方法,对于不同的信息源都需要编写不同的包装器。作者将 研究 采用适用 性更好的 HMM、CRF 等统计模型的元数据算法。并且将利用 WEB2.0 的各项技术继续探索 实时垂直搜索的概念和实现,运用 Ajax 技术完善课程垂直搜索引擎。

 
参考 文献
M. Chau and H. Chen. Personalized and Focused Web Spiders. In: Zhong, N., Liu, J., Yao Y. (eds): Web
Intelligence. Springer-Verlag (2003) 197-217.
M. Najork and J.L. Wiener, “Breadth-First Search Crawling Yields High-Quality Pages,” Proc. 10th WWW Conf., 2001; www10.org/cdrom/papers/208/.
J. Cho, H. Garcia-Molina, and L. Page, “Efficient Crawling through URL Ordering,” Proc. 7th WWW Conf.,
1998; www7.scu.edu.au/programme/fullpapers/1919/com1919.htm.
H. Chen and T. Ng, “An Algorithmic Approach to Concept Exploration in a Large Knowledge Network
(Automatic The saurus Consultation): Symbolic Brand-and-Bound Search vs. Connectionist Hopfield Net
Activation,” J. Am. Soc. Information Science, vol. 46, no. 5, 1995, pp. 348-369.
Message Understanding Conference (MUC): Named Entity Task Definition. Version 2.0. 1995.
Erik F. Tjong Kim Sang and Fien De Meulder, Introduction to the CoNLL-2003 Shared Task: Language-Independent Named Entity Recognition. In: Proceedings of CoNLL-2003, Edmonton, Canada,
2003, pp. 142-147.
Linguistic data consortium (LDC): ACE (Automatic Content Extraction) Chinese annotation guidelines for entities. Version 5.5. 2005.
G. Levow. The Third International Chinese Language Processing Bakeoff: Word Segmentation and Named
Entity Recognition. In Proc. of SIGHAN-2006, 108-117. Sydney, Australia. 2006
Vertical Search Engine for Course Information Based On Google Searching Path

上一页12  GO
阅读:
录入:中国论文联盟

推荐 】 【 打印
相关新闻      
本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:
免费论文搜索


本周热门内容