如果不是一名CEO主動(dòng)高薪挖掘、空降過來的seo負(fù)責(zé)人高明區(qū)關(guān)鍵詞seo排名優(yōu)化,老實(shí)說,很多seo人員在公司里都處于“弱勢(shì)群體”。
絕大多數(shù)普通的seo人員在公司里、跨部門溝通里都沒有太多相應(yīng)話語權(quán),有很多的細(xì)節(jié)工作得不到相關(guān)配合。
處于這樣一個(gè)環(huán)境,seoer想要工作出色,必須充分發(fā)揮主觀能動(dòng)性,想盡一切辦法完成那些明面上不值一提、暗地里又不可避免的事情。
問題全網(wǎng)大批量挖掘長(zhǎng)尾詞,這是seo和sem必須做的事情,但是大批量的長(zhǎng)尾詞注定會(huì)帶來一些數(shù)據(jù)清洗工作,多數(shù)情況下清洗的工作可以在Excel完成,但是也有很多情況是Excel很難搞定的,比如:
這是一份從第三方關(guān)鍵詞工具下載的“引流”這個(gè)詞根的長(zhǎng)尾詞數(shù)據(jù),但是碰到了一個(gè)尷尬的問題,“引流”這個(gè)詞根存在同義但有不同場(chǎng)景的情況,所以會(huì)導(dǎo)致挖掘到很多不相干的長(zhǎng)尾詞:
其實(shí)這種情況是很普遍的,單單一個(gè)詞匯,經(jīng)常避不可免的與其他場(chǎng)景混淆,又比如:
水果里的“蘋果”和手機(jī)里的“蘋果”和電影里的“蘋果”,這又是同形但完全不同義的詞匯,簡(jiǎn)單的利用詞根去挖詞自然會(huì)挖掘到很多非目標(biāo)長(zhǎng)尾詞。
還有很多類似情況,那么問題來了:剔除非目標(biāo)長(zhǎng)尾詞是必須要做的事情,這樣一個(gè)seo工作里的細(xì)枝末節(jié),做好是理所當(dāng)然的。老板一不會(huì)幫我們做、二也不會(huì)給我們配人做,如果這是一份百萬級(jí)別的長(zhǎng)尾詞數(shù)據(jù),都靠在Excel里篩選剔除,可能項(xiàng)目已經(jīng)黃了。
面對(duì)這樣一份雜亂無章的長(zhǎng)尾詞數(shù)據(jù),如何使用高效的方式過濾篩選高明區(qū)關(guān)鍵詞seo排名優(yōu)化?
今天這篇文章是一篇完全基于技術(shù)的內(nèi)容,但是對(duì)于不會(huì)技術(shù)的朋友我反而強(qiáng)烈建議充分地看一下,有兩點(diǎn):
技術(shù)是另一種思維方式,對(duì)于不會(huì)技術(shù)的朋友可以看看技術(shù)人員在碰到問題時(shí)是如何處理的。
在“互聯(lián)網(wǎng)營(yíng)銷”工作中,有很多工作是超出我們能力范圍之外的,但是充分發(fā)揮我們的主觀能動(dòng)性做出超越這個(gè)崗位應(yīng)有的能力水平往往會(huì)帶來額外的收獲。
開始前段時(shí)間接了一個(gè)采集項(xiàng)目(只接熟人之間的合法業(yè)務(wù)),隨著采集量的增大,“敏感詞過濾”這項(xiàng)工作避不可免,涉政、涉黃、恐暴、廣告等,這些相關(guān)字眼都得識(shí)別出來。
目前在市面上可以搜集到的敏感詞庫,隨便整合幾份就能達(dá)到幾萬甚至更多,因?yàn)殡S著時(shí)間的前進(jìn),會(huì)產(chǎn)生各種各樣的新詞匯。
用程序識(shí)別一篇文章是否包含目標(biāo)敏感詞,以Python舉例:
refusalWord = '敏感詞'targetText = '內(nèi)容正文'if refusalWord in target_text:print(True)讓程序把這個(gè)敏感詞拿到目標(biāo)文本里尋找,找得到就說明存在敏感詞,這是敏感詞只有一個(gè)的情況下,如果敏感詞是多個(gè)的話,那也簡(jiǎn)單,加個(gè)循環(huán):
refusalWord = ['敏感詞1','敏感詞2','敏感詞3']targetText = '內(nèi)容正文'for word in refusalWord: if word in target_text:print(True)程序把一個(gè)個(gè)敏感詞拿到目標(biāo)文本里尋找,如果敏感詞是幾百個(gè)呢,一個(gè)個(gè)反復(fù)處理顯得效率很低下,感覺還不太優(yōu)雅,正則表達(dá)式可以很簡(jiǎn)潔的搞定:
import rerefusalWord = ['敏感詞1','敏感詞2','敏感詞3']targetText = '內(nèi)容正文'if re.search('|'.join(refusalWord),targetText):print(True)所有敏感詞用“|”連接形成一段正則表達(dá)式:“敏感詞1|敏感詞2|敏感詞3”,用這段表達(dá)式去匹配目標(biāo)文本,找出所有出現(xiàn)的敏感詞。
但是,如果敏感詞是幾萬個(gè)甚至更多呢高明區(qū)關(guān)鍵詞seo排名優(yōu)化?了解正則的朋友都知道,再用這種方式寫出來的表達(dá)式就顯得極其不合理,可能還會(huì)有各種問題。
而且敏感詞有幾萬個(gè)甚至更多的情況下,效率是線性遞減的,再加上后期做的替換等其他工作,時(shí)間成本就更高了。
并且,我們前面的演示還只是目標(biāo)文本只有1個(gè)的情況,如果敏感詞數(shù)是N,目標(biāo)文本是M呢高明區(qū)關(guān)鍵詞seo排名優(yōu)化?簡(jiǎn)單雙循環(huán)的情況下,時(shí)間復(fù)雜度至少是N * M。
這個(gè)時(shí)候就需要用到我們今天的主角:“AC自動(dòng)機(jī)”算法。
PS:不懂技術(shù)的朋友不必糾結(jié)代碼,只需要明白這是一個(gè)方案優(yōu)化的問題,我們?cè)诿鎸?duì)敏感詞從1到N到N++的過程中在不斷優(yōu)化著技術(shù)方案,提升效率。
AC自動(dòng)機(jī)算法,是一種多模匹配算法,算法的高明和高深不是我們這種非科班人員可以去探究的,但是算法的意義和差別,我們還是可以理解的。
上面的例子里,即使不會(huì)技術(shù)的朋友也明白,隨著敏感詞庫的不斷增加,程序判斷一篇文章是否包含敏感詞庫里的某個(gè)詞或某些詞,這個(gè)時(shí)間成本是會(huì)逐步遞增的,因?yàn)闊o意義的判斷次數(shù)在不斷增加,這就是一種單模。
而AC自動(dòng)機(jī)解決了這個(gè)問題,使用多模匹配的算法,也就是說:隨著敏感詞庫的遞增,時(shí)間成本是不變的(至少在一定量級(jí)內(nèi)吧)。
那這跟我們要聊的關(guān)鍵詞清洗有什么關(guān)系呢?接下去我們來一步步演示。
步驟1:挑選代表性詞根這是一份“引流”的長(zhǎng)尾詞庫,有幾十萬,里面有兩種長(zhǎng)尾詞,互聯(lián)網(wǎng)推廣相關(guān)的長(zhǎng)尾詞和醫(yī)療技術(shù)相關(guān)的長(zhǎng)尾詞,我們的目的是分開這兩類長(zhǎng)尾詞。
在Excel里,面對(duì)這樣一份數(shù)據(jù),要把兩邊分開,也就是篩選出目標(biāo)或者篩選出非目標(biāo)然后剔除,我們先考慮下一般操作方式是什么樣的:
一行一行看,把非目標(biāo)的數(shù)據(jù)做標(biāo)記,后面篩選出來全部刪除,但是對(duì)象是幾十萬甚至更多,這個(gè)效率可想而知,能一行一行看完的是猛人。
挑選一些高頻的非目標(biāo)詞匯或字眼,然后篩選出來剔除,反復(fù)重復(fù)這個(gè)操作,這個(gè)方式看上去很快,一次可以剔除一大片。
但是充分了解關(guān)鍵詞的長(zhǎng)尾效應(yīng)就會(huì)明白,這種方式越到后期越痛苦,因?yàn)榈胶笃诤芏嗵暨x出來的詞匯刪不了多少個(gè)詞,反反復(fù)復(fù)的篩選刪除會(huì)讓人崩潰。
除此之外,在Excel上面處理這樣一個(gè)問題貌似沒有更好的方式,現(xiàn)在我們就用另一種方式來解決這個(gè)問題。
老規(guī)矩,先對(duì)所有長(zhǎng)尾詞分詞并統(tǒng)計(jì)詞頻:
接下來需要人工根據(jù)“常識(shí)”挑選出具有代表性的“分類種子詞根”,從上往下,把“明顯只能”屬于互聯(lián)網(wǎng)推廣相關(guān)的詞匯挑選出來放到一份文檔,把“明顯只能”屬于醫(yī)療技術(shù)相關(guān)的詞匯挑選出來放到另一份文檔。
所謂的“明顯只能”,比如:“腳本”,即腳本工具,這樣一個(gè)詞基本不可能跟醫(yī)療技術(shù)類長(zhǎng)尾詞有什么關(guān)聯(lián),“傷口”,也基本不可能跟互聯(lián)網(wǎng)推廣這件事有什么關(guān)系。
所謂的“常識(shí)”,比如:與互聯(lián)網(wǎng)推廣有關(guān)的經(jīng)常會(huì)有一些平臺(tái)名稱,知乎、微信、淘寶之類的,這些甚至不用考慮,直接寫。
因此在挑選的時(shí)候,一定要確定這個(gè)詞的歸屬是否明確,如果模糊,寧可不要!
前者視為“正”,后者視為“反”,“正”就是我們目標(biāo)長(zhǎng)尾詞的代表性詞根,挑選多少個(gè)呢?還是那句話,關(guān)鍵詞很符合28原則。
我們可以看到top詞根的詞頻都是很高的,一個(gè)詞根可以牽連出很多長(zhǎng)尾詞出來,這樣一份幾十萬的長(zhǎng)尾詞我也才各自選了百八十個(gè)。
即使這份長(zhǎng)尾詞的數(shù)量增加10倍,要挑選的代表性詞根也不會(huì)多多少個(gè)。
步驟2:拓展代表性詞根我們挑選這些種子詞的目的很簡(jiǎn)單:“正”的種子詞拿到詞庫里可以篩選出絕對(duì)是目標(biāo)分類的長(zhǎng)尾詞,我們上面把“微信”挑選出來作為種子詞,我們認(rèn)為它只可能出現(xiàn)在互聯(lián)網(wǎng)推廣相關(guān)的長(zhǎng)尾詞,所以把“微信”拿到詞庫里可以篩選出包含“微信”的所有長(zhǎng)尾詞,這些都是互聯(lián)網(wǎng)推廣相關(guān):
而長(zhǎng)尾詞一般會(huì)有這樣的特性:
微信引流腳本開發(fā)
像這樣一個(gè)長(zhǎng)尾詞,我們通過“微信”提取出來,除了“引流”這個(gè)詞根之外,因?yàn)檫@個(gè)長(zhǎng)尾詞是互聯(lián)網(wǎng)推廣相關(guān)的,所以其他詞根大概率也是互聯(lián)網(wǎng)推廣相關(guān)的,比如這里的“腳本”、“開發(fā)”,絕對(duì)不可能跟醫(yī)療技術(shù)相關(guān),反之:
膿腫切開引流手術(shù)
我們通過“手術(shù)”這個(gè)種子詞得到,分詞后的“膿腫”和“切開”跟互聯(lián)網(wǎng)推廣也是不可能有什么關(guān)聯(lián)的,它們就可以作為新的種子詞加入“反”這個(gè)分類。
這個(gè)時(shí)候思路就清楚了,我們先挑選一點(diǎn)代表性的種子詞,用這些種子詞去篩選所有相關(guān)長(zhǎng)尾詞,再對(duì)這些篩選出來的長(zhǎng)尾詞分詞,利用關(guān)鍵詞的這種關(guān)聯(lián)性,得到目標(biāo)分類的更多 我們?cè)谏弦徊經(jīng)]有挑選到的種子詞。
所有這些種子詞就是我們后續(xù)用來分類的基石。
運(yùn)用這種思路其實(shí)就是解決了關(guān)鍵詞的長(zhǎng)尾效應(yīng)問題,我們無法人工一一去挑選種子詞,通過關(guān)聯(lián)自動(dòng)收集到更多我們?nèi)斯]有挑選出來的種子詞。
這些種子詞就能幫我們覆蓋更多的長(zhǎng)尾詞。
PS:這里是演示思路,篩選肯定是程序批量化處理,不是在Excel上做這個(gè)事。
在這一步里要為提取出來的種子詞計(jì)算各自的詞頻并對(duì)應(yīng)保留,后續(xù)有用。
比如我們利用“正”的種子詞去篩選所有長(zhǎng)尾詞,所有的這些長(zhǎng)尾詞經(jīng)過分詞后得到的所有詞根,每一個(gè)詞根在這片長(zhǎng)尾詞(篩選出來的這些)里的總詞頻是多少。
步驟3:篩選代表性詞根到這里其實(shí)我們就可以拿去開始區(qū)分了,但是還有細(xì)節(jié)優(yōu)化:
1:通過第二步的自動(dòng)拓展,會(huì)出現(xiàn)某個(gè)種子詞即出現(xiàn)在“正”,也出現(xiàn)在“反”,比如:“視頻”。
這個(gè)詞出現(xiàn)在互聯(lián)網(wǎng)推廣相關(guān)的長(zhǎng)尾詞一點(diǎn)都不奇怪,而事實(shí)上它還會(huì)出現(xiàn)在醫(yī)療技術(shù)“引流”這件事的長(zhǎng)尾詞上:
對(duì)于這種情況,我們其實(shí)可以考慮一個(gè)問題,這是一種偶然還是常態(tài),比如“視頻”這個(gè)詞,它其實(shí)在兩邊都是經(jīng)常出現(xiàn)的,那就干脆不要了,也就是它根本不具備代表性。
如果是偶然的,比如“艾滋病”,也是神奇,我在詞庫里看到一批長(zhǎng)尾詞里有一個(gè):
賣艾滋病測(cè)紙推廣引流的方法
除了這個(gè)以外,其他都是醫(yī)療類,那這種就是偶然了,對(duì)比我們第二步保留下來的詞頻,哪一邊出現(xiàn)壓倒性的大,就把這個(gè)種子詞保留在哪一邊,另一邊直接去除。
如果在數(shù)據(jù)上差距不大,那就兩邊直接去除這個(gè)沒有傾向性的種子詞。
按我的經(jīng)驗(yàn),絕大部分這種偶然,他們之間的詞頻對(duì)比都是差非常大的。
2:沒有傾向性的詞匯,數(shù)字、字符,這都是沒有傾向性的,不應(yīng)該作為種子詞。
其次,類似:應(yīng)該、怎么、大概、可以、的、是、嗎,這些副詞、助詞、連詞、語氣詞、疑問詞之類的,也沒有傾向性,在分詞的時(shí)候,直接根據(jù)jieba的詞性剔除:
這一步過濾完之后,詞頻數(shù)據(jù)就可以不要了,當(dāng)然了,“引流”這個(gè)每個(gè)詞都一定有它的主詞根肯定是要去除了!
步驟4:快速歸類現(xiàn)在我們使用上面計(jì)算出來的種子詞作為關(guān)鍵字,其實(shí)這就跟我們上面舉的采集的例子一樣,這些種子詞就相當(dāng)于敏感詞,每一個(gè)待分類的長(zhǎng)尾詞就相當(dāng)于目標(biāo)文本內(nèi)容。
傳統(tǒng)的做法用Python是類似這樣:
# 正seed_word_r = []# 反seed_word_e = []# 詞庫keyword = []for word in keyword: for r in seed_word_r: if r in word: pass for e in seed_word_e: if e in word: pass把每一個(gè)長(zhǎng)尾詞拿出來,讓每一個(gè)種子詞跟它比對(duì)一次,看看是否包含,進(jìn)而判斷歸屬分類。
如果有N個(gè)長(zhǎng)尾詞,外層循環(huán)就要執(zhí)行N次,而有M個(gè)詞匯,N里面的每1次還要包含M次,執(zhí)行成本可想而知。
另外,上萬個(gè)甚至更多的詞根拿去一一與一個(gè)只有10個(gè)字左右的長(zhǎng)尾詞做比對(duì),注定有太多無意義的比對(duì)。
這時(shí)候就可以使用AC自動(dòng)機(jī)算法了:
import ahocorasick# 正seed_word_r = ['種子詞1','種子詞2','種子詞3','種子詞4']tree = ahocorasick.AhoCorasick(*seed_word_r)print(tree.search('長(zhǎng)尾詞'))如上代碼,我們把種子詞(敏感詞)傳給AC自動(dòng)機(jī)構(gòu)建一個(gè)模型,然后這個(gè)模型就可以計(jì)算當(dāng)前的長(zhǎng)尾詞(目標(biāo)文本內(nèi)容)是否包含模型里的某些詞,有出現(xiàn)的全部顯示出來。
這種計(jì)算就不是像上面的方式那樣內(nèi)外循環(huán)一一比對(duì)了。
因此,再做上面的長(zhǎng)尾詞分類工作,就可以:
import ahocorasick# 正seed_word_r = ['種子詞1','種子詞2','種子詞3','種子詞4']# 反seed_word_e = ['種子詞1','種子詞2','種子詞3','種子詞4']# 詞庫keyword = []# 構(gòu)建tree_r = ahocorasick.AhoCorasick(*seed_word_r)tree_e = ahocorasick.AhoCorasick(*seed_word_e)# 遍歷for word in keyword: r = tree_r.search(word) e = tree_e.search(word) pass每次都把長(zhǎng)尾詞傳給兩邊,瞬間得出這個(gè)長(zhǎng)尾詞在兩邊的包含情況,pass部分就是針對(duì)性的做判斷了。
可以預(yù)見的結(jié)果有這么幾種:
1:長(zhǎng)尾詞只屬于“正”或只屬于“反”,那很簡(jiǎn)單,歸到對(duì)應(yīng)的類即可。
2:某個(gè)長(zhǎng)尾詞既不屬于“正”也不屬于“反”,這種情況先歸到一類并保存。
3:某個(gè)長(zhǎng)尾詞既屬于“正”也屬于“反”,這就要再進(jìn)一步做判斷,我們先把這種也歸為一類并保存。
r和e都是set數(shù)據(jù)結(jié)構(gòu),根據(jù)長(zhǎng)度結(jié)合交集和并集來判斷歸屬。
w1是沒有找到歸屬的,w2是同時(shí)歸屬的,w3是“正”分類,也就是我們要的互聯(lián)網(wǎng)推廣相關(guān)長(zhǎng)尾詞,w4是“反”,醫(yī)療技術(shù)相關(guān)長(zhǎng)尾詞,我們不要的。
3和4里的內(nèi)容是不會(huì)有問題的,如果偶爾出現(xiàn)分類不準(zhǔn)確,找出這個(gè)不準(zhǔn)確的詞匯,溯源它的種子詞,這一定是某個(gè)種子詞選錯(cuò)了。
刪除重新跑一遍代碼即可,所以最開始人工挑選的時(shí)候一定要選明確歸屬的,模糊的大可不要。
但是我們看到w2,也就是同時(shí)歸屬的這一份還有1.9M,打開看看:
這些不能確定分類的居然還有6W多條記錄(截圖沒顯示完全,懶得再截),雖然按比例來說,我們已經(jīng)分類了80%了,但是6W多還是不少。
既然它們都是被判斷為同時(shí)歸屬的,也就是兩邊都能匹配到,那我們隨便拿一個(gè)詞到原程序再跑一遍,看它在兩邊分別匹配到了什么。
闌尾炎導(dǎo)流管每天引流量
這是個(gè)醫(yī)療技術(shù)相關(guān)的長(zhǎng)尾詞,這個(gè)長(zhǎng)尾詞在程序跑完之后,出現(xiàn)的結(jié)果是:
正:流量
反:闌尾、闌尾炎、導(dǎo)流、導(dǎo)流管、引流量
這是該長(zhǎng)尾詞在種子詞中命中的詞匯,那很顯然程序并沒有錯(cuò),因?yàn)榱髁窟@個(gè)詞在互聯(lián)網(wǎng)推廣相關(guān)的長(zhǎng)尾詞里出現(xiàn)再正常不過。
可這個(gè)詞是醫(yī)療相關(guān)的,我們還是希望它能判給“反”,怎么做呢?
還是要運(yùn)用概率的思維,結(jié)合上面我們提到的關(guān)聯(lián)性,一個(gè)長(zhǎng)尾詞屬于哪個(gè)領(lǐng)域,它被分詞后的詞匯屬于該領(lǐng)域的可能性是很大的。
所以上述我們可以看到,這個(gè)長(zhǎng)尾詞命中“反”的種子詞的數(shù)量遠(yuǎn)遠(yuǎn)超過命中“正”的數(shù)量,這有點(diǎn)假的真不了、真的假不了的意思,所以根據(jù)這種絕對(duì)差,我們可以直接判給數(shù)量多的一方。
再優(yōu)化一下程序判斷后,跑出來的結(jié)果是:
可以看到,w2從1.9M降低到300+kb,w3和w4都有明顯增加,因?yàn)橛懈嗟脑~匯被分類進(jìn)去了。
可以看到w2里面還有1萬多條,這點(diǎn)數(shù)據(jù)量對(duì)于專門跟Excel打交道的seo或sem人員,反復(fù)操作幾下,也能很快的整理得七七八八。
但其實(shí)如果你愿意,這也還是可以優(yōu)化的,w2還會(huì)有這么多,有很大一部分原因是精準(zhǔn)分詞的問題,如果你有興趣的話,可以自行研究一下優(yōu)化方案。
對(duì)于一直沒提的w1:
我特意截長(zhǎng)一點(diǎn),為什么這些詞不屬于任何一邊,看完也就明白了,其實(shí)這類詞已經(jīng)超出長(zhǎng)尾詞的范疇,去掉“引流”再去掉沒有傾向性的詞匯后,基本就沒什么字眼可以做判斷了。
這種詞結(jié)構(gòu)很單一,真的需要的話,Excel排序一下都能很快挑完。
最后放一下w3和w4的數(shù)據(jù):
總共有15W+長(zhǎng)尾詞,這是我們需要的數(shù)據(jù)!
總共有30W+長(zhǎng)尾詞,這是我們不需要的數(shù)據(jù)!
AC自動(dòng)機(jī)# pip install ahocorasick-pythonimport ahocorasickt1 = time.time()ac = ahocorasick.AhoCorasick(*seed_word)t2 = time.time()rw = []print(t2-t1)for word in keyword: sw = ac.search(word) for i in sw: word = word.replace(i,'***') rw.append(word)t3 = time.time()print(t3-t2)rw = []t1 = time.time()for word in keyword: for i in seed_word: if i in word: word = word.replace(i,'***') rw.append(word)t2 = time.time()print(t2-t1)AC自動(dòng)機(jī)我是用的第三方模塊,算法的效率還是不錯(cuò)的,總共5W的詞匯和50W的目標(biāo)文本,傳統(tǒng)方式總共是1450秒,使用AC自動(dòng)機(jī),構(gòu)建花了20秒,但這是一次性的,判斷加替換是100秒。
其實(shí)無論是種子詞關(guān)聯(lián)的思路還是AC自動(dòng)機(jī)算法,舉個(gè)不恰當(dāng)?shù)谋扔黝愃莆覀儼岩粋€(gè)線性的問題轉(zhuǎn)化成指數(shù)問題(這個(gè)表達(dá)可能有問題),時(shí)間成本不會(huì)隨著數(shù)據(jù)量增加而機(jī)械上升。
類似敏感詞過濾這類問題也有其他方案,比如DFA,方案沒有標(biāo)準(zhǔn),適合自己的就行。
結(jié)語如何大批量剔除非同類長(zhǎng)尾詞,我在過往公眾號(hào)付費(fèi)文章里也提供過方案,不過那需要涉及網(wǎng)絡(luò)數(shù)據(jù)做支撐判斷,而這是完全本地化的,相對(duì)來說更經(jīng)濟(jì)一點(diǎn)。
這個(gè)工作前前后后加起來的時(shí)間一般不超過半小時(shí),得益于“利用種子詞帶出更多種子詞”的思維、“根據(jù)概率來確定歸屬”的邏輯、以及“AC自動(dòng)機(jī)算法”的高效,處理幾十萬和幾百萬在時(shí)間上不會(huì)有很大差別,真正屬于程序計(jì)算的時(shí)間10分鐘都不到。
盡管我們絞盡腦汁用了很多策略來完成這樣一項(xiàng)工作,第一次完成時(shí)可能還有些得意。
但實(shí)際上從價(jià)值來說這是一項(xiàng)在對(duì)外溝通時(shí)甚至不值得被談?wù)摰墓ぷ魇马?xiàng),因?yàn)樗⒎蔷唧w的結(jié)果指標(biāo)。
外人看來這不就是你們這個(gè)崗位的基礎(chǔ)嘛,也確實(shí)是這樣。
另外有朋友可能感覺,使用AC自動(dòng)機(jī)算法對(duì)比普通方式,幾十萬的詞也差不了多少時(shí)間,不差程序計(jì)算的那幾十分鐘。
這個(gè)沒錯(cuò),全程下來,并沒有哪個(gè)步驟和方案是標(biāo)準(zhǔn)的,我只是想傳達(dá)一個(gè)工作方式,在碰到很多棘手的問題時(shí),發(fā)散下思維、變換下角度,其實(shí)有很多思路是可以解決的。
同時(shí),對(duì)于會(huì)技術(shù)的朋友,相比傳統(tǒng)的方式,運(yùn)用AC自動(dòng)機(jī)也不過是寫不同的幾行代碼而已,但是帶來的收益卻不止這些,多學(xué)會(huì)一個(gè)技術(shù),可以解決很多同類型的問題。
上面提到的采集項(xiàng)目,我使用AC自動(dòng)機(jī)就可以應(yīng)對(duì)源源不斷新增的敏感詞和文章,我在下一個(gè)階段還會(huì)對(duì)這個(gè)采集項(xiàng)目做另外一個(gè)工作:篩選目標(biāo)領(lǐng)域內(nèi)容。
在目標(biāo)采集源里并不一定是什么內(nèi)容都是我們的目標(biāo)領(lǐng)域內(nèi)容,可能會(huì)有很多不相干的,對(duì)于不相關(guān)的內(nèi)容當(dāng)然是選擇丟棄不入庫。
因此要設(shè)計(jì)一個(gè)簡(jiǎn)單的判斷邏輯,類似推薦算法給文章打標(biāo)簽的方式來判斷當(dāng)前內(nèi)容是否屬于目標(biāo)領(lǐng)域,不是的話不采集,減少人工審核的工作量,這對(duì)老板來說都是錢,人員成本是最高的。
所以:我認(rèn)為默默啃掉這些棘手的問題,在當(dāng)下看起來好像是吃虧了,但是在未來的工作里,一定可以帶來更多的“復(fù)利”。
PS:有很多正在處理長(zhǎng)尾詞數(shù)據(jù)的朋友跟我聊過不懂清洗,類似工具等過段時(shí)間再寫個(gè)通用的,放到公眾號(hào)。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長(zhǎng)刪除。
轉(zhuǎn)載請(qǐng)注明出處http://macbookprostickers.com/xintu/53411.html