非典型程式人:褪下法袍 從解構資料看見社會裂口的那道光

跳脫固化的系所思維 她要構築一條知識之廊解構社會

林庚遠 Ken-yuan Lin
ccClub
11 min readJul 7, 2020

--

截至本篇,《非典型程式人》已累積到第五篇了。雖然目前的文章數量還不多,我們仍期待能一點一滴地累積非典程式人的故事。除了重視學員們學程式有成後的發展,我們也很期待能看見不同領域的學員們結合所長與程式語言,成為改變社會的重要原動力。學程式除了能「利己」,如果還能輔以自己的專業知識對社會有所貢獻,無非就是「利他」了!

我們相信不論你的出身背景是什麼,只要有心,願意讓程式成為你生活或自身專業的一部分,就能為自己與社會帶來改變。為了讓更多能確信 ccClub Python 讀書會 秉持的這份信念,我們開創的《非典型程式人》收錄了許許多多的故事。不論你是歷史系土木系生工系工管系,我們都行!

延續著上一期的主題,本期的專訪人物,是目前擔任台灣大學經濟學系研究助理的陳羿妏,大學時就讀台灣大學法律學系的她,在碩士時選擇攻讀台大經濟學系研究所,並曾擔任永豐金控證券的資料分析師。多元又跨領域的背景,讓許多人對她的生涯選擇與成就都感到相當的好奇。

今天的專訪文,就讓我們來一同來瞭解她的學思歷程,以及她如何結合程式與所學實踐對追求學問的熱情,用另一隻眼睛檢視社會的運作吧!

法律系畢業不去當法官,跑來 coding?

許多人對法律系的印象往往與「律師、法官、檢察官」連結在一起,大多數的法律系學生畢業後也的確以司法工作者為志向,選擇就讀法律研究所、報考國家考試來實踐目標。不過,羿妏在大學畢業後卻轉而攻讀經研所,選擇了一條系上少有人走的路徑。

「雖然大一、大二時的我在系上讀得蠻有成就感的,但大三開始接觸民事訴訟法、刑事訴訟法等程序法課程之後,卻漸漸對於這門學科失去了興趣。

除此之外,當時發生的太陽花學運,讓我見證了公民權利在國家公權力之下何其渺小,雙方在資源與話語權上是如此不對等;我也不禁反思:我們在教室裡所學的法律知識、公平與正義的理念,真的能在教室外的世界被實踐嗎?這些問題都讓我不斷反思自己真正想要的是什麼。」

大學時期的羿妏在法律系的成績其實相當優異,也曾獲得書卷獎的殊榮。不過,富有想法的她對追求知識的旅途卻有另一種想法。

有些人認為,法律系的學生可以粗略地被分為二種。其中一群人希望在法律專業之上,輔以財務金融、會計的知識,提升求職競爭力;多半會選修會計、財務報表分析的課;而有另外一群人追求社會正義的實踐,希望能藉由社會關懷的溫暖看見法律條文的缺漏,照耀社會的角落,並選修社會系、社工系的課程來拓展視野。

不過,被問到自己是屬於哪一種時,羿妏認為:

「我認為這兩種人都不太符合我的特質。真要說起來,我自認比較偏向『學院派』吧!我對社會科學的興趣大於法學本身;我對實證研究也很有興趣,喜歡從應然與實然面的角度來探討不同的社會議題。」

四年一次的總統大選是目關注的焦點。除了勝敗,還有什麼值得我們深入探究 ?

從爬梳資料的過程 成為檢視社會的另一雙眼

羿妏的碩士論文,題目為「以 2016 美國總統大選中的政治極化與輿情分析:以臉書資料為例」。

▍你的研究主題是什麼?為什麼會選擇它?

「我的論文主題是探討 2016 年美國總統大選對於政治極化的影響,並以Facebook 的相關資料作為研究的依據,藉由實證研究與量化分析的方法來達成研究目標。

我覺得能研究政治與人的行為,是一件很有趣的事情!尤其是能從爬梳社群媒體的資料來探求議題的過程,對我來說本身就是一件很有意義的事情。」

政治輿情分析的議題,在詭譎多變的國際情勢裡是門顯學,牽涉到的面向也相當廣泛。不論是難民議題、性別平權乃至於各國選舉,群眾對特定議題的態度與媒體議題框架的效果,都相當程度影響到選舉或特定議題的結果。

藉由輿情分析,我們也能加以探討不同的消息對於資訊的接收者會產生什麼影響 ? 一個議題所接收到的正、反面聲量有什麼差距 ? 除了從片面的媒體新聞擷取立場,如果我們能從第一手的資料當中建立自己對特定議題的態度,無非能幫助我們在龐雜的資訊洪流中,培養獨立思考的能力。

