介紹
文本排序的目標是生成一個有序的文本列表,這些文本從語料庫中檢索,以響應針對特定任務的查詢。雖然最常見的文本排序是搜索,但是在許多自然語言處理應用程序中也可以找到該任務的實例。本書提供了一個關于文本排序與被稱為transformer的神經網絡結構的概述,其中BERT是最著名的例子。毫不夸張地說,transformer和自我監督預訓練的結合已經徹底改變了自然語言處理(NLP)、信息檢索(IR)等領域。在文本排序的上下文中,這些模型跨許多領域、任務和設置產生高質量的結果。
在這本書中,我們為希望更好地理解如何將transformer應用到文本排序問題的從業者和希望從事這一領域工作的研究人員提供了現有工作的綜合。我們涵蓋了廣泛的現代技術,分為兩個高級類別:transformer模型,在多階段排序架構中執行重新排序,以及學習了試圖直接執行排序的密集表示。有許多屬于第一類的例子,包括基于相關性分類、從文本的多個部分收集證據、語料庫分析和序列到序列模型的方法。雖然第二類方法還沒有得到很好的研究,但使用transformer的表示學習是一個新興的、令人興奮的方向,必將吸引更多的關注。在我們的書中有兩個主題:處理長文檔的技術(超出了NLP中使用的典型逐句處理方法)和處理效率(結果質量)和效率(查詢延遲)之間權衡的技術。
盡管transformer架構和預訓練技術是最近的創新,但它們如何應用于文本排序的許多方面已經得到了相對較好的理解,并代表了成熟的技術。然而,還有許多有待解決的研究問題,因此,除了為預先訓練的transformer文本排序奠定基礎外,本書還試圖預測該領域的發展方向。
目錄
部分內容概覽
?谷歌是一家取得巨大成功的公司。同它成功的搜索引擎和AdWords一樣,谷歌還開發了許多其他杰出的產品,包括谷歌地圖、谷歌新聞、谷歌翻譯、谷歌語音識別、Chrome和Android等。谷歌同樣大大提升和擴展了許多通過收購YouTube等小公司得到的產品,而且對許多開源項目做出了顯著的貢獻。谷歌還展示了許多將要發布的驚人產品,無人駕駛汽車就在其列。
??谷歌成功的原因有很多:開明的領導、偉大的人物、極高的招聘條件,以及在一個極速增長的市場中成功通過早期確立的領先優勢帶來的財務實力。還有一個引領谷歌走向成功的原因是,谷歌開發出了杰出的軟件工程實踐。基于世界上最有才華的軟件工程師們智慧的積累和提煉,這些實踐隨著時間推移一直在進步。我們想要和全世界分享這些實踐中的知識,以及我們一路上在犯錯中學習到的東西。
??這篇文章旨在簡要地記載、描述谷歌關鍵的軟件工程實踐。其他組織或個人可以將其與自己的軟件工程實踐進行比較和對比,考慮是否應用其中的一些實踐。
??許多作者(如引用[9]、[10]、[11])都寫了書籍或文章來分析谷歌的成功和歷史,但其中絕大多數都主要關注商業、管理和企業文化;只有一小部分(如引用[1]、[2]、[3]、[4]、[5]、[6]、[7]、[13]、[14]、[16]、[21])研究過軟件工程方面,這些書籍和文章中的大多數都只探討一個方面;并且所有書籍和文章都沒有進行關于谷歌軟件工程實踐的總結,所以本文將提供一個整體的谷歌軟件工程實踐概述。 ?
文本排序的目標是生成一個有序的文本列表,這些文本從語料庫中檢索,以響應針對特定任務的查詢。雖然最常見的文本排序是搜索,但是在許多自然語言處理應用程序中也可以找到該任務的實例。本書提供了一個關于文本排序與被稱為transformer的神經網絡結構的概述,其中BERT是最著名的例子。毫不夸張地說,transformer和自我監督預訓練的結合已經徹底改變了自然語言處理(NLP)、信息檢索(IR)等領域。在文本排序的上下文中,這些模型跨許多領域、任務和設置產生高質量的結果。
在這本書中,我們為希望更好地理解如何將transformer應用到文本排序問題的從業者和希望從事這一領域工作的研究人員提供了現有工作的綜合。我們涵蓋了廣泛的現代技術,分為兩個高級類別:transformer模型,在多階段排序架構中執行重新排序,以及學習了試圖直接執行排序的密集表示。有許多屬于第一類的例子,包括基于相關性分類、從文本的多個部分收集證據、語料庫分析和序列到序列模型的方法。雖然第二類方法還沒有得到很好的研究,但使用transformer的表示學習是一個新興的、令人興奮的方向,必將吸引更多的關注。在我們的書中有兩個主題:處理長文檔的技術(超出了NLP中使用的典型逐句處理方法)和處理效率(結果質量)和效率(查詢延遲)之間權衡的技術。
盡管transformer架構和預訓練技術是最近的創新,但它們如何應用于文本排序的許多方面已經得到了相對較好的理解,并代表了成熟的技術。然而,還有許多有待解決的研究問題,因此,除了為預先訓練的transformer文本排序奠定基礎外,本書還試圖預測該領域的發展方向。
引言
文本排序的目標是生成一個有序的文本列表,這些文本從語料庫中檢索,以響應針對特定任務的查詢。最常見的文本排序是搜索,搜索引擎(也稱為檢索系統)根據用戶查詢的估計相關性生成一個文本排序列表(網頁、科學論文、新聞文章、tweet等)。在這種情況下,相關文本是那些“關于”用戶請求的主題并滿足用戶信息需求的文本。信息檢索(IR)的研究人員稱之為臨時檢索問題。
使用關鍵字搜索,也稱為關鍵字查詢(例如,在web上),用戶通常在搜索框(例如,在瀏覽器中)中鍵入一些查詢詞,然后返回包含排序文本表示的結果。這些結果被稱為排名列表,點擊列表,點擊量,排序文本的表示通常包括標題、相關元數據、文本本身的摘要(例如,突出顯示用戶查詢詞的keyword -context摘要),以及到原始數據源的鏈接。雖然有很多關于文本排序問題的例子(參見1.1節),但是這種特殊的場景是普遍存在的,而且無疑是所有讀者都熟悉的。
該綜述提供了一種稱為Transformer的神經網絡結構的文本排序的概述,其中最著名的例子是谷歌的發明,即BERT(來自Transformers的雙向編碼器表示)[Devlin et al., 2019]。毫無夸張地說,BERT已經徹底改變了自然語言處理(NLP)和信息檢索(IR)以及更廣泛的人類語言技術(HLT)等領域,這是一個包羅萬象的術語,包括處理、分析和使用(人類)語言數據的技術。在文本排序方面,BERT提供的結果在質量上無疑比之前的結果更好。
從一開始就創建良好的數據,而不是在收集數據之后修復它。通過遵循這本書中的指導方針,你將能夠進行更有效的分析,并產生研究數據的及時演示。
數據分析師通常與數據集提出了勘探和研究設計不良,導致解釋的困難和延誤產生有意義的結果。數據分析培訓的重點是如何在開始認真分析之前清理和轉換數據集。通過使用良好的數據集設計和理解數據類型如何決定可以執行的分析類型,可以避免不恰當或令人困惑的表示、度量單位選擇、編碼錯誤、缺失值、離群值等。
這本書討論了數據集創建的原則和最佳實踐,并涵蓋了基本數據類型及其相關的適當統計和可視化。這本書的一個重點是為什么選擇某些數據類型來表示概念和度量,而不是典型的討論如何分析選定的特定數據類型。
你會: 注意創建和收集數據的原則 了解基本數據類型和表示 選擇數據類型,預測分析目標 理解數據集的結構和用于分析和共享的實踐 由例子引導和用例(好的和壞的) 使用清潔工具和方法創建良好的數據
語義表示是自然語言處理的基礎,我們需要將原始文本數據中的有用信息轉換為計算機能夠理解的語義表示,才能實現各種自然語言處理應用。表示學習旨在從大規模數據中自動學習數據的語義特征表示,并支持機器學習進一步用于數據訓練和預測。以深度學習為代表的表示學習技術,能夠靈活地建立對大規模文本、音頻、圖像、視頻等無結構數據的語義表示,顯著提升語音識別、圖像處理和自然語言處理的性能,近年來引發了人工智能的新浪潮。本書是第一本完整介紹自然語言處理表示學習技術的著作。書中全面介紹了表示學習技術在自然語言處理領域的最新進展,對相關理論、方法和應用進行了深入介紹,并展望了未來的重要研究方向。
本書全面介紹了自然語言處理表示學習技術的理論、方法和應用,內容包括三大部分:第一部分介紹了單詞、短語、句子和文檔等不同粒度語言單元的表示學習技術;第二部分介紹了與自然語言密切相關的世界知識、語言知識、復雜網絡和跨模態數據的表示學習技術;第三部分整理了相關開放資源與工具,并探討了面向自然語言處理的表示學習技術面臨的重要挑戰和未來研究方向。本書對于自然語言處理和人工智能基礎研究具有一定的參考意義,既適合專業人士了解自然語言處理和表示學習的前沿熱點,也適合機器學習、信息檢索、數據挖掘、社會網絡分析、語義Web等其他相關領域學者和學生作為參考讀物。
Attention模型目前已經成為神經網絡中的一個重要概念,注意力模型(AM)自機器翻譯任務【Bahdanau et al 2014】首次引入進來,現在已經成為主流的神經網絡概念。這一模型在研究社區中非常受歡迎,適用領域非常廣泛,包括自然語言處理、統計學習、語音和計算機視覺方面的應用。本篇綜述提供了關于注意力模型的全面概述,并且提供了一種將現有注意力模型進行有效分類的分類法,調查了用于不同網絡結構的注意力模型,并顯示了注意力機制如何提高模型的可解釋性,最后,討論了一些受到注意力模型較大影響的應用問題。