1. 程式人生 > >給正在寫Paper的你:如何在成千上萬的arXiv論文中脫穎而出?

給正在寫Paper的你:如何在成千上萬的arXiv論文中脫穎而出?

今天是1月28號,我現在應該正在完成我的論文,你應該也是!但是當我們可以不寫的時候為什麼要寫呢?ICML 的截止日期距今只有僅僅12天,KDD 緊隨其後。ACL, COLT, ECML, UAI, 和NIPS 所有的都在放暑假之前截止,時間安排很緊幾乎沒有放鬆的時候。每一個期刊都會有成千上萬的論文投遞。

開源軟體、YouTube的開放課程、可獲得的預印論文,都讓機器學習變得越來越觸手可及,這也激發了大眾對機器學習的巨大興趣。在接下來一個月的時間裡,投遞給arXiv的成千上萬的文章中,很多都不值一讀。 如果寫得不好肯定會被拒,還有一些論文也達不到它預期的影響力。即使在被接受和具有影響力的論文中,不用心的寫作後期也會引發質疑,甚至會有人批判說這樣的論文並不值得獲獎。

(你最好期待Ali Rahimi 和 Ben Recht 不會贏得其他的經得起時間考驗的獎項)

但是等等,還是希望的!你的論文水平有救。在我的學術生涯中,我對於如何寫論文建立了強有力的觀點(你可能不會同意所有這些觀點)。 我最早跟著Charles Elkan讀PHD時,獲得很多重要的科學論文寫作的啟發,把它們總結為精闢的格言,雖然這些格言可能有點過時。這段時間,我和更年輕的學生們一起工作,教他們如何寫清晰的科學散文,我發現自己在重複這些格言,偶爾還會發現新的。

以下列舉了一些很好記的規定,每一個都有簡短的解釋。有一些解釋了語言,另一些交代了定位,還有一些涉及到美學。大部分都只是我的個人所感,所以你可以選擇性地接受它們,特別是當它們有爭議的時候。當時如果你想要反對他們,請給出有力的理由。

引言

1.摘要要簡短

你不可能在摘要中把什麼都寫了,也別這麼做。把摘要當做2分鐘的聚光燈下的宣講。要點要條理清晰,這有一個經過考驗的準則:

  1. 用一句話或一個短語介紹問題

  2. 解釋現有方法的不足之處

  3. 重點寫出 :  清楚地描述你的主要貢獻 (也可以用這個開頭).

  4. 兩三句說明細節,主要的定量結果等等

這是我閱讀到的機器學習的論文中第一個比較好的摘要

“Mixtures of Gaussians are among the most fundamental and widely used statistical models. Current techniques for learning such mixtures from data are local search heuristics with weak performance guarantees. We present the first provably correct algorithm for learning a mixture of Gaussians. The algorithm is very simple and returns the true centers of the Gaussians to within the precision specified by the user, with high probability. It runs in time only linear in the dimension of the data and polynomial in the number of Gaussians.”

“混合高斯模型是最基本的廣泛使用的統計模型。目前的技術對於學習混合資料基本依賴於表現一般的區域性搜尋啟發式演算法。我們提供了第一個保證正確的用於學習混合高斯模型的演算法。這個演算法非常簡單,而且能以很高概率返回由使用者自定義精度的高斯模型真正的中心。“

– Sanjoy Dasgupta in “Learning Mixtures of Gaussians”(學習混合高斯模型)

注意到 Sanjoy 本可以通過合併開頭的兩句話來讓文章更緊湊:“Current techniques for learning mixtures of Gaussians from data are local search heuristics with weak performance guarantees.”(目前的從資料中學習混合高斯模型的技術是效果一般的區域性搜尋啟發式演算法)

優點:更加精煉。 缺點:用關鍵詞“Mixtures of Gaussians” (混合高斯模型)開頭比現在的版本更奪人眼球

2.不要調戲讀者

如果你有很棒的定量結果,一定要把資料放在摘要和引言;如果你的文章推匯出一個可以操作的公式,放在引言。人們會繼續閱讀是因為他們感興趣而不是因為你通過隱藏了資訊來調戲他們。

3.刪掉一般的開頭

“The last 10 years have witnessed tremendous growth in data and computers.”(“過去十年資料和電腦發生了鉅變”) “Deep learning has had many successes at many things”.(”深度學弟可以應用到很多方面”)。如果你文章的第一句話可以新增到所有的機器學習/大資料 的文章,刪掉它。 第一印象非常重要,第一句話是你的引言中最最珍貴的東西,不要浪費它。

4.在回答之前先問問題

如果你不相信存在問題,就很難對解決方案感到興奮。如果你的文章非常抽象與現實世界沒什麼關係,那麼它應該被視作純數學的工作。那這篇文章大概不會成功。如果可以,用現實中引人注目的例子開頭,提煉出抽象問題,用實驗證明來解釋這個激勵人的例項。

5.聚焦於能做的  而不是不能的

有時候你需要提出對比,但是不要陷入負面描述觀點,尤其是你自己的觀點。當其他條件都一樣(語義上地),不要拐彎抹角,直接準確地說某個事物是什麼,而不要去管它不是什麼。這個對於你自己的方法來說尤其如此。

組織

1.片語不是句子,句子不是段落,段落不是小節。 一個章節包括至少一個(或零個)小節。 一篇論文至少有一個章節。

一個作者糟糕的訊號就是,在一字未讀的時候,你就知道文章不好。 章節,就像PPT上的重點一樣應該是平衡的。如果你只是列出章節標題,他們需要與所屬的範圍一樣有意義。同樣的規則適用於所有的組織結構。有時一個段落可以只有2句話,但是更穩妥的做法是一個段落至少有三句話。

2.讀者應該只看圖或者不看圖就能理解你的論文

讀者應該能通過你的論文準確地瞭解你的研究,即使他們錯過了一些圖片裡的資料。任何重要的觀察或者技術細節一定要放在論文的正文裡,這樣就可以引用圖片來印證。

類似地,圖片應該與文章緊密相連。如果讀者跳過了圖片(審稿人會),他們應該有可以做到大致瞭解研究過程並且理解新發現的重要性。如果很難看出Y值越大結果越好還是Y值越小結果越好,那麼應該在插圖裡說明它。

但也不要太過,插圖說明不應該是一大段話。好的插圖說明應該在一到三行。 注意:在計算機視覺圈子,圖片十分難處理。有時一個圖片就會佔滿整個頁面,並且有100多個關於草稿中缺失的細節的單詞,我不喜歡這種風格,但是你要提交的會議是這種標準,你得自己決定。

3.迅速切入文章價值點

作為一名年輕的博士生,一個機器學習的圈外人,我很沮喪,因為只寫論文是不夠的,所以我嘗試讓圈外人能完全理解每篇論文。這讓我贏得了一些普通讀者,但是也導致了一些早期的會議投稿被拒。

對於會議論文來說首頁太冗長非常不利(期刊不太適用),因為以下原因:(1)審稿人在相似的領域,每個會議讀5-10篇論文,每年會讀50-100篇論文,太基礎的東西會讓他們覺得非常枯燥。(2)如果你做的工作在第5頁才開始(總共8頁),對於沒有達到審稿人的要求你就不應該有任何藉口。

有兩個關成敗的點:瞭解你的讀者並且聰明地排版。成句的摘要,成段的引言,成頁的論文應該能清楚地說明你的研究。

4.預估讀者的問題並在論文中回答它

一個好的審稿人會試圖提出批判性的問題來挑戰提交的文章,這個方法能成功可能是因為X嗎?如果答案是“我不知道”或者“不” 會很可怕。如果您能預見到這個問題而且知道答案,直接寫下來。如果你不知道,做實驗去找到答案。嚴謹的試驗和清晰的寫作緊密相連,我希望這個說法一針見血。

風格

1.科學論文中的“我們”

科學寫作中,用可數名詞“我們”敘述,有說教的作用:“我們”包含了“你(讀者)”和“我/我們(讀者)”。在這種情況下,當需要表達你的想法時,你需要通過上下文說清楚。

