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