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.

自然言語処理

12,423 views

Published on

入門向けに自然言語処理の歴史を超ざっとまとめました

Published in: Technology
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

自然言語処理

  1. 1. 自然言語処理 ー古典的手法から言語モデルまでー 森山 直人
  2. 2. 注意 • 私個人の主観に基づく表現が多数あり、 間違っていたらすみません!! • 概念の理解を最優先としており、数式を排除して います。そのため一部厳密な定義を割愛しました 2
  3. 3. アジェンダ • 自然言語とは(5分) • 古典的な手法(10分) • word2vec(10分) • ニューラルネットワーク言語モデル(15分) 3
  4. 4. • 自然言語とは • 古典的な手法 • word2vec • ニューラルネットワーク言語モデル(NNLM) 4
  5. 5. 自然言語とは? • つまり、人間の人間による人間のための意味記号の集合体 • 「概念」という摩訶不思議なデータ構造を符号化したもの • 人間の頭脳がどのようにして処理しているかはまだ研究中 5
  6. 6. 逆に自然言語じゃないのは? • コンピュータはこれじゃないと処理できない • こっちのほうが論理的 • いろいろ呼び方はあるが、よく「構造化データ」とよばれる { "name": "森山", "sex": "男” "age": 27, "language": "python", } 口語ではなく、要素ごとに存在 し、それぞれの要素同士の関連 を明確に記されている “森山という男がいて、彼は今年27歳でpythonをつかう” 6
  7. 7. 自然言語処理とは 人間だけが処理できる記号の集合体を、何らかの手法で コンピュータに処理させ、意図するものを出力させる 7
  8. 8. 自然言語処理とは 人間だけが処理できる記号の集合体を、何らかの手法で コンピュータに処理させ、意図するものを出力させる 簡単そうに聞こえるが、機械学習で最も難しい分野 (ビジネス観点で)最大の金脈とも言われている 8
  9. 9. 文書を数字化する コンピュータは数字しか処理できないのであれば、 単純に単語にIDをつけて、数字にすればよいのでは?? 9
  10. 10. 闇へようこそ!! 10
  11. 11. • 自然言語とは • 古典的な手法 • word2vec • ニューラルネットワーク言語モデル(NNLM) 11
  12. 12. 単語を数字化する 単語同士の意味に関連性があると同じように、数字化させた 際に近い意味を持つ単語のIDが近く来るようにしたい (ユークリッド距離が近い) パソコン インターネット プログラミング アメリカ ホワイトハウス ワシントン ID 近い意味を 持つ単語群 IDが近い ID 単語 1999 プログラミング … … 2342 インターネット … … 2652 パソコン 単語同士 では一定 の関連性 はある 数字(ID) は近い 12
  13. 13. 単語を数字化する • 日本語の単語は約25万語(広辞苑より)あり、各単語同士の関連 性を1次元の数字順列で表現するのはほぼ不可能 • 曖昧な数字IDは逆にコンピュータの計算を妨げる 13
  14. 14. 単語を数字化する • 日本語の単語は約25万語(広辞苑より)あり、各単語同士の関連 性を1次元の数字順列で表現するのはほぼ不可能 • 曖昧な数字IDは逆にコンピュータの計算を妨げる とは言え、 計算するには数字化しないと始まらないので、 「意味を伴わないID」をつける方法を考える 14
  15. 15. Bug-Of-Words(BOW) ※ここからベクトル(線形代数)の話が入ります ① 予め、処理する単語の総ユニーク数を算出 ② ①の数字を次元としたゼロベクトル配列を用意 ③ 各単語の出現順に、その単語が位置が1となるベクトルを付与 パソコン インターネット プログラミング エンジニア UNIX CPU ②6次元のゼロベクトル[0, 0, 0, 0, 0, 0] ①6次元 ⇒ [1, 0, 0, 0, 0, 0] ⇒ [0, 1, 0, 0, 0, 0] ⇒ [0, 0, 1, 0, 0, 0] ⇒ [0, 0, 0, 1, 0, 0] ⇒ [0, 0, 0, 0, 1, 0] ⇒ [0, 0, 0, 0, 0, 1] ※これの何がうれしいか • 各ベクトルの値が違うにもかかわらず、 • すべて互いの距離が等しい(ノルム距離)!! • つまり、独自性を保ちつつ、無駄な相対関係を 持たない • 機械学習で自然言語以外でもよく使われる ③ 15 例)
  16. 16. Bug-Of-Words(BOW)の計算 • 前述のBOW化により、一旦単語を数値化できるようになった • ただし、単語の意味を計算することはまだできていない • とりあえず、単語の出現位置や出現回数を元に単語の性質が計算で きる様になる 16
  17. 17. でも・・・ 本質的な意味解析はできてないので、万能なアルゴリズムを 諦め、やりたいことに応じて何らかの計算を行う • 単語の出現頻度と希少性を考慮し、重要な単語を推定するTF-IDF法(教師なし) • 予めウォッチする単語を決めて、文章の分類を行うナイーブベイズ法(教師あり) • 単語の品詞を元に、文脈判定を行うチャンクや構文木法(半教師あり) これ以外にもたくさんあります(ニーズがあれば別途解説致します!) 17
  18. 18. 古典的手法の限界 • 単語の出現位置と回数や品詞だけで考えられており、 結局意味の理解にはつながらない • ルールベースの処理しかできない • 長年目覚ましい進歩がない・・・ 18
  19. 19. • 自然言語とは • 古典的な手法 • word2vec • ニューラルネットワーク言語モデル(NNLM) 19
  20. 20. word2vec a1 a2 a3 a4 a5 Continuous Bag–of–Words 周囲の単語から中心の単語を予測する Skip-Gram 中心の単語から周囲の単語を予測する • 2014年にGoogleより発表され、性能の高さから瞬く間に世界中に広がった • 文中で連続する5つの単語(シーケンス)をベースに、2つのアルゴリズムで実装 ベースは2つのアルゴリズムで構成 ・・・ ・・・ 20
  21. 21. word2vec-注目すべきデータ構造 • 右図は200次元のベクトルを特別に2次 元にプロットしたもの • 「中国+北京」のベクトルが「ロシア+モ スクワ」及びその他の国+首都のベクトル とかなり近い • その他、「王様ー男+女=女王」といった 演算ができる • つまり、ベクトル化さえすれば、広い範囲 の処理が可能に! • 前述の処理により、単語を任意の次元ベクトルに変換(100〜200次元くらい) (多次元空間に、単語を埋め込む) • 単語ベクトル同士で、ベクトル演算が可能(足し引き) 21
  22. 22. word2vec-で完璧か?? • 擬似的に単語の「意味」に繋がる表現ができたとは言え、 まだまだ単語の出現頻度の枠を抜け出せていない • 時系列的に、文章を捉えることはできない • 単語ごとの話にとどまっている 22
  23. 23. word2vec-で完璧か?? • 擬似的に単語の「意味」に繋がる表現ができたとは言え、 まだまだ単語の出現頻度の枠を抜け出せていない • 時系列的に、文章を捉えることはできない • 単語ごとの話にとどまっている 無数の単語が時系列順に並べられた文章を解析する 手法は無いものか・・・ 23
  24. 24. • 自然言語とは • 古典的な手法 • word2vec • ニューラルネットワーク言語モデル(NNLM) 24
  25. 25. 深層学習(DNN)を用いたアプローチ • 近年目覚ましい成果を上げている深層学習(ディープニューラル ネットワーク)を応用 • これにより、これまで手動で設定していた処理の手順を自動化 • 細かいパラメータさえ気にしなければ、結構うまくいく 25
  26. 26. 深層学習(DNN)を用いたアプローチ • 近年目覚ましい成果を上げている深層学習(ディープニューラル ネットワーク)を応用 • これにより、これまで手動で設定していた処理の手順を自動化 • 細かいパラメータさえ気にしなければ、結構うまくいく 深層学習ってなに??? 26
  27. 27. 超ざっくり言うと 入力層 隠れ層 出力層 複数の情報を元に、“見解“を得る • どの要素がそれくらいの重要度を占めるか • それぞれの要素同士の相関関係はどんなものか • そもそも与えられた情報で、見解が得られるのか これらを自動で計算してくれるパワフル なフレームワーク ※くわしい方は突っ込みたい気持ちを 抑えてください (多分言いたいこと察しています) 27
  28. 28. さらに、時系列データが扱える • ニューラルネットワークは様々な種類がある • リカレントニューラルネットワーク(RNN)だと時系列を処理しやすい • たとえば、過去の単語列から、次の単語を予測する y1 h1 x1 y2 h2 x2 y4 h4 x4 y3 h3 x3 x h y :入力層 :隠れ層 :出力層 いつ やるの ? 今でしょ やるの ? 今でしょ ・・・ 28
  29. 29. RNNは過去のデータから、現在のデータを推定 h1 x1 h2 x2 y3 h3 x3 いつ やるの ? 今でしょ ①「いつ」②「やるの」③「?」の3単語がこの順に来 ると次に「今でしょ」が推定される • 一つの単語の推定には、過去のすべ ての単語から入力順に計算 • 入力順はすなわち時系列と捉えるこ とができ、これにより文脈を学習 • 他にも金融情報や音声情報など、時 系列の概念があるものはだいたい適 応可能(原則上) • ただし、RNNはあくまで概念であり、 実装するにはLSTMと呼ばれる理論 が重要 29
  30. 30. RNNがあれば完璧? • 残念ながら、まだ不十分 • 確かに単語のみならず、文脈も学習できるようになったが、 結局のところ単語の持つ意味は理解出来ていない • 意味って何?? 30
  31. 31. RNNがあれば完璧? • 残念ながら、まだ不十分 • 確かに単語のみならず、文脈を学習できるようになったが、 結局のところ単語の持つ意味は理解出来ていない • 意味って何?? 31
  32. 32. RNNがあれば完璧? • 残念ながら、まだ不十分 • 確かに単語のみならず、文脈を学習できるようになったが、 結局のところ単語の持つ意味は理解出来ていない •意味って何?? 32
  33. 33. ココらへんが、機械学習の限界かも • 今のところ、機会学習における計算の精度を高める方法はあるが、 意味の表現方法は検討がつかない • どのような構造化がわからない以上、計算のしようがない • 結論、まずは人間(脳)の処理について学ぶべき 33
  34. 34. 意味の解明を求め、数学・脳科学領域へ広がる 数学分野 • トポロジーアナリティクス • ベイジアンネットワーク • 複素ニューラルネット • etc... 34 脳科学分野 • コネクトーム • ニューロサイエンス • 新大脳皮質モデル • etc...
  35. 35. 意味の解明を求め、数学・脳科学領域へ広がる 数学分野 • トポロジーアナリティクス • ベイジアンネットワーク • 複素ニューラルネット • etc... 脳科学分野 • コネクトーム • ニューロサイエンス • 新大脳皮質モデル • etc... 優れたアイディアはたくさん得られたが、なかなか体系立てができない コンピューターで実装できない・・・ 35
  36. 36. 戦いはこれからだ・・・ 36

×