如何快速挖掘新興領(lǐng)域需求

挖掘需求的重要性不必多說,有需求才會(huì)有市場(chǎng)。
創(chuàng)業(yè)者在進(jìn)入一個(gè)新興領(lǐng)域時(shí)會(huì)思考這個(gè)問題:如何挖掘出用戶需求,并做出用戶愿意付費(fèi)的產(chǎn)品。
本文提供一種挖掘新興領(lǐng)域需求的思路:長(zhǎng)尾搜索詞。
搜索引擎的搜索框作為用戶主動(dòng)搜索的入口,用戶的每個(gè)輸入都可能是痛點(diǎn),這些痛點(diǎn)更大概率能轉(zhuǎn)化為需求和產(chǎn)品。
所以我們可以通過收集用戶的這些長(zhǎng)尾搜索詞,并結(jié)合一些關(guān)鍵指標(biāo),找出需求點(diǎn)。
接下來,我們通過挖掘區(qū)塊鏈領(lǐng)域相關(guān)需求的例子來講講如何操作。
最近比特幣等各種虛擬貨幣大漲,相信大伙或多或少聽說過。那么問題來了,區(qū)塊鏈經(jīng)過這些年的發(fā)展,作為一個(gè)還算新興的領(lǐng)域,它到底衍生出了哪些產(chǎn)業(yè),創(chuàng)業(yè)者進(jìn)入這個(gè)行業(yè)能提供哪些服務(wù)。
步驟一:確定領(lǐng)域詞
首先我們需要確定領(lǐng)域詞,領(lǐng)域詞的選擇至關(guān)重要。需要有足夠的特征和代表性,不然在后續(xù)的擴(kuò)展挖掘中會(huì)越偏越遠(yuǎn)。
比如區(qū)塊鏈行業(yè)相關(guān)的領(lǐng)域詞 「比特幣」「Defi」 「以太坊」。
獲取行業(yè)的領(lǐng)域詞,可以有如下辦法:
尋找別人整理好的
向相關(guān)行業(yè)人員請(qǐng)教
自己寫程序抓取挖掘
1 和 2 不在本文的討論中,新興領(lǐng)域的詞層出不窮,整理好的詞庫(kù)有它的滯后性,特別是區(qū)塊鏈相關(guān)的,項(xiàng)目更新日新月異。還不如自己動(dòng)手豐衣足食,構(gòu)建自己的領(lǐng)域詞庫(kù)。
首先找到該領(lǐng)域比較權(quán)威的網(wǎng)站或者導(dǎo)航站,比如區(qū)塊鏈相關(guān)的新聞?wù)居小赴捅忍亍埂竻^(qū)塊律動(dòng)」,導(dǎo)航站有 qkl123.com ,我們將導(dǎo)航站收錄的項(xiàng)目以及相關(guān)的描述都抓取下來。

抓取方式如下
直接用 web scraper 插件(教程可參考我之前寫的:如何 5 分鐘零代碼實(shí)現(xiàn)豆瓣小組爬蟲 )
用 Python 寫個(gè)程序。偽代碼如下:
URL = https://webapi.8btc.com/qkl/navigation-sites-tag/list?slug=%s&tag_id=&page_size=50&page=%d
循環(huán) slug 和 page:
url = URL + slug + page
返回內(nèi)容 = 請(qǐng)求數(shù)據(jù)(url)
抽取返回內(nèi)容的標(biāo)題+描述
保存到 txt 文件中最終得到一份 標(biāo)題+描述 的文本,里面基本能涵蓋大部分的領(lǐng)域詞,如果覺得這部分不夠,可以在其他網(wǎng)站上再采集一些數(shù)據(jù)。

然后需要從文件中將領(lǐng)域詞分離出來,方法就是 分詞 + 計(jì)算詞頻 + 抽出 topN 的關(guān)鍵詞
我們先嘗試使用結(jié)巴分詞對(duì)內(nèi)容進(jìn)行分詞,一般情況下結(jié)巴分詞能夠比較好的處理中文分詞,但是卻不適用于我們這種場(chǎng)景。
原因是結(jié)巴分詞靠的是詞典,對(duì)于新興領(lǐng)域詞典有滯后性,比如我們測(cè)試 區(qū)塊鏈?zhǔn)且粋€(gè)偉大的革新,很明顯區(qū)塊鏈 沒有很好的被識(shí)別出來。

