第10回:言語表現の頻度

  • 言語表現の出現確率を求めるときに、最尤推定法ではうまくいかないことを知ること
  • ゼロ頻度問題とは何か、それを解決するにはどうすれば良いか、ということを理解すること
  • 平滑化の手法について知ること
  • 単語の出現の偏りがどういう問題を起こすのかを知ること

ゼロ頻度問題と平滑化

コーパスの中で、ある表現が1度も登場しない問題をゼロ頻度問題と呼びます。これは極めて大きな問題です。たまたまそのコーパスに出現しなかっただけなのに、最初から存在しないように扱われてしまうためです。単純に考えると、コーパス内で頻度がゼロである場合、出現確率が0であると見なされてしまいます。

ゼロ頻度問題に対応するため、平滑化 (smoothing) という手法で、出現頻度あるいは出現確率を修正することがあります。例えば、Laplace平滑化という手法では、全ての表現に対して、コーパス中で観測された頻度に1を加えます。コーパス中での頻度が0であっても、Laplace平滑化では必ず1が加えられるので、0にはならず 1になるわけです。これで、ゼロ頻度が防げるのです。なお、1を加える代わりに、1未満の小数(例えば0.5)を加えるという手段もあります。

やや極端な例ですが、“A cat chased a rat.”という5単語からなるコーパスを考えてみましょう。単純頻度で言えば、“a”が頻度2、“cat”・“chased”・“rat”が頻度1、その他の単語(例えば“the”や“desk”)は全て頻度0となります。Laplace平滑化を行うと、“a”が頻度3、“cat”・“chased”・“rat”が頻度2、その他の単語は頻度1と見なされるわけです。

なお、これ以外にも、Good-Turing 平滑化など様々な平滑化の手法があります。

コーパス内での出現の偏り

コーパスを作るときは、文をばらばらに収録するよりは、ある程度まとまった分量で収録することが普通です。例えば、小説なら最初は57文目、その次は345文目、その次は793文目…といったようにばらばらで収録することはしないのです。むしろ、連続する数ページをまとめて収録するか、それこそ小説のテキストを丸ごと収録することになります。言語研究に当たっては、文単独で見るだけでなく、文章や会話の流れを見る場合もあるので、こっちの方が研究用のコーパスとしては都合が良いのです。

しかし、内容が連続する部分をまとめて収録すると、別の問題が起きます。例えば、「オーケストラ」という単語は、日常の語感からすると、頻出語とは言えないと思います。しかし、もしコーパスに収録された文章の中で、指揮者について論じた文章があったとしたらどうなるでしょうか。指揮者について論じた文章には、当然「オーケストラ」という単語がたくさん出てくるはずです。すると、たまたまそのコーパスに、このような題材の文章が含まれていたために、「オーケストラ」の頻度が実際より過大になってしまいます。実際によく使われているかどうかとは関係なく、たまたま頻度が大きくなってしまったのです。

この問題にはどう対処すれば良いのでしょうか。実は、コーパス内での表現の出現の偏りに着目すれば、頻度の過大評価を避けることができます。先ほどの例で言うと、「オーケストラ」という単語が出てくるのは、ほとんどが指揮者についての文章においてだと思います。コーパスの他の部分にはあまり出てこないはずです。つまり、「オーケストラ」の出現は、非常に偏っているということになります。これに対して、本当に頻出する表現なら、コーパスのどの部分でもバランス良く出現しているはずです。

つまり、コーパス内での出現の偏りが分かれば、本当に頻出する表現かどうかが分かるわけです。コーパス内での出現の偏りに関する指標は様々なものが提唱されていますので、探してみると良いでしょう。

  • 単語の出現確率の最尤推定を行ってください。
  • ゼロ頻度問題によってどのような問題が引き起こされるのか説明してください。
  • Laplace平滑化とはどのような手法でしょうか。またどのような問題点があるでしょうか。説明してください。
  • ネコの言葉には、「ニャーゴ」・「ニャン」・「ミウミウ」・「ミャーゴ」・「ミャン」という5つの単語しかないとします。今、ネコの言葉のコーパスとして、「ニャン ミャーゴ ミャーゴ ミャーゴ ニャン ミャン ミャン ミャーゴ ニャン ミャーゴ ニャン ミャン」というものがあるとします。
    • Laplace平滑化を行わないで、最尤推定法を用いて、「ニャーゴ」・「ニャン」・「ミウミウ」・「ミャーゴ」・「ミャン」の出現確率を求めてください。
    • 各単語の出現回数に1をプラスする方法でLaplace平滑化を行った場合の「ニャーゴ」・「ニャン」・「ミウミウ」・「ミャーゴ」・「ミャン」の出現確率を求めてください。
    • このコーパスに含まれる2-gramの頻度を全て求めてください。(2-gramが何か分からない人へ:連続する2つの単語の組み合わせで、2つの単語の順序を無視しないものと考えてください。)
    • このコーパスでは、「ミウミウ ニャーゴ」、「ニャン ニャーゴ」、「ミャン ニャン」という2-gramは、いずれも頻度がゼロとなっています。しかし、この3つの2-gramはそれぞれ状況が異なります。「ミウミウ ニャーゴ」はこれを構成する「ミウミウ」と「ニャーゴ」のいずれもコーパスに出現していません。これに対し、「ニャン ニャーゴ」は「ニャーゴ」こそコーパスに出現しないものの、「ニャン」はコーパス中に何度も出現しています。さらに、「ミャン ニャン」は、「ミャン」と「ニャン」のいずれもコーパス中に何度も出現しています。つまり、2-gramで頻度がゼロと言っても、その構成要素の頻度がゼロである場合とそうでない場合があります。この状況の差異をうまく処理する方法はないか考えてみてください。
  • コーパスの中での単語の出現の偏りはどういう問題を引き起こすのか説明してください。