要看你講的是什么代碼。像我們做數據分析的話,用R寫數據分析也是代碼,這個有很多年了。但是要和社交媒體相關的話,差不多我來這邊工作第一年就開始學,當時是為了寫Information, Communication Society那個文章[1]而開始學習。寫Python代碼就是為了研究微博和中國集體行動兩者關系這個問題,當時把用戶的微博抓取下來以后,建構一個社會網絡,再做社會網絡分析。我當時也是基本上從零開始學語言,收集線上數據,有大半個學期集中學了一下。
學代碼的過程總歸是越來越容易。很多時候,所有的編程都有類似一個思路,只是句法不一樣,所以如果你學過編程,對整個編程有一個整體的了解。然后你再來寫這個代碼就會簡單很多,所以基本上說,學語言這個東西,開始學總歸是痛苦的。越學越簡單。
引擎:其實像這種技術或者代碼應用現在越來越廣了,但是本科教育階段我們不是很強調這方面的,你是怎么看這個現象和學習代碼的意義?不同學科有它的分工,所有的學科都教寫代碼也不現實。但從另一個角度來說,現在社交媒體這么發達,編程本身非常重要,那么學習也就很重要。不管未來從事研究工作還是就業,都非常鼓勵大家學一點相關的技能,這種技能對未來發展可能也很重要。我們在下個學期我們會開一個“互聯網與社會”的課,下學期會增加一些跟編程有關的,比如自然語言處理,非結構化數據存儲分析等等,社會網絡分析可能會涉及到。
增加這些內容的意義是什么?第一,如果你要研究這個社交媒體的話,這個是繞不開的。第二個也是非常鼓勵我們的學生去學習代碼。隨著外部社會環境變化的時候,我們的研究對象和研究的手段工具都需要跟著變化。雖然我們也不知道以后會發展什么樣,但是我們需要往這個方面去探索,可能有一天,這樣一種基于文本的分析會成為社會科學的一個很重要研究路徑。如果那時候零基礎零準備的話,那我們就會落后源碼,所以我們現在是先做起來。當然,基于大數據和社交媒體的研究也可能是一個“不歸之路”。但是不管怎樣,我還是愿意用一個更加積極的角度來看,所以我們先做好準備。
第三個方面的考慮,有關互聯網的問題現在也會有很多計算機學科背景的人來做。我們最近在開全國社會媒體處理大會(Social Media Processing,下簡稱SMP),跟計算機的一些同仁去交流經驗。我們會發現他們在技術上非常成熟,但是他們的技術用來解決我們社會科學,或者社會學的一些問題的話,還是蠻大的缺口(gap)。這個缺口在于源碼,我們做社會學的和他們所關心的問題互不相同。我們直接把我們的問題提出來,要他們處理,他們現有的工具是處理不了的。但是他們會跟你說,他們的東西如果根據研究問題做一些調整,可能能用。所以問題就在于說,如果我們不參與,不交流他們永遠不會做這個調整。
比如,他們在做一些情感分析的時候會做一些正情感,負情感,好評、差評的評估。如果你在商業應用里面,比如這個餐館是好評還是差評,算一下評論多少好評就夠了,但對我們來說,其實問題要更復雜。比如現在我們要研究一個政治態度,有多少是民族主義,多少民粹主義,多少是愛國主義,有多少是打醬油的。你會發現,這樣的一個東西,粗粗聽上去跟他們正負蠻類似的,但是你就是找不到一些最起碼中文上現有的工具直接拿來可以用。
所以我們也希望在技術這個方面一定要有一些社會科學的人參與進來,看看理工科有哪些工具,做到什么程度?有哪些是不能做,我們更好地跟他們交流,說我們覺得哪些東西做好,哪些東西是我們想要的技術研發上還沒有提供。通過這個交流的話,我們希望能夠促進這個交叉學科。也是為以后有更多,能夠成為現成的工具包能發展出來。所以必須有這樣的人去做這樣的事。