所以問題變成了如何能夠在詞庫(kù)不健全的情況下發(fā)現(xiàn)新詞(也叫未登錄詞),解決的方案有很多,下面介紹其中一種算法:左右互信息 + 信息熵。
我們只用通俗的方式去解釋原理,具體的公式和代碼不涉及。
我們先思考什么樣的文本片段能夠組成一個(gè)詞,一般會(huì)想到文本片段在語料中出現(xiàn)的次數(shù)足夠多。
這種方式很容易實(shí)現(xiàn),只要把所有最小單位的片段提取出來,然后計(jì)算片段在語料中出現(xiàn)的頻數(shù)就行。
但光是出現(xiàn)頻數(shù)高還不夠,一個(gè)經(jīng)常出現(xiàn)的文本片段有可能不是一個(gè)詞,而是多個(gè)詞構(gòu)成的詞組。比如 賺錢的本質(zhì)是什么,賺錢 出現(xiàn)的頻數(shù)高,賺錢的出現(xiàn)的頻數(shù)也不低,但 賺錢的 并不能成為一個(gè)詞。
成詞標(biāo)準(zhǔn)一:所處語境的豐富程度 - 信息熵
如果一個(gè)文本片段在很多的語境中被提到,那么它更有可能成為一個(gè)詞。
熵就是一個(gè)用來衡量這個(gè)維度的指標(biāo)。熵越高就意味著信息含量越大,不確定性越高,越難以預(yù)測(cè)。
舉個(gè)例子,被子 是一個(gè)詞,它可以在各種語境中見到 曬被子 蓋被子 被子濕了 但 輩子 只能和 一輩子 半輩子 幾個(gè)固定搭配,那么 被子 所在語境更加豐富,熵越大,更容易成詞。
成詞標(biāo)準(zhǔn)二:內(nèi)部聚合程度 - 互信息
舉例說明,我們已經(jīng)知道 電影是個(gè)詞,那么 的電影院 拆分兩個(gè)片段 的電影 電影院,哪個(gè)更容易成詞呢?
假設(shè)在 5000 萬字的樣本中, 電影 出現(xiàn)了 150 萬次, 院 出現(xiàn)了 4 萬次。那 電影 出現(xiàn)的概率為 0.03, 院 出現(xiàn)的概率為 0.0008。如果兩個(gè)片段出現(xiàn)是個(gè)獨(dú)立事件的話,電影、院 一起出現(xiàn)的期望概率是 0.03 * 0.0008 = 2.4e-05。如果 電影院 出現(xiàn)了 3 萬次, 電影 院 一起出現(xiàn)的概率是 6e-03, 是期望概率的 250 倍。這通常被成為凝合度,數(shù)值越大表示兩個(gè)片段一起出現(xiàn)的概率越大。而相反 的電影 出現(xiàn)的概率遠(yuǎn)小于 電影院 ,所以 電影院 更易成詞。
綜上,想要成為一個(gè)詞,這兩個(gè)標(biāo)準(zhǔn)缺一不可。
大概原理講完了,程序?qū)懫饋磔^復(fù)雜,我們直接看下運(yùn)行效果。下圖截取部分通過此算法發(fā)現(xiàn)的關(guān)鍵詞,其中很多是結(jié)巴分詞沒法識(shí)別的??雌饋硇Ч€不錯(cuò),基本能涵蓋區(qū)塊鏈領(lǐng)域的關(guān)鍵詞。

步驟二:拓展長(zhǎng)尾詞
關(guān)鍵詞確定后,我們可以圍繞關(guān)鍵詞擴(kuò)展出更長(zhǎng)尾的詞。比如圍繞挖礦,可能的需求有 怎么挖礦
挖礦多長(zhǎng)時(shí)間能回本 挖礦真的能賺錢嗎。
那么如何快速拓展出這些長(zhǎng)尾詞呢,可以思考下,如果我們有類似的問題,會(huì)怎么獲取信息。
答案是主動(dòng)搜索 - 問百度,問知乎,問各種搜索引擎。
主動(dòng)搜索真切的表達(dá)了自己當(dāng)時(shí)的需求。
比如我們?cè)诎俣人阉?挖礦,百度會(huì)有一系列的下拉聯(lián)想詞出來,絕大部分是人主動(dòng)搜索形成的,而這些詞背后恰恰體現(xiàn)人們最迫切的需求。

那么接下來問題就簡(jiǎn)單了,我們只需將步驟一拿到的領(lǐng)域詞循環(huán)獲取下拉詞,就能獲取到更多的長(zhǎng)尾詞。獲取的方式不贅述,跟上文關(guān)鍵詞方式一樣,會(huì)技術(shù)的幾行代碼就能搞定。
同樣我們不用局限于百度,其他的搜索引擎都有類似的功能,另外我們也可以對(duì)我們的關(guān)鍵詞做下加工,比如加一些情緒詞,會(huì)有不一樣的收獲。
步驟三:挖掘長(zhǎng)尾詞
接下來我們需要尋找出更有價(jià)值的長(zhǎng)尾詞,比如搜索量還行,但競(jìng)爭(zhēng)不激烈的長(zhǎng)尾詞。
這個(gè)做 seo, sem 的同學(xué)都很熟悉,可通過百度關(guān)鍵詞規(guī)劃工具挖掘。
輸入相關(guān)的關(guān)鍵詞,就能看到這個(gè)詞的月均搜索量,競(jìng)爭(zhēng)激烈程度。

通過上圖我們可以看到 挖礦 每個(gè)月搜索量很高。說明在區(qū)塊鏈領(lǐng)域中 ,挖礦需求真實(shí)存在。
很多人可能會(huì)執(zhí)著于挖掘搜索量很高但競(jìng)爭(zhēng)小的詞,會(huì)進(jìn)入一些誤區(qū)。
不是所有滿足條件的關(guān)鍵詞就一定能轉(zhuǎn)化成需求,并最終完成變現(xiàn),它可能是藍(lán)海,也可能不滿足需求本身。
反過來,如果你的資源足夠,哪怕競(jìng)爭(zhēng)再激烈,進(jìn)入一個(gè)需求量足夠大的市場(chǎng),也能夠分一杯羹。
采用上文同樣的方法,我們可循環(huán)遍歷抓取百度規(guī)劃師的那部分?jǐn)?shù)據(jù)。有一些現(xiàn)成的拓詞工具能直接使用,附帶搜索量結(jié)果。
至此,我們完成了長(zhǎng)尾詞的挖掘,接下來就是怎么分析這些數(shù)據(jù)了。
步驟四:聚類長(zhǎng)尾詞
我們總共跑出了 30w 區(qū)塊鏈相關(guān)的長(zhǎng)尾詞,這些詞需要做個(gè)歸類,人工整理耗時(shí)耗力,可以寫程序幫我們處理大部分工作。
這里介紹一種簡(jiǎn)單的聚類算法 K-means ,屬于無監(jiān)督算法(Unsupervied learning),即我們手上沒有明確的類別,通過算法把相似的東西分到一個(gè)組,來尋找其中的規(guī)律。
網(wǎng)上有一些很好用的 Python 庫(kù),如 scikit-learn 能直接實(shí)現(xiàn) K-means 算法聚類

我們預(yù)估分 200個(gè)類別,30w 數(shù)據(jù) 3分鐘就能跑完。
效果如下圖,我們發(fā)現(xiàn)以太幣相關(guān)的需求已經(jīng)聚合到同一個(gè)文件中

簡(jiǎn)單分析下數(shù)據(jù),區(qū)塊鏈行業(yè)目前搜索的長(zhǎng)尾詞用戶畫像大概分幾類 (以下僅供娛樂)
青銅級(jí)別 (剛剛知道區(qū)塊鏈這個(gè)行業(yè),還在將信將疑中)

白銀級(jí)別 (已入場(chǎng)幣圈,游走在各種交易所)

黃金級(jí)別 (現(xiàn)貨不夠刺激,直接上期貨)

鉆石級(jí)別 (不滿足交易,開始投資生產(chǎn)力)

王者級(jí)別 (不愿只做韭菜,直接當(dāng)鐮刀)

在分析的過程中,我們也發(fā)現(xiàn)程序處理流程的幾個(gè)問題
長(zhǎng)尾詞覆蓋不全
由于區(qū)塊鏈行業(yè)的特殊,很多關(guān)鍵詞沒法在規(guī)劃師中獲取到搜索量,故需要另外分析。同時(shí)我們確定領(lǐng)域詞的時(shí)候,可以擴(kuò)大抓取的數(shù)量和范圍。
條目跟行業(yè)無關(guān)
比如 defi 是區(qū)塊鏈金融,那么會(huì)拓展到金融相關(guān)的長(zhǎng)尾詞,挖礦也會(huì)擴(kuò)展到挖煤礦的長(zhǎng)尾詞。這個(gè)問題可以通過一些思路避免,本文先不贅述,下期再講。
回顧
有些做技術(shù)的同學(xué)可能糾結(jié)算法的準(zhǔn)確率。這里面我的觀點(diǎn)是,技術(shù)用來給工作提效,但不能純依賴技術(shù)。如果一個(gè)算法準(zhǔn)確率在 70% 左右,已經(jīng)能提升一半以上的效率,但再優(yōu)化這個(gè)算法耗費(fèi)的精力指數(shù)級(jí)上升,那么可先不優(yōu)化。
「信息熵+互信息」 算法是我之前的反作弊團(tuán)隊(duì)在識(shí)別惡意品牌營(yíng)銷上用到的。換個(gè)思路,發(fā)現(xiàn)它在挖掘需求上面也是把利器。再拓展下,此算法可以挖掘出各行業(yè)的品牌詞,也能給結(jié)巴分詞自定義行業(yè)詞庫(kù),細(xì)做下去應(yīng)該也挺有趣。
通過關(guān)鍵詞挖掘需求,只是作為一個(gè)維度去判斷市場(chǎng),不是萬金油。
最后我整理了下此次區(qū)塊鏈領(lǐng)域相關(guān)的長(zhǎng)尾詞,如有需要可關(guān)注微信公眾號(hào)「程序化思維」回復(fù)區(qū)塊鏈獲取。
參考鏈接
如何在百萬級(jí)的數(shù)據(jù)里找到別人正在賺錢的項(xiàng)目https://zhuanlan.zhihu.com/p/157846204
反作弊基于左右信息熵和互信息的新詞挖掘 https://zhuanlan.zhihu.com/p/25499358
互聯(lián)網(wǎng)時(shí)代的社會(huì)語言學(xué):基于SNS的文本數(shù)據(jù)挖掘 http://www.matrix67.com/blog/archives/5044
