2024 領航計畫已開放報名,請點擊後查看報名資訊
前往 Medium 閱讀好讀版

美國家居電商 Home Depot 的搜尋引擎與排序/Multi Stage Product Search Ranking in E-commerce

講者:吳三和 San He Wu | Lead Data Scientist @ The Home Depot

摘要

在版聚中,我將會介紹 The Home Depot 是如何建構多階層式搜尋引擎與排序,以達到在數百萬產品中即時運算並提供用戶良好的搜尋體驗。同時,也將會介紹資料科學是如何應用在搜尋引擎的建構以及成果。

活動主辦單位:Taiwan Data Science Meetup 台灣資料科學社群

講者簡介

吳三和( San ) 從台灣大學研究所畢業後,就到美國的 Johns Hopkins University 攻讀碩士,畢業之後就在 Home Depot 工作。首先在 Recommendation Team 工作三年,參與多項推薦系統的專案改良與開發,現職主要帶領 Home Depot Search Team ,建立與開發搜尋引擎的排序模型。

大綱

1.電子商務中的產品搜索( Product Search in E-Commerce )

2.搜索排序( Search Ranking )

3.產品搜索排序的挑戰(Challenges of Product Search Ranking)

4.多階段排序框架( Multi-Stage Ranking Framework )

5.排序模型設計( Ranking Model Design )

電子商務中的產品搜索 (Product Search in E-Commerce)

Home Depot 是一間美國的 home improvement (居家裝修)零售商,它也可以說是美國的特力屋,只要與 home improvement (居家裝修)有關的東西,大部分在 Home Depot 都找到。Home Depot 的實體店在全美國大約有 2,000 多家,以全球的 home improvement (居家裝修)產業規模來看, Home Depot 擁有全球第一的交易量,它的收益也是全球第一。

在 Home Depot 的電商首頁,下方功能列將品項進行分類 ( home improvement category ),當在搜尋欄位輸入關鍵字後,就會看到產品頁 ( product pages )

圖一、Home Depot 的商品頁

當說到產品排序或者產品搜尋時,就需談到訊息檢索( information retrieval ) :

傳統(稀疏)檢索 Traditional (Sparse) Retrieval

稀疏檢索是一種將搜尋查詢( search query )和待檢索的文件轉換為稀疏向量的檢索方法。詞袋模型( Bag-of-Words Model ),詞袋模型就是將文件中所有的詞都轉換成詞組( token ),並檢查在每份文件中是否包含的某些單詞將整個候選清單 ( candidates pool )都確認完後,就會發現在較大指標 ( metrics )中的稀疏度很高,會出現一大堆 ” 0 ”,因此,訓練稀疏向量就是為了處理這種高度稀疏的檢索結果。

執行作法:

Step 1. 首先將 Query 和 Document 轉化為稀疏向量。*

*Query 為一個對大量資料進行查詢的特定資訊,依據特定篩選條件快速回傳儲存格、欄、範圍的函式。

*Step 2. 把稀疏向量弄成 index (指數) ,我們在做檢索時,使用 反向索引(Inverted Index ) 進行檢索。

*反向索引(Inverted Index ) 是 IR 領域常見的詞語,根據 token (詞組) 檢索相關文檔,與使用字典檢索部首的方式類似,EX: TF-IDF 及 *BM25。

*BM25 為反向索引的舊式方法,但常被作為 retrieval model (檢索模型) 的基準。

密集檢索 Dense Retrieval

密集檢索使用了嵌入 ( dense embedding ) 將查詢和文件轉換為密集向量 ( dense vectors ),並利用近似最近鄰 ( approximate nearest neighbor ) 算法進行檢索。

Step1. 使用模型將 Search Query 跟文件轉換成向量,經典例子像是 word2vec ,或者大多數 NLP 方法,所使用的 BERT ,或是Neural IR 上的例子,像 SPALDE, DistilBERT, ColBert等方法。

Step2. 密集檢索做完之後,可以計算出 Query 跟文件之間的餘弦相似性 ( Cosine similarity ),並用 *最鄰近搜索 (Nearest neighbor search) 方法計算出對於某一個搜尋向量最接近的文檔是哪些。

*最鄰近搜索 (Nearest neighbor search) 的話就是相對於K-近鄰演算法 ( KNN, K Nearest Neighbor) 的感覺

搜索排序 (Search Ranking)

如果客人在 Home Depot 上使用搜尋時會發生什麼?

