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
ニューラルネットワークでニュース記事を自動分類してみた
Search
tsurubee
January 15, 2017
Technology
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ニューラルネットワークでニュース記事を自動分類してみた
tsurubee
January 15, 2017
More Decks by tsurubee
See All by tsurubee
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
600
言語モデルによるAI創薬の進展 / Advancements in AI-Driven Drug Discovery Using Language Models
tsurubee
2
630
AIトップカンファレンスからみるData-Centric AIの研究動向 / Research Trends in Data-Centric AI: Insights from Top AI Conferences
tsurubee
3
3.4k
DeepCrysTet: A Deep Learning Approach Using Tetrahedral Mesh for Predicting Properties of Crystalline Materials
tsurubee
0
1.3k
3次元メッシュで表現した結晶構造を用いた材料物性の予測に向けた深層学習モデルの設計 / Design of Deep Learning Model for Predicting Material Properties Using Crystal Structure Represented by Three-Dimensional Mesh
tsurubee
1
2.6k
分散システムの性能異常に対する機械学習の解釈性に基づく原因診断手法 / A Method for Diagnosing the Causes of Performance Issues in Distributed Systems Based on the Interpretability of Machine Learning
tsurubee
0
1.7k
機械学習の解釈性に関する研究動向とシステム運用への応用 / A Survey on Interpretable Machine Learning and Its Application for System Operation
tsurubee
0
390
機械学習モデルの局所的な解釈に着目したシステムにおける異常の原因診断手法の構想
tsurubee
0
8.1k
アニーリングマシンを活用したエッジAIにおける 生成モデルの学習効率化のためのアーキテクチャ
tsurubee
0
1.7k
Other Decks in Technology
See All in Technology
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
3
1.2k
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
200
SmartHR Engineering Team Deck
smarthr
1
990
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
300
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
5
1.4k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
11
8.4k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
160
PLATEAU で バーチャル花火大会
tatsuya1970
0
110
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
サイバー捜査員研修(後半)
nomizone
1
810
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
220
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Un-Boring Meetings
codingconduct
0
380
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Automating Front-end Workflow
addyosmani
1370
210k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
400
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Between Models and Reality
mayunak
4
390
For a Future-Friendly Web
brad_frost
183
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Transcript
ニューラルネットワークでニュース記事 を自動分類してみた 第2回データサイエンスLT&勉強会 2017年1月15日
今回のゴール
これはITニュースだ!
これはスポーツニュースだ!
データセット livedoorニューコーパス (http://www.rondhuit.com/download.html#ldcc) IT スポーツ 映画
分類器 ディープラーニング(深 層学習)は、コンピュータ 業界の話題を集めてき た・・・ 文字列 カテゴリ 全体像
分類器 ディープラーニング(深 層学習)は、コンピュータ 業界の話題を集めてき た・・・ 文字列 カテゴリ サポートベクターマシン(SVM) ナイーブベイズ ランダムフォレスト
ニューラルネットワーク(NN) などなど
ニューラルネットワーク : : 0.85 0.05 0.10 入力層 隠れ層 出力層 ITニュースっ
ぽいぞ? 実数を受け取る テキストは離散値しかも可変長
どう入力する?
テキストをベクトル化
Step1. 形態素解析
オープンソース形態素解析エンジンMeCabを使うと・・ 形態素解析とは・・・文章を単語に分ける! す も も も も も も も
も の う ち
Step2. ベクトル化
文章の構造を無視して含まれる単語のみをみる Bag of Words (BoWモデル) 私は消防士からエンジニア に転職した 私 は 消防士
から エンジニア に 転職 し た 1 0 1 ・・・ 0 1 0 ・・・ 1 0 消防士 の 筋肉 私 あなた 転職 から IT 辞書のサイズを次元数とするベクトルに変換
ニューラルネットワーク 0.85 0.05 0.10 1 0 2 : : 0
1 1 0 2 1 0 1 0 2 1 0 ・ ・ ・ ・
やってみる
開発環境 言語 : Python 3.5.2 Anaconda 4.2.0 (x86_64) トレーニングデータ :
IT・スポーツ・映画記事 800枚ずつ ライブラリ : Tensorflow 0.12.1 Keras 1.2.0
Kerasによるモデルの構築 layer size function input 34674 dense1 1024 ReL dense2
512 ReL dense3 256 Rel output 3 softmax from keras.models import Sequentialfrom from keras.layers import Dense, Dropout, Activation from keras.optimizers import Adam model = Sequential() model.add(Dense(1024, input_shape=(max_words,))) model.add(Activation('relu')) model.add(Dense(512, input_shape=(1024,))) model.add(Activation('relu')) model.add(Dense(256, input_shape=(512,))) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(nb_classes)) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=0.0001, beta_1=0.5), metrics=['accuracy'])
トレーニング #データ読み込み data = json.load(open("./training_data/data.json")) X = data["X"] # テキストデータ
Y = data["Y"] # カテゴリデータ X_train, X_test, Y_train, Y_test = train_test_split(X, Y) Y_train = np_utils.to_categorical(Y_train, nb_classes) Y_test = np_utils.to_categorical(Y_test, nb_classes) #学習 model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch, verbose=1, validation_data=(X_test, Y_test)) #予測 score = model.evaluate(X_test, Y_test, verbose=1) print("accuracy:", score[1]) エポック数:50 バッチサイズ:100 出力クラス:3 トレーニング時間:約40分 accuracy: 0.964
デモ
今後やりたいこと 単語の分散表現(Word Embeddings) 教師なし学習でクラスタリング(k-meansとか) クローラー開発(データ収集)