トップ 履歴 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

MI

*disclaimer
603048

R
共起スコア

MI スコア

計算の仕方


  1. 「strong tea」の共起頻度
  2. 「strong」の頻度
  3. 「tea」の頻度
  4. コーパスの総語数

MIスコア= log2((共起頻度×コーパス総語数)÷(片方の頻度×もう片方の頻度))

特徴

  • 低頻度の単語によるまれな共起表現ほどスコアが大きく出る
    • 分母が小さくなるので

Rのスクリプト


MI.R(309)

MI <- function(xy, x, y, N){
	# 2019-06-22 copyleft sugiura@nagoya-u.jp
	log2(xy*N/(x*y))
}

  • 使い方
    • このスクリプトをRで読み込んで、
    • 後は必要な頻度数と総語数を入れる。
共起表現xy頻度、単語xの頻度、単語yの頻度 コーパスの総語数N

MI(xy, x, y, N)

> MI(50, 2000, 3000, 1000000)
[1] 3.058894

> MI(2, 20, 30, 1000000)
[1] 11.70275

> MI(1, 20, 30, 1000000)
[1] 10.70275