ccClub 讀書會期末都會有 Demo Party,每學期總少不了政治主題。圖為歷屆學員部分專案簡報。

▍在研究的過程中,你使用了哪些技術呢?

我們利用使用者對粉絲專頁的按讚資料,估計各使用者及粉絲專頁的政治意識型態。接著,從各月份中抽取一定數量的貼文,透過人工的方式針對與種族、移民與性別相關的貼文及其情緒進行標記( Label ) ,並訓練模型 (Modeling) 篩選出與上述議題相關的貼文,判斷其對移民及非裔族群的態度是否正面。結合上面兩項資訊,我們可以接著了解不同政治立場的人及粉專在移民與種族議題上的議題接收與散布行為有沒有差異。

我們也進一步利用估計出的使用者意識型態建立政治極化指標,結合美國聯邦調查局( FBI )提供的仇恨犯罪資料,建構出州-週層級(state-week level)的縱橫資料(panel data),並運用回歸模型去估計政治極化程度對仇恨犯罪數量的影響效果,以檢證政治極化程度的上升是否也會讓仇恨犯罪率提高。

▍使用程式完成目標的過程中,有哪些困難或收穫呢?

「在研究或工作時,會遇到的困難可能未必是基礎觀念,反而是不太熟悉特殊工具或技巧的使用方法。例如 : Python 當中處理資料常使用到的 pandas 套件為例,雖然老師有教過,但平常其實不太會用到,課堂上也沒有充足的練習機會,直到撰寫論文或是工作時實際面對資料處理時才較會高頻率地使用。

另外,累積實戰經驗也能進一步增進對程式的掌握度。比如以前在進行資料處理時,我便發現到 R 的迴圈效能相較於 Python 較差,對於我來說,後者在資料處理上更為方便;不過, R 在資料視覺化往往能有令人驚豔的效果。

隨著資料爬取的經驗愈多,操作上會更順手,我也會發現到有些非結構化的資料,比較難透過網路爬蟲或是簡單的資料分析直接加以利用。

而在工作上,不少業務單位會有數據處理的需求,我多會使用 SQL 來撈取所需的數據;有時候面對較龐大的需求,除了使用 SQL 之外,我還會透過 Python API 串接來協助我完成資料的使用。現在回學校擔任研究助理協助老師的研究,以前在工作時練出的 SQL 以及更加熟練的 Python 技能都幫助我提升許多效率。這些都是透過投入大量的時間,經驗累積後所學到的收穫。」

2020 年不論對台灣或是全球,都是瞬息萬變的一年。疫情對國際局勢的變遷,改變了我們習以為常的生活。台灣方從年初大選的喧囂中離開,相信許多人對網路上充斥的「假新聞」,以及輿情操縱的議題都還很熟悉;尤其年初疫情爆發以來,「謊報政府疫情破口」、「口罩囤積不實消息」等假消息也從不間斷。面對群眾激情與不同勢力的角力競爭,網路早已成為不同黨派及掌握輿情的另一座戰場。

近期於美國爆發的種族衝突事件,無非再度挑起社會對於種族和諧的爭端,也再次考驗了社會的凝聚力。不論你信奉的價值觀是什麼,我們所吸收的網路資訊以及我們送上雲端的思想,無非都在交互作用後回頭影響我們身處的真實世界。而當我們能藉由科學、客觀的方法從現有的資訊當中梳理出一套完整的思緒,對於了解議題以及自己本身,想必都會有更深一層的體悟。

▍技術之外 其他重要的事情

社會科學畢竟跟自然科學不同,未必存在「絕對標準的正確答案」,也不是隨便改幾個參數就能輕易解讀的。縝密的思維方式,以及對人文社會的體悟,都是在探究社會科學奧妙時的重要元素。

除了法律系的課,大學時的羿妏也修習了許多社會科學院的課程,不只加深了她對社會科學的興趣,更在她實證分析研究的思維路徑上,奠定了許多的基礎。

許多教授為羿妏的研究生活貢獻良多。圖中由左至右依序為台灣大學謝吉隆教授、林明仁教授及江淳芳教授。

許多課程對於我奠定研究所的基礎很有幫助。

例如,王業立教授的政治學讓我更深度地思考『政治的涵義』。讓我進一步思考不同的制度在不同的社會環境下對人的影響是什麼,以及不同變因之間的交互作用,能產生什麼火花,讓我第一次了解實證社會科學的有趣之處;李鳳玉老師的應用統計學則是讓我第一次接觸到統計及量化方法在社會科學上的應用,是我對量化研究的啟蒙者。

