1. 程式人生 > >博士五年的一些學術研究心得體會

博士五年的一些學術研究心得體會

學術研究的一些心得體會

 

    當我們開始高校研究生活時,我們就踏上了學術研究之路。這是一條探索未知世界,追求知識真理之路。這條道路上佈滿荊棘,充滿了冒險和樂趣。本文通過分享自己在博士學習階段親身經歷的研究經驗和體會(主要涉及到文獻檢索、文獻閱讀、實驗設計和論文寫作這四個方面),希望能幫助一些入門研究不久的同學對學術研究有新的認識,能在研究道路上少走彎路,邁向自己的成功之路。

1 引言

    2014年9月,我提著行李箱一個人來到大連這陌生的城市開啟了在大工的博士研究生涯。我是從大四畢業設計就已經開始接觸自己現在的研究領域——自然語言處理(Natural Language Processing, NLP),經過了碩士,博士這將近九年的摸爬滾打,自己也有了一些研究的心得體會。特別是博士這五年,我覺得是我在研究道路上成長的五年,是自我感悟和磨練的五年。在博士的最後階段,藉此機會,寫下我這些年在學術研究之路上自己的一些學習研究經驗,希望能對大家有所幫助。

    在介紹自己的研究經驗之前,我推薦一本凌曉峰和楊強老師著的《學術研究,你的成功之道》[1],這也是當年博士入學時導師推薦給我的。這本書對我學術研究起到了很大的幫助,我也是參考借鑑了書中的研究經驗和體會,踏上了自己的研究之路。

圖1. 學術研究的主要環節

    什麼是研究?在自然科學和工程領域,研究廣義上可以理解為,通過可重複性的觀察和可驗證的結果,能夠對人類認知世界做出獨創性且具有影響力的貢獻[1]。創新是研究的核心,影響力是研究的成績單。興趣是研究的最好動力,在研究的過程中往往會遇到各種想不到的坎,會讓人受挫甚至想放棄,當你對自己的研究領域充滿興趣時,你自然而然就會有很強的主動性,而不是覺得研究是一個枯燥無味的任務。在學術研究中,我們一般會做些什麼?其實,學術研究常常是一項系統工程,主要會包括下面幾個環節(如圖1所示),來共同完成對創新的追求。首先是確定一個方向,提出問題,然後提出自己的解決方法,通過設計實驗來進行驗證方法的有效性,最後撰寫發表論文。這五個環節並不是按照線性順序一次進行和完成,而是一個多層迭代和迴圈的過程。而在這整個研究過程中會涉及到很多內容,我將主要談一下在文獻檢索、文獻閱讀、實驗設計和論文寫作這四個方面上自己的經驗體會。

