SEO算法:中文分詞技術原理與應用!

10個人有9個人不知道中文分詞,也這是很多做SEO的硬傷,如果連最基本的搜索引擎中文分詞技術算法都不知道,只能用一句摸著石頭過河來形容了。深度了解百度中文技術可以讓搜索引擎排名變得簡單化,清晰化。那么如何理解中文分詞技術是本文的核心課點。首先在了解百度中文技術以前要了解一個語義分析系統,搜索引擎不像人的大腦一樣可以很直接的通用意識行為來判別一個網頁的核心主題。
比如我們作為一個用戶看到一篇文章叫做我的父親,對于用戶而言,你最直觀的感覺的就是該網頁文章的核心關鍵詞就是父親,絕對不是我或者的,之所以有這種感覺那是因為所謂用戶來思考,父親是一個名詞,我是代詞,的是助詞。但是對于搜索引擎本身來講它是不可能像人的大腦一樣思考這個意識來決定網頁核心主題的,對于中國人來說,語義分析和詞性則是搜索引擎利用區別網頁核心關鍵詞的主要方式,比如我們都知道中文有名詞、形容詞、動詞、介詞、副詞等等。并且不同的詞性他的含義和作用也完全不一樣,那么搜索引擎如何借助詞性來判斷關鍵詞的核心主題呢?
如果我們從大范圍來講,一個網頁的主題包含的關鍵詞不少,但是真正有價值的關鍵詞其實就那么幾個,并且這些有價值的詞我們暫且稱為核心關鍵詞。從詞性來看,多數這些有價值的詞均為名詞形態,如果不了解該詞到底屬于什么關鍵詞詞性可以通過語義分析系統去識別(網上有很多這類系統,直接百度即可),也可以對照一下自己網站的關鍵詞,核心詞絕對是以名詞為主。
一般來說,核心關鍵詞定位多數都是名詞+動詞,或者名詞+形容詞,比如小明在奔跑,該標題對于用戶來說,都知道核心關鍵詞是小明,沒了小明奔跑就沒有任何價值了。但是對于搜索引擎來說肯定不理解,從上面我們所講到的分詞原理,可以了解到該詞的核心關鍵詞也是小明,因為小明是名詞,奔跑是動詞,也叫做名+動。當然定位核心關鍵詞的首要條件是必須是詞性的頻次相等的情況下才會優先將名詞定位核心關鍵詞,比如漂亮_漂亮同義詞_漂亮的含義,雖然該標題里面漂亮是形容詞,并且也包含了其他名詞,但是為何核心詞是漂亮而不是其他名詞,因為頻次相同才會將名詞定位核心詞,頻次不相同優先將頻次最大的關鍵詞定位核心關鍵詞。
百度分詞的4個原理:
1、基于理解:傻瓜式匹配,小于等于3個中文字符百度是不進行切詞的,比如搜索“大學堂”。
2、基于統計:百度把一個詞標紅的原因:標紅的詞一般是一個關鍵詞,你搜索“學”字的時候,百度它自認的把“學習”也當成了一個關鍵詞,所以出現“學習”這個詞標紅,這就是百度分詞法:基于統計分詞。
3、基于字符串匹配(百度的分詞法:正向最大切詞法)
最大與最小(最大匹配:一直匹配到沒詞可配;最小匹配:匹配出詞了就停止匹配,再從另一個詞開始匹配)比如:百度搜索“湖南大學堂屋頂”,百度的一個分詞算法我們把它當成一個黑盒子,我們通過一些輸入關鍵詞,根據百度的輸出結果來判定百度的分詞算法。正向與反向(正向:從前往后配;反向:從后往前配)(湖南大學堂屋頂)正向分法:湖南大學 堂屋 頂 (劉強大地方法)正向分法:劉 強大 地方 法。反向分法:方法 大地 劉 強。而在這個詞語當中“大地”不是一個詞。
4、基于專有詞庫。比如杰出人物(如:毛澤東)明星(如:劉德華)檢索量大的詞(如:買票難) 。
分詞工具(沒有百度的,要是有,就會出現問題,收集了幾個開源的分詞工具,詳細內容后續補充):
1、ICTCLAS – 全球最受歡迎的漢語分詞系統
2、HTTPCWS – 基于HTTP協議的開源中文分詞系統
3、SCWS – 簡易中文分詞系統
4、PhpanAlysis - PHP無組件分詞系統
5 、MMSEG4J
6、盤古分詞
7、IKAnalyzer 開源的輕量級中文分詞工具包
中文分詞API(百度不提供該服務):
新浪SAE平臺上提供的分詞功能
官網說明:http://apidoc.sinaapp.com/class-SaeSegment.html,SAE分詞系統基于隱馬模型開發出的漢語分析系統,主要功能包括中文分詞、詞性標注、命名實體識別、新詞識別。
調用規則:http://simonfenci.sinaapp.com/index.php?key=simon&wd={語句}
百度分詞的一些猜測:
1. 判斷用戶提交字符串,如果為多個字符串,則通過空格,標點符號,等進行切割。
2. 判斷提交字符串中有無字母或者數字,如果有把字母與數字當作獨立整體,并把這個整體當作切割負,進行前后切割。
3. 判斷切割后的詞組有無重復詞,有當作一個計算。
4. 如果提交為一個字符串,判斷字符串字數,大于4并等于4個字的進行切割,如果小于4個字不進行任何處理。
5. 對照特殊詞庫表進行提取,如果字符串中包含特殊詞進行單獨提取。
6. 進行正向分詞處理。
7. 進行反向分詞處理。
8. 正向分詞結果與反向分詞結果進行對比,如果結果一樣,直接輸出。
9. 如果結果不一樣,輸出最短路徑(詞數最少的)進行輸出。
10. 如果長度一樣進行則輸出單子最少的結果。
11. 如果單子最少結果一樣,則輸出正向分詞結果。
針對百度索引提示,糾錯原理。
1.判讀詞組,1個字的詞不進行提示,大于1個字開啟提示功能。
1.進行同音字提示,如果詞數過多,提取用戶搜索最多詞組進行提示。
除以上外,我們還需要注意一點,那就是現在分詞中進行了語意相關結合:
舉個例子我們常常在搜索某些詞的時候會發現有些結果中并不是完全匹配的詞也進行了飄紅。其實這種情況就是語意結合。我們可以理解為百度把相關詞表進行了關聯,或者干脆進行了表結合。造成了這種情況的出現。
比如我們搜索太原,我們會發現太原與太原市都進行了飄紅。