做NLP演算法工程師是一種什麼樣的體驗,以及日常工作是什麼?

本題已收錄至知乎圓桌:機器之能 X 語言之美,更多「人工智慧」相關話題歡迎關注討論。

希望各位NLP演算法工程師不吝賜教


謝邀。

直觀上感覺NLP演算法工程師的體驗和演算法工程師的體驗相差不大,無非是NLP發展沒那麼迅猛,如果沒有實際的業務需求,NLP的變現 or 產品能力還不如其他幾個領域大,所以NLP工程師可能會面臨相對更多的挫敗吧,當然,也面臨著更多的機會。

那演算法工程師的體驗,其實很重要的兩點個人認為是積累和思考吧,平時多花點時間讀一讀paper復現一些實驗,並不會是在浪費你的績效和時間;問題的解決往往需要的是經驗和靈感,而這兩點往往都來自於積累和思考,所以在自己狀態最好的時候勤于思考,不要拘泥於時間、形式和地點,往往下班或者放鬆的時候最能激發靈感,所以保持對問題的關注度是比較重要的,不要在壓力下讓自己神經太緊張(當然,這些的前提是你做了足夠的積累)。

大概就這樣吧,體驗這種東西,總覺著有時候不好言述,所以,感興趣就入坑試試吧。

--------------------------

發現還有日常工作的提問,其實這個比較因人而異,根據從事領域的不同也差異很大吧,可以多參考一些大家的回復,然後內心提煉一下。


講道理我還是個學生。

據我了解簡單說一下幾個例子:

科大訊飛,經過很長時間的語音識別積累,公司在NLP領域也是厚積薄發,和政府已經教育部門合作較多,以學生作文來說有排比句識別、優美句子識別等,以及對客戶公司的產品的評論進行情感分類等。

阿里巴巴,知識庫的構建,實體識別,實體關係抽取等等是阿里NLP領域的一個重點。

搜狗,公司的自動問答系統產品化汪仔在一站到底節目上大放異彩,CCL2017南京時候王小川還演示了,非常重視這方面。


處於不同階段的公司,NLP演算法工程師的工作重心可能有所差異,但還是希望下面這張圖的簡介能對你有啟發。


您好,因為NLP的範圍很大,而且公司的發展階段不同工作也會不同,所以我只能說一下我做過的,主要負責知識圖譜部分,包括了知識圖譜的構建,知識的融合和知識的表示。

在構建知識圖譜時,每天的工作就是去和懂業務的同事聊!因為構建知識圖譜最重要的就是將業務抽象成實體,實體有很多屬性,還有實體和實體之間的關係,不了解業務的情況下真的做不了,舉個例子,如果做的是金融相關的知識圖譜,如果不了解基礎的專業辭彙你都不知道這是一個專業辭彙,還記得剛開始工作的時候就見到「白衣騎士」,可是我只知道白馬王子誒,當時也遇到了很多的笑話。當然聊完了我們不能忘記了正事,就是構建知識圖譜,知識圖譜的構建方法大部分也取決於業務,像Google,百度等大型知識圖譜的構建都是非限定的,面對的場景非常是非常複雜的,而對於一個有特定場景的項目例如一個智能家居機器人,他的場景就只有固定的那麼多,開個燈,放個音樂,打開空調,所以實體和關係都是有限的,對於這種場景下那麼準確性就非常重要,我想開個燈,你把微波爐打開了就不好了。因為題主主要問的是NLP工程師主要做什麼,就不去解釋太多具體的問題,我主要來回答主要做什麼,對於限定的知識圖譜有兩大類,第一大類就是使用語義關係來對實體和關係進行識別,那麼我和你講,如果公司決定用的是這種方法,那麼你就準備每天做100篇閱讀理解吧,關鍵還要帶著問題去做閱讀理解,就是要從文章中對語義關係進行歸類和總結,總結好的語義關係就要放在測試集中做測試,是否總結的對,總結的不對還要調整,這用周而復始直到滿足要求為止。第二大類就是使用一些機器學習對實體和關係進行識別,比較常用的就是CRF,如果公司決定用這種方法,那麼每天更多的就還是做閱讀理解,一邊做一遍問業務的同事,自己標註的對不對,當然如果公司有條件會讓懂業務的人來標註,那麼你的工作就是做一套比較好用的標註工具,當然市面上已經有一些標註工具了,如果業務的同事用的習慣就好,不習慣就要教他們,或者對標註工具進行一些友好性封裝。標註好了之後就是做測試,然後反反覆復的調整結果。現在兩種分類方式的邊界越來越模糊了,人們總結的語義規則和機器學習配合進行的半監督學習也很多,但是其實對於工程師的工作來說其實差不多。今天先寫這麼多,下次會完善知識圖譜融合和表示的工作。


