Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

もしその単語がなかったら

5,123 views

Published on

ある言語の中で重要な単語を列挙するのは、知識への入り口です。そのための方法として、昔は、大きな文書集合(コーパスと呼びます)から、出現頻度などによって重要な度合いを計算してきました。ですが、もし「月」という単語がなかったらどんなに困るかなあ、と考えたとき、単語が消失したときの困り具合で単語の大切さ(=必要度)を計算してもよいのではないかと考え、まとめてみました。最後のほうで提案したのはグラフ理論でよく知られたBetweenness Centralityという概念に相当し、その自然言語のコーパスにおける単語集合が作るグラフへの応用という形になっています。

Published in: Technology
  • Be the first to comment

もしその単語がなかったら

  1. 1. そこのあなた、もしその単語が 使えなくなったらどうしますか? 中川裕志 (東京大学)
  2. 2. 昔、ソシュールという偉い先生が • 「言語が現れる以前は(現実の世界で)何一 つ判別できるものはなかった」と言った。 • 本当かと思って、試しに「月」(monthの意味) という言葉がない世界を仮定してみた。 • すると、まず、「月の平均気温」とか「今月の 売り上げ」などが使えない。入学日時も2014 年100日みたいなことになって困ったことにな る
  3. 3. 誤解を解いておきましょう • では、人々は「月」ではなく、新しい単語「き つ」でも作って代用するからいいでしょ?とい う反論が考えられますが • ソシュールは「月」という単語によって、月の 概念が形成された、というような主旨ですから、 「月」という概念が無かった場合、と言い直し ましょう。
  4. 4. 本題に戻りますと • 「月」という言葉(=概念)を消しただけで、おおよ そ社会機能は麻痺しそうです。月給はなくなり、 みんな年俸か日給、時間給になるとか、冗談み たいなことが起きます。 • つまり、文化は当然として、社会制度のほぼす べての機能が単語から生成されてきています。 – だから、「月」のような重要な単語が消失すると社会 制度がダメージを受けたり、崩壊したりしそう。 • だが、「中川裕志」という人名がなくなっても社会に はなんの影響もない。 つまり、単語には社会における必要度が付随し ています
  5. 5. 単語の社会における必要度の図 中心ほどコアで必要度高い 周辺部にいくほど個別領域の単語で必要度低い 年、月、日、 男、女、 食べる、寝る、 現金、借金、 VC次元 W杯 理研 ZARA Google CRM 中川裕志 L0正則化 マック100円セール ナタリア・ポクロンスカヤ
  6. 6. 言語学や自然言語処理 • 前ページのスライド「単語の社会における必要度の図」でお伝えしたいのは – みんなが使う「月」が消失すると甚大な影響を及ぼす – 専門用語「VC次元」くらいがなくなっても世界は大きく変わらないだろう – 一般人の名前がひとつ消えても社会は何も変わらない • というように、単語がカバーする社会現象の範囲の大きくなると「必要度」が大きく なり、 • カバー範囲が専門分野や特定業界のように小さくなってくると、VC次元、CRM,ZARA みたいに「必要度」が減少し • 一般人の身の回りのようにカバー範囲がもっと狭まると「中川裕志」のように「必要度」 はほとんど無くなるということです。 • 言語学や自然言語処理の研究者の方で、ある単語を消去したら、世界や社会の 構造がどのくらい変わってしまうかという観点から 「単語の社会における必要度」 を、調べた人がいるんでしょうか? • 対象分野をある程度、限定してみると、大量のコーパスから個別単語の「単語の社 会における必要度」を計算できそうです。
  7. 7. 単語の必要度を計算するモデルとして 単語をノードとするグラフ=単語グラフ • 単語の社会における必要度を計算するには 単語と社会の種々の概念の関係を使うのが 良さそう(今までの議論から) • ところが、社会における種々の概念は単語で 表現されるので、結局、 単語間の関係をモデル化すればよいのです。 一般的なモデルは単語をノードとするグラフ
  8. 8. 基本語彙(単単語)をノードとし、複合語として隣接す ることはリンクにした場合の単語グラフのイメージ 個人 収集 同意 利用 委員会 特定 データ 法 保護 情報 ビッグ パーソナル
  9. 9. 単語がノードならリンクは何? • 案1:係り受け関係 – 文法的な意味や重みをリンクに付けられる – しかし、処理が重たいし、関係に曖昧さあり • 案2:共起 – 文章内共起、1文内での共起、ある幅の窓内での共起、単なる共起 ではなく隣接共起もあります – 簡単! – 重みはコーパス中の全文書での共起回数 • 案3:複合語における関係 – 複合語における共起 – 複合語における隣接共起(前方隣接、後方接続)  案X:その他いろいろな関係が考えられます。新規で役立つ関係を 見つければ、それだけで大業績! このスライドの「単語の必要度」もリンクの定義によって変わってきま す。いろいろなリンクの定義で計算した「単語の必要度」を意味づけし たり比較検討したりするのは自然言語処理の研究テーマになりそう です。
  10. 10. 単語グラフにおけるグラフの処理 積み上げ型 • 従来の方法はグラフ上で近い位置になる単語の 間の関係から、単語の重要さや類似性を求める もの。以下にいくつかの例を示します。 複合語抽出 その1 リンクは文における隣接関係 「情報処理」というの は「情報」と「処理」が隣接 このとき、2単語が同一文内で隣接して出現する頻度 が統計的に有意に高ければ、その2単語は複合語と みなせます 統計的有意さは、χ二乗検定、Dice係数など 詳細は付録1を参照
  11. 11. 単語グラフにおけるグラフの処理 積み上げ型 複合語抽出 その2 リンクの定義は何でもよいです。 単語×単語の行列を作ります。行列の要素はリンク の重み リンクに方向性がない(単語×単語)行列の固有値 の大きさを単語の重要度にする方法: GoogleのPageRankアルゴリズムを単語の重要度計算に応 用みたいな。 リンクに方向性を持たせ、1方向のリンクからなる行 列の固有値を求めるような動作を両方向に繰り返し て計算する方法 HITSアルゴリズムを単語の重要度計算に応用みたいな
  12. 12. 単語グラフにおけるグラフの処理 積み上げ型 複合語抽出 その3:言選Web (昔、私が提案しました) リンクの定義は同一文内での隣接 前方隣接と後方隣接に分けます。 グラフの次数を使った単語重要度の計算 付録2参照 実働システム はこちら グラフの局所的性質 を使っているだけです 単語 3 2 統計 クラス 1 情報 文字 1 1 獲得 「単語情報」という表 現がコーパスに3回 出現=リンク重み 「情報統計」という表 現がコーパスに2回 出現=リンク重み 「文字情報」「クラス情報」 「情報統計」「情報獲得」とい う表現がコーパスに1回ず つ出現=リンク重み
  13. 13. 単語グラフにおけるグラフの処理 引き算的なやり方 本題に戻りましょう。単語が消失したらときの大変さ を使って単語の必要度を計算したかったので、積み 上げ型ではなく、引き算的な方法にしたいところです。 では、引き算的ってどうやって実現するのでしょう か。。。 ある単語が消失したら、単語グラフの構造が変 わります。 それによって、消失前はリンクをたどっていけば 到達できた単語に行き着けなくなると消失した単 語は必要だったんだよな、という考え方。
  14. 14. {複合語,単単語}をノードとし、文内共起や文書内共 起をリンクにした場合の単語グラフのイメージ 政府 データ収集 同意 利活用 設置 パーソナルデータ ビッグデータ 法改正 委員会 個人情報保護 インターネット 行動履歴 クリック
  15. 15. 単語Zの消失による単語A,B間の 損失= 𝐿 𝑁 この損失を全部の単語ペアで 合計したものが単語の必要度 単語 Z 単語 B 単語 A 単語 D 単語 C . . . . . . 単語Aと単語B をつなぐ経路数 =N 単語Aと単語Bをつなぐ 経路のうち、単語Zの消 失によって切れた数=L 総和総和
  16. 16. • 単語Zを含むリンクが少なければ「必要度」は 低いわけです。 • 単語Zがたくさんのリンクの要素なら、いろい ろな単語(=概念)をつなぐ要素としてとても 重要です。 • グラフがある分野のコーパスなら、その分野 における単語Zの必要度が分かるということ です。 • ふむふむ、直感にあっているね!
  17. 17. 大規模グラフの処理としての問題 • 単語は一つの言語で105から106(語彙数)= ノード数 • リンクはコーパスサイズによるが、およそ単語 数の2乗= 1010から1012 • 限定された分野でも語彙は103から104 • 大規模グラフなので、ノード間のリンク列を全 部数え上げるのはかなり大変。効率のよいア ルゴリズムが欲しいところです。
  18. 18. Betweenness Centarlity • 損失L/Nは大規模グラフではよく知られたBetweenness Centarlityという概念の要素です。 • グラフにおいてノードiからノードjへの経路数をgijとしそれ らの経路のうちノードkを通る経路の数をgikjとします。ノー ドkのBetweenness Centarlity: BC(j)は次の式で定義されま す。 • 𝐵𝐶 𝑘 = 𝑔 𝑖𝑘𝑗𝑗𝑖 𝑔 𝑖𝑗𝑗𝑖 • Betweenness Centarlityはネットワーク分野で応用されおり、 疫学などで役立っています。高速に計算するアルゴリズム の研究も出てきています。 ERATOの大規模グラフプロジェクト(リーダはNII河原林教授)で も高速計算のアルゴリズムの研究成果が出ています。 そういった成果のアルゴリズムを使って、「単語の必要度」とい う言語処理分野で研究したら楽しいかもしれません。誰かやっ てみませんか?
  19. 19. 付録1 共起による複合語取り出し
  20. 20. Contingency Matix 二つの単語の連接しての共起の有意さによる 相互情報量 χ2乗検定 Log likelyhood ratio W1 no W1 W2 a b no W2 c d dcbaN caba aN wpwp wwp MI    , ))(( log )2()1( )2,1( log ))()()(( )( 2 2 dbcBcaba bcad   
  21. 21. Contingency Matix (相互情報量と例) 二つの単語の連接しての共起の有意さによる 相互情報量 大学 ¬大学 改革 a=10 b=5 ¬改革 c=5 d=980 38.83.333log )510()510( 100010 log ))(( log       caba aN MI
  22. 22. Contingency Matix (相互情報量と例-1) 二つの単語の連接しての共起の有意さによる 相互情報量 大学 ¬大学 改革 a=10 b=100 ¬改革 c=90 d=800 18.309.9log )10010()9010( 100010 log ))(( log       caba aN MI
  23. 23. 相互情報量の問題点 二つの単語の連接しての共起の有意さによる 相互情報量 これでは過大評価dice係数(重み付き) 大学 ¬大学 改革 a=1 b=0 ¬改革 c=0 d=999 96.9 )1()1( 10001 log ))(( log       caba aN MI 74.27.6log) 1515 20 10log( 0) 11 2 1log() )()( 2 log(         Dicepreviouscompare caba a aDice
  24. 24. Contingency Matix (χ2乗検定と例) 二つの単語の連接しての共起の有意さによる χ2乗検定 自由度1のχ2乗分布で棄却率は0.1%以 下有意に共起 大学 ¬大学 改革 a=10 b=5 ¬改革 c=5 d=980 489 9859851515 1098001000 22 2        )( ))()()(( )( dbdccaba bcadN 
  25. 25. Contingency Matix (χ2乗検定と例-1) 二つの単語の連接しての共起の有意さによる χ2乗検定 自由度1のχ2乗分布で棄却率は75%以下 有意に共起 大学 ¬大学 改革 a=10 b=100 ¬改革 c=90 d=800 11.0 900890100110 )90008000(1000 ))()()(( )( 22 2        dbdccaba bcadN 
  26. 26. Likelihood ratio 仮説H1: p(w2|w1)=p(w2|¬w1) 仮説H2: p(w2|w1)>p(w2| ¬w1) H1,H2のlikelihoodをL(H1),L(H2)とすると  が閾値Cより小さければ w1 w2は有意な連語 L(H1),L(H2) の計算はちょっと面倒 )( )( loglog 2 1 HL HL 
  27. 27. 計算例 N ba pwwpwwpH   )|()|(: 12121 )2,,()1,,()2( ),,(),,()1( )1(),,( 2)1|2( ,1)1|2(:2 )( pdbbbpcaabHL pdbbbpcaabHL xx k n xnkb caN b db b pwwp ca a pwwpH knk                  二項分布
  28. 28. 計算例 0150 1000 510 12121 .)|()|(:    pwwpwwpH 有意に共起  二項分布                              53) )2( )1( log( 1 1060.1 1039.1 )2( )1( )005.0,985,5()67,0,15,10()2,,()1,,()2( )015.0,985,5()015.0,15,10(),,(),,()1( )1(),,( 005.0 5980 5 2)1|2( ,67.0 510 10 1)1|2(:2 18 34 )( HL HL HL HL bbpdbbbpcaabHL bbpdbbbpcaabHL xx k n xnkb caN b db b pwwp ca a pwwpH knk
  29. 29. 計算例-1 1.0 1000 9010 )1|2()1|2(:1    pwwpwwpH 有意に共起ではない  二項分布                          68.0) )2( )1( log( 1 1010.4 1058.6 )2( )1( )11.0,900,90()1.0,100,10()2,,()1,,()2( )1.0,900,90()1.0,100,10(),,(),,()1( )1(),,( 11.0 900 100 2)1|2( ,1.0 100 10 1)1|2(:2 142 142 )( HL HL HL HL bbpdbbbpcaabHL bbpdbbbpcaabHL xx k n xnkb caN b db b pwwp ca a pwwpH knk
  30. 30. 付録2:言選Web
  31. 31. • Pre(N) はコーパスにおいて名詞N に前接し複合名 詞を作る名詞の種類数 • Post(N) はコーパスにおいて名詞N に後接し複合 名詞を作る名詞の種類数  Pre-freq(N) はコーパスにおいて名詞N に前接し複 合名詞を作る名詞の頻度  Post-freq(N) はコーパスにおいて名詞N に後接し 複合名詞を作る名詞の頻度 Pre と Post
  32. 32. Pre, Postの計算 作例 例:コーパスから次の出現回数が分かったとする。  単語 トライグラム(3回)、 トライグラム 統計(2回) クラス トライグラム(1回)、トライグラム 獲得(1回) 文字 トライグラム(1回)、 ----------------------------------------------------------------------- Pre(トライグラム)=3 Post(トライグラム)=2 Pre-freq(トライグラム)=5 Post-freq(トライグラム)=3 トライグラム(4回)
  33. 33. 単名詞のスコア付け Pre(トライグラム)=3 Post(トライグラム)=2 Pre-ferq(トライグラム)=5 Post-freq(トライグラム)=3 前方接続の頻度 N 後方接続の頻度 3 単語 統計 2 1 クラス 情報 1 文字 獲得 1
  34. 34. • 複合名詞: N1 N2 …Nk の スコアは次のように定義 ただし、 preはpre-freq, postはpost-freqでもよい。 • 作例では、pre,postの場合 • score1(トライグラム)=((3+1)(2+1))1/2=3.46 • pre-freq, post-freq だと • score2(トライグラム)= ((5+1)(3+1))1/2=4.90 複合名詞に拡張しスコア を定義 k i k i ik NPostPre(NNNorscore 2 1 11 )))1)(()1)((()..)(2(1  
  35. 35. • この方法では、まだ個々の複合名詞の独立した出現を考 慮していないので • 作例では、トライグラムが4回独立して出現しているので • score3=score1 ×4 =13.84 • score4= score2 ×4 =19.6 • 我々が日本語の国立情報学研究所提供の用語抽出テ ストコレクションで実験したところ、score4が一番成績がよ く、情報工学分野の用語1000語を選んだところ60%強 が人間の選んだ用語と一致した。 )..()))1)(()1)((( )..(3 21 2 1 1 1 k k i k i i k NNNNPostPre(N NNscore 独立出現頻度 

×