2.不要聽天由命

任何一個有資格的讀者閱讀完你的整篇文章,即使他們生活中不會分享你的觀點,方法或者價值,也不會單獨否認任何句子。“X方式比Y方式在大多數的資料集上表現更好” 大部分的什麼資料集?你的審稿人會不會選擇一些資料集,驗證發現是錯的?更好的方法是說“許多”資料集。這個定義更嚴謹而且更難反駁。

3.寧可少寫,不可錯寫

與上面相似:如果你不能100%確定你的判斷,就不要寫上去。審稿人很少會因為你少寫一兩句話拒絕你的論文,但是很容易因為結論寫錯而駁回。

語言

1.斷開長句

年輕人總是錯誤的以為句子寫得越長越能顯示出自己的水平。然而優秀的科學文獻作者卻更常用短句來寫作。當你絞盡腦汁想用一句話來表達你的觀點時,可能用多句話來表達更好一些。科技寫作的特點是越清晰明瞭越好,所以能簡潔就儘量簡潔。 你的論文的價值是其中精妙的觀點,而不是華麗的詞藻。

2.去掉用來強調的空洞的副詞

例如:極其、非常、難以置信、完全、幾乎、本質上、相當、絕對、肯定 等詞

這類詞之所以不好有以下兩點原因: (i) 它們削弱了自己用來強調的目的,例如: " algorithm X provides a tight approximation (演算法X給出了嚴格的近似解)"這樣的表達語氣是毋庸置疑的 , 而 “ algorithm X provides a very tight approximation (演算法X給出了非常嚴格的近似解) ”聽起來就有了一種不確定的感覺。 (ii) 這些詞使句子表達成為觀點(而不是事實)。“ Is the algorithm better? (這一演算法更優嗎?)”這種表達是可以的. “ Is it much better? (這一演算法好的多嗎?)” 這就是個人觀點了, 因此會帶來不必要的麻煩 (見上文AVOID HOSTAGE FORTUNE)。

主語、謂語和修飾語應該保持一致

寫作中一個常見的錯誤是把動詞和修飾詞用於錯誤的主語,例如, “the algorithm tries to X(演算法嘗試在X上使用)”, 或者 “ the data is biased(資料是有偏見的) ”。演算法不能用嘗試做動詞,因為它並不能思考。如果我們想表達想法或偏好這樣的動詞,應該用‘we’做主語,即它們是設計模型人的想法而不是演算法的想法。聽起來這是個常識性的錯誤,但是這樣不一致的錯誤存在於所有學科的學術寫作中。在一些領域中,例如機器學習的解釋性和公平性領域,因為還沒有標準化的定義,寫作時不注意上述問題會導致整個領域的發展受阻。

推論:每個行為都應明確其由何而來。沒有主語的動詞常常出現在被動語態中 (句中動詞是“to be”)。例如,“LSTMs are claimed to X, Y, Z(LSTMs被聲稱...)”是誰聲明瞭這一觀點? 最好能將這一資訊在其他地方說明。一種方法是加括號來註解,或者更好的方法是用直接引語來清楚的說明哪位作者聲明瞭這一觀點。

參考文獻

1.多引用文章

你應該引用的一些文章很有可能就是你的審稿人寫的文章。 一個常見的很無語的審稿意見就是有匿名審稿人問你為什麼沒有引用A\B\C的工作(其實全是一個人做的)。 所以不相關的工作就不要引用。但如果有相關的工作,一篇都別落下,這樣做百利而無一害。

這樣做潛在的兩點好處是: (1) 你收到審稿人生氣的回覆的概率降低  (2) 那些引文的作者可能是你以後想要合作的人,他們可能會看到你引用他們的文章從而去讀你的論文。

2.全文都要注意引用

審稿人通常都很懶也不能過目不忘。如果你的工作是基於別人的貢獻時, 注意不要只把引用寫在相關工作進展 這一部分 – 即在文獻中說明研究背景的那部分。 你文章中哪裡用到了前人提出的方法,就要把引用寫在哪。這點對於近幾年 (5-10年) 的文章尤為重要, 因為這些文章所講的內容還沒成為常識,因此人們會侷限性地把引文全寫在 相關工作進展部分。