會根據探索型客人或根據客人過去行為及喜好,進行搜尋順序( search ranking )。以 power washer 為例,客人需要 power washer ,在搜尋欄輸入 power washer 後,會檢索出有關 power washer 相關配件,因此透過搜尋順序( search term )可以瞭解客人過往需求與消費行為。

在 Home Depot 首頁的搜尋產品清單頁面 ( Product Listing Pages )上會排序 3 ~ 4 個產品。產品搜尋的第一步驟就是召回 ( recall ) ,當有數百萬個產品時,透過一次的 Search Query 作為搜尋引擎( Retrieval Engines ),從目錄( catalog )找出相關產品,藉此檢索出相關產品列表,接下來會透過重新排序( re-ranking )的方式,將幾千個的產品清單再次運用排序器( ranker )進行重新排序( re-ranking ) ,並執行商業技巧優化( business tricks optimization ),這也是目前電子商務( E-Commerce )採取的做法。

Home Depot 在探索客人意圖時,會根據客人是否登入會員為依據,瞭解過往消費行為得知消費模式,當客人上禮拜已經購買一台 power washer ,今天又在網站上輸入 power washer 時,則有很大的機率不會再次購買一台,因此我們會透過排序器( ranker ) 將 power washer 配件放入清單內,用篩選功能(例如:今天訂明天到貨,或是兩天內到貨等消費需求),或者是在搜尋介面上增加購物體驗( shopping experience )。使客人在 Home Depot 網站搜尋流程,從輸入 Search Query 後到產品清單頁面( Product Listing Pages )能有流暢的購物旅程( shopping journey ),其流程圖如下:

圖二、 Search Query 到產品清單頁面的購物旅程

Home Depot 從 Search Query 到 PLP ( Product Listing Pages )流程步驟:

1.處理查詢以了解意圖

2.從目錄中檢索相關產品

3.根據客戶的喜好對產品進行排序

4.採用有助於客戶購物體驗的組件(例如: filters、badges)

產品搜索排序的挑戰(Challenges of Product Search Ranking)

密集檢索相較稀疏檢索更能檢索出看起來較相關的東西,且不會執著於關鍵詞袋( Keyword Bags ),即使找到一些關鍵詞袋 ( Keyword bags ),也會出現沒辦法找出的詞語,其缺點如下:

第一部分,在訓練得非常好的情況下,是非常耗時間的,如果真的這麼簡單的話,則大家早已全用密集檢索( Dense Retrieval ) 了。但實際情況是目前的搜尋引擎不完全都是使用密集檢索( Dense Retrieval ) ,比較多的情況下是用 hybrid approach ,所以也會出現一些稀疏檢索( Sparse retrieval )的情況。因為在一些情況下,我們只需要知道它的關鍵詞有匹配到,因此,不需要先將所有的倒排索引 ( Inverted index )都產生出來,再算出餘弦相似性( Cosine similarity ),簡單的事情無須使用牛刀來執行,所以現在大多數的情況下, 稀疏檢索( Sparse retrieval ) 跟密集檢索( Dense Retrieval ) 都會一起被用來被當成是搜尋引擎( Retrieval engines )的一部分。

第二部分,在做搜尋引擎的時候, 重視 latency 跟速度,密集檢索( Dense Retrieval ) 因為要透過模型計算非常耗時。而稀疏檢索( Sparse retrieval )是透過關鍵字( keyword base )轉化成指標( index ) ,相比之下, 稀疏檢索( Sparse retrieval )的運作速度快很多。

然而在做產品搜尋排序( product search ranking )時,會遇到一些挑戰是不如我們想像中這麼簡單。執行排序模型( ranking model )前先決定objective functions,根據客人消費行為會有不同的安排,例如客人點選特定產品、產品加入購物車、購買產品等,而設計出不一樣目標 。

電子商務( E-Commerce )重視的是轉化率(conversion rates)、分析購買行為的優化策略,若眾多產品裡僅少部分的產品可被購買的話,則會丟失有用的數據 (data point) 。當客人搜尋 power washer 時,比較傾向購買高級且知名的產品。反之,當客人想要購買釘子、螺絲時,則會在乎實用性,不會特別在乎品牌,因此在實際執行產品搜索排序時會出現以下四種情況:

1.設計排序模型的目標函數

在設計排序模型的目標函數時,需要注意以下:

  • 考量客戶的想法是什麼? 如何尋找靈感? 或者是該怎麼準備轉換方式?
  • 什麼產品是流行的或促銷的?
  • 類別變數 ( Categorical variance ) 是什麼?
  • 相關性判斷( relevance judgements )的用處

