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
46k
CNNによるテキスト分類
けんご
March 02, 2016
Tweet
Share
More Decks by けんご
See All by けんご
いいたいことちゃんという
tkengo
0
320
スタートアップで役割をまっとうする技術
tkengo
0
83
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
180
toypoインフラリプレースのお話
tkengo
0
6
機械学習を始めるための第一歩
tkengo
0
200
レポート化の落とし穴
tkengo
0
110
PHP and sometimes Machine Learning
tkengo
3
1.1k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
520
指数の裏側
tkengo
1
280
Other Decks in Technology
See All in Technology
たくさん本を読んだけど 1年後には綺麗サッパリ!を乗り越えて 学習の鬼になるぞ👹
yum3
0
160
ペパボのオブザーバビリティ研修2024 説明資料
kesompochy
0
1.1k
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
160
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
What if...? 처음부터 다시 LLM 어플리케이션을 개발한다면
huffon
0
1k
エンジニアリングマネージャーはどう学んでいくのか #devsumi / How Do Engineering Managers Continue to Learn and Grow?
expajp
4
1.3k
スレットハンティングについて知っておきたいこと
hacket
0
130
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
ゆめみのアクセシビリティの現在地と今後
ryokatsuse
3
290
CTOから見た事業開発とプロダクト開発 / My Perspective on Business and Product Development as CTO
keisuke69
4
960
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
800
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
42
2.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
Automating Front-end Workflow
addyosmani
1362
200k
Large-scale JavaScript Application Architecture
addyosmani
506
110k
YesSQL, Process and Tooling at Scale
rocio
166
14k
GraphQLとの向き合い方2022年版
quramy
36
13k
Debugging Ruby Performance
tmm1
71
11k
Done Done
chrislema
179
15k
Into the Great Unknown - MozCon
thekraken
20
1.3k
Designing for Performance
lara
604
67k
RailsConf 2023
tenderlove
16
720
Making the Leap to Tech Lead
cromwellryan
127
8.7k
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/