1. 本書行文邏輯清晰,通俗易懂??深度學(xué)習(xí)算法包含很多繁雜的公式,為了便于讀者理解本書內(nèi)容,提高學(xué)習(xí)效率,本書重點不是推導(dǎo)理論,而是用通俗淺顯的語言把道理闡明,幫助讀者建立直覺。用通俗的語言對復(fù)雜模型進(jìn)行解讀,為讀者在這個領(lǐng)域的進(jìn)一步深入研究拋磚引玉。
2. 本書每一章節(jié)均附有課后習(xí)題,以便適時檢驗讀者的學(xué)習(xí)效果,提高學(xué)習(xí)效率??為了便于讀者理解本書內(nèi)容,提高學(xué)習(xí)效率,專門在每一章后面附了練習(xí)題,讀者在讀完本章節(jié)內(nèi)容之后,做一下課后練習(xí)題,以檢驗學(xué)習(xí)效果。這些課后習(xí)題答案和本書涉及的源代碼一起收錄于附贈資源中。
3. 行文和結(jié)構(gòu)連貫??采取讀者第一視角的模式來組織行文邏輯和實現(xiàn)方案,使得行文和結(jié)構(gòu)更連貫,便于理解。4. 實際案例解析,注重實戰(zhàn)演練??以通俗易懂的文字,解釋了自然語言處理技術(shù)的基本原理,對常見算法架構(gòu)進(jìn)行介紹, 對本書的主要內(nèi)容BERT 模型進(jìn)行詳細(xì)的講解,分別從不同的難度等級展示了兩個實戰(zhàn)案例, 將理論和實踐有機(jī)地結(jié)合在一起。
5. 編程思想及經(jīng)驗分享,提升你的編程能力??在案例講解中,融入了編程思想及經(jīng)驗的分享。不只是學(xué)習(xí)技術(shù),重要的是在思想上能有所提升,希望讓你在學(xué)習(xí)技術(shù)的同時,潛移默化中,能夠加深對一些編程思想的認(rèn)識。
■ 為什么要寫這本書
2020 年的晚秋,當(dāng)出版社編輯聯(lián)絡(luò)到我,問我有沒有興趣寫一本自然語言處理方面的書時,我欣然應(yīng)允。于是選題接洽,經(jīng)過深思熟慮之后決定選取 BERT 這個方向。
BERT 的全稱是基于變換器的雙向編碼器表示技術(shù),它是一種基于深度學(xué)習(xí)的新型自然語言處理模型。BERT 提出了一種新的預(yù)訓(xùn)練目標(biāo):屏蔽字語言模型(MLM)與從左到右的單向語言模型預(yù)訓(xùn)練不同,MLM 目標(biāo)允許表征融合左右兩側(cè)的語義,從而預(yù)訓(xùn)練一個深度雙向 Transformer。BERT 一經(jīng)問世,便有了不俗的表現(xiàn),在機(jī)器閱讀理解水平測試中,它在各項衡量指標(biāo)上超越了人類,還在 11 種不同 NLP 測試中創(chuàng)出最佳成績。BERT 為 NLP 帶來了里程碑式的改變,也是 NLP 領(lǐng)域發(fā)展過程中一大進(jìn)展。BERT 從誕生到現(xiàn)在,得到了廣泛的應(yīng)用,它在屏蔽詞預(yù)測、關(guān)鍵詞提取、下一句預(yù)測等多種自然語言處理任務(wù)中均有不俗的表現(xiàn),因為 BERT 代表了 NLP 新技術(shù),具有一定的先進(jìn)性,所以我選定它來作為本書的主題。
寫這本書的初衷:用簡單、通俗、易懂的語言對 BERT 相關(guān)的自然語言處理技術(shù)進(jìn)行描述,從原理、架構(gòu)、實現(xiàn)等多維度解讀BERT 模型,并展示由淺到深不同層面的實戰(zhàn)案例, 通過將理論和實踐相結(jié)合,使讀者能夠在對模型充分理解的基礎(chǔ)上,運(yùn)用模型解決實際任務(wù)。
寫這本書的第二個理由是對自己30 年工作做一個適時的總結(jié)。我是一名電子信息工程師,
在過去的 30 年工作中,分別在長城計算機(jī)軟件與系統(tǒng)公司、大唐微電子、北京吾譯超群科技有限公司擔(dān)任研發(fā)工程師,曾經(jīng)參與過智能化翻譯教學(xué)系統(tǒng)等項目的研發(fā)工作,在自然語言處理等方面精耕細(xì)作,這次有機(jī)會來寫 BERT,可以對這一新技術(shù)做一個系統(tǒng)的梳理和解讀,并呈現(xiàn)給大家,并和大家分享。
如果你下定決心要去干一件事,到底需要幾個理由?一個就夠了,接下來,擼起袖子加油干!
■ 本書有什么特色
1. 本書行文邏輯清晰,通俗易懂
深度學(xué)習(xí)算法包含很多繁雜的公式,為了便于讀者理解本書內(nèi)容,提高學(xué)習(xí)效率,本書重點不是推導(dǎo)理論,而是用通俗淺顯的語言把道理闡明,幫助讀者建立直覺。用通俗的語言對復(fù)雜模型進(jìn)行解讀,為讀者在這個領(lǐng)域的進(jìn)一步深入研究拋磚引玉。
2. 本書每一章節(jié)均附有課后習(xí)題,以便適時檢驗讀者的學(xué)習(xí)效果,提高學(xué)習(xí)效率
為了便于讀者理解本書內(nèi)容,提高學(xué)習(xí)效率,專門在每一章后面附了練習(xí)題,讀者在讀完本章節(jié)內(nèi)容之后,做一下課后練習(xí)題,以檢驗學(xué)習(xí)效果。這些課后習(xí)題答案和本書涉及的源代碼一起收錄于附贈資源中。
3. 行文和結(jié)構(gòu)連貫
采取讀者第一視角的模式來組織行文邏輯和實現(xiàn)方案,使得行文和結(jié)構(gòu)更連貫,便于理解。
4. 實際案例解析,注重實戰(zhàn)演練
以通俗易懂的文字,解釋了自然語言處理技術(shù)的基本原理,對常見算法架構(gòu)進(jìn)行介紹, 對本書的主要內(nèi)容BERT 模型進(jìn)行詳細(xì)的講解,分別從不同的難度等級展示了兩個實戰(zhàn)案例, 將理論和實踐有機(jī)地結(jié)合在一起。
5. 編程思想及經(jīng)驗分享,提升你的編程能力
在案例講解中,融入了編程思想及經(jīng)驗的分享。不只是學(xué)習(xí)技術(shù),重要的是在思想上能有所提升,希望讓你在學(xué)習(xí)技術(shù)的同時,潛移默化中,能夠加深對一些編程思想的認(rèn)識。
■ 本書內(nèi)容及知識體系
第一篇 自然語言處理基礎(chǔ)
本篇由第 1 ~ 3 章內(nèi)容組成,對自然語言處理技術(shù)、掌握該技術(shù)需要的預(yù)備知識和文本的表示技術(shù)進(jìn)行了解釋。
第二篇 自然語言處理中的深度學(xué)習(xí)算法
本篇包含第 4 ~ 5 章,第 4 章自然語言處理和深度學(xué)習(xí)介紹了常用的模型 ;第 5 章重點介紹了 BERT 模型。
第三篇 實戰(zhàn)案例
本篇包含 6 ~ 7 章,分別從由淺到深的不同層面展示了兩個實戰(zhàn)案例。第四篇 結(jié)語和展望 (第 8 章)
■ 數(shù)據(jù)資源內(nèi)容介紹
為了方便讀者閱讀本書,本書附贈以下資源。具體如下:
? 本書實例的源代碼;
? 本書課后習(xí)題答案;
? BERT 模型數(shù)據(jù)集。
■ 適合閱讀本書的讀者
? 自然語言處理初學(xué)者;
? 語言類大學(xué)的信息科學(xué)專業(yè)的學(xué)生;
? 立志從事自然語言處理方向研究的學(xué)生;
? 計算機(jī)相關(guān)專業(yè)的學(xué)生;
? 軟件開發(fā)項目經(jīng)理。
■ 閱讀本書的建議
? 沒有自然語言處理基礎(chǔ)的讀者,建議從第 1 章按順序閱讀,讀完前四章之后,對自然語言處理的背景知識便有了一定了解。在此基礎(chǔ)上,閱讀后續(xù)章節(jié),第 5 章是本書的重點。有一定自然語言處理基礎(chǔ)的讀者,可以根據(jù)實際情況,選擇感興趣的章節(jié)進(jìn)行針對性閱讀。本書為不同的讀者準(zhǔn)備了兩個不同層面的實戰(zhàn)案例,讀者可以根據(jù)自己的實際情況和認(rèn)知程度,有選擇地閱讀。如果有志從事這一領(lǐng)域的工作或者深入研究,則應(yīng)掌握第 6 ~ 7 章的全部內(nèi)容,如果條件允許,最好實際動手實現(xiàn)文中案例。在實際演練過程中如果遇到任何問題,可以按照書上提供的聯(lián)絡(luò)方式找作者答疑。
?
前 言 III
? 對于書中提到的拓展參考資料,建議高水平讀者進(jìn)行拓展。自然語言處理是一個龐大的知識體系,本書涉獵的課題只是冰山一角,想在這一領(lǐng)域深耕細(xì)作的讀者,還需大量閱讀相關(guān)資料。
? 帶著疑問去閱讀,不僅是指你閱讀之前要明確解決的問題(閱讀目的),而且在閱讀過程中,也要多反問自己:這是最好的實現(xiàn)方案嗎?是否有其他更簡便的實現(xiàn)方式?……通過不斷自我提問,你的思維將會不斷被打開,也能從中收獲更多。
本書是作者 30 年寶貴工作經(jīng)驗的結(jié)晶,通過本書,將自然語言處理這一華麗的水晶宮殿呈現(xiàn)給大家,為大家講述宮殿中一顆璀璨的明珠BERT 的前世今生,并指導(dǎo)大家如何將 BERT 這顆明珠鑲嵌成皇冠、項鏈,或是一枚別致的胸針(實戰(zhàn)示例),為大家在自然語言處理領(lǐng)域進(jìn)一步深耕細(xì)作拋磚引玉。來吧,讓我們開始 BERT 之旅吧!
由于作者水平有限,書中難免存在一些錯誤和疏漏,歡迎讀者發(fā)現(xiàn)問題進(jìn)行反饋。
■ 鳴謝
本書的完成首先感謝生命,感謝給予我生命之源的父母。
其次,感謝中國鐵道出版社有限公司的編輯,沒有這些編輯慧眼識珠,就沒有此書對
BERT 這顆明珠做細(xì)致梳理的機(jī)會,他們在選題和全書架構(gòu)方面提出了許多建設(shè)性的建議, 在寫作過程中給予了許多鼓勵和支持,此書得以按時交稿,得益于他們的大力支持,在此表示衷心的感謝。
在此書的寫作過程中,盧苗苗老師為第4 章提供了參考資料,清華大學(xué)電子工程系汪致庸
同學(xué)為第 5 章的內(nèi)容提供了參考資料,在此表示衷心感謝。
最后,感謝熱心讀者撥冗垂閱,謝謝你們的熱心閱讀,希望讀完此書后有所收獲,再一次謝謝大家。