![Deep Learning in NLP 詞向量與語言模型_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0d1d54a0-b9a5-4c34-921b-95dcc5ce6197/0d1d54a0-b9a5-4c34-921b-95dcc5ce61971.gif)
![Deep Learning in NLP 詞向量與語言模型_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0d1d54a0-b9a5-4c34-921b-95dcc5ce6197/0d1d54a0-b9a5-4c34-921b-95dcc5ce61972.gif)
![Deep Learning in NLP 詞向量與語言模型_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0d1d54a0-b9a5-4c34-921b-95dcc5ce6197/0d1d54a0-b9a5-4c34-921b-95dcc5ce61973.gif)
![Deep Learning in NLP 詞向量與語言模型_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0d1d54a0-b9a5-4c34-921b-95dcc5ce6197/0d1d54a0-b9a5-4c34-921b-95dcc5ce61974.gif)
![Deep Learning in NLP 詞向量與語言模型_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/18/0d1d54a0-b9a5-4c34-921b-95dcc5ce6197/0d1d54a0-b9a5-4c34-921b-95dcc5ce61975.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Deep Learning in NLP (一)詞向量和語言模型Posted on 2013 年 7 月 29 日 這篇博客是我看了半年的論文后,自己對 Deep Learning 在 NLP 領(lǐng)域中應(yīng)用的理解和總結(jié),在此分享。其中必然有局限性,歡迎各種交流,隨便拍。Deep Learning 算法已經(jīng)在圖像和音頻領(lǐng)域取得了驚人的成果,但是在 NLP 領(lǐng)域中尚未見到如此激動(dòng)人心的結(jié)果。關(guān)于這個(gè)原因,引一條我比較贊同的微博。王威廉:Steve Renals算了一下icassp錄取文章題目中包含deep learning的數(shù)量,發(fā)現(xiàn)有44篇,而naacl則有0篇。有一種說法是,語言(詞、句子、篇章
2、等)屬于人類認(rèn)知過程中產(chǎn)生的高層認(rèn)知抽象實(shí)體,而語 音和圖像屬于較為底層的原始輸入信號,所以后兩者更適合做deep learning來學(xué)習(xí)特征。2013年3月4日 14:46第一句就先不用管了,畢竟今年的 ACL 已經(jīng)被灌了好多 Deep Learning 的論文了。第二句我很認(rèn)同,不過我也有信心以后一定有人能挖掘出語言這種高層次抽象中的本質(zhì)。不論最后這種方法是不是 Deep Learning,就目前而言,Deep Learning 在 NLP 領(lǐng)域中的研究已經(jīng)將高深莫測的人類語言撕開了一層神秘的面紗。我覺得其中最有趣也是最基本的,就是“詞向量”了。將詞用“詞向量”的方式表示可謂是將 Deep
3、 Learning 算法引入 NLP 領(lǐng)域的一個(gè)核心技術(shù)。大多數(shù)宣稱用了 Deep Learning 的論文,其中往往也用了詞向量。本文目錄:0. 詞向量是什么1. 詞向量的來歷2. 詞向量的訓(xùn)練2.0 語言模型簡介2.1 Bengio 的經(jīng)典之作2.2 C&W 的 SENNA2.3 M&H 的 HLBL2.4 Mikolov 的 RNNLM2.5 Huang 的語義強(qiáng)化2.999 總結(jié)3. 詞向量的評價(jià)3.1 提升現(xiàn)有系統(tǒng)3.2 語言學(xué)評價(jià)參考文獻(xiàn) 0. 詞向量是什么自然語言理解的問題要轉(zhuǎn)化為機(jī)器學(xué)習(xí)的問題,第一步肯定是要找一種方法把這些符號數(shù)學(xué)化。NLP 中最直觀,也是到目
4、前為止最常用的詞表示方法是 One-hot Representation,這種方法把每個(gè)詞表示為一個(gè)很長的向量。這個(gè)向量的維度是詞表大小,其中絕大多數(shù)元素為 0,只有一個(gè)維度的值為 1,這個(gè)維度就代表了當(dāng)前的詞。舉個(gè)栗子,“話筒”表示為 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 .“麥克”表示為 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 .每個(gè)詞都是茫茫 0 海中的一個(gè) 1。這種 One-hot Representation 如果采用稀疏方式存儲,會是非常的簡潔:也就是給每個(gè)詞分配一個(gè)數(shù)字 ID。比如剛才的例子中,話筒記為 3,麥克記為 8(假設(shè)從
5、0 開始記)。如果要編程實(shí)現(xiàn)的話,用 Hash 表給每個(gè)詞分配一個(gè)編號就可以了。這么簡潔的表示方法配合上最大熵、SVM、CRF 等等算法已經(jīng)很好地完成了 NLP 領(lǐng)域的各種主流任務(wù)。當(dāng)然這種表示方法也存在一個(gè)重要的問題就是“詞匯鴻溝”現(xiàn)象:任意兩個(gè)詞之間都是孤立的。光從這兩個(gè)向量中看不出兩個(gè)詞是否有關(guān)系,哪怕是話筒和麥克這樣的同義詞也不能幸免于難。Deep Learning 中一般用到的詞向量并不是剛才提到的用 One-hot Representation 表示的那種很長很長的詞向量,而是用 Distributed Representation(不 知道這個(gè)應(yīng)該怎么翻譯,因?yàn)檫€存在一種叫“Di
6、stributional Representation”的表示方法,又是另一個(gè)不同的概念)表示的一種低維實(shí)數(shù)向量。這種向量一般長成這個(gè)樣子:0.792, 0.177, 0.107, 0.109, 0.542, .。維度以 50 維和 100 維比較常見。這種向量的表示不是唯一的,后文會提到目前計(jì)算出這種向量的主流方法。(個(gè)人認(rèn)為)Distributed representation 最大的貢獻(xiàn)就是讓相關(guān)或者相似的詞,在距離上更接近了。向量的距離可以用最傳統(tǒng)的歐氏距離來衡量,也可以用 cos 夾角來衡量。用這種方式表示的向量,“麥克”和“話筒”的距離會遠(yuǎn)遠(yuǎn)小于“麥克”和“天氣”??赡芾硐肭闆r下“
7、麥克”和“話筒”的表示應(yīng)該是完全一樣的, 但是由于有些人會把英文名“邁克”也寫成“麥克”,導(dǎo)致“麥克”一詞帶上了一些人名的語義,因此不會和“話筒”完全一致。1. 詞向量的來歷Distributed representation 最早是 Hinton 在 1986 年的論文Learning distributed representations of concepts中提出的。雖然這篇文章沒有說要將詞做 Distributed representation,(甚至我很無厘頭地猜想那篇文章是為了給他剛提出的 BP 網(wǎng)絡(luò)打廣告,)但至少這種先進(jìn)的思想在那個(gè)時(shí)候就在人們的心中埋下了火種,到 2000
8、年之后開始逐漸被人重視。Distributed representation 用來表示詞,通常被稱為“Word Representation”或“Word Embedding”,中文俗稱“詞向量”。真的只能叫“俗稱”,算不上翻譯。半年前我本想翻譯的,但是硬是想不出 Embedding 應(yīng)該怎么翻譯的,后來就這么叫習(xí)慣了-_-| 如果有好的翻譯歡迎提出。Embedding 一詞的意義可以參考維基百科的相應(yīng)頁面(鏈接)。后文提到的所有“詞向量”都是指用 Distributed Representation 表示的詞向量。如果用傳統(tǒng)的稀疏表示法表示詞,在解決某些任務(wù)的時(shí)候(比如構(gòu)建語言模型)會造成維
9、數(shù)災(zāi)難Bengio 2003。使用低維的詞向量就沒這樣的問題。同時(shí)從實(shí)踐上看,高維的特征如果要套用 Deep Learning,其復(fù)雜度幾乎是難以接受的,因此低維的詞向量在這里也飽受追捧。同時(shí)如上一節(jié)提到的,相似詞的詞向量距離相近,這就讓基于詞向量設(shè)計(jì)的一些模型自帶平滑功能,讓模型看起來非常的漂亮。2. 詞向量的訓(xùn)練要介紹詞向量是怎么訓(xùn)練得到的,就不得不提到語言模型。到目前為止我了解到的所有訓(xùn)練方法都是在訓(xùn)練語言模型的同時(shí),順便得到詞向量的。這也比較容易理解,要從一段無標(biāo)注的自然文本中學(xué)習(xí)出一些東西,無非就是統(tǒng)計(jì)出詞頻、詞的共現(xiàn)、詞的搭配之類的信息。而要從自然文本中統(tǒng)計(jì)并建立一個(gè) 語言模型,無
10、疑是要求最為精確的一個(gè)任務(wù)(也不排除以后有人創(chuàng)造出更好更有用的方法)。既然構(gòu)建語言模型這一任務(wù)要求這么高,其中必然也需要對語言進(jìn)行更 精細(xì)的統(tǒng)計(jì)和分析,同時(shí)也會需要更好的模型,更大的數(shù)據(jù)來支撐。目前最好的詞向量都來自于此,也就不難理解了。這里介紹的工作均為從大量未標(biāo)注的普通文本數(shù)據(jù)中無監(jiān)督地學(xué)習(xí)出詞向量(語言模型本來就是基于這個(gè)想法而來的),可以猜測,如果用上了有標(biāo)注的語料,訓(xùn)練詞向量的方法肯定會更多。不過視目前的語料規(guī)模,還是使用未標(biāo)注語料的方法靠譜一些。詞向量的訓(xùn)練最經(jīng)典的有 3 個(gè)工作,C&W 2008、M&H 2008、Mikolov 2010。當(dāng)然在說這些工作之前,不
11、得不介紹一下這一系列中 Bengio 的經(jīng)典之作。2.0 語言模型簡介插段廣告,簡單介紹一下語言模型,知道的可以無視這節(jié)。語言模型其實(shí)就是看一句話是不是正常人說出來的。這玩意很有用,比如機(jī)器翻譯、語音識別得到若干候選之后,可以利用語言模型挑一個(gè)盡量靠譜的結(jié)果。在 NLP 的其它任務(wù)里也都能用到。語言模型形式化的描述就是給定一個(gè)字符串,看它是自然語言的概率 P(w1,w2,wt)。w1 到 wt 依次表示這句話中的各個(gè)詞。有個(gè)很簡單的推論是:P(w1,w2,wt)=P(w1)×P(w2|w1)×P(w3|w1,w2)××P(wt|w1,w2,wt1)常用的
12、語言模型都是在近似地求 P(wt|w1,w2,wt1)。比如 n-gram 模型就是用 P(wt|wtn+1,wt1) 近似表示前者。順便提一句,由于后面要介紹的每篇論文使用的符號差異太大,本博文里嘗試統(tǒng)一使用 Bengio 2003 的符號系統(tǒng)(略做簡化),以便在各方法之間做對比和分析。2.1 Bengio 的經(jīng)典之作用神經(jīng)網(wǎng)絡(luò)訓(xùn)練語言模型的思想最早由百度 IDL 的徐偉于 2000 提出。(感謝 余凱_西二旗民工 博士指出。)其論文Can Artificial Neural Networks Learn Language Models?提出一種用神經(jīng)網(wǎng)絡(luò)構(gòu)建二元語言模型(即 P(wt|wt
13、1))的方法。文中的基本思路與后續(xù)的語言模型的差別已經(jīng)不大了。訓(xùn)練語言模型的最經(jīng)典之作,要數(shù) Bengio 等人在 2001 年發(fā)表在 NIPS 上的文章A Neural Probabilistic Language Model。當(dāng)然現(xiàn)在看的話,肯定是要看他在 2003 年投到 JMLR 上的同名論文了。Bengio 用了一個(gè)三層的神經(jīng)網(wǎng)絡(luò)來構(gòu)建語言模型,同樣也是 n-gram 模型。如圖1。圖1(點(diǎn)擊查看大圖)圖中最下方的 wtn+1,wt2,wt1 就是前 n1 個(gè)詞?,F(xiàn)在需要根據(jù)這已知的 n1 個(gè)詞預(yù)測下一個(gè)詞 wt。C(w) 表示詞 w 所對應(yīng)的詞向量,整個(gè)模型中使用的是一套唯一的詞向
14、量,存在矩陣 C(一個(gè) |V|×m 的矩陣)中。其中 |V| 表示詞表的大?。ㄕZ料中的總詞數(shù)),m 表示詞向量的維度。w 到 C(w) 的轉(zhuǎn)化就是從矩陣中取出一行。網(wǎng)絡(luò)的第一層(輸入層)是將 C(wtn+1),C(wt2),C(wt1) 這 n1 個(gè)向量首尾相接拼起來,形成一個(gè) (n1)m 維的向量,下面記為 x。網(wǎng)絡(luò)的第二層(隱藏層)就如同普通的神經(jīng)網(wǎng)絡(luò),直接使用 d+Hx 計(jì)算得到。d 是一個(gè)偏置項(xiàng)。在此之后,使用 tanh 作為激活函數(shù)。網(wǎng)絡(luò)的第三層(輸出層)一共有 |V| 個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn) yi 表示 下一個(gè)詞為 i 的未歸一化 log 概率。最后使用 softmax 激活函
15、數(shù)將輸出值 y 歸一化成概率。最終,y 的計(jì)算公式為:y=b+Wx+Utanh(d+Hx)式子中的 U(一個(gè) |V|×h 的矩陣)是隱藏層到輸出層的參數(shù),整個(gè)模型的多數(shù)計(jì)算集中在 U 和隱藏層的矩陣乘法中。后文的提到的 3 個(gè)工作,都有對這一環(huán)節(jié)的簡化,提升計(jì)算的速度。式子中還有一個(gè)矩陣 W(|V|×(n1)m),這個(gè)矩陣包含了從輸入層到輸出層的直連邊。直連邊就是從輸入層直接到輸出層的一個(gè)線性變換,好像也是神經(jīng)網(wǎng)絡(luò)中的一種常用技巧(沒有仔細(xì)考察過)。如果不需要直連邊的話,將 W 置為 0 就可以了。在最后的實(shí)驗(yàn)中,Bengio 發(fā)現(xiàn)直連邊雖然不能提升模型效果,但是可以少一半
16、的迭代次數(shù)。同時(shí)他也猜想如果沒有直連邊,可能可以生成更好的詞向量?,F(xiàn)在萬事俱備,用隨機(jī)梯度下降法把這個(gè)模型優(yōu)化出來就可以了。需要注意的是,一般神經(jīng)網(wǎng)絡(luò)的輸入層只是一個(gè)輸入值,而在這里,輸入層 x 也是參數(shù)(存在 C 中),也是需要優(yōu)化的。優(yōu)化結(jié)束之后,詞向量有了,語言模型也有了。這樣得到的語言模型自帶平滑,無需傳統(tǒng) n-gram 模型中那些復(fù)雜的平滑算法。Bengio 在 APNews 數(shù)據(jù)集上做的對比實(shí)驗(yàn)也表明他的模型效果比精心設(shè)計(jì)平滑算法的普通 n-gram 算法要好 10% 到 20%。在結(jié)束介紹 Bengio 大牛的經(jīng)典作品之前再插一段八卦。在其 JMLR 論文中的未來工作一段,他提了
17、一個(gè)能量函數(shù),把輸入向量和輸出向量統(tǒng)一考慮,并以最小化能量函數(shù)為目標(biāo)進(jìn)行優(yōu)化。后來 M&H 工作就是以此為基礎(chǔ)展開的。他提到一詞多義有待解決,9 年之后 Huang 提出了一種解決方案。他還在論文中隨口(不是在 Future Work 中寫的)提到:可以使用一些方法降低參數(shù)個(gè)數(shù),比如用循環(huán)神經(jīng)網(wǎng)絡(luò)。后來 Mikolov 就順著這個(gè)方向發(fā)表了一大堆論文,直到博士畢業(yè)。大牛就是大牛。2.2 C&W 的 SENNARonan Collobert 和 Jason Weston 在 2008 年的 ICML 上發(fā)表的A Unified Architecture for Natural L
18、anguage Processing: Deep Neural Networks with Multitask Learning里面首次介紹了他們提出的詞向量的計(jì)算方法。和上一篇牛文類似,如果現(xiàn)在要看的話,應(yīng)該去看他們在 2011 年投到 JMLR 上的論文Natural Language Processing (Almost) from Scratch。文中總結(jié)了他們的多項(xiàng)工作,非常有系統(tǒng)性。這篇 JMLR 的論文題目也很霸氣?。簭念^開始搞 NLP。他們還把論文所寫的系統(tǒng)開源了,叫做 SENNA(主頁鏈接),3500 多行純 C 代碼也是寫得非常清晰。我就是靠著這份代碼才慢慢看懂這篇論文的。
19、可惜的是,代碼只有測試部分,沒有訓(xùn)練部分。實(shí)際上 C&W 這篇論文主要目的并不是在于生成一份好的詞向量,甚至不想訓(xùn)練語言模型,而是要用這份詞向量去完成 NLP 里面的各種任務(wù),比如詞性標(biāo)注、命名實(shí)體識別、短語識別、語義角色標(biāo)注等等。由于目的的不同,C&W 的詞向量訓(xùn)練方法在我看來也是最特別的。他們沒有去近似地求 P(wt|w1,w2,wt1),而是直接去嘗試近似 P(w1,w2,wt)。在實(shí)際操作中,他們并沒有去求一個(gè)字符串的概率,而是求窗口連續(xù) n 個(gè)詞的打分 f(wtn+1,wt1,wt)。打分 f 越高的說明這句話越是正常的話;打分低的說明這句話不是太合理;如果是隨機(jī)把幾
20、個(gè)詞堆積在一起,那肯定是負(fù)分(差評)。打分只有相對高低之分,并沒有概率的特性。有了這個(gè)對 f 的假設(shè),C&W 就直接使用 pair-wise 的方法訓(xùn)練詞向量。具體的來說,就是最小化下面的目標(biāo)函數(shù)。xXwDmax0,1f(x)+f(x(w)X 為訓(xùn)練集中的所有連續(xù)的 n 元短語,D 是整個(gè)字典。第一個(gè)求和枚舉了訓(xùn)練語料中的所有的 n 元短語,作為正樣本。第二個(gè)對字典的枚舉是構(gòu)建負(fù)樣本。x(w) 是將短語 x 的最中間的那個(gè)詞,替換成 w。 在大多數(shù)情況下,在一個(gè)正常短語的基礎(chǔ)上隨便找個(gè)詞替換掉中間的詞,最后得到的短語肯定不是正確的短語,所以這樣構(gòu)造的負(fù)樣本是非??捎玫模ǘ鄶?shù)情況下確 實(shí)
21、是負(fù)樣本,極少數(shù)情況下把正常短語當(dāng)作負(fù)樣本也不影響大局)。同時(shí),由于負(fù)樣本僅僅是修改了正樣本中的一個(gè)詞,也不會讓分類面距離負(fù)樣本太遠(yuǎn)而影響分類 效果。再回顧這個(gè)式子,x 是正樣本,x(w) 是負(fù)樣本,f(x) 是對正樣本的打分,f(x(w) 是對負(fù)樣本的打分。最后希望正樣本的打分要比負(fù)樣本的打分至少高 1 分。f 函數(shù)的結(jié)構(gòu)和 Bengio 2003 中提到的網(wǎng)絡(luò)結(jié)構(gòu)基本一致。同樣是把窗口中的 n 個(gè)詞對應(yīng)的詞向量串成一個(gè)長的向量,同樣是經(jīng)過一層網(wǎng)絡(luò)(乘一個(gè)矩陣)得到隱藏層。不同之處在于 C&W 的輸出層只有一個(gè)節(jié)點(diǎn),表示得分,而不像 Bengio 那樣的有 |V| 個(gè)節(jié)點(diǎn)。這么做可以
22、大大降低計(jì)算復(fù)雜度,當(dāng)然有這種簡化還是因?yàn)?C&W 并不想做一個(gè)真正的語言模型,只是借用語言模型的思想輔助他完成 NLP 的其它任務(wù)。(其實(shí) C&W 的方法與 Bengio 的方法還有一個(gè)區(qū)別,他們?yōu)榱顺绦虻男视?HardTanh 代替 tanh 激活函數(shù)。)他們在實(shí)驗(yàn)中取窗口大小 n=11,字典大小 |V|=130000,在維基百科英文語料和路透社語料中一共訓(xùn)練了 7 周,終于得到了這份偉大的詞向量。如前面所說 C&W 訓(xùn)練詞向量的動(dòng)機(jī)與其他人不同,因此他公布的詞向量與其它詞向量相比主要有兩個(gè)區(qū)別:1.他的詞表中只有小寫單詞。也就是說他把大寫開頭的單詞和小寫單詞當(dāng)作
23、同一個(gè)詞處理。其它的詞向量都是把他們當(dāng)作不同的詞處理的。2.他公布的詞向量并不直接是上述公式的優(yōu)化結(jié)果,而是在此基礎(chǔ)上進(jìn)一步跑了詞性標(biāo)注、命名實(shí)體識別等等一系列任務(wù)的 Multi-Task Learning 之后,二次優(yōu)化得到的。也可以理解為是半監(jiān)督學(xué)習(xí)得到的,而非其他方法中純無監(jiān)督學(xué)習(xí)得到的。不過好在 Turian 在 2010 年對 C&W 和 M&H 向量做對比時(shí),重新訓(xùn)練了一份詞向量放到了網(wǎng)上,那份就沒上面的兩個(gè)“問題”(確切的說應(yīng)該是差別),也可以用的更放心。后面會詳細(xì)介紹 Turian 的工作。關(guān)于這篇論文其實(shí)還是有些東西可以吐槽的,不過訓(xùn)練詞向量這一塊沒有,是論文
24、其他部分的。把吐槽機(jī)會留給下一篇博文了。2.3 M&H 的 HLBLAndriy Mnih 和 Geoffrey Hinton 在 2007 年和 2008 年各發(fā)表了一篇關(guān)于訓(xùn)練語言模型和詞向量的文章。2007 年發(fā)表在 ICML 上的Three new graphical models for statistical language modelling表明了 Hinton 將 Deep Learning 戰(zhàn)場擴(kuò)展到 NLP 領(lǐng)域的決心。2008 年發(fā)表在 NIPS 上的A scalable hierarchical distributed language model則提出了一種
25、層級的思想替換了 Bengio 2003 方法中最后隱藏層到輸出層最花時(shí)間的矩陣乘法,在保證效果的基礎(chǔ)上,同時(shí)也提升了速度。下面簡單介紹一下這兩篇文章。Hinton 在 2006 年提出 Deep Learning 的概念之后,很快就來 NLP 最基礎(chǔ)的任務(wù)上試了一把。果然,有效。M&H 在 ICML 2007 上發(fā)表的這篇文章提出了“Log-Bilinear”語言模型。文章標(biāo)題中可以看出他們其實(shí)一共提了 3 個(gè)模型。從最基本的 RBM 出發(fā),一點(diǎn)點(diǎn)修改能量函數(shù),最后得到了“Log-Bilinear”模型。模型如果用神經(jīng)網(wǎng)絡(luò)的形式寫出來,是這個(gè)樣子:h=i=1t1HiC(wi)yj=C
26、(wj)Th這里的兩個(gè)式子可以合寫成一個(gè) yj=i=1n1C(wj)THiC(wi)。C(w) 是詞 w 對應(yīng)的詞向量,形如 xTMy 的模型叫做 Bilinear 模型,也就是 M&H 方法名字的來歷了。為了更好地理解模型的含義,還是來看這兩個(gè)拆解的式子。h 在這里表示隱藏層,這里的隱藏層比前面的所有模型都更厲害,直接有語義信息。首先從第二個(gè)式子中隱藏層能和詞向量直接做內(nèi)積可以看出,隱藏層的維度和詞向量的維度是一致的(都是 m 維)。Hi 就是一個(gè) m×m 的矩陣,該矩陣可以理解為第 i 個(gè)詞經(jīng)過 Hi 這種變換之后,對第 t 個(gè)詞產(chǎn)生的貢獻(xiàn)。因此這里的隱藏層是對前 t1
27、個(gè)詞的總結(jié),也就是說隱藏層 h 是對下一個(gè)詞的一種預(yù)測。再看看第二個(gè)式子,預(yù)測下一個(gè)詞為 wj 的 log 概率是 yj,它直接就是 C(wj) 和 h 的內(nèi)積。內(nèi)積基本上就可以反應(yīng)相似度,如果各詞向量的?;疽恢碌脑?,內(nèi)積的大小能直接反應(yīng)兩個(gè)向量的 cos 夾角的大小。這里使用預(yù)測詞向量 h 和各個(gè)已知詞的詞向量的相似度作為 log 概率,將詞向量的作用發(fā)揮到了極致。這也是我覺得這次介紹的模型中最漂亮的一個(gè)。這種“Log-Bilinear”模型看起來每個(gè)詞需要使用上文所有的詞作為輸入,于是語料中最長的句子有多長,就會有多少個(gè) H 矩陣。這顯然是過于理想化了。最后在實(shí)現(xiàn)模型時(shí),還是迫于現(xiàn)實(shí)的壓
28、力,用了類似 n-gram 的近似,只考慮了上文的 3 到 5 個(gè)詞作為輸入來預(yù)測下一個(gè)詞。M&H 的思路如前面提到,是 Bengio 2003 提出的。經(jīng)過大牛的實(shí)現(xiàn),效果確實(shí)不錯(cuò)。雖然復(fù)雜度沒有數(shù)量級上的降低,但是由于是純線性模型,沒有激活函數(shù)(當(dāng)然在做語言模型的時(shí)候,最后還是對 yj 跑了一個(gè) softmax),因此實(shí)際的訓(xùn)練和預(yù)測速度都會有很大的提升。同時(shí)隱藏層到輸出層的變量直接用了詞向量,這也就幾乎少了一半的變量,使得模型更為簡潔。 最后論文中 M&H 用了和 Bengio 2003 完全一樣的數(shù)據(jù)集做實(shí)驗(yàn),效果有了一定的提升。兩篇文章中間是不是應(yīng)該有個(gè)分割線?200
29、8 年 NIPS 的這篇論文,介紹的是“hierarchical log-bilinear”模型,很多論文中都把它稱作簡稱“HLBL”。和前作相比,該方法使用了一個(gè)層級的結(jié)構(gòu)做最后的預(yù)測??梢院唵蔚卦O(shè)想一下把網(wǎng) 絡(luò)的最后一層變成一顆平衡二叉樹,二叉樹的每個(gè)非葉節(jié)點(diǎn)用于給預(yù)測向量分類,最后到葉節(jié)點(diǎn)就可以確定下一個(gè)詞是哪個(gè)了。這在復(fù)雜度上有顯著的提升,以前是 對 |V| 個(gè)詞一一做比較,最后找出最相似的,現(xiàn)在只需要做 log2(|V|) 次判斷即可。這種層級的思想最初可見于 Frederic Morin 和 Yoshua Bengio 于 2005 年發(fā)表的論文Hierarchical proba
30、bilistic neural network language model中。但是這篇論文使用 WordNet 中的 IS-A 關(guān)系,轉(zhuǎn)化為二叉樹用于分類預(yù)測。實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)速度提升了,效果變差了。有了前車之鑒,M&H 就希望能從語料中自動(dòng)學(xué)習(xí)出一棵樹,并能達(dá)到比人工構(gòu)建更好的效果。M&H 使用一種 bootstrapping 的方法來構(gòu)建這棵樹。從隨機(jī)的樹開始,根據(jù)分類結(jié)果不斷調(diào)整和迭代。最后得到的是一棵平衡二叉樹,并且同一個(gè)詞的預(yù)測可能處于多個(gè)不同的葉節(jié)點(diǎn)。這種用多 個(gè)葉節(jié)點(diǎn)表示一個(gè)詞的方法,可以提升下一個(gè)詞是多義詞時(shí)候的效果。M&H 做的還不夠徹底,后面 Huan
31、g 的工作直接對每個(gè)詞學(xué)習(xí)出多個(gè)詞向量,能更好地處理多義詞。2.4 Mikolov 的 RNNLM前文說到,Bengio 2003 論文里提了一句,可以使用一些方法降低參數(shù)個(gè)數(shù),比如用循環(huán)神經(jīng)網(wǎng)絡(luò)。Mikolov 就抓住了這個(gè)坑,從此與循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)下了不解之緣。他最早用循環(huán)神經(jīng)網(wǎng)絡(luò)做語言模型是在 INTERSPEECH 2010 上發(fā)表的Recurrent neural network based language model里。Recurrent neural network 是循環(huán)神經(jīng)網(wǎng)絡(luò),簡稱 RNN,還有個(gè) Recursive neural networks 是遞歸神經(jīng)網(wǎng)絡(luò)(Rich
32、ard Socher 借此發(fā)了一大堆論文),也簡稱 RNN??吹降臅r(shí)候需要注意區(qū)分一下。不過到目前為止,RNNLM 只表示循環(huán)神經(jīng)網(wǎng)絡(luò)做的語言模型,還沒有歧義。在之后的幾年中,Mikolov 在一直在RNNLM 上做各種改進(jìn),有速度上的,也有準(zhǔn)確率上的?,F(xiàn)在想了解 RNNLM,看他的博士論文Statistical Language Models based on Neural Networks肯定是最好的選擇。循環(huán)神經(jīng)網(wǎng)絡(luò)與前面各方法中用到的前饋網(wǎng)絡(luò)在結(jié)構(gòu)上有比較大的差別,但是原理還是一樣的。網(wǎng)絡(luò)結(jié)構(gòu)大致如圖2。圖2(點(diǎn)擊查看大圖)左邊是網(wǎng)絡(luò)的抽象結(jié)構(gòu),由于循環(huán)神經(jīng)網(wǎng)絡(luò)多用在時(shí)序序列上,因此里
33、面的輸入層、隱藏層和輸出層都帶上了“(t)”。w(t) 是句子中第 t 個(gè)詞的 One-hot representation 的向量,也就是說 w 是一個(gè)非常長的向量,里面只有一個(gè)元素是 1。而下面的 s(t1) 向量就是上一個(gè)隱藏層。最后隱藏層計(jì)算公式為:s(t)=sigmoid(Uw(t)+Ws(t1)從右圖可以看出循環(huán)神經(jīng)網(wǎng)絡(luò)是如何展開的。每來一個(gè)新詞,就和上一個(gè)隱藏層聯(lián)合計(jì)算出下一個(gè)隱藏層,隱藏層反復(fù)利用,一直保留著最新的狀態(tài)。各隱藏層通過一層傳統(tǒng)的前饋網(wǎng)絡(luò)得到輸出值。w(t) 是一個(gè)詞的 One-hot representation,那么 Uw(t) 也就相當(dāng)于從矩陣 U 中選出了一
34、列,這一列就是該詞對應(yīng)的詞向量。循環(huán)神經(jīng)網(wǎng)絡(luò)的最大優(yōu)勢在于,可以真正充分地利用所有上文信息來預(yù)測下一個(gè)詞,而不像前面的其它工作那樣, 只能開一個(gè) n 個(gè)詞的窗口,只用前 n 個(gè)詞來預(yù)測下一個(gè)詞。從形式上看,這是一個(gè)非?!敖K極”的模型,畢竟語言模型里能用到的信息,他全用上了??上У氖?,循環(huán)神經(jīng)網(wǎng)絡(luò)形式上非常好看,使用起 來卻非常難優(yōu)化,如果優(yōu)化的不好,長距離的信息就會丟失,甚至還無法達(dá)到開窗口看前若干個(gè)詞的效果。Mikolov 在 RNNLM 里面只使用了最樸素的 BPTT 優(yōu)化算法,就已經(jīng)比 n-gram 中的 state of the art 方法有更好的效果,這非常令人欣慰。如果用上了更強(qiáng)
35、的優(yōu)化算法,最后效果肯定還能提升很多。對于最后隱藏層到輸出層的巨大計(jì)算量,Mikolov 使用了一種分組的方法:根據(jù)詞頻將 |V| 個(gè)詞分成 |V| 組,先通過 |V| 次判斷,看下一個(gè)詞屬于哪個(gè)組,再通過若干次判斷,找出其屬于組內(nèi)的哪個(gè)元素。最后均攤復(fù)雜度約為 o(|V|),略差于 M&H 的 o(log(|V|),但是其淺層結(jié)構(gòu)某種程度上可以減少誤差傳遞,也不失為一種良策。Mikolov 的 RNNLM 也是開源的(網(wǎng)址)。非常算法風(fēng)格的代碼,幾乎所有功能都在一個(gè)文件里,工程也很好編譯。比較好的是,RNNLM 可以完美支持中文,如果語料存成 UTF-8 格式,就可以直接用了。最后吐
36、槽一句,我覺得他在隱藏層用 sigmoid 作為激活函數(shù)不夠漂亮。因?yàn)殡[藏層要和輸入詞聯(lián)合計(jì)算得到下一個(gè)隱藏層,如果當(dāng)前隱藏層的值全是正的,那么輸入詞對應(yīng)的參數(shù)就會略微偏負(fù),也就是說最后得 到的詞向量的均值不在 0 附近??偢杏X不好看。當(dāng)然,從實(shí)驗(yàn)效果看,是我太強(qiáng)迫癥了。2.5 Huang 的語義強(qiáng)化與前幾位大牛的工作不同,Eric H. Huang 的工作是在 C&W 的基礎(chǔ)上改進(jìn)而成的,并非自成一派從頭做起。他這篇發(fā)表在 ACL 2012 上的Improving Word Representations via Global Context and Multiple Word Pr
37、ototypes試圖通過對模型的改進(jìn),使得詞向量富含更豐富的語義信息。他在文中提出了兩個(gè)主要?jiǎng)?chuàng)新來完成這一目標(biāo):(其實(shí)從論文標(biāo)題就能看出 來)第一個(gè)創(chuàng)新是使用全文信息輔助已有的局部信息,第二個(gè)創(chuàng)新是使用多個(gè)詞向量來表示多義詞。下面逐一介紹。Huang 認(rèn)為 C&W 的工作只利用了“局部上下文(Local Context)”。C&W 在訓(xùn)練詞向量的時(shí)候,只使用了上下文各 5 個(gè)詞,算上自己總共有 11 個(gè)詞的信息,這些局部的信息還不能充分挖掘出中間詞的語義信息。Huang 直接使用 C&W 的網(wǎng)絡(luò)結(jié)構(gòu)計(jì)算出一個(gè)得分,作為“局部得分”。然后 Huang 提出了一個(gè)“全局信息
38、”,這有點(diǎn)類似傳統(tǒng)的詞袋子模型。詞袋子模型是把文章中所有詞的 One-hot Representation 加起來,形成一個(gè)向量(就像把詞全都扔進(jìn)一個(gè)袋子里),用來表示文章。Huang 的全局模型是將文章中所有詞的詞向量求個(gè)加權(quán)平均(權(quán)重是詞的 idf),作為文章的語義。他把文章的語義向量和當(dāng)前詞的詞向量拼接起來,形成一個(gè)兩倍長度的向量作為輸入,之后還是用 C&W 的網(wǎng)絡(luò)結(jié)構(gòu)算出一個(gè)打分。有了 C&W 方法的得到的“局部得分”,再加上在 C&W 方法基礎(chǔ)上改造得到的“全局得分”,Huang 直接把兩個(gè)得分相加,作為最終得分。最終得分使用 C&W 提出的 pair
39、-wise 目標(biāo)函數(shù)來優(yōu)化。加了這個(gè)全局信息有什么用處呢?Huang 在實(shí)驗(yàn)中發(fā)現(xiàn),他的模型能更好地捕捉詞的語義信息。比如 C&W 的模型中,與 markets 最相近的詞為 firms、industries;而 Huang 的模型得到的結(jié)果是 market、firms。很明顯,C&W 的方法由于只考慮了臨近詞的信息,最后的結(jié)果是詞法特征最相近的詞排在了前面(都是復(fù)數(shù)形式)。不過我覺得這個(gè)可能是英語才有的現(xiàn)象,中文沒有詞形變化, 如果在中文中做同樣的實(shí)驗(yàn)還不知道會有什么效果。Huang 論文的第二個(gè)貢獻(xiàn)是將多義詞用多個(gè)詞向量來表示。Bengio 2003 在最后提過這是一個(gè)重要
40、的問題,不過當(dāng)時(shí)他還在想辦法解決,現(xiàn)在 Huang 給出了一種思路。將每個(gè)詞的上下文各 5 個(gè)詞拿出來,對這 10 個(gè)詞的詞向量做加權(quán)平均(同樣使用 idf 作為權(quán)重)。對所有得到的上下文向量做 k-means 聚類,根據(jù)聚類結(jié)果給每個(gè)詞打上標(biāo)簽(不同類中的同一個(gè)詞,當(dāng)作不同的詞處理),最后重新訓(xùn)練詞向量。當(dāng)然這個(gè)實(shí)驗(yàn)的效果也是很不錯(cuò)的,最后 star 的某一個(gè)表示最接近的詞是 movie、film;另一個(gè)表示最接近的詞是 galaxy、planet。這篇文章還做了一些對比實(shí)驗(yàn),在下一章評價(jià)里細(xì)講。2.999 總結(jié)/博主道:本節(jié)承上啟下,不知道應(yīng)該放在第 2 章還是第 3 章,便將小節(jié)號寫為
41、2.999。講完了大牛們的各種方法,自己也忍不住來總結(jié)一把。當(dāng)然,為了方便對比,我先列舉一下上面提到的各個(gè)系統(tǒng)的現(xiàn)有資源,見下表。對應(yīng)的論文不在表中列出,可參見最后的參考文獻(xiàn)。搜索: 名稱訓(xùn)練語料及規(guī)模詞向量特點(diǎn)資源C&WEnglish Wikipedia + Reuters RCV1共 631M + 221M 詞130000 詞50 維不區(qū)分大小寫;經(jīng)過有監(jiān)督修正;訓(xùn)練了 7 周測試代碼、詞向量鏈接C&W - TurianReuters RCV163M 詞268810 詞25、50、100、200 維區(qū)分大小寫;訓(xùn)練了若干周訓(xùn)練代碼、詞向量鏈接M&H - Turian
42、Reuters RCV1246122 詞50、100 維區(qū)分大小寫;用GPU訓(xùn)練了7天詞向量鏈接MikolovBroadcast news82390 詞80、640、1600 維不區(qū)分大小寫;訓(xùn)練了若干天訓(xùn)練、測試代碼、詞向量鏈接Huang 2012English Wikipedia100232 詞50 維不區(qū)分大小寫;最高頻的6000詞,每詞有10種表示訓(xùn)練、測試代碼、語料及詞向量鏈接顯示第 1 至 5 項(xiàng)結(jié)果,共 5 項(xiàng)Turian 的工作前面只是提了一下,他在做 C&W 向量與 H&M 向量的對比實(shí)驗(yàn)時(shí),自己按照論文重新實(shí)現(xiàn)了一遍他們的方法,并公布了詞向量。后來 C&am
43、p;W 在主頁上強(qiáng)調(diào)了一下:盡管很多論文把 Turian 實(shí)現(xiàn)的結(jié)果叫做 C&W 向量,但是與我發(fā)布的詞向量是不同的,我這個(gè)在更大的語料上訓(xùn)練,還花了兩個(gè)月時(shí)間呢!Turian 公布的 H&M 向量是直接請 Andriy Mnih 在 Turian 做好的語料上運(yùn)行了一下 HLBL,所以沒有代碼公布。同時(shí) Turian 自己實(shí)現(xiàn)了一份 LBL模型,但是沒有公布訓(xùn)練出來的詞向量。(這是根據(jù)他主頁上描述推測的結(jié)果,從 Turian 的論文中看,他應(yīng)該是實(shí)現(xiàn)了 HLBL 算法并且算出詞向量的。)RCV1 的詞數(shù)兩篇文章中所寫的數(shù)據(jù)差距較大,還不知道是什么原因。Holger Schwe
44、nk 在詞向量和語言模型方面也做了一些工作,看起來大體相似,也沒仔細(xì)讀過他的論文。有興趣的讀作可以直接搜他的論文。事實(shí)上,除了 RNNLM 以外,上面其它所有模型在第一層(輸入層到隱藏層)都是等價(jià)的,都可以看成一個(gè)單層網(wǎng)絡(luò)??赡苄问阶顬樘貏e的是 M&H 的模型,對前面的每個(gè)詞單獨(dú)乘以矩陣 Hi,而不是像其它方法那樣把詞向量串接起來乘以矩陣 H。但如果把 H 看成 Hi 的拼接: H1H2.Ht,則會有以下等式:H1H2.HtC(w1)C(w2).C(wt)=H1C(w1)+H2C(w2)+HtC(wt)這么看來還是等價(jià)的。所以前面的這么多模型,本質(zhì)是非常相似的。都是從前若干個(gè)詞的詞向量
45、通過線性變換抽象出一個(gè)新的語義(隱藏層),再通過不同的方法來解析這個(gè)隱 藏層。模型的差別主要就在隱藏層到輸出層的語義。Bengio 2003 使用了最樸素的線性變換,直接從隱藏層映射到每個(gè)詞;C&W 簡化了模型(不求語言模型),通過線性變換將隱藏層轉(zhuǎn)換成一個(gè)打分;M&H 復(fù)用了詞向量,進(jìn)一步強(qiáng)化了語義,并用層級結(jié)構(gòu)加速;Mikolov 則用了分組來加速。每種方法真正的差別看起來并不大,當(dāng)然里面的這些創(chuàng)新,也都是有據(jù)可循的。下一章就直接來看看不同模型的效果如何。3. 詞向量的評價(jià)詞向量的評價(jià)大體上可以分成兩種方式,第一種是把詞向量融入現(xiàn)有系統(tǒng)中,看對系統(tǒng)性能的提升;第二種是直接從
46、語言學(xué)的角度對詞向量進(jìn)行分析,如相似度、語義偏移等。3.1 提升現(xiàn)有系統(tǒng)詞向量的用法最常見的有兩種:1. 直接用于神經(jīng)網(wǎng)絡(luò)模型的輸入層。如 C&W 的 SENNA 系統(tǒng)中,將訓(xùn)練好的詞向量作為輸入,用前饋網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)完成了詞性標(biāo)注、語義角色標(biāo)注等一系列任務(wù)。再如 Socher 將詞向量作為輸入,用遞歸神經(jīng)網(wǎng)絡(luò)完成了句法分析、情感分析等多項(xiàng)任務(wù)。2. 作為輔助特征擴(kuò)充現(xiàn)有模型。如 Turian 將詞向量作為額外的特征加入到接近 state of the art 的方法中,進(jìn)一步提高了命名實(shí)體識別和短語識別的效果。具體的用法理論上會在下一篇博文中細(xì)講。C&W 的論文中有一些對比實(shí)
47、驗(yàn)。實(shí)驗(yàn)的結(jié)果表明,使用詞向量作為初始值替代隨機(jī)初始值,其效果會有非常顯著的提升(如:詞性標(biāo)注準(zhǔn)確率從 96.37% 提升到 97.20%;命名實(shí)體識別 F 值從 81.47% 提升到 88.67%)。同時(shí)使用更大的語料來訓(xùn)練,效果也會有一些提升。Turian 發(fā)表在 ACL 2010 上的實(shí)驗(yàn)對比了 C&W 向量與 M&H 向量用作輔助特征時(shí)的效果。在短語識別和命名實(shí)體識別兩個(gè)任務(wù)中,C&W 向量的效果都有略微的優(yōu)勢。同時(shí)他也發(fā)現(xiàn),如果將這兩種向量融合起來,會有更好的效果。除了這兩種詞向量,Turian 還使用 Brown Cluster 作為輔助特征做了對比,效果最
48、好的其實(shí)是 Brown Cluster,不過這個(gè)已經(jīng)超出本文的范圍了。3.2 語言學(xué)評價(jià)Huang 2012 的論文提出了一些創(chuàng)新,能提升詞向量中的語義成分。他也做了一些實(shí)驗(yàn)對比了各種詞向量的語義特性。實(shí)驗(yàn)方法大致就是將詞向量的相似度與人工標(biāo)注的相似度做 比較。最后 Huang 的方法語義相似度最好,其次是 C&W 向量,再然后是 Turian 訓(xùn)練的 HLBL 向量與 C&W 向量。這里因?yàn)?Turian 訓(xùn)練詞向量時(shí)使用的數(shù)據(jù)集(RCV1)與其他的對比實(shí)驗(yàn)(Wiki)并不相同,因此并不是非常有可比性。但從這里可以推測一下,可能更大更豐富的語料對于 語義的挖掘是有幫助的。還有
49、一個(gè)有意思的分析是 Mikolov 在 2013 年剛剛發(fā)表的一項(xiàng)發(fā)現(xiàn)。他發(fā)現(xiàn)兩個(gè)詞向量之間的關(guān)系,可以直接從這兩個(gè)向量的差里體現(xiàn)出來。向量的差就是數(shù)學(xué)上的定義,直接逐位相減。比如 C(king)C(queen)C(man)C(woman)。更強(qiáng)大的是,與 C(king)C(man)+C(woman) 最接近的向量就是 C(queen)。為了分析詞向量的這個(gè)特點(diǎn), Mikolov 使用類比(analogy)的方式來評測。如已知 a 之于 b 猶如 c 之于 d?,F(xiàn)在給出 a、b、c,看 C(a)C(b)+C(c) 最接近的詞是否是 d。在文章 Mikolov 對比了詞法關(guān)系(名詞單復(fù)數(shù) goo
50、d-better:rough-rougher、動(dòng)詞第三人稱單數(shù)、形容詞比較級最高級等)和語義關(guān)系(clothing-shirt:dish-bowl)。在詞法關(guān)系上,RNN 的效果最好,然后是 Turian 實(shí)現(xiàn)的 HLBL,最后是 Turian 的 C&W。(RNN-80:19%;RNN-1600:39.6%;HLBL-100:18.7%;C&W-100:5%;-100表示詞 向量為100維)在語義關(guān)系上,表現(xiàn)最好的還是 RNN,然后是 Turian 的兩個(gè)向量,差距沒剛才的大。(RNN-80:0.211;C&W-100:0.154;HLBL-100:0.146)但是這個(gè)對比實(shí)驗(yàn)用的訓(xùn)練語料是不同的,也不能特別說明優(yōu)劣。這些實(shí)驗(yàn)結(jié)果中最容易理解的是:語料越大,詞向量就越好。其它的實(shí)驗(yàn)由于缺乏嚴(yán)格控制條件進(jìn)行對比,談不上哪個(gè)更好哪個(gè)更差。不過這里的兩個(gè)語言學(xué)分析都非常有意思,尤其是向量之間存在這種線性平移的關(guān)系,可能會是詞向量發(fā)展的一個(gè)突破口。參考文獻(xiàn)Yoshua Bengio, Rejean Ducharme, Pascal Vincent,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西民族大學(xué)《績效審計(jì)專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇建筑職業(yè)技術(shù)學(xué)院《DataStructuresandAlgorithms》2023-2024學(xué)年第二學(xué)期期末試卷
- 杭州浙江杭州市余杭區(qū)徑山潘板小學(xué)2024學(xué)年第二學(xué)期臨聘教師招聘筆試歷年參考題庫附帶答案詳解
- 大連軟件職業(yè)學(xué)院《三維建模技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢工程科技學(xué)院《分布式處理與云計(jì)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江冰雪體育職業(yè)學(xué)院《應(yīng)用實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 哈爾濱遠(yuǎn)東理工學(xué)院《農(nóng)業(yè)項(xiàng)目投資評估》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年稀有金屬及稀土金屬材料合作協(xié)議書
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園項(xiàng)目籌資方案
- 2025至2030年中國汽車剎車燈開關(guān)數(shù)據(jù)監(jiān)測研究報(bào)告
- JJG 921-2021環(huán)境振動(dòng)分析儀
- GB/T 308.1-2013滾動(dòng)軸承球第1部分:鋼球
- 中藥炮制學(xué)-第五、六章
- 中國風(fēng)軍令狀誓師大會PPT模板
- 小兒高熱驚厥精品課件
- 2023機(jī)械工程師考試試題及答案
- 2022年電拖實(shí)驗(yàn)報(bào)告伍宏淳
- 豐田汽車戰(zhàn)略規(guī)劃與戰(zhàn)略管理體系研究(2021)
- 公共政策學(xué)(第三版)-課件
- 冷卻塔是利用水和空氣的接觸
- 我的家鄉(xiāng)--安徽亳州.PPT
評論
0/150
提交評論