1. 程式人生 > >2017年語義理解總結(一)

2017年語義理解總結(一)

2017年就這麼悄無聲息地過去了。在工業界,2016年是推薦的元年,2017年是中國的AI元年,這意味著路漫漫其修遠兮~,而學術界往往會超前於工業界,有些時候難免會一廂情願。過去的一年在nlp領域裡,知識圖譜的發展是最為耀眼的,最為尷尬的仍然是chatbot的多輪對話。知識圖譜底層更高於RDF層次的語言被提出並進行研究中,而學術界的玩票現象並沒有終止,比如在nlp領域裡研究GAN,強化學習等等,全都是扯淡,玩票兒……chatbot的對話策略以及評價標準目前工業界仍然茫然~

nlp的核心是語義理解,語義理解,一方面要有更加豐富的,靈活的,自適應能力強的語義表示,另一方面,又要有好的理解使用者對話的策略,完全依賴某一種技術手段,比如無限誇大深度學習是不切實際的的天真想法。在語義理解方面,歷來都是歸納總結能力和演繹推理能力結合,也就是深度學習和知識圖譜,語言規則,對話策略,狀態結合起來。因為語言屬於認知層面,要高於影象和語音的感知層面。本人相信,在語義理解方面,單純依靠聯結主義,很快就會遇到天花板(已經遇到了),這也是近幾年知識圖譜,多輪對話的狀態跟蹤,上下文建模越來越重要的原因。前面提到的第一方面,其實就是用深度學習學習語言的語義向量表示,不同的是,我提出了豐富,靈活和自適應這些關鍵性的詞語。有什麼不同呢,下文會有詳細論述。關於第二方面,由於本人剛接觸,不敢妄加評論,本paper主要論述第一方面,接下來進入重點。

關於第一方面,語義表示,獲取到它之後做相似度運算是nlp裡經常遇到的場景,我就把他作為切入點。語義表示,我個人有一條主線:詞語——>句子——>文章。先說詞語,詞語是一句話的基本單元,每個詞語對句子的語義貢獻度是不同的,很多詞語有歧義現象,個別詞語是不常見詞,每個詞語在句子中都有固定的位置和順序,詞語與詞語之間存在著近義,反義和不相關的關係。聯結主義如何捕捉到這些特性是詞語語義表示的研究方向!如果能捕捉到這些特性,將大大增加語義理解能力,這點是毋庸置疑的。我們先說一下著名的word2vector,看看他捕捉到了哪些特性,看看他有哪些缺陷,如何尋求改進。首先可以肯定的是,w2v解決了詞語之間的近義,反義問題,但是並不完美。解決詞語之間的關係,主要依靠上下文,每個詞語的語義,與他的上下文概率分佈是對應的,這是word2vector成功的地方,同時也是他失敗的地方:①對於多義詞,他的上下文概率分佈是多個,不是單一的,而word2vector的建模,顯然是hard的②在建模時沒有考慮到上下文的順序,比如A:謝霆鋒的爸爸是誰?B:謝霆鋒是誰的爸爸?這兩句中的爸爸是不同的含義,w2v是無能為力的。除此之外,詞語的語義平滑處理,增加自適應能力也是必要的。另外,在訓練過程中,由於語料分佈的不均勻性,必然會出現語義傾斜問題,這是不可抗拒的因素(在機器學習訓練中,資料傾斜是常見的現象)。基於以上問題,提出以下改進方案:①用高斯混合分佈改進w2v的建模,讓獲取的詞語向量表示能夠做到上下文交叉②基於第一點,在此基礎上融合TF_IDF思想,進行語義平滑處理,並且在有必要的情況下進行降維處理,注意,我這裡強調的是必要的情況下,也就是不是必須的,看場景,因為在情感分析中,他不是必須的③關於上下文的順序問題,目前還只能與RNN結合,並沒有成型的方案出來。以前在多義詞的理解上,更多的是用CRF進行序列化識別,大量依賴人工語義標註,如果能在語義表示上獲得突破,實現非監督學習的預測,是最佳的。比如蘋果這個詞,他可能是電腦,手機,logo等等。如果在一句話中,比如我想吃蘋果,用高斯混合分佈模型做出的w2v就可以捕捉到蘋果的多個上下文的概率分佈,吃是它的上文,這麼簡短的句子,把他的上文吃和蘋果本身累加起來就可以了,不用全部累加,然後與電腦,水果,手機的詞的embedding做元積,運用非監督學習的方法就可以識別出來他的語義了。這是本人理論上的猜想,2018年將重點攻破這個難題。另外一方面,過去一年SIF的提出,有可借鑑的地方,用非監督學習方法做句子的語義表示,下面我們來說說句子語義表示。

