Suche senden
Hochladen
TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
•
9 gefällt mir
•
6,398 views
Y
Yuya Kato
Folgen
2016年3月13日 第2回 尼崎Pythonの会(第3回 データ分析勉強会)の発表資料。
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 38
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
TensorFlowを使ってテキストをクラス分類してみた
TensorFlowを使ってテキストをクラス分類してみた
Yuya Kato
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Empfohlen
TensorFlowを使ってテキストをクラス分類してみた
TensorFlowを使ってテキストをクラス分類してみた
Yuya Kato
S18 t0 introduction
S18 t0 introduction
Takeshi Akutsu
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
Python学習奮闘記#07 webapp
Python学習奮闘記#07 webapp
Takeshi Akutsu
S20 t1 stapyのこれまでとこれから
S20 t1 stapyのこれまでとこれから
Takeshi Akutsu
チームで活用するAnaconda入門
チームで活用するAnaconda入門
Takeshi Akutsu
S14 t0 introduction
S14 t0 introduction
Takeshi Akutsu
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
Hisao Soyama
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Chainer meetup
Chainer meetup
kikusu
S13 t0 introduction
S13 t0 introduction
Takeshi Akutsu
Python札幌201406
Python札幌201406
Shinya Okano
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
Takeshi Akutsu
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
WindowsでPython
WindowsでPython
drillan
Django learning
Django learning
Yusuke Muraoka
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
Introduction
Introduction
Takeshi Akutsu
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
S15 t0 introduction
S15 t0 introduction
Takeshi Akutsu
PyCharm入門
PyCharm入門
Yuki Nagai
オリエンテーション
オリエンテーション
Takeshi Akutsu
IPython notebookを使おう
IPython notebookを使おう
Kazufumi Ohkawa
Watson analytics ご紹介
Watson analytics ご紹介
IBMソリューション
IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)
Masaya Fujita
Weitere ähnliche Inhalte
Was ist angesagt?
Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
Chainer meetup
Chainer meetup
kikusu
S13 t0 introduction
S13 t0 introduction
Takeshi Akutsu
Python札幌201406
Python札幌201406
Shinya Okano
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
Takeshi Akutsu
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
Takeshi Akutsu
WindowsでPython
WindowsでPython
drillan
Django learning
Django learning
Yusuke Muraoka
S09 t0 orientation
S09 t0 orientation
Takeshi Akutsu
Introduction
Introduction
Takeshi Akutsu
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Katsuhiro Morishita
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Takeshi Komiya
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
Hironori Sekine
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Hironori Sekine
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
S15 t0 introduction
S15 t0 introduction
Takeshi Akutsu
PyCharm入門
PyCharm入門
Yuki Nagai
オリエンテーション
オリエンテーション
Takeshi Akutsu
IPython notebookを使おう
IPython notebookを使おう
Kazufumi Ohkawa
Was ist angesagt?
(20)
Python札幌 2012/06/17
Python札幌 2012/06/17
Chainer meetup
Chainer meetup
S13 t0 introduction
S13 t0 introduction
Python札幌201406
Python札幌201406
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
S16 t1 python学習奮闘記#6
S16 t1 python学習奮闘記#6
S12 t1 python学習奮闘記#5
S12 t1 python学習奮闘記#5
WindowsでPython
WindowsでPython
Django learning
Django learning
S09 t0 orientation
S09 t0 orientation
Introduction
Introduction
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
Python エンジニアの作り方 2011.08 #pyconjp
Python エンジニアの作り方 2011.08 #pyconjp
Pythonによるwebアプリケーション入門 - Django編-
Pythonによるwebアプリケーション入門 - Django編-
PythonによるWebスクレイピング入門
PythonによるWebスクレイピング入門
Windowsにpythonをインストールしてみよう
Windowsにpythonをインストールしてみよう
S15 t0 introduction
S15 t0 introduction
PyCharm入門
PyCharm入門
オリエンテーション
オリエンテーション
IPython notebookを使おう
IPython notebookを使おう
Andere mochten auch
Watson analytics ご紹介
Watson analytics ご紹介
IBMソリューション
IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)
Masaya Fujita
Watsonにあなたの知識を教えよう
Watsonにあなたの知識を教えよう
Akiko Murakami
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
IBM Analytics Japan
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
Mitsutoshi Kiuchi
Ibm Watson Analyticsで簡易Twitter分析
Ibm Watson Analyticsで簡易Twitter分析
IBM Analytics Japan
画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみた
softlayerjp
TwitterデータをdashDBにロードする方法
TwitterデータをdashDBにロードする方法
IBM Analytics Japan
Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~
Hiroki Nakayama
Watson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニング
Hori Tasuku
IBMワトソン 勉強会 20161121a
IBMワトソン 勉強会 20161121a
Maho Takara
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
nlab_utokyo
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder Networks
Eiichi Matsumoto
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ryota Kamoshida
Andere mochten auch
(14)
Watson analytics ご紹介
Watson analytics ご紹介
IBM Bluemix × Watson でMashup Hackathon (API説明)
IBM Bluemix × Watson でMashup Hackathon (API説明)
Watsonにあなたの知識を教えよう
Watsonにあなたの知識を教えよう
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
Ibm watson analyticsでリレーショナル・データベースのデータを利用する
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
2016/4/16 Softlayer Bluemix Community Festa 2016講演資料
Ibm Watson Analyticsで簡易Twitter分析
Ibm Watson Analyticsで簡易Twitter分析
画像解析最前線!WatsonとTensorFlowを比較してみた
画像解析最前線!WatsonとTensorFlowを比較してみた
TwitterデータをdashDBにロードする方法
TwitterデータをdashDBにロードする方法
Watson活用事例~Watsonハッカソンの例を通じて~
Watson活用事例~Watsonハッカソンの例を通じて~
Watson Explorerを使ったテキストマイニング
Watson Explorerを使ったテキストマイニング
IBMワトソン 勉強会 20161121a
IBMワトソン 勉強会 20161121a
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder Networks
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
Ähnlich wie TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
20150603 JAWS-UG Tokyo AWS Summit
20150603 JAWS-UG Tokyo AWS Summit
Toshiyuki Konparu
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Takayuki Shimizukawa
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Tsutomu Yano
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
PlayFabとCognitiveを連携させて健全なゲーム運営を
PlayFabとCognitiveを連携させて健全なゲーム運営を
Shinya Nakajima
みんなのPython勉強会#59 Intro
みんなのPython勉強会#59 Intro
Takeshi Akutsu
記事分類における教師データおよびモデルの管理
記事分類における教師データおよびモデルの管理
圭輔 大曽根
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
hiroyuki Yamamoto
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
Takuya Ueda
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
Tetsuya Morimoto
勉強会アンチパターン at LLまつり
勉強会アンチパターン at LLまつり
Hiro Yoshioka
PFDの概説&ディスカッション
PFDの概説&ディスカッション
Takayuki Ujita
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
Yoshitaka Seo
Adtech College#7 GitHubを中心とした開発フロー
Adtech College#7 GitHubを中心とした開発フロー
Naoyuki Yamada
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
Masakazu Muraoka
Osc2010 Slide
Osc2010 Slide
Kaoru NAKAMURA
Collecting corpus
Collecting corpus
Atsushi Hayakawa
課題駆動の勘所
課題駆動の勘所
You&I
Jeug#2 lt
Jeug#2 lt
Yu Katano
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
Etsuji Nakai
Ähnlich wie TensorFlowを使ってテキストをクラス分類してみたら精度96.8%の分類器を簡単に得ることができた話
(20)
20150603 JAWS-UG Tokyo AWS Summit
20150603 JAWS-UG Tokyo AWS Summit
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
PlayFabとCognitiveを連携させて健全なゲーム運営を
PlayFabとCognitiveを連携させて健全なゲーム運営を
みんなのPython勉強会#59 Intro
みんなのPython勉強会#59 Intro
記事分類における教師データおよびモデルの管理
記事分類における教師データおよびモデルの管理
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
第85回名古屋アジャイル勉強会「ふりかえりでアジャイルなチームを育てる」
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
メルカリアッテの実務で使えた、GAE/Goの開発を効率的にする方法
PyCon JP 2016 ビギナーセッション
PyCon JP 2016 ビギナーセッション
勉強会アンチパターン at LLまつり
勉強会アンチパターン at LLまつり
PFDの概説&ディスカッション
PFDの概説&ディスカッション
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
IoT キットハンズオンのソースコード解説します クラウド編 Part1 Section3
Adtech College#7 GitHubを中心とした開発フロー
Adtech College#7 GitHubを中心とした開発フロー
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
JavaScriptで ごく普通にhttp通信をする 〜esp8266+espruinoでhttp getリクエストをするテスト〜
Osc2010 Slide
Osc2010 Slide
Collecting corpus
Collecting corpus
課題駆動の勘所
課題駆動の勘所
Jeug#2 lt
Jeug#2 lt
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowプログラミングと分類アルゴリズムの基礎
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
Jetzt herunterladen