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
420
スタートアップで役割をまっとうする技術
tkengo
0
170
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
280
toypoインフラリプレースのお話
tkengo
0
50
機械学習を始めるための第一歩
tkengo
0
270
レポート化の落とし穴
tkengo
0
170
PHP and sometimes Machine Learning
tkengo
3
1.2k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
580
指数の裏側
tkengo
1
490
Other Decks in Technology
See All in Technology
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
960
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
280
整頓のジレンマとの戦い〜Tidy First?で振り返る事業とキャリアの歩み〜/Fighting the tidiness dilemma〜Business and Career Milestones Reflected on in Tidy First?〜
bitkey
2
16k
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
ネットワーク保護はどう変わるのか?re:Inforce 2025最新アップデート解説
tokushun
0
210
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
50
20k
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.8k
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
240
IPA&AWSダブル全冠が明かす、人生を変えた勉強法のすべて
iwamot
PRO
2
150
Geminiとv0による高速プロトタイピング
shinya337
1
270
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Facilitating Awesome Meetings
lara
54
6.4k
Why Our Code Smells
bkeepers
PRO
336
57k
GitHub's CSS Performance
jonrohan
1031
460k
It's Worth the Effort
3n
185
28k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Balancing Empowerment & Direction
lara
1
430
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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/