O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
1
シンギュラリティ株式会社
機械学習における自然言語の扱いと記事推
薦AIに関する取り組み
APPS JAPAN 2017
2017/6/13
Singularity Copyright 2016 Singularity Inc. All r...
2 2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
 自己紹介
新村拓也
- シーエイトラボ株式会社 代表取締役
- シンギュラリティ株式会社...
3
普段やっていること
 データマイニング案件の受託開発
 データ整形〜実行環境におけるPDCAまで
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights rese...
4
普段やっていること
 データマイニング案件のコンサル
 やりたいことがふわふわしているケースも結構多い
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights r...
5
普段やっていること
 データマイニング案件のコンサル
 そもそもいきなりやるには無理な課題も多い
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights rese...
6
普段やってること
 データマイニングエンジニア育成研修
 基礎となる数学や統計
 機械学習の各種手法
 各手法の実装方法
2017/6/13
Singularity Copyright 2016 Singularity Inc. A...
7
最近やっていること
 自社サービス開発
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
昨日、β版として公開しました!
8
今日話すこと
 データマイニングにも様々な分野がある
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
画像データ
 画像分類・・・犬か猫...
9
データの素性ベクトル化
 データをなんらかのシステムの入力として扱うとき
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
画像データ
波形...
10
文章を扱うと大変な理由
 先ほどの図に照らし合わせると
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
要件定義及
びデータ項
目確認
...
11
文章の分散表現
 大きく分けて次の4つに分かれます
 Bag of Words的な手法
 行列近似分解による次元圧縮
 トピックモデル
 ニューラルネットワークを用いた単語組み込み
2017/6/13
Singularity C...
12
BoW的な手法
 BoWは文章をシンプルに単語数でベクトル化する手法
 出現回数だけでは助詞などばかりが大きな値になるためにキーワード
に重み付けを行うのが TF- IDF
2017/6/13
Singularity Copyrigh...
13
BoW的の特徴
 出現回数依存なので「スマホ」と「携帯」などの似たような意味を持った
単語も全く異なるものとして扱われる
 かなり長文でないと類似度計算などはしづらい
 次元が語彙数になるため非常に大きい。次元の呪いにとらわれる。
...
14
行列近似分解による次元圧縮
 文章を語彙数次元から圧縮してあげれば次元の呪いの影響を受けな
い上に単語の関わりを意識するようになる(かもしれない)
 LSA (Latent Semantic Analysis)
2017/6/13
S...
15
LSAの特徴
 確かにクラスタリングなどの特定タスクについてはBoWより高い精度が
出せるようになった
 欠点として、ベクトル化された数字が何を意味するのかが不明
 不明だと、例えばユーザがこの記事を読んだというときにユーザの
パラ...
16
トピックモデルによるベクトル化
 文章が生成される(その文章が存在する)裏にはトピックという隠れ変
数があると考えて、文章群が出来上がる確率を最大化するモデルを組
むことでトピックを推定する
 トピック=政治、スポーツのような分野のこ...