第一種是依據客人的特徵( features )來分群,針對不同的類別( category )來判斷客人的關聯行為,當執行排序( ranking )是很主觀的事,每位客人都有不一樣的喜好,例如:我喜歡飛利浦( Philips )的燈,但是 Jason 不喜歡,因此,執行搜尋排序時是無法主觀的將飛利浦( Philips )電燈擺在所有人的搜尋排名第一個。但在 Google 網站搜尋時,搜尋排序的關聯性則會主觀些,假設詢問「現在的臺灣的總統是誰」,則事實條件只有一個,所以在做搜尋引擎時相較簡單些。

2.線上購物和店內購物之間的體驗平衡感

第二種是考量實體店面與網路電商的平衡,以 Home Depot 為例, 目前大部分利潤皆來自於實體店面,網路電商也在急起直追,因此如何將兩者通路達到平衡是考量的搜尋排序關鍵因素之一。

3.客戶滿意度與商業成功之間的平衡感

第三種是滿足客戶的需求,當客戶不滿意時則表示可能將不再繼續消費,以經營層面為考量出發點,此部分亦是考慮因素之一。

4.產品排序裡的開發與探索之間的平衡感

第四種是搜尋排序須注重開發( exploitation )跟探索( exploration )之間的關係,假設飛利浦( Philips )的電燈品質好就將它往前排序,亦須確保其他品牌的產品也會曝光機會,因此,在產品搜尋排序時須考慮產品探索( exploration )關係,這也是困難的挑戰之一!

多階段排序框架(Multi-Stage Ranking Framework)的設計

多階段排序框架( Multi-Stage Ranking Framework )在業界經常被採用,例如: Home Depot 、阿里巴巴( Alibaba )、Linkedin、京東( JD ),其多階段排序框架( Multi-Stage Ranking Framework ) 概念為2至3層排序框架,執行多階段排序( Multi-Stage Ranking )時須考量兩點原則:一是速度,二是效率(亦同於效用)。

當執行召回 ( recall ) 時,模型會從數百萬個產品找出幾具有相關性的前一千個產品,後續會重新排序把它再排一次,根據一些客戶的喜好及特殊節日,把情境化( contextualize )的指標放入模型內或是加入排序器裡。為了能更精準排序會講求效用( effectiveness ),讓人可以一眼看到排序較前面的產品,這樣可觸及客戶點擊率,將產品加入購物車後進行下單的行為,因此,在設計 Home Depot 的排序模型( ranking model )時,需要注意客戶的喜好,又或者是網站放上哪些產品會影響到客戶購買行為,這些皆會被視為設計模型的特徵( features ),當產品頁左上角有獨家的標籤,則表示此產品僅在 Home Depot 販售,或者說標籤顯示熱門產品( best seller ),就能知道這項產品目前在 Home Depot 非常熱銷,有一些標籤能引導客戶跟隨購買的消費行為。

在設計模型特徵 ( model feature )時,要思考如何把產品轉化為模型特徵的模型輸入裡 ( model inputs for model features )。假設一位客人輸入 power washer 時,模型會將 power washer 詞語轉換成 query features ,即為搜尋的關鍵詞視為特徵,並將詞語拆成兩個token(詞組)再與所有的類別( catalog )產品進行比較,再透過 query features 查看哪些產品能匹配到「 power 」跟「 washer 」詞語,並提取產品評價、價格及銷售量等產品特徵 ( product feature ) 給客人。

搜尋引擎的排序原則

搜尋引擎排序也會考量搜尋引擎與產品間的關係,即表示 query product feature 排序時會提取眾多產品特徵為考量要素。例如:去年客人搜尋「 power washer 」時,有多少的機率會以$109的價格購買排序第一個的產品,又有多少機率會用$250的價格購買第二個產品,這些考量要素將被視為 curriculum features 。

排序模型( ranking model ) 需要瞭解搜索詞與產品之間的關聯性( relevance ),當客戶購買( purchase )產品時,會產生一些正向訊號( positive signals )如點擊與加入購物車的行為,反之,當客戶略過排序清單的前面兩個,直接點擊排序第三的產品時或是購買後立即退貨,這些則被視為負面訊號( negative singles )。當正向訊號( positive signals )與負面訊號( negative singles )都加在一起就能產生出排序標籤( ranking labels ),然後藉由 *排序器( ranking )來學習如何去排序、建模,如果有 pointwise 的話則會呈現回歸( regression ),就能直接預測一個搜尋詞( search term )對產品而言,它的分數到底會是多少?