2 文獻檢索

    目前正式發表的論文,主要有兩種來源。一種是期刊論文,期刊論文一般是不限定截稿時間,任何時間都可以由作者向期刊投稿,然後經過多個同行專家評審,並經過可能多次修改得到專家認可後,才能由期刊正式出版發表。所以一般期刊上的論文寫作會更為規範,在實驗設計方面更加的系統完整。但是由於整個過程週期較長,一般一篇論文從投稿到最後發表都需要半年甚至一年以上時間,所以技術會有一定滯後性。另一種是會議論文,特別是作為我們計算機專業,技術發展更新快,會議論文十分重要。相比期刊論文,會議論文一般一年舉辦一次會議,並在相對固定的時間內徵稿,有投稿截止日期。所以在論文寫作上,由於時間緊迫,可能沒有那麼規範。會議論文更強調創新性,發表的週期短,能夠更快的獲取的技術發展的前沿研究。近年來,由於研究技術更新快,預印本文庫(arXiv, https://arxiv.org/)可以釋出自己的最新成果,也已經成為了解最新技術的重要資訊源。但上面的論文並沒有經過嚴格的篩選,所以質量參差不齊,最好選擇已經錄用,或者知名團隊的論文,需要自己進行判斷。

    在海量文獻中,我們最好是閱讀一些高質量的論文,如果作為一個初學者,如何能知道哪些論文會具有高影響力呢?對此,我有以下幾條參考建議:

  • 一般頂級期刊和頂級會議對論文的接受率比較低,對論文的審稿和篩選比較嚴格。因此頂會頂刊上的論文一般質量比較高。目前在我們計算機領域,主流的參考分類體系有中國計算機學會(CCF)推薦列表和JCR(Journal Citation Reports)分割槽。CCF推薦列表推薦物件是會議和期刊論文,分為A、B和C三類,A類最優。JCR分割槽是對SCI期刊根據期刊影響因子進行1、2、3和4區劃分,其中1區最優。但這不是絕對的,並不是說一些不在推薦列表上或者低區的期刊和會議中就沒有好論文,這只是一個參考指標。隨著研究的深入,你會逐漸清楚如何評判論文的質量。
  • 一般來說,一個領域的資深研究者所發表論文的影響力都很高。平時應該多加留意哪些研究者在哪些領域的影響力比較高,也可以找一些高年級的同學瞭解。
  • 還可以藉助學術搜尋引擎,通過關鍵詞檢索出相關論文。一般搜尋引擎也會給出論文被引次數,一般被引率較高的論文會有比較高的影響力。

    在進行學術研究之初,做好文獻檢索調研工作是十分重要的。文獻檢索是根據科研工作或科研課題的需要,有計劃、有組織、系統全面地調查、收集有關文獻資料的工作過程。當我們確定了研究方向和任務時,如何比較完整地把相關文獻檢索出來呢?我一般會通過查詢綜述論文,查詢代表性論文和查詢引用該論文的論文三個步驟來完成。

    首先是查詢綜述論文,一篇優秀的綜述論文往往能夠讓你對該研究領域有個全面的瞭解。例如,文獻[2]是一篇生物醫學文字挖掘的綜述論文,從論文提綱目錄(如圖2所示)我們看到,綜述論文中一般會提供該領域的任務介紹、相關資料集和工具,並對現存方法進行系統分類,給出每類方法的代表性工作,最後描述目前應用、存在的挑戰和將來工作方向等。對於綜述文獻的檢索:我們可以利用谷歌學術搜尋引擎通過關鍵詞+review/survey/tutorial組合來進行綜述檢索;或者檢視一些綜述性期刊;還有就是利用中國知網(http://www.cnki.net/)和學術搜尋引擎去查詢相關的國內外博士論文,通過博士論文中的相關工作章節來了解目前研究狀況。

圖2. 綜述文獻[2]目錄

    除了檢索相關綜述論文以外,我們還需要檢索最近的研究論文。利用學術搜尋引擎檢索關鍵詞,然後根據時間排序來找到最近相關論文,或者在近年的頂級會議和頂級期刊中檢索相關內容。再從這些研究論文的相關工作(Related Work)中找到系列代表性工作。例如圖3所示,這是2017年NLP領域頂會ACL上一篇進行實體關係聯合抽取工作論文[3]中的相關工作部分。從這篇論文的相關工作裡,我們可以找到實體關係抽取的代表性方法。

圖3. 文獻[3]相關工作部分

    最後就是查詢引用該論文的論文,通過谷歌學術搜尋引擎可以從引用該論文的列表中找到一個研究工作的後續相關工作。例如利用谷歌學術搜尋找到引用文獻[3]的論文列表,如下圖,可以看到引用該論文的論文基本都是和實體關係聯合抽取相關的後續工作。

圖4. 引用文獻[3]的谷歌搜尋結果

    總結一下,在進行文獻檢索時,可以先查詢綜述文獻,從綜述文獻中對研究任務有個整體瞭解;然後通過關鍵詞查詢近期論文,從其相關工作中向前看找到代表性工作;最後查詢引用該論文的論文,向後看找到相關工作的後續工作。這樣一般就能夠比較完整地檢索出相關論文。

3. 文獻閱讀

    在學術研究時,需要進行大量的文獻閱讀。但是我們也不能把所有時間都花費在閱讀論文上,這就需要我們進行高效的文獻閱讀。其實我們在進行文獻閱讀前,我們需要明確閱讀目的,這樣閱讀時才會有所偏重。一般文獻閱讀主要有下面的目的:1)瞭解研究現狀,掌握現有解決方法,存在的問題和挑戰。這樣我們一般可以去閱讀一些綜述論文。2)把握學術動態和前沿,建議閱讀近期的頂會頂刊論文。3)對於瞭解和掌握一些工程性的處理操作(比如預處理,超參設定,常用特徵等),建議閱讀一些評測論文。4)學習論文寫作,可以閱讀一些頂級期刊中第一作者母語為英語的研究者的論文。5)平日積累,豐富知識,可以每天刷刷arXiv。

圖5. 論文一般框架結構圖

    在閱讀論文時,我們不要每篇論文都一字一句從頭讀到尾,這不僅會浪費太多的時間和精力,還會使你的研究思路僵化。一般論文閱讀可以分為泛讀和精讀,在我們明確了閱讀目的後,再根據需求進行選擇。首先是泛讀,我們應快速瀏覽一遍論文。一般學術論文寫作是有一定框架結構的。圖5展示了一篇論文一般的框架結構,實線框的部分一般是論文高層次概念,閱讀這些內容可以快速的瞭解論文,對其研究問題、主要動機、解決方案以及實驗室結果大致瞭解。如果我們泛讀之後,根據自己的判斷和需求,需要進一步的深入,那麼再進行精讀,否則這篇論文只需泛讀掌握核心內容即可。對於精讀,我們需要從頭再讀一篇,細緻地推敲論文,可以從網上搜索一些相關資源來幫助理解,如果這篇論文附有原始碼也可以通過閱讀原始碼來加深對論文的理解。

    在閱讀之後,我們常常會忽略的是思考。閱讀後的思考其實比閱讀更重要,只有通過思考,我們才能從中挖掘新想法,嘗試著如何更深入研究去超越目前工作。當我們閱讀之後,建議大家再對閱讀的論文做下面一些思考:1)總結性思考,總結和思考這篇論文的亮點在什麼地方,我們能從中學習到什麼。2)批判性思考,帶著批判的眼光去思考,作者提出的假設條件是否成立?提出的問題是否合理?解決方法有沒有缺陷?3)創造性思考,如果不用作者的這套方法,對於這個問題,我們是否還能想到更好、更新和其他的解決方法?4)遷移性思考,作者提出的這種方法是否能夠應用於其他任務來解決其他問題?當我們養成思考的習慣後,常常會在思考的過程中找到研究靈感。

    俗話說:“好記性不如爛筆頭”。當我們經過一段時間的積累後會發現,自己閱讀的論文會越來越多,有時又想回過頭去再看看那篇論文,但常常都不知道自己把論文丟在哪了。所以學會管理文獻和做好閱讀總結筆記也是很重要的。在閱讀論文時,可以根據習慣打印出紙質版的論文或者直接在電腦上進行閱讀,閱讀之後建議大家學會利用一些軟體來管理自己的文獻。我自己使用的是Mendeley軟體(https://www.mendeley.com/),這是一款免費的文獻管理軟體。將論文拖進軟體中軟體會自動識別論文的基本資訊,你還可以利用它建立樹形目錄來對閱讀後的論文進行分類。此外還有高亮,註釋,筆記,雲同步等功能,十分方便。而且可以通過軟體的檢索功能很快找到你想查詢的相關論文。每次閱讀完論文後,建議大家做一個簡單的總結筆記,這樣不僅可以鍛鍊你對論文核心內容的總結能力,而且對於事後再讀這篇論文時,通過總結筆記能夠快速的觸發你的記憶點,回想起論文的內容。一個簡短的總結筆記應該包括論文簡介,論文亮點,實驗結果和思考等內容。圖6就是我對一篇論文[4]的總結示例。

圖6 Mendeley管理文獻展示

    總的來說,明確閱讀目的後進行泛讀或者精讀,閱讀後養成思考的習慣,學會管理文獻和做好閱讀筆記,提升文獻閱讀的效率和質量。

4. 實驗設計

    對於理工科,實驗設計是學術研究中不可缺少的部分。實驗最重要目的就是驗證我們提出方法的有效性。再進行實驗設計時,我們需要時刻遵循三個關鍵詞:合理、可靠和完備。實驗設計合理,使用資料和資料來源可靠,實驗對比方案完備。一般實驗設計會涉及到下面幾個內容:實驗資料,輔助實驗,主實驗,與先進方法對比和結果錯誤分析。

    實驗資料:再進行實驗之前,我們得選擇合適的實驗資料。而且實驗資料的來源得可靠。一般我們可以選擇一些國內外公開評測的資料集或者是一些其他已發表相關論文中常常使用的資料集。如果你研究的問題確實沒有現存的資料集,需要自己構建的話,一定要按照標準正規的方式進行資料集構建。對於同一個研究問題,最好能在多個相關資料集上進行實驗,來說明模型方法的泛化能力,這樣實驗結果也更具說服力。此外,我們還需要注意測試集的規模,儘量不要在測試集規模過小的資料集上進行實驗,這樣得到的結果缺乏說服力。

    輔助實驗:一些模型構建時的細節實驗,目的是展示一些非核心的部件對模型的影響。例如,不同超引數(如詞向量維度,網路深度等)對模型的影響,不同常規模組對研究方法效果的貢獻,不同資料劃分對研究方法的影響等。

    主實驗:驗證論文創新點的核心實驗,這些實驗需要根據論文創新工作特點而有針對性的設計,目的是證明本研究工作創新點的有效性。在實驗中儘量控制其他變數,只聚焦於本研究關注的挑戰問題即可。實驗設計要儘量完備,從各個角度去考量提出創新部分的有效性。

    與目前先進方法對比:目的是說明本研究工作到達的水平。在與先進方法對比時,不僅需要提供同一個資料集上的先進方法結果對比,還需要重現不同資料集上的相關方法在本實驗資料集上的結果進行比較。

    結果展示和錯誤分析:前面的實驗資料結果基本都是定量分析,在實驗設計裡我們也需要進行定性分析。通過對模型輸出結果的例項進行錯誤分析,發現研究工作中的優缺點。錯誤分析十分重要,有時只通過定量的結果數值我們無法從中發現問題,而通過對錯誤結果的定性分析思考,我們更容易發現模型的問題所在,從而提出新的方法去進行改進。

5. 論文寫作

    當我們已經按照上述流程順利完成了實驗,並得到了不錯的研究結果。那麼接下來的任務就是撰寫和發表學術論文,給讀者呈現自己的研究成果。學術論文與其他寫作形式有所不同,學術論文最重要的是內容必須真實、可信和準確。所以在寫作時應該保持嚴謹,認真的態度,使用正式的書面語,實事求是地去闡述你的研究工作和結果。目前工程領域的學術論文已經形成比較固定的結構,絕大部分論文都會包含下面幾個部分:題目、摘要、引言、相關工作、方法、實驗和總結。

  • 題目:高度概括論文的主要內容,點明任務突出創新。
  • 摘要:用幾句話概況我們的工作。首先簡介研究任務與問題挑戰,告訴大家研究問題是什麼;然後描述我們做了什麼,大概是怎麼做的,即我們的解決思路與方法簡介;最後通過一些實驗結論告訴大家我們做得還不錯。
  • 引言:比題目和摘要更詳細地介紹研究工作。這裡常見寫作邏輯是首先進行背景簡介說明問題是什麼且研究具有重要意義;然後對已有方法和主要挑戰進行描述;接著給出我們的解決思路和具體方法;最後可以通過一小段點明我們工作的貢獻亮點。引言的要點是充分論證我們所做工作的必要性和重要性,讓讀者認同並期待後面的內。
  • 相關工作:介紹研究任務的相關代表性工作,並說明本文工作與已有工作的異同。這部分主要是為讀者梳理該問題研究方法的發展脈絡,同時對比展示我們工作的貢獻和創新性。
  • 方法:介紹本文提出的方法流程和模型細節。比較好的表達方法是使用總分結構,首先通過系統流程圖或者模型總體框架,概述性的描述方法整體的流程和思路;然後再順序依次介紹每一個模組細節。
  • 實驗:其實就是把上述提到的實驗設計的內容和結果寫出來,主要包括實驗設定、資料集合、實驗結果、結果討論等。
  • 總結:概況總結本文工作,展望未來研究方向。

上面是一篇學術論文寫作應該包含的主要內容,寫作不需要過於花哨的辭藻,重要的在於向讀者清晰準確地描述自己的研究工作。此外,在對於論文寫作還應該注意下面幾點:

  • 平日論文閱讀時,注意積累寫作表達。學術論文裡多為正式的書面表達,使用口語化的表達會使得論文不認真不嚴謹。在我們平日閱讀他人論文時,就應該注意寫作表達的積累,把一些好的論文寫作表達記錄下來,做為日後自己寫作的參考。特別是一些常用的學術表達句式,句與句之間的連線詞,段落直接的銜接句等。
  • 注重邏輯結構。作為讀者,在閱讀時是由表及裡,即看到論文資訊,按照邏輯結構組織閱讀,最近理解作者的思想;而作為作者,寫作時應該由裡及表,首先明白自己的核心思想,然後構建好邏輯框架,再往每個框架中寫入內容。如果一個作者自己的邏輯都是混亂的,那麼讀者如何能清晰地理解你的論文。所以邏輯結構的組織在學術論文寫作中尤為重要,嚴密的邏輯、合理的組織能大大降低讀者的理解難度。
  • 學會換位思考。在寫作時學會進行作者、讀者和審稿人三者的切換。並不是一味地以作者為第一視角,我們還時常需要切換到讀者第一視角。如果自己作為一個非領域專家的讀者,通過現在的寫作我是否能理解這個研究工作,論文資訊的呈現應該要符合讀者的認知慣性。還有就是切換到審稿人的視角,如果自己作為該手稿的審稿人,我對這篇論文會提出什麼問題和建議。如果有,那麼我們就需要再投稿前把這些問題自己先解決掉,而不是到時給真正的審稿人提出來。
  • 細節決定成敗。從論文寫作的細節往往會反應出作者的學術態度。如果這篇手稿出現大量的字型不統一,圖表編號混亂,拼寫錯誤等細節錯誤,那麼給審稿人的印象分一下就很低,會留下不嚴謹不認真的形象。所以細節也很重要,論文寫完後需進行多次檢查,力求完美。

    實際上,現在也有很多很好的如何進行論文寫作的學習資料,在此我推薦清華大學劉洋老師的一個PPT《機器翻譯學術論⽂寫作⽅法和技巧》[5]和清華劉知遠老師的一篇博文《如何寫一篇合格的NLP論文》[6],我相信通過仔細閱讀這些資料會對你的論文寫作有所幫助。

6 總結

    學術研究之路是探索之路,是追求之路,是磨練之路。本文是我在自己目前的研究之路上的一些心得體會和經驗分享。分別從學術研究中的文獻檢索、文獻閱讀、實驗設計和論文寫作幾個環節上進行分享。也是希望可以對一些入門研究不久的同學起到一些幫助作用,早日走上自己的學術之路。

 

參考文獻:

[1] 凌曉峰,楊強.學術研究,你的成功之道[M].清華大學出版社,2012年.

[2] Zhu F, Patumcharoenpol P, Zhang C, et al. Biomedical text mining and its applications in cancer research[J]. Journal of biomedical informatics, 2013, 46(2): 200-211.

[3] Zheng S, Wang F, Bao H, et al. Joint extraction of entities and relations based on a novel tagging scheme[C]. Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). 2017: 1227-1236.

[4] Liu B, Zhang T, Han F X, et al. Matching natural language sentences with hierarchical sentence factorization[C]. Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2018: 1237-1246.

[5] 劉洋. 機器翻譯學術論⽂寫作⽅法和技巧. 2014年. http://nlp.csai.tsinghua.edu.cn/~ly/ talks/cwmt14_tut.pdf

[6] 劉知遠. 如何寫一篇合格的NLP論文. 2019年. https://zhuanlan.zhihu.com/p/58752815