「出現頻度と連接頻度に基づく専門用語抽出」という論文に出てくる MC-value について理解した(つもり)

この記事は公開されてから1年以上経過しており、情報が古い可能性があります。

FLR の件と同じ論文で出ていた MC-value について。「単名詞バイグラムによらない用語スコア付け」として挙げられている

「出現頻度と連接頻度に基づく専門用語抽出」という論文に出てくる FLR について読んだ | ごみばこいん Blog

元の論文

FLR と同様に「出現頻度と連接頻度に基づく専門用語抽出」という論文で語られているのでスキップ。
そして MC-value を語る前に、その元になる C-value を語らないと行けない。

C-value のものすごいざっくりした理解

  • コンテンツにおける専門用語って名詞が連続すること多いよね
  • 連続する名詞って入れ子になることあるよね
  • 形態素解析の結果って名詞かどうかわかるよね
  • → できるじゃん!!

C-value の仕組み

例として以下の連続する名詞が上がっているとして…。

トライグラム 統計、トライグラム、単語 トライグラム、クラス トライグラム、単語 トライグラム、トライグラム、トライグラム 抽出、単語 トライグラム 統計、トライグラム、文字 トライグラム

  1. CN = 複合名詞
    1. 例) トライグラム 統計
  2. length(CN) = CNの長さ(構成する単名詞の数)
    1. 例) length(トライグラム 統計) = 2
  3. n(CN) = コーパスにおけるCNの出現回数
    1. 例) n(トライグラム 統計) = 2
  4. t(CN) = CN を含むより長い複合名詞の出現回数
    1. 例) t(トライグラム 統計) = 1
  5. c(CN) = CN を含むより長い複合名詞の種類数
    1. 例) n(トライグラム 統計) = 1
  6. C-value(CN) = (length(CN) - 1) * (n(CN) - (t(CN) / c(CN)))
    1. 例) C-value(トライグラム 統計) = (2 - 1) * (2 - (1 / 1)) = 1

このとき length(CN) = 1 、つまり単名詞のときに数値が 0 になってしまうという問題がある。専門用語は単名詞になることもあるだろう。

MC-value のものすごいざっくりした理解

  • C-value で連続する名詞のスコア計算が出来たけど単名詞…
  • -1 してたものをなくせばいいじゃん!

MC-value の仕組み

例として以下の連続する名詞が上がっているとして…。

トライグラム 統計、トライグラム、単語 トライグラム、クラス トライグラム、単語 トライグラム、トライグラム、トライグラム 抽出、単語 トライグラム 統計、トライグラム、文字 トライグラム

  1. CN = 名詞
    1. 例) トライグラム
  2. length(CN) = CNの長さ(構成する単名詞の数)
    1. 例) length(トライグラム) = 1
  3. n(CN) = コーパスにおけるCNの出現回数
    1. 例) n(トライグラム) = 10
  4. t(CN) = CN を含むより長い複合名詞の出現回数
    1. 例) t(トライグラム) = 7
  5. c(CN) = CN を含むより長い複合名詞の種類数
    1. 例) n(トライグラム) = 5
  6. MC-value(CN) = length(CN) * (n(CN) - (t(CN) / c(CN)))
    1. 例) MC-value(トライグラム) = 1 * (10 - (7 / 5)) = 8.6

論文上では 5.6 と書かれているけどこの数字がどうやって出てきたかわからんかった…。
n(CN) の計算がもしかしたら違うかも。

例1(図2)の場合,MC-value(トライグラム)=(7−7/5) = 5.6である

まとめと感想

そもそも C-value が TF-IDF や FLR と異なり、全ての文字列に対して下準備をする必要がないのと、数えることがメインなので計算量すくなく、データ量をどんどん増やすようなことをしてもお手軽に使えそうな気がする。

論文中でもいい感じに取れるぜ!的なことが書いてあるので、もうちょっと実践的に?入れて様子を見ようかなあと思いましたとさ。

前後の記事

Next:
Prev: