System Overview
Method and Steps
Webpage Production
我們蒐集一個放有110項商品的資料庫,從中隨機選中42項商品放入以flask實現的網頁中供使用者閱覽。由於專題中設計使用者只用眼睛控制滑鼠,因此將網頁分為左右兩塊區域,左方是主網頁,放有所有隨機選出的商品目錄,而右方為左方商品點擊開所顯示更詳細的圖片、資料,使用者可以用的工具只有雙眼以及單純的滑鼠滾輪。蒐集瀏覽時間則是由 JavaScript完成,利用抓滑鼠座標(即使用者視線)的方式,只要注視的點一改變,就寫下新資料並且計時。
使用者可以直接使用眼睛當作滑鼠進行點擊,此時該商品的點擊次數便會增加,而使用者可以自行決定是否向右視窗看,若視線移入右視窗,則會開始計時直到視線移出。網頁的最下方設計了一個"推薦我"的按鈕,只要點下便會統計並分析該使用者的瀏覽行為並跳出新視窗進行推薦。
Data Collection
蒐集11位受測者瀏覽網站的情形,並且利用各個受測者對於商品的喜好度(回饋),建立SVM所需的training model。
資料種類為四項特徵,"在網頁左方區域注視各品項的時間加總"、"在網頁左方區域注視各品項單次最長的時間"、"用眼睛點擊各品項的總次數"和"注視各品項右方區域分別的時間加總"。
SVM Training
我們將Data Collection所蒐集到的資料作為SVM的輸入,將資料分為測試資料42筆和訓練資料420筆,標記分為喜歡和不喜歡兩種,訓練出來的Model在測試資料的準確率為78.57%。
Similarity Calculation
相似度的計算我們使用深度學習架構中的VGG16來抽取圖片特徵,同時也加入圖片無法判讀的Text Label,並經由cosine similarity來計算各個圖片和文字間的相似度,得出相似度矩陣。
Recommendation System Production
當使用者按下推薦按鈕後,資料會經過訓練好的SVM Model來預測使用者對42項商品的喜愛度,並根據這個結果從110項樣品數中決定要推薦的商品。我們將推測出來的結果存入 list中,得到該list中每個喜歡商品index後,分別進入相似度矩陣中取得推薦商品的index,再放入推薦list中,新跳出的視窗中便會顯示出推薦的商品給使用者。