SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
MeCab.jlつくってみた 
Michiaki Ariga @chezou 
Japan.R 2014 @Freakout
大事なこと
の話はしません
Tokyoから来ました
自己紹介 
有賀康顕 / @chezou 
ソフトウェアエンジニア@Cookpad 
クックパッド本体のサービス開発 
最近はレコメンドとか 
JuliaTokyo / MLCT / kawasaki.rb
と私
そそのかされた
Julia Advent Calendar 参加者募集中です! 
http://qiita.com/advent-calendar/2014/julialang
日本で10枚くらいの 
   ステッカー
http://goo.gl/9eMKt0
スターが一番多い!!!
つくったものたち 
Julia100本ノック 
ConfidenceWeighted.jl 
MeCab.jl
MeCab.jl 
工藤さん作の形態素解析器MeCabのJulia wrapper 
これで、Juliaで自然言語処理ができる!!1
DEMO
で、速いの?
Benchmark 
平均処理時間[sec] 
0.8 
0.6 
0.4 
0.2 
0 
• 対象: ブログデータ(734kB) 
• 単語の頻度カウント 
• 10回の平均を取得 
• Nodeと表層の2パターン 
• RはRMeCabFreq() 
Ruby(node) Julia(node) Ruby Julia R 
https://gist.github.com/chezou/1f947423c6655c266e0a
ファッ!?
これは…!?
あ…ありのま 
ま 今 起こっ 
た事を話すぜ!
「おれはRと戦っていたと思ったら  
いつのまにかCと戦っていた」
RMeCabはCだった
ちなみに…
Benchmark 
平均処理時間[sec] 
0.8 
0.6 
0.4 
0.2 
0 
• 対象: ブログデータ(734kB) 
• 単語の頻度カウント 
• 10回の平均を取得 
• Nodeと表層の2パターン 
• RはRMeCabFreq() 
Ruby(nodeJ)ulia(node) Ruby Julia R Julia(w/o gc)
GCを抑えればよかった
Julia Advent Calendar 参加者募集中です! 
http://qiita.com/advent-calendar/2014/julialang
JuliaのPros/Cons 
Pros 
Cのコードを書かないでもバインディングできる 
Cons 
C++は(まだ)辛い 
gc!!!

Weitere ähnliche Inhalte

Mehr von Aki Ariga

Julia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyoJulia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyo
Aki Ariga
 

Mehr von Aki Ariga (20)

Challenges for machine learning systems toward continuous improvement
Challenges for machine learning systems toward continuous improvementChallenges for machine learning systems toward continuous improvement
Challenges for machine learning systems toward continuous improvement
 
Managing Machine Learning workflows on Treasure Data
Managing Machine Learning workflows on Treasure DataManaging Machine Learning workflows on Treasure Data
Managing Machine Learning workflows on Treasure Data
 
仕事ではじめる機械学習
仕事ではじめる機械学習仕事ではじめる機械学習
仕事ではじめる機械学習
 
主人が外資系IT企業に転職して4ヶ月が過ぎました
主人が外資系IT企業に転職して4ヶ月が過ぎました主人が外資系IT企業に転職して4ヶ月が過ぎました
主人が外資系IT企業に転職して4ヶ月が過ぎました
 
R&D at Foodtech company - #CookpadTechConf 2016
R&D at Foodtech company - #CookpadTechConf 2016R&D at Foodtech company - #CookpadTechConf 2016
R&D at Foodtech company - #CookpadTechConf 2016
 
Why I started Machine Learning Casual Talks? #MLCT
Why I started Machine Learning Casual Talks? #MLCTWhy I started Machine Learning Casual Talks? #MLCT
Why I started Machine Learning Casual Talks? #MLCT
 
クックパッドサマーインターン2015 機械学習・自然言語処理 実習課題
クックパッドサマーインターン2015 機械学習・自然言語処理 実習課題クックパッドサマーインターン2015 機械学習・自然言語処理 実習課題
クックパッドサマーインターン2015 機械学習・自然言語処理 実習課題
 
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうかRubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
 
Machine Learning Casual Talks Intro #MLCT
Machine Learning Casual Talks Intro #MLCTMachine Learning Casual Talks Intro #MLCT
Machine Learning Casual Talks Intro #MLCT
 
Make Julia more popular in Japan!!1 #JuliaTokyo
Make Julia more popular in Japan!!1 #JuliaTokyoMake Julia more popular in Japan!!1 #JuliaTokyo
Make Julia more popular in Japan!!1 #JuliaTokyo
 
Refrection of kawasaki.rb
Refrection of kawasaki.rbRefrection of kawasaki.rb
Refrection of kawasaki.rb
 
Recommendation for iruby #tqrk08
Recommendation for iruby #tqrk08Recommendation for iruby #tqrk08
Recommendation for iruby #tqrk08
 
The book that changed me
The book that changed meThe book that changed me
The book that changed me
 
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01
 
Julia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyoJulia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyo
 
Machine Learning Casual Talks opening talk
Machine Learning Casual Talks opening talkMachine Learning Casual Talks opening talk
Machine Learning Casual Talks opening talk
 
Gong anyware
Gong anywareGong anyware
Gong anyware
 
gsub with ActiveSupport::SafeBuffer
gsub with ActiveSupport::SafeBuffergsub with ActiveSupport::SafeBuffer
gsub with ActiveSupport::SafeBuffer
 
はじめて翻訳記事を書いたら300ブクマ超えた話
はじめて翻訳記事を書いたら300ブクマ超えた話はじめて翻訳記事を書いたら300ブクマ超えた話
はじめて翻訳記事を書いたら300ブクマ超えた話
 
Juliaを使った機械学習
Juliaを使った機械学習Juliaを使った機械学習
Juliaを使った機械学習
 

Introduction and benchmarking of MeCab.jl #JapanR