當搜尋引擎的 *排序器( ranking )在學習之前,需要考量逐次或是全部產品放入模型裡哪個成效較好?因此,可按列表( listwise )學習如何排序,並將搜尋詞( search term )進行搜尋順序,當把全部的產品放入模型時則會產生一個分數,將採取計算的 loss 方式,這個是比較進階( advanced )且密切的建模( modeling )的方法。

*排序器( ranking )在使用時會搭配一些衡量標準,瞭解其相對之間的關係,所以在做排序評估( ranking the evaluation )之後,使用的矩陣( matrix )與一般使用精確( precision )、召回( recall )、準確率( accuracy )較為不同,執行排序器( ranking )時較常使用以下三種矩陣( matrix )方式:

  • Mean Reciprocal Rank (MRR)
  • Mean Average Precision (MAP)
  • Normalized Discounted Cumulative Gain (NDCG)

最後跟大家分享,我們如果把一個模型( model )做完之後,要怎麼樣實際的去做線下評估( offline evaluation ),因為我們知道過去哪一些客人,他跟哪些產品做了搜尋與互動,可藉由這些互動(engagements)來去計算模型( model )預測的結果,根據這些預測( prediction )算出分數結果,這也是普遍常用的評估方法。

假使今天要將「膠帶」搜尋詞( search term )進行搜尋順序的話,對一般人來說,他看到的排序跟油漆工可能不同,對油漆工來說,因為他們會需要先去把一些要漆的部分的邊緣都貼起來,所以他們會去購買油漆膠帶( painters tape )把它貼起來,因此,我們會傾向把油漆膠帶( painters tape )搜尋結果排到前面,讓他們先去買。

最後,對排序來說,其實我們仍有很多發展的空間,包括我們是從哪些客人的過去資料來做訓練,所以它就會有很多偏差( bias ) 在裡面。搜尋引擎也有這種情況,我們通常會點擊排在前面的搜尋結果,所以被排在前面搜尋結果,就會有位置偏差( position bias ),就會發現我們去點它的原因是因為它排在前面,而不是因為它真的是最相關的結果。

假設今天在 Google 上搜尋了某個東西,當把很不相關的東西擺在第一個,大概有超過一半的人會直接點擊頁面,這就是所謂的位置偏差( position bias )。當客戶的資料有很多的雜訊摻雜在裡面,若出現三個雜訊時則代表關注狀態並不是很良好,因此對排序而言,一個產品的好與不好,是很主觀的東西,總不可能詢問所有客戶,所以要怎取得真實標籤( ground truth labels )基本上是不太可能的。

但是要如何才能更貼近事實,這是需要進行很多的努力,例如運用類神經排序( neural ranking )、強化學習( reinforcement learning ),兩者皆是目前較熱門的研究方向。Home Depot 其實花一些時間在研究有沒有機會將強化學習( reinforcement learning ) 或者是類神經排序( neural ranking )套用在搜尋排序上。

後續大家有任何問題,皆歡迎提出請教,大家也可用 EmailLinkedin 與我進行聯絡,謝謝大家!

Q&A問答精選

Q: Relevance 部分是只有透過 query intention 去保證嗎?還是會有一個 relevance model 在 rerank 去保證?或是在 recall 階段搭配一些 item attribute 和 user query 做一些 term filtering 呢?如何 trade off user experience?

A:1.Relevance的部分,在recall (召回)階段時只有透過 relevance model 或 search engines 來保證是否相關,在recall (召回)階段之後則呈現相關,若不相關就會呈現0或1。

2.如果有些小公司比較沒有預算的話,也可做到 recall 階段透過 relevance model 或 search engines 來保證的步驟,然後剩下ranking (重新排序)則略過不做,因為可把檢索分數視為排序器( ranker )的分數來進行排序,藉此無須佔用時間、人力與資源去執行,因此在第二階段的排序器( ranker )時加入情境化特徵( contextualize feature ),並通過當前意向( current intent )來保證,例如取貨時間、取貨人、取貨物件都會影響排序。在執行重新排序( re-ranking )時是需要保證一定程度的關聯性,如同先前提到的稀疏檢索( sparse retrieval )與密集檢索( Dense Retrieval ),假使具有高相關性也有可能出錯,比方說要找一個黃色的椅子,但有可能某品牌名稱也叫黃色,產品名稱有黃色的關鍵字就會被召回 ( recall ),雖然重新排序( re-ranking )的關聯性( relevance )很重要,但前提是需要知道搜尋的產品是否為椅子這個產品。

