作者:閑魚技術——有攸
一、背景:
卡耐基在《人性的弱點》一書中說:“世界上唯一能影響他人的方法,就是談論他所要的,而且還要告訴他,如何才能得到他所要的”。由此可見,良好的溝通交流可以很大程度上拉近雙方的關系,進而影響對方。閑魚消息是買家了解二手物品資訊不可或缺的一環,我們有理由推斷良好的聊天能夠對成交産生正向影響。推斷需要資料來佐證,通過對以往聊天成交資料的關聯分析,我們得到了如下結論:
- 賣家比買家聊的越多,成交機率越大
- 相比經營者,個人賣家互動轉化率偏低
我們推測個人賣家轉化率偏低的一個原因是不會好好聊天,通過抽樣case發現部分賣家回複内容高冷、生硬、情緒化,進而導緻雙方尴尬,聊天戛然而止。是以我們探索的方向就是如何引導賣家與買家好好聊天,通過算法意圖識别,以聊天小助手的形式給賣家提供友好的建議性話術,讓溝通交流不再僵硬。
二、從議價開始
1.為什麼是議價
買賣聊天主要對話場景有開場問詢、價格問題、郵費問題、商品資訊等,其中會話中聊到價格的占比30%~40%,而且會話中談及價格時,往往也是交易較後的階段,如果買賣雙方在價格問題上溝通順利,預計可以有效促成交易。是以我們考慮先從議價場景切入,最小閉環上線,觀察資料佐證猜想後,再逐漸上線其他對話場景政策。
2.方案設計

