辛曉宇,劉正捷,慕 爽,楊 蕾
(大連海事大學 信息科學技術學院,遼寧 大連 116026)
移動端用戶行為研究有助于掌握用戶行為習慣,發(fā)現(xiàn)現(xiàn)有產(chǎn)品的體驗問題、指導產(chǎn)品設計等[1]。現(xiàn)有工作通常分為兩類:訪談法和日志法[2]。訪談法可以直接獲取用戶對于APP使用行為的看法,但這種方法數(shù)據(jù)獲取成本高且無法挖掘行為細節(jié)[3]。許多APP的使用是由環(huán)境觸發(fā)的,因此很難進行有意義的基于實驗室的評估[4]。日志法對于長期捕獲用戶行為[5]或跟蹤特定事件[6]以及進行個性化推薦等[7]都是非常有用的。但是大多數(shù)日志都局限于相當普遍的系統(tǒng)事件[8],只有修改程序源代碼才能獲取用戶在APP內實際執(zhí)行的操作,這使得詳細分析APP內的用戶行為變得困難[9]。
在人機交互領域,屏幕錄制經(jīng)常被用來收集用戶在使用計算機系統(tǒng)時發(fā)生的用戶輸入、系統(tǒng)反應和顯示。通過對屏幕錄制視頻或截圖進行記錄和分析,可以為用戶如何使用計算機系統(tǒng)以及如何與系統(tǒng)交互提供深入的定性或定量的洞見[10],從而得出關于評估可用性或用戶體驗的結論。在此研究的基礎上,本文基于CAUX(context awareness user experience)工具(本文中簡稱CAUX),通過屏幕錄制以情境感知的方式自動獲取用戶在APP內的操作行為數(shù)據(jù),使用圖像對比技術,自動進行數(shù)據(jù)分析,從而發(fā)現(xiàn)可用性問題,指導產(chǎn)品的設計。
在人機交互領域,使用截屏或屏幕錄制來記錄用戶行為操作是一種廣泛使用的方法。Brown等[11]開發(fā)了一款APP運行在用戶手機上,可以收集用戶的屏幕記錄、音頻、GSP定位等數(shù)據(jù),并由參與者回顧和注釋他們的數(shù)據(jù)記錄,以供研究人員日后分析。該研究結果表明,視頻分析有助于理解用戶如何交互和使用移動設備。
Bao等[12]通過屏幕錄制來記錄開發(fā)人員在各種軟件開發(fā)任務中的行為。隨后參與者進行手工轉錄,將屏幕捕獲的視頻編碼為可分析的數(shù)據(jù)(例如,使用的軟件、訪問或生成的內容),幫助深入了解開發(fā)人員在各種軟件開發(fā)任務中的行為。但這種手工轉錄方法既昂貴又費時,視頻錄制時間與視頻分析時間之比約為1∶3-3.75。Yamashita等[13]利用屏幕錄制和出聲思維結合的方法來研究開發(fā)人員的行為模式,但出聲思維可能會干擾用戶在屏幕錄制時的操作。
開源應用軟件InspectorWidget[14]可以跟蹤和分析用戶在交互軟件中的行為。該軟件記錄用戶執(zhí)行任務時的屏幕內容,研究人員利用計算機視覺技術編寫屏幕注釋程序,自動對屏幕記錄進行注釋,并將結果可視化或導出以供進一步分析。但該軟件只能用于Linux、Windows等桌面設備,并不支持移動設備。
目前的研究工作表明使用屏幕錄制獲取用戶行為數(shù)據(jù)可以獲得一些關于用戶行為的見解,但傳統(tǒng)的人工分析方法繁瑣且費時。利用計算機視覺技術自動進行事件檢測是可行的,但這種方法一般計算量很高。目前并沒有適用于捕獲并分析APP內行為的輕量型自動化工具。本文作者采用屏幕錄制的方法來獲取APP內用戶行為,采用圖像對比技術自動識別并輸出用戶行為序列,解決了這一問題。在下一節(jié)中,將詳細描述該方法。
本文提出的方法主要分為3步:任務及基準圖片定義、用戶行為捕捉和數(shù)據(jù)半自動化分析。流程如圖1所示。接下來將詳細描述這3步。
圖1 方法流程
研究人員定義某APP的典型任務,將表征所有典型任務的典型屏幕畫面定義為基準圖片集;確定基準圖片集的模板,對基準圖片進行編號并標注頁面信息;為每個典型任務定義由基準圖片標識的期望的執(zhí)行序列。由于不同型號的手機分辨率不同,為了提高數(shù)據(jù)分析效率,需要每名用戶對應一組基準圖片集。在實驗前將基準圖片集模板下發(fā)給用戶,要求用戶截取對應圖片并上傳至服務器。
CAUX是基于情境感知的用戶體驗研究工具,安裝運行在用戶手機上,通過感知情境信息來進行數(shù)據(jù)采集。目前CAUX獲取的用戶行為數(shù)據(jù)局限于APP外的系統(tǒng)數(shù)據(jù),APP內的操作行為主要依靠彈出問卷這種用戶自報告方式來獲取,這種方式對用戶侵擾性大,可行性較低。因此考慮為CAUX增加屏幕錄制功能來捕捉APP內的用戶行為。通過屏幕錄制可以獲得用戶在APP內的完整操作,并自動存儲時間戳。
2.2.1 隱私保護說明
捕捉和分析用戶行為數(shù)據(jù)需要仔細考慮隱私問題。本文作者采取了一系列步驟來保護數(shù)據(jù)集中相關用戶的隱私。首先,在實驗開始前會征求用戶對于屏幕錄制的同意。在數(shù)據(jù)采集的過程中,在屏幕上方會有紅色懸浮窗表示處于屏幕錄制狀態(tài)。其次,收集的所有原始數(shù)據(jù)都保存在服務器中,只有研究人員可以下載查看。最后,對所有用戶進行標識符匿名化。數(shù)據(jù)集不包括我們研究期間所涉及的用戶個人信息。
2.2.2 數(shù)據(jù)采集流程
CAUX捕捉APP內用戶行為數(shù)據(jù)可以分為4個步驟,數(shù)據(jù)采集流程如圖2所示。
圖2 數(shù)據(jù)采集流程
(1)研究人員設置指令。研究人員根據(jù)案例研究目標確定自己感興趣的情境,制定指令文件并上傳到服務器。每個研究項目可能對應一個或多個指令組,分別對應不同情境下的采集意圖。以網(wǎng)易有道詞典為例,一個指令組可將網(wǎng)易有道詞典在前臺運行設定為指令觸發(fā)條件,將采集客觀數(shù)據(jù)和開啟錄屏設定為數(shù)據(jù)采集操作。
(2)客戶端解析指令文件。用戶安裝運行CAUX,客戶端自動從服務器下載指令。指令解析模塊負責循環(huán)解析指令,并逐條存儲在一個表結構中。
(3)客戶端監(jiān)聽情境信息。循環(huán)監(jiān)聽情境信息,判斷當下情境是否滿足指令的觸發(fā)條件,若滿足,則跳轉到數(shù)據(jù)采集模塊進行相應的數(shù)據(jù)采集動作,采集客觀數(shù)據(jù)以及開啟錄屏功能;若不滿足則繼續(xù)循環(huán)監(jiān)聽。
(4)采集到的數(shù)據(jù)暫存在本地文件夾中,通過通信模塊上傳到服務器。
用戶研究人員可以從服務器中查看錄屏視頻并進行數(shù)據(jù)分析。傳統(tǒng)的數(shù)據(jù)分析方法需要用戶研究人員觀看視頻并手動記錄用戶行為,存在效率低、容易出錯的缺點。本文作者利用圖像對比工具Blink-diff實現(xiàn)了半自動化數(shù)據(jù)分析,自動識別用戶行為序列,并輸出到日志文件中。整個數(shù)據(jù)分析過程概覽如圖3所示。
圖3 數(shù)據(jù)分析流程
(1)用戶屏幕圖片序列
將錄屏視頻拆解為某特定APP內代表用戶行為路徑的屏幕圖片序列。實驗結果表明,按3 s的定時驅動截圖基本可以完整還原用戶操作。因此,將錄屏視頻按每3 s截一次圖進行處理,得到用戶屏幕圖片序列。
(2)用戶行為識別
將用戶的屏幕圖片序列與基準圖片集進行對比,映射為由基準圖片標識的用戶行為序列,并輸出到日志文件中。
Blink-diff是雅虎公司發(fā)布的開源圖像對比工具,通過調用其提供的API實現(xiàn)圖像對比工具并開發(fā)了數(shù)據(jù)分析平臺。數(shù)據(jù)分析過程分為3部分:數(shù)據(jù)預處理、圖片對比和結果輸出。數(shù)據(jù)預處理即將用戶屏幕圖片序列和基準圖片集調整為指定的分辨率并從0開始按序編號。圖片對比,將用戶屏幕圖片序列和基準圖片集分別放入兩個文件夾下,對兩個文件夾中的圖片一一進行比較。結果輸出,輸出相似度,規(guī)定數(shù)據(jù)輸出格式為: 用戶屏幕圖片編號——圖片基準編號:相似度百分比。
圖片對比的算法如下:
算法名稱:PictureCompare(userPath, radixPath)
輸入:用戶行為圖片路徑userPath,基準圖片路徑radixPath
輸出:每一個用戶行為圖片與所有基準圖片的相似度矩陣Resemblance
(1) foreach picture_i in userPath: %遍歷所有用戶行為數(shù)據(jù)
(2) foreach picture_j in radixPath: %遍歷所有基準行為數(shù)據(jù)
(3) Resemblance[i, j] = caculateResemblance(picture_i, picture_j); %計算兩者相似度
(4) end
(5) end
其中caculateResemblance(picture_i,piuture_j)函數(shù)指逐像素對比兩張圖片,并輸出相似度百分比。
將圖片對比程序輸出的信息讀入數(shù)組,篩選每個用戶屏幕圖片相似度最高的基準圖片作為匹配結果,得到基準圖片標識的n位數(shù)字序列(n為用戶屏幕圖片數(shù))。對這一序列進行處理,合并連續(xù)的相同數(shù)字,同時將數(shù)字映射為頁面信息。映射規(guī)則由一個提前編寫好的文本文件控制。數(shù)據(jù)分析平臺的運行過程如下:
輸入:用戶行為圖片路徑imgPath,基準圖片路徑radixPath,分辨率X*Y,映射規(guī)則mappingRule
輸出:用戶行為序列seq
(1) seq ← Φ;
(2) foreach picture in imgPath:
(3) changeResolution(picture,X,Y);%調整每一個用戶行為圖片的分辨率為X*Y;
(4) end
(5) foreach picture in radixPath:
(6) changeResolution(picture,X,Y);%調整每一個基準圖片的分辨率為X*Y;
(7) end
(8) Resemblance = PictureCompare(imgPath, radixPath);%調用圖片對比算法獲取相似度
(9) foreach picture in imgPath:
(10) j=getMostSimilarRadixPicture(picture,Resemblance);%與相似度最大的基準圖片編號j
(11) add(j, seq);%將編號j加入序列seq
(12) end
(13) foreach i in seq:
(14) transferToBehavior(i, mappingRule);%按照映射規(guī)則將數(shù)字編號i轉化為對應行為
(15) end
其中changeResolution(picture,X,Y) 函數(shù)將圖片分辨率調到指定參數(shù), PictureCompare(imgPath, radixPath) 函數(shù)指比較兩個文件夾下的圖片序列, getMostSimilarRadixPicture(picture,Resemblance) 指找到與用戶行為圖片相似度最大的基準圖片編號,picture為用戶行為圖片,Resemblance為用戶行為圖片與所有基準圖片的相似度矩陣。
數(shù)據(jù)分析結果示例見表1。
表1 數(shù)據(jù)分析結果
(3)行為模式提取及可用性問題檢測
將用戶行為序列進行聚類,得到典型任務的行為模式。這是通過累積類似的行為序列來實現(xiàn)的。每個典型任務的行為模式有一個或多個主要路徑,根據(jù)遍歷該路徑的用戶數(shù)量進行加權。所有起始頁以及目標頁和遍歷每個節(jié)點的用戶數(shù)量都被添加到行為模式中。將任務的預期序列與任務的最常見行為模式進行比較。尋找“預期的”執(zhí)行和“實際的”模式之間的差異,以確定任務是否真的按照設計人員的計劃執(zhí)行,從而可以發(fā)現(xiàn)可用性問題。
為了驗證方法是否可行,作者選取了有道詞典作為案例,使用該方法進行用戶行為研究。根據(jù)艾瑞咨詢2018年移動APP指數(shù)中有道詞典的用戶特征,年齡分布在18~30歲的占比58%,因此將目標用戶定為在校大學生。研究目標為探索在校大學生使用有道詞典的行為模式。
對有道詞典APP進行分析,制定6個典型任務以及預期的執(zhí)行序列,見表2。
表2 任務及預期序列
定義36張能夠表征網(wǎng)易有道詞典所有典型任務的典型屏幕頁面的基準圖片,并對其進行編號和信息標注。具體的基準圖片見表3。
表3 基準圖片
為了獲取用戶在自然狀態(tài)下使用有道詞典的行為數(shù)據(jù),需要研究人員明確感興趣的情境并編寫指令,根據(jù)指令觸發(fā)自動開啟或關閉錄屏功能。本實驗中感興趣的情境為有道詞典使用狀態(tài)。根據(jù)指令文件的格式進行轉換,采用”IF……THEN……”的格式,具體的采集指令集見表4。
表4 數(shù)據(jù)采集指令
據(jù)艾瑞咨詢2018年移動APP指數(shù)中有道詞典的用戶特征,確定招募用戶的年齡段及性別比例,即年齡段18-24∶25-30為2∶1;男:女為1∶1,共招募用戶6人。
采用遠程的方式指導用戶安裝CAUX并下載指令文件,給用戶下發(fā)基準圖片集模板。指導用戶打開有道詞典自動開啟錄屏功能,在這個過程中,用戶按照基準圖片集模板進行圖片截取。完成后退出有道詞典自動關閉錄屏功能,用戶上傳數(shù)據(jù)。接下來用戶可以正常使用手機,開展為期一個月的實驗。實驗結束后,用戶上傳數(shù)據(jù)到服務器后可卸載軟件。
本實驗歷時一個月,共收集346段錄屏視頻。采用基于圖片對比的半自動化數(shù)據(jù)分析方法,具體分析步驟如下:
(1)用戶屏幕圖片序列提取。將錄屏視頻按每3 s一次進行截圖處理,得到346組用戶屏幕圖片序列。剔除無實際操作的數(shù)據(jù)后,獲得有效數(shù)據(jù)325條。
(2)用戶行為識別。編寫含有映射規(guī)則的文本文件。通過數(shù)據(jù)分析平臺,得到325條由基準圖片標識映射的用戶行為序列。
(3)行為模式提取及可用性問題檢測。為了探索用戶執(zhí)行任務的行為模式,對用戶行為序列進行聚類。以查單詞為例,共篩選出196條用戶行為序列。通過觀察用戶行為序列,發(fā)現(xiàn)用戶退出APP有兩種模式:返回到首頁退出和在任務完成頁直接退出。因此,在用戶行為序列的首頁面可能存在多種情況,這里統(tǒng)稱為其它頁面。通過累積類似的行為序列,總結出兩種行為模式。
通過聚類分析發(fā)現(xiàn)用戶查單詞存在以下行為特點:英譯漢發(fā)生的頻率遠大于漢譯英;漢譯英過程中,大多數(shù)遵循“輸入單詞(漢譯英)->英文釋義->經(jīng)典例句”的行為模式;英譯漢的過程中,大多數(shù)用戶查看中文釋義后就結束了本次會話或跳轉回首頁,只有極小部分會查看經(jīng)典例句。因此總結出兩種行為模式:漢譯英:首頁->輸入單詞(漢譯英)->英文釋義->經(jīng)典例句;英譯漢:首頁->輸入單詞(英譯漢)->中文釋義。對比這兩種用戶行為模式與預期序列,發(fā)現(xiàn)與漢譯英的預期序列一致,而與英譯漢存在差異。從這種差異中可以推測出,在英譯漢的場景下,由于對應的中文釋義為母語,較好理解,用戶并不關注經(jīng)典例句,而需要更加快速獲取中文釋義。
分析全部數(shù)據(jù)后,共發(fā)現(xiàn)11種用戶行為模式。通過與典型任務的預期序列進行比較,發(fā)現(xiàn)行為模式與預期序列之間的差異,并總結出6條可用性問題。見表5。
表5 用戶行為模式及可用性問題
本文提出了一種APP內用戶行為捕捉與分析方法,即利用CAUX以屏幕錄制的方式自動采集用戶行為數(shù)據(jù),并基于圖像對比技術實現(xiàn)數(shù)據(jù)半自動化分析。該方法可以捕捉用戶在移動屏幕上的所有操作,不依賴于修改應用程序的源代碼。采用圖片序列對比的數(shù)據(jù)分析方法,自動檢測用戶行為,獲得用戶行為序列。對用戶行為序列聚類分析,總結用戶行為模式。比較用戶行為模式與預期序列,識別其中的差異,發(fā)現(xiàn)可用性問題。本文作者應用CAUX,針對6名用戶,跨時一個月對使用有道詞典的情況進行了研究,共總結出11條用戶行為模式和6條可用性問題。實驗驗證,該方法能夠獲取用戶在自然狀態(tài)下APP內的行為數(shù)據(jù),并半自動化對行為數(shù)據(jù)進行分析,可以發(fā)現(xiàn)可用性問題。
由于時間、資源有限,本文工作還存在一些不足之處。目前分析出的用戶行為模式還不夠全面,在接下來的研究中可以通過擴大數(shù)據(jù)量,進一步獲取更多的APP內用戶行為數(shù)據(jù),定義存在可用性問題的操作序列,與用戶行為模式作比較,從而自動檢測出可用性問題。