此外,江淳芳老師是影響我最深的其中一位教授。作為我研究所的指導教授,他不僅大方接納我這個半路出家的學生,不論在論文題目的篩選,乃至於對特定議題的發想以及方法上的改進,老師總是能引導我從霧裡看花的過程理出自己的思緒,並用更清晰的視野來探查社會科學。

一路走來我與它──我與程式的愛恨糾葛

▍為什麼當初會接觸到程式語言呢?

「我第一次認真學程式的時間是從大學的一堂通識課開始的。課堂中使用的語言是 Java,當時教授講解了有關程式設計的概念,幫助我奠定寫程式的基本邏輯,也讓我更想繼續探索其他程式語言。」

提到自學,羿妏則認為讀書會能提供更有系統的學習方法。因為有出席率跟作業的要求,往往敦促學生要隨時上緊發條;學習時若遇見瓶頸,也有助教能即時解惑,提升學習效率。相較之下,自學的步調比較零散,如果自律性不足恐怕無疾而終,也缺乏實際練習的機會。

不過,筆者仍要不斷強調:每個人都是自己學習的主人。不論是自學、補習班或是上課,終究只是獲取知識的途徑而已。我們的目的地是「學會」,學習資源只是旅途的過客,慎選最適合自己的旅伴,才能安全又快速地完成學習的旅途喔!

▍有沒有什麼話,想要對剛學程式的朋友說呢?

不同於外界普遍對一位『法律系畢業生的期待』(投入司律特考,擔任一位司法工作者),羿妏在追尋自我的過程中,仍不時面對來自身邊親友的質疑;而在這之外,如何面對內心最真實的自我,更是這段旅途當中重要的課題。

「雖然我沒有成為一名律師,但法律系四年嚴謹的邏輯思維,幫助我在思考不同決策方案時,能以更縝密、沉穩的態度做出決定;除此之外,不論是研究或是工作,夯實的法學訓練也強化了我的組織思考能力。

而在就讀經研所三年的時光裡,『 相關性不等於因果關係』的基本概念也不斷地繚繞在我腦海中。要確認二件事情的因果關係,必須要透過許多方式加以驗證,才能避免倒果為因或是錯誤歸因。如此種種,都讓我在思考許多問題時能夠更全面。

有了社會科學的養分、對統計方法的基本認識和對程式語言的掌握,我也因此對社會科學和資料科學的結合特別感興趣,尤其是因果推論跟機器學習的結合及其在社會科學及商業問題的應用上,這也是我會回學校擔任研究助理準備申請國外博士班的原因。」

如果你還沒有確定好自己學習的方向,不如從現在開始吧!
不論是寫程式或是自己,「了解」這段過程往往不輕鬆,遇到挫折與外人的質疑更是在所難免,家人與朋友的支持想必能扮演重要的腳色。

當我們回想起一開始學習的初衷,就能更了解自己真正需要的是什麼。」

不論你目前是否會寫程式、對程式了解多少,ccClub 誠摯地希望能給大家不同的程式學習體驗,並從寫程式的過程當中,努力成為更好的自己。

一直以來, ccClub 持續在推廣「讓程式語言成為大家的第二外語」的理念我們相信程式不應該是少數群體的專利,而是所有人都能理解、學習,進而幫助我們實現夢想的一項工具。不論你是誰,只要掌握程式語言的能力,就能更了解我們身處的世界,為自己的生命增添更多的可能性。

就算不是資訊背景也沒關係,只要有心,程式都能為你的生活帶來改變。

延伸閱讀
❓ 讓 Skiwitch Talk 親口告訴你程式到底能幹嘛!
➡️
你能用程式做什麼?⬅️

📚商周秦漢隋棠宋 會寫程式有夠宋!來,哥教你 📚
➡️
用鍵盤譜出時空的旋律 ⬅️

👷‍♂️ 「我們行不行? 一定沒問題!」不是建築師的巴布,會寫程式一定行!
➡️
在土與木之間 散播程式的種子 ⬅️

🏙️這座城市的今天又平安地過去了,感謝程式小男警的努力!
➡️ 在太平洋彼岸 看見城市的光芒⬅️

👩 仙女姐姐變變變!讓管顧女神教你怎麼飛!
➡️ 展開雙翼 讓維納斯帶你翱翔商管程式的奧秘⬅️

我們是 ccClub 團隊,致力於讓 Python 成為大家的第二外語,希望能用淺顯易懂、循序漸進的方式,帶領新手一步步跨入程式設計的世界。如果你喜歡這篇文章,請給我們 11~20 個掌聲。
如果你喜歡「Python初學」的教學系列文,或是「非典型程式人」的專訪,請給我們 31 個以上的掌聲。


Facebook: ccClub Python讀書會

--

--