1、看論文,思考與業務的結合點

2、demo實現,與產品溝通模型細節

3、根據業務需求修改模型,側重優化

4、開發線上模塊,優化性能

5、優化準確率召回率(業務上得準確率達到95%才敢上線)

以上是基本所有的演算法工程師都需要考慮的點,無論是nlp還是圖像。

NLP不同的地方只是在不同的業務需求(搜索,文本推薦,文本理解等),當然能力,論文方向(依存句法,知識圖譜等)等也會有所側重。


本人剛工作不到一年,日常工作如下:

1、清洗數據,主要是格式抓換,編碼轉換。

2、文本分類,主要用fasttext。

3、關鍵詞抽取,主要靠詞庫。

4、相似度排序,用word2vec。

5、上線,寫完介面,然後發布soap服務。

體驗:要學的東西很多,下到語言特性,上到演算法理論,學無止境啊。


讀論文 把論文里的idea 應用到實際項目 給出結論 循環往複

整了很久結果 negative 很受打擊


1. 處理數據

2. 寫規則

3. 演算法選擇,調試演算法

4. 測試系統

以上幾點永遠干不完


我在朝鮮做NLP的時候,體驗嘛很刺激,很爽,很開心,因為我喜歡做這個。

日常工作就是擼碼啊……對了,我是在一個可以看到聊天記錄(簡訊)的地方工作呢。

上午七點就要到情報中心打卡開電腦了,然後打開iterm連接伺服器,打開pycharm開始擼碼。

一般呢,我們要根據聊天內容判斷你的收入水平,然後給這些群啊人啊的分級打分,當然了我們有很多的訓練樣本。這些樣本都在資料庫裡面,我們是存在Hive。然後你要取出來數據,用pycharm搞起。自然是用TensorFlow了 ,word2vector走一波,LSTM接上,然後把結果呢寫入,HIve寫一份給其他同事用~Hbase寫一份直接線上調。

下午一般就是勞動啊,我們要掃地的,還要打掃中心,即使很趕緊也要掃的,不掃就要去挖煤。

吃完晚飯還要回來再上會兒班,也是擼碼啊。

我們有一個噴子分類器,大家工作壓力大啊,難免要在網上釋放一下自己嘛,控制不住就要噴人了。我們會把罵人的話和不是罵人的搞個模型分開,然後把經常罵人的人放在一個表裡,他們每次回復啊發文章啊,我們的都會找姐姐審核,審核是罵人,就給你刪掉,不是罵人就發出去……

然後時不時的會健個身啊,年紀大了腰腿不方便,不健身不行的,健身健身!看視頻健身!

周末我們也是有的,不過得補課啊,搞點非深度學習的NLP,怎麼理解詞性啊,標註啊,心裡學啊等等的。你要做語言,你一定得懂語言才行啊騷年。

就是這樣,其實沒啥好說的……唯一不好的就是我挺孤單的,朋友都去挖煤了,留我一個人寂寞的不行,你們誰想來?投個簡歷給我唄……


推薦閱讀:

tf.data是如何支持多線程的?為何會比基於queue的batch方案慢4到5倍?
data scientist 有什麼常見 machine learning 相關的面試問題?
將來用人工智慧管理網民是否可行?
能不能用機器學習征服耳機/音響玄學?
《TensorFlow實戰》和《TensorFlow:實戰google深度學習框架》兩本書有何異同?

TAG:人工智慧 | 演算法 | 機器學習 | 自然語言處理 | 深度學習DeepLearning |