具體上一篇SEO數據分析文章已經隔了很久了,今天有個朋友網上問我,有了詞庫怎么維護。正好借這個機會談談這個問題。 在獲取到大量關鍵詞后,首先要對這些詞進行處理,在我實際工作中,總結以下幾個項目我做過或者覺得有必要做的事情。
提取實體(通俗點講就是找關鍵詞中的重點詞)
1、去重
2、受控詞表
3、分類
4、提取實體
提取實體的概念就是找關鍵詞中的重點詞。比如 “北京溫泉哪里好”,那這個詞中的”北京 “和”溫泉”這兩個詞是重點,”哪里好”只是一個疑問詞,對主題描述幫助相對比較小。于是我們就需要通過一些技術手段,對關鍵詞進行處理,把中間重要的關鍵詞(實體)取出來。
先看看下面的關鍵詞
處理前
處理后
可以仔細觀察一下兩者的不同。這邊算法有很多種實現方法,鑒于從SEO的角度出發,我們對精確度和召回率的要求,一般都比較低。從0%到80%要花費的心思,可能還沒從80%~100%要花費的心思多。并且不同行業的,會有略微不同的做法。于是我采取以下兩個方法
1.根據詞性刪除停詞符號(多刪一些不要緊)
2.根據tf-idf過濾高頻詞(什么是tf-idf請自行腦補)
這邊說說分詞算法,很多學術派研究了一大堆中文分詞算法,但實際運用起來差別很小。這邊隨便推薦幾個,根據自己會的語言使用。
ICTCLAS http://ictclas.nlpir.org/downloads 語言:Java,C#
CRF++ http://crfpp.sourceforge.net/ 語言: C#
SCWS http://www.xunsearch.com/scws/ 語言: PHP
JIEBA https://pypi.python.org/pypi/jieba/ 語言:Python
分詞也是一門大學問,有興趣可以看看CRF,HMM等模型的邏輯。這邊就不展開講了。
分詞關鍵的問題是要速度快,并且可以自定義詞庫。由于我用的是JIEBA,這方面都能支持。具體可以看看作者個github中的說明https://github.com/fxsjy/jieba/blob/master/README.md
分詞后根據詞性,排除掉”停詞”,就獲取到了我們想要的結果集合。
過濾高頻詞。JIEBA可以對整個文本提取tf-idf值高的詞。這些詞是核心,肯定不可以去掉。
然后根據分詞結果獲取到tf值高的詞,進行人工審核一下,以我們旅游行業詞庫為例,地名是經常出現的詞,tf值可能會非常高,但是絕對不能把它去掉。所以我們需要先準備一份中國地名/景點名詞庫,這個可以在網上搜索下,懶人可以直接用搜狗輸入法的詞庫。
然后高頻詞中還有可能會出現的詞,可能為”7月”,”8月”,”大全”,”線路”等等。這些詞也可以考慮把它從實體詞中踢除。
經過這幾輪檢查,基本就差不多了,再要精度可以再自行研究。肯定有人問,你折騰了這么久,有什么用?這邊只能點到為止。
1.內容關聯
2.自動tagging
3.提高站內檢索精度
去年到今年搜房和安居客的SEO可以體會一下。
去重
提取實體后,就可以對關鍵詞進行去重。
例如
處理后
就可以進行去重了。上面著兩個個詞,還可以通過實體相同的方法來解決。但是有一些關鍵詞,比如”馬爾代夫”和”馬代”,”長城”和”八達嶺”,用戶可以是指一個地方,我們應該怎么處理這些詞。我們就需要下面這么一個東西“受控詞表”
受控詞表
受控詞表,就是一種控制詞匯含義,并且跟蹤其相關詞的方法。回到上面的例子,如果你搜索”八達嶺”的時候,不能把長城的內容展現出來,相信用戶早就跑光了。
受控詞表主要有如下三大關系:等價,層級,關聯
等價很好理解,比如馬爾代夫和馬代,那是等價關系,這類詞可以說就是一個意思,權值是最高的。在內容推薦中一定要呈現出來。
層級有上下級之分,比如“夫子廟”是”南京景點大全”的下級詞。”大成殿”又是”夫子廟”的下級詞。在實際應用的時候,當用戶在尋找”大成殿”時,網站可以告訴用戶你位于”夫子廟”中間,并且推薦夫子廟周圍還有些什么好玩的東西,用戶一定會非常喜歡。層級關系也是大部分網站都有的信息架構體系,從首頁,到目錄,到欄目。
關聯,有點類似于等價,但是并不完全相同,例如”三亞跟團游”,”海口自助游”,”海南旅游 雙飛”。他們沒有說明確的上下級關系,但是又不能說完全一樣。這類詞,我們可以把其作為有關聯的東西。可以記錄下來。此外,一些內容的自帶的屬性,比如高,富,帥,可以作為一個相關聯的關鍵詞,在內容推薦上更加滿足用戶的口味。
這邊還要提一點,在工作中,我們發現了用戶有時候會有一些特殊的詞匯來表達自己的需求,比如”麻袋”(諧音馬代),或者”百撕不得騎姐”這樣該死的輸入法錯拼,這些關鍵詞都需要存放起來。
最后應該是這樣的效果:
分類
對于獲取到的大量關鍵詞,應該怎么去分類。首先可以按照意圖進行分類,導航,信息,事務。(學習資料-知乎:http://www.zhihu.com/question/20905145)
這么做的好處是,可以快速知道把哪一類詞,分給哪條產品線做。例如信息類的詞,盡量放到資訊,問答,產品庫這樣的頻道。導航類的詞,如果是自己品牌可以做,如果是競爭對手品牌,可以單獨做頻道。事務類的詞,一般放在主力產品線上,頁面上會有功能體現,比如”添加到購物車”,”下載鏈接“,”在線預定”等等。在一定程度上滿足用戶的需求,避免內容錯位。比如這個 http://iphone.tgbus.com/tag/iphone6tieba/ “iphone6貼吧”。貼吧在哪?好歹給個鏈接地址吧。
除了上面的分意圖類法,下面講講從結合信息架構中的分類方法。
先介紹一個人工分揀關鍵詞的方法:卡片分揀。通過嘗試,這的確是一種可以集思廣益的分類方法。我們從”馬爾代夫”的關鍵詞詞庫中抽取了500個關鍵詞,隨機分配給
5個小組。每組把手頭上的關鍵詞進行自由分組,并且自行命名組名。然后再匯聚5個小組的組名,這樣我們就確定了大約10個小分類,并且找到了一些之前單槍匹馬沒有想到的內容。
最后的情況大致上
有了分類,我們在網頁結構組織上,可以更加有的放矢。具體可以看看maldives.tuniu.com的左側分類,實際操作過程中,我們也有一定的篩選和層級控制考慮。例如貨幣,語言,氣候,都可以歸入介紹里面。關于這個頁面我們也很少去做外部鏈接,內容也只是無數目的地中的一個,不可能有很多人力盯著這個欄目,但是專心做用戶喜歡的內容,這個頻道的表現還是相當不錯的。
這時候如何構建內容,就非常清晰了,直接從詞庫中找關鍵詞然后寫內容就可以,總比成天寫”馬爾代夫報價”,“馬爾代夫旅游報價”等無價值文章,做所謂的核心詞表現要好很多。
我們只是分了500個關鍵詞,詞庫中還有上萬的待分類馬爾代夫的關鍵詞,隨著時間的推移,新加入的關鍵詞也會越來越多。可以機器可以使用機器學習的方法來做。這邊本人也還在研究學習中,寫出來怕貽笑大方,拋磚引玉一下,使用決策樹,根據已有卡片分揀的關鍵詞作為訓練文檔,根據受控詞表中的元數據包含與否作為特征,生成決策樹,以便于進行自動分類。
總結
1.算法不是問題,關鍵是適合自己行業詞庫,至于詞庫怎么來,方法實在太多
2.詞與詞之間的關系,是內容推薦,內容運營中的利器,同樣也提升了用戶體驗,這邊不得不吐槽下,用戶體驗是需要技術的,不是喊喊口號。
3.本來想寫興趣點挖掘,后來一想詞庫中的每個詞都是興趣點,只要控制好詞庫的更新,興趣點不是問題。
4.有了思路,執行力也很重要。詞庫屬于網站內容底層基礎,弄好這個,后面可以避免很多重復勞動和無用功。(被坑得深有體會)
5.本人非科班出生,很多技術術語,名詞解釋,全憑自己學習理解,有錯誤請指正學習。
來源:夜息博客 以關閉鏈接不發