LINE Corporation 於2023年10月1日成爲 LY Corporation。LY Corporation 的新部落格在這裏。LY Corporation Tech Blog

Blog


臺北醫學大學企業參訪 - Unleashing the Power of NLP : Innovations from LINE Data Dev

前言

資料工程團隊是企業中不可或缺的一環,負責蒐集、整理、分析與管理海量的數據,將數據轉換成有價值的資訊,協助企業做出更明智的決策。而在 NLP 領域,資料工程師更是扮演關鍵角色,因為 NLP 技術需要大量的文字資料作為基礎,而這些資料往往需要透過各種技巧進行處理與轉換,才能發揮最大的價值。

因此,今天的企業參訪分享將與大家介紹在 LINE 資料工程團隊擔任 TECH FRESH 的日常工作,探索我們如何透過數據處理與技術手段,讓文字資料更具有價值與應用性。希望以下的文章能夠讓各位獲得啟發與收穫!

在資料工程團隊的工作日常與組成

LINE Data Dev 是LINE的的數據科學團隊,負責協助各個LINE服務運用機器學習和資料科學技術來改善用戶的體驗。具體的工作內容包括基礎資料科學應用、機器學習理論研究,以及機器學習共用平台的開發等等。平時我們會用到的技術有深度學習、自然語言處理、語音辨識、電腦視覺和圖像識別。在本文中,我們將重點介紹LINE Data Dev裡與自然語言處理有關的專案和應用。

LINE Data Dev的團隊成員有:

  • Data Engineer: 負責負責處理和管理數據資料,讓後續的工作可以快速穩定地獲取資料
  • Data Scientist: 建立和實作機器學習模型
  • ML Engineer: 將訓練好的機器學習模型部署到生產環境中
  • Data Analyst: 對資料進行分析,提供商業建議

聊聊 NLP 應用情境篇

情境一:廣告審查

假如我們需要訓練一個模型,以判斷廣告標語是否含有違規訊息。對於這個NLP任務,使用BERT、RoBERTa等預訓練模型進行分類是很常見的選擇。接下來,我們需要進行數據清理、分詞和Fine-tune預訓練模型。如果模型的效果不理想,可以調整超參數繼續進行訓練。如果今天只是想完成學校作業或小型專案,那麼工作到這裡就可以告一段落了。

      然而,在Data Dev中,訓練好的模型需要部署到生產環境中運行。在部署模型之前,我們需要對模型進行測試和評估,以確保模型的穩定性、反應時間和可解釋性都達到要求。當模型部署好後,我們還需要定期監控模型的性能,以便及時發現和解決可能出現的問題,必要時將模型重新訓練。如果我們不能很好地監控模型的準確度,那麼廣告投放者可能會想方設法規避模型的審查。這樣,模型的效果可能越來越差。總而言之,在實際應用中,除了模型的準確度,我們還有許多後續工作需要完成。

情境二:SmartText

在Data Dev中,我們經常為其他LINE服務處理與機器學習相關的專案。因此,我們建立了一個名為SmartText的NLP Pipeline自動化服務平台。使用者只需要選擇要完成的任務,例如文章翻譯、提取摘要、分類、文章改寫等,然後上傳訓練數據,SmartText就可以自動訓練和部署模型。最後,使用者可以輕鬆地獲得一個可以整合到其它服務中的API。

在LINE Data Dev的實習中,我們的其中一項工作是研究是否有新的更強大的NLP模型可用於改進SmartText的性能。我們進行了調查和比較各種NLP模型的優缺點,以及它們對於不同任務的適用性,然後評估是否可以整合到SmartText平台之中。

情境三:Click Through Rate Prediction

先前提到的專案與NLP應用相關,而現在我們要分享的是一個NLP研究專案。假設我們想預測使用者點擊某則廣告的機率,給使用者推薦他們喜歡的廣告,從而增加廣告的收益。如果我們只是單純地使用過去點擊和未點擊的廣告作為訓練數據集,訓練一個分類器,我們可以預見模型的表現並不會太好,因為這樣的訓練數據集可能不夠多,也不能完全體現使用者的興趣和偏好。

為了改善模型的性能,我們需要引入更多的特徵。例如,我們可以分析使用者的搜索歷史、購買行為、社交媒體活動等等,以提取更多的特徵,並將它們納入到模型訓練中。此外,我們還可以使用語言模型和情感分析等NLP技術,分析廣告的內容和用戶的回饋,從而更好地理解使用者的興趣和喜好。在這個專案中,我的工作便是研究如何利用使用者過往的紀錄進行預訓練,讓廣告點擊率分析的任務可以做得更好。

LINE Data Dev 與學校實驗室有哪裡不一樣

最後讓我們總結一下在實驗室和LINE Data Dev中做機器學習研究的差異。大致體現在四個面向:

  1. 工作目標:在LINE Data Dev,我們的目標是運用機器學習技術解決LINE服務中遭遇的問題; 而在實驗室中,我們更關注於探索並改進現有的機器學習方法。
  2. 資料來源:通常在實驗室研究中,我們只能使用公開的外部資料集。在Data Dev,我們不僅可以使用外部資料,也可以使用公司內部服務產生的資料訓練更加客製化的機器學習模型。
  3. 模型需求:在實驗室研究中,我們希望提出的方案在某些方面能勝過SOTA模型,例如模型準確度或計算速度和模型大小的改進。而在Data Dev中,我們主要關注的是解決實際問題並滿足產品和服務的需求,因此需要考慮模型的實用性和可部署性。
  4. 成員組成:在實驗室我們通常需要獨立完成整個研究,在Data Dev的團隊裡我們有資料工程師、ML工程師、資料科學家等成員分工合作完成任務。

或你是學弟妹正在找實習,歡迎參考LINE CAREERS | 2022 TECH FRESH,那我們下次見囉!

活動小結

立即加入「LINE 開發者官方社群」官方帳號,就能收到第一手 Meetup 活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE 開發者官方社群」官方帳號 ID:@line_tw_dev

關於「LINE 開發社群計畫」

LINE 於 2019 年開始在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦 30 場以上的活動。歡迎讀者們能夠持續回來查看最新的狀況。詳情請看: