Zipfの法則って結局どういう扱いなんだっけ?今更他人に聞けないのでPiantadosi (2014)を読んでこっそり勉強

背景

言語学分野では、Zipfの法則(Zipf's law)と呼ばれる統計的普遍性質が知られています。

Zipfの法則とは、出現頻度が $r$ 番目に多い単語について、その出現頻度がおおよそ $\dfrac{1}{r}$ に比例するという経験則です。 すなわち $r$ 番目の単語の出現頻度を $f(r)$ としたとき、

$$ f(r) \propto r^{-\alpha} $$

が成り立つという経験則です(ここで $r \approx 1$ ですが、厳密には $\sum_{r=1}^{\infty} f(r) < \infty$ となるために $r>1$ である必要があります)。 その名の通り、この経験則は言語学者 George K. Zipf によって発見されました。

式だけ見てもピンと来ないという方は、ぜひWikipediaの当該記事をご覧ください。 この記事によれば、なんと30ヶ国語においてZipfの法則が成り立つそうです。

ja.wikipedia.org

言語の大いなる複雑性を予感させるこの経験則は、言語の研究をする者にとっては非常に魅力的で、何故このような普遍性質が生まれてくるのだろうかとついつい思いを馳せてしまうものです。 これに対するよくある仮説は、発見者の George K. Zipf 本人が言っていたように *1 、Zipfの法則は「できるだけ多くの情報を得たい聞き手側の要請」と「できるだけ手短に発話を済ませたい話し手側の要請」という、相反する(トレードオフの関係にある)二つの要請の間で行われる最適化の帰結である、というものです。 この考え方自体は直感的にかなりそれっぽく感じられるのですが、Zipfの法則について考えるときには一つ注意すべき点があります。 それは、冪分布( $f(r) \propto r^{-\alpha}$ のこと)が創発する原理には無数のシナリオがあり得るということです。 つまり「Zipfの法則の原理を "説明できた気になれてしまう" シナリオは実は他にもたくさん知られているので、1つの説明だけに飛びつくのは危ないかもしれないよ」ということです。

Zipfの法則にまつわる「無数のシナリオ」には具体的にはどんなものがあるのか、恥ずかしながら今までちゃんと把握できていませんでした。 そこで、今回は以下の論文 Piantadosi (2014) を読んでみて、趣旨を簡単にまとめてみようと思い至りました。

Piantadosi, S.T. Zipf’s word frequency law in natural language: A critical review and future directions. Psychon Bull Rev 21, 1112–1130 (2014). https://doi.org/10.3758/s13423-014-0585-6 link.springer.com

Steven T. Piantadosiの論文には、パンチの効いた興味深いものが多い気がします。 この記事の内容とは関係ないですが、つい最近も以下のChomsky批判論文で一部の人々をざわつかせていました。

lingbuzz.net

Piantadosi (2014) の内容について

near-zipfian

上でも述べたように、Zipfの法則は $f(r) \propto r^{-\alpha}$ という形で表されまが、しばしばZipf-Mandelbrot lawなどとも呼ばれる表現

$$ f(r) \propto (r + \beta)^{-\alpha} $$

も使われるそうです。 Piantadosi (2014) では、より一般的な後者をfitting curveとして採用し、これをnear-zipfianと呼ぶことにしています。

冪的なモデルでfittingするときに注意すべきこと

以上の前置きをしたうえで、現実世界の単語の頻度分布はnear-zipfianよりもさらに複雑であることを忘れてはいけないとPiantadosiは指摘しています。 冪分布的なモデルは上記のもの以外にも提案されており、扱うコーパスデータによって一番よくfitするモデルは異なるそうです。 そういった意味で、冪分布的なモデルは「全て間違って」います。 またそれ故に「モデルがデータにまぁまぁよくfitしているように見える」という結果を以てそのモデルが適切であるかどうかを判断していいのかはかなり怪しいです。 例えば、Zipfの法則が次のような、しょうもないアーティファクトから生じた "ノイズ" に過ぎないとしたらどうでしょうか?

実は単語の出現確率は一様なのだが、実際に得られる有限個のサンプルにはどうしても偏りが生じてしまうので、それがたまたま冪分布っぽく見える。

6面サイコロを何回か振れば、すぐにそれが一様分布であることに気が付くでしょうが*2、もしそれが100面サイコロ、1000面サイコロ、10000面サイコロ、……だったとしても、有限回の試行で同じ結論に達することができるでしょうか…? ちょっと怪しいですよね…。 モデルがまぁまぁデータにfitしているというだけでは、同じことが単語の場合でも起こっている可能性を排除できないのです。 幸いにも、コーパスデータをランダムに「出現頻度ランキング $r$ を調べる」用と「各単語の出現頻度 $f$ を調べる」用に2分割して、それぞれ独立にランキングと出現頻度を調べたのち、それらを統合して得られたデータに対してもなおモデルがまぁまぁよくfitするようであれば、このようなアーティファクトを回避できるとPiantadosiは指摘しています(助かった…!)。

Zipfの法則を "説明できた気になれる" モデルたち

モデルfittingの方法論が妥当であるかどうかを確認しただけでなんだか疲労感がすごいですが、Zipfの法則を "説明できた気になる" モデルは、実はこれまでにいくつも提案されてきています(ひえ~!)。 Piantadosi (2014) 内の "Models of Zipf's law" という名前のセクションでは、以下の6つの分類が与えられています:

  1. Random-typing accounts
  2. Simple stochastic models
  3. Semantic accounts
  4. Communicative accounts
  5. Explanations based on universality
  6. Other models

以降では、これらのモデルの概要をそれぞれ説明していきたいと思います。

1. Random-typing accounts

Zipfの法則は(上述した問題とは別種の)単なる統計的なアーティファクト(statistical artifact)に過ぎないのでは?という指摘が一定数あります。 というのも、モンキータイピング系列ですら、冪分布に従う単語の頻度分布を生み出してしまうことが知られているからです。

モンキータイピング系列とは、ランダムに生成された文字列のことを指します。 その名前が示す通り、お猿さんがランダムにキーボードを叩いたときに生成されそうな文字列ということですね。 別のイメージとしては、各面にアルファベット(+スペースキー)が表記された多面サイコロを振り続けて、出目を逐次記録していったときにできる系列ともいえるでしょう。

モンキータイピング系列には、一定確率でスペース文字が入り込みます。 これを疑似的な単語区切りだと思うことにして、頻度ランキングと頻度の関係をプロットしてみることにしたとします。 すると、ランダムに生成された系列であるにもかかわらず、そのプロットが冪分布に従うというのです。 直感的には、長い "単語" は「ずっとスペースキー以外をタイプし続けた」ときにしかお目にかかれないので、短い "単語" に比べて出現確率が低くなります。 この出現確率の偏りが冪分布を生むというわけです*3

一度この説明を見てしまうと、モンキータイピング系列ですら冪分布に従うのだから、Zipfの法則に関してあれやこれやと具体的なシナリオを考えても仕方がないのでは?という気持ちに、少しだけなってしまいますね……。

ちなみにですが、この手の解釈の仕方(または5. Explanations based on universalityのような説明)が好きな方には『言語とフラクタル』もオススメです。

www.utp.or.jp

一方で、人間がモンキータイピング系列を生成しているわけではないことは明らかなので、流石にもう少し現実に即した説明もすべきではとPiantadosiは指摘しています。 確かにそれもそうだ。

2. Simple stochastic models

シンプルな統計モデル(あるいは確率過程)を想定するだけでZipfの法則を再現できるという話もあります。 Yule-Simon過程なんかがその代表例です。

Yule-Simon過程は、大雑把に次のような手順で系列を生成する確率過程です: 確率 $p$ で新しい "単語" を生成する。確率 $1-p$ で今までに生成したことのある "単語" を選択する。このとき、これまでに出現した回数の多い "単語" ほど選ばれる可能性が高くなるようにする(preferential attachment)。

いわゆる「金持ちはより金持ちに(The rich get richer)」に従って "単語" の出現頻度に偏りが生じていきます。 また、一定確率 $p$ で新しい単語も生まれるので、冪分布の独特の形状(両対数グラフで右肩下がりの直線)もちゃんと保持されます。 これまでによく使われた単語が今後もよく使われるという考え方は、非常に直感的でわかりやすく、面白い説明です。

しかしながら、Monkey-typing accountsと同様、現実世界のシナリオをどう関連しているのかをちゃんと説明できていないとPiantadosiは指定しています。

[脱線] Piantadosi (2014) では触れられていないみたいですが、他にもPitman-Yor過程などが知られています。 持橋先生らの研究によれば、これを階層化したバージョン(階層Pitman-Yor過程)を用いると、可変長n-gramモデルを構築できたりするらしいです。 http://chasen.org/~daiti-m/paper/ipsj07vpylm.pdf

3. Semantic accounts

上記2つの説明は、一般的な意味での単語というよりは、抽象的・統計的な系列のことを便宜的に単語としたときの議論に基づいていました。 しかし、現実世界の多くの単語は明らかに「意味」と紐づいていますよね。 だとすると、単語の頻度分布を決めているのは、実は意味構造のほうなのではないかと考えることもできます。

例えば、

  • true/false/undefinedの3値で表される意味の単位(seme)が各単語にいくつか付与されていて、これを効率的に伝達しようとするとZipfの法則が生じる(Guiraud, 1968)
  • 階層性のある意味構造上にシノニム(同義語)が極力生じないようにラベル(≒単語)付けをした結果としてZipfの法則が生じる(D. Manin, 2008)

などの説明がこれまでにされてきたようです。

意味が単語の頻度分布に何らかの影響を及ぼしている可能性は否定できないとしつつも、それが全てではないとPiantadosiは指摘しています。 このことを確かめるために、Piantadosiは(1月2月のほうの)月、惑星、元素、タブーワード、数字に関する単語群にそれぞれ焦点を当てて、ランキング-頻度分布を調べています。 これらは、外的な要因のせいで、他の単語に比べてそんなに自由に頻度を変えられないはずです。 ところが、これらの単語群に絞った場合でもやはりnear-zipfianな分布が現れることが明らかになりました。 また、Piantadosiは、Amazon Mechanical Turk (AMT) で集めたテキストデータを用いた検証も行っています。 AMTにて被験者に与えたプロンプトは以下のようなものでした:

An alien space ship crashes in the Nevada desert. Eight creatures emerge, a Wug, a Plit, a Blicket, a Flark, a Warit, a Jupe, a Ralex, and a Timon. In at least 2000 words, describe what happens next. (ネバダ砂漠に宇宙船が墜落する。8体の生物が現れる。ワグ、プリット、ブリケット、フラーク、ワリット、ジュペ、ラレックス、そしてティモン。次に何が起こるかを2000字以上で述べよ。)

ここで、8体の架空の生物(エイリアン)が登場しますが、当然ながら、これらの頻度分布は事前には定まっていません。 それにもかかわらず、やはりこれらもnear-zipfianな分布に従うことが示されました。 これらの実験結果から、意味がZipfの法則の全てを説明できるわけではなさそうだとPiantadosiは結論付けています。

4. Communicative accounts

次にPiantadosiが紹介しているのは、コミュニケーション(情報伝達)における何らかの最適化問題としてZipfの法則を説明するアプローチです。 これは、発見者であるZipf本人も唱えていたものでした。 Zipfは、話し手(speaker)と聞き手(listener)の努力(effort)の間のトレードオフを考えることでZipfの法則が説明できると考えました。 後にMandelbrotが、情報理論的なコストの最小化問題として説明できると主張し、その理論はさらにD. ManinやFerrer i Canchoらによって拡張されてきたようです。

Ferrer i Canchoらは、一連の研究の中で、意味 $X$ と記号 $S$ の間の相互情報量 $I(X; S)$ 最大化問題(できるだけ多くの情報を知りたいという聞き手側の都合)と記号 $S$ のエントロピー $H(S)$ の最小化問題(できるだけ楽に済ませたいという話し手側の都合)のトレードオフを考えました:

$$ \textrm{minimize}~\Omega(\lambda) = I(X; S)-\lambda H(S). $$

ここで $\lambda$ は両者のバランスを取り持つハイパーパラメータです。 Ferrer i Canchoらは $\lambda$ がちょうどよい値(論文によって0.4付近だったり0.5付近だったりします)になるとき、Zipf's lawが出現することを示しました(ある種の「相転移」的な現象が起きます)。

ただし、これが妥当なモデルであるかどうかを判断するには(数学的にはちゃんとした議論であるということ以外にも)意味やコミュニケーションについて更なる議論が必要であるとPiantadosiは指摘しています。 また、 $\lambda$ のある閾値を境に急激に性質が変化するというのは、頑健性に欠けるためにモデルとして不適切である可能性も指摘しています(このような考え方はSpearman's principleというそうです)。

5. Explanations based on universality

1~4で紹介したような説明よりも更に一般性の高い説明(explanations based on universality)も取りあげられています。 例え話として、Piantadosiは中心極限定理(Central Limit Theorem; CLT)と正規分布に言及しています。 世の中の様々な場面で我々は正規分布に出会いますが、これはCLTによるものであると一般に受け入れられています。 つまり「いろんな場面で正規分布に出会うのは、CLTという数学的必然性によって世の中の大体の分布が正規分布化されてしまうからであろう」とみんなとりあえず納得しています。 もしこれの冪分布バージョンに相当する原理があったとしたら、Zipfの法則を説明する強力な議論になりそうな気がしますよね*4。 もしそのような説明が可能であれば、最早自然言語に限った話ではなく、統計的必然として冪分布は現れるものであり、Zipfの法則もその一例に過ぎないという(説明1や説明2よりも更に一般的な)説明が与えられるはずです。

実際その手の指摘は数多くあり、Piantadosi (2014) の中では、以下のような研究事例が紹介されています*5

  • Corominas-Murtra & Solé (2010)
  • Y. I. Manin (2013)
  • S. A. Frank (2009)

また、Zipfian distribution は最も一般的な分布(most common distribution)の1次近似、Zipf-Mandelbrot distribution はその2次近似に相当しているという指摘 (Belevitch, 1959) もあるそうです。 これは要するに「なんか複雑なcurveを、その1次近似でfitしているだけなんだから、まぁまぁfitするのは当然なんじゃない?」という身も蓋もない指摘をしている研究もあるということだと思われます。

これらは、科学のより広範な視点からZipfの法則を考察しているという意味で非常に興味深いものですが、一方で、これらの説明は「予測可能性」に難があり、 この手の説明が「正しい」または「正しくない」と結論付けるためにどういう検証をしたらよいかが不明瞭である(反証可能性に乏しい?)ことに問題があるとPiantadosiは考えているようです。

6. Other models

1~5の分類に当てはまらないような説明も多く存在するようです。 以下の文献が紹介されていました:

  • 要素をランダムにグループ分けする過程からZipfの法則が生じるという説明 (Baek et al., 2011)
  • ある2種類のエントロピーを同時に最大化する結果として生じるという説明 (Arapov & Shrejder, 1978)
  • Fisher Informationを用いて説明 (Hernando et al., 2009)
  • シンプルな語彙の増大モデル (Popescu, 2009)
  • 頻度順にソートされた語彙リスト上の線形探索 (Parker-Rhodes & Joyce, 1956)

Zipf's lawの今後について

Piantadosi (2014) の中で紹介されていたように、Zipfの法則は色んなシナリオで説明ができてしまいます。 そしてそれ故に、どの理論も説明としての説得力に欠けています。 より多くのデータに対するモデルの妥当性を検証していくことが、正しい理論的説明を見定めるのに重要であるとPiantadosiは指摘しています(正しい理論がもし本当に存在するのならば、の話ですけどね)。

個人的な所感

Zipfの法則の説明を試みた研究って本当に沢山あるんですね。 記事にまとめながら頭がこんがらがってきてしまいました。 1つ1つ咀嚼していけたらと思っています。

Emergent Communication (Language Emergence) の研究をしている一学生としては、Communicative accountsが一番都合の良い説明を与えてくれるのでつい飛びつきたくなっちゃいます。 が、やはり広範な視点から考察するのが重要そうですね。 せっかく調べたので、今後の研究に何らかの形で活かすことができたら嬉しいです。

*1:George Kingsley Zipf (1949), Human behavior and the principle of least effort, Addison-Wesley Press

*2:実際には、6面サイコロであっても一様分布に収束することを確認するのは容易ではないらしいです。参考記事:https://nwuss.nara-wu.ac.jp/media/sites/11/ssh19_04.pdf

*3:「そうだとすると、単語の長さは幾何分布(指数的)に従うはずで、冪的な分布にはならないのでは?」と感じた鋭い人向けの補足:"単語" が長くなるほど、文字の組合せのパターン数が指数的に増加していき、幾何分布の指数的な減衰とうまく打ち消し合うことによって冪が生じます。

*4:普通のCLTでは、期待値と分散が定義できる(有限である)確率分布からのサンプルの平均値を考えますが、これらの条件を緩めると冪分布が収束先になる場合があるらしいです(あんまり詳しくは知らないのですが)。

*5:ちょっとこの辺に関しては、当該論文を読み込んでみないと分からないことが多いですね…。勉強します。