Rubyを用いた統計的処理と構文解析
2014/07/26
第16回 岡山Ruby, Ruby on Rails勉強会
貞松 政史 (@sady_nitro)
自己紹介
•貞松 政史 (@sady_nitro)
•#R社
•仕事では専らマイクロソフト製品を利用
•趣味で色々な技術をちょっとかじっては飽きる
多芸は無芸を地でいく、自作自演何でも屋
(最近Raspberry Pi買いました)
たのしいRuby読書会参加してます
http://www.circleaf.com/groups/22
本セッションの目的
•発端はオープンセミナー岡山のLT
•OITECでの登壇から中1週間で若干後悔している
•オープンセミナー岡山でやったネタの裏側について
詳細説明
•しようと思ってたけどポカーン枠になること請け合い
なので、OSOのLTで使用した技術の中から
ピックアップして入門編的内容で構成
•統計的手法とか機械学習げなものに興味を
持っていただければ幸い(今後の布石的に)
おしながき
•統計的処理と構文解析
•Rubyを使ってやってみよう
•classifierで単純なベイジアンフィルタ
•Mecabを使って構文解析
•mecab-rubyを導入
•日本語に対してベイジアンフィルタを適用
•まとめ
•統計的処理
–経験的に得られたバラツキのあるデータから、
応用数学の手法を用いて数値上の性質や
規則性あるいは不規則性を見いだす
•構文解析
–ある文章の文法的な関係を説明すること
–計算機の世界ではおなじみ(コンパイラ・パーサー)
–最近(?)は自然言語処理の分野で注目されている
統計処理と構文解析
Rubyを使ってやってみよう
•ベイジアンフィルタ
–単純ベイズ分類器を応用し、対象となるデータを解析・学習し
分類する為のフィルタ。学習量が増えるとフィルタの分類精度
が上昇するという特徴をもつ。
個々の判定を間違えた場合にはユーザが正しい内容に
判定し直すことで再学習を行う。
•文章の分類
–スパムフィルタなどが一般的
ベイジアンフィルタの実装
•単純ベイジアン分類器
–単純ベイズ確率モデル
–確率モデルを基にした分類器
classifierで単純なベイジアンフィルタ
•classifier
–https://github.com/cardmagic/classifier
–Rubyでベイジアンフィルタを扱うためのgem
•まずは英文を分類
–理由は後ほど説明
–比較的簡単にベイジアンフィルタを適用できる
日本語の文章にベイジアンフィルタを適用するには
•日本語の文章の特徴
–単語が空白で区切られていない
–“わかち書き”なるものに変換する必要がある
•わかち書き
–文章において語の区切りに空白を挟んで記述する
Mecabを使ってわかち書き
•Mecab(和布蕪)
–http://mecab.googlecode.com/svn/trunk/mecab/doc/index.
html
–オープンソースの形態素解析エンジン
–インストールが比較的容易
–わかち書きするだけならとても容易
mecab-rubyを導入
•mecab-ruby
–MecabをRuby上で扱うためのgem
–毎回インストール(コンパイル)に苦戦する
日本語に対してベイジアンフィルタを適用
•mecab-rubyでわかち書き
↓
•classifierでベイジアンフィルタを適用
↓
•日本語の文章を分類
•Rubyのコード内で完結!
せっかくだから学習させてみる
•学習データの保存
•分類したい文章を標準入力
•分類結果を出力
•ちょっとした機械学習の出来上がり!
まとめ
•機械学習とあわせて何かと流行りの
統計的手法や自然言語処理
•Rubyを使うと、便利なgem(他力)により
比較的容易に日本語の文章にベイジアン
フィルタを適用することができる

More Related Content

PPTX
サイタマッパー活動報告2015
PDF
ぼくのかんがえたさいきょうの Rails スタートダッシュ
PDF
Ruby on Rails の特徴とそのエコシステム
PDF
Thin reports再び
PDF
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
PPTX
Railsのフロントエンド開発を考える
ODP
Iron rubyとsinatraで作るデスクトップアプリ
PDF
20130615 組込みの仕事場でRubyを使う
サイタマッパー活動報告2015
ぼくのかんがえたさいきょうの Rails スタートダッシュ
Ruby on Rails の特徴とそのエコシステム
Thin reports再び
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Railsのフロントエンド開発を考える
Iron rubyとsinatraで作るデスクトップアプリ
20130615 組込みの仕事場でRubyを使う

What's hot (20)

PDF
OpenLayersで始める地図の操作
PDF
mod_perlで動くアプリをどう置くか #hachiojipm
PDF
Rubyビジネスセミナー大阪2015
PDF
デレ劇コマ割りするすごい奴
PPT
Ruby City Matsue
KEY
JRubyで作るapiサーバー
PDF
Rails あるある
PDF
Gitとローカル環境
PPTX
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
PDF
Python機械学習プログラミング第10章後半
PDF
PDF
広島で Ruby が流行らないのはどう考えても俺たちが悪い
PPTX
goroutineはどうやって動いているのか
PPTX
なぜか技術書典5で 3サークルの運営をやってた話
PDF
Rubymotion
PPTX
bootsnapはどれくらい早くなるのか
PDF
僕はどうしてもLibsassが使いたかったんだ!
PPTX
なぜか技術書典5で 3サークルの運営を同時にやった話
PDF
Nendo At Kansai Ruby Kaigi03
PDF
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
OpenLayersで始める地図の操作
mod_perlで動くアプリをどう置くか #hachiojipm
Rubyビジネスセミナー大阪2015
デレ劇コマ割りするすごい奴
Ruby City Matsue
JRubyで作るapiサーバー
Rails あるある
Gitとローカル環境
第32回信号処理シンポジウム「Raspberry PiとROSを 使ったロボットシステム」
Python機械学習プログラミング第10章後半
広島で Ruby が流行らないのはどう考えても俺たちが悪い
goroutineはどうやって動いているのか
なぜか技術書典5で 3サークルの運営をやってた話
Rubymotion
bootsnapはどれくらい早くなるのか
僕はどうしてもLibsassが使いたかったんだ!
なぜか技術書典5で 3サークルの運営を同時にやった話
Nendo At Kansai Ruby Kaigi03
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Ad