關於句子的語義表示,大多是監督學習方法,而SIF是非監督學習方法。仍然以A:謝霆鋒的爸爸是誰?B:謝霆鋒是誰的爸爸?為例,如果用SIF做相似度運算的話,這兩句話的語義是相同的,是不是很失敗?沒錯,任何一個演算法都有他的缺陷和適用場景!對於初學者來說,對於演算法的理解,前期可能更加關注於公式推導上面,其實他不是演算法的核心。本人認為,一個演算法的提出,一定是先有場景和需求,或者是前面的演算法有改進的空間。場景高於演算法這點是毋庸置疑的。因為SIF仍然依賴於w2v,也就是說SIF改進w2v的同時也繼承了他的缺點,呵呵。對於詞語上下文的順序,目前只能依賴於RNN。RNN模型裡,最著名的就是LSTM和BiLSTM了,他的效能瓶頸是句子長度超過30步以後,記憶能力直線下降,原因是大家都會的BPTT。也就是LSTM只是緩解了RNN的記憶消失問題,沒有從根本上解決,因為這個東西無法根本解決。人在閱讀長文字的時候,也存在記憶消失,這是正常現象。說到這裡,很多人想到了attention model,沒錯!過去一年,谷歌釋出了Attention is all you need的paper,並且開源了程式碼,關於Hierarchical attention的paper,dual global and local attention的研究都是熱點。在情感分析,個性化推薦,摘要領域裡大放異彩。注意力的對齊模型的改進,進展也很迅速。global 和local attention分別捕捉句子的全域性特徵的區域性特徵,在語義理解方面是非常必要的。比如A使用者購買一條裙子後,釋出了評論:整體情況還是可以的,雖然這條裙子有點兒小瑕疵,但是,我很喜歡她的顏色,感覺特別溫暖。然後給了4分。接下來,B使用者也買了同樣的裙子,評論:這條裙子穿起來特別舒服,真心喜歡它的布料,摸起來超好。然後也給了4分。大家有沒有注意到,前面提到2016年才是中國的搜尋推薦元年,為什麼這麼晚?之前的傳統的基於內容的推薦,基於協同過濾的演算法,FP_GROWTH增長樹,ALS矩陣分解等等演算法,都無法真正做到個性化。why?目前的國內的個性化推薦,還很初級,挑戰還是很大的。我說一下我個人對個性化的看法。

關於個性化,我個人的理解是,比如A和B同時喜歡一個視訊,A使用者是喜歡它裡面的插曲,比如蓮花爭霸裡面的笑紅塵,B使用者喜歡裡面的孫二孃的妹妹,長得漂亮。如果你用傳統的演算法, 捕捉到了使用者瀏覽過這個視訊很多次,然後就天真地認為使用者喜歡武俠視訊,給他瘋狂地推薦這種型別的視訊,我想使用者是崩潰的,即使使用者有了類似於上面的評論,你做情感分析預測,如果不能捕捉句子語義的多個維度,也是失敗的。why?很多使用者使用了今日頭條時間久了都疲乏了,感覺推薦的東西都不太適合。現在我要正式地闡述一下本人對個性的理解:1.推薦的本質是使用者特徵和商品特徵的語義相似度問題,沒錯,我把它歸類於nlp中的語義相似度範疇,而並不是粗糙地分類問題。2.既然是語義相似度問題,如何捕捉到兩者的特徵是關鍵,這關係到個性化。所謂個性化,本人認為,因為使用者是活人,不是死的,其興趣必然會變化,而且個人喜好不同,就像上面的,A打4分,B使用者也打4分,但是明顯B使用者非常喜歡那條裙子。個性化就是要捕捉到:①時序性:使用者的興趣變化②個人習慣特徵:差異化。如果在特徵抽取時把這兩點結合起來,分別得到使用者和商品的語義表示,做到動態變化的模型,然後做語義相似度運算,效果一定高於傳統的cf。比如前面提到的是視訊,如果能做到針對不同的使用者,抽取出不同的區域性特徵,比如A使用者喜歡裡面的插曲,B使用者喜歡裡面的演員顏值,還有雖然都是打4分,但是情感傾向明顯不同。這些問題,現有的技術可以嘗試和解決,只不過需要方案和技術整合。

再回到句子的語義表示問題,有了這些表示,接下來可以進行語義相似度運算了。過去一年,SIF和siamese lstm表現優異。先說場景:我們做句子語義相似度運算,達到的效果是相似度為85%,91%等等,並不是粗糙地分類為0和1這麼簡單!因此convnet,DSSM等根本達不到我的要求,不能達到 state of the art。去年在siamese lstm的實驗裡,這個模型的核心是需要保留的,但還是有些粗糙,需要引入attention model(self_attention),進一步提升語義理解的能力,不做詳細論述了。