3.在召回( recall )的時候,需要透過項目屬性( item attributes )跟 user query 來執行詞語過濾 ( term filtering ),比方說今天客戶輸入的搜尋詞為「power washer」時,相關產品會被稀疏檢索( sparse retrieval ) 召回,假使知道客戶已經買了power washer,但其實他只是想找些產品配件,此時會通過項目屬性( item attributes )先值行第一步的過濾( filter ),因此重新排序( re-ranking )的產品變少,相對地執行速度就會比較快,其準確度也相對較高,至於如何權衡取捨( trade off )的話,通常會直接做 A / B testing。

Q: 如果資料來源都是目前線上使用者搜尋的結果,那在進行ranking model iteration的時候,model 優化的ground truth都是base在既有的搜尋系統產出的結果,想請問目前有針對這樣的data bias作處理嗎?

A:通常需要執行查詢擴展( query expansion ),透過生成模型( generative model )來產生搜尋詞( search term )。比方說透過一些快速擴充( quick expansion )的方式增加搜尋詞( search term ),在搜尋產品時輸入yellow player,可以透過其他方式知道產品1號跟產品2號很相近,僅差別在於尺寸大小而已,因此可以加入產品之間的相似性( similarity ),手動調整標籤( label ),藉此透過標籤( label )解決問題。雖然排序( ranking )是一個很主觀,但對於排序( ranking )的相關或不相關則是客觀的,如果要搜尋一台 power washer 時,搜尋結果為一台除草機的話,其結果與搜尋詞毫無相關的話,公司內部則會花錢派人手動標籤,針對搜尋詞與產品的相關性來訓練模型,若訓練較好的模型亦可視為排序器( ranker )、標籤( label )、特徵( feature )。

Q:請問在與 Business stakeholders 溝通或合作關於 search 跟 ranking 的時候有遇到什麼挑戰嗎?或是有沒有一些調整是為了因應商業的需求 謝謝!

A:1.因為 Business stakeholders 會有一些自己的想法,所以在執行排序器( ranker )與檢索引擎( retrieval engine )時耗費不少時間在溝通協調上,由於 Home deport 以販賣產品為主,因此須以整體收益( revenue )為考量執行好份內的事。

2.美國的節慶時,常見有很多特價活動(例如國慶日、萬聖節),此時 Business stakeholders 會希望能將他們自家特價產品放到最前面,藉此吸引顧客的目光,進而促使顧客的購買需求,這也是 Home deport 需要與 Business stakeholders 協調在搜尋排序的產品順序與廣告曝光版面。然而,在Google搜尋時,搜尋排序前幾個會出現AD ,則代表此為付錢廣告,在執行排序( ranking )時,有一些產品是透過付費方式讓排序往前移,但我們目前其實是沒有把那些贊助廣告商的產品納入排序( ranking )裡,因為每天的競標價格是不同的,因此它們的關聯( relevancy )也會不同,亦也不可能因贊助商的出價最高就將全部商品換成該品牌,因為 Home deport 會跟 Business stakeholders 協調如何在有限的一頁式版面放入24項產品,並規劃這24項產品如何讓公司利益最大化。

Q:請問 Ranking balance customer satisfaction & business success 的部分是運用哪些數據 (variables) 去決定的呢?像是 business success 可能是商品利潤之類的。感謝您

A:與上一題問題相關,在訓練模型時我們透過好幾個不同的指標( metrics )加進 objective functions,讓模型來學習最佳配置( configuration ),比方說把利潤( margin )、收益( revenue )、轉換率( convert rates )加進模型內運行多任務學習/多目標學習( multitasking learning/multi objective learning ),其最終目標都是要進行優化( optimate )的情況下,該如何得知模型訓練的結果好壞?

首先,會先透過 data science (資料科學)得到三次驗證,再去執行線下評估,其 A項的收益( revenue) 跟利潤( margin )也會跟著提高時,則代表這結果很好,就能運用 A 項來做 A / B Testing,若 A / B Testing 的結果也是不錯的話,就能把資料呈現給 Business stakeholders 以視同意,因此像 Home Depot 一間大公司需要做最正確的數據決策,所以通常會根據 A / B Testing 的結果來決定一個產品是否要上線。