Viewers also liked (11)

PDF
ちゃんと学ぶ D3.js
PDF
交通・観光ビッグデータがもたらす変革 ナビタイムジャパン CSISシンポジウム2016
PDF
Tronshow2016 公共交通オープンデータサミット「IT×公共交通の可能性IT×公共交通の可能性」
PDF
Windows で動かす TensorFlow
PDF
Learning stochastic neural networks with Chainer
PPTX
OITEC19_TFS
PDF
ITがもたらす公共交通の可能性とオープンデータの役割(能美市公共交通アイディアソン向け)
PDF
深層学習フレームワーク Chainer の開発と今後の展開
PDF
Spc2016_献血をしてもらう企画
PDF
地図調製技術協会シンポジウム資料 公共交通への理解を深め利用を促進するスマートフォンアプリの可能性
PDF
spc2010-05_F1層がソフトバンクケータイに乗り換えたくなるBIG IDEA/ブレイク乗り換え
ちゃんと学ぶ D3.js
交通・観光ビッグデータがもたらす変革 ナビタイムジャパン CSISシンポジウム2016
Tronshow2016 公共交通オープンデータサミット「IT×公共交通の可能性IT×公共交通の可能性」
Windows で動かす TensorFlow
Learning stochastic neural networks with Chainer
OITEC19_TFS
ITがもたらす公共交通の可能性とオープンデータの役割(能美市公共交通アイディアソン向け)
深層学習フレームワーク Chainer の開発と今後の展開
Spc2016_献血をしてもらう企画
地図調製技術協会シンポジウム資料 公共交通への理解を深め利用を促進するスマートフォンアプリの可能性
spc2010-05_F1層がソフトバンクケータイに乗り換えたくなるBIG IDEA/ブレイク乗り換え
Ad

Similar to RubySeminar16_Analyze (20)

PDF
Ruby 3の型推論やってます
PDF
Scheme Interpreter in Ruby
PDF
Ruby の制御構造とリテラルについて
PDF
Rubykaigi2018共有会
PDF
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
PDF
Ruby on Rails 入門
PPTX
Ruby講座第二回
PDF
Ruby勉強会@札幌 "Rubyist入門講座"
ODP
とっとるびー(2回目)発表資料
PDF
Ruby 2.6 Update
PDF
PDF
型プロファイラ:抽象解釈に基づくRuby 3の静的解析
PDF
Elixirだ 第1回 - 基礎だ -
PPTX
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
PPTX
第3回輪講
PDF
SpockからRSpecにきたときの気づき #coedorb
PDF
Ruby初級者向けレッスン KOF2015 出張版
PDF
Ruby の正規表現について
PDF
Ruby 2.5
PDF
Ruby でつくる型付き Ruby
Ruby 3の型推論やってます
Scheme Interpreter in Ruby
Ruby の制御構造とリテラルについて
Rubykaigi2018共有会
Ruby本から読み解くRuby考古学 - Ruby Archaeology from the Ruby Book
Ruby on Rails 入門
Ruby講座第二回
Ruby勉強会@札幌 "Rubyist入門講座"
とっとるびー(2回目)発表資料
Ruby 2.6 Update
型プロファイラ:抽象解釈に基づくRuby 3の静的解析
Elixirだ 第1回 - 基礎だ -
Elixir入門「第1回:パターンマッチ&パイプでJSONパースアプリをサクっと書いてみる」【旧版】※新版あります
第3回輪講
SpockからRSpecにきたときの気づき #coedorb
Ruby初級者向けレッスン KOF2015 出張版
Ruby の正規表現について
Ruby 2.5
Ruby でつくる型付き Ruby

More from sady_nitro (11)

PDF
What's new with Amazon SageMaker
PPTX
20181117 azure ml_seminar_3
PPTX
20181117 azure ml_seminar_2
PPTX
20181117 azure ml_seminar_1
PPTX
座駆動LT Surface Go 実機レビュー
PPTX
組合せ最適化問題と解法アルゴリズム
PPTX
オカヤマ コンピュータサイエンス ラボ についてのおはなし
PPTX
RubyとRのおいしい関係
PPTX
Try Azure Machine Learning
PPTX
Comcamp 2016 Okayama VSTS
PPTX
みんな大好き機械学習
What's new with Amazon SageMaker
20181117 azure ml_seminar_3
20181117 azure ml_seminar_2
20181117 azure ml_seminar_1
座駆動LT Surface Go 実機レビュー
組合せ最適化問題と解法アルゴリズム
オカヤマ コンピュータサイエンス ラボ についてのおはなし
RubyとRのおいしい関係
Try Azure Machine Learning
Comcamp 2016 Okayama VSTS
みんな大好き機械学習

RubySeminar16_Analyze