下面到篇章的語義。過去一年,文章摘要的研究進展緩慢一些,之前本人提出的方案為siamese lstm + hierarchical attention,本質為:①上下文壓縮②語義相似度運算。這是典型的抽取式的摘要。但實際上,有很多機器寫作的需求,比如代替人工寫新聞,諮詢。或者是複述,這都屬於生成式的摘要。而本人的研究方向為兩者結合。對於一些相對較短的新聞資訊,抽取式的可以滿足,而且目前抽取式的比生成式的容易一些,準確率也高。

以上是對語義表示的簡單總結,語義理解除了語義表示和相似度運算外,今後更多的場景是與知識圖譜融合,與語言邏輯結合,依賴多輪對話,slot填充策略,DST,DM,這也是今年的研究重點。總結起來,今年要做的研究:①個性化推薦的突破②高斯混合分佈的w2v模型改進,非監督學習的語義理解③抽取式的和生成式的摘要結合。在自然語言生成這塊兒,重點突破seq2seq生成語句的可讀性。

 語義理解是複雜的,是一個完整的生態圈兒,需要研發平臺級別的,而不是簡簡單單一個音箱之類的。這意味著,做產品的AI創業公司,是遊走在邊緣的,很容易被淘汰。好了,到此為止,不多說了。

相關推薦

2017語義理解總結()

2017年就這麼悄無聲息地過去了。在工業界,2016年是推薦的元年,2017年是中國的AI元年,這意味著路漫漫其修遠兮~,而學術界往往會超前於工業界,有些時候難免會一廂情願。過去的一年在nlp領域裡,知識圖譜的發展是最為耀眼的,最為尷尬的仍然是chatbot的多輪對話。知識圖譜底層更高於RDF層次的語言被提出

2017語義理解總結(二)

前面的部落格進行了總述,這篇部落格細化深入,主要結合知識圖譜,KB_QA,語義表示的豐富性方面來論述,但是仍然會很寬泛,因為在部落格裡將具體的技術細節,沒有太大意義,需要發論文。前面提到,語義理解,一方面要獲取豐富,靈活的語義表示,另一方面要與知識圖譜融合。要想獲取精準的語義理解,比如誰是第一個為紙牌屋裡的x

20176月總結 7月計劃

swt git 循環 redis 陰陽師 添加 如果 缺少 知識點 時間過得真快,今年1月份的時候我肯定想不到現在的我是什麽樣,處於什麽境地。 六月份總來說過得不怎麽樣,很多事情沒有做,光顧著打陰陽師和王者了。遊戲消耗我太多時間,醒悟過來已經過去一個月了。 總結一下,六月份

2017道縣城區小學年級新生入學通告》發布p7

中興 bnl omv ax1 失敗 下午 入學 pdb fsp 《2017年道縣城區小學一年級新生入學通告》發布   驚險升級 翼裝俠將從頭頂掠過   8月25日,我和縣委辦、縣扶貧辦、縣農委的同誌於下午3時驅車前往瀟浦鎮向光村調研脫貧攻堅,在愛鋪路上,驕陽似火,一想到貧

一個月亮和 二 x 六個便士 ——2017StatLee年度總結

2017 年度 總結 2017年度總結標題出自《月亮與六便士》,我在17年3月份看的一本書,本來想著一月份寫好發布的,但是你們從去年一年我就發布了四篇技術文章可以看得出,我幾乎每三個月才有一次時間來梳理自己的思路跟整理文章,因為時間寶貴,所以我就把我2017年記錄到的所有靈感,盡可能通過文字的方式

