目前搜索引擎的應用越來越廣,是網民的上網必備工具。
在中國使用廣泛的搜索引擎主要有:baidu google 中搜 北大天網 一搜 搜狗 還有一些專業的搜索,比如海量做的音樂搜索 http://www.1234567.com 還有 西祠胡同 的創始人 做的 http://www.pagou.com ,這些都是做的挺不錯。由此可見,搜索引擎的市場還是非常龐大的。尤其是baidu的成功上市,給業界很大的鼓舞。
目前的主要搜索引擎的模式都是,用戶輸入一些關鍵字或者句子,無論是那種,搜索引擎都會首先對用戶的輸入進行分詞,這樣可以增加搜索結果的準確性,這是和普通數據庫搜索的不同點(普通的數據庫搜索,只是簡單的用 like %關鍵字%),然后搜索引擎去海量的索引庫去查找這些和用戶輸入相關的信息,顯示的結果會包含網頁的相關摘要。
中文搜索引擎相關的技術包含:網絡蜘蛛,中文分詞,索引庫,網頁摘要的提取,網頁相似度,信息的分類。
1。網絡蜘蛛
網絡蛛蛛是指對浩瀚網絡抓取信息的程序,他們往往是多線程,不分晝夜的抓取網絡信息,同時要防止對某個站點抓取過快,導致信息提供方服務器過載。
網絡蜘蛛的基本原理:先從一個起始頁面(建議從yahoo中文目錄或者dmoz中文目錄)開始抓取,獲取此頁面內容,摘要,然后提取頁面所有連接,蜘蛛接著抓取這些連接,一直源源不斷的抓取。這些只是基本原理,實際應用要復雜很多,你可以試著自己寫一個蜘蛛,我曾經用PHP寫過(PHP不能多線程,缺陷。)
2。中文分詞
中文分詞一直是中文搜索引擎的關鍵點,中文不同英文,英文每個單詞是用空格分開,而中文一個句子往往是一些詞的連結,沒有分割符,人可以很容易的看懂句子的意思,但是計算機很難開懂。
目前我了解的中文分詞方法(據說有老外的不用詞典的中文分詞方法),幾乎都是有自己的中文詞典,分詞時去詞典匹配,達到分詞目的,分詞的好壞,和詞典關系很大。你可以看我上篇文章,是用PHP寫的中文分詞方法。
目前很多高校語言學的碩士論文都寫的這個
baidu用的自己開發分詞方法,google用的第3方的分詞方法。。
海量中文分詞挺不錯,不過是商業的。。
獵兔的中文分詞方法也不錯,不過是.so的,無法研究
3。索引庫
搜索引擎都不會用已經成型的數據庫系統,他們是自己開發的類似數據庫功能的東西。
搜索引擎需要保存大量網頁信息,快照,關鍵字索引(建議應該也保存網頁的截圖,我在研究中),所以數據量特別大。
4。網頁摘要的提取
網頁摘要是指對某個網頁信息的總結(初中語文課,老師經常讓總結文章的中心思想,就這個意思,我最怕老師提問讓我總結,人總結都這么難,現在讓計算機總結,天啦),搜索引擎搜索結果里,往往會有網頁標題下面,會有些介紹,讓搜索者很容易的發現此文章是不是想要的信息。
5。網頁相似度
網上經常有很多內容一樣的網站,比如說同一條新聞,各大門戶網站都會發布,它們的新聞內容都是一樣的。還有一些個人網站,尤其是偷別人網站資料的網站,和別人網站搞的一模一樣(我搞過,在此ps下自己),這樣的網站毫無意義,搜索引擎會自動區分,降低其權值(baidu最狠,直接封站,我嘗試過)。
目前我研究的計算網頁相似度的幾種方法如下:
1) 根據網頁摘要來比較,如果多個網頁摘要的md5值一樣,證明這些網頁有很高的相似性
2) 根據網頁出現關鍵詞,按照詞頻排序,可以取N個詞頻高的,如果md5值一樣,證明這些網頁有很高的相似性。
google baidu 的新聞,是對此技術的應用。
目前很多高校的數據挖掘專業的研究生論文都寫的這個
6。信息的自動分類
網絡的信息實在是太龐大了,如何對其進行分類,是搜索引擎面臨的難題。要讓計算機對數據自動分類,先要對計算機程序進行培訓,目前我正在研究中
爬狗做的不錯。
以上是我個人對搜索引擎了解后的看法,均為柳志強原創,其中難免有認識不全面或者錯誤的,懇請各位同仁指正(別砸我就行)!
在中國使用廣泛的搜索引擎主要有:baidu google 中搜 北大天網 一搜 搜狗 還有一些專業的搜索,比如海量做的音樂搜索 http://www.1234567.com 還有 西祠胡同 的創始人 做的 http://www.pagou.com ,這些都是做的挺不錯。由此可見,搜索引擎的市場還是非常龐大的。尤其是baidu的成功上市,給業界很大的鼓舞。
目前的主要搜索引擎的模式都是,用戶輸入一些關鍵字或者句子,無論是那種,搜索引擎都會首先對用戶的輸入進行分詞,這樣可以增加搜索結果的準確性,這是和普通數據庫搜索的不同點(普通的數據庫搜索,只是簡單的用 like %關鍵字%),然后搜索引擎去海量的索引庫去查找這些和用戶輸入相關的信息,顯示的結果會包含網頁的相關摘要。
中文搜索引擎相關的技術包含:網絡蜘蛛,中文分詞,索引庫,網頁摘要的提取,網頁相似度,信息的分類。
1。網絡蜘蛛
網絡蛛蛛是指對浩瀚網絡抓取信息的程序,他們往往是多線程,不分晝夜的抓取網絡信息,同時要防止對某個站點抓取過快,導致信息提供方服務器過載。
網絡蜘蛛的基本原理:先從一個起始頁面(建議從yahoo中文目錄或者dmoz中文目錄)開始抓取,獲取此頁面內容,摘要,然后提取頁面所有連接,蜘蛛接著抓取這些連接,一直源源不斷的抓取。這些只是基本原理,實際應用要復雜很多,你可以試著自己寫一個蜘蛛,我曾經用PHP寫過(PHP不能多線程,缺陷。)
2。中文分詞
中文分詞一直是中文搜索引擎的關鍵點,中文不同英文,英文每個單詞是用空格分開,而中文一個句子往往是一些詞的連結,沒有分割符,人可以很容易的看懂句子的意思,但是計算機很難開懂。
目前我了解的中文分詞方法(據說有老外的不用詞典的中文分詞方法),幾乎都是有自己的中文詞典,分詞時去詞典匹配,達到分詞目的,分詞的好壞,和詞典關系很大。你可以看我上篇文章,是用PHP寫的中文分詞方法。
目前很多高校語言學的碩士論文都寫的這個
baidu用的自己開發分詞方法,google用的第3方的分詞方法。。
海量中文分詞挺不錯,不過是商業的。。
獵兔的中文分詞方法也不錯,不過是.so的,無法研究
3。索引庫
搜索引擎都不會用已經成型的數據庫系統,他們是自己開發的類似數據庫功能的東西。
搜索引擎需要保存大量網頁信息,快照,關鍵字索引(建議應該也保存網頁的截圖,我在研究中),所以數據量特別大。
4。網頁摘要的提取
網頁摘要是指對某個網頁信息的總結(初中語文課,老師經常讓總結文章的中心思想,就這個意思,我最怕老師提問讓我總結,人總結都這么難,現在讓計算機總結,天啦),搜索引擎搜索結果里,往往會有網頁標題下面,會有些介紹,讓搜索者很容易的發現此文章是不是想要的信息。
5。網頁相似度
網上經常有很多內容一樣的網站,比如說同一條新聞,各大門戶網站都會發布,它們的新聞內容都是一樣的。還有一些個人網站,尤其是偷別人網站資料的網站,和別人網站搞的一模一樣(我搞過,在此ps下自己),這樣的網站毫無意義,搜索引擎會自動區分,降低其權值(baidu最狠,直接封站,我嘗試過)。
目前我研究的計算網頁相似度的幾種方法如下:
1) 根據網頁摘要來比較,如果多個網頁摘要的md5值一樣,證明這些網頁有很高的相似性
2) 根據網頁出現關鍵詞,按照詞頻排序,可以取N個詞頻高的,如果md5值一樣,證明這些網頁有很高的相似性。
google baidu 的新聞,是對此技術的應用。
目前很多高校的數據挖掘專業的研究生論文都寫的這個
6。信息的自動分類
網絡的信息實在是太龐大了,如何對其進行分類,是搜索引擎面臨的難題。要讓計算機對數據自動分類,先要對計算機程序進行培訓,目前我正在研究中
爬狗做的不錯。
以上是我個人對搜索引擎了解后的看法,均為柳志強原創,其中難免有認識不全面或者錯誤的,懇請各位同仁指正(別砸我就行)!
上一篇:
關于網站宣傳方式、方案的一點個人見解
