自然語言處理起源:馬爾科夫和香農的語言建模實驗

2020-12-05 機器之心Pro

選自towardsdatascience

作者:Raimi Karim

機器之心編譯

參與:王子嘉、Geek AI

語言建模和文本生成是當下自然語言處理領域非常火熱的兩個研究課題。而早在百年以前,科學巨匠馬爾科夫和香農就對此進行了初步的探索......

1913 年,俄國數學家安德烈·安德烈耶維奇·馬爾科夫(Andrey Andreyevich Markov)坐在他聖彼得堡的書房裡,手裡拿著當時的文學巨著——普希金(Alexander Pushkin)在 19 世紀創作的詩歌小說《尤金·奧涅金》(Eugene Onegin)。

但是馬爾科夫並沒有真的在讀這篇著名的文章,而是拿起了一支筆和一張草稿紙,去掉了這本書的前 2 萬個字母中所有的標點符號和空格,記成了一長串字母。然後,他又把這些字母放進了 200 個網格中(每個網格有 10×10 個字符),並對每行每列中元音的數量進行統計,然後將這些結果進行了整理。

對於不知情的旁觀者來說,馬爾科夫的舉止略顯詭異。為什麼有人會以這種方式解構一部文學天才的作品,而且是解構成這種無法被理解的形式?

事實是,馬爾科夫讀這本書並不是為了學習與生活和人性有關的知識,他是在尋找文本中更基本的數學結構。

之所以要分離元音和輔音,是因為馬爾科夫正在測試他從 1909 年就一直在研究的概率論研究(https://www.americanscientist.org/article/first-links-in-the-markov-chain)。

在那之前,概率領域的研究大多局限於分析像輪盤賭或拋硬幣這樣的現象,在這些研究中先前事件的結果不會改變當前事件的概率。但馬爾科夫認為,大多數事情的發生都是有一連串的因果關係的,並且依賴於之前的結果。他想要找到通過概率化的分析對這些事件進行建模的方法。

馬爾科夫認為,語言就是這種系統的一個例子:過去出現的字符在一定程度上決定了現在的結果。為了確認這一點,他想證明在普希金小說這樣的文本中,某個字母在文本中出現的機率在某種程度上是取決於之前出現的字母的。

因此才出現了本文開頭馬爾科夫統計「尤金·奧涅金」中元音的那一幕。通過這次統計,他發現 43% 的字母是元音,57% 是輔音。然後馬爾科夫將這 2 萬個字母分成元音和輔音組合:他發現有 1,104 對「元音-元音」,3,827 對「輔音-輔音」,15,069 對「元音-輔音」和「輔音-元音」組合。從統計學上講,這表明普希金的文本中任何一個字母,如果是元音,下一個字母很可能是輔音,反之亦然。

馬爾科夫用這個分析證明了普希金筆下的「尤金·奧涅金」不僅僅是字母的隨機分布,還存在一些潛在的可以建模的統計特性。根據這份研究產出的高深論文「An Example of Statistical Investigation of the Text Eugene Onegin Concerning the Connection of Samples in Chains」在馬爾科夫生前並沒有被廣泛引用,並且直到 2006 年才被翻譯成英語。

但它的一些關於概率和語言的核心概念已經在全球範圍內傳播開來,並最終在克勞德·香農(Claude Shannon)1948 年發表的極具影響力的論文「A Mathematical Theory of Communication」中發現了對這些思想的重述。

馬爾科夫論文:

www.cambridge.org/core/journals/science-in-context/article/an-example-of-statistical-investigation-of-the-text-eugene-onegin-concerning-the-connection-of-samples-in-chains/EA1E005FA0BC4522399A4E9DA0304862

香農論文:http://www.math.harvard.edu/~ctm/home/text/others/shannon/entropy/entropy.pdf

香農(Shannon)的論文概述了一種精確測量消息中信息量的方法,從而為定義數字時代的資訊理論奠定了基礎。香農深深地被馬爾科夫的觀點所吸引:即在給定的文本中,可以估計出出現某個字母或單詞的可能性。和馬爾科夫一樣,香農通過一些文本實驗證明了這一點,這些文本實驗除了建立語言的統計模型外,還嘗試了使用該模型根據這些統計規則生成文本。

在最初的控制實驗中,他先從包含 27 個符號的字母表(26 個字母,加上一個空格)中隨機抽取字母以生成句子,並獲得以下輸出:

XFOML RXKHRJFFJUJ ZLPWCFWKCYJ FFJEYVKCQSGHYD QPAAMKBZAACIBZLHJQD

香農說,這句話是毫無意義的噪聲,因為當我們交流時,我們不會以相同的概率選取字母。正如馬爾可夫所證明的,輔音比元音更有可能出現。但是在更高的粒度級別上,E 比 S 更為常見,S 比 Q 更為常見。為了解決這個問題,Shannon 修改了他的原始字母表,使得這個模型更精確地對英語的概率進行建模——他從字母表中提取出 E 的可能性比 Q 的可能性高 11%。當他再次從經過重新校準的語料庫中隨機抽取字母時,生成的句子開始跟英語有點接近了:

OCRO HLI RGWR NMIELWIS EU LL NBNESEBYA THEI EEI ALHENHTTPA OOBTTVA NAH BRL。

在隨後的一系列實驗中,香農證明了,當你把統計模型變得更複雜時,你得到的結果會越來越容易理解。香農通過馬爾可夫的理念揭示了英語的統計框架,並表明通過對該框架建模(通過分析字母和單詞相互組合出現的相關概率),這些模型可以生成真正意義上的語言。

給定文本的統計模型越複雜,語言生成就越準確——或如香農所說,「與普通英語文本的相似性」越大。在最後的實驗中,香農從語料庫中提取單詞,而不是字母,並得到如下結果:

THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD FOR THE LETTERS THAT THE TIME OF WHO EVER TOLD THE PROBLEM FOR AN UNEXPECTED.

對於香農和馬爾科夫來說,「語言的統計特性可以被建模」這個觀點為他們重新思考他們正在研究的更廣泛的問題提供了一個思路。

對於馬爾科夫來說,它將隨機性的研究擴展到相互獨立的事件之外,為概率論的新時代鋪平了道路。對香農來說,這幫助他發現了一種精確的測量方式以及編碼消息中的信息單元,這個發現徹底改變了電子信息以及現在的數字通信行業。他們在語言建模和生成方面的統計方法也開創了自然語言處理的新時代,這一時代一直延續到今天。

相關焦點

  • 語言識別模型的起源,一個數學家數了數小說中的 20000 字母
    馬爾科夫用這個結果證明《尤金 · 奧涅金》的文本不是字母的隨機分布,而是具有可以建模的基本統計的性質。後來,人們稱馬爾科夫這是給自己的數學技能找到一個實際用途——用鏈模型來模擬俄羅斯文學中輔音和元音的頭韻法。
  • 語言識別模型源於一個數學家讀小說的故事
    馬爾科夫還將這些字母分成成對的元音和輔音組合,結果是:1104 個元音對、3827 個輔音對、15069 個元音 - 輔音和輔音 - 原因對。從統計學看,這證明,在普希金文本中的任何給定字母,如果是元音,則下一字母可能是輔音,反之亦然。馬爾科夫用這個結果證明《尤金 · 奧涅金》的文本不是字母的隨機分布,而是具有可以建模的基本統計的性質。
  • 一個數學家數了數小說中 20000 個字母,然後誕生了語言識別模型
    再以語音系統為例,隱形馬爾科夫模型在語音處理上,可以通過隱藏條件猜測下一個音,具體可從語義和發音兩方面看。一是單字的發音有前後關係,如英語中的&34;常常發音成&39;re&34;Did you&34;you&34;did&34;did ju"。語音識別需要考慮到每個音節的前後關係,才能有較高的準確率。
  • 一個數學家數了數小說中 20000 個字母,然後誕生了語言識別模型
    馬爾科夫用這個結果證明《尤金·奧涅金》的文本不是字母的隨機分布,而是具有可以建模的基本統計的性質。後來,人們稱馬爾科夫這是給自己的數學技能找到一個實際用途——用鏈模型來模擬俄羅斯文學中輔音和元音的頭韻法。鏈模型就是馬爾科夫鏈,又稱離散時間馬爾科夫鏈,指在狀態空間中,從一個狀態轉換到另一個狀態的隨機過程,該過程是「無記憶」性質的,下一狀態的概率分布只能由當前狀態決定。
  • 科普自然語言處理
    例如,漢語、英語、日語為自然語言的例子,這一種用法可見於自然語言處理一詞中。自然語言是人類交流和思維的主要工具。以上是百度百科對自然語言的釋義。語言是信息的載體,如同數字、文字、圖像、視頻等一樣,它們的目的都是為了記錄和傳播信息。
  • 自然語言處理的經驗主義和理性主義
    面對基於數據統計和機器學習算法的自然語言處理取得的這些令人鼓舞的輝煌成績,有些學者的頭腦開始發熱起來,他們輕視自然語言處理中基於規則的方法,甚至貶低那些從事研究基於規則的自然語言處理的學者。他也開始貶低語言規則在自然語言處理中的正面作用。傑裡內克和奧赫都是在自然語言處理中卓有成就的學者,他們上述的言論值得人們注意和深思。
  • 自然語言處理深度學習的7個應用
    自然語言中仍有許多具有挑戰性的問題需要解決。然而,深度學習方法在一些特定的語言問題上取得了最新的成果。這不僅僅是深度學習模型在基準問題上的表現,基準問題也是最有趣的;事實上,一個單一的模型可以學習詞義和執行語言任務,從而消除了對專業手工製作方法渠道的需要。在這篇文章中,你會發現7個有趣的自然語言處理任務,也會了解深度學習方法取得的一些進展。
  • CNCC 2019 | 劉群:基於深度學習的自然語言處理,邊界在哪裡?
    今天我不講我的具體工作,而是講我多年來研究機器翻譯、自然語言處理的一些體會和感想,從更加抽象的層面討論一些問題,這些想法不一定成熟,如有不恰當的地方,希望大家指正!自然語言處理的範式遷移:從規則、統計到深度學習相信大家對自然語言處理的範式遷移,都深有體會。以機器翻譯為例,很多年前大家都是採用基於規則的方法,基本思想是依靠人來寫規則並教機器如何去翻譯。
  • 復旦大學黃萱菁:自然語言處理中的表示學習
    復旦大學黃萱菁帶來報告《自然語言處理中的表示學習》。黃萱菁,復旦大學計算機科學技術學院教授、博士生導師。1998年於復旦大學獲計算機理學博士學位,研究領域為人工智慧、自然語言處理、信息檢索和社會媒體分析。兼任中國中文信息學會常務理事,社會媒體專委會副主任,中國計算機學會中文信息技術專委會副主任。
  • 閒談深度學習在自然語言處理領域的5大關鍵優勢
    在自然語言處理領域,深度學習將給予最大的幫助,深度學習方法主要依靠一下這五個關鍵優勢,閱讀本文將進一步了解自然語言處理的重要深度學習方法和應用。 在自然語言處理領域,深度學習的承諾是:給新模型帶來更好的性能,這些新模型可能需要更多數據,但不再需要那麼多的語言學專業知識。
  • 自然語言生成的演變史
    每當我們聽到「AI」一詞時,我們的第一個想法通常是電影中的未來機器人,如終結者和黑客帝國。儘管我們距離可以自己思考的機器人還有幾年的時間,但在過去幾年中,機器學習和自然語言理解領域已經取得了重大進展。 個人助理(Siri / Alexa),聊天機器人和問答機器人a等應用程式真正徹底改變了我們與機器和開展日常生活的方式。
  • 自然語言處理 NLP 發展簡史
    這一系列顛覆性的研究成果在學術界引發轟動,激發了人工智慧(AI)的思潮,同時也催生了自然語言處理(NLP)和計算機技術的發展。NLP 的早期理論基礎人們最早對 NLP 的探索始於對機器翻譯的研究。1947年,美國科學家韋弗(W. Weaver)博士和英國工程師布斯(A. D.
  • 大牛講堂 | 語音專題第二講,語言模型技術
    負責百度超大語言模型訓練,語音交互技術研發以及語音搜索、語音輸入法、語音助手等產品的語音識別優化。現在地平線負責語音識別、自然語言處理等相關技術算法研究。語言模型技術語言模型技術廣泛應用於語音識別、OCR、機器翻譯、輸入法等產品上。語言模型建模過程中,包括詞典、語料、模型選擇,對產品的性能有至關重要的影響。
  • 最大熵方法及其在自然語言處理中的應用研究
    要想切實的減少人機交流過程中的阻礙,需要在編製程中加強計算機設備對於自然語言的多重性領會,可以領悟到自然語言本身所具有的思想意識。上述兩種階段,前一種被稱作是自然語言理解,後一種責備稱作為自然語言生成。自然語言的處理總體上包含著自然語言的領會以及語言意識生成兩種環節,在過去的幾年中,研究人員對於自然語言的研究頻率較為廣泛,但是自然語言的生成探索程度較為薄弱,此種情況正在隨著探究而發生轉變。
  • 科普丨什麼是NLP(自然語言處理)
    自然語言處理(NLP)是一種專業分析人類語言的人工智慧。(下文皆簡稱為「NLP」),它的工作原理是這樣的:接收自然語言,這種語言是通過人類的自然使用演變而來的,我們每天都用它來交流轉譯自然語言,通常是通過基於概率的算法分析自然語言並輸出結果
  • 12 種自然語言處理的開源工具
    Python 工具自然語言工具包(NLTK)毋庸置疑, 自然語言工具包(NLTK) 是我調研過的所有工具中功能最完善的一個。它幾乎實現了自然語言處理中多數功能組件,比如分類、令牌化、詞幹化、標註、分詞和語義推理。每一個都有多種不同的實現方式,所以你可以選擇具體的算法和方式。同時,它也支持不同的語言。
  • NLP 與 NLU:從語言理解到語言處理
    同理,在自然語言處理領域中,自然語言處理(NLP)的概念是否會讓位於自然語言理解(NLU)? 或者兩個概念之間的關係是否變得更微妙,更複雜,抑或只是技術的發展?在這篇文章中,我們將仔細研究NLP和NLU的概念以及它們在AI相關技術中的優勢。值得注意的是,NLP和NLU儘管有時可以互相交換使用,但它們實際上是兩個有一些重疊的不同概念。
  • 國內自然語言處理(NLP)研究組
    中國大陸地區:微軟亞研自然語言計算組 Natural Language Computing (NLC) Grouphttps://www.microsoft.com/en-us/research/group/natural-language-computing/www.microsoft.com百度自然語言處理百度自然語言處理 - 理解語言,擁有智能,改變世界
  • 阿爾伯塔大學博士畢業論文:基於圖結構的自然語言處理
    機器之心發布 機器之心編輯部 自然語言處理(Natural Language Processing)是人工智慧的核心問題之一,旨在讓計算機理解語言,實現人與計算機之間用自然語言進行通信。
  • 洞察|一文帶你全面了解自然語言處理發展史上的8大裡程碑
    自然語言處理(Natural Language Processing,NLP)已經慢慢演變為計算機科學領域與人工智慧領域中的一個重要方向,高效地用自然語言與計算機進行通信,被視為解決人工智慧完備(AI-complete)的核心問題之一,其中存在著一系列挑戰。