髮際線堪憂的小Q,爲了守住頭髮最後的尊嚴,深刻分析了幾十款防脫洗髮水的評價,最後綜合選了一款他認爲最完美的防脫洗髮水。git
一星期後,他沒察覺到任何變化。github
一個月後,他用捲尺量了量,髮際線居然後退了0.5cm!難道防脫要經歷一個物極必反的過程,先脫再長?小Q不甘心,決定繼續堅持。3d
兩個月後,小Q心如死灰,忍不住和小Z抱怨。blog
!!!!!!排序
這句話,平地一驚雷,炸出了小Q慘痛的網購回憶。產品
他,屢屢衝着賣家秀而去,卻屢屢化身買家秀而歸。it
說好的椰子!?微博
我想買兩個杯子來着,怎麼變成了一個!?ast
小Q曾經由於網購吃虧太多,而爲本身的顏值和智商擔心。但通過小Z的點撥,他認定了一件事:活成賣家秀,並非自身的問題,而是萬惡的假評價誤導了本身的消費決策。class
爲了本身,爲了讓更多的朋友免受誤導,他和小Z一拍即合,決定用數據思惟來鑑定刷單。
通過一番翻雲覆雨,終於總結出了用數據鑑定刷單的兩板斧。
第一板斧:評銷比
購買——使用——評價是一個完整的購後鏈路。消費者在購買了產品以後,必定會使用,但評價則須要必定場景來觸發。
好比這個產品超出預期,我要感謝賣家!或者這個產品在侮辱個人智商,我要罵街!
固然,還存在一部分爲了刷積分而評價的人,不過正常狀況下,主動評論的人佔總人數的比重是維持在穩定水平的。
若是有經過大規模紅包返現或其餘人爲手段刷的好評,在一樣購買人數的前提下,參與評價的人大機率是高於正常的。
怎麼衡量這個比例是否合理呢?這裏,咱們引入一個叫作評銷比的指標。
評銷比 = 單款產品總評論數 / 單款產品總銷量 * 100,以此來衡量平均每賣出100單位的產品,對應着多少條評價。
接下來,咱們導入爬取的脫敏真實數據(爲了去重廣告嫌疑脫的敏)來實踐一下:
增長一列計算評銷比:
看看評銷比分佈形態,數據在20左右分散開來,略微偏右:
從評銷比分佈圖,能夠看出在40處有二次下跌,咱們暫且把40(通常也能夠嘗試平均值)設置爲一個篩選閾值,高於閾值的斷定爲有刷單嫌疑。
初版斧揮過,12%疑似刷單的產品應聲倒下,小Z露出了欣慰的微笑。
小Q卻眉頭緊鎖:「這個鑑定邏輯是有必定道理,可是,我買的那款洗髮水居然逃過了篩選!」
不要慌,咱們還有第二板斧保駕護航。
第二板斧:內容重複度
第二板斧整個判別邏輯極其簡單粗暴:對於一款產品,若是存在不一樣的用戶,在不一樣的時間,評論了相同的內容,那妥妥的是刷啊!
直接上案例數據,咱們爬取了小Q購買的那款防脫洗髮水評價,共計1706條:
爲了讓鑑別更加科學,先換位思考:除極端情緒外,咱們本身在評論時總會用「還行」、「通常般」、「剛收到,還沒用」等短評來敷衍。這些短評很是容易重複,但也不能說是刷的評價。
so,咱們在用重複度鑑別時,能夠先預設一個評論長度做爲篩選標準,好比只對超過15個字的評論進行重複度匹配:
長度篩選以後,正好還剩下1200條評價,下面開始正式匹配。你們若是想更精細,能夠考慮用文本挖掘等高階方法,在這裏咱們用最最最簡單粗暴的文本排序:
前6條評價,有3個不一樣的客戶,分別在19年的10月16日、24日和21日發表了相同的內容,他們都受高考壓力影響,脫髮嚴重,天天房間、牀鋪、地上掉滿他們的頭髮。
幸虧!!!他們在禿頂前遇到了這款洗髮水!用了幾回不只比以前掉的少,還新長出來了一些小碎髮!
177個字,洋洋灑灑,使人動容!
但這究竟是偶然的巧合仍是有組織刷的評價呢?咱們不能這麼簡單下定論。
繼續看一看,這些長篇大論一字不差的重複評論有多少條:
注:A,B,C三條內容徹底同樣,則統計爲3條重複評價
1200條超過15個字的評價,有378條是虛僞的,佔比高達31.5%。
他們文風多變,除了「高考壓力」,還有「爲父分憂而買」、也有「被微博廣告安利」、甚至有「擔憂被騙,用第二套纔敢評價的」。
可謂情真而意切,感人而至深!
小Z看過評價,深深不能自拔,瞬間理解了小Q爲何被忽悠。
幸虧,之後有了這兩板斧保駕護航,不再用擔憂這些虛評假意了。
注:文章所涉及全部源數據和代碼,已上傳至github
https://github.com/seizeeveryday/DA-cases/tree/master/Comments