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
47k
CNNによるテキスト分類
けんご
March 02, 2016
Tweet
Share
More Decks by けんご
See All by けんご
いいたいことちゃんという
tkengo
0
380
スタートアップで役割をまっとうする技術
tkengo
0
130
TableauやLookerだけじゃない!QuickSightで作る顧客向けダッシュボード
tkengo
1
230
toypoインフラリプレースのお話
tkengo
0
25
機械学習を始めるための第一歩
tkengo
0
240
レポート化の落とし穴
tkengo
0
130
PHP and sometimes Machine Learning
tkengo
3
1.1k
機械学習と数学とプログラマのための数学勉強会
tkengo
0
550
指数の裏側
tkengo
1
400
Other Decks in Technology
See All in Technology
AIプロダクト開発から得られた知見 - 2025年1月版
takaakikakei
0
170
5分で紹介する生成AIエージェントとAmazon Bedrock Agents / 5-minutes introduction to generative AI agents and Amazon Bedrock Agents
hideakiaoyagi
0
140
【弥生】20250130_AWSマルチアカウント運用セミナー登壇資料
yayoi_dd
1
160
Amazon Aurora バージョンアップについて、改めて理解する ~バージョンアップ手法と文字コードへの影響~
smt7174
1
420
パフォーマンスとコスト改善のために法人データ分析基盤をBigQueryに移行した話
seiya303
1
110
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
190
Postman Vaultを使った秘密情報の安全な管理
nagix
3
220
技術負債の「予兆検知」と「状況異変」のススメ / Technology Dept
i35_267
0
290
Active Directory の保護
eurekaberry
6
3.5k
[2025クラウドガバナンスはこう変わる!マルチアカウント運用のre:Invent最新情報と活用例] re:Invent 2024 から見る AWS マルチアカウントガバナンスのこれまでとこれから
0nihajim
0
120
Grid表示のレイアウトで Flow layoutsを使う
cffyoha
1
160
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
2
460
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making Projects Easy
brettharned
116
6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Side Projects
sachag
452
42k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Writing Fast Ruby
sferik
628
61k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
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/