作者 | 松濤 尚先 筱斌等
App引導(dǎo)是端上做心智建設(shè)的重要手段,我們嘗試了“劇本式”思維獲得了較好效果。在想法落地時(shí),相關(guān)研發(fā)工作量較大,而且終端技術(shù)棧多樣化,需要做到“零代碼”和“技術(shù)棧無(wú)關(guān)”。最終我們通過(guò)“圖像匹配”與“標(biāo)準(zhǔn)協(xié)議”等核心方案實(shí)現(xiàn)了突破。本文將介紹該項(xiàng)目的思考過(guò)程,并會(huì)對(duì)關(guān)鍵技術(shù)方案進(jìn)行剖析和解讀,希望能給從事相關(guān)開發(fā)工作的同學(xué)以啟發(fā)。
- 項(xiàng)目目標(biāo)
- 收益測(cè)算邏輯
- 面臨的挑戰(zhàn)
- 背景
- 現(xiàn)狀
- 目標(biāo)與挑戰(zhàn)
- 整體設(shè)計(jì)
- 展示形式選擇
- 方案描述
- 部分技術(shù)方案剖析
- 基于視覺智能的區(qū)域定位方案
- 保證任務(wù)執(zhí)行的健壯性
- 零代碼完成劇本創(chuàng)作與編輯
- 階段成果
- 能力建設(shè)
- 部分業(yè)務(wù)線上效果
- 總結(jié)與展望
背景
互聯(lián)網(wǎng)行業(yè)節(jié)奏偏快,App 的更新愈發(fā)頻繁,如何讓用戶跟上更新節(jié)奏,理解產(chǎn)品功能,完成認(rèn)知迭代,是業(yè)務(wù)發(fā)展中不可忽視的一環(huán)。同時(shí)“低代碼/零代碼”的理念也逐步被大眾認(rèn)可,相關(guān)調(diào)研報(bào)告指出“低代碼/零代碼”可以加速企業(yè)的數(shù)字化轉(zhuǎn)型。以美團(tuán)到家事業(yè)群為例,在宅經(jīng)濟(jì)再度升溫后,即時(shí)配送應(yīng)用的增長(zhǎng)速度高于其他配送時(shí)長(zhǎng)的應(yīng)用。大量新用戶的涌入既是機(jī)遇,也是挑戰(zhàn)。目前美團(tuán)到家事業(yè)群已經(jīng)涵蓋了醫(yī)藥、團(tuán)餐、閃購(gòu)、跑腿、團(tuán)好貨、無(wú)人配送等 10+ 業(yè)務(wù)線。新的商業(yè)模式意味著新領(lǐng)域的嘗試,主業(yè)務(wù)外賣平均數(shù)日也會(huì)上線新的功能模塊,這些都需要關(guān)注用戶心智建設(shè)與效率提升。
現(xiàn)狀
在提升用戶心智,獲得服務(wù)認(rèn)同方面,業(yè)界內(nèi)也做了很多嘗試,包括豐富多樣的輕交互,也有“保姆式”的游戲引導(dǎo)教學(xué)。這些實(shí)現(xiàn)方式歸結(jié)到技術(shù)層面,都是 App 中的功能引導(dǎo),它可以讓用戶在短時(shí)間內(nèi)快速了解產(chǎn)品特色以及產(chǎn)品使用方式。相對(duì)于 “廣告投放”、“口號(hào)傳播”、“地推介紹”等傳統(tǒng)方案,App 中的功能引導(dǎo),具備成本低、覆蓋準(zhǔn)、可復(fù)用等特點(diǎn)。
常見的功能引導(dǎo)App 功能引導(dǎo)是用戶心智建設(shè)的“敲門磚”,只有讓用戶熟悉平臺(tái)操作、了解產(chǎn)品特色作為前提,才能進(jìn)一步借助情感化、場(chǎng)景識(shí)別、運(yùn)營(yíng)技巧等手段來(lái)做用戶心智建設(shè)。隨著 App 功能的不斷迭代,在用戶中逐漸出現(xiàn)了“用不明白”的現(xiàn)象,這個(gè)現(xiàn)象在美團(tuán)外賣商家客戶端尤為突出。
作為商家生產(chǎn)運(yùn)營(yíng)的主要工具,客戶端承載的業(yè)務(wù)功能復(fù)雜多樣,設(shè)置項(xiàng)更是品類繁雜,如果商家用不明白,就會(huì)對(duì)整個(gè)運(yùn)營(yíng)體系造成非常不利的影響。為了讓商戶“用得明白”,2021 年第一季度,美團(tuán)外賣商家端在功能引導(dǎo)類需求層面耗費(fèi)了大量人力,平臺(tái)產(chǎn)品側(cè)重點(diǎn)對(duì)商家進(jìn)行了扶持,并試點(diǎn)了“情感化引導(dǎo)”等項(xiàng)目,雖然業(yè)務(wù)效果取得了正向收益,但由于后續(xù)的研發(fā)估時(shí)較大,空有想法卻難以落地。類似的營(yíng)銷、廣告、商品、訂單等業(yè)務(wù)也由于快速迭代,也需要配套生產(chǎn)一系列產(chǎn)品功能的引導(dǎo)需求,也因?yàn)槿肆?wèn)題而一直處于積壓狀態(tài)。
部分引導(dǎo)類需求
目標(biāo)與挑戰(zhàn)
基于上述背景與現(xiàn)狀,我們迫切需要提供一種解決方案,讓業(yè)務(wù)方可以更快捷地落地自己的想法,在控制好成本的情況下,更好地建設(shè)用戶心智。同時(shí),解決目前積壓的業(yè)務(wù)任務(wù),包括但不限操作教學(xué)、功能介紹、情感化、嚴(yán)肅化等等場(chǎng)景。于是 ASG(Application Scripted Guidance) 劇本式引導(dǎo)項(xiàng)目就應(yīng)運(yùn)而生了。
項(xiàng)目目標(biāo)
我們的項(xiàng)目目標(biāo)是搭建一套好用的劇本式引導(dǎo)工具,即便是非技術(shù)同學(xué)也能獨(dú)立完成生產(chǎn)與投放,并且相比傳統(tǒng)方案的成本更低、效果更好,目前主要應(yīng)用在“操作引導(dǎo)”與“心智建設(shè)”等場(chǎng)景。
這里的“劇本”怎么理解?就是帶入一個(gè)實(shí)際場(chǎng)景,模擬一個(gè)期望達(dá)成的目標(biāo),帶領(lǐng)用戶為此目標(biāo)而進(jìn)行一系列的操作指引。用戶可感受整體流程以及其中的關(guān)聯(lián)與時(shí)序關(guān)系。也可以理解為,這是一個(gè)預(yù)先安排好的小節(jié)目,一步一步展示給用戶,可能需要交互也可能不需要。而劇本化的引導(dǎo)方式,之前在游戲類 App 應(yīng)用比較常見,比如遇到了一個(gè)火屬性敵人,所以要去武器界面,選中某武器,換上水屬性寶石。近兩年,劇本化的引導(dǎo)逐步在展示類 App 與工具類 App 中也開始被使用起來(lái)。此前,美團(tuán)外賣商家端的“開門營(yíng)業(yè)”、“模擬接單”等引導(dǎo)需求就使用了類似的思想,這種方式更加先進(jìn),但開發(fā)成本較高,所以導(dǎo)致后續(xù)引導(dǎo)類需求的積壓。
收益測(cè)算邏輯
ASG 劇本式引導(dǎo)項(xiàng)目的收益測(cè)算邏輯是“降本增效”,這里的“效” 既指“效率”也指“效果”,結(jié)果數(shù)據(jù)測(cè)算公式為:提效倍數(shù) x =( 1 / ( 1 - 成本縮減比))*( 1 + 產(chǎn)品指標(biāo)增長(zhǎng)比),因此目標(biāo)可拆解為如下兩個(gè)方向:
- 更低的生產(chǎn)成本,借助一些端能力和配置能力,通過(guò)簡(jiǎn)易的交互,就可以讓產(chǎn)品與運(yùn)營(yíng)同學(xué)獨(dú)立上線劇本?!傲愦a”與“技術(shù)棧無(wú)關(guān)” 作為項(xiàng)目的核心競(jìng)爭(zhēng)力。我們提供標(biāo)準(zhǔn)化的框架,并通過(guò)一些參數(shù)與類型的調(diào)配來(lái)應(yīng)對(duì)不同的需求場(chǎng)景,在大框架中提供有限的定制能力。
- 更高的應(yīng)用效果,相比于傳統(tǒng)的功能引導(dǎo),劇本式引導(dǎo)可以更加生動(dòng),能夠融合更多元素(不僵硬的語(yǔ)音、恰逢時(shí)機(jī)的動(dòng)效、和藹的IP形象),從而帶來(lái)沉浸式的體驗(yàn),增強(qiáng)用戶感知。更加關(guān)注與用戶的交互/互動(dòng),操作后的反饋?zhàn)詈檬钦鎸?shí)頁(yè)面的變化,加深用戶的理解。時(shí)機(jī)更加可控,在滿足規(guī)則后自動(dòng)觸發(fā),后臺(tái)可篩選特定特征的用戶(比如用不明白的用戶)定向下發(fā)劇本引導(dǎo)。
面臨的挑戰(zhàn)
- 目前,F(xiàn)lutter/React Native/小程序/PWA等終端技術(shù)棧各有各的適用場(chǎng)景,App 大多數(shù)為幾種技術(shù)棧的組合,如何抹平差異,做到技術(shù)棧無(wú)關(guān)?(即容器無(wú)關(guān)性 Containerless)。
- 劇本執(zhí)行的成功率與健壯性如何保證?(MVP 版 Demo 的成功率僅達(dá)到 50%,穩(wěn)定版目標(biāo)要達(dá)到 99% 以上)。
- 怎樣落實(shí)“零代碼”的劇本生產(chǎn)方案,以支持產(chǎn)運(yùn)獨(dú)立發(fā)布?(之前類似單任務(wù)需要研發(fā) 20 ~ 50人日)。
整體設(shè)計(jì)
展示形式選擇
項(xiàng)目主體應(yīng)該選擇基于什么樣的形式?我們的思路是先確定“好的效果”,再去嘗試在此形式下做到“更低的成本”。“好的效果”自然是期望體現(xiàn)在產(chǎn)品指標(biāo)上,但是前期,在數(shù)據(jù)對(duì)比上不同的場(chǎng)景落地指標(biāo)跨度較大,對(duì)于不同的形式也難以拉齊標(biāo)準(zhǔn)橫向比較。所以我們從“學(xué)的越多才能會(huì)的越多”的角度推演,通過(guò)平臺(tái)傳遞的信息能否更多的被用戶接受,來(lái)衡量最終產(chǎn)品效果。
我們選取了一些之前含視頻教學(xué)的業(yè)務(wù)數(shù)據(jù),平均播放時(shí)長(zhǎng)比例在 50% ~ 66% 左右,大多數(shù)用戶沒有看完整個(gè)視頻。我們分析后認(rèn)為,因?yàn)橛脩衾斫獾乃俣扔新锌?,稍長(zhǎng)的視頻內(nèi)容如果吸引力不夠大,或不能貼合用戶理解的節(jié)奏,就很難被看完。同時(shí),視頻傳播是單向的,缺乏互動(dòng),且不是劇本式思路。于是我們與產(chǎn)品商議后,在一些引導(dǎo)需求上試點(diǎn)了基于真實(shí)頁(yè)面開發(fā)、帶有一定劇本、可交互的引導(dǎo)(左上角設(shè)有常駐按鈕,用戶可以隨時(shí)退出引導(dǎo))。
試點(diǎn)的結(jié)果符合我們的預(yù)期?;谡鎸?shí)頁(yè)面開發(fā)且可交互的引導(dǎo),的確可以更好地被用戶所接受。引導(dǎo)完成步數(shù)比例達(dá)到 76% ~ 83%,相比于平均,播放時(shí)長(zhǎng)比例明顯更高。其實(shí),常規(guī)的展示形式上還包括圖片組,這個(gè)基本是強(qiáng)制用戶點(diǎn)完才能進(jìn)入該功能,可以應(yīng)用于一些建議的引導(dǎo)場(chǎng)景,但對(duì)于一些中等復(fù)雜度及以上的引導(dǎo)案例,這里的數(shù)據(jù)就不具備參考意義了。 我們基于一些采集到的數(shù)據(jù)和基本認(rèn)知,對(duì)以上三類做了一個(gè)對(duì)比,表格如下:
我們得到結(jié)論是:如果想要拿到更好的效果,想以用戶為中心設(shè)計(jì)一些更能被用戶所接受的引導(dǎo),基于真實(shí)頁(yè)面研發(fā)有著明顯的優(yōu)勢(shì),但是這么做的缺點(diǎn)是開發(fā)成本較高。目前,簡(jiǎn)易的試點(diǎn)已經(jīng)獲得了不錯(cuò)的提升效果,所以產(chǎn)研同學(xué)有信心在引入更多客戶端能力與調(diào)優(yōu)后,整體效果還有更大的提升空間。
方案描述
ASG 劇本式引導(dǎo)項(xiàng)目的目標(biāo)受眾是產(chǎn)品運(yùn)營(yíng)同學(xué),我們嘗試從他們的角度思考了:怎樣才算是一個(gè)便捷且高效的“劇本式引導(dǎo)生產(chǎn)與投放工具”?
產(chǎn)品運(yùn)營(yíng)視角如上圖所示,我們提供給產(chǎn)品運(yùn)營(yíng)同學(xué)的交互僅有:錄制、編輯、預(yù)覽、發(fā)布等四個(gè)步驟,當(dāng)產(chǎn)品運(yùn)營(yíng)同學(xué)需要在業(yè)務(wù)模塊上線引導(dǎo)時(shí),只需擬定一個(gè)劇本,然后四步即可完成這個(gè)“需求”,整個(gè)流程幾乎不需要研發(fā)和設(shè)計(jì)同學(xué)的參與。在具體的執(zhí)行方案中,我們對(duì)劇本引導(dǎo)進(jìn)行了模板化的設(shè)計(jì)編排,將每個(gè)引導(dǎo)動(dòng)作抽象成一個(gè)事件,多個(gè)事件組合形成一個(gè)劇本。同時(shí)為保證不同終端的兼容性,我們?cè)O(shè)計(jì)了一套標(biāo)準(zhǔn)且易擴(kuò)展的協(xié)議描述劇本元素,運(yùn)行時(shí) PC 管理后臺(tái)和 App 可自動(dòng)將劇本解析成可執(zhí)行的事件(如坐標(biāo)點(diǎn)擊、頁(yè)面導(dǎo)航、語(yǔ)音播放等)。核心的功能模塊在劇本的執(zhí)行側(cè)。為了保證更高的應(yīng)用效果,我們要求引導(dǎo)過(guò)程與用戶的交互,均操作在真實(shí)的業(yè)務(wù)頁(yè)面,播放展示的元素也要求是實(shí)時(shí)計(jì)算與繪制的,這對(duì)系統(tǒng)性能與準(zhǔn)確性提出了更高的要求。系統(tǒng)的全景圖如下圖所示,由終端側(cè)、管理后臺(tái)與云服務(wù)三個(gè)部分組成:
系統(tǒng)全景圖終端側(cè):包括兩個(gè)職能,既具備劇本的錄制能力,也具備劇本的播放能力,由四個(gè)功能模塊構(gòu)成。預(yù)處理模塊負(fù)責(zé)劇本的資源下載、協(xié)議解析、編解碼等操作,是保障劇本成功執(zhí)行的前置環(huán)節(jié);實(shí)時(shí)計(jì)算模塊則通過(guò)屏幕捕獲、特征匹配、圖像智能,完成動(dòng)態(tài)獲取劇本錨點(diǎn)元素的信息,保證了劇本引導(dǎo)的精準(zhǔn)展示,是實(shí)現(xiàn)劇本引導(dǎo)技術(shù)棧無(wú)關(guān)的核心環(huán)節(jié);任務(wù)調(diào)度模塊主要通過(guò)事件隊(duì)列的實(shí)現(xiàn)方式,保證劇本有序、正確的執(zhí)行;多媒體模塊負(fù)責(zé)語(yǔ)音合成和動(dòng)效繪制,在特定業(yè)務(wù)場(chǎng)景為劇本播放提供沉浸式的體驗(yàn)。同時(shí) PC 端在客戶端的基礎(chǔ)上進(jìn)行了能力的擴(kuò)展,對(duì)于常見的 React/Vue/Svelte 網(wǎng)頁(yè)應(yīng)用都可以低成本地接入和使用。管理后臺(tái):包括劇本編輯、導(dǎo)入和發(fā)布、權(quán)限控制、數(shù)據(jù)看板等功能模塊。其中劇本編輯模塊,承載了劇本協(xié)議的解析、編輯、預(yù)覽等關(guān)鍵功能,操作界面按功能劃分為以下區(qū)域:
- 事件流控制區(qū)域:以頁(yè)面幀的形式展示劇本流程中的事件,提供動(dòng)態(tài)添加與刪除、調(diào)整頁(yè)面幀順序等編輯功能。
- 協(xié)議配置區(qū)域:依照劇本的標(biāo)準(zhǔn)協(xié)議,通過(guò)可視化頁(yè)面幀配置項(xiàng),生成滿足需要的引導(dǎo)事件;同時(shí)提供豐富的物料,滿足心智類劇本的情感化創(chuàng)作。
- 劇本預(yù)覽區(qū)域:支持通過(guò)二維碼掃描,實(shí)現(xiàn)便捷、無(wú)差別地效果預(yù)覽,保證與最終呈現(xiàn)給用戶的引導(dǎo)效果一致。
管理后臺(tái)云服務(wù):依賴美團(tuán)的底層云服務(wù)平臺(tái),在劇本編輯完成后,需要資源托管服務(wù)、CDN 等進(jìn)行資源的管理及分發(fā),完成劇本的下發(fā)及更新。業(yè)務(wù)中臺(tái)在端側(cè) SDK 和后臺(tái)策略配置的共同作用下,提供了更細(xì)粒度的下發(fā)配置,更豐富的觸達(dá)時(shí)機(jī),滿足業(yè)務(wù)側(cè)按時(shí)間、城市、賬號(hào)與門店、業(yè)務(wù)標(biāo)簽等維度配置的訴求。
部分技術(shù)方案剖析
基于視覺智能的區(qū)域定位方案
在引導(dǎo)過(guò)程中,需要對(duì)關(guān)鍵路徑上目標(biāo)區(qū)域設(shè)置高亮效果。在技術(shù)棧無(wú)關(guān)的前提下,基本思路是線下截取目標(biāo)區(qū)域,線上運(yùn)行時(shí)全屏截圖,通過(guò)圖像匹配算法,查找目標(biāo)區(qū)域在全屏截圖中的位置,從而獲得該區(qū)域坐標(biāo),如下圖所示:高亮識(shí)別效果整體思路看起簡(jiǎn)單,但在具體的實(shí)踐中卻面臨著諸多的挑戰(zhàn):
- 圓角類圖標(biāo)的 UI 元素(RadioButton 、Switch)在邊緣區(qū)域能檢測(cè)到的特征點(diǎn)過(guò)少,導(dǎo)致匹配成功率低。
- 小字體的區(qū)域,在低分辨率情況下無(wú)法檢測(cè)到足夠的特征點(diǎn),放大分辨率可以提升匹配精度,但是耗時(shí)也會(huì)成倍增加。
- 在不提供初始位置的條件下,只能做全圖檢測(cè)和暴力匹配,需要檢測(cè)和存儲(chǔ)的特征點(diǎn)數(shù)量太龐大,尤其是復(fù)雜畫面和高分辨率圖像,移動(dòng)設(shè)備上性能和內(nèi)存開銷無(wú)法接受。
- 終端手機(jī)設(shè)備屏幕分辨率目前有幾十種,算法需要適配多種分辨率。
- 端側(cè)部署,對(duì)算法庫(kù)的包大小、性能、內(nèi)存占用都有要求,例如 OpenCV,即使經(jīng)過(guò)精心的裁剪之后仍然有 10 ~ 15 MB,無(wú)法直接集成到線上 App 中。
經(jīng)過(guò)理論研究與實(shí)踐試點(diǎn),最終我們采用的是傳統(tǒng) CV(Computer Vision)+ AI 的解決方案,大部分場(chǎng)景可以基于傳統(tǒng) CV 的角點(diǎn)特征檢測(cè)和匹配得到結(jié)果,未命中的則繼續(xù)通過(guò)深度學(xué)習(xí)網(wǎng)絡(luò)的檢測(cè)和跟蹤來(lái)獲取結(jié)果。在工程部署方面也做了相應(yīng)的優(yōu)化。接下來(lái)將詳細(xì)介紹這個(gè)方案的實(shí)現(xiàn)。
圖像匹配流程概要
圖像匹配算法由信息提取、匹配準(zhǔn)則兩部分組成。根據(jù)信息載體的二維結(jié)構(gòu)特征是否保留,匹配算法可分為基于區(qū)域的信息匹配與基于特征的信息匹配,如下圖所示:圖像匹配流程概要基于區(qū)域的圖像匹配方法,采用原始圖片或域變化后的圖片作為載體,選取最小信息差異區(qū)域作為匹配結(jié)果,該方法對(duì)于圖像形變、噪聲敏感等處理不佳。而基于特征的圖像匹配方法,丟棄了圖像二維結(jié)構(gòu)信息,提取圖片的紋理、形狀、顏色等特征及位置信息描述,進(jìn)而得到匹配結(jié)果?;谔卣鞯乃惴敯粜院?、信息匹配步驟速度快、適應(yīng)性強(qiáng),應(yīng)用也更加廣泛。
基于傳統(tǒng) CV 特征的圖像匹配
其實(shí)該項(xiàng)目的應(yīng)用場(chǎng)景,屬于典型的 ROI(Region Of Interesting)區(qū)域檢測(cè)、定位,傳統(tǒng) CV 算法針對(duì)不同的使用場(chǎng)景已經(jīng)有很多比較成熟的算法,比如輪廓特征、連通區(qū)域、基于顏色特征、角點(diǎn)檢測(cè)等。角點(diǎn)特征是基于中心像素與周圍像素亮度差異變化劇烈,且基本不受旋轉(zhuǎn)、縮放、明暗等變化影響的特征點(diǎn),經(jīng)典的角點(diǎn)檢測(cè)有 SIFT、SURF、ORB 等,相關(guān)研究業(yè)界已經(jīng)有很多。E Karami [5] 等人在 2017 年發(fā)表的一份對(duì)比研究結(jié)果(如下圖所示)表明:絕大多數(shù)情況下,ORB 最快,SIFT 匹配結(jié)果最好,ORB 特征點(diǎn)分布集中在圖像中心區(qū)域,而 SIFT、SURF、FAST 則分布在整張圖上。在美團(tuán)到家的場(chǎng)景下,目標(biāo)區(qū)域可能位于圖片的中心、四角等任何位置,所以 ORB 對(duì)于邊緣區(qū)域的目標(biāo)區(qū)域匹配失敗的概率會(huì)偏大,需要特殊處理。
(a) SIFT (b) SURF (c) ORB 的匹配結(jié)果:不同強(qiáng)度(左)縮放(中)旋轉(zhuǎn)(右)總體來(lái)講,一個(gè)效果好的特征檢測(cè)匹配算法,需要同時(shí)具備:尺度不變性、旋轉(zhuǎn)不變性、亮度不變性,這樣才能適應(yīng)更多的應(yīng)用場(chǎng)景,具有較好的魯棒性。下面我們以 ORB 為例,來(lái)簡(jiǎn)單闡述一下算法的計(jì)算過(guò)程(感興趣可以查閱更多的相關(guān)資料)。ORB = Oriented FAST + Rotated BRIEF (下文用 OFAST 與 rBRIEF 代替),ORB 融合了 FAST 特征檢測(cè)和 BRIEF 特征描述算法,并做了一些改進(jìn),即采用改進(jìn)的 OFAST 特征檢測(cè)算法,使其具有方向性,并采用具有旋轉(zhuǎn)不變性的 rBRIEF 特征描述子。FAST 和 BRIEF 都是非常快速的特征計(jì)算方法,因此 ORB 獲得了比較明顯的性能提升。要想判斷一個(gè)像素點(diǎn) p 是不是 FAST 特征點(diǎn),只需要判斷其周圍 7x7 鄰域內(nèi)的 16 個(gè)像素點(diǎn)中是否有連續(xù) N 個(gè)點(diǎn)的灰度值與 p 的差的絕對(duì)值超出閾值。此外,F(xiàn)AST 之所以快,是因?yàn)槭紫雀鶕?jù)上、下、左、右 4 個(gè)點(diǎn)的結(jié)果做判斷,如果不滿足角點(diǎn)條件則直接剔除,如果滿足再計(jì)算其余 12 個(gè)點(diǎn),由于圖像中絕大多數(shù)像素點(diǎn)都不是特征點(diǎn),所以這樣做的結(jié)果,用深度學(xué)習(xí)”煉丹師“的話來(lái)說(shuō),就是“基本不掉點(diǎn)”,且計(jì)算時(shí)間大大減少。對(duì)于相鄰的特征點(diǎn)存在重復(fù)的問(wèn)題,可以采用極大值抑制來(lái)去除。
鄰域 16 個(gè)點(diǎn)的位置(左);上、下、左、右 4 個(gè)點(diǎn)(右)改進(jìn)后的 OFAST 會(huì)針對(duì)每個(gè)特征點(diǎn)計(jì)算一個(gè)方向向量。研究表明,通過(guò)從亮度中心至幾何中心連接的向量作為特征點(diǎn)的方向,會(huì)比直方圖算法和 MAX 算法有更好的效果。
OFAST 方向向量的計(jì)算ORB 算法的第二步是計(jì)算特征描述符。這一步采用的是 rBRIEF 算法,每個(gè)特征描述符是僅包含 1 和 0 的長(zhǎng)度為 128 - 512 位的向量。得到特征點(diǎn)和特征描述符之后,就可以做特征匹配了。此外,特征匹配算法也比較多,為了簡(jiǎn)化計(jì)算,我們這里采用了 LPM [6]算法。得到篩選后的特征對(duì)后,計(jì)算它們的外接矩形包圍框,反變換到原圖坐標(biāo)系就可以得到目標(biāo)的區(qū)域位置坐標(biāo)。基于純傳統(tǒng) CV 算法測(cè)試的結(jié)果表明,特征點(diǎn)數(shù)量對(duì)匹配的召回率有直接影響,特征點(diǎn)較少,召回率偏低無(wú)法滿足業(yè)務(wù)需求;特征點(diǎn)超過(guò) 10000 點(diǎn)則會(huì)嚴(yán)重影響算法性能,尤其是在移動(dòng)端設(shè)備上的性能,高端機(jī)型上耗時(shí)在 1 秒以上。我們針對(duì)目標(biāo)區(qū)域小圖和原圖設(shè)定不同特征點(diǎn)數(shù)量,然后做匹配,這樣可以兼顧性能和匹配精度。不同配置參數(shù)實(shí)測(cè)的特征點(diǎn)和匹配結(jié)果如下圖所示,針對(duì)大多數(shù)圖像、文字內(nèi)容的區(qū)域,特征點(diǎn)在 5000 以上,匹配結(jié)果不錯(cuò),但還存在常見區(qū)域匹配失敗的情況;特征點(diǎn)在 10000 以上,除了一些特殊 Case,大多數(shù)場(chǎng)景匹配結(jié)果都比較滿意。如果不提供目標(biāo)區(qū)域的大概的初始位置(真實(shí)情況),基本上大多區(qū)域需要 10000 ~ 20000 特征點(diǎn)才能匹配,端側(cè)性能就是個(gè)問(wèn)題。
實(shí)測(cè)結(jié)果:匹配的召回率與特征點(diǎn)數(shù)量直接相關(guān)
基于深度學(xué)習(xí)的圖像匹配
基于傳統(tǒng) CV 存在的弊端和一些無(wú)法解決的問(wèn)題,我們需要具有更強(qiáng)圖像特征表達(dá)能力的算法來(lái)進(jìn)行圖像匹配。近些年,深度學(xué)習(xí)算法取得了巨大的突破,同樣在圖像的特征匹配領(lǐng)域中也取得了較大的成功。在本應(yīng)用場(chǎng)景中,我們需要算法在全屏截圖中快速定位一個(gè)子區(qū)域的具體位置,即需要一個(gè)模型通過(guò)一個(gè)區(qū)域中局部區(qū)域的特征快速定位其在全局特征中對(duì)應(yīng)的位置。該問(wèn)題看似可以使用目標(biāo)檢測(cè)的相關(guān)算法進(jìn)行求解,但是一般目標(biāo)檢測(cè)算法需要目標(biāo)的類別/語(yǔ)義信息,而我們這里需要匹配的是目標(biāo)區(qū)域的表觀特征。針對(duì)該問(wèn)題,我們采用了基于目標(biāo)檢測(cè)的圖像跟蹤算法,即將目標(biāo)區(qū)域視為算法需要跟蹤的目標(biāo),在全屏截圖中找到我們要跟蹤的目標(biāo)。在具體實(shí)現(xiàn)過(guò)程中,我們使用類似于 GlobalTrack[7] 的算法,首先會(huì)提取目標(biāo)區(qū)域?qū)?yīng)的特征,并使用目標(biāo)區(qū)域的特征來(lái)對(duì)全屏截圖的特征進(jìn)行調(diào)制,并根據(jù)調(diào)制之后的特征來(lái)對(duì)目標(biāo)區(qū)域進(jìn)行定位。并根據(jù)移動(dòng)端計(jì)算量受限的特性,我們?cè)?GlobalTrack 的基礎(chǔ)上設(shè)計(jì)了一個(gè)單階段的目標(biāo)檢測(cè)器來(lái)對(duì)該過(guò)程進(jìn)行加速。GlobalTrack 示意圖由于我們直接使用目標(biāo)區(qū)域的特征來(lái)引導(dǎo)目標(biāo)檢測(cè)的過(guò)程,所以其能夠處理更為復(fù)雜的目標(biāo)區(qū)域,比如純文本、純圖像或圖標(biāo)、文字圖像混編等,凡是能在 UI 上出現(xiàn)的元素都可能是目標(biāo)區(qū)域,如下圖所示的一些示例。
目標(biāo)區(qū)域示例與包含不同尺寸類別組合的訓(xùn)練數(shù)據(jù)結(jié)合業(yè)務(wù)場(chǎng)景,要求針對(duì)移動(dòng)設(shè)備上 App UI 畫面的任何局部區(qū)域做到精確定位。如上述的分析,該問(wèn)題既可以看作是一個(gè)目標(biāo)檢測(cè)和匹配的問(wèn)題,又可以看作是一個(gè)目標(biāo)跟蹤問(wèn)題。同時(shí)算法需要能夠適配不同內(nèi)容的 ROI 區(qū)域、不同的屏幕分辨率、不同的移動(dòng)設(shè)備。
我們選擇的方案
前文提到,我們采用的是 CV + AI 解決方案,這樣的優(yōu)點(diǎn)是:一方面解決傳統(tǒng) CV 檢測(cè)無(wú)法覆蓋全場(chǎng)景的問(wèn)題;另一方面優(yōu)化性能,減少移動(dòng)端設(shè)備的耗時(shí)。在工程部署方面,我們采用純 C 實(shí)現(xiàn)檢測(cè)和匹配算法,并且對(duì) ORB 算法做了一些定制化修改。此外,我們采用多線程、Neon 優(yōu)化等手段提升性能,從 800 毫秒優(yōu)化到 100 毫秒左右。最終的版本不依賴 OpenCV 及第三方庫(kù),大大減小了算法庫(kù)的包大小。深度學(xué)習(xí)模型基于 MTNN 端側(cè)推理引擎獲得了最優(yōu)的推理性能和精度。在中高端機(jī)型上,可以啟用異構(gòu)硬件并行加速,CV 與 AI 并行計(jì)算,在 CPU 上執(zhí)行特征檢測(cè)的計(jì)算,同時(shí)在 GPU 或 NPU 上執(zhí)行模型推理,然后做融合,這樣可以在不增加 CPU 負(fù)載的情況下提升性能和準(zhǔn)確率。
保證任務(wù)執(zhí)行的健壯性
任務(wù)執(zhí)行感知
傳統(tǒng)方案在做開發(fā)引導(dǎo)時(shí),我們可以通過(guò)函數(shù)回調(diào)、廣播、組件變化等多種方式獲取任務(wù)執(zhí)行狀態(tài)。但在技術(shù)棧無(wú)關(guān)前提下,感知引導(dǎo)過(guò)程失敗、感知用戶執(zhí)行/點(diǎn)擊是否正確,相比之下就比較困難。同時(shí)還要精確甄別出錯(cuò)誤類型,增加特定步驟的重試方案,盡可能保證劇本的執(zhí)行通暢,在極少數(shù)遇到阻塞是錯(cuò)誤時(shí),需要及時(shí)確認(rèn),上報(bào)錯(cuò)誤并退出引導(dǎo),減少對(duì)用戶的影響。
任務(wù)執(zhí)行流程圖首先,比較優(yōu)雅的“黑盒”方案是使用圖像相似度對(duì)比技術(shù),此能力模型在視覺智能中比較基礎(chǔ),在通過(guò)跳轉(zhuǎn)來(lái)到目標(biāo)頁(yè)面后,會(huì)截圖與目標(biāo)特征進(jìn)行比較,進(jìn)行快速容錯(cuò)。根據(jù)線下的大量測(cè)試數(shù)據(jù),去除一些極端情況,我們發(fā)現(xiàn)在不同的閾值下是有規(guī)律的:
- 相似度 80% 以上的區(qū)間,基本可以確定目標(biāo)頁(yè)面準(zhǔn)確,受一些角標(biāo)或圖片區(qū)塊加載的影響沒達(dá)到更高。
- 相似度 60% ~ 80% 的區(qū)間,是在一些列表樣式或背景圖、Banner圖有些許差異導(dǎo)致的,可以模糊判定命中(上報(bào)數(shù)據(jù)但不用上報(bào)異常)。
- 相似度 40% ~ 60% 的區(qū)間,大概率遇到了對(duì)應(yīng)模塊的 UI 界面改版,或者有局部彈窗,這時(shí)就需要進(jìn)行一些重試策略適時(shí)上報(bào)異常。
- 相似度 40% 以下,基本確定跳轉(zhuǎn)的是錯(cuò)誤頁(yè)面,可以直接終止引導(dǎo)流程,并上報(bào)異常。
圖片相似度部分 Case 實(shí)測(cè)效果同時(shí),我們?cè)诙藗?cè)也有一些判定規(guī)則來(lái)輔助圖像對(duì)比的決策,比如容器路由 URL 比對(duì),當(dāng)圖像對(duì)比不匹配但容器路由 URL 準(zhǔn)確時(shí),會(huì)有一些策略調(diào)整并進(jìn)行重試邏輯。在確認(rèn)頁(yè)面準(zhǔn)確后,才會(huì)進(jìn)行高亮區(qū)域?qū)ふ乙约昂罄m(xù)的繪制邏輯。最后兜底可以通過(guò)超時(shí)失敗的方式自然驗(yàn)證,一個(gè)劇本關(guān)鍵幀的完整判定流程,我們?cè)O(shè)置了 5 秒的超時(shí)策略。
關(guān)于尺度與旋轉(zhuǎn)不變性
為了在尺度上具有更好的健壯性,計(jì)算過(guò)程首先會(huì)對(duì)圖像做高斯模糊,去除噪聲的影響,并且對(duì)圖像做下采樣生成多層圖像金字塔,對(duì)每一層都做特征檢測(cè),所有特征點(diǎn)集合作為檢測(cè)到的特征點(diǎn)結(jié)果輸出,參與后續(xù)特征匹配計(jì)算。為了應(yīng)對(duì)圖像旋轉(zhuǎn)的情況,可以加入 rBRIEF,rBRIEF 從給定特征點(diǎn)的 31 x 31 鄰域內(nèi)(稱為一個(gè) Patch)隨機(jī)選擇一個(gè)像素對(duì)。下圖展示了采用高斯分布采樣隨機(jī)點(diǎn)對(duì)的方法,藍(lán)色正方形像素,是從以關(guān)鍵點(diǎn)為中心的高斯分布中抽取的一個(gè)像素,標(biāo)準(zhǔn)偏差 σ;黃色正方形的像素,是隨機(jī)對(duì)中的第二個(gè)像素,它是從以藍(lán)色正方形像素為中心的高斯分布中抽取的像素,標(biāo)準(zhǔn)偏差為 σ/2,經(jīng)驗(yàn)表明,這種高斯選擇提高了特征匹配率。當(dāng)然也有其它選擇方式,我們這里就不一一列舉了。首先,根據(jù)特征點(diǎn)方向向量構(gòu)造旋轉(zhuǎn)矩陣,并對(duì) N 個(gè)點(diǎn)對(duì)做旋轉(zhuǎn)變換,使得每個(gè)點(diǎn)對(duì)與該特征點(diǎn)的主方向一致,然后再根據(jù)點(diǎn)對(duì)來(lái)計(jì)算特征向量。因?yàn)樘卣飨蛄康闹鞣较蚺c特征點(diǎn)一致,意味著 rBRIEF 可以在朝著任何角度旋轉(zhuǎn)的圖像中檢測(cè)到相同的特征點(diǎn)。
圖rBRIEF 隨機(jī)像素對(duì)的選擇(左);圖像金字塔(右)
其他容錯(cuò)處理
對(duì)于頁(yè)面中存在多個(gè)相同或類似元素的場(chǎng)景,不能草率地選擇任意一個(gè)區(qū)域。因此在進(jìn)行目標(biāo)區(qū)域定位時(shí),我們需要在檢索目標(biāo)區(qū)域的基礎(chǔ)上,結(jié)合目標(biāo)周圍信息,提供一個(gè)參考區(qū)域。運(yùn)行時(shí),提供目標(biāo)區(qū)域圖像信息及參考區(qū)域圖像信息,查詢到多個(gè)目標(biāo)結(jié)果后,再查詢參考區(qū)域所在位置,通過(guò)計(jì)算,離參考區(qū)域最近的目標(biāo)區(qū)域則為最終目標(biāo)區(qū)域。對(duì)于頁(yè)面中出現(xiàn)的不同技術(shù)棧彈窗場(chǎng)景,由于出現(xiàn)時(shí)機(jī)也不確定,一旦出現(xiàn),容易對(duì)目標(biāo)區(qū)域造成遮擋,影響整個(gè)引導(dǎo)流程,需要對(duì)各類彈窗進(jìn)行過(guò)濾和攔截。針對(duì) Native 技術(shù)棧,我們通過(guò)對(duì)統(tǒng)一彈窗組件進(jìn)行攔截,判斷執(zhí)行過(guò)程中禁止彈窗彈出,引導(dǎo)過(guò)程中業(yè)務(wù)認(rèn)為非常重要的彈窗則通過(guò)加白處理。在 Flutter 上則采用全局?jǐn)r截 ??NavigatorObserver ?
?中的??didPush ?
?過(guò)程,攔截及過(guò)濾 Flutter 的各類 ??Widget ?
?、??Dialog ?
?及 ??Alert ?
?彈窗。關(guān)于 Web 上的處理,由于 Web 彈窗業(yè)務(wù)方比較多,沒有特別統(tǒng)一的彈窗規(guī)范,特征比較難取;目前是在 Web 容器中注入一段 JavaScript 代碼,給部分有彈窗特征和指定類型的組件設(shè)置隱藏,考慮到拓展性,JavaScript 代碼設(shè)置成可動(dòng)態(tài)更新。對(duì)于部分頁(yè)面元素復(fù)雜導(dǎo)致加載時(shí)間稍長(zhǎng)的場(chǎng)景,劇本播放時(shí)也會(huì)基于錄制側(cè)提供的 delayInfo 字段,進(jìn)行一些延遲判定策略。基于前面的努力,劇本的執(zhí)行鏈路成功率(如下圖所示)基本可以達(dá)到 98% 以上,部分成功率較低的劇本可以根據(jù)維度下鉆,查詢具體的異常原因。
部分鏈路指標(biāo)監(jiān)控
零代碼完成劇本創(chuàng)作與編輯
把一個(gè)劇本的生命周期劃分為“生產(chǎn)”和“消費(fèi)”兩個(gè)階段,“生產(chǎn)”階段對(duì)應(yīng)的是劇本錄制完成并上傳至管理后臺(tái)進(jìn)行編輯的過(guò)程,“消費(fèi)”階段則對(duì)應(yīng)下發(fā)與播放。如果說(shuō)前兩個(gè)挑戰(zhàn)主要聚焦在“消費(fèi)”,那么這里的挑戰(zhàn)則主要聚焦在“生產(chǎn)”方面。接下來(lái),我們將從“錄制端側(cè)賦能”與“標(biāo)準(zhǔn)協(xié)議設(shè)計(jì)”兩個(gè)方面進(jìn)行詳細(xì)的介紹。
錄制端側(cè)賦能
集成錄制 SDK 在移動(dòng)端受限于屏幕尺寸,不易進(jìn)行精細(xì)化創(chuàng)作,所以它的定位是進(jìn)行基礎(chǔ)劇本框架的創(chuàng)作與錄制。在此過(guò)程中,錄制 SDK 首先要記錄用戶的操作信息和頁(yè)面的基礎(chǔ)信息,信息錄入者在使用錄制功能時(shí),錄制 SDK 會(huì)同步記錄當(dāng)前頁(yè)面信息及與之相對(duì)應(yīng)的音頻錄入,形成一個(gè)關(guān)鍵幀,后續(xù)錄制以此類推,當(dāng)所有信息錄入完成之后,生成的多個(gè)關(guān)鍵幀會(huì)組成關(guān)鍵幀序列,結(jié)合一些基本信息,形成一個(gè)劇本框架,上傳至服務(wù)器,便于錄制者在后臺(tái)進(jìn)行精細(xì)化的創(chuàng)作。同時(shí)錄制 SDK 需要主動(dòng)推斷用戶意圖,減少錄入者編輯。我們將關(guān)鍵幀的錄入,按照是否產(chǎn)生頁(yè)面跳轉(zhuǎn)分為兩種類型,對(duì)應(yīng)不同類型,自動(dòng)生成相異的路徑。當(dāng)錄入者的操作產(chǎn)生頁(yè)面跳轉(zhuǎn)時(shí),錄制 SDK 在確定該操作的分類同時(shí),主動(dòng)將該處的語(yǔ)音輸入標(biāo)記為下一關(guān)鍵幀的描述,以減少錄制者的操作。錄制全程,每個(gè)頁(yè)面的打開時(shí)間也被作為關(guān)鍵幀的一部分記錄下來(lái),作為參考信息,幫助錄入者調(diào)整劇本節(jié)奏。
劇本錄制側(cè)示意圖
標(biāo)準(zhǔn)協(xié)議設(shè)計(jì)
標(biāo)準(zhǔn)協(xié)議作為 “零代碼” 的基石串聯(lián)了錄制到編輯的整個(gè)過(guò)程。當(dāng)前 App 中,操作類引導(dǎo)場(chǎng)景有數(shù)十種,我們通過(guò)傳輸模型和視圖模型的結(jié)合,將核心字段提取,冗余字段剝離。在保證標(biāo)準(zhǔn)化與兼容性的前提下,將數(shù)十種場(chǎng)景抽象為四種通用事件類型,為關(guān)鍵幀的編排及業(yè)務(wù)場(chǎng)景的覆蓋提供了便利。對(duì)心智類劇本而言,會(huì)隨著用戶的交互操作不斷產(chǎn)生新的分支,最終成為一個(gè)復(fù)雜且冗余的二叉樹結(jié)構(gòu)。我們?cè)谠O(shè)計(jì)此類協(xié)議時(shí),將二叉樹節(jié)點(diǎn)進(jìn)行拍平,存儲(chǔ)為一個(gè) HashMap,兩個(gè)關(guān)鍵幀的銜接可以以 id 為標(biāo)識(shí)。用戶在使用 App 時(shí),在某些需求指引下,會(huì)產(chǎn)生心智類和操作類劇本引導(dǎo)交替出現(xiàn)的情況。例如,商家(用戶)打開推廣頁(yè)面后,出現(xiàn)一個(gè)心智類劇本——小袋動(dòng)畫伴隨著語(yǔ)音:“老板好,小袋發(fā)現(xiàn)您開店 3 個(gè)月了,還沒有使用過(guò)門店推廣功能呢,請(qǐng)問(wèn)您是不會(huì)操作還是擔(dān)心推廣效果不明顯呢?”屏幕中會(huì)伴隨兩個(gè)按鈕選擇(1)不會(huì)操作;(2)擔(dān)心推廣效果。此時(shí),如果用戶點(diǎn)擊了1,會(huì)轉(zhuǎn)向“操作類”劇本,所以我們?cè)谠O(shè)計(jì)協(xié)議時(shí),要尤為關(guān)注兩種劇本的銜接。在這里,我們將協(xié)議進(jìn)行了細(xì)化,將基礎(chǔ)能力協(xié)議與展示類協(xié)議進(jìn)行拆分。兩種劇本共用一套基礎(chǔ)能力協(xié)議,防止出現(xiàn)兼容性的問(wèn)題。
部分協(xié)議節(jié)點(diǎn)設(shè)計(jì)管理后臺(tái)的編輯器引擎解析劇本協(xié)議后,完成內(nèi)置邏輯的初始化,以及引導(dǎo)劇本中事件關(guān)鍵幀的渲染。編輯器引擎內(nèi)部基于事件機(jī)制實(shí)現(xiàn)了可訂閱的能力,當(dāng)關(guān)鍵幀觸發(fā)插入、編輯、調(diào)整順序等事件時(shí),所有其他的關(guān)鍵幀都可以訂閱以上核心事件,實(shí)現(xiàn)完整的聯(lián)動(dòng)效果。編輯加工后的劇本協(xié)議,通過(guò)接入美團(tuán)統(tǒng)一的動(dòng)態(tài)下發(fā)平臺(tái),實(shí)現(xiàn)劇本的灰度、全量、補(bǔ)丁的動(dòng)態(tài)化發(fā)布能力。編輯器內(nèi)建完整的生命周期,在操作的不同階段暴露完整的事件勾子,支持良好的接入和擴(kuò)展能力。
階段成果
能力建設(shè)
我們抽象了如上圖兩種標(biāo)準(zhǔn)樣式的劇本,線上使用較多的是操作引導(dǎo)類劇本,大多是之前積壓的任務(wù)。目前,我們已經(jīng)迭代出了一種標(biāo)準(zhǔn)化形態(tài),接入方便,一般在新模塊的提測(cè)期間,產(chǎn)運(yùn)快速為此需求安排操作引導(dǎo)劇本跟隨需求同步上線。也可以針對(duì)現(xiàn)有復(fù)雜模塊設(shè)置引導(dǎo),默認(rèn)藏在 導(dǎo)航欄的 “?” 圖標(biāo)里,在合適的時(shí)機(jī)進(jìn)行觸發(fā)。
同時(shí),用戶心智建設(shè)不僅僅是常規(guī)的產(chǎn)品操作引導(dǎo),我們也提供了心智類劇本(也叫概念類劇本),可以應(yīng)用在需要“理念傳遞”或“概念植入”的場(chǎng)景里。在合適業(yè)務(wù)場(chǎng)景以擬人化的方式給用戶傳遞平臺(tái)的制度與規(guī)范,讓用戶更容易接受平臺(tái)的理念進(jìn)而遵守經(jīng)營(yíng)的規(guī)范;比如可以在商家閱讀差評(píng)時(shí),執(zhí)行一個(gè)情感化劇本(大概內(nèi)容為差評(píng)是普遍現(xiàn)象,每 xx 條訂單就容易產(chǎn)生一條差評(píng),所以不用過(guò)于擔(dān)心,平臺(tái)也有公正的差評(píng)防護(hù)與差評(píng)申訴規(guī)則);如果商家出現(xiàn)違規(guī)經(jīng)營(yíng),也可以執(zhí)行一個(gè)概念強(qiáng)化的嚴(yán)肅類劇本(大概內(nèi)容為平臺(tái)非常公正且有多重檢查措施,不要試圖在申訴中上傳不實(shí)材料僥幸過(guò)關(guān))。值得一提的是,在這個(gè)過(guò)程中產(chǎn)出的圖像特征定位、去Alpha通道的視頻動(dòng)畫等能力也完成了技術(shù)儲(chǔ)備,可以提供給其他場(chǎng)景使用。前文核心技術(shù)內(nèi)容也申請(qǐng)了兩項(xiàng)國(guó)家發(fā)明專利。
部分業(yè)務(wù)線上效果
- 新店成長(zhǎng)計(jì)劃,是劇本式引導(dǎo)應(yīng)用的首個(gè)大需求。支撐新店成長(zhǎng)計(jì)劃項(xiàng)目順利上線,目前的結(jié)果非常正向。ASG 支撐了整個(gè)項(xiàng)目 78.1% 的引導(dǎo)播放量,單個(gè)劇本開發(fā)成本 < 0.5d。綜合觀測(cè)指標(biāo)“商家任務(wù)完成度”同比觀測(cè)周期內(nèi),從 18% 提升至 35.7%,其他過(guò)程指標(biāo)也有不同程度的提升。
- 超值換購(gòu),提供了心智類指引,是指導(dǎo)商家用最優(yōu)的方式創(chuàng)建換購(gòu)活動(dòng),結(jié)合過(guò)程數(shù)據(jù)預(yù)估訪購(gòu)率從 4% 提升至 5.5%,活動(dòng)商家訂單滲透率從 2.95% 提升至 4%,均有 35% 左右的漲幅。
- 配送信息任務(wù)引導(dǎo),優(yōu)化配送信息任務(wù)整體流程的行動(dòng)點(diǎn)引導(dǎo),避免引起商家行為阻塞,降低了用戶操作成本與理解成本,提升商家在開門營(yíng)業(yè)階段滿意度,同時(shí)提升商家對(duì)配送服務(wù)的認(rèn)知度水平。
- ...
自 2021 年 11 月上線以來(lái),ASG 已經(jīng)支撐了新店、活動(dòng)、營(yíng)銷、廣告等多個(gè)業(yè)務(wù),在美團(tuán)超過(guò) 20 個(gè)業(yè)務(wù)場(chǎng)景中進(jìn)行了落地。總體看來(lái),ASG 劇本式引導(dǎo)相比于傳統(tǒng)引導(dǎo)方案,粗略估計(jì)的話,可以用約先前 1 / 10 的成本來(lái)提升約 20% 的效果。帶入之前的結(jié)果測(cè)算公式,提效倍數(shù)(x = ( 1 /(1 - 90%)) * (1 + 20%) )就是12倍。從最終的結(jié)果來(lái)看,成本的降低,遠(yuǎn)比效果提升更加明顯,所以本文對(duì)前者的論述篇幅明顯多于后者。目前,在效果提升層面,我們主要是對(duì)一些端能力比較基礎(chǔ)的組合使用,對(duì)于效果提升我們并不擔(dān)心,業(yè)內(nèi)前沿的創(chuàng)新技術(shù)還有很多可以探索的可能,我們也會(huì)逐步跟進(jìn),使劇本效果更具有同理心、更加沉浸化。
總結(jié)與展望
本文介紹了美團(tuán)外賣終端團(tuán)隊(duì)在用戶心智建設(shè)領(lǐng)域的探索與實(shí)踐。從業(yè)務(wù)現(xiàn)狀與劇本式思維的思考出發(fā),談到了終端加管理后臺(tái)的一站式設(shè)計(jì),簡(jiǎn)化劇本接入門檻。后續(xù),我們還談到了傳統(tǒng) CV 與深度學(xué)習(xí)在劇本執(zhí)行上起到的關(guān)鍵作用。整體看來(lái),這個(gè)項(xiàng)目是基于終端能力拓展的一次大膽嘗試,我們體會(huì)業(yè)務(wù)視角,通過(guò)不設(shè)限的跨團(tuán)隊(duì)的協(xié)作,完成對(duì)非技術(shù)人員的賦能。結(jié)合目前的階段性成果,我們驗(yàn)證了之前方向的正確性,下一步我們會(huì)繼續(xù)從“更低的生產(chǎn)成本”與“更高的應(yīng)用效果”兩個(gè)角度進(jìn)行深耕(例如組合元素劇本的易用性、劇本更新成本優(yōu)化、引導(dǎo)時(shí)機(jī)結(jié)合規(guī)則引擎與意圖猜測(cè)、折疊與再次喚醒邏輯等),以支撐更多類似場(chǎng)景的需求。并且,我們欣喜地看到終端的“容器無(wú)關(guān)性”收益杠桿明顯,接下來(lái)還有很大的發(fā)揮空間。歡迎大家跟我們一起探討交流。
作者簡(jiǎn)介
松濤、尚先、成浩、張雪、慶斌等,來(lái)自美團(tuán)到家研發(fā)平臺(tái)/外賣技術(shù)部;筱斌、民欽、德榜等,來(lái)自美團(tuán)基礎(chǔ)研發(fā)平臺(tái)/視覺智能部。