2018-09-09(同花順2017筆試題目總結

1:常用的客戶區滑鼠訊息有哪些? 滑鼠訊息分為三類: 命中測試訊息 客戶區滑鼠訊息 非客戶區滑鼠訊息 客戶區滑鼠資訊(10個): 左:WM_LBUTTONDOWN WM_LBUTTONUP WM_

2017上半年個人總結

這學期,考的幾門成績都出來了,成績還是一如既往的差,好幾科都是70多分,這也跟自己平時沒有好好去上課,和考試前沒有好好複習也有一定的關係。不過呢,也沒什麼大不了的,畢業的績點還是夠的,畢竟從大一開始就沒有打算考研。說到考試,可以說我是極其反對這種形式,在我看來,因為有了考試

【小紅書2017筆試】求個數組中平均數最大的子陣列

 題目:   * 給一個數組,裡邊有N個整數,找長度為K(0<K<N)且平均值最大的子陣列,並把這個最大值輸出來 輸入描述:* 6 (N的值)* 1 12 -5 -6 50 3 (含有N個整數的陣列)* 4 (K的值) 輸出描述: * 12.75 題目很簡單,時

2017android面試總結

1.android的四大元件  activity:一個activity通常是一個單獨的視窗,activity通過Intent進行通訊,每個activity都要在AndroidMainfest.xml配置檔案中宣告。  service: (1)service用於在後臺完成使

20177月總結

這一個月可把我愁壞了,顯示搭建spark-kafka環境,然後是學習scala語言,寫scala寫到最後一步發現還需要使用redis, 這都過去了2周多了,愁啊。 然後把最後一點任務轉交給同事又撲到了xapi的研究上。先是搞清楚如何xapi客戶端,然後要修改,要編譯程式設計

2017最後周工作總結

什麽 織夢 知識 一個 添加 收獲 基本 思考 知識點 在剛剛結束的一周工作中,最開心的就是又學到了一些新的知識點。最大的收獲就是學會了如何在後臺新建模型以及在模型中添加自定義字段最後如何在模板當中調取自定義字段。 因為本周做的一個頁面當中有治療前和治療後的對比圖和治療前、

2017IT人年終總結,一個都不知道的你這就白過了

作者:程式猿(ID:imkuqin) 猿妹移動互聯時代,每天都會湧現大量新詞熱詞,我們IT圈也不

2017-應屆畢業生面試總結

1 前文 從2016年暑假開始準備面試,一直到9月底,面試完成,工作定下來,算是安心了。 首先說說結果吧。結果還是自己挺滿意的,被騰訊公司錄用,拋開薪資什麼的不說,能進入大公司是我的小目標!自己還是很開心的。 動筆寫這篇部落格,已經是12月中旬了。之前一

老男孩教育每日題-20175月7日-加餐-linux下面如何實現,執行rm命令,就顯示do not use rm command

linux別名 每日一題 1.題目-老男孩教育每日一題-2017年5月7日-加餐-linux下面如何實現,執行rm命令,就顯示do not use rm command2.要求結果[[email protected]/* */ ~]# rm do not use rm command3.答

老男孩教育每日題-20175月9日-vim命令粘貼帶#號或註釋信息格式會出現混亂情況怎麽辦

vim/vi粘貼 每日一題 格式混亂 1.題目老男孩教育每日一題-2017年5月9日-vim編輯器使用知識點:vim命令粘貼帶#號或註釋信息格式會出現混亂情況,有什麽方法進行解決?問題說明:每次復制代碼時,如果代碼裏有 //或# 這樣的註釋就容易讓格式亂掉,顯示的內容不整齊,並不是所期望的顯示格式

2017山東省ACM省賽總結

來看 其他 偉大的 之間 。。 bug 暑假 引導 問心無愧 2017年山東省ACM省賽總結

老男孩教育每日題-20175月12日-磁盤知識點:linux系統中LVM配置實現方法?

邏輯卷管理 磁盤 每日一題 1.題目老男孩教育每日一題-2017年5月12日-磁盤知識點:linux系統中LVM配置實現方法?2.參考答案01:將一個或多個物理分區創建為一個PV# pvcreate /dev/sdb{1,2} Physical volume "/dev/sdb1" success

老男孩教育每日題-20175月18日-說說|(管道)與|xargs(管道xargs)的區別

管道 每日一題 管道xargs 1.題目老男孩教育每日一題-2017年5月18日-說說|(管道)與|xargs(管道xargs)的區別2.參考答案find |xargs ls -ld##把前一個命令的結果,通過管道傳遞給後面的命令(ls -ld),傳遞的是文件名find | 命令 ##把

老男孩教育每日題-20175月19日-使用find命令的時候 |xargs(管道xargs)與-exe有什麽區別?

打包壓縮 xargs g管道 exec 每日一題 1.題目老男孩教育每日一題-2017年5月19日-使用find命令的時候 |xargs(管道xargs)與-exe有什麽區別?2.參考答案一般來說這兩個參數或命令是一樣的。可是在一些情況下尤其是打包壓縮的時候差別就很大了。find /old

老男孩教育每日題-20175月22日-命令風暴:變量a=’a/b/c’如何截取得到c

linux三劍客 每日一題 取字符串 1.題目老男孩教育每日一題-2017年5月22日-命令風暴:變量a=’a/b/c’如何截取得到c2.參考答案系統環境[[email protected]/* */ ~]# uname -r2.6.32-504.el6.x86_64 [[email&