当前所在位置: 首页 > 论文范文 > 正文

基于Google 搜索路径的课程信息垂直搜索引擎(第2页)

本文共计7493个字,预计阅读时长25分钟。【 字体:

论文指导服务

毕业论文网专业团队提供毕业设计、论文写作指导及相关咨询服务

论文指导 毕业设计 答辩咨询
微信号已复制到剪贴板

  就本文而言,实体“课程”包括以下属性:课程名称、学院、学校、教师、教师主页 URL, 课程链接以及课程简介。本文的 NE 识别方法为基于 WEB 页面结构分析的包装器。

  本文介绍了构建课程信息垂直搜索引擎的基本理论和实用方法。先利用 Google 按照“学

  校-学院-教师-课程”发现搜索路径,然后利用 HTMLParser 编写包装器进行基于 WEB 页面结 构分析的课程元数据信息抽取。

  第 2 节介绍了本文的总体思路与核心算法,重点介绍了抓取网页的基类,并以卡耐基-

  梅隆大学的生态环境研究学院为例,具体叙述了专门为该学院编写的包装器。

  第 3 节评测了算法的查全率,查准率和 F-度量,分析了本文算法的性能。 第 4 节简单介绍了本文涉及的实现技术。

  最后,对本文的性能和扩展做了小结,指出了针对本文改进和发展的方向。

  2.1 利用 Google 发现搜索路径

  课程的`自然组织形式为从大学、学院、教师再到课程或者从大学、学院直接到课程。因 此,本文利用 Google AJAX Search API 以及 Google 的高级搜索语法按以下两种顺序之1来 发现课程信息:

  (1) 学校→学院→教师→课程

  (2) 学校→学院→课程

  2.1.1 Google API 和高级搜索语法

  如图 1 所示,为本文设计的基于 Google 的路径发现页面有两个输入框,keyword 和 site。

  用户分别输入关键字后,利用 Google AJAX Search API ,将 site 的 值 提交给 GwebSearch.setSiteRestriction,将 keyword 的值提交给 GwebSearch.execute,得到 Google 返 回的搜索结果。由于本文只需要搜索路径,因此只显示和保存 URL 地址(result.unescapedUrl), 通过 XMLHTTPRequest 发送给服务器,在服务器端保存需要的 URL 地址。

  Google 的 高级搜索语 法 [9]“inurl:someKeyword” , 表 示只搜 索 URL 地址中含 有

  “someKeyword”的页面。“-filetype:someType ”,表示过滤文件类型为“someType”的结果。

  “intitle:someKeyword”, 表示只搜索页面标题中含有“someKeyword”的页面。“key1 OR key2”

  表示搜索包含关键字“key1”或者“key2”的结果。

  图 1 基于 Google API 的页面

  Fig1 Page base on Google API 2.1.2 搜索路径的发现步骤

  通过对各个学啊院的观察,可以发现以下两个重要规律:1.集中含有课程信息的页面 URL 地址中含有关键词“course”或者“courses” 2.集中含有教师信息的页面 URL 地址中含有关键 词“faculty”。基于以上两个规律,按以下步骤来发现搜索路径,其中(3)(4)的搜索结果以 txt 形式保存于服务器上,为包装器提供路径。

  (1) 大学主页:在 keyword 中键入关键词<大学名称>“cmu”,site 留空。第1个得到的 结果即为 http://www.cmu.edu/

  (2) 学院地址:在 keyword 中键入关键词<学院名称+大学名称>“Civil and Environmental cmu”,site 留空。第1个结果即为 http://www.ce.cmu.edu/

  (3) 课程信息页面:在 keyword 中键入关键词,表 示搜索 URL 地址中含有 course 或者 courses 且文件类型不是 pdf 的结果,site 中键入<(2)中 获得的学院地址>“www.ce.cmu.edu”。得到 2007-course-list 和 2008-course-list 的 URL 地址。

  (4) 教师信息页面:在 keyword 中键入关键词 ,表示搜索 URL 地址中含有 faculty,且文件类型不是 pdf 的结果,site 中键入<(2)中获得的学院地址> “www.ce.cmu.edu”。得到 falculty 的 URL 地址。

  2.2 WEB 页面的分析和信息提取

  基于 WEB 页面结构分析的包装器利用 Apache 的开源项目——HTMLParser,使用的版 本为 1.6。HTMLParser 是1个简单而功能强大的 Java HTML 解析器库,可以分析和处理 WEB 文档的内容,包括1些通用的服务器端标签。

  2.2.1 基类:Extractor.java

  基类主要包括3个函数:

  (1) insert(),向 Lucene 的索引插入课程信息的函数

  (2) count(),统计 Lucene 的索引收录的项(document)的数目,以便看出1次运行添加了 多少个课程

  (3) getDescription(String url),通过分析指定 link 在 Schedule Of Classes 的 WEB 页面结

阅读全文