齊夫定律:語言的統計學

我們說的語言、文學作品、還有斯諾克統計都遵循的數學原理。

人類學習、使用和處理語言的能力將我們與其他動物區分開來。語言被用於有效溝通,也讓我們可以通過文學、詩歌和歌曲等形式來表達我們的創造力。或許你從來沒注意過,其實語言的使用也遵循嚴格的數學原理,其中最著名的就是齊夫定律(Zipf』s law)了。

【 一點數學理論背景 】

如果將一篇長文中不同的詞按照出現的頻率由高至低排列,就會發現平均來說最常用的詞出現的頻率大約是第二常用詞的兩倍、是第三常用詞的三倍、等等等等。換句話說,一個詞出現的頻率 f(r) 與它在頻率表裡的排名 r 成反比:f(r) ∝1/r

哈佛大學語言學家喬治·齊夫(George Zipf)所描述的這一現象已經普及了70多年了。事實上,他提出了一個更一般化的關係:

△ 方程(1)

並認為對於單詞的頻率,參數 a 將會趨近於1.

上述關係是所謂的冪定律的一個例子。冪定律的一大特徵是在雙對數(log-log)坐標繫上,它遵循線性關係

顧名思義,雙對數坐標圖在 x 軸與 y 軸的值為等式兩邊的對數值。冪定律的線性關係可以通過對方程(1)的兩邊同取對數,並稍微重寫。

首先,我們將方程(1)改寫成一個適當的等式:

△ 方程(2)

其中 C 為常數。舉個例子,假設 C 等於最常用單詞(即 r=1 )的頻率 f(1),並且a = 1,那麼將數值代回方程(2),就會得到序列 f(1) = C,f(2) = f(1)/2,f(3) = f(1)/3 等等。

接著,我們對方程(2)的兩邊同時取對數,並將其重寫得到:

△ 方程(3)

我們知道直線的一般方程是 y = mx + b,其中 m 為直線的斜率,從方程(3)我們可以看到頻率方程的對數 log(f(r)) 對於排名 r 的對數 log((r)) 來說即為一條斜率為 -a 的直線。

我們稱這個在單詞頻率中觀察到的現象為齊夫定律。更有意思的是,我們在許多其他不同領域也觀察到同樣的現象。這種規律不僅出現在與語言密切相關的如音樂、計算機代碼等領域中也能在完全不相關的如城市的大小、網際網路和電網的網路連接的系統中出現它甚至還出現斯諾克的統計數據中(等下會講)!這些不同系統的主要區別在於,在對應的冪定律中參數a的值(即線性對數關係的斜率)可能很不一樣。

【實戰應用 】

作為具備科學精神的你,或許也想通過分析一些自己喜歡文章對齊夫定律進行檢驗吧!其實這並不難辦到。(下面以英文為例,有一些相關研究表明中文的語料庫也滿足齊夫定律)

我們可以使用像當代美國英語語料庫(COCA)這樣的網站來進行檢測,網站中列舉出了5000個最常用的英文單詞及其實際使用頻率。 COCA是一個4.5億字的當代英語文字的集合,涵蓋許多不同的文學類別和作者。

從這個列表中選出50個最常見的單詞,在雙對數坐標圖中繪製他們的頻率-排名關係。我們可以對頻率和排名的對數數值進行線性回歸分析,來檢測它們的線性關係,同時估算出冪定律中參數 a 的值。

△ 圖一:COCA資料庫的單詞頻率分佈。可以通過R編程進行線性回歸分析[2]。

圖一所示的回歸為最符合數據的直線,斜率為-0.922,即對應的冪定律中的a = 0.922,這是一個接近1的數值,正如齊夫最初所述。此外,根據回歸統計,這種線性關係可以解釋觀察到的頻率分佈的98%,對了解一點統計學的人可能會熟悉R^2=0.98這種表達,這是一個非常好的數值。

那這個結果會不會只是一個巧合呢?我們可以換一個例子,圖二是從達爾文《物種起源》中單詞的頻率數據。通過線性回歸分析找到對應冪定律的參數值為a = 0.829,略低於COCA資料庫的參數值,但直線的擬合部分卻更好,達到R^2 = 0.99。

△ 圖二:《物種起源》的單詞頻率分佈。可以利用Semantic Depth Analyzer[3]來查看該書的頻率數據。

通過以上的例子可以看出,儘管這兩者都遵循冪定律,COCA資料庫中的「平均」單詞頻率分佈與獨立書籍之間是有差異的。首先各自冪定律的參數值不同,例如COCA資料庫的參數值 a = 0.922,而《物種起源》的 a = 0.829;然而可能更重要的是,具體單詞的實際排名r之間也存在差異。

例如,COCA排名中的前五個單詞依次分別是 the、be、and、of 和 a;而在達爾文的《物種起源》中前五個單詞的排名是 the、of、and、in 和 to。

【斯諾克中的齊夫定律 】

這裡舉一個有意思的例子。不知道大家看了前陣子剛剛結束的斯諾克世界錦標賽了沒?其實,齊夫定律也存在於斯諾克統計中。

△表一:單杠過百的選手的部分排名。(圖片來源:http://snookerinfo.webs.com/100centuries)

如果你熟悉斯諾克,肯定對「單桿過百」這個概念不陌生,也就是在一桿內連續得分超過100分,其中最高得分是滿分147,我們稱它為「滿桿」。斯諾克單桿過百排名列出了所有在職業賽事中單桿打出過100分的選手,名列其榜首的就是「火箭」奧沙利文(Ronnie 「The Rocket」 O』Sullivan),在他的職業生涯中,已經打出了874桿單桿過百,其中13桿為滿桿。

△圖三:斯諾克選手單杠過百的統計分佈。

如果將這些統計的數據繪製在雙對數坐標圖中,並進行冪定律擬合,就能得出如圖三所示的結果。雖然比起前面單詞頻率的例子,圖中所示的擬合直線與數據和吻合程度稍低一些,但R^2 = 0.95也意味著它仍然是一個合理恰當的擬合。對最高和最低排名的數據來說,實際數據和擬合之間的差異更加明顯,這是統計數據中通常會出現的情況。對應的冪定律的參數為a = 0.594,這與單詞頻率的參數完全不同。但是,發現齊夫定律存在在斯諾克統計中著實是個有趣的驚喜!

【讓你的話「算」話】

不同文本或不同作者之間的實際單詞頻率分佈會有差異,這不禁讓我們想到,是否可以通過特定的頻率分佈來了解其作者的一些信息呢?

事實上,心理學家詹姆斯·彭尼貝克(James Pennebaker)認為,作者如何表達自己的想法從一定程度上揭示了他們自身的性格。尤其是一些功能詞(如代詞、冠詞這些傳達信息不大的詞)的使用顯然與作者的社會和心理狀態直接相關。簡單地說,你的用詞能說明你的個性

彭尼貝克和他的同時開發了一款複雜的計算機程序[4],用它收集關於作者使用的不同類別的單詞的統計信息。他們用這個軟體分析了數千本的書籍、博客和演講等等,並且能夠將作者的具體用語與他們的個性、誠實度,社會技能和意圖聯繫起來。這種關聯早在很久以前就被發現,但藉助這個新的軟體工具,可以開展更詳細、規模更大的調查,在語言學和心理學之間建立穩固的聯繫。

統計學的語言並不總是那麼易懂,但統計分析提供了一個有用且多功能的工具。而它的數學語言也可以被用來分析自然語言,通過計算你說的話來「丈量」你的話——這就是語言統計學。

參考來源:

【1】https://plus.maths.org/content/

【2】https://plus.maths.org/content/r-code-linear-regression

【3】http://1.1o1.in/en/webtools/semantic-depth

【4】https://liwc.wpengine.com

你可能會喜歡