Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CNNによるテキスト分類
Search
けんご
March 02, 2016
Technology
1
48k
CNNによるテキスト分類
けんご
March 02, 2016
Tweet
Share
More Decks by けんご
See All by けんご
いいたいことちゃんという
tkengo
0
430
スタートアップで役割をまっとうする技術
tkengo
0
180
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
310
toypoインフラリプレースのお話
tkengo
0
62
機械学習を始めるための第一歩
tkengo
0
280
レポート化の落とし穴
tkengo
0
180
PHP and sometimes Machine Learning
tkengo
3
1.2k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
590
指数の裏側
tkengo
1
540
Other Decks in Technology
See All in Technology
AI駆動で進める依存ライブラリ更新 ─ Vue プロジェクトの品質向上と開発スピード改善の実践録
sayn0
1
330
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
6
1.2k
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
640
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
280
OPENLOGI Company Profile for engineer
hr01
1
45k
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
250
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
400
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
140
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
140
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
430
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
1.5k
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
110
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
620
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Become a Pro
speakerdeck
PRO
29
5.6k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How STYLIGHT went responsive
nonsquared
100
5.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Documentation Writing (for coders)
carmenintech
75
5.1k
Transcript
2016.03.02 @tkengo CNNによる テキスト分類
目次 • 畳み込みニューラルネット(CNN) • CNNのNLPへの適用 • テキスト分類デモ • 参考
畳み込み ニューラルネット
畳み込みニューラルネット • 人間の視覚野をシミュレーション • 画像認識の分野で広く使われる • カーネルをスライドさせて特徴マップを得る
畳み込みニューラルネット • NLPへCNNを適用してうまくいくのか? • そもそもどうやって適用するのか? • NLPでは既にRNNが良く使われているのでは?
畳み込みニューラルネット • NLPへCNNを適用してうまくいくのか? • そもそもどうやって適用するのか? • NLPでは既にRNNが良く使われているのでは? ➜いくつかの実験で良い結果が出ている ➜このあと説明します ➜使われていると思う。現時点ではCNNが全て
において万能だという結論ではないと思う
CNNのNLPへの適用
CNNのNLPへの適用 • テキスト内の単語をベクトル化する必要がある • BoWモデルやWordEmbeddingモデル • BoWは単純だけど各単語間の関連が皆無 • WordEmbeddingは話題のword2vec vector('Paris')
- vector('France') + vector(‘Italy’) vector(‘Roma’) vector('king') - vector('man') + vector(‘woman') vector('queen') ⇡ ⇡
CNNのNLPへの適用 • 分類したいテキストに含まれる単語をベクトル化 • それを並べた行列がそのテキストの表現 • 単語数が一致しない場合はパディングで埋める 犬も猫も好き 犬 も
猫 も 好き ʜ ʜ ʜ ʜ ʜ トトロが好き トトロ が 好き <PAD> <PAD> ʜ ʜ ʜ ʜ ʜ “トトロ”のベクトル “犬”のベクトル
CNNのNLPへの適用 • カーネルの幅は単語ベクトルと同じ幅に固定 • カーネルの高さは2-5くらいの範囲 • 1単語ずつスライドさせて畳み込んでいく
ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ ʜ
CNNのNLPへの適用 • 畳み込み層の後にはプーリング層も配置 • 活性化関数ReLUを適用した後に全結合層 • 最後にsoftmax関数を適用
テキスト分類デモ
モチベーション • LINE占い内で悩み相談所というサービスを展開 • 悩み内容にはそれぞれカテゴリが紐付いている • 悩み内容のカテゴリを自動分類できないかな? カテゴリ
単純なNNでテキスト分類 • 最初は隠れ層が1つの単純な順伝播型で実装 • 単語ベクトルにはBoWモデルを使用 • 130,000件のデータを数時間かけて学習 • 65%〜70%程度の精度。もう少し精度ほしい
CNNでテキスト分類 • 全部で5層のディープニューラルネット • 単語ベクトルにはWordEmbeddingモデルを使用 • 130,000件のデータを20時間かけて学習 • 75%〜80%程度の精度
参考
参考 • Convolutional Neural Networks for Sentence Classification • http://arxiv.org/pdf/1408.5882v2.pdf
• word2vec • https://code.google.com/archive/p/word2vec/ • 実装 • https://github.com/tkengo/tf/blob/master/cnn_text_classification/train.py • TensorFlow • https://www.tensorflow.org/