專利名稱:從網絡中查找與主題詞相關的名稱的方法和設備的制作方法
技術領域:
本發明涉及一種從網絡中查找與主題詞相關的名稱的方法和從網絡中查找與主題詞相關的名稱的設備。
背景技術:
隨著計算機及網絡技術的發展,對從網絡資源中查找有用信息的需求也越來越大。產品的評論、排序以及描述類的頁面在因特網上大量存在。在很多情況下(產品調查、市場分析以及策略制定),希望為某種特定主題找到精確的相關產品名稱,如自動在線找到一個分類的所有結果。這樣的名稱在網上大規模存在且動態變化。從人的角度出發,從網頁中識別并分類這些名稱不是一個大的問題,但是非常費時間。此外,搜索名稱的用戶通常希望了解產品排序信息,如哪種產品最為流行。如果產品名稱能夠自動被找到并排序,對用戶來說是非常有用的。另一方面,這些名稱對后續處理也非常有用,所述后續處理例如包括特征抽取以及整合等。然而問題在于:網頁是一種半結構化的數據,包括了許多無關信息,以致于非常難以被機器讀懂及分析。在與根據主題詞搜索名稱相關的技術領域,已經取得一定進展。專利文件I (Patent US7065483 B2, Computer method and apparatus forextracting data from web pages, Zoom inf0.)公開了從網頁中抽取數據的計算方法和裝置。該專利文件I提供了一種從網頁中抽取數據的方法,該方法包括:i)使用自然語言處理方法從給定網頁找到可能的正式名稱;ii)使用模式匹配來搜索給定網頁中沒有被步驟i所發現的正式名稱;iii)合并及精練上述名稱集,以從給定網頁中產生人名和組織名。專利文件I使用語法詞法分析更適用于語法結構比較好的純文本,而不合適網頁中的產品名稱等短詞結構;同時,使用模式匹配的方法也將面臨網頁語言結構的問題。專利文件2 (Patent US2007/0078850 Al, Commercial web data extractionsystem, Microsoft.)公開了一種商業網絡數據抽取系統。該系統基于實體抽取器來自動抽取產品信息元素。一些相關的信息元素能夠被特定的分類中的公用名稱標識,如某些知名的商標名。另一些信息元素可以通過訓練實體抽取器來標識。首先,一個訓練文檔集會被人為查閱,并識別不同各類的產品數據。這些訓練文檔被用來優化實體抽取器的參數,以使之正確抽取不同的信息元素,如商標、價格、圖像以及投票等。專利文件2使用特定分類中的通用關鍵詞,如名商標等,對未登錄產品不能夠很好的支持,同時,對不同的產品數據類型進行標注需要耗費大量的時間。非專利文件I (在網絡數據抽取中的同步記錄識別及屬性標注(Jun Zhu,ZaiqingNie, J1-Rong Wen, Simultaneous Record Detection and Attribute Labelling in WebData Extraction, Proceedings of the 12th ACM SIGKDD,494-503,2006.))提出名稱為多層條件隨機域的模型,其能夠通過學習重要性來有效的集成所有有用的信息,并且可以結合層次的互相作用,來進行網絡數據抽取。該論文描述的是一種機器學習的方法,上述特征被用來訓練以人為標注,和其它的特征起一樣的作用,并需要手動識別。
非專利文件2 (WebSeer:—種基于因特網的圖像搜索系統(Charles F., MichaelJ.S., and Vassilis A., WebSeer:An Image Search Engine for the World Wide Web,Technical Report 96-14 in the Univ.0f Chicago, August 1,1996.))描述了如何從網絡中找到圖像,在文本和HTML源碼中有相關的線索。了解網頁的結構有助于獲取有價值的有關于圖像的信息。存在于多個地方的圖像相關信息有可能在該文檔內:圖像文本名,標題,alt文本,HTML標題以及超鏈接。該非專利文件2的目的在于,描述一種如何構建基于文本的圖像搜索系統,并使用相關特征來找到圖像。
發明內容
鑒于現有技術中存在的上述問題而做出本發明。本發明總體上涉及與信息處理和信息抽取相關技術,提供一種從網絡中查找與主題詞相關的名稱的方法和從網絡中查找與主題詞相關的名稱的設備。本發明的目的是提供一種對針對特定主題,從網頁中找到并排序名稱的方法和設備。通常,名稱由幾個字組成,用來標識一個對象,如產品名“Ricoh CX3”;而主題詞通常可以對應一個對象分類,例如“數碼相機”或“digital camera”。因此,本發明實施例的目的可以說是:針對特定分類,找到相關名稱。針對異構的網頁,本發明實施例能夠達成以下目標:針對特定主題找到包括產品名的網頁;從這些找到的網頁中抽取名稱;針對給定的主題來對名稱進行排序。根據本發明實施例的一個方面,提出了一種從網絡中查找與主題詞相關的名稱的方法,包括:網頁查找步驟,在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析;候選名稱第一提取步驟,根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合;候選名稱第二提取步驟,將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合;單頁候選名稱確定步驟,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱;多頁候選名稱過濾步驟,針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱;名稱排序步驟,計算各個名稱的分值,根據分值對各個名稱進行排序。根據本發明實施例的另一個方面,提出了一種從網絡中查找與主題詞相關的名稱的設備,包括:網頁查找裝置,在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析;候選名稱第一提取裝置,根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合;候選名稱第二提取裝置,將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合;單頁候選名稱確定裝置,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱;多頁候選名稱過濾裝置,針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱;名稱排序裝置,計算各個名稱的分值,根據分值對各個名稱進行排序。通過實施本發明實施例,能夠找到從網上為特定主題查找與特定主題相關的名稱并進行排序,可以作為構建對象庫的準備工作。由于往往精度比召回率更重要,因此本發明實施例側重于找到合適的名稱,而不是所有的名稱。而且,本發明實施例的技術手段是全自動的而且不需要用戶具有相關技術領域的知識。通過閱讀結合附圖考慮的以下本發明的優選實施例的詳細描述,將更好地理解本發明的以上和其他目標、特征、優點和技術及工業重要性。
圖1示出了實施本發明實施例以從網絡中查找與主題詞相關的名稱并排序輸出的示例應用。圖2示意性地示出實施本發明實施例以從網絡中查找與主題詞相關的名稱并排序輸出的應用。圖3示意性地示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的方法的總體流程圖。圖4示意性地示出按照本發明實施例的網頁查找步驟SlOO的流程圖。圖5示意性地示出按照本發明實施例的候選名稱第一提取步驟S200的流程圖。圖6包括圖6A至圖6C,示出圖像節點的一個例子,其中,圖6A示出圖像節點的網頁部分,包括可見的可視化的布局;圖68示出該部分網頁的HTML代碼;圖6(:示意地示出一種結構化的圖像節點。圖7包括圖7A至圖7C,分別示出了網頁的圖像節點的屬性值包含圖像名稱的示例,其中,圖7A中所示的矩形框示出從“alt”屬性值中提取初步的圖像名稱;圖7B中所示的矩形框示出從“src”屬性值中提取初步的圖像名稱;圖7C中所示的矩形框示出從“href”屬性值中提取初步的圖像名稱。圖8示意性地示出圖像節點與附近節點的關系。圖9包括圖9A至圖9C,示意性地示出圖像名稱查找步驟S230及圖像名稱驗證步驟S240實施過程,其中,圖9A中的矩形框示出在網頁的HTML源代碼中從圖像節點的特定屬性值中得到初步的圖像名稱;圖9B表示把以圖像節點為中心、一定窗口范圍內的節點相關的樹狀的源代碼轉換成的序列;圖9C示出在圖像節點中找到的圖像名稱及在周邊節點的文本中找到的匹配的文本。圖10包括圖1OA至圖10C,分別示出對比信息的網頁展示實例。圖11示意性地示出對節點編碼的一種方式。圖12包括圖12A至圖12C,示出了對節點編碼的一個示例,其中,圖12A示出某個網頁的HTML源代碼;圖12B中示出按標簽分類得到的各個節點的類型數字及各個節點相應的深度代碼;圖12C中示出各個節點相對應的類型數字和深度代碼及所得的網頁的DOM樹的代碼序列。圖13包括圖13A和圖13B,示出了在代碼序列中查找重復子序列的一個示例,其中,圖13A示出了某個網頁的DOM樹的代碼序列;圖13B示出從該代碼序列中提取出的重復子序列。
圖14示意性地表示了按照本發明實施例的單頁候選名稱確定步驟S400的流程圖。圖15包括圖15A和圖15B,示出通過候選名稱之間相似度去除候選名稱的示例,其中,圖15A示出多個候選名稱的示例列表;圖15B示出經過相似度過濾而保留的候選名稱。圖16示出通過主題過濾去除候選名稱的示例。圖17示意性地示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的設備的總體框圖。圖18是示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的系統的總體框圖。
具體實施例方式下面結合附圖描述本發明實施例。圖1示出了實施本發明實施例以從網絡中查找與主題詞相關的名稱并排序輸出的示例應用。如圖1所示,如果在矩形框Ql所示的區域輸入要查詢的主題詞“digitalcamera”,則通過實施本發明實施例,能夠查找到相關的產品名稱,在排序后,在諸如矩形框Q2所示的區域輸出。圖2示意性地示出實施本發明實施例以從網絡中查找與主題詞相關的名稱并排序輸出的應用。輸入為主題,也就是分類名,本發明實施例實施查找相關名稱的處理,從例如因特網獲取網頁,并找到相關名稱,輸出排序后的名稱I至名稱η。圖3示意性地示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的方法的總體流程圖。如圖3所示,從網絡中查找與主題詞相關的名稱的方法可以包括:網頁查找步驟S100,可以在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析;候選名稱第一提取步驟S200,根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合;候選名稱第二提取步驟S300,將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合;單頁候選名稱確定步驟S400,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱;多頁候選名稱過濾步驟S500,針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱;名稱排序步驟S600,計算各個名稱的分值,根據分值對各個名稱進行排序。圖4示意性地示出按照本發明實施例的網頁查找步驟SlOO的流程圖。如圖4所示,網頁查找步驟SlOO可以包括:主題詞擴展步驟S110,可以根據預定義的模式將主題詞擴展得到多個查詢詞;網頁搜索步驟S120,可以利用所述多個查詢詞在網絡中查找網頁;網頁過濾步驟S130,可以根據網頁的URL地址、標題、網頁描述和主題詞來過濾網頁;解析步驟S140,可以將通過所述網頁過濾步驟的過濾的網頁解析為DOM樹;節點過濾步驟S150,可以根據預定的去除規則及保留規則對節點進行過濾。在網頁查找步驟S100,獲取特定主題的網頁并為后續步驟生成輸入樹。在后續處理中,可以將分類作為主題的一種實現方式。在主題詞擴展步驟S110,可以把輸入的分類通過以下兩種方式擴展。
主題詞擴展方式1:針對給定的一個主題,推薦相關的概念的子概念,表達所給主題的不同方面。如,給定一個主題詞“相機”,則可以推薦“數碼相機”、“單反機”、“白平衡”、“圖像處理”等。這些推薦值可以來自經驗模板、字典、維基百科、以及已有搜索引擎等等。主題詞擴展方式2:針對給定的一個主題,以某些特定的模板來擴展。如,給定一個主題詞“相機”,則推薦“最好的相機”、“相機比較”、“相機排序”、“相機評論”等。這些模板可以事先給定。經過對輸入主題的擴展后,在網頁搜索步驟S120,可以通過兩種方式找到相關的網頁,或者說網頁的URL(統一資源定位符,Uniform/Universal Resource Locator)。方式1:通過已有的搜索引擎得到相關URL,如BingAPI,G00gleAPI等;以方式I操作,除URL外,還能得到標題、簡短描述等。方式2:列出一些種子網站,然后通過爬蟲(crawler)來找到相關網頁,然后對網頁進行索引,并與輸入主題來匹配以找到相關URL。在得到與主題詞相關的URL之后,在網頁過濾步驟S130,對這些URL來進行過濾的規則例如:根據網頁的URL地址、標題、網頁描述和主題詞,如果主題詞經擴展后的所有查詢字在該網頁的URL地址、標題、網頁描述中都沒有出現,則排除之,未被排除的可以作為候選URL。當候選URL都獲取后,在解析步驟S140,網頁的內容即被下載并由一些工具解析成DOM樹。在此可以采用的工具包括:org.apache.commons, httpclient ;org.cybernek0.html.parsers.DOMParser 等等。在此,介紹“節點”概念。節點是一棵DOM樹中的一個結構單元,由一些成員構成。基本上,原始的節點內容來自于HTML DOM樹,有些內容可能會被刪除,有時則可能被一些計算過的結果所補充。名稱可以是DOM樹中的某些文本節點。在節點過濾步驟S150,從復雜的HTML中獲取簡化的樹,其中保留了必要的結果。對候選網頁的HTML的DOM樹的節點進行過濾的規則例如可以定義如下。過濾DOM樹的節點的實例可以由以下規則構成。1.去除規則:標簽集中的特定節點,如SCRIPT, #comment等,這個集合可以來自根據經驗指定的配置文件;沒有值的文本節點;有值的文本節點,但是值的長度過長;與時間相關的節點。滿足去除規則的節點將被過濾掉。經過上述規則過濾后,剩余節點的以下內容子項將被保留,其它的子項則去除:2.保留項:節點名稱(標簽名);每個節點的“id”屬性,如果有的話;文本節點的值;圖像節點,包括它的值和圖像url ;鏈接節點的完整鏈接地址。
符合上述保留項的節點將被保留。經過此節點過濾步驟S150后,每個網頁變成了相應的一棵DOM樹,并可以視為后續步驟的輸入。圖5示意性地示出按照本發明實施例的候選名稱第一提取步驟S200的流程圖。如圖5所示,候選名稱第一提取步驟S200可以包括:圖像節點查找步驟S210,可以根據節點的標簽名稱來在該單個網頁的DOM樹中查找到圖像節點;圖像節點過濾步驟S220,可以在所述圖像節點中,根據預定規則過濾掉不可能包含與主題詞相關的名稱的圖像節點;圖像名稱查找步驟S230,可以針對通過所述圖像節點過濾步驟的過濾的圖像節點,在圖像節點的屬性值中查找圖像名稱;圖像名稱驗證步驟S240,可以在該圖像節點的附近節點中,查找與該圖像名稱匹配的文本,過濾掉與附近節點的文本匹配程度低的圖像名稱,通過過濾的圖像名稱構成候選名稱第一集合。通常,相對于文本,在網頁上的圖像展示了更豐富和相對重要的信息。并且,圖像更擅長表示有物理形狀的對象或具體事件。如果目標是找到例如產品對象的名稱,根據經驗,在網絡上這類目標更容易且更廣泛的通過圖像描述。因此,可以將圖像節點作為名稱發現的重要線索。“圖像線索”對名稱發現來說,意味著一種暗示或者入口。如前文描述,一個網頁可以有非常多的節點,如果將所有節點一視同仁來處理,對名稱發現來說,會非常困難且費時。而且,目的是找到合適正確的名稱而并非所有名稱。一些圖像展示了物理對象而且以文本的方式描述了它的名稱。如果將這些圖像及其相關的信息作為名稱發現的入口,則對后續處理將會非常有效。網頁上的圖像節點的結構包括:可視圖像、節點名稱以及它的相關屬性。圖6包括圖6A至圖6C,示出圖像節點的一個例子。圖6A示出圖像節點的網頁部分,其中包括可見的可視化的布局。圖6B示出該部分網頁的HTML代碼。圖6C示意性地示出一種結構化的圖像節點,其中的“圖像名稱”是圖像線索,在圖6C所示的結構中,“IMG”節點”和相關的“屬性”可以通過HTML語法標簽得到。首先,在圖像節點查找步驟S210,所有的圖像節點可以通過“ MG ”標簽名稱找到。例如,在圖6B所示的該節點的HTML代碼中,包括包含“MG”字符串的標簽,因此,可以根據節點的標簽名稱來在該單個網頁的DOM樹中查找到圖像節點。在圖像節點查找步驟S210查找到的圖像節點包括很多噪聲節點,因此,在圖像節點過濾步驟S220,可以用包括以下3種方式的手段來過濾掉這些不可能與主題詞有關的圖像節點。方式1:通過頁面布局視覺信息。如果某圖像節點位于頁面的頂、底、靠左、靠右,則可以過濾掉。方式2:通過序列化節點的位置。在DOM樹中的所有節點可以轉換成有順序的節點,如果該圖像節點在此序列中的位置太靠前或靠后(超過根據經驗設置的閾值),則可以過濾掉。方式3:通過特殊的節點集合。如果某圖像節點在DOM樹中所屬的祖先節點屬于某個預先定義集合中的節點標簽,則可以過濾掉。這個預定標簽集合可以通過經驗預先設定,上述節點標簽例如可以包括:“ads”, “bar”, “nav”, “header”,“footer”, “copyright”坐坐寸寸O通過圖像節點過濾步驟S220的過濾,在圖像名稱查找步驟S230,在通過過濾的圖像節點中發現圖像名稱。圖7包括圖7A至圖7C,分別示出了網頁的圖像節點的屬性值包含圖像名稱的不例。基本上,可以從圖像節點的特定屬性值中得到初步的圖像名稱,這些特定屬性值例如可以是:“alt”、“title,,、“Src” 及 “href,,。如果發現這些屬性值存在,將通過以下規則逐一驗證圖像名稱是否存在其中,并初步獲得圖像名稱。可以采用的規則例如是:按照“&1儼、1^16”、“81^”、“1^^”的順序,依次在屬性值中查找,如果在在先的屬性值中找到,則退出查找而不在其后的屬性值中查找;如果屬性是href,則得到用“\”分隔的最后一段文本;使用根據經驗的一個長度區域來過濾,過長或過短的將被過濾掉;去除一些特殊符號,如“_,,,“::”等等;如果該屬性值沒有任何字母或文字,或全部為數字或符號,則過濾掉;采用預先定義的常用詞字典(S卩,僅針對大眾的普通語言,而不包括專有名詞)來進行檢驗,如果所有字或詞都能從這個常用字典找到,則意味著沒有未知或專有名稱,不符合名稱的特點,可以過濾掉 。圖7A中所示的矩形框示出從“alt”屬性值中提取初步的圖像名稱;圖7B中所示的矩形框示出從“src”屬性值中提取初步的圖像名稱;圖7C中所示的矩形框示出從“href”屬性值中提取初步的圖像名稱。在圖像名稱驗證步驟S240,將所提取的初步的圖像名稱與周邊文本匹配,所謂周邊文本即該圖像節點的附近節點中的文本,圖像節點的所謂“周邊”指的是該圖像節點的附近節點。在圖像名稱查找步驟S230查找到多個合適的圖像名稱,這些圖像名稱中也可能存在某些噪聲詞,因此在圖像名稱驗證步驟S240用這些圖像名稱進行與周圍文本元素的匹配,來進一步驗證圖像名稱。圖8示意性地示出圖像節點與附近節點的關系。如圖8所示,包含待處理的圖像名稱的圖像節點視為中心節點,如圖8中的節點i,以此為中心一定范圍的窗口內的節點會被選中,如圖8所示,窗口包含從第(1-n)節點到第(i+n)節點。然后,將該圖像名稱與這些窗口內節點的文本進行匹配,以得到最相似的文本。如果能夠找到最相似的文本,則該圖像節點保留而構成候選名稱第一集合;否則,如果沒找至IJ,則去除掉該圖像名稱。圖像節點的圖像名稱與周邊節點的文本的相似度可以通過以下公式(I)計算sim(eimg, etxt) = | {wk| wk e WiSmk e wj | /(log(| eimg|) +log(| etxt )) (I)其中,變量eimg代表圖像節點的圖像名稱,變量etxt代表周邊節點的文本,sim(eimg,etxt)是圖像名稱與文本的相似程度,作為相似度的分值;I {wk|wk e wi&wk e WtI表示既屬于圖像名稱Wi又屬于周邊節點文本Wt的詞Wk的個數,Wi表示圖像名稱的字符集合,Wt表示周邊節點文本的字符集合,log(IeimgI)圖像名稱長度,log(Ietxt I)表示文本長度,其和表示圖像名稱和文本的總長度。所求出的相似度的分值如果大于某個預設值,則表示該圖像名稱可以保留,否則則去除掉。圖9包括圖9A至圖9C,示意性地示出圖像名稱查找步驟S230及圖像名稱驗證步驟S240實施過程。圖9A中的矩形框示出,通過圖像名稱查找步驟S230,在網頁的HTML源代碼中,從圖像節點的特定屬性值中得到初步的圖像名稱。圖9B表示,在圖像名稱驗證步驟S240中,把以圖像節點為中心、一定窗口范圍內的節點相關的樹狀的源代碼轉換成的序列。圖9C中所示的矩形框Q3指示圖像名稱查找步驟S230在圖像節點中找到的圖像名稱,矩形框Q4指示圖像名稱驗證步驟S240在周邊節點的文本中找到的匹配的文本。此圖像名稱可以通過過濾而保留構成候選名稱第一集合。通常,含有對比信息的名稱相對孤立存在的名稱而言,更為權威一些。圖10包括圖1OA至圖10C,分別示出對比信息的網頁展示實例。在候選名稱第二提取步驟S300,以對比信息的特點來在該網頁的候選名稱第一集合中進行進一步的篩選,以找到對比信息為目的,提取出候選名稱第二集合。在候選名稱第二提取步驟S300中,可以根據該單個網頁的DOM樹中節點的標簽種類、及該節點相對于根節點的深度,來對節點編碼,該DOM樹中節點的代碼構成該DOM樹的代碼序列。圖11示意性地示出對節點編碼的一種方式。如圖11所示,在網頁的HTML的DOM樹中,各個節點根據其HTML標簽名稱而被賦予一個類型數字,如標簽“TABLE”的節點賦值為0,標簽“TR”的節點賦值為1,標簽“TD”的節點賦值為2等等。另外,每個節點有一個相應的到根節點的深度。以先序遍歷的方式,依次記錄樹中各個節點的類型數字和深度,則可以構成一個序列。圖12包括圖12A至圖12C,示出了對節點編碼的一個示例。圖12A示出某個網頁的HTML源代碼。在圖12B中,矩形框A表示按TAG(標簽)分類得到的各個節點的類型數字,矩形框B表示各個節點相應的深度代碼。在圖12C中,矩形框C中的兩列分別表示來自矩形框A和矩形框B的各個節點相對應的類型數字和深度代碼,矩形框D表示將兩列合并成單一序列后的代碼序列,即所得的網頁的DOM樹的代碼序列。在候選名稱第二提取步驟S300中,然后,可以利用后綴數組算法,根據子序列相似度來在DOM樹的代碼序列中查找重復子序列。在DOM樹轉換得到的代碼序列中,可以發現含有對比名稱的區塊有一些格式上的規律,即,這些對比名稱存在于重復子序列中。使用后綴數組算法可以查找重復子序列,最常用的構建后綴數組的方法是使用高效率的比較排序算法,基于該比較排序算法,如果網頁中存在對比信息,則在DOM樹的序列中可以得到多個重復的子序列,并且還可以同時得到其重復長度和頻率。圖13包括圖13A和圖13B,示出了在代碼序列中查找重復子序列的一個示例。圖13A示出了某個網頁的DOM樹的代碼序列;圖13B的矩形框E和矩形框F示出了從該代碼序列中提取出的重復子序列。在候選名稱第二提取步驟S300中,還可以根據各個重復子序列的長度和頻率確定其分值,確定分值最大的重復子序列,判斷該網頁的候選名稱第一集合中的候選名稱是否與該最大的重復子序列相關,相關的候選名稱構成候選名稱第二集合。對于每個重復子序列,可以設定一個經驗權重(如0.4和0.6)來例如通過以下公式(2)計算該重復子序列的分值:
V = ω LLength+ ω FFreq(2)其中,V為重復子序列的分值,Length是重復子序列的長度,是重復子序列長度的權重,Freq是其出現的頻率,即該重復子序列出現的次數,ωF是重復子序列頻率的權重,且 = 1.0。從所有發現的重復子序列中,利用上述處理可以發現分值排在首位的最大重復子序列。如果之前操作得到的候選名稱第一集合中的候選名稱出現在分值最高的該最大重復子序列中,則被保留而構成候選名稱第二集合。經過候選名稱第一提取步驟S200和候選名稱第二提取步驟S300之后,候選名稱在文字上仍然可能包含名稱之外的一些噪聲,因此,在隨后的單頁候選名稱確定步驟S400,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該單個網頁的正式的候選名稱。圖14示意性地表示了按照本發明實施例的單頁候選名稱確定步驟S400的流程圖。如圖14所示,單頁候選名稱確定步驟S400可以包括:名稱去除步驟S410,可以去除屬于預定集合的候選名稱;模板過濾步驟S420,可以把通過名稱去除步驟的候選名稱代入預定模板,去除與任何預定模板不相匹配的候選名稱;長度過濾步驟S430,可以針對通過模板過濾的候選名稱,去除其長度在預定閾值以外的部分,經過長度過濾的候選名稱作為該網頁的候選名稱。作為準備,找到作為“候選名稱”而輸入的字符串(輸入區塊)中實質內容(確實可能是“名稱”的內容)的起始位置。具體地,首先明確為字母或漢字的第一個字符。例如,如果待處理的候選名稱為“I) =Ricoh CX3…”,則該起始位置確定為3(從O開始計數),字符為“R”。在名稱去除步驟S410,可以根據作為預定集合的經驗集合或字典去除一些符號或字詞,如,“(”,“in”,“of” 等。然后,通過名稱去除步驟S410的過濾的候選名稱進入模板過濾步驟S420,對這些候選名稱使用一些預定的規則模板,保留符合至少一個預定模板的候選名稱,過濾掉不與任何一個預定模板相匹配的候選名稱。所述預定模板例如包括但不限于以下正則表達式:(" (
+ [A-Z]+)+
*");(" ([A-z]+
+)+ [A-Z]*");(" (
+ [_] {0,1} [A-z] + [_] {0,1}) +
*〃);(" ([A-z] + [_] {0,1}
+ [_] {0,1}) + [Α-ζ]*〃)。然后,通過模板過濾步驟S420的過濾的候選名稱進入長度過濾步驟S430。在長度過濾步驟S430,利用根據經驗設定的閾值去除過長的字詞部分。例如,候選名稱長度為
10(由10個單字組成),而閾值例如為4,則長度從5到10的在預定閾值以外的單字部分將被過濾掉。經過長度過濾步驟S430的候選名稱作為該網頁的候選名稱。經過單頁候選名稱 確定步驟S400,單個網頁的與主題詞有關的候選名稱被提取出。網絡中的多個網頁分別經過以上的處理,則從多個網頁分別得到單個網頁的與主題詞有關的候選名稱,一起代入隨后的多頁候選名稱過濾步驟S500。對一個主題來說,可能有很多名稱會被找到,但實際上部分名稱仍然不屬于輸入的主題,因此可以根據從多個網頁分別得到搜索結果,進一步將不適合的名稱去除,也可以說多頁候選名稱過濾步驟S500對單頁候選名稱確定步驟S400的結果進行進一步的“精煉”。在多頁候選名稱過濾步驟S500,可以針對來自多個網頁的候選名稱,計算各個候選名稱與其它候選名稱的相似度,去除與其它候選名稱的相似度低于預定閾值的候選名稱,以未被去除的候選名稱作為查詢詞搜索主題詞,去除搜索不到主題詞的候選名稱,其余候選名稱作為與該主題詞相關的名稱。可以通過以下方式進行上述候選名稱的“精煉”:1.通過相似度過濾;2.通過主題過濾。圖15包括圖15A和圖15B,示出通過候選名稱之間相似度去除候選名稱的示例。圖15A示出多個候選名稱的示例列表,計算每個名稱與其它名稱的相似程度,如果某個候選名稱中的部分或全部組成字詞不能從其它候選名稱中找到(相似度為0),或者在其它候選名稱中找到其組成字詞的數目低于某個根據經驗設定的預定閾值,則可以認為相似度過低,以致要過濾掉該候選名稱。圖15B示出經過相似度過濾而保留的候選名稱,可見,圖15A中序號為[I]、[2]、[7]、[8]的候選名稱因為與其它候選名稱相似度過低而被去除。可以對通過相似度過濾的候選名稱進一步進行主題過濾。圖16示出通過主題過濾去除候選名稱的示例。在主題過濾過程中,將候選名稱作為主題詞,通過搜索引擎來進行搜索,如果在結果的標題和描述中找不到與真正主題詞相關的任何信息(如字詞),則被去除。例如,如圖16所示,以圖15B所列序號為[4]的候選名稱“best HDTV”作為“主題詞”進行反向搜索,在圖16中所示的搜索結果中未能查找到實際的主題詞,例如“digital camera”,則該候選名稱“best HDTV”未能通過主題過濾,而被去除。而通過主題過濾的候選名稱則作為與該主題詞相關的名稱。至此,已經獲得了與該主題詞相關的名稱,最后,在名稱排序步驟S600,根據各個名稱的查詢權重、網頁權重、頁內位置權重、內容權重、頻率權重中的一個或多個來確定該名稱的分值,根據該分值對各個名稱進行排序并輸出。針對每個名稱的排序分值計算至少可以基于以下因子。查詢權重:根據經驗對擴展得到的每個查詢詞設定一個權重,且此權重可以視為名稱排序的因子之一,更高的權重意味著更重要的查詢擴展模式。網頁權重:在通過搜索引擎查詢的過程中,所有網頁有一個排序位置,這個位置也可以作為一個權重因子。頁內位置權重:對頁面內的對比名稱而言,其位置作為一個權重,越靠前,越重要,權重越高。內容權重:在名稱查找過程的置信度因子,例如,一個網頁內的對比名稱的權重要大于只有一次或個別零星重復的名稱。頻率權重:對來自所有網頁的名稱計算其頻率,并作為權重之一。上述所有的因子會被合并,進行加權計算,例如通過以下公式(3)得到某個名稱的最終分值。ff = kq ω q+kp ω p+k0 ω o+kc ω c+kf ω f (3)其中,W為該名稱的用于排序的分值;kq表示查詢系數,表示查詢權重;kp表示網頁系數,ωρ表示網頁權重;k。表示頁內位置系數,ω。表示頁內位置權重;k。表示內容系數,ω。表示內容權重;kf表示頻率系數,和Of表示頻率權重。各個系數保持kq+kp+kJk^kf = 1.0的關系,各個系數可以根據不同的任務和領域依經驗而定。而關于各個權重,其中及ω。由經驗值設定,而其它3個權重可以由以下公式⑷確定。ωρ = ω。= ω f = log (size/(i+1)+e_l)(4)其中,e為自然常數,size表示總和,分別地,在網頁權重ωρ的情況下size表示查詢所得過濾后能夠利用的總共網頁頁數,i表示獲取該名稱所在網頁在此網頁查詢結果中的排序位置;在頁內位置權重ω。的情況下size表示在單網頁內對比對象中的參與對比的對象數目,i表示該名稱在對比對象中的排序位置;在頻率權重的情況下size表示所有名稱的總出現次數,i表示該名稱出現的總次數。經過上述計算后,每個名稱都有一個分值,根據這些分值按照由大到小的順序進行排序,即可得到一個主題的相關名稱的排序結果,此后可以以任意現有技術手段輸出。本發明還可以實施為一種從網 絡中查找與主題詞相關的名稱的設備,可以用來執行前述的本發明實施例的從網絡中查找與主題詞相關的名稱的方法。圖17示意性地示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的設備的總體框圖。如圖17所示,一種從網絡中查找與主題詞相關的名稱的設備可以包括:網頁查找裝置100,可以用來執行前述網頁查找步驟S100,用以在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析;候選名稱第一提取裝置200,可以用來執行前述候選名稱第一提取步驟S200,用以根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合;候選名稱第二提取裝置300,可以用來執行前述候選名稱第二提取步驟S300,用以將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合;單頁候選名稱確定裝置400,可以用來執行前述單頁候選名稱確定步驟S400,用以根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱;多頁候選名稱過濾裝置500,可以用來執行前述多頁候選名稱過濾步驟S500,用以針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱;名稱排序裝置600,可以用來執行前述名稱排序步驟S600,用以計算各個名稱的分值,根據分值對各個名稱進行排序。所述網頁查找裝置100可以包括:主題詞擴展裝置,可以用來執行前述主題詞擴展步驟S110,用以根據預定義的模式將主題詞擴展得到多個查詢詞;網頁搜索裝置,可以用來執行前述網頁搜索步驟S120,用以利用所述多個查詢詞在網絡中查找網頁;網頁過濾裝置,可以用來執行前述網頁過濾步驟S130,用以根據網頁的URL地址、標題、網頁描述和主題詞來過濾網頁;解析裝置,可以用來執行前述解析步驟S140,用以將通過所述網頁過濾裝置的過濾的網頁解析為DOM樹;節點過濾裝置,可以用來執行前述節點過濾步驟S150,用以根據預定的去除規則及保留規則對節點進行過濾。所述候選名稱第一提取裝置200可以包括:圖像節點查找裝置,可以用來執行前述圖像節點查找步驟S210,用以根據節點的標簽名稱來在該單個網頁的DOM樹中查找到圖像節點;圖像節點過濾裝置,可以用來執行前述圖像節點過濾步驟S220,用以在所述圖像節點中,根據預定規則過濾掉不可能包含與主題詞相關的名稱的圖像節點;圖像名稱查找裝置,可以用來執行前述圖像名稱查找步驟S230,用以針對通過所述圖像節點過濾裝置的過濾的圖像節點,在圖像節點的屬性值中查找圖像名稱;圖像名稱驗證裝置,可以用來執行前述圖像名稱驗證步驟S240,用以在該圖像節點的附近節點中,查找與該圖像名稱匹配的文本,過濾掉與附近節點的文本匹配程度低的圖像名稱,通過過濾的圖像名稱構成候選名稱第一集合。所述候選名稱第二提取裝置300可以根據該單個網頁的DOM樹中節點的標簽種類、及該節點相對于根節點的深度,來對節點編碼,該DOM樹中節點的代碼構成該DOM樹的代碼序列。所述候選名稱第二提取裝置300可以利用后綴數組算法,根據子序列相似度來在DOM樹的代碼序列中查找重復子序列。所述候選名稱第二提取裝置300可以根據各個重復子序列的長度和頻率確定其分值,確定分值最大的重復子序列,判斷該網頁的候選名稱第一集合中的候選名稱是否與該最大的重復子序列相關,相關的候選名稱構成候選名稱第二集合。所述單頁候選名稱確定裝置400可以包括:名稱去除裝置,可以用來執行前述名稱去除步驟S410,用以去除屬于預定集合的候選名稱;模板過濾裝置,可以用來執行前述模板過濾步驟S420,用以把通過預定名稱去除裝置的候選名稱代入預定模板,去除與任何預定模板不相匹配的候選名稱;長度過濾裝置,可以用來執行前述長度過濾步驟S430,用以針對通過模板過濾的候選名稱,去除其長度在預定閾值以外的部分,經過長度過濾的候選名稱作為該網頁的候選名稱。所述多頁候選名稱過濾裝置500可以針對來自多個網頁的候選名稱,計算各個候選名稱與其它候選名稱的相似度,去除與其它候選名稱的相似度低于預定閾值的候選名稱,以未被去除的候選名稱作為查詢詞搜索主題詞,去除搜索不到主題詞的候選名稱,其余候選名稱作為與該主題詞相關的名稱。所述名稱排序裝置600可以根據各個名稱的查詢權重、網頁權重、頁內位置權重、內容權重、頻率權重中的一個或多個來確定該名稱的分值,根據該分值對各個名稱進行排序并輸出。本發明還可以通過一種從網絡中查找與主題詞相關的名稱的系統來實施。圖18是示出按照本發明實施例的從網絡中查找與主題詞相關的名稱的系統1000的總體框圖。如圖18所示,從網絡中查找與主題詞相關的名稱的系統1000可以包括:輸入設備1100,用于從外部輸入將要處理的關鍵字,例如可以包括鍵盤、鼠標器、以及通信網絡及其所連接的遠程輸入設備等等;處理設備1200,用于實施上述的按照本發明實施例的從網絡中查找與主題詞相關的名稱的方法,或者實施為上述的按照本發明實施例的從網絡中查找與主題詞相關的名稱的設備,例如可以包括計算機的中央處理器或其它的具有處理能力的芯片等等,可以連接到諸如因特網的網絡(未示出),根據處理過程的需要而從網絡獲取數據等等;輸出設備1300,用于向外部輸出實施上述從網絡中查找與主題詞相關的名稱的過程所得的結果,例如可以包括顯示器、打印機、以及通信網絡及其所連接的遠程輸出設備等等;以及存儲設備1400,用于以易失或非易失的方式存儲上述從網絡中查找與主題詞相關的名稱的過程所涉及的圖像、所得的結果、命令、中間數據等等,例如可以包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬盤、或半導體存儲器等等的各種易失或非易失性存儲器。按照本發明實施例的從網絡中查找與主題詞相關的名稱的方法、從網絡中查找與主題詞相關的名稱的設備及從網絡中查找與主題詞相關的名稱的系統,提供了一種從網頁中發現特定主題的有序對象名稱的全自動處理技術,能夠實現高效率并且能夠得到可接受的精度。所獲得的名稱可以應用于對象抽取,也可以應用于對象庫的構建。本發明的實施例易于實現、快速高效且與領域無關,例如,可以用于電子產品,汽車,人物等不同的對象領域。在說明書中說明的一系列操作能夠通過硬件、軟件、或者硬件與軟件的組合來執行。當由軟件執行該一系列操作時,可以把其中的計算機程序安裝到內置于專用硬件的計算機中的存儲器中,使得計算機執行該計算機程序。或者,可以把計算機程序安裝到能夠執行各種類型的處理的通用計算機中,使得計算機執行該計算機程序。例如,可以把計算機程序預先存儲到作為記錄介質的硬盤或者R0M(只讀存儲器)中。或者,可以臨時或者永久地存儲(記錄)計算機程序到可移動記錄介質中,諸如軟盤、⑶-ROM(光盤只讀存儲器)、M0 (磁光)盤、DVD (數字多功能盤)、磁盤、或半導體存儲器。可以把這樣的可移動記錄介質作為封裝軟件提供。本發明已經參考具體實施例進行了詳細說明。然而,很明顯,在不背離本發明的精神的情況下,本領域技術人員能夠對實施例執行更改和替換。換句話說,本發明用說明的形式公開,而不是被限制地解釋。要判斷本發明的要旨,應該考慮所附的權利要求。
權利要求
1.一種從網絡中查找與主題詞相關的名稱的方法,包括: 網頁查找步驟,在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析; 候選名稱第一提取步驟,根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合; 候選名稱第二提取步驟,將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合; 單頁候選名稱確定步驟,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱; 多頁候選名稱過濾步驟,針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱; 名稱排序步驟,計算各個名稱的分值,根據分值對各個名稱進行排序。
2.按照權利要求1所述的方法,其中,所述網頁查找步驟包括: 主題詞擴展步驟,根據預定義的模式將主題詞擴展得到多個查詢詞; 網頁搜索步驟,利用所述多個查詢詞在網絡中查找網頁; 網頁過濾步驟,根據網頁的URL地址、標題、網頁描述和主題詞來過濾網頁; 解析步驟,將通過所述網頁過濾步驟的過濾的網頁解析為DOM樹; 節點過濾步驟,根據預定的去除規則及保留規則對節點進行過濾。
3.按照權利要求1所述的方法,其中,所述候選名稱第一提取步驟包括: 圖像節點查找步驟,根據節點的標簽名稱來在該單個網頁的DOM樹中查找到圖像節占.圖像節點過濾步驟,在所述圖像節點中,根據預定規則過濾掉不可能包含與主題詞相關的名稱的圖像節點; 圖像名稱查找步驟,針對通過所述圖像節點過濾步驟的過濾的圖像節點,在圖像節點的屬性值中查找圖像名稱; 圖像名稱驗證步驟,在該圖像節點的附近節點中,查找與該圖像名稱匹配的文本,過濾掉與附近節點的文本匹配程度低的圖像名稱,通過過濾的圖像名稱構成候選名稱第一集口 ο
4.按照權利要求1所述的方法,其中,在所述候選名稱第二提取步驟中,根據該單個網頁的DOM樹中節點的標簽種類、及該節點相對于根節點的深度,來對節點編碼,該DOM樹中節點的代碼構成該DOM樹的代碼序列。
5.按照權利要求1所述的方法,其中,在所述候選名稱第二提取步驟中,利用后綴數組算法,根據子序列相似度來在DOM樹的代碼序列中查找重復子序列。
6.按照權利要求1所述的方法,其中,在所述候選名稱第二提取步驟中, 根據各個重復子序列的長度和頻率確定其分值,確定分值最大的重復子序列,判斷該網頁的候選名稱第一集合中的候選名稱是否與該最大的重復子序列相關,相關的候選名稱構成候選名稱第二集合。
7.按照權利要求1所述的方法,其中,所述單頁候選名稱確定步驟包括: 名稱去除步驟,去除屬于預定 集合的候選名稱;模板過濾步驟,把通過名稱去除步驟的候選名稱代入預定模板,去除與任何預定模板不相匹配的候選名稱; 長度過濾步驟,針對通過模板過濾的候選名稱,去除其長度在預定閾值以外的部分,經過長度過濾的候選名稱作為該網頁的候選名稱。
8.按照權利要求1所述的方法,其中,在所述多頁候選名稱過濾步驟中, 針對來自多個網頁的候選名稱,計算各個候選名稱與其它候選名稱的相似度,去除與其它候選名稱的相似度低于預定閾值的候選名稱,以未被去除的候選名稱作為查詢詞搜索主題詞,去除搜索不到主題詞的候選名稱,其余候選名稱作為與該主題詞相關的名稱。
9.按照權利要求1所述的方法,其中,在所述名稱排序步驟中, 根據各個名稱的查詢權重、網頁權重、頁內位置權重、內容權重、頻率權重中的一個或多個來確定該名稱的分值,根據該分值對各個名稱進行排序并輸出。
10.一種從網絡中查找與主題詞相關的名稱的設備,包括: 網頁查找裝置,在網絡中查找與主題詞相關的網頁,并對網頁進行過濾和解析; 候選名稱第一提取裝置,根據單個網頁的DOM樹中的圖像節點,提取其中的圖像名稱并與周邊文本匹配后構成候選名稱第一集合; 候選名稱第二提取裝置,將該網頁的DOM樹轉換成代碼序列,在代碼序列中確定重復子序列,在該網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合; 單頁候選名稱確定裝置,根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定該網頁的候選名稱; 多頁候選名稱過濾裝置,針對來自多個網頁的候選名稱,根據候選名稱之間或候選名稱與主題詞的關系進行過濾,得到與該主題詞相關的名稱; 名稱排序裝置,計算各個名稱的分值,根據分值對各個名稱進行排序。
全文摘要
提供一種從網絡中查找與主題詞相關的名稱的方法,包括在網絡中查找與主題詞相關的網頁,對網頁進行過濾和解析;根據單網頁的DOM樹中的圖像節點,提取圖像名稱并與周邊文本匹配后構成候選名稱第一集合;將網頁的DOM樹轉換成代碼序列,在其中確定重復子序列,在網頁的候選名稱第一集合中,提取與重復子序列相對應的候選名稱,構成候選名稱第二集合;根據預定規則及預定模板來對候選名稱第二集合進行過濾,確定網頁的候選名稱;針對來自多個網頁的候選名稱,根據候選名稱之間或其與主題詞的關系進行過濾,得到與主題詞相關的名稱;計算各個名稱的分值,根據分值對各個名稱進行排序。還相應地提供一種從網絡中查找與主題詞相關的名稱的設備。
文檔編號G06F17/30GK103150307SQ20111040170
公開日2013年6月12日 申請日期2011年12月6日 優先權日2011年12月6日
發明者謝宣松, 姜珊珊, 孫軍, 鄭繼川 申請人:株式會社理光