自然語言處理中的文本摘要:算法、技術和挑戰

已發表: 2020-08-07

從給定的內容創建摘要是一個非常抽象的過程,每個人都參與其中。自動化這樣的過程可以幫助解析大量數據並幫助人們更好地利用他們的時間來做出關鍵決策。 由於媒體數量龐大,可以通過減少圍繞最關鍵信息的絨毛來提高效率。 我們已經開始在網絡上看到自動生成的文本摘要。

如果您經常訪問 Reddit,您可能已經看到“Autotldr bot”通過匯總給定帖子中的鏈接文章來幫助 Redditor。 它創建於 2011 年,已經節省了數千人時。 可靠的文本摘要是有市場的,正如 Inshorts(用 60 個字或更少的字總結新聞)和 Blinkist(總結書籍)等應用程序的趨勢所表明的那樣。

因此,自動文本摘要自然語言處理(NLP) 和機器學習(ML) 中令人興奮但具有挑戰性的前沿領域。 自動文本摘要的當前發展歸功於自 1950 年代漢斯·彼得·盧恩 (Hans Peter Luhn) 的題為“文學摘要的自動創建”的論文發表以來對該領域的研究。

本文概述了使用詞頻和短語頻率等特徵從文檔中提取基本句子的方法。 緊隨其後的是 Harold P Edmundson 在 1960 年代後期進行的另一項批判性研究,該研究強調了提示詞的存在,標題中使用的詞出現在文本中,以及從文檔中提取有意義句子的句子位置。

既然世界在機器學習方面取得了長足進步,並在該領域發表了新的研究成果,自動文本摘要即將成為數字時代與信息交互的無處不在的工具。

必讀:印度 NLP 工程師的薪水

在 NLP 中總結文本主要有兩種主要方法

目錄

NLP 中的文本摘要

1. 基於提取的摘要

顧名思義,這種技術僅依賴於從文檔中提取或提取關鍵短語。 然後將這些關鍵短語組合起來形成一個連貫的摘要。

2. 基於抽象的摘要

與提取不同,這種技術依賴於能夠解釋和縮短文檔的某些部分。 當這種抽像在深度學習問題中正確完成時,可以確保具有一致的語法。 但是,這種增加的複雜性是以開發比提取更難為代價的。

還有另一種方法可以提出更高質量的摘要。 這種方法稱為輔助摘要,它需要人工和軟件相結合的努力。 這也有兩種不同的口味

  1. 機器輔助人類摘要:提取技術突出顯示要包含的候選段落,人類可以添加或刪除文本。
  2. 人工輔助機器摘要:人類只需編輯軟件的輸出。

除了摘要文本的主要方法外,還有其他分類文本摘要器的基礎。 以下是這些類別的負責人:

3. 單文檔與多文檔摘要

單個文檔依賴於事實的連貫性和不頻繁重複來生成摘要。 另一方面,多文檔摘要增加了冗餘信息和重複出現的機會。

4. 指示性與信息性

摘要的分類取決於用戶的最終目標。 例如,在指示性類型摘要中,人們會期望一篇文章的高級點。 然而,在信息豐富的概述中,人們可能期望更多的主題過濾讓讀者深入了解摘要。

5. 文件長度和類型

輸入文本的長度會嚴重影響摘要方法的類型。

最大的摘要數據集,如康奈爾大學的新聞編輯室,專注於新聞文章,平均約 300-1000 字。 抽取式摘要器相對較好地處理了這樣的長度。 一個多頁的文檔或一本書的章節只能用更高級的方法(如層次聚類或語篇分析)來充分概括。

此外,文本的類型也會影響摘要器。 總結技術白皮書的方法將與可能更好地總結財務報表的技術完全不同。

在本文中,我們將重點介紹提取摘要技術的更多細節。

PageRank算法

該算法可以幫助像谷歌這樣的搜索引擎對網頁進行排名。 讓我們通過一個例子來理解這個算法。 假設您有四個網頁,它們之間的連接級別不同。 一個可能與其他三個沒有鏈接; 一個可能連接到另一個 2,一個可能只與一個相關,依此類推。

然後,我們可以使用具有 n 行和列的矩陣來模擬從一個頁面導航到另一個頁面的概率,其中 n 是網頁的數量。 矩陣中的每個元素將代表從一個網頁轉換到另一個網頁的概率。 通過分配正確的概率,人們可以迭代地更新這樣的矩陣來獲得網頁排名。

另請閱讀:NLP 項目和主題

文本排序算法

我們探索 PageRank 算法的原因是為了展示如何使用相同的算法對文本而不是網頁進行排名。 這可以通過將頁面之間的鏈接替換為句子之間的相似性並使用 PageRank 樣式矩陣作為相似性分數來改變視角來完成。

實現 TextRank 算法

所需的庫

  • 麻木
  • 熊貓
  • Ntlk
  • 回覆

以下是提取摘要技術背後的代碼解釋:

第1步

將源文檔中的所有文本連接為一個實心文本塊。 這樣做的原因是提供條件,以便我們可以更輕鬆地執行步驟 2。

第2步

我們提供定義句子的條件,例如查找句號 (.)、問號 (?) 和感嘆號 (!) 等標點符號。 一旦我們有了這個定義,我們就簡單地將文本文檔拆分成句子。

第 3 步

現在我們可以訪問單獨的句子,我們可以找到每個句子的向量表示(詞嵌入)。 現在我們必須了解什麼是向量表示。 詞嵌入是一種詞表示,它為具有相似含義的詞提供數學描述。 實際上,這是一整類將單詞表示為預定義向量空間中的實值向量的技術。

每個單詞都由一個具有多個維度(有時超過 100 個)的實值向量表示。 分佈表示基於單詞的使用,因此允許以相似方式使用的單詞具有相似的描述。 這使我們能夠自然地捕捉單詞的含義,因為它們與表示為向量本身的其他單詞的接近程度。

對於本指南,我們將使用詞表示的全局向量 (GloVe)。 手套是由斯坦福大學的 Pennington 開發的開源分佈式單詞表示算法。 它結合了 2 個模型家族的特徵,即全局矩陣分解和局部上下文窗口方法。

第四步

一旦我們有了單詞的向量表示,我們就必須擴展該過程以將整個句子表示為向量。 為此,我們可以獲取構成句子中單詞的術語的向量表示,然後獲取這些向量的均值/平均值,以得出句子的合併向量。

第 5 步

此時,我們對每個單獨的句子都有一個向量表示。 現在使用餘弦相似度方法來量化句子之間的相似度很有幫助。 然後我們可以用句子的餘弦相似度填充一個空矩陣。

第 6 步

現在我們有了一個填充了句子之間餘弦相似度的矩陣。 我們可以將這個矩陣轉換成一個圖,其中節點代表句子,邊代表句子之間的相似度。 正是在這張圖上,我們將使用方便的 PageRank 算法來得出句子排名。

第 7 步

我們現在已經按照重要性對文章中的所有句子進行了排序。 我們現在可以提取前 N 個(比如 10 個)句子來創建摘要。

要找到這種方法的代碼,Github上有很多這樣的項目; 另一方面,這篇文章有助於加深對這一點的理解。

查看:現代生活中語言建模的演變

評估技術

微調此類模型的一個重要因素是有一種可靠的方法來判斷所生成摘要的質量。 這需要良好的評估技術,可大致分為以下幾類:

  • 內在和外在評價

內在的:這種評估測試了總結系統本身。 他們主要評估摘要的連貫性和信息量。

外在的:這種評估會根據總結如何影響其他任務來測試總結。 它可以測試摘要對相關性評估、閱讀理解等任務的影響。

  • 文本間和文本內

Inter-textual:此類評估側重於對幾個摘要係統的對比分析。

文本內:此類評估評估特定摘要係統的輸出。

  • 特定於域和獨立於域

領域無關:這些技術通常應用一組通用特徵,可以專注於識別信息豐富的文本段。

特定領域:這些技術利用特定於文本領域的可用知識。 例如,醫學文獻的文本摘要需要使用醫學知識和本體的來源。

  • 定性評估摘要

其他評估技術的主要缺點是它們需要參考摘要才能將自動摘要的輸出與模型進行比較。 這使得評估任務變得困難且昂貴。 正在做一些工作來建立文章/文檔的語料庫及其相應的摘要來解決這個問題。

文本摘要的挑戰

儘管生成和評估摘要的工具高度發達,但仍然存在挑戰,要找到一種可靠的方法讓文本摘要器了解什麼是重要和相關的。

正如所討論的,向量表示和相似度矩陣試圖找到單詞關聯,但它們仍然沒有可靠的方法來識別最重要的句子。

文本摘要的另一個挑戰是人類語言的複雜性和人們表達自己的方式,尤其是在書面文本中。 語言不僅由帶有形容詞和副詞的長句組成,還包括相對句、同位詞等。這些見解可能會增加有價值的信息,但它們無助於確定要包含在摘要中的信息的主要癥結。

“照應問題”是文本摘要的另一個障礙。 在語言中,我們經常用同義詞或代詞代替對話中的主題。 對哪個代詞替代哪個術語的理解是“照應問題”。

“直指問題”是指代問題的相反問題。 在這些模棱兩可的詞語和解釋中,在引入術語本身之前,文本中使用了特定術語。

結論

文本摘要領域正在經歷快速增長,並且正在開發專門的工具來解決更集中的摘要任務。 隨著開源軟件和詞嵌入包的廣泛使用,用戶正在擴展這項技術的用例。

自動文本摘要是一種工具,它通過簡化人類日常交互的大量信息,實現人類生產力的巨大飛躍。 這不僅可以讓人們減少必要的閱讀,還可以騰出時間來閱讀和理解其他被忽視的書面作品。 這樣的摘要器集成得如此之好,以至於它們創建的摘要與人類編寫的摘要沒有區別,這只是時間問題。

如果您想提高您的 NLP 技能,您需要親身體驗這些 NLP 項目。 如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

NLP的用途是什麼?

NLP 或自然語言處理是最複雜和最有趣的現代技術之一,以多種方式使用。 它的主要應用包括——自動單詞校正、自動預測、聊天機器人和語音助手、虛擬助手中的語音識別、人類語音的情感分析、電子郵件和垃圾郵件過濾、翻譯、社交媒體分析、目標廣告、文本摘要和簡歷掃描招聘等。 NLP 的進一步發展產生了自然語言理解 (NLU) 等概念,有助於從復雜任務中獲得更高的準確性和更出色的結果。

我必須學習數學才能學習 NLP 嗎?

借助離線和在線的豐富資源,現在可以更輕鬆地訪問為學習 NLP 設計的學習材料。 這些研究資源都是關於 NLP 這個廣闊領域的具體概念,而不是更大的圖景。 但是如果你想知道數學是否是任何 NLP 概念的一部分,那麼你必須知道數學是 NLP 的重要組成部分。 數學,尤其是概率論、統計學、線性代數和微積分,是驅動 NLP 的算法的基礎支柱。 對統計有基本的了解是有幫助的,這樣您就可以根據需要進行構建。 儘管如此,如果不進入數學領域,就無法學習自然語言處理。

有哪些用於提取信息的 NLP 技術?

在這個數字時代,非結構化數據的生成量激增,主要以來自社交媒體平台、客戶投訴和調查等各種渠道的音頻、圖像、視頻和文本的形式。 NLP 有助於從大量非結構化數據中提取有用的信息,這可以幫助企業。 有五種常見的 NLP 技術可用於提取有洞察力的數據,即命名實體識別、文本摘要、情感分析、方面挖掘和主題建模。 NLP 中還有許多其他的數據提取方法,但這些是最常用的。