[摘 要]隨著全球經濟一體化步伐的加快,國內和國際市場競爭日益激烈,南康家具企業為了使自身能夠在激烈的市場競爭中處于有利的地位,更加關注競爭環境、競爭對手、競爭態勢、競爭策略等相關信息,情報信息的競爭已經成為南康家具企業在市場競爭中的一個重要關注面[1]。據統計,近些年競爭情報分析中所需的90%信息來源于互聯網,但互聯網上各類信息都在以幾何級數增長,使得通過傳統的情報信息采集器從互聯網中獲取的信息中包含著大量的與南康家具企業無關的信息,這些信息無疑會加大系統負擔,因此,本文開展對南康家具企業競爭情報信息采集器的研究是必要的。本文在對開源搜索引擎項目Nutch研究的基礎上,設計并實現了南康家具企業競爭情報信息采集器。
[關鍵詞]南康家具企業競爭情報,信息采集器,Nutch
中圖分類號:G350 文獻標識碼:A 文章編號:1009-914X(2014)24-0347-01
1.引言
隨著Internet的高速發展,互聯網已經成為人們獲取信息的主要來源,以Google、百度等為代表的通用信息檢索工具,極大地方便了我們從互聯網上獲取所需的信息。然而,南康家具企業更關心與自身息息相關的主題領域信息,因此也希望搜索引擎采集到的信息具有主題性、準確性、時效性,在當前Web信息爆炸式增長的環境下,通用搜索引擎對于這些要求就顯得力不從心了。
2.總體架構分析
南康家具企業競爭情報信息采集器是在通用搜索引擎的基礎上發展起來的,它采用了南康家具企業競爭采集技術對互聯網中的信息進行采集,采集器將選擇性地搜尋那些與預先定義好的主題相關的頁面。南康家具企業競爭情報系統中的情報信息采集器應能夠根據南康家具企業需求,對南康家具企業關心的主題信息進行采集,本文根據實際需求。
南康家具企業競爭情報信息采集器的體系結構具體分析如下:
(1)Spider是任何搜索引擎不可缺少的部分,它通過各種Web協議自動采集URL所對應的頁面內容。本文采用開源搜索引擎Nutch中的Crawler作為Spider對待采集隊列中的URL進行采集。
(2)頁面分析,對采集到的頁面進行內容和鏈接抽取,南康家具企業競爭情報信息采集器繼承了Nutch插件機制,可根據采集的文件類型調用相應文件解析插件,如對于HTML、PDF、WORD分別調用HtmlParser、PdfParser、MSWordParser對頁面內容進行解析和鏈接的抽取。
(3)基于主題樹的分類插件,系統中情報信息的加工、瀏覽、推薦等操作都是基于主題樹方式,主題樹中的不同節點代表著不同的情報類別,因此,應對采集到的頁面基于主題樹進行分類。將對基于主題樹的分類插件進行設計,通過該插件可對頁面內容進行基于主題樹的分類,并返回在分類過程中獲得的最大相似度值。
3.關鍵功能設計
眾所周之,英文單詞與單詞之間以空格分割,而中文是以字為單位,中文文檔中詞與詞之間并沒有明顯的邊界標志[5]。把中文文檔中的漢字序列分割成有意詞的序列就是中文分詞,中文分詞是對中文文檔進分類的基礎和關鍵。Nutch提供了搜索引擎的全部工具,但是它本身并不支持中文分詞,為了南康家具企業競爭情報信息采集器能夠對中文文檔正確處理,因此,在對Nutch插件機制研究的基礎上,設計并實現了中文分詞插件,為南康家具企業競爭情報信息采集器提供中文分詞的支持;設計并實現了基于主題樹的分類插件,完成對主題信息和鏈接過濾。
3.1 中文分詞功能
系統是在對Nutch插件機制研究的基礎上,設計并實現了中文分詞功能的。
Nutch將可擴展部分設計成為插件擴展點,每個擴展點對應Nutch中的一個抽象類,通過插件擴展Nutch時,須針對某個擴展點進行擴展,即擴展插件必須繼承這個擴展點的抽象類,并對抽象類中方法進行實現,以完成新增功能[7]。Nutch在實際運行時,首先通過配置文件將所有注冊的插件加載到內存中,當系統運行到某個擴展點時,通過工廠模式讀取配置文件中插件屬性值以獲得此擴展點的所有插件,然后再根據處理的對象調用將此對象的實例化并進行處理。南康家具企業競爭情報信息采集器的中文分詞插件是通過對NutchAnalyzer擴展點進行擴展實現的。
若使中文分詞插件能夠正常工作還需要通過以下五個方面的輔助工作:
(1)Nutch通過擴展NutchAnalyser實現對多語言分詞支持,而插件languageidentifier是對文檔進行語言標識,Nutch對文檔進行分詞時需根據文檔的語言標識調用相應的語言分詞插件。為使得中文分詞插件在恰當時能被調用,應為系統加入中文語言標示。首先,通過插件languageidentifier的NGramProfile類可生成后綴名為ngp文件,為了使其能夠對中文文檔進行正確識別,該類的輸入應為包含一定數量中文詞匯的文本,經訓練后生成zh.ngp文件。
(2)中文分詞插件編譯,通過編譯工具對中文分詞插件的進行編譯,并將編譯好的中文分詞插件添加到系統開發構建路徑中。
(3)中文分詞插件注冊,當對中文分詞插件編譯后還需通過修改南康家具企業競爭情報信息采集器中的配置文件,將創建的插件加入到南康家具企業競爭情報信息采集器中,即對配置文件中包含插件信息的屬性所對應的參數值進行修改,加入語言標示插件和中文分詞插件。
至此,南康家具企業競爭情報信息采集器在對采集內容進行分析時,可調用語言標示插件獲取文檔類型,然后再根據文檔類型調用相應的分詞插件,若語言標示插件返回的文檔類型為中文,系統將會自動調用中文分詞插件對文檔進行分詞。基于本文采用了插件機制引入中文分詞,因此系統可根據實際工程需求動態調整中文分詞技術,從而實現動態分析插件的更替。
3.2 基于主題樹的分類功能
本文中對于情報信息的加工和瀏覽都是基于主題樹的,主題樹中的不同節點代表著不同的情報類別,因此,應對采集到的頁面內容需要進行基于主題樹的分類。本文中基于主題樹的分類策略首先是以root(主題樹的根結點,當主題樹為空時只有root節點)節點作為當前節點;然后判斷當前節點是否有子節點,若有子節點,則將頁面內容同當前節點的子節點對應的訓練文本進行主題相似度計算并返回最大主題相似度值,否則,算法結束;將取得的最大主題相似度值的節點作為當前節點,并轉到第二步。為了提高基于主題樹分類的靈活性和可擴展性,結合插件原理和機制,在系統中將主題樹分類器也設計成了插件形式,實現了基于主題樹的分類插件.
5.總結與展望
本文在對情報信息采集的需求進行了詳細分析基礎上,深入研究了開源搜索引擎項目Nutch的框架結構、插件機制、語言支持等相關技術,實現了對互聯網中南康家具企業競爭情報信息的自動采集。通過插件機制實現了南康家具企業情報采集器對中文的支持,通過基于主題樹的分類插件實現了主題信息和頁面鏈接的過濾,在此基礎上系統中情報信息采集的實際需求,設計并實現了控制靈活的南康家具企業競爭情報信息采集器,完成了對采集信息內容的主題分類和URL主題相關性的預測,并成功地與系統進行了集成,實踐表明采集器能夠實現對互聯網中主題相關的情報信息采集和發現。
參考文獻
[1] 包昌火,謝新洲,張燕,李娜,南康家具企業競爭情報系統[M],北京,華夏出版社2002,1:33-36.
[關鍵詞]南康家具企業競爭情報,信息采集器,Nutch
中圖分類號:G350 文獻標識碼:A 文章編號:1009-914X(2014)24-0347-01
1.引言
隨著Internet的高速發展,互聯網已經成為人們獲取信息的主要來源,以Google、百度等為代表的通用信息檢索工具,極大地方便了我們從互聯網上獲取所需的信息。然而,南康家具企業更關心與自身息息相關的主題領域信息,因此也希望搜索引擎采集到的信息具有主題性、準確性、時效性,在當前Web信息爆炸式增長的環境下,通用搜索引擎對于這些要求就顯得力不從心了。
2.總體架構分析
南康家具企業競爭情報信息采集器是在通用搜索引擎的基礎上發展起來的,它采用了南康家具企業競爭采集技術對互聯網中的信息進行采集,采集器將選擇性地搜尋那些與預先定義好的主題相關的頁面。南康家具企業競爭情報系統中的情報信息采集器應能夠根據南康家具企業需求,對南康家具企業關心的主題信息進行采集,本文根據實際需求。
南康家具企業競爭情報信息采集器的體系結構具體分析如下:
(1)Spider是任何搜索引擎不可缺少的部分,它通過各種Web協議自動采集URL所對應的頁面內容。本文采用開源搜索引擎Nutch中的Crawler作為Spider對待采集隊列中的URL進行采集。
(2)頁面分析,對采集到的頁面進行內容和鏈接抽取,南康家具企業競爭情報信息采集器繼承了Nutch插件機制,可根據采集的文件類型調用相應文件解析插件,如對于HTML、PDF、WORD分別調用HtmlParser、PdfParser、MSWordParser對頁面內容進行解析和鏈接的抽取。
(3)基于主題樹的分類插件,系統中情報信息的加工、瀏覽、推薦等操作都是基于主題樹方式,主題樹中的不同節點代表著不同的情報類別,因此,應對采集到的頁面基于主題樹進行分類。將對基于主題樹的分類插件進行設計,通過該插件可對頁面內容進行基于主題樹的分類,并返回在分類過程中獲得的最大相似度值。
3.關鍵功能設計
眾所周之,英文單詞與單詞之間以空格分割,而中文是以字為單位,中文文檔中詞與詞之間并沒有明顯的邊界標志[5]。把中文文檔中的漢字序列分割成有意詞的序列就是中文分詞,中文分詞是對中文文檔進分類的基礎和關鍵。Nutch提供了搜索引擎的全部工具,但是它本身并不支持中文分詞,為了南康家具企業競爭情報信息采集器能夠對中文文檔正確處理,因此,在對Nutch插件機制研究的基礎上,設計并實現了中文分詞插件,為南康家具企業競爭情報信息采集器提供中文分詞的支持;設計并實現了基于主題樹的分類插件,完成對主題信息和鏈接過濾。
3.1 中文分詞功能
系統是在對Nutch插件機制研究的基礎上,設計并實現了中文分詞功能的。
Nutch將可擴展部分設計成為插件擴展點,每個擴展點對應Nutch中的一個抽象類,通過插件擴展Nutch時,須針對某個擴展點進行擴展,即擴展插件必須繼承這個擴展點的抽象類,并對抽象類中方法進行實現,以完成新增功能[7]。Nutch在實際運行時,首先通過配置文件將所有注冊的插件加載到內存中,當系統運行到某個擴展點時,通過工廠模式讀取配置文件中插件屬性值以獲得此擴展點的所有插件,然后再根據處理的對象調用將此對象的實例化并進行處理。南康家具企業競爭情報信息采集器的中文分詞插件是通過對NutchAnalyzer擴展點進行擴展實現的。
若使中文分詞插件能夠正常工作還需要通過以下五個方面的輔助工作:
(1)Nutch通過擴展NutchAnalyser實現對多語言分詞支持,而插件languageidentifier是對文檔進行語言標識,Nutch對文檔進行分詞時需根據文檔的語言標識調用相應的語言分詞插件。為使得中文分詞插件在恰當時能被調用,應為系統加入中文語言標示。首先,通過插件languageidentifier的NGramProfile類可生成后綴名為ngp文件,為了使其能夠對中文文檔進行正確識別,該類的輸入應為包含一定數量中文詞匯的文本,經訓練后生成zh.ngp文件。
(2)中文分詞插件編譯,通過編譯工具對中文分詞插件的進行編譯,并將編譯好的中文分詞插件添加到系統開發構建路徑中。
(3)中文分詞插件注冊,當對中文分詞插件編譯后還需通過修改南康家具企業競爭情報信息采集器中的配置文件,將創建的插件加入到南康家具企業競爭情報信息采集器中,即對配置文件中包含插件信息的屬性所對應的參數值進行修改,加入語言標示插件和中文分詞插件。
至此,南康家具企業競爭情報信息采集器在對采集內容進行分析時,可調用語言標示插件獲取文檔類型,然后再根據文檔類型調用相應的分詞插件,若語言標示插件返回的文檔類型為中文,系統將會自動調用中文分詞插件對文檔進行分詞。基于本文采用了插件機制引入中文分詞,因此系統可根據實際工程需求動態調整中文分詞技術,從而實現動態分析插件的更替。
3.2 基于主題樹的分類功能
本文中對于情報信息的加工和瀏覽都是基于主題樹的,主題樹中的不同節點代表著不同的情報類別,因此,應對采集到的頁面內容需要進行基于主題樹的分類。本文中基于主題樹的分類策略首先是以root(主題樹的根結點,當主題樹為空時只有root節點)節點作為當前節點;然后判斷當前節點是否有子節點,若有子節點,則將頁面內容同當前節點的子節點對應的訓練文本進行主題相似度計算并返回最大主題相似度值,否則,算法結束;將取得的最大主題相似度值的節點作為當前節點,并轉到第二步。為了提高基于主題樹分類的靈活性和可擴展性,結合插件原理和機制,在系統中將主題樹分類器也設計成了插件形式,實現了基于主題樹的分類插件.
5.總結與展望
本文在對情報信息采集的需求進行了詳細分析基礎上,深入研究了開源搜索引擎項目Nutch的框架結構、插件機制、語言支持等相關技術,實現了對互聯網中南康家具企業競爭情報信息的自動采集。通過插件機制實現了南康家具企業情報采集器對中文的支持,通過基于主題樹的分類插件實現了主題信息和頁面鏈接的過濾,在此基礎上系統中情報信息采集的實際需求,設計并實現了控制靈活的南康家具企業競爭情報信息采集器,完成了對采集信息內容的主題分類和URL主題相關性的預測,并成功地與系統進行了集成,實踐表明采集器能夠實現對互聯網中主題相關的情報信息采集和發現。
參考文獻
[1] 包昌火,謝新洲,張燕,李娜,南康家具企業競爭情報系統[M],北京,華夏出版社2002,1:33-36.