假設你現在站在忠孝敦路口,想查附近有什麼餐廳,並知道餐廳有什麼好吃的招牌菜色,你會怎麼做?
一般人會利用 Google map或上網搜尋關鍵字。但這樣做,可能會得到數十頁的食記,光是閱讀食記可能就得耗上幾小時。這時候,一台讀過十多萬篇美食食記,建有幾千家餐廳資料的美食聊天機器人,也許就是飢腸轆轆的你的最佳救星。
從十多萬篇食記開始 四個月養成美食智慧大腦
負責主揪整個專案的Wayne,是痞客邦的研發工程師,發想出「美食智慧大腦」的靈感,主要來自公司數以百萬篇的餐廳食記。他說:「痞客邦有許多的文章,是否可以應用機器學習,做一個特別的服務?」於是一個結合了餐廳搜尋與美食推薦的「美食問答機器人」的概念就這樣成形了。
人工智慧的開始並不簡單
不過,要開始人工智慧並不是一件簡單的事情,光是15萬篇文章的資料整理及分類,就耗去團隊許多時間。但Wayne說,自己很幸運地擁有一群實力堅強的隊友。例如,在來自知名作業系統公司Ubuntu的YC,對於系統建置十分擅長,便負責起chatbot所需的搜尋引擎建置。另外,本身為手機代工廠工程師的Jazz則負責菜單關鍵字的萃取及串接搜尋引擎的API(Application Programming Interface)。
團隊將15萬篇的痞客邦文章,逐步分類整理出2,500家餐廳,4百多萬個句子,3000多個關鍵字,七萬個食物名稱等資料,並將文章內的餐廳地址轉成經緯度,以利搜尋。除此之外,還使用爬蟲將社群網站上相等對應的語句訓練model,使其能準確的判斷語句是正向,還是負向的評論。之後也利用轉移學習,使用少量的訓練資料使model能夠判別該語句是對餐廳的食物、服務還是環境做評價。
Wayne說,過程中團隊遇到最大的難題是:「如何讓電腦判定一個單詞是否為食物?」雖然知道市面上有些軟體可以處理,但都要價不斐。沒想到,此時團隊成員皮丘突然卯足全力,人工判定了十幾萬筆的單詞。Wayne說,由於這個題目沒有其他的label data,所以皮丘做的這些data對於後續機器學習的過程十分重要。至於Ken則是負責了最具挑戰性的句子分析與組成一塊。
Wayne說,他本來沒有預料會是一人負責一大塊的項目,沒想到剛 好大家都對某一部份的工作感興趣,也都投入了相當多的時間,有時候甚至半夜一兩點,小組群組還在討論。他笑說,原本還很擔心成果做不出來,沒想到大家一起合作出非常好的成果。過程中,還有一種創業的熱血感。
至於專案結束之後,這個美食智慧大腦是否還有需要改善加強的地方。大家笑說還有很多,光是餐廳的資料就需要補齊。再來就是對話的流程設計可以再複雜一點。
聚集有共同興趣與能力的人,創造最大價值
問起四個月的學習心得,Wayne認為,最大的收穫就是和一群有一定資訊能力、各有專長,且對深度學習都有興趣的人一起合作。當中一起討論,一起合作的過程,就十分有價值。更重要的是,卡關還有助教可以求助。
本身是從事家電整合新創事業的皮丘,當初會選擇這個題目的理由,是因為覺得未來chatbot很有機會會取代掉App,所以才想在這個領域多做著墨。原本是對文字處理相關技術比較有興趣,但收穫最多的反而是圖像處理的部分,透過期中考前的範例,他才真正了解CNN的如何操作。較為可惜的是,在文字相關的課程中,就少了這一部份,但也讓他發現這一塊還有許多可以深入研究的部分。
設計手機遊戲多年的Ken則笑說,4個月的學習加上專案之後,讓他獲得了許多工作上的靈感,知道了許多App 應用的相關技術可以創作。
而同是物理背景出身的Ken及Jazz則認為,這段期間的學習補足了自己在程式應用與整合的能力,以及一些線性代數與統計方面的基礎知識。Jazz說,還能認識一堆寫程式的同學,過程是滿滿的收穫。