17
PLSA
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
文章
文中の単語
d z w
𝑃(𝑑𝑖) 𝑃(𝑧 𝑘|𝑑𝑖) 𝑃(𝑤 𝑘|𝑧 𝑘...
18
PLSAの特徴
 各文章のベクトルは最終的に(p(z1, d), p(z2, d), p(z3, d) …p(zk, d))
で表される。
 ベクトルの意味もわかりやすく、LSAよりも精度が高い
 p(w|z)を高い順にソートすれば...
19
LDA
 Latent Dirichlet Allocation
 文章(d)依存の確率分布ではなくディリクレ分布からトピック生起確率を
算出
2017/6/13
Singularity Copyright 2016 Singular...
20
LDAの特徴
 推定した分布を事前分布として用いれば新規文章も扱える
 PLSAはLDAの特殊な時の形
 もちろん直接解けないので、本論文は変分ベイズで解いている
 もっと簡単にMCMCを用いてサンプリングするのが一般的
 どの...
21
実際にLDAの解析結果
 収集した記事データをもとに各トピック(128トピック)の代表語を出力
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reser...
22
LDAの拡張版
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
https://arxiv.org/pdf/1604.02038.pdf
...
23
ニューラル単語埋め込み
 Word2Vec
 ニューラル言語モデルを用いた単語埋め込み
 単語の意味獲得を行えるように
2017/6/13
C8Lab Copyright 2014 C8Lab Inc. All rights res...
24
もっとも簡単なWord2Vecの仕組み
 ある単語の次or前にどの単語が来るか?を予測する3層のNN
2017/6/13
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
・
・
・...
25
Word2Vec特徴
 なぜかこれで単語の演算などができるのでおそらく単語をうまく表現で
きている
 コサイン距離などで類似度を取ることも可能
 あくまで単語のベクトル化なので、文章にするのに一手間必要
 Word Move rD...
26
Doc2Vec
 Word2Vecで文章化するのに一手間必要なら、一気に文章をベクトル
化してしまおう
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights r...
27
各種手法まとめ
 BoW的な手法は重要語を判断するのには向いている
 行列分解はどちらかというとレコメンドそのもののに活用した方がよい
 トピックモデルは文章のベクトル化としては非常に強力だが短文に非常
に弱い
 単語組み込みは特...
28
弊社サービスご紹介
 新着記事レコメンドサイト「俺の読め!」
2017/6/13
Singularity Copyright 2016 Singularity Inc. All rights reserved
ユーザの気になるキーワード...
29
オレのヨメの特徴
 現在βテスト中
 ニュース記事に限らず2chやQiitaやarxivなど様々なフィードを推薦し
ます
 現時点取得元サイト数:727サイト
 一週間あたり取得記事数:約50000件
 推薦ロジックはキーワード...
30
正式リリース版に向けて
 レコメンドの精度確認及びチューニング
 スマホアプリ開発
 記事データ及びユーザアクションの収集
 タスク志向型会話AIによる記事推薦が目標
 将来的には今話題になってることに対する雑談機能も追加予定
...
31 2017/6/13
C8Lab Copyright 2014 C8Lab Inc. All rights reserved
ご静聴ありがとうございました!
できれば使って見ていただけると嬉しいです!
https://orenoyome.jp
32
お問い合わせ
ご興味のある企業・団体・個人様は、以下までお問い合わせください。
シンギュラリティ株式会社
http://snglrty.net
東京都港区浜松町 2-7-15 三電舎ビル6F
Tel 03-5425-2545
取締役/CT...
Próximos SlideShares
Carregando em…5
×

Interop2017

786 visualizações

Publicada em

AppsJapan2017の資料

Publicada em: Engenharia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Interop2017

  1. 1. 1 シンギュラリティ株式会社 機械学習における自然言語の扱いと記事推 薦AIに関する取り組み APPS JAPAN 2017 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  2. 2. 2 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved  自己紹介 新村拓也 - シーエイトラボ株式会社 代表取締役 - シンギュラリティ株式会社 取締役CTO
  3. 3. 3 普段やっていること  データマイニング案件の受託開発  データ整形〜実行環境におけるPDCAまで 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 要件定義及 びデータ項 目確認 設計 実験計画 データセット準備 モデ ル 実 装 学習・評価& チューニング  論文調査  手法選定  データ選定  インフラ設計 根幹に関わる部分なので慎重に 行う必要がある。  データセット収集  データセット作成  データ前処理  読込プログラム作成 経験上かなりの時間が 取られる  学習  評価  パラメータ変更  データ見直し もっとも時間がかかる フェーズ
  4. 4. 4 普段やっていること  データマイニング案件のコンサル  やりたいことがふわふわしているケースも結構多い 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved とりあえずAI 使っていい感じ にしたい ・・・・ 今あるデータと課題をヒアリング 今できることとできないことを整理して目標の明確化
  5. 5. 5 普段やっていること  データマイニング案件のコンサル  そもそもいきなりやるには無理な課題も多い 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved ドラえもん作って ・・・・ できる部分とできない部分を明確化して ロードマップを引いてお手伝いします 音声認識 文脈理解 感情判断 ・・・ はい、ぼくドラえもん 意味理解
  6. 6. 6 普段やってること  データマイニングエンジニア育成研修  基礎となる数学や統計  機械学習の各種手法  各手法の実装方法 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 短期間のものがほとんどですが、3ヶ月〜6ヶ月かけたフルコースのものも ご相談ください 最近やっていませんが、 たまに無料でもやってます!
  7. 7. 7 最近やっていること  自社サービス開発 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 昨日、β版として公開しました!
  8. 8. 8 今日話すこと  データマイニングにも様々な分野がある 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 画像データ  画像分類・・・犬か猫か  画像生成・・・犬っぽい画像の生成 波形データ  波形の予測・・・電力使用量の予測  楽曲生成・・・midi音源から続きを生成  異常検知・・・普段はでてこない波形を検知 文章データ  文章クラスタリング  会話  記事レコメンド コレの前処理について
  9. 9. 9 データの素性ベクトル化  データをなんらかのシステムの入力として扱うとき 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 画像データ 波形データ  センサデータなどの場合そのまま扱える  一定の平均、分散に正規化するのが一般的  (時間長, データ長)の2階テンソル 文章データ  文字の集合なのでそのまま入力できない  様々な素性ベクトル化の方法が確立されている  ベクトル化の仕方によってそもそも出来ないこと、精度がでないこと もあるので注意深く選定する必要がある  画素値を入力として扱う  256で除算0〜1の間に正規化する  (縦, 横, チャンネル)の3階テンソル
  10. 10. 10 文章を扱うと大変な理由  先ほどの図に照らし合わせると 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 要件定義及 びデータ項 目確認 設計 実験計画 データセット準備 モデ ル 実 装 学習・評価& チューニング ここにもチューニングが必要になってくる ここのチューニングが一番大変なのに・・・ ということで、ある程度網羅的に文章の素性ベクトル化(分散表現)を解説していきます
  11. 11. 11 文章の分散表現  大きく分けて次の4つに分かれます  Bag of Words的な手法  行列近似分解による次元圧縮  トピックモデル  ニューラルネットワークを用いた単語組み込み 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved TF-IDF Okapi-BM25b LSA (Latent Semantic Analysis), NMF (Non-negative Matrix Factorization) PLSA (Probabilistic Latent Semantic Analysis), LDA (Latent Dirichlet Allocation) Word2Vec, Doc2Vec 他にも様々な手法があるが、これらの亜種か、組み合わせ
  12. 12. 12 BoW的な手法  BoWは文章をシンプルに単語数でベクトル化する手法  出現回数だけでは助詞などばかりが大きな値になるためにキーワード に重み付けを行うのが TF- IDF 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved Docment1 = “今日 / は / 天気 / が / いい。” = (1,0,1,・・・・1,0,0,1) 「今日」の出現回数 「天気」の出現回数 𝑡𝑓𝑖𝑑𝑓𝑖,𝑗 = 𝑡𝑓𝑖,𝑗 ∙ 𝑖𝑑𝑓𝑖 j番目の文章の各単語の重み 𝑡𝑓𝑖,𝑗 = 𝑛𝑖,𝑗 𝑘 𝑛 𝑘,𝑗 文中の単語の出現頻度 𝑖𝑑𝑓𝑖 = log 𝐷 𝑑:𝑑∋𝑡𝑖 単語がどのくらいの文章に現れるかの逆数
  13. 13. 13 BoW的の特徴  出現回数依存なので「スマホ」と「携帯」などの似たような意味を持った 単語も全く異なるものとして扱われる  かなり長文でないと類似度計算などはしづらい  次元が語彙数になるため非常に大きい。次元の呪いにとらわれる。  もちろん文章生成にも使えない  ただしTF-IDFは文中から重要語を抽出するのには有効  計算量は少ない上に理論も簡単なのでお手軽に実装できる 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  14. 14. 14 行列近似分解による次元圧縮  文章を語彙数次元から圧縮してあげれば次元の呪いの影響を受けな い上に単語の関わりを意識するようになる(かもしれない)  LSA (Latent Semantic Analysis) 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 文章数×単語数 (BoWの行列) ≅ × × 文章数×任意の次元 各行がそれぞれの文章のベクトルを表す 特異値分解を行い、特異値の小さい部分を削って、 任意の次元まで近似する
  15. 15. 15 LSAの特徴  確かにクラスタリングなどの特定タスクについてはBoWより高い精度が 出せるようになった  欠点として、ベクトル化された数字が何を意味するのかが不明  不明だと、例えばユーザがこの記事を読んだというときにユーザの パラメータをどう更新するかが不明  文章生成はできない  言語のベクトル化以外にもレコメンドとして使用可能 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 文章数×単語数 (BoWの行列) ユーザ×商品数 ユーザの属性、商品の属性を算出 類似ユーザなどの探索に使える
  16. 16. 16 トピックモデルによるベクトル化  文章が生成される(その文章が存在する)裏にはトピックという隠れ変 数があると考えて、文章群が出来上がる確率を最大化するモデルを組 むことでトピックを推定する  トピック=政治、スポーツのような分野のこと  それぞれのトピックは生起確率があり、また、トピックによって出てき やすい単語、出て来にくい単語がある 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 文章数×単語数 (BoWの行列) 生成 政治 スポーツ IT DB LSAもトピックモデルにはいるらしいが、トピックから生成されるというプロセスを経ていないのでここでは敢えて分けています。
  17. 17. 17 PLSA 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 文章 文中の単語 d z w 𝑃(𝑑𝑖) 𝑃(𝑧 𝑘|𝑑𝑖) 𝑃(𝑤 𝑘|𝑧 𝑘) 𝑃 𝑑, 𝑤 = 𝑃 𝑤 𝑑 𝑃(𝑑) その文章、中身の単語で構成される 確率。つまり、その文章ができあがる 確率 𝑃 𝑤|𝑑 = 𝑧∈𝑍 𝑃 𝑤 𝑧 𝑃(𝑧|𝑑) あるトピックで単語が生起する確率 そのドキュメントからあるトピックが生 起する確率 ∴ 𝑃 𝑑, 𝑤 = 𝑧∈𝑍 𝑃 𝑤 𝑧 𝑃 𝑧 𝑤 𝑃(𝑑) の対数尤度関数を最大化する そのままとくのが困難なのでEMアルゴリズムで推定する  Probabilistic Latent Semantic Analysis
  18. 18. 18 PLSAの特徴  各文章のベクトルは最終的に(p(z1, d), p(z2, d), p(z3, d) …p(zk, d)) で表される。  ベクトルの意味もわかりやすく、LSAよりも精度が高い  p(w|z)を高い順にソートすればトピックごとの特徴単語もわかる。  LSAと同じように、文章ベクトル化以外にレコメンドなどにも使える  しかし、トピックの生起が文章依存のため、新規文章を扱うことができな い 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved この文章がトピック1である確率
  19. 19. 19 LDA  Latent Dirichlet Allocation  文章(d)依存の確率分布ではなくディリクレ分布からトピック生起確率を 算出 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 文中の単語 文章 z w β θα パラメータ数がdに依存しなくなったで数が減って、過学習も回避」 𝑃(𝑤|𝑧 𝑘, 𝛽)𝑃(𝑧 𝑘|𝜃)𝑃(𝜃|𝛼) ディレイクレ分布=多項分布の分布 から、トピックの生起確率の分布を生起 選ばれたトピックの単語の多項分布から単 語を生起
  20. 20. 20 LDAの特徴  推定した分布を事前分布として用いれば新規文章も扱える  PLSAはLDAの特殊な時の形  もちろん直接解けないので、本論文は変分ベイズで解いている  もっと簡単にMCMCを用いてサンプリングするのが一般的  どの手法にも言えることなのだが、確率を扱うために短文には弱い  最近では画像のトピック推定などにも用いられている  LDAと深層学習を組み合わせたり、単語の並びを考慮した亜種がかな り存在する 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  21. 21. 21 実際にLDAの解析結果  収集した記事データをもとに各トピック(128トピック)の代表語を出力 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved iphone au 携帯電話 one 安い オフ plus 対話 ソフトバンク 試す トピック1 switch nintendo ver apple ソフト 任天堂 発売日 バー カプコン watch 携帯関係 ゲーム関係 トピック2 大学 会長 学生 出身 地元 日本 卒業 関係者 就職 大学生 トピック3 学校関係 プロジェクト 運用 プロセス 局 提出 最強 考え方 開発 設計 勝負 トピック4 プロジェクト管理関係
  22. 22. 22 LDAの拡張版 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved https://arxiv.org/pdf/1604.02038.pdf  Sentence Level Recurrent Topic Model 単語生成部分にLSTMを導入することで単語の並びなども 意識したトピックモデル などなど亜種はいろいろあります
  23. 23. 23 ニューラル単語埋め込み  Word2Vec  ニューラル言語モデルを用いた単語埋め込み  単語の意味獲得を行えるように 2017/6/13 C8Lab Copyright 2014 C8Lab Inc. All rights reserved Yoshua Bengio, Réjean Ducharme, Pascal Vincent, Christian Jauvin. A Neural Probabilistic Language Model. Journal of Machine Learning Research 3(2003):p1137– 1155 犬=(0.1, 0.5, 2.0, 0.4, 2.4) 猫=(0.1, 0.4, 1.5, 0.3, 2.4) 次に来る単語を予測するモデルを作る ことによって、 のように、各単語にベクトルを割り当てる。 王様 – 男性 + 女性 = 女王様 のようなベクトル演算が可能に
  24. 24. 24 もっとも簡単なWord2Vecの仕組み  ある単語の次or前にどの単語が来るか?を予測する3層のNN 2017/6/13 C8Lab Copyright 2014 C8Lab Inc. All rights reserved ・ ・ ・ ・ ・ ・ ・ ・ 入力層 出力層中間層 単語数次元の One hot ベクトル (0,0,1,・・・・,0,0) 単語辞書内の3番目の単語 例:dog 中間層のユニット数 = 圧縮したい次元数 辞書内の何番目の単語が 周りにあるか?という確率 例えば、” I want dog. ” という文章があったとしたら、 今回の例だと入力が ”dog” 正解は “want” 入力層と中間層の間の 単語数×次元数の行列が各単語 のベクトルの集合になる
  25. 25. 25 Word2Vec特徴  なぜかこれで単語の演算などができるのでおそらく単語をうまく表現で きている  コサイン距離などで類似度を取ることも可能  あくまで単語のベクトル化なので、文章にするのに一手間必要  Word Move rDistanceを用いた文章類似度計算のような、「文章= 単語ベクトルの集合」という過程を取るならそのまま扱える  実は同じ文脈で出て来る対義語には弱い  ”私は猫が好き/嫌いです” 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  26. 26. 26 Doc2Vec  Word2Vecで文章化するのに一手間必要なら、一気に文章をベクトル 化してしまおう 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved Quoc V. Le, Tomas Mikolov. Distributed Representations of Sentences and Documents. 2014 単語組み込み用の重みと別に、 文章組み込み用の重みを用意しする 深層学習も使ってないのに、特定タスクにおいて LDAやRecurrent Neural Networkを凌駕するパフォーマンス 新規文章を扱う際はまとめて際学習する必要がある
  27. 27. 27 各種手法まとめ  BoW的な手法は重要語を判断するのには向いている  行列分解はどちらかというとレコメンドそのもののに活用した方がよい  トピックモデルは文章のベクトル化としては非常に強力だが短文に非常 に弱い  単語組み込みは特定タスクにおいて非常に高いパフォーマンスを上げ るが、新規文章を扱う際には再度ニューラルネットワークを学習させる 必要がある 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  28. 28. 28 弊社サービスご紹介  新着記事レコメンドサイト「俺の読め!」 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved ユーザの気になるキーワードと閲覧履歴から 世の中の新着記事をお勧めします! お手軽キーワード設定 https://orenoyome.jp
  29. 29. 29 オレのヨメの特徴  現在βテスト中  ニュース記事に限らず2chやQiitaやarxivなど様々なフィードを推薦し ます  現時点取得元サイト数:727サイト  一週間あたり取得記事数:約50000件  推薦ロジックはキーワード&LDAベースでリアルタイムに新規記事を ユーザに推薦  webバックエンドはGAE + Data Store / GO  分析、レコメンド基盤はGCE + Google Big Query  現在Web版のみ 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved
  30. 30. 30 正式リリース版に向けて  レコメンドの精度確認及びチューニング  スマホアプリ開発  記事データ及びユーザアクションの収集  タスク志向型会話AIによる記事推薦が目標  将来的には今話題になってることに対する雑談機能も追加予定 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved 機械学習わからねぇー どのあたりがわからないのでしょうか? 全部 じゃあこの記事などどうですか?
  31. 31. 31 2017/6/13 C8Lab Copyright 2014 C8Lab Inc. All rights reserved ご静聴ありがとうございました! できれば使って見ていただけると嬉しいです! https://orenoyome.jp
  32. 32. 32 お問い合わせ ご興味のある企業・団体・個人様は、以下までお問い合わせください。 シンギュラリティ株式会社 http://snglrty.net 東京都港区浜松町 2-7-15 三電舎ビル6F Tel 03-5425-2545 取締役/CTO 新村拓也 E-mail:info@snglrty.net 2017/6/13 Singularity Copyright 2016 Singularity Inc. All rights reserved

×