3.寫滿引用頁

這是一個比較實用的技巧主要適用於限制引用頁數(通常1到2頁)的會議文章。 如果你忘記引用最相關的文獻,審稿人無論如何都不會放過你這一錯誤。 但是如果你遺漏了一些不是特別相關的文章,當他們提醒你時,你就可以藉口說沒地方寫那篇引文了。但是如果你的引文頁還空著,那就別指望審稿人會理解你了。

相關推薦

正在Paper如何在成千上萬arXiv論文脫穎而出

今天是1月28號,我現在應該正在完成我的論文,你應該也是!但是當我們可以不寫的時候為什麼要寫呢?ICML 的截止日期距今只有僅僅12天,KDD 緊隨其後。ACL, COLT, ECML, UAI, 和NIPS 所有的都在放暑假之前截止,時間安排很緊幾乎沒有放鬆的時候。

前端工程師面試利器!助在前端求職競爭脫穎而出

通過 由於 同學 基本功 認識 心態 進入 方案 清晰 在 ECMScript 的標準化演進和開源社區的蓬勃發展中,作為一名前端工程師,如何從越來越飽和的求職市場競爭中脫穎而出?如何融入環境勝任新的崗位?又該如何晉級成長,完成角色轉型? 與你分享前端工程師的面試、崗位適應、

大數據開發初學者如何讀懂大數據平臺

大數據 大數據學習 大數據開發 大數據編程 其實這就是想告訴你的大數據的三個發展方向,平臺搭建 優化 運維 監控、大數據開發 設計 架構、數據分析 挖掘。請不要問我哪個容易,哪個前景好,哪個錢多。 本文將從以下十個章節介紹大數據平臺,希望能給大數據開發初學者、愛好者一些支持。第一章:初識Had

jdk註釋系列之jdk1.6容器(1)ArrayList源碼解析

clone correct size 訪問 隨著 interface 指定 程序 最後一個元素 前言: 工作中經常聽到別人講“容器”,各種各樣的容器,話說到底什麽是容器,通俗的講“容器就是用來裝東西的器皿,比如:水桶就是用來盛水的,水桶就是一個容器。” ok,在我們寫程序的

jdk註釋系列之jdk1.6容器(2)LinkedList源碼解析

rem 右移 怎麽 修正 cts 但是 rep lis equals 前言: 本系列:給jdk寫註釋系列之jdk1.6容器(1)-ArrayList源碼解析 LinkedList是基於鏈表結構的一種List,在分析LinkedList源碼前有必要對鏈表結構進行說明。 1.鏈

Linux下用root許可權新增使用者,並使用者或使用者組指定目錄的讀許可權(比如tomcat檔案的讀許可權,可以用於新使用者部署專案)

目的: 在linux環境中為了安全起見,不能讓所有專案都用root部署(防止root許可權過大,對重要檔案的誤操作),所以新加使用者或使用者組,對新使用者或使用者組授予部分檔案操作的許可權。 1.建立使用者newuser,並設定密碼(預設連帶建立newuser組) # useradd n

則一例字元加單引號

有字串 :a,b,c,d 替換成  'a','b','c','d' preg_replace("/\w/","'$0'",'a,b,c,d')javascript版 "a,b,c,d".replace(/(\w)/g,

Hive面試題在工作自定義過的udf函式,簡述定義步驟

步驟: 1.extends UDF,實現evaluate() 2.add JAR /home/hadoop/hivejar/udf.jar; 3.create temporary function tolowercase as 'com.ghgj.hive.udf.ToLowerCa

一個不多於5位的整數,要求一、求它是幾位數,二、逆序打印出各位數字。

public class test{ public static void main(String[] args){ //最大為99999 fun(87666); } private static void fun(int n){ if(

一個不多於5位的整數,要求一、求它是幾位數,二、逆序打印出各位數字

//第一種方法: 對數取餘數     /*     int a = 0, i = 0;     printf("請輸入一個不多於5位的正整數:\n");     scanf("%d", &a);     printf("逆序為:\n");     while (a

題目一個不多於5位的整數,要求一、求它是幾位數,二、逆序打印出各位數字。

// Created by www.runoob.com on 15/11/9.// Copyright © 2015年 菜鳥教程. All rights reserved.//#include<stdio.h>int main(){long a,b,c,d,e,x; printf(

習題 4.9 一個不多於5位的整數,要求1. 求出它是幾位數;2. 分別輸出每一位數字;3. 按逆序輸出各位數字,例如原數為321,應輸出123。

C程式設計 (第四版) 譚浩強 習題4.9 個人設計 習題 4.9 給一個不多於5位的正整數,要求: 1. 求出它是幾位數; 2. 分別輸出每一位數字; 3. 按逆序輸出各位數字,例如原數為321,應輸出123。 程式碼塊:

一個不多於5位的整數,要求 (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123

4.9給一個不多於5位的正整數,要求: (1)求出它是幾位數 (2)分別輸出每一位數字 (3)按逆序輸出各位數字,例如原數為321,應輸出123 程式碼: #include “stdio.h” #include “math.h” int count(int n)

創業一年多的程式設計師,為夢想奮鬥的我們!

  從08年出來工作到現在,已經在IT圈摸爬滾打有將近10年;部落格園從當時在北京工作偶然間接觸,到後面跳槽、轉型做產品經理再到現如今創業開公司,都一直跟部落格園有不可割捨的聯絡。這應該源於骨子裡還是偏技術,或者說“程式設計師”應該算是身上無法磨滅的標籤。   看過“從程式設計師到產品經理再到自己創業的

【程式24】 題目一個不多於5位的整數,要求 一、求它是幾位數,二、逆序打印出各位數字。

/* 2017年3月8日9:41:34 java基礎50道經典練習題 例24 Athor: ZJY Purpose: 【程式24】 題目:給一個不多於5位的正整數,要求: 一、求它是

產品經理不懂放權使用者,活該叫“產品狗”

最近幾個以前公司帶的產品新人和我抱怨,說做產品好累,每天這麼多需求要處理,還要協調技術和運營,眼見產品新版本要發布的,感覺要尿了。 我說那你有沒有把產品的一部分工作分給你的忠實用戶呢? 小弟們瞬間傻眼了,什麼,產品的工作還能交給用戶,用戶不都是小白麼? 產品經理呀總是喜歡

【c語言】一個不多於5位的整數,要求 1、求出它是幾位數 2、分別輸出每一位數字 3、按逆序輸出各位數字

// 給一個不多於5位的正整數,要求: // 1、求出它是幾位數 // 2、分別輸出每一位數字 // 3、按逆序輸出各位數字 #include <stdio.h> #include <math.h> int main() { int a,b,c

一個不多於5位的整數,要求一、求它是幾位數,二、逆序打印出各位數字。 【注意 如果輸入的大於了5位數要求使用者重新輸入】

給一個不多於5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。【注意: 如果輸入的大於了5位數要求使用者重新輸入】def weishu(num): n=1 while True: num//=10 if(num==0

面試官我說一下項目的單點登錄是如何實現的?

分享圖片 .get 監聽 rec 返回 例子 比對 .exe 功能 一、單系統登錄機制 1、http無狀態協議 web應用采用browser/server架構,http作為通信協議。http是無狀態協議,瀏覽器的每一次請求,服務器會獨立處理,不與之前或之後的請求產生關聯,這

面試官一個認為比較“完美”的單例

單例模式是保證一個類的例項有且只有一個,在需要控制資源(如資料庫連線池),或資源共享(如有狀態的工具類)的場景中比較適用。如果讓我們寫一個單例實現,估計絕大部分人都覺得自己沒問題,但如果需要實現一個比較完美的單例,可能並沒有你想象中簡單。本文以主人公小雨的一次面試為背景,循序漸進地討論如何實現一個較為“完美”