為了不影響消息主鍊路,識别流程必須走異步mq消費流程,同時為了減少算法識别的壓力,對消息進行了消息類型、發送者、關鍵字過濾、會話疲勞度控制等規則的初篩。此外,我們還關聯了商品的價格力資料,價格力資料可以提供商品的同類同款賣出價以及推薦價,通過算法綜合擇優,可以給出商品建議價,再根據買家出價情況,走不同的産品邏輯組合成不同場景下的同意/拒絕文案選項。這樣無論買家出價是否合理,賣家是否接受,給賣家提供友善的議價話術選擇,讓買賣雙方還有繼續聊下去的機會,就還有成交的希望。如果買家出價不合理,也會給買家下發議價不合理的卡片,給出同類商品的參考價,拉平買家的價格預期。
3.産品效果
賣家側:
買家側:
三、繼續探索
1.寶貝還在嗎?
相信這幾乎是每個閑魚賣家都司空見慣的聊天開場白,但很多賣家見多了反而不願意回複這類沒有營養的問題,内心os:"不在還挂着幹啥???"。我們本着讓買賣雙方的聊天有一個愉快的開始的目的,考慮從2個方面優化這個場景的問題:
- 為買家提供更多樣更有價值的開場白問題
- 為賣家提供打招呼消息的快捷回複
2.基于類目的權重随機開場白
不同類目的商品聊天中買家關注的問題點不同,我們基于離線資料分析,回撈了一批不同類目買家最關心的問題清單,把這些問題首先按類目分類,其次按關注點(二手屬性)分類,再加上觸發規則條件、權重分,形成一套開場白問題庫,可由産品營運自助添加修改。
流程圖:
如上圖所示,當會話建立時,先根據類目讀取問題庫得到對應的問題清單,再根據這個商品本身的一些屬性标,如是否包郵,是否全新,按規則篩選出符合條件的問題清單,再根據權重分對滿足條件的問題進行權重随機,最終得到某個二手屬性的問題項。為了保證問題内容的多樣性,每個二手屬性的問題項也會有不同文案但相同語義的表達,最後再次随機一個具體問題表達,即可下發建議卡片。
3.意圖識别流程架構
前面已經實作了議價意圖的算法識别,這次又要新增一種打招呼的識别,是否要重新開發整個流程呢?顯然不需要,前期議價為了快速疊代上線看效果,沒有抽象設計成一種通用的意圖識别流程,這次新增第二種意圖識别,有必要還債重新設計了,任何優秀系統的設計都是不斷疊代重構産生,絕不會是一蹴而就的,項目初期在需求不明确的情況下如果考慮的過多,往往會導緻過度設計,後面如果需求變動,又要返工。故重新抽象設計一套通用的意圖識别流程架構。
流程設計:
類圖:
如上圖所示,每種意圖需要實作IntentProcessor接口,實作自己的過濾和處理邏輯,不同意圖有不同的初篩邏輯和擴充參數,filterAndCompleteContext這個方法是用來過濾和補充意圖識别擴充參數到流程上下文中的,如果滿足初篩條件,就添加該意圖類型到可能的意圖清單中,由算法識别最終結果,如果一條消息存在多種意圖,由算法根據優先級規則選出最相關的意圖。得到意圖識别結果後,調用對應的IntentProcessor的process方法,完成具體的業務邏輯處理,如在議價場景是根據價格規則,組裝不同文案下發建議卡片。
4.産品效果
開場白:
打招呼:
四、從問答中取栗
1.為什麼總是問我同一個問題?
我們觀察資料發現,聊天中商品問詢場景覆寫率35%~40%,因為閑魚商品交易獨特的二手屬性,賣家可能會面臨同一個商品同一個問題會被多個買家多次問到,進而重複回答的情況,賣家有苦說不出,隻能内心os"為什麼總是問我同一個問題?"。為了優化賣家體驗,提高賣家回複效率,我們決定識别聊天中的問答對,然後在問答對消息後面插入引導tip,賣家側可以選擇将問答對補充到商品詳情中,如果問答對中含有商品結構化二手屬性資訊(比如成色、有無拆修、品牌等),也會識别并引導賣家補充商品的結構化屬性。
2.通用消息擴充屬性變更
我們上面說的意圖識别流程架構馬上就用了起來,這時候隻需要新增一種意圖識别處理器(IntentProcessor),實作該場景的過濾和處理邏輯,就可以輕松實作整個功能。但新的問題來了,上面的議價、打招呼場景中我們給賣家側的引導都是一種建議類卡片,這種卡片是一條新消息,與其他的消息一起混排,而且與觸發源消息關聯性不強,即使有延遲導緻卡片插入到偏後的位置,影響也不是很大。但是問答這種場景,下發的是一條引導tip,這個tip是與答案所屬的消息強關聯的,引導tip必須緊跟答案消息後面,如果對不上,就會非常影響體驗。
閑魚的消息清單是按照發送時間排序的,如果按以往新消息的形式插入,無法嚴格保證下發時機緊跟在某條消息後面,如果人為的修改消息的發送時間,會破壞消息發送時間這個字段的語義。我們從另一個角度思考,這條tip一定是緊跟在某條消息後面,如影随形,不離不棄,那麼為什麼不合二為一呢?把這條tip看成是這條消息的一個擴充屬性,是以我們決定引入一種通用變更消息擴充屬性的能力,通過事件下發給用戶端,再由用戶端根據約定的協定解析并展示,如下圖所示
由業務發起對某條消息的擴充屬性變更,可選設定存儲服務端消息庫,更新會話視圖,比如問答場景的tip,是有時效性的,隻需要透傳給用戶端,服務端完全不需要存儲。該方案也為以後消息的個性化變更及展示提供了可能。
五、總結與展望
至此,我們的聊天小助手沉澱出了一套通用的意圖識别流程架構,實作了議價、打招呼、問答三種意圖識别,引導廣大個人賣家跟買家好好聊天,幫助賣家快捷補充更詳細的商品資訊。聊天小助手上線後,功能使用率較高,實驗桶相比對照桶,回複率相對提升4%,在議價場景中,下發夾片的實驗桶相比對照桶成交轉化率相對提升4%,從資料來看,确實也證明了我們之前的推斷,引導買賣聊天,對促成交易有正向作用,為接下來該項目的繼續演進提供了可能。
我相信友好親切的溝通交流可以溫暖人心,拉近關系,現實世界是如此,通過網絡溝通也同樣是如此。未來我們會持續疊代優化聊天小助手,橫向挖掘更多的意圖識别場景,比如包郵、發貨地等,同時在聊天中涉及最多的商品資訊識别場景深耕,幫助賣家更好的完善補充商品資訊。總之,未來聊天小助手會有更豐富實用的技能樹,讓她更聰明,更懂你。