天天看點

知乎搜尋評測實踐

作者:閃念基因

前言

效果評測一直是軟體測試中令人頭疼的部分,因為很多情況下效果的好壞是一個偏主觀的東西,如何經過抽樣、對比、打分、使用者資料等客觀的方式來評價一款産品的好壞,是我們測試工程師值得思考的問題。

随着知乎 DAU 的持續增長,知乎搜尋也成了一個重要的流量分發的入口。知乎搜尋對品質的要求也越來越高,于是效果評測勢在必行。

本文主要介紹了目前業界通用的評測方法和流程;在知乎搜尋評測中使用的方法、工具;遇到的問題及評測平台的建設。希望對評測入門,尤其是做搜尋評測的同學有一定的指導意義。

評測基本流程

評測的基本流程主要分為評測方法、評測抽樣、評測抓取、人工标注與質檢、統計分析與報告和短闆 review,在下文會一一介紹。

知乎搜尋評測實踐

評測方法

Ppage(per-page)

常用于相對正式的綜合競品評測,按頁面整體評測,主旨在評測一個頁面整體的好壞。可以分為整體感官打分、相關性打分、排序打分、頁面品質打分等。

知乎搜尋評測實踐

PI(per-item)

有清單傳回,需要逐條進行打分的評測,常用于搜尋評測,知乎搜尋評測用到的就是這個方法,可以用到 DCG 評分将不同條目賦予不同的權值,得出綜合分數,以達到綜合評測的效果。

知乎搜尋評測實踐
知乎搜尋評測實踐

SBS(side by side)

顧名思義,使用對比的方式進行評測,分為與競品對比,版本間對比等。制定名額,利用打分、對比等形式,評價出 2 個版本的好壞。

知乎搜尋評測實踐

宮格評測

适用于可人工判斷與實際程式效果的對比,多用于專項評測,對系統中某一功能進行效果評測。參考:混淆矩陣。

知乎搜尋評測實踐

評測抽樣

随機抽樣

  • 優點:能完全反應使用者需求的真實分布(如時間、地域等)
  • 缺點:有些長尾和局部問題無法較好的暴露

分層抽樣

根據查詢量,分為熱門、中段、長尾,并按照比例分别進行抽樣

  • 優點:能夠對各個分段進行有針對性的分析
  • 缺點:對使用者需求比例無法完全真實還原

去重抽樣

将使用者查詢進行去重,再進行抽樣,能夠更好的覆寫長尾查詢,但與使用者需求比例相差較大

垂直抽樣

針對一些特性(如類别、成分、長度、DIFF )等進行局部抽樣,能更好的覆寫和發現局部類型的問題,但無法從整體上說明問題

評測抓取

python 腳本抓取

在日常評測中主要使用 python 腳本驅動抓取知乎與競品的引擎的搜尋的結果,分别做對比。均用對應的 API 進行抓取。

召回每日自動化評測結果

主要政策,将每日所有長尾搜尋 query 進行随機抽樣 1000 個,分别請求知乎、競品 1、競品 2 三家搜尋引擎,記錄競品前 10 條相同傳回結果,如果有 3 條以上傳回結果在知乎前 20 條傳回結果中未出現,該 query 記為 badcase。

具體一次評測結果如下:

知乎搜尋評測實踐

Badcase

上文中問題 query 數的詳細資訊

知乎搜尋評測實踐

人工标注與質檢

搜尋評測我們目前采用 PI 和 SBS 的方法評測,抓取結果後人工逐條進行對比打分,綜合每條結果進行 query 的 DCG 打分,最後生成測試報告。

評測平台相關:

知乎搜尋評測實踐
知乎搜尋評測實踐

統計分析與報告

短闆 review

  • 對比與競品的優缺點
  • 問題歸類
  • 需求生成
  • 短闆 review,形成排期
  • 優化後,badcase 回歸驗證

例:

知乎搜尋評測實踐

需求生成:

知乎搜尋評測實踐

badcase 回歸驗證:

知乎搜尋評測實踐

總結&展望

總體來說,評測适合那些傳回結果不确定、偏效果類的測試。尤其是在搜尋中,我們如何能量化的判斷搜尋的品質是值得思考的問題。

知乎的搜尋評測總的來說屬于剛起步階段,目前保持一個季度 2 次的頻率,還在摸索優化打分的政策。已經有了自己的評測平台,可以穩定提供評測結果,badcase 以及優化建議。

後續期望可以通過反複的實踐不斷優化評測的方向及方法,打分的合理性;平台方面希望可以接入更多的評測需求,擴大平台的覆寫面,不局限于搜尋。

作者:小小球球

出處:https://zhuanlan.zhihu.com/p/65835152