# 大三專題心得 ### 在專題學到的東西 我們這組的專題做的是服飾電商網站。在為期一年的專題中,我學到了很多,從專案題目的發想、可行性與商業價值的考量,到循序漸進的專案規劃,以及日以繼夜的與程式碼對戰。除此之外,小組成員意見的整合、不同的選課需要安排大家都有空的時間討論、專案的任務切分,以及獨立功能與網站的整合、測試,與專題報告、專題成品的核心價值等任務,族繁不及備載。 ### 對組員的感謝與一起走過的點滴 專題團隊的所有成員們,在整個專案的年度,都在修課之餘盡可能完善與推進專題的進步,都花了不少時間在做與開發有關的事務,非常感謝團隊中大家的協力合作與同甘共苦。 我們組內的任務分工相當整齊,組長負責指揮與監督團隊成員們的進度,而由兩位成員負責服飾網站前、後端的任務,我則負責做影像搜尋及推薦系統的功能。 我在寒假左右,花了一些時間做專題網站的雛型設計。那時是參考一本很實用的工具書,幾乎不提太多開發框架的細節,而且跟著書本的範例,很快就能做出各種不同網站類型的應用,同時從簡入深地熟悉框架的技巧乃至網站後端普遍常用的套件與知識。 而這學期開學後,由 Popo、老闆(我們組的成員)接手專案核心的平台,在更精細的前、後端任務分工與配合下,開發的專案輪廓感覺更具商業價值:有專業、好看的網頁模板與前端設計、許多電商平台的必備功能,如:供應商的各種商品管理介面、訂單介面、商品上架介面、登入介面等,都在兩位同學的大力支持之下得到了很好的完善。 我原本覺得這些功能太龐大、五花八門了,一般來說,若目標是欲開發較大型、完整的專案,勢必由多個成員合作進行。而我們專題成員只有四人,且都是學生,不但有許多課要上、考試要讀、作業及報告要寫,並不能將太多時間都花在研究和開發上,真的能夠做完這麼多且龐雜的各式電商平台功能嗎? 組員 Popo 讓我十分佩服,能在專題僅剩下幾個月的時間裡,做完很多後端功能的開發,讓我們專案的完整性都大大的提升,不僅是一般的、研究性質或特定目標導向的完成部分功能與平台,而是在考慮供應商、消費者二者分離的、更需開發時間的設計,而在專題的尾聲,也做得相當完整。實在是感佩組員技術與專案時間管理的的能力,相信他在後端技術上,未來想必是炙手可熱的專業人才。 而開發前端的同學,也具有十分在行的能力:他找的模板很精美,而且有像是 banner、電商商品的預覽圖、類似響應式網頁的設計;相比我寒假做的基本樸素的工業風,透過這些設計精良的模板實在帶給使用者更加專業、具設計美感,並能增加使用者體驗的大幅改善。相信他若未來從事前端工作,也是十分具有潛力的搶手人才。 也十分感謝我們的組長—冠。組長在規劃專案時程的任務上十分出色,而這也是我目前最不擅長的地方。在軟體工程的課程中,有教到:敏捷軟體開發及 CMMI ,這些業界常用的專案開發技巧,尤其是敏捷開發。敏捷開發講求多迭代、需求細化。雖本次專題沒用到太多多迭代的方式,因為我們的需求已十分清楚,而且沒有客戶—而是自己扮演客戶,透過前期需求訪談充分定義好目標的輪廓,預想服飾來源供應商、平台使用者需要、想要的東西。而組長每週都盡心盡力的詢問、追蹤我們的開發進度,利用 Trello、看板開發、甘特圖等工具,幫助專案的時程管理運作順暢,在最後關頭可以帶領整個團隊,一同做出近乎我們想要的結果。並且兼職負責文件撰寫,對於專案具有何種商業價值、整體的商業模式及其細節都十分上手,與大部分對如何兼顧專案有關的利害關係人的優先順序,都有詳盡的規劃,與長遠的、較實際的 insights。相信組長未來在專案管理上也是非常厲害的人才。 也十分感謝伯慎老師。老師雖然平時時間繁忙,但仍抽出有限的時間,聽聽我們的想法、專案進度和規劃。雖然他提出的開發方向具有嘗試的價值,但專案時程考慮下,我們沒有採取老師提供的方向做開發,而是盡可能完善較有把握做完的專案項目,但也十分感謝老師替我們專題實際上可能遇到的問題做精闢的分析,以及一同聆聽與討論我們對專題的想法。老師認為:「不同供應商可能在不同資料整合下有困難性,我們身為服飾的代銷平台,如何解決這個問題?」多謝老師在很早之前就告訴我們這個問題,我聽聞後便開發了服飾商分類整合工具、服飾顏色工具,都是為了多個不同上游廠商—資料整合的實務上常見問題。 ### 粗淺的未來規劃 專題中,我主要負責兩項功能,也是我個人較感興趣的地方:【影像搜尋】與【推薦系統】。 影像搜尋任務目前是依賴於底下的子任務:影像分類器,對多個服飾種類、多個顏色名稱分類(已爬蟲了五家台灣知名服飾商的上層文字型商品資料。該供應商當時所有商品的文字資料、相應的階層式結構都爬下來了,所有服飾商圖片,甚至五花八門、種類繁多的顏色 icons 圖片,後續也補爬完成。|可用來做供應商商品上架的顏色選擇,搭配之前我已開發得差不多的顏色整合工具,對大量繁雜的顏色名稱由工具+人為決定做統整。其中,印花、方格等,由原始服飾商顏色名稱所分離後的資訊也可做為特徵,有助於影像搜尋對大量本地服飾圖片DB 做初步篩選,以致搜尋時間的效能優化) 未來考慮加進多個材質的分類,乃至列出了幾種較可行、具商業價值與通用性的方向,目前我都有整理出了相應的詳盡計畫。與此同時,我也積極研究影像處理的演算法,和優化目前影像分類器使用的卷積神經網路—這一稍微更複雜些的問題。 對於推薦系統,我們目前因時間有限,只用了簡單的 Item-based Recommendation(ItemCF),利用在同一個訂單的數件商品,兩兩記錄 co-occurence matrix 的次數,若同在一個訂單則加一(「訂單」亦可改為「購物車」或「追蹤清單」等,此推薦規則是基於「若兩商品被同時做反饋(如:消費、add to cart、加入追蹤、瀏覽等),則假設兩物品關聯性(相關性)較大,並記錄物品-物品(Item-Item)的關係於共現矩陣(co-occurrence matrix)中」。而推薦也就只是找和【目標商品】共同出現次數最多的商品,為最優先推薦而已。此設計就不考慮用戶特色、用戶間關係,與如何記錄用戶信息了。對快速完成專題目標是好,但站在使用者的角度一定較不好(推薦規則設計的不周全,無法充分預測用戶興趣))。 而優化的方向,我也做了初期的規劃(此為專題延伸的眾多規劃之一):預計未來採先用 Label-based recommender system(基於標籤的推薦系統),讓使用者在選取合適的服飾不必像傳統服飾網站那樣麻煩!目標是有如 Google 一般簡潔的設計,根據標籤推薦與累加、計算使用者喜好的服飾類型,甚至考慮更長久的未來可研究引入深度學習的推薦系統,考慮未來或許會研究及參考阿里巴巴發表的 DIEN 論文以及 GitHub 開源專案,做實際的應用,預期可利用 GAN 對具時間衰減性(和變化)、且為多種興趣的分類任務,縮小規模為不同服飾風格的分類任務。 不僅做了許多優化方向的思考,研究的部分我也做了良多時間,經過初步思考與規劃後,參考在目標方向上有哪些相關論文所提出的架構是很值得借鏡的,並做相關知識的研究、筆記整理。 感謝大家這一年來努力的付出!無論專題與其它組別相比結果如何,相信對我們來說,這是個最重要且最難忘的專題。