Submit Search
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
9 likes
6,420 views
Y
Yuya Kato
2016年3月13日 第2回 尼崎Pythonの会(第3回 データ分析勉強会)の発表資料。
Software
Read more
1 of 38
Download now
Downloaded 47 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
More Related Content
PDF
TensorFlowを使ってテキストをクラス分類してみた
Yuya Kato
PDF
S18 t0 introduction
Takeshi Akutsu
PPTX
Chainerで学ぶdeep learning
Retrieva inc.
PDF
Python学習奮闘記#07 webapp
Takeshi Akutsu
PDF
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
PDF
チームで活用するAnaconda入門
Takeshi Akutsu
PDF
S14 t0 introduction
Takeshi Akutsu
PDF
10分でわかるPythonの開発環境
Hisao Soyama
TensorFlowを使ってテキストをクラス分類してみた
Yuya Kato
S18 t0 introduction
Takeshi Akutsu
Chainerで学ぶdeep learning
Retrieva inc.
Python学習奮闘記#07 webapp
Takeshi Akutsu
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
チームで活用するAnaconda入門
Takeshi Akutsu
S14 t0 introduction
Takeshi Akutsu
10分でわかるPythonの開発環境
Hisao Soyama
What's hot
(20)
PDF
Python札幌 2012/06/17
Shinya Okano
PPTX
Chainer meetup
kikusu
PPTX
S13 t0 introduction
Takeshi Akutsu
PPTX
Python札幌201406
Shinya Okano
PPTX
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
PDF
S16 t1 python学習奮闘記#6
Takeshi Akutsu
PDF
S12 t1 python学習奮闘記#5
Takeshi Akutsu
PDF
WindowsでPython
drillan
PPTX
Django learning
Yusuke Muraoka
PDF
S09 t0 orientation
Takeshi Akutsu
PDF
Introduction
Takeshi Akutsu
PPTX
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
PPTX
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
PDF
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
PDF
PythonによるWebスクレイピング入門
Hironori Sekine
KEY
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
PDF
S15 t0 introduction
Takeshi Akutsu
PDF
PyCharm入門
Yuki Nagai
PPTX
オリエンテーション
Takeshi Akutsu
PDF
IPython notebookを使おう
Kazufumi Ohkawa
Python札幌 2012/06/17
Shinya Okano
Chainer meetup
kikusu
S13 t0 introduction
Takeshi Akutsu
Python札幌201406
Shinya Okano
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
S16 t1 python学習奮闘記#6
Takeshi Akutsu
S12 t1 python学習奮闘記#5
Takeshi Akutsu
WindowsでPython
drillan
Django learning
Yusuke Muraoka
S09 t0 orientation
Takeshi Akutsu
Introduction
Takeshi Akutsu
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
PythonによるWebスクレイピング入門
Hironori Sekine
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
S15 t0 introduction
Takeshi Akutsu
PyCharm入門
Yuki Nagai
オリエンテーション
Takeshi Akutsu
IPython notebookを使おう
Kazufumi Ohkawa
Ad
Viewers also liked
(14)
PDF
Watson analytics ご紹介
IBMソリューション
PPTX
IBM Bluemix × Watson でMashup Hackathon (API説明)
Masaya Fujita
PPTX
Watsonにあなたの知識を教えよう
Akiko Murakami
PDF
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
IBM Analytics Japan
PPTX
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
Mitsutoshi Kiuchi
PDF
Ibm Watson Analyticsで簡易Twitter分析
IBM Analytics Japan
PDF
画像解析最前線!WatsonとTensorFlowを比較してみた
softlayerjp
PDF
TwitterデータをdashDBにロードする方法
IBM Analytics Japan
PPTX
Watson活用事例~Watsonハッカソンの例を通じて~
Hiroki Nakayama
PDF
Watson Explorerを使ったテキストマイニング
Hori Tasuku
PDF
IBMワトソン 勉強会 20161121a
Maho Takara
PDF
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
PPTX
NIPS2015読み会: Ladder Networks
Eiichi Matsumoto
PDF
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
Watson analytics ご紹介
IBMソリューション
IBM Bluemix × Watson でMashup Hackathon (API説明)
Masaya Fujita
Watsonにあなたの知識を教えよう
Akiko Murakami
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
IBM Analytics Japan
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
Mitsutoshi Kiuchi
Ibm Watson Analyticsで簡易Twitter分析
IBM Analytics Japan
画像解析最前線!WatsonとTensorFlowを比較してみた
softlayerjp
TwitterデータをdashDBにロードする方法
IBM Analytics Japan
Watson活用事例~Watsonハッカソンの例を通じて~
Hiroki Nakayama
Watson Explorerを使ったテキストマイニング
Hori Tasuku
IBMワトソン 勉強会 20161121a
Maho Takara
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
NIPS2015読み会: Ladder Networks
Eiichi Matsumoto
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
Ad
Similar to TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
(20)
PDF
20150603 JAWS-UG Tokyo AWS Summit
Toshiyuki Konparu
PDF
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
PPTX
Clojureの世界と実際のWeb開発
Tsutomu Yano
PDF
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
PPTX
PlayFabとCognitiveを連携させて健全なゲーム運営を
Shinya Nakajima
PPTX
みんなのPython勉強会#59 Intro
Takeshi Akutsu
PDF
記事分類における教師データおよびモデルの管理
圭輔 大曽根
PDF
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
hiroyuki Yamamoto
PDF
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
PDF
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
PDF
勉強会アンチパターン at LLまつり
Hiro Yoshioka
PPTX
PFDの概説&ディスカッション
Takayuki Ujita
PDF
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
Yoshitaka Seo
PDF
Adtech College#7 GitHubを中心とした開発フロー
Naoyuki Yamada
PDF
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
Masakazu Muraoka
PDF
Osc2010 Slide
Kaoru NAKAMURA
PDF
Collecting corpus
Atsushi Hayakawa
PDF
課題駆動の勘所
You&I
PDF
Jeug#2 lt
Yu Katano
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
20150603 JAWS-UG Tokyo AWS Summit
Toshiyuki Konparu
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
Clojureの世界と実際のWeb開発
Tsutomu Yano
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
PlayFabとCognitiveを連携させて健全なゲーム運営を
Shinya Nakajima
みんなのPython勉強会#59 Intro
Takeshi Akutsu
記事分類における教師データおよびモデルの管理
圭輔 大曽根
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
hiroyuki Yamamoto
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
勉強会アンチパターン at LLまつり
Hiro Yoshioka
PFDの概説&ディスカッション
Takayuki Ujita
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
Yoshitaka Seo
Adtech College#7 GitHubを中心とした開発フロー
Naoyuki Yamada
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
Masakazu Muraoka
Osc2010 Slide
Kaoru NAKAMURA
Collecting corpus
Atsushi Hayakawa
課題駆動の勘所
You&I
Jeug#2 lt
Yu Katano
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
1.
TensorFlowを使って テキストをクラス分類してみたら 精度96.8%の分類器を 簡単に得ることができた話 2016年3月13日 第2回 尼崎Pythonの会(第3回
データ分析勉強会) 那由多屋 加藤 勇也 1
2.
https://goo.gl/YOvdKE https://gdgkobe.doorkeeper.jp/events/39169 2
3.
http://goo.gl/mQHA9Y http://www.slideshare.net/YuyaKato3/tensorflow-58795721 3
4.
https://goo.gl/jqWc8V https://github.com/nayutaya/20160228-gdg-kobe 4
5.
発表内容 • 自己紹介 • 取り組んだ問題 •
実装 • 評価 5 Agenda
6.
自己紹介 6 Self-Introduction
7.
加藤 勇也 7 かとう ゆうや
/ Yuya Kato 株式会社 那由多屋 代表取締役 (2007年∼) な ゆ た や twitter: nayutaya GitHub: nayutaya Facebook: yuyakato1984 ソフトウェア開発 (2000年∼) 大分出身・神戸在住 (2006年∼) 趣味: ・ものづくり全般 (DIY、電子工作) ・3Dプリンタ (2013年∼) ・ボルダリング (2011年∼)
8.
取り組んだ問題 8 Problem
9.
取り組んだ問題 9 ある記事タイトルを入力した時に、 鉄道に関する記事か否かを判定する 分類器記事タイトル 鉄道 or
その他
10.
取り組んだ問題 - 具体例 10 (記事タイトルはasahi.comより引用) “JR九州、半数以上が無人駅に 3月のダイヤ改定受け” 鉄道 “電気・ガス料金、4月値下げ 大手各社、原油安受け” その他
11.
実装 11 Implementation
12.
MNIST For ML
Beginners https://www.tensorflow.org/versions/r0.7/tutorials/mnist/beginners/index.html 12 エムニスト
13.
どうやってテキストを入力する? 13 「This is a
pen.」 テキストは可変長 入力ノード数は学習時に決定入力は実数 (画像は https://www.tensorflow.org/versions/r0.7/tutorials/mnist/beginners/index.html より引用)
14.
自然言語処理 • 単語の特徴化 /
文の特徴化 • 単語化 • 形態素解析 • N-gram言語モデル 14 NLP: Natural Language Processing
15.
単語の特徴化 - One-hot表現 15 One-hot
Representation 「This is a pen.」 This This That The Thou . . . . . . [] 0 0 0 1 . . . . . . [] 辞書 辞書と 同サイズ の ベクトル
16.
文の特徴化 - Bag
of Words 16 「This is a pen.」 This is pen Thou . . . . . . [] a 1 1 1 1 . . . . . .[] 0 辞書と 同サイズ の ベクトル スパース(疎, スカスカ) 順序が失われる 頻度が失われる 未知語が扱えない
17.
単語化 17 トークン化, Tokenize 「This is
a pen.」 「本日は晴天なり。」 英語は分かち書き されている 日本語は分かち書き されていない
18.
形態素解析 18 名詞 助詞 名詞
助動詞 補助記号 Morphological Analysis 「本日は晴天なり。」 今回は形態素解析ライブラリ「janome」を使用
19.
形態素解析 + N-gram言語モデル 19 「本日は晴天なり。」 「本日は晴天なり。」 形態素単位 文字単位 1-gram
(Unigram) 2-gram (Bigram) 3-gram (Trigram) Morphological Analysis + N-gram language model 1-gram (Unigram) 2-gram (Bigram) 3-gram (Trigram)
20.
評価 20
21.
学習データ / 評価環境 •
記事タイトル約14万件 • 鉄道: 6,321件 / その他: 131,069件 • それぞれ1,000件 (計2,000件) をテストデータとして使用 • 残りを教師データとして使用 • 学習ステップ数: 500 / ミニバッチサイズ: 100 • Amazon EC2 r3.xlarge (仮想CPU: 4, メモリ: 30.5GiB) 21
22.
評価結果 (1) 22 手法 前処理 時間 学習 時間 単語数 辞書 サイズ モデル サイズ 精度 文字 1-gram 0.2 min
2.0 min 2,553 9.8 KiB 20 KiB 96.8% 文字 2-gram 0.3 min 9.7 min 60,728 398 KiB 475 KiB 95.7% 文字 3-gram 0.4 min 15.0 min 95,537 868 KiB 747 KiB 90.3% 形態素 1-gram 9.3 min 5.2 min 16,846 135 KiB 132 KiB 95.9% 形態素 2-gram 11.6 min 10.8 min 56,686 575 KiB 443 KiB 87.1% 形態素 3-gram 10.9 min 5.8 min 33,030 430 KiB 258 KiB 72.9% 処理時間はCPU時間
23.
多層パーセプトロン 23 MLP: Multi-Layer Perceptron (画像は
http://sinhrks.hatenablog.com/entry/2014/11/30/192940 より引用)
24.
評価結果 (2) 24 手法 前処理 時間 学習 時間 単語数 辞書 サイズ モデル サイズ 精度 Softmax 回帰 (再掲) 0.3 min
9.7 min 60,728 398 KiB 475 KiB 95.7% MLP 最急降下法 0.3 min 20.6 min 60,728 398 KiB 23 MiB 95.3% MLP Adam 0.5 min 21.9 min 60,728 398 KiB 70 MiB 95.9% 処理時間はCPU時間
25.
評価結果 • 最もシンプルな実装(文字単位1-gram)が最高精度 • 2-gram、3-gram、MLPは500ステップでは足りなさそう •
Adam法は良さげ 25
26.
今後トライしてみたいこと • 多値クラス分類 • 単語の分散表現
→ word2vec • 単語の選択、次元削減 → TF-IDF • 特徴化せずに処理 → RNN, LSTM, HTM • 高速化 → GPUインスタンス 26
27.
まとめ • 単純な問題であれば、単純なアルゴリズムでOK • 自然言語処理の初歩的な手法 •
TensorFlowは素敵な道具 27
28.
発表は以上です 28
29.
29
30.
以降、参考データ 30
31.
文字単位1-gram + Softmax回帰 31
32.
文字単位2-gram + Softmax回帰 32
33.
文字単位3-gram + Softmax回帰 33
34.
形態素単位1-gram + Softmax回帰 34
35.
形態素単位2-gram + Softmax回帰 35
36.
形態素単位3-gram + Softmax回帰 36
37.
文字単位2-gram + 多層パーセプトロン +
最急降下法 37
38.
文字単位2-gram + 多層パーセプトロン +
Adam法 38
Download