【Glossika 實習分享 | 研究開發小組】學會程式之後我的第一份跟程式相關的工作!
在 Glossika 負責的專案項目簡介
我在這裏負責了四項專案,分別是 Syntax Tagging、MWE、Arabic Buckwalter Transliteration、Binary Sort - Chinese Character 和 Japanese Collocation。
Syntax Tagging 是讓實習生熟悉公司產品的一項專案,我們做完之後對於詞類有一番新的認識,詞類不再只是我們知道的名詞、動詞、形容詞,而是更細的劃分。
MWE (Multiword Expression) 專案的目標是做出一個群眾外包的功能讓使用者參與目標語言的常用詞組標記。我負責用 html css 和 javascript 製作 Demo 的前端架構。
Arabic Buckwalter Transliteration 專案開始使用到 Python,我們整理了一份阿拉伯文字和 Buckwalter 音譯的 python unicode dictionary。把阿拉伯文轉成 Buckwalter 文字系統 (Data Preprocessing) 是做給機器學習團隊用的。
Binary sort chinese character 專案想要讓外國人培養中文字發音的直覺。我們用Python 和 Pandas 處理這項專案。公司想要讓外國人也學會所謂的「有邊讀邊,沒邊讀中間」的概念,所以我們把一個中文字拆成有發音跟沒有發音的部分,然後依照頻率分類出最常用的部分讓初學者先學習。
Japanese collocation 專案是我在這裡學到最多的一個專案。我們主要用 Python 還有 Regular Expression 來處理日文字。我們除了要做日文音譯(包含少見擬聲詞)之外,最困難的就是要找到 16 萬筆日文有可能出現的促音情況,然後整理分類成電腦可以判讀的條件。再來就要用 Regex 找出所有動詞,處理一二三類動詞的任何可能結尾。畢竟資料量太大,Raw Data 有時候也很複雜,所以有很多我沒辦法預測的情況,我認為我們的最終程式一定還有 bug,不過我覺得這已經是我可以有自信交出的結果。
在 Glossika 學習到什麼、改變了妳的什麼想法
這是我學會程式之後第一份跟程式相關的工作,所以我很開心可以遇到前後端工程師,和他們討論我遇到的問題。討論的時候我學到最多的是如何用工程師的角度去切入問題。另外我在這裡第一次自己寫大約 400 行的 functions,來處理 16 萬筆日文資料。一開始我處理的方式會讓資料跑不動,後來我學會如何寫得更精簡,16 萬筆資料大概三分鐘就可以跑出來。因為我以後想要從事自然語言處理,所以很慶幸可以在開學之前先接觸公司如何處理 raw data,並且初步認識 syntactic 和 semantic 資料對於產品的重要性。在這裡收穫最多的就是熟悉 regex、python 和 pandas。做完之後我也更確定我想要走自然語言處理!
與其他成員團隊合作的想法、有趣或任何值得分享的事情
我覺得寫程式真的很需要適時的跳脫自己的思考框架,和實習生 Sharon 一起討論常常會讓我學到新的程式技巧!另外有時候我在想一個專案架構的時候,會被自己侷限。這時候和有其他專長的實習生討論架構通常都會有新的角度。有工程師的角度,也有語言天才的角度,整合大家的想法之後會讓自己更清晰,專案也會更順利。
你會推薦 Glossika 給什麼樣的人
我認為 Glossika 的記憶演算法功能非常適合常常會忘記學過的內容的人,他會適時地幫你複習,就不用擔心自己會忘記以前學過的東西。另外也適合想要學習少數語言的人,這裡有很多意想不到的外語。