觸屏版
全國服務(wù)熱線:0571-87205688
登錄
注冊
客戶中心
關(guān)注云客
最近,接手了一個大型的網(wǎng)站,首先要做的就的對這個網(wǎng)站的流量來源進行分析,這其中最繁瑣的莫過于對來源關(guān)鍵詞的聚類整合了。
所謂關(guān)鍵詞聚類就是以領(lǐng)域特征明顯的詞和短語作為聚類對象,在分類系統(tǒng)的大規(guī)模層級分類語料庫中,利用獨創(chuàng)的文本分類的特征提取算法進行詞語的領(lǐng)域聚類,通過控制詞語頻率的影響,分別獲取領(lǐng)域通用詞和領(lǐng)域?qū)n愒~。
所以,要想做好這類做關(guān)鍵詞的聚類,就一定要有一些基礎(chǔ)信息,基礎(chǔ)數(shù)據(jù)作為背景。在此,我就借助博客的平臺跟大家實例解析關(guān)鍵詞聚類的方法策略:
1、百度商業(yè)詞聚類模型
現(xiàn)在對于一些醫(yī)療SEO來說看行業(yè)新聞,大家經(jīng)常討論一個話題就是百度醫(yī)療行業(yè)的收入貢獻比是多少?,其實,爆個大料給大家,在2005年甚至2006年之前,百度自己都不掌握這類數(shù)據(jù)。
當時百度有一個簡單的客戶分類,是客服提交的,然后我們看了一下消費的行業(yè)分布,結(jié)果顯示超過50%屬于其他分類,這個結(jié)果基本上就沒法看了。
然后我就琢磨,用商業(yè)詞能不能直接聚類為行業(yè),當時我在產(chǎn)品部門,合作反欺詐點擊的工程師是張懷亭,這是個算法高手,他當年的畢業(yè)論文就是關(guān)聯(lián)規(guī)則和聚類算法,我就去請教他,他說了一堆,我大部分沒聽懂,但大概要點知道了一些,然后找他要了論文看了看,也沒太看明白,憑借自己粗淺的理解我就動手了,然后這個還真做成了。
我的出發(fā)點就是假設(shè)客戶本身具有行業(yè)屬性(如果這個假設(shè)不存在,那就沒轍了),我認為每個客戶提交的關(guān)鍵詞,彼此是有關(guān)聯(lián)的。某兩個關(guān)鍵詞如果同時被不同的客戶提交,其關(guān)聯(lián)性就會隨之增加,這個是最基本的一個定義,叫做共同推舉數(shù),也是最容易算的一個值。
但是僅僅依賴于共同推舉數(shù)有一個問題,就是會導(dǎo)致很多詞都和熱門詞關(guān)聯(lián),這是不合理的,我記得當時好像是某網(wǎng)上書城的推薦購買那一欄,明顯都是熱門書籍,似乎也是基于共同推舉數(shù)做的關(guān)聯(lián)。
問題1:A和B有50個共同推舉,A和C有30個共同推舉,但是B這個詞是熱門詞,共有2000個客戶提交;而C是冷門詞,只有50個客戶提交,請問A和B的關(guān)聯(lián)度高還是A和C的關(guān)聯(lián)度高?
問題2:客戶1提交了10000個詞(類似阿里真的是這么提交的);客戶2提交了20個詞,客戶1所提交的10000個詞的彼此關(guān)聯(lián)度和客戶2之間提交的是否一致?
考慮這兩個問題,就需要做權(quán)值調(diào)整了,然后再計算詞與詞的關(guān)聯(lián)值。那么,權(quán)值該怎么定呢?
對于這個權(quán)值的設(shè)定做了一個程序,實現(xiàn)程序只用了不到一個下午,然后跑一遍程序大約1個小時到2個小時(那時候百度的商業(yè)詞還沒那么多,客戶也沒現(xiàn)在呢么多,我的程序其實效率不夠好)。
然后我做了一個web展示界面,就是任意輸入一個詞,列出其關(guān)聯(lián)詞及關(guān)聯(lián)值,目測壞案例,分析參數(shù)的問題,然后修改參數(shù),再跑一遍。跑了n多遍,大約兩三天時間,覺得結(jié)果差不多了,詞與詞的關(guān)聯(lián)建立起來了,考慮第二步,聚類。(當時認識了很多奇葩的商業(yè)詞,大開眼界,對互聯(lián)網(wǎng)行業(yè)認識徹底改觀,比如白小姐,黃大仙 ,這個領(lǐng)域就不再說了)
覺得聚類的做法就極為簡單了,把每個行業(yè)的代表詞(與很多詞關(guān)聯(lián)的)抽取出來,當作核心詞,然后基于詞的關(guān)聯(lián),延展一級關(guān)聯(lián)、二級關(guān)聯(lián)、三級關(guān)聯(lián),比如A與B關(guān)聯(lián),B月C關(guān)聯(lián),C與D關(guān)聯(lián),計算彼此權(quán)值衰減,得出A與D的關(guān)聯(lián)。盡可能把所有詞聚合到核心詞上,作成行業(yè)詞表。
最開始核心詞我從庫里挑與其他詞關(guān)聯(lián)度較高的有20多個,然后多級權(quán)值衰減也是假設(shè)的,然后跑一遍,看兩個指標,第一、覆蓋率是多少?第二、準確率如何?選取每個行業(yè)關(guān)聯(lián)度最低的詞(壞案例的密度較高,有些詞會同時被兩個行業(yè)核心詞關(guān)聯(lián),但權(quán)值計算會出問題,導(dǎo)致被并入錯誤的行業(yè))去看,選擇沒有被關(guān)聯(lián)上的詞去看,分析權(quán)值的問題,然后修改衰減參數(shù),增加核心詞。這個程序我也是寫了一個下午,但是調(diào)試權(quán)值和增加核心詞,做了一個禮拜。
然后,百度商業(yè)分析部終于可以推出,基于行業(yè)的收入報表。我自豪的說一句,百度做收入行業(yè)分布,是基于我的關(guān)鍵詞分類算法開始的,當然,今天他們鳥槍換炮了,我的算法效率不夠(初期還行,到更大的詞規(guī)模和更多客戶就不行了),覆蓋率和準確度并不十分完美(壞案例還是一直存在的,不過盡可能控制在消費總額的10%內(nèi),對熱門詞比較準,但對一些長尾控制不?。2贿^、我是在產(chǎn)品部門干的這個活,呵呵。
后來,這個模型還用于智能起價,下面再說一下關(guān)于智能起價的一些事。
智能起價其實是百度一個失敗的商業(yè)嘗試,對業(yè)務(wù)的傷害非常大,但是初期的設(shè)計理念并沒有大問題,百度當時基于關(guān)鍵詞的競價(當時的競價模式非常簡單,別跟我說現(xiàn)在百度的競價模式不這樣,我明白),對商業(yè)價值的挖掘是有缺陷的,比如一些超級熱門詞,3毛一個點擊也是賣不掉的(比如電影,小游戲)。是不是可以便宜點賣呢?對一些非但是價值很高的詞,因為發(fā)現(xiàn)的客戶少,所以起價很低,而其商業(yè)價值并不弱,比如 最新SEO技術(shù)的報價 這樣的長尾詞可能參與競價的只有一兩個客戶,但是其商業(yè)價值不會低于 SEO技術(shù) 這樣的高價詞。
所以,智能起價真正的目的,是給熱門非商業(yè)詞降價,給冷門長尾商業(yè)詞提價。
那么我就提出一個觀點,關(guān)鍵詞的起價應(yīng)與他關(guān)聯(lián)詞的平均點擊價格相關(guān)。然后他們拿這個模型去跟領(lǐng)導(dǎo)講,很快就通過了。(牢騷一句,趙某童鞋去講的,被領(lǐng)導(dǎo)問毛了,就說算法是技術(shù)部門的,他也不是很清楚,他去講的時候明明是我提供的原型! 不過后來技術(shù)部門又做了一版,但那是后話了)
智能起價模型失敗的原因,有兩個原因:
(1)、他們上的時候為了提高對非商業(yè)詞的覆蓋率,硬把關(guān)鍵詞包含規(guī)則加上去了。導(dǎo)致了一些壞案例。(比如平板,平板電腦,并不是一個行業(yè))。當時效果很不好,領(lǐng)導(dǎo)很不爽,批評我的壞案例太多,列了一堆,我挨個去查,所列的沒有一個是我算法算出來的,都是詞包含包進去的。其實這個問題還不算嚴重,詞包含固然有壞案例,但是影響面極為有限。
(2)、就是領(lǐng)導(dǎo)太急迫了,這個事情我的建議是,起價權(quán)值低一點(通過算法計算每個詞關(guān)聯(lián)平均價格,然后關(guān)聯(lián)平均價格*起價參數(shù)=該詞起價,這是基本公式,起價參數(shù)全憑個人判斷),看效果慢慢調(diào)整,結(jié)果領(lǐng)導(dǎo)一上來設(shè)的相當高,所以,客戶極大不爽,各種擦屁股持續(xù)了幾個月,百度那個季度實在可憐。
鳳巢之后,智能起價終于壽終正寢。鳳巢的方案更完美,更綜合,這是必須承認的。
2、搜索詞/指數(shù)詞的聚類
當然,除了以上所述的,也可以基于搜索網(wǎng)民的提交來計算關(guān)聯(lián)度,但是首先,網(wǎng)民的搜索行為,并不如客戶提交商業(yè)詞行為那樣具有分類屬性。其次,我當時的處理能力也搞不定這樣的數(shù)據(jù)規(guī)模的關(guān)聯(lián)計算。
那么基于什么呢?基于關(guān)鍵詞+搜索量。
這事又是懷亭幫忙,當時他幫我做所有搜索記錄的整理,包括匯總和反刷處理,除了一些ip,客戶端標記清理外,最重要的還有一個規(guī)則,是基于渠道分布和客戶端分布規(guī)則。
正常的搜索詞,來自于不同渠道的比例應(yīng)該是遵循一個合理分布比例的,所謂渠道包括百度官網(wǎng),hao123,其他聯(lián)盟渠道等等,如果嚴重不遵守這個比例,基本就是刷指數(shù)了,但這個規(guī)則沒有應(yīng)用到百度指數(shù)上,至少當時沒應(yīng)用到,原因似乎是這樣的,當時幾乎所有榜單上的熱門女星,似乎都有經(jīng)紀公司或粉絲團的刷榜行為。所以當時我手里有百度所有搜索詞的搜索數(shù)據(jù)(清理掉刷指數(shù)的數(shù)據(jù)),而且每日更新。
那么怎么分類呢?如果做全分類,我真做不到,但是熱門詞是可以做的。這里有一個要點,就是每個熱門關(guān)鍵詞,都不是孤立存在的。而這些熱門詞的相關(guān)詞(基于詞包含)里,會攜帶一些表明其行業(yè)屬性的詞根,然后可以回溯這個熱門詞的行業(yè)屬性。
舉個例,比如某一個熱門游戲,魔獸, 會有大量諸如魔獸攻略,魔獸新服,魔獸道具,魔獸外掛等等相關(guān)詞。通過這些相關(guān)詞的詞根(可以對詞根標記分類屬性)回溯原詞,以及原詞所有相關(guān)詞的分類。比如電視劇,常見詞根有 第**集,最新集 ,一個小說,常見詞根有 第**章 , 最新章節(jié) 等。
當然,還有一個情況,有些詞是多含義的,比較典型如蘋果(IT產(chǎn)品,電影,水果)。武林外傳(電視劇,游戲)等。通過詞根的分析,并基于不同詞根下的搜索量加權(quán),得到該詞的搜索屬性,偏向哪個領(lǐng)域,或各個領(lǐng)域的比例,是的,不是很精確,但是還是有一定價值的。
建議的實現(xiàn)方法就是,針對每個未分類的熱門詞,去遍歷包含他的所有詞,然后基于預(yù)先定義的分類詞根去套,對包含每個分類詞根的長尾詞根據(jù)搜索量加權(quán),匯總得到該熱門詞的分類屬性,以及覆蓋包含該熱門詞的所有長尾詞的分類屬性。
這個算法思路,不適合對長尾詞挖掘(含有行業(yè)屬性詞根的長尾詞可以覆蓋,但是畢竟覆蓋率不夠),但是對百度熱榜可以有很好的幫助,對熱門詞的挖掘和自動分類還是有一定把握的,當時不少人抱怨我說百度熱榜更新不及時,一些新游戲都很火了也進不了熱榜,我就拉著百度熱榜的產(chǎn)品經(jīng)理和技術(shù)分享過,還提供過原型代碼,然后也沒有然后了。
至少當時,我能不斷看到網(wǎng)民搜索行為的分類比例(百度長尾詞太多,我的模型覆蓋搜索量只有50%左右),以及變化趨勢,比如眼看著視頻類的搜索比例快速增長。
評論(0人參與,0條評論)
發(fā)布評論
最新評論