Q:延伸剛剛三和所說的跟公司合作 舉大旗:一切都是為了整個公司利益才這樣做的,試問要如何說服老闆,為何飛利浦放在panasonic前面才是利益最大化。是說儘量不用商業變數來影響干涉model的準確嗎?

A:這會需要看老闆跟那些Business stakeholders可接受程度如何,因為每一位stakeholder 及老闆他們可接受的情況不一致,因此 Home Depot 在溝通時會運用 data 來說服對方,以conversion為例,假設飛利浦( Philips )的電燈賣最好,其convert rates (轉換率) 有0.2,但其他品牌包含 Panasonic 的電燈全部加起來也有可能超過飛利浦( Philips ),因此不能將所有產品都換成飛利浦( Philips )的產品。

其次考量使用者體驗( user experience ),不能因只放單一產品而讓客戶搜尋不到其它產品,亦不能因某一項產品賣得特別好,就直接把它放到第一個,這樣會是極端且有相當大的風險。

Q:請問控制exploitation & exploration之間權衡的參數調教是否有用到A/B testing呢?

A:這種情況下的話,常見的方法為「多臂式吃角子老虎機測試( Multi-Armed Bandit Testing , MAB )」,其 MAB 的概念是去做探索( exploration ),透過 MAB可以執行探索過程,讓模型訓練出結果好與不好,當模型結果較好時則會繼續留下,反之結果不好時將會被移除,假設無法藉由 MAB 得出結論的話,可改用另一個較耗時的做法,隨機將排序比較後面的東西往前擺放,執行兩個禮拜後並觀察結果,若有位置偏差( position bias )因素的話就移除,即可將排序在後面往前面放的東西與原本排序較前面的東西相比,即可知道哪一個東西有資格站在前面的,哪一個是要被丟到後面。

Q:請問當HD推廣”自有品牌”時,如何處理與其它廠牌的數據衝突?

A:Home Depot 與其它廠牌是有可能發生利益衝突,但不是在處理資料科學( data science )時需執行的部分。目前在 Home Depot 並沒有特別推廣自有品牌,因為美國對於自有品牌是蠻敏感的,再加上有其它電商曾有類似案例,因此大部分的電商不敢明目張膽將自有品牌往前排序。

Q:Are filters always added in the later stage? How do we tackle the case where a product may not be able to retrieve enough candidates that will not be filtered?

A:The filters are usually added or applied in the later stage. That’s the reason why at the retrieval stage we usually don’t apply any unnecessary filters so that we can have enough products for ranking stage.

Q:你好~想問在利用使用者喜好的排序商品順序的時候,排掉已經購買過的商品時,會不會忽略掉使用者回購的可能性?謝謝!

A:這是有可能的,所以有些做法就會把「回購機率」也考慮進去當成是模型特徵的一部份。

Q:Recommendation team 跟 Search team的差別

A:Recommendation team 會負責網站上所有跟推薦系統相關的業務,包括在搜尋頁面上的推薦系統。Search team 就負責所有(除了推薦系統)跟搜尋系統有關的業務。

Q:如果這個使用者是未豋入或是新的使用者,那在搜尋的時候要如何結合使用者興趣或intention做ranking?

A:有一個做法是利用短期 (short-term) 的資訊來進行排序,相對於舊的使用者你可以知道他們長期 (long-term) 的資訊。

Q:Does it make sense to use one single product metric (such as conversion rate), but use multiple other engagement signals (ctr) as ML training objectives?

A:Of course. There are millions of ways to build your own objective functions. However, we still have to let the data tell us which one will fit your business goal the best.

Q:Do you apply any methods to deal with the case when user input contains typos? For example, the user inputs “pwer wash” instead of “power washer”. (edited)

A:Yes. We have our ways to correct these typos in their search terms.

Q:請問在評估搜尋排序結果的效果時,除了用數學的評估指標之外,也會人工用眼睛看搜尋後的排序程序,進一步評估嗎?

A:會的,因為有時候那些計算出來的評估指標不完全能告訴我們排序的結果到底是好或不好。因些,我們通常會兩種方法都使用。

Q:How do you know the professions of the customers?

A:We have our internal models to predict customers’ professions.


筆記手:游翊婕

校稿:San He Wu、Ting Yu

👉 歡迎加入台灣資料科學社群,有豐富的新知分享以及最新活動資訊喔!

 

資料科學協會

資料科學協會

社群分享筆記 更新紀錄

Copyright 2020-2024 資料科學協會 All Rights Reserved.

本網站由 資料科學協會 維護