Submit Search
Lispmeetup48 cl-online-learningによる文書分類
2 likes
1,415 views
Satoshi imai
lispmeetup #48
Software
Read more
1 of 20
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
More Related Content
PDF
論文紹介: Differentiable reasoning over a virtual knowledge base
naoto moriyama
PPTX
PHPとMongoDBで学ぶ次世代データストア
Takuya Sato
PDF
第64回情報科学談話会(岡﨑 直観 准教授)
gsis gsis
PDF
MongoDBで自然言語処理
Hiroaki Kubota
PDF
言語資源と付き合う
Yuya Unno
PDF
Prototypeベース in JavaScript
Ryo Maruyama
PDF
言語処理学会へ遊びに行ったよ
antibayesian 俺がS式だ
PDF
Multi reference training with pseudo-references for neural translation and te...
ryoma yoshimura
論文紹介: Differentiable reasoning over a virtual knowledge base
naoto moriyama
PHPとMongoDBで学ぶ次世代データストア
Takuya Sato
第64回情報科学談話会(岡﨑 直観 准教授)
gsis gsis
MongoDBで自然言語処理
Hiroaki Kubota
言語資源と付き合う
Yuya Unno
Prototypeベース in JavaScript
Ryo Maruyama
言語処理学会へ遊びに行ったよ
antibayesian 俺がS式だ
Multi reference training with pseudo-references for neural translation and te...
ryoma yoshimura
Viewers also liked
(20)
PDF
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Satoshi imai
PDF
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
PDF
Building GUI App with Electron and Lisp
fukamachi
PDF
SBLint
fukamachi
PDF
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Satoshi imai
PDF
Lisp meetup #29 cl-online-learningの紹介
Satoshi imai
PPTX
Internship @ pixiv
Tatsuya Iwanari
PDF
All inclusive design - excluding no gender
Sara Lerén
KEY
Conquering The Context Conundrum
Daniel Eizans
PDF
WordCamp Phoenix 2012
Jay Thompson
PDF
Intro to Git
ojtibi
PDF
Mwhackathon 2012
Matthijs van der Meulen
PPTX
An Introduction to Multisite - WordCamp Phoenix
vegasgeek
KEY
All out in the Cloud - CloudEast 2012
Jan Jongboom
PPTX
No Fear
cliener
PDF
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Nathan O'Hanlon
PDF
On Shrink It and Pink It: Designing Experiences for Women
Jessica Ivins
PDF
目grep入門
murachue
PDF
Building a Responsive Web Design Process
Lydia Whitehead
PPTX
fastTextの実装を見てみた
Yoshihiko Shiraki
Lispmeetup #50 cl-random-forest: Common Lispによるランダムフォレストの実装
Satoshi imai
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
Building GUI App with Electron and Lisp
fukamachi
SBLint
fukamachi
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Satoshi imai
Lisp meetup #29 cl-online-learningの紹介
Satoshi imai
Internship @ pixiv
Tatsuya Iwanari
All inclusive design - excluding no gender
Sara Lerén
Conquering The Context Conundrum
Daniel Eizans
WordCamp Phoenix 2012
Jay Thompson
Intro to Git
ojtibi
Mwhackathon 2012
Matthijs van der Meulen
An Introduction to Multisite - WordCamp Phoenix
vegasgeek
All out in the Cloud - CloudEast 2012
Jan Jongboom
No Fear
cliener
Html5 web sockets - Brad Drysdale - London Web 2011-10-20
Nathan O'Hanlon
On Shrink It and Pink It: Designing Experiences for Women
Jessica Ivins
目grep入門
murachue
Building a Responsive Web Design Process
Lydia Whitehead
fastTextの実装を見てみた
Yoshihiko Shiraki
Ad
Similar to Lispmeetup48 cl-online-learningによる文書分類
(16)
PPTX
AIと金融
Takatsugu Nokubi
PDF
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
PDF
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
PPTX
All-but-the-Top: Simple and Effective Postprocessing for Word Representations
Makoto Takenaka
PPTX
情報検索とゼロショット学習
kt.mako
PPTX
Textdata processing
yuki uchida
PDF
とある制作会社の目次索引作成技法
Kenshi Muto
KEY
201207 ssmjp
th0x0472
PDF
リサーチ・ナビ検索システムの技術
Yoji Kiyota
PDF
WWW2018 論文読み会 Web Search and Mining
cyberagent
PDF
サポーターズ勉強会スライド 2018/2/27
Kensuke Mitsuzawa
PDF
リレーショナルデータベースとの上手な付き合い方 long version
Mikiya Okuno
PPTX
Neural Concept Network v0.2 (ja)
AkihiroYamamoto
PPT
Twitterテキストのトピック分析
Nobuyuki Kawagashira
PDF
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
Masahiro Suzuki
PPTX
情報検索の基礎 第1章 論理検索
nishioka1
AIと金融
Takatsugu Nokubi
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
All-but-the-Top: Simple and Effective Postprocessing for Word Representations
Makoto Takenaka
情報検索とゼロショット学習
kt.mako
Textdata processing
yuki uchida
とある制作会社の目次索引作成技法
Kenshi Muto
201207 ssmjp
th0x0472
リサーチ・ナビ検索システムの技術
Yoji Kiyota
WWW2018 論文読み会 Web Search and Mining
cyberagent
サポーターズ勉強会スライド 2018/2/27
Kensuke Mitsuzawa
リレーショナルデータベースとの上手な付き合い方 long version
Mikiya Okuno
Neural Concept Network v0.2 (ja)
AkihiroYamamoto
Twitterテキストのトピック分析
Nobuyuki Kawagashira
深層生成モデルと世界モデル,深層生成モデルライブラリPixyzについて
Masahiro Suzuki
情報検索の基礎 第1章 論理検索
nishioka1
Ad
Lispmeetup48 cl-online-learningによる文書分類
1.
cl-online-learningによる文書分類 Satoshi Imai Twitter: @masatoi0 Github:
masatoi
2.
文書分類 ● 文書をカテゴリに分類するのが目標 – 応用例 ● ニュース記事のジャンル分け ● スパムフィルタ ● SNSの感情分析 ● 経済予測 ●
Common Lispのみでわりと簡単にできる!
3.
どういうデータになる? ● 文書の中で単語が出現する回数をカウントしたベク トル ● 文書群全体で出てくる単語の数が次元数になる ● 一つの文書の中で出現する単語は少ない → 高次元でかつ疎なベクトル
4.
疎ベクトルの扱い方 ● 値の入っている要素のインデックスとその値のペアを保 存しておけばいい (数十〜数百倍の高速化) ● 疎ベクトルの演算をいろいろ定義しておく – 疎ベクトルと密ベクトルとの和、差、要素積 –
疎ベクトルの定数倍 (defstruct (sparsevector (:constructor %makesparsevector)) (length 0 :type fixnum) (indexvector #() :type (simplearray fixnum)) (valuevector #() :type (simplearray doublefloat)))
5.
形態素解析器: cl-igo ● MeCab互換の形態素解析器 –
MeCabの辞書をJavaプログラムで変換して使う – 解析時はCommon Lispのみ CLUSER> (igo:loadtagger "/path/to/igo/ipadic/") #<IGO::TAGGER {1003B89C43}> CLUSER> (igo:parse "隣の客はよく柿食う客だ。") (("隣" "名詞,一般,*,*,*,*,隣,トナリ,トナリ" 0) ("の" "助詞,連体化,*,*,*,*,の,ノ,ノ" 1) ("客" "名詞,一般,*,*,*,*,客,キャク,キャク" 2) ("は" "助詞,係助詞,*,*,*,*,は,ハ,ワ" 3) ("よく" "副詞,一般,*,*,*,*,よく,ヨク,ヨク" 4) ("柿" "名詞,一般,*,*,*,*,柿,カキ,カキ" 6) ("食う" "動詞,自立,*,*,五段・ワ行促音便,基本形,食う,クウ,クウ" 7) ("客" "名詞,一般,*,*,*,*,客,キャク,キャク" 9) ("だ" "助動詞,*,*,*,特殊・ダ,基本形,だ,ダ,ダ" 10) ("。" "記号,句点,*,*,*,*,。,。,。" 11))
6.
単語とインデックスの対応を取るハッシュ表 ● 単語にインデックスを振りたい – 単語の文字列をキーとするハッシュ表をつくる – ハッシュ表に登録されていない単語に出会ったらカウン タをインクリメントしてハッシュ表に登録していく
7.
特徴量: TF-IDF ● Term
Frequency–Inverse Document Frequency ● t: 単語、 d: 文書 ● :文書d中の単語tの出現回数 ● D : 全文書数 ● df(t) : 単語tが出現する文書数 ● 文書分類でよく使われる特徴量
8.
特徴量: TF-IDF ● Term
Frequency–Inverse Document Frequency ● t: 単語、 d: 文書 ● :文書d中の単語tの出現頻度 ● D : 全文書数 ● df(t) : 単語tが出現する文書数 ある1文書の中で単語tがどれだけ重要か (dを固定すると疎ベクトル) 全文書を横断して単語tがどれだけ 一般的か (密ベクトル)
9.
線形分類器: cl-online-learning ● 線形分類の割と最近の手法までをカバー – Quicklispから入る –
二値分類器を複数個組み合わせてマルチクラス分類で きる – データが疎ベクトルの場合にも対応 – かなり速い
10.
線形分類器: cl-online-learning ● 一個のデータ点の形式 – ラベル(二値分類の場合は+1/-1、マルチクラス分類の場 合は整数)とデータベクトル(密or疎)のcons ●
データ点のシーケンス(リストorベクタ)がデータセッ トになる
11.
cl-online-learning: 使い方 (defparameter a9adim 123) (defparameter a9atrain (readdata "/path/to/a9a" a9adim)) (defparameter a9atest (readdata "/path/to/a9a.t" a9adim)) (defparameter arowlearner (makearow a9adim 10d0)) (train arowlearner a9atrain) (test arowlearner a9atest) データ読み込み モデル定義、訓練、テスト
12.
マルチクラス、疎ベクトルのとき (defparameter mnistdim 780) (defparameter mnisttrain.sp (readdata "/path/to/mnist.scale" mnistdim :sparsep t :multiclassp t)) (defparameter mnisttest.sp (readdata "/path/to/mnist.scale.t" mnistdim :sparsep t :multiclassp t)) (defparameter mnistarow (makeonevsone mnistdim 10 'sparsearow 10d0)) (defparameter mnistarow (makeonevsrest mnistdim 10 'sparsearow 10d0)) (train mnistarow mnisttrain) (test mnistarow mnisttest) データ読み込み モデル定義、訓練、テスト one-vs-oneはクラス数Kのとき K(K-1)/2個の二値分類器が必要
13.
マルチクラス、疎ベクトルのとき (defparameter mnistdim 780) (defparameter mnisttrain.sp (readdata "/path/to/mnist.scale" mnistdim :sparsep t :multiclassp t)) (defparameter mnisttest.sp (readdata "/path/to/mnist.scale.t" mnistdim :sparsep t :multiclassp t)) (defparameter mnistarow (makeonevsone mnistdim 10 'sparsearow 10d0)) (defparameter mnistarow (makeonevsrest mnistdim 10 'sparsearow 10d0)) (train mnistarow mnisttrain) (test mnistarow mnisttest) データ読み込み モデル定義、訓練、テスト one-vs-restはクラス数Kのとき K-1個の二値分類器が必要
14.
cl-online-learning: ベンチマーク ● a9aデータ
(二値分類) ● MNIST (マルチクラス分類) データ読み込みから学習 完了までの時間 テストデータでの正答率 cl-online-learning (AROW, Sparse) 26.0 secs 94.65% LIBLINEAR 146.8 secs 91.69% データ読み込みから1000 エポック学習するまでの時 間 テストデータでの正答率 cl-online-learning (AROW, Sparse) 3.829 secs 84.964066% AROW++ (C++) 58.328 secs 84.989%
15.
文書分類の例: livedoorニュースコーパス ● livedoorニュースの記事を9カテゴリに分けたもの –
http://www.rondhuit.com/download.html#ldcc ●http://news.livedoor.com/article/detail/5914835/ 2011-10-05T18:12:00+0900 毎年話題になるベストジーニスト賞の偏り 今年のベストジーニスト一般選出部門に相葉雅紀、黒木メイサが選出された。その選出が“5年ぶりの新顔”と話 題になっている。 ・ベストジーニスト2011に相葉雅紀&黒木メイサ 5年ぶり“新顔” “5年ぶりの新顔”とは一体どういうことなのか、過去の記録を確認してみたところ、 驚くべき結果が明らかになった。 ベストジーニストには、一般選出部門と協議会選出部門がある。“5年ぶりの新顔”が出た一般選出部門は、全国 からの一般投票で選ばれる、とされている。 ところが、男性はジャニーズ事務所の、女性はエイベックスの芸能人ばかりが選出されていることがわかる。
16.
文書分類の例: livedoorニュースコーパス ● 73021次元のデータが7367個 –
実際にはほとんどのデータで数百次元しか値が入ってい ない疎なデータ
17.
livedoorニュースコーパスの分類 サンプルコード ● https://github.com/masatoi/cl-docclass – ファイルのリストからtf-idfのリストを作る –
ディレクトリ構造からクラスラベルをつける – 同じクラスラベルが連続すると学習に悪影響なので順序を シャッフルする ● 7367個のデータのうち1000個をテストデータ、残りを訓 練データとして学習 – 10回平均でテストデータの正答率が95.5%
18.
学習の進行過程
19.
深層学習での例 ● 深層学習でニュース記事を分類する – http://qiita.com/hogefugabar/items/c27ed578717c 5e7288c0 – Denoising
Autoencoderを3層重ねて事前学習してから ファインチューニング – テストデータで95% ● 線形分類器とほぼ同等。しかし計算速度は線形分 類器の方がはるかに速い
20.
まとめ ● livedoorニュースコーパスからTF-IDFで特徴量を 作って線形分類器でマルチクラス分類した ● 高次元データでも疎なデータは効率的に計算でき る ● 文書分類では深層学習でも線形分類器と大して差 はない。問題に応じて適切なモデルを選ぼう
Download