中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      基于 Google 搜索路徑的課程信息垂直搜索引擎

      時間:2024-09-18 13:45:29 計算機網絡畢業論文 我要投稿
      • 相關推薦

      基于 Google 搜索路徑的課程信息垂直搜索引擎

      畢業論文

      【摘要】課程信息垂直搜索引擎,即在課程信息這個特定的領域里,讓用戶能搜索到最精準
      最全面的結果。本文利用 Google 發現“學校-學院-教師-課程”路徑,利用 HTMLParser 進行
      基于 WEB 頁面結構的課程元數據信息抽取。為了做到信息的最準確,為每個學校的每個學 院都編寫了包裝器 (解析頁面并將得到的元數據內容的抽取器)。在精確的課程領域元數據 信息支持下,本搜索引擎支持簡單檢索、元數據高級檢索、導航等綜合的檢索功能。 關鍵詞:垂直搜索;搜索路徑;元數據抽取;包裝器
      1.引言
      隨著因特網(Internet)和萬維網(World Wide Web)技術的發展,全球共享學習資料和 知識使得傳統意義上的教育向遠程教育和自主學習轉變,這就需要提供對學習資源的全球共 享和在線訪問,需要為資源的擁有者提供學習資料發布和共享的支持,需要為學習者提供獲 取知識的有效手段。
      但是,由于因特網具有較大的自由性,教課老師可以按照任意形式在因特網上發布其與 課程有關的信息;沒有固定、標準的信息發布格式,且信息發布主要注重視覺效果,缺少語 義信息;信息源變化頻繁,信息源的和產生沒有規律性。因此,如何在海量的、多變的、缺 乏固定格式的因特網學習資源中查找需要的課程信息,并將這些信息快速而準確地抽取出 來、進行有效的整合并提供高質量的服務,具有重大的科研價值和現實意義。
      課程信息垂直搜索引擎,通過對課程網頁的元數據信息進行自動提取和結構化的組織, 使用戶通過關鍵字搜索能得到最全面最精準的學習資源,為高校教師、學生等教育領域用戶 提供更好的服務。
      目前國外比較成功的垂直搜索引擎包括:專門提供法律信息的 LawCrawler (www.lawcrawler.com);專門提供家居信息檢索服務 BuildingOnline(www.buildingonline.com) 等等。國內比較出名并且得到用戶認可的垂直搜索引擎包括:生活信息搜索引擎酷訊 (www.kooxoo.com),面向商業的天網商搜(sunsou.tianwang.com),電視精品節目搜索平臺 TV 貓(www.tvmao.com)以及面向餐飲的咕嘟媽咪(www.gudumami.cn)等等。
      構建垂直搜索引擎,“爬蟲”(spiders)是不可缺少的部分。目前,為了獲得特定領域內的 相關信息,有兩種流行的方法來確保爬蟲抓取內容的相關性和質量:1. 讓爬蟲只抓取特定 的網域的內容。例如,在豐田汽車公司的網站 www.toyota.com 中抓取到的信息必定是和汽 車相關的;2. 根據領域的特定需要來過濾抓取到的內容。例如,編寫1個程序來過濾數量 關鍵字沒有達到1定數量的網頁。
      目前有3種爬蟲能分析基于內容/基于鏈接的網頁,并把對這些網頁的分析與圖搜索算 法相結合。1. 廣度優先搜索的爬蟲(breadth-first search spider) [1],按照圖遍歷算法 BFS 來工 作。由于最重要的頁面往往含有指向其他頁面的大量鏈接,breadth-first search spider 在有效 組織的網站中有很高的抓取效率和準確率。2. 頁面權重爬蟲,結合了基于鏈接的分析與基
      于遍歷的算法,采用了 Junhoo Cho 和他的實驗室成員發明的算法[2]。3. Hopfield Net Spider,
      將 Web 看作為1個加權單層神經網絡,然后利用包含激活擴散算法的爬蟲來完成信息發現 和檢索的工作[3,4]。
      命名實體識別(Named Entity Recognition,NE)作為信息抽取中的子任務,其主要目的 是從文本中檢測出專有名詞并進行分類,如人名、地名、公司名、日期等。很多知名研究機 構都致力這方面的研究,多個國際會議也舉辦了命名實體識別的評測活動,如 MUC[5]、 CoNLL[6]、ACE[7]、SIGHAN[8]等。
      就本文而言,實體“課程”包括以下屬性:課程名稱、學院、學校、教師、教師主頁 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

      [NextPage]

      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 中鍵入關鍵詞<inurl:course OR courses -filetype:pdf>,表 示搜索 URL 地址中含有 course 或者 courses 且文件類型不是 pdf 的結果,site 中鍵入<(2)中 獲得的學院地址>“www.ce.cmu.edu”。得到 2007-course-list 和 2008-course-list 的 URL 地址。
      (4) 教師信息頁面:在 keyword 中鍵入關鍵詞 <inurl:faculty -filetype:pdf>,表示搜索 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 頁面結
      構來獲得課程簡介,算法偽代碼見圖 2:
      (4)1. 根據 2.1 獲得的 URL 地址初始化 HTMLParser 的分析器 parser,設置編碼方式
      2. 根據 WEB 頁面結構選擇適合的 Filter,比如本頁面要提取課程簡介,則該節點必定含有關鍵詞
      Description,因此選用 StringFilter coursefilter = new StringFilter("Description")
      3. NodeList nodelist =過濾得到的所有 Description 節點
      4. if (nodelist.size() == 0) {
      //dexcription 不存在,相當于本頁不存在,因為只要頁面存在就必定含有 Description 結點
      return null; //說明本 URL 地址的頁面不存在}
      5. else(dexcription 存在) {
      重置 HTMLParser 的 parser,根據 WEB 頁面結構選擇更加精確的 filter
      //通過對頁面的源碼分析發現課程簡介的源碼組織方式都為
      //<P><font size="2" face="helvetica,arial">課程簡介</font>
      //因此設置用 AndFilter 將 filter 設置為必須同時滿足3個條件
      AndFilter andfilter =結點名為<font>+有父結點<p>+有 size=2 的屬性
      nodelist = 過濾得到的符合 andfilter 的所有節點
      foreach(符合條件的節點)
      if (長度(String.length)大于 50) {
      //課程簡介長度字數必大于 50,過濾字數小于 50 的節點
      return des; }
      圖 2 getDexcription()函數偽代碼
      Fig2 pseudocode of function getDescription()
      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 中查找教師的全名及教師主頁。對每
      1個課程,調用基類的 getDescription()獲得課程簡介。當課程的所有信息都取到值后,調用 基類的 insert()函數,將該課程插入到索引中去。算法偽代碼見圖 4:
      2.2.3 索引維護類
      抽取 WEB 頁面數據并將寫入 Lucene 的索引之后,為了提高精度和準度,編寫了索引
      維護類。 遍歷索引 , DeleteRepeated 刪除 name 和 url 兩 個值都相 等的項;

      [1]  

      【基于 Google 搜索路徑的課程信息垂直搜索引擎】相關文章:

      垂直搜索引擎發展策略探討03-21

      Web搜索引擎的智能搜索設計與實現03-08

      搜索引擎技術及趨勢11-21

      CPM搜索引擎的設計與實現03-08

      搜索引擎排名與電子商務搜索營銷分析03-21

      企業搜索引擎營銷分析03-24

      學術搜索引擎的優化策略11-29

      基于自編碼神經網絡建立的搜索信息模型03-11

      談搜索引擎優化的鏈接策略03-19

      淺談搜索引擎優化的鏈接策略03-22

      主站蜘蛛池模板: 亚洲女精品一区二区三区| 成人爱爱视频在线观看| 亚洲无码观看a| 人妻一区二区三区蜜桃| 国产91在线|亚洲| 岳阳市| 国产三级伦理视频在线| 精品久久久久久电影院| 亚洲一区二区三区色婷婷| 国产一区二区三区免费看视频 | 久久免费看少妇a级作爱片| 久久精品中文字幕久久| 灵寿县| 柳江县| 石河子市| 国产丝袜美腿美女视频| 成年女人片免费视频播放A| 精品亚洲没码中文字幕| 无码制服丝袜中文字幕| 日本岛国视频一区二区三区| 亚洲专区中文在线第一页| 湾仔区| 裕民县| 茶陵县| 星子县| 唐山市| 日韩av无卡无码午夜观看| 涿州市| 丰满人妻无奈张开双腿av| 美腿丝袜一区二区三区| 潍坊市| 南皮县| 亚洲精彩视频一区二区| 日本一区二区三区在线播放| 久久婷婷国产精品简爱av| 辉县市| 交口县| 亚洲国产精品久久久久婷婷软件| 国产无卡视频在线免费观看| 久久午夜无码鲁丝片直播午夜精品| 冀州市|