2 つの単語が一緒に使われる傾向を統計的に示すのがコロケーション統計です。
Collocation では、検索した語 (キーワード・中心語) に対して、あらかじめ指定した範囲内に現れる単語を共起語として集計しますが、これが一番基本的なコロケーション統計である共起頻度です。
次の例は、FROWN コーパスを使って、Collocation で government を検索した結果です。
共起頻度は、指定範囲内に出現する単語の頻度を集計したものなので、当然ながら共起語自体のコーパス内での頻度に強く影響されます。上の例でも分かるように、機能語など高頻度語は共起語としての共起頻度も当然高くなります。
高頻度機能語への対処としては、Word Count と同様に、ストップワードを使えるように準備して、設定の一般で、ストップワードの機能をオンにして共起語の集計をします。
次の例は、上の例と同じく、FROWN コーパスで government を検索した結果ですが、ストップワード処理をしています。これを見ると分かるように、最初の共起語のリストよりは意味のあるリストになっているのではないでしょうか。ちなみに、一番上の s は、所有格の s で、government を検索すると、' が記号と判別されるため、government's の government だけが検索語にマッチして集計されるため、's が右側のコンテクストに残り、' で始まっている場合は ' が記号と判断されるため、s 1 文字が右側の共起語として集計されています。
共起語の共起頻度だけでなく、他のコロケーション統計値も計算できます。
ただ、コロケーション統計値の計算には、コーパス内で共起語となる単語とキーワード (中心語) の頻度を利用するため、Word Count で、コロケーション検索を行ったのと同じファイル・コーパス・データベースで単語リストを作成する必要があります。
ここでの例では、FROWN コーパスでコロケーション検索を行ったので、Word Count で、同じく FROWN コーパスの単語リストを作成します。
これで、コロケーション統計値を計算する準備ができました。
コロケーション統計値を計算するには、メニューの統計にあるコロケーションから、計算したい統計値を選びます。
統計値の計算は、BNC Web マニュアルのページにあるものは、その再現をしています。このうち、MI、MI3、z-score、Log-Log では、設定の統計で範囲を計算に含むにチェックが入っている場合、共起範囲を考慮に入れた計算が行われます。
MI (Mutual Information: 相互情報量)
2 つの単語の共起する確率が、それぞれの単語が独立して存在する確率と比べてどれくらい大きいのかを比べています。共起頻度が低くても、共起する割合が高ければ高い値になってしまうので注意が必要です。例えば、それぞれコーパスでは 1 回しか出現しないある 2 つの単語が共起した場合 (指定した範囲内に現れた場合)、MI の値は高くなりますが、コロケーションとして意味がある共起かどうかは疑問が残ります。このため、最低共起頻度を設定してそれ未満のものを取り除くのが一般的です。
MI3 (Mutual Information Cubed: 相互情報量の 3 乗)
MI が低頻度の共起ペアで高い値になってしまうことを、MI の計算で共起頻度を 3 乗して共起頻度に重み付けをして対処しようと試みたものです。MI よりは安定した結果が得られるようです。
Log-Likelihood (Log-Likelihood Ratio: 対数尤度比)
2 つの単語が独立して出現すると仮定した時に、共起する確率がどれだけ小さいか (稀であるか) を見る指標です。キーワード分析と同じく、有意確率を確認するための指標であって、共起の強度を示す統計値ではありません。大きなコーパスで安定していると言われています。ただ、これも MI と同じく、低頻度ペアで有意になる可能性があるので、共起頻度でフィルターをかける必要がある場合があります。
t-score
対数尤度比と同じく、2 つの単語が独立して存在すると出現するとした時に、共起頻度がどれだけ統計的に有意かを確認するための指標です。コーパスサイズが大きくなると有意になりやすくなるため、異なるサイズのコーパスでの比較には使えません。対数尤度比と高い相関を示します。
z-score
これも、対数尤度比と同じく、2 つの単語が独立して存在すると出現するとした時に、共起頻度がどれだけ統計的に有意かを確認するための指標です。MI と同様に、共起頻度が低くても共起する割合が高いと高い値がになり、MI と高い相関を示します。
Log-Log
MI の拡張版で、MI の値に共起頻度の対数を掛け合わせたものです。これも MI3 と同じく、共起頻度に重み付けをして、低頻度の共起ペアに対する対処をしています。
類似度形指標
情報理論などで用いられるベクトルの類似度を測る指標をコロケーションの強度の判定に応用した指標になります。いずれも共起頻度を中心語と共起語の頻度を使って正規化した値になります。そのため、logDice 以外は 0 から 1 までの間の値をとり、1 が最も共起が強いことを意味します。
ダイス係数
共起頻度を 2 倍したのものを、中心語と共起語の頻度の合計で割った値です。共起の割合がそれぞれの単語の単独での頻度と比べてどれほど大きいかを示します。0 から 1 の間の小数で表されます。1 に近いほど共起強度が強いと判断します。
logDice
ダイス係数は 0 から 1 の間の小数で表され、値が小さく扱いづらいため、その値を対数変換したものです。正確には、14 という定数に対数化したダイス係数を加えた値です。ダイス係数は、最大で 1 の小数なので、対数化するとマイナスの値を取り、値が小さいほどマイナスが大きくなるため、logDice の値が 14 に近いほどダイス係数が大きい、つまり、共起強度が強いと判断します。
ジャッカード係数
共起頻度を、中心語と共起語のそれぞれの頻度の合計から共起頻度を引いたもので割った値です。つまり、中心語と共起語がそれぞれ共起していない場合の頻度の合計で割ったということになります。ダイス係数と比べて、それぞれの頻度に対して共起頻度の割合が小さいと、分母が大きくなるため低い値になります。
コサイン類似度
共起頻度を、中心語と共起語それぞれの頻度の平方根の積で割った値です。共起語の頻度自体が低いと、分母が小さくなるため、値が高くなります。そのため、MI と同じく、共起頻度が低くても狂喜する割合が高ければ、高い値となります。
シンプソン係数
共起頻度を、中心語と共起語のそれぞれの頻度の低い方で割った値です。つまり、中心語と共起語のうち、頻度の低い方の語の出現回数のうち、共起する割合を示しています。共起の依存関係を示すと言われます。コーパスで 1 回しか現れない単語が、中心語の前後の範囲内に現れれば、シンプソン係数は 1 となります。
KL 情報量 (Kullback-Leibler Divergence)
中心語が現れるときに文脈の範囲に共起語が現れる確率とコーパス全体で共起語が現れる確率を比較しています。値が大きくなるほど、中心語が共起語の前後に現れる確率が高いということになり、共起語から見て中心語との共起の結びつきが強いと解釈します。
逆 KL 情報量 (Reverse Kullback-Leibler Divergence)
KL 情報量の逆で、共起語が現れる時に文脈の範囲に中心語が現れる確率とコーパス全体で中心語が現れる確率を比較します。値が大きくなるほど、共起語が中心語の前後に現れる確率が高いということになり、中心語から見て共起語との共起の結びつきが強いと解釈します。
例えば、名詞が中心語の場合、共起語である冠詞 the は、the から見ると、その名詞はコーパスの中の多数の名詞の 1 つに過ぎないため、the から見た結びつきは弱く、KL 情報量はほぼ 0 となるでしょう。逆に、その名詞がほとんどの場合に冠詞 the が使われているとすると、その名詞から見た the との結びつきはとても強く、逆 KL 情報量は高い値を示すでしょう。
次の結果は、MI の高い順に並べ替えたものです。見て分かるように、共起頻度が低いものが上位になっています。これは MI の特性ですが、あまり共起頻度が低いものには意味がないので、共起頻度で結果を絞り込みます。
メニューの表から Collocation フィルタを選んで、フィルタを表示させます。
Collocation フィルタパネルが表示されたら、フィルタを追加して左右合計 5 以上に設定します。設定の仕方については、こちらを参照してください。
これで、共起頻度が 5 回未満の共起語がリストから削除されて、コロケーションとして意味のありそうなものが残りました。
このリストに s が 1 文字としてありますが、これは、government's という所有格の 's でしょう。' は記号なので s だけが集計された形になっています。所有格の s はコーパス全体としての頻度も多いはずなので、通常であればコロケーションとして抽出されないはずなのですが、単語の定義で ' (アポストロフィ) を単語の一部として含める設定をしていると、Word Count での単語リスト作成時に 's は所有格である単語の一部として集計されてしまい、s 単独では集計されないため、単語リストの s は、純粋に s という文字が単独で現れている頻度ということになります。設定の一般にある単語の定義でチェックを外すと、's は s として頻度集計されるため、MI の値も低くなり、コロケーションとして抽出されなくなります。この場合、s が単独で集計されることで総語数が多少増えるため、MI の値もその影響を受けています。
コロケーション統計も、Word Count でのキーワード統計と同じく、複数の統計値をまとめて計算して表示することもできます。
設定の統計にある Collocation / Bigram Collocation で、計算したい統計値にチェックを入れます。ここでは、異なるタイプの統計値を比較したいので、MI、Log-Likelihood、logDice を選び、Log-Likelihood には p-value もつけてみます。
このオプションで範囲を計算に含むにチェックを入れると、MI などの計算で範囲を含む計算式で計算します。対数化・乗算は、ダイス係数、ジャッカード係数、コサイン類似度、シンプソン係数などが 0–1 の値を取るため、その違いを際立たせるためのオプションです。統計値として扱う場合には注意が必要です。
これで、メニューの統計にある Collocation で選択項目を選びます。
ヘッダをクリックして並べ替えることで、異なる統計値の比較が簡単にできます
いかに MI (共起頻度 5 回以上)、Log-Likelihood、Log-Dice の上位の結果を示します。それぞれに特徴があるため、どれか 1 つが優れているわけではなく、コロケーションの抽出ではこれらを総合的に判断します。例えば、Log-Likelihood で the や of などが上位に現れて、あまり意味がないように見えるかもしれませんが、government という単語には定冠詞 the が使われて、of... で修飾されることが多いということを示しているため、文法的なコロケーションとしては意味がありますが、複合語や内容語のコロケーションではないため、そのようなものを求めている場合には意味がないと考えてしまうかもしれません。