SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
PHPでTwitter Bot作った

家計簿ったー(α)の紹介

 里 洋平 (yokkuns)
自己紹介
●
    ID:yokkuns
●
    名前:里 洋平
●
    職業:Webエンジニア
●
    出身:種子島
●
    趣味:プログラミングとか
●
    仕事では、PHPではなく、主にPerl
家計簿ったーとは
●
    支出を投稿すると、自動で分類して記録してく
    れるサービス。
●
    詳しくは、こちら。
    –   http://d.hatena.ne.jp/yokkuns/20090728/1248797834
アジェンダ
●
    背景
●
    全体の流れ
●
    分類の方法
●
    まとめ
背景



皆さん、Twitterって知ってますよね?
背景



自分の周りでは、今Twitterブーム
背景



さらに、言うと
背景



Twitter Botの開発ブーム
背景




こんなやつら
背景



俺も何か作りたい!
背景



でも、何作ろう?
背景



昔作ったは良いけど結局使わなかった

携帯用家計簿サイトのことを思い出す
背景

  家計簿付けるために

ノートを開いて手で書いたり、

Pc立ち上げてエクセル使ったり

そういうのが面倒だから作った
背景



・・・のだが、、、
背景



家計簿のために携帯を出すのも面倒だった。。。
背景



だけど、今ならTwitterがある!
背景



Twitterなら、基本ずっと立ち上げてるので

家計簿のためにわざわざってならない!
背景



ってことで、家計簿BOTになりました。
全体的な流れ
●
    Twitter用のライブラリとか使わずに、普通に
    simplexml
●
    取得したデータを、Chain of Responsibility
    パターンで処理
●
    支出の投稿で不明なフォーマットは、解析して
    分類
分類方法
●
    ベクトル空間モデル使ってる
●
    あらかじめ、項目をベクトル表現
●
    つぶやきをベクトル変換
●
    類似度は両ベクトルの余弦
●
    一番類似度が高い項目に分類
分類方法 - 学習データ生成
                  Web API
         検索 API
         キーフレーズAPI

入力データ
           作成

                学習データ
分類方法 - 分類
               Web API
      検索 API
      キーフレーズAPI



           類似度計算

 検索   登録     学習データ
まとめ
●
    今回自然言語処理を初めてやってみたが、結構
    数学的で面白い
●
    botは、普通のプログラミングと違って速度を
    求められないので、多少重い処理をしても気に
    ならない
●
    Web APIをいっぱい叩ける
●
    なので、簡単に作れる

Weitere ähnliche Inhalte

Andere mochten auch

20131206 japan r
20131206 japan r20131206 japan r
20131206 japan r
Yohei Sato
 
Tokyor39 yokkuns
Tokyor39 yokkunsTokyor39 yokkuns
Tokyor39 yokkuns
Yohei Sato
 
Tokyor35 人工データの発生
Tokyor35 人工データの発生Tokyor35 人工データの発生
Tokyor35 人工データの発生
Yohei Sato
 
ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例
Yohei Sato
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
Yohei Sato
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –
Yohei Sato
 
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組みTokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Yohei Sato
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
Yohei Sato
 

Andere mochten auch (9)

20131206 japan r
20131206 japan r20131206 japan r
20131206 japan r
 
Tokyor39 yokkuns
Tokyor39 yokkunsTokyor39 yokkuns
Tokyor39 yokkuns
 
Tokyor35 人工データの発生
Tokyor35 人工データの発生Tokyor35 人工データの発生
Tokyor35 人工データの発生
 
ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例ドリコムの分析環境とデータサイエンス活用事例
ドリコムの分析環境とデータサイエンス活用事例
 
Tokyo r15 異常検知入門
Tokyo r15 異常検知入門Tokyo r15 異常検知入門
Tokyo r15 異常検知入門
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –
 
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組みTokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
Tokyor45 カーネル多変量解析第2章 カーネル多変量解析の仕組み
 
時系列分析による異常検知入門
時系列分析による異常検知入門時系列分析による異常検知入門
時系列分析による異常検知入門
 

Ähnlich wie 第45回PHP勉強会(里洋平)

request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
Masato Noguchi
 
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature EngineersIntroduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature Engineers
Takeshi Arabiki
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
Yusuke Wada
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
 

Ähnlich wie 第45回PHP勉強会(里洋平) (20)

bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩bottleで始めるWEBアプリの最初の一歩
bottleで始めるWEBアプリの最初の一歩
 
はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会はじめてのWord pressプラグイン勉強会
はじめてのWord pressプラグイン勉強会
 
Python と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめるPython と Xpath で ウェブからデータをあつめる
Python と Xpath で ウェブからデータをあつめる
 
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
エンジニアの為のWordPress入門 〜WordPressはWebAppプラットフォームです〜
 
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい! request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
request-specを利用していい感じにモックデータを作ってフロントエンド開発を楽にしたい!
 
Introduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature EngineersIntroduction to Favmemo for Immature Engineers
Introduction to Favmemo for Immature Engineers
 
コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話コピー自動生成プロダクトでDataflowを導入した話
コピー自動生成プロダクトでDataflowを導入した話
 
個人開発者LT会.pdf
個人開発者LT会.pdf個人開発者LT会.pdf
個人開発者LT会.pdf
 
「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺「新しい」を生み出すためのWebアプリ開発とその周辺
「新しい」を生み出すためのWebアプリ開発とその周辺
 
PredictionIOのPython対応計画
PredictionIOのPython対応計画PredictionIOのPython対応計画
PredictionIOのPython対応計画
 
Google Bert + Transfer Learning + In-context Learning + Chat GPT.pdf
Google Bert + Transfer Learning + In-context Learning + Chat GPT.pdfGoogle Bert + Transfer Learning + In-context Learning + Chat GPT.pdf
Google Bert + Transfer Learning + In-context Learning + Chat GPT.pdf
 
bottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアルbottle.pyをつかったチャットアプリ作成チュートリアル
bottle.pyをつかったチャットアプリ作成チュートリアル
 
受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話
 
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CIあなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
 
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
 
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみたPHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
PHPからC#のライブラリを呼べるようにしたdotnet_ffiを趣味でつくってみた
 
_s + bootstrapで始めるWordPressテーマ開発入門
_s + bootstrapで始めるWordPressテーマ開発入門_s + bootstrapで始めるWordPressテーマ開発入門
_s + bootstrapで始めるWordPressテーマ開発入門
 
俺 と ご褒美 Bot
俺 と ご褒美 Bot俺 と ご褒美 Bot
俺 と ご褒美 Bot
 
Pinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansaiPinoco phptal-phpcon-kansai
Pinoco phptal-phpcon-kansai
 
Tableauのつまづきポイント
TableauのつまづきポイントTableauのつまづきポイント
Tableauのつまづきポイント
 

Mehr von Yohei Sato

Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
Yohei Sato
 
EasyHtmlReportの紹介
EasyHtmlReportの紹介EasyHtmlReportの紹介
EasyHtmlReportの紹介
Yohei Sato
 
R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略
Yohei Sato
 
Rでレポートメール
RでレポートメールRでレポートメール
Rでレポートメール
Yohei Sato
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
Yohei Sato
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
Rでピボットテーブル
Yohei Sato
 
第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション
Yohei Sato
 
Tokyor26 data fusion
Tokyor26 data fusionTokyor26 data fusion
Tokyor26 data fusion
Yohei Sato
 
Tokyor24 yokkuns
Tokyor24 yokkunsTokyor24 yokkuns
Tokyor24 yokkuns
Yohei Sato
 
Tokyowebmining19 data fusion
Tokyowebmining19 data fusionTokyowebmining19 data fusion
Tokyowebmining19 data fusion
Yohei Sato
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling
Yohei Sato
 
Complex network ws_percolation
Complex network ws_percolationComplex network ws_percolation
Complex network ws_percolation
Yohei Sato
 
異常行動検出入門(改)
異常行動検出入門(改)異常行動検出入門(改)
異常行動検出入門(改)
Yohei Sato
 
Tokyor22 selection bias
Tokyor22 selection biasTokyor22 selection bias
Tokyor22 selection bias
Yohei Sato
 
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
Yohei Sato
 
エンジニアサポート新年会2012 データマイニングcross 第1部
エンジニアサポート新年会2012 データマイニングcross 第1部エンジニアサポート新年会2012 データマイニングcross 第1部
エンジニアサポート新年会2012 データマイニングcross 第1部
Yohei Sato
 
Japan r2 lt_yokkuns
Japan r2 lt_yokkunsJapan r2 lt_yokkuns
Japan r2 lt_yokkuns
Yohei Sato
 
Japan r2 tokyor
Japan r2 tokyorJapan r2 tokyor
Japan r2 tokyor
Yohei Sato
 

Mehr von Yohei Sato (20)

Tokyor60 r data_science_part1
Tokyor60 r data_science_part1Tokyor60 r data_science_part1
Tokyor60 r data_science_part1
 
Tokyor60 opening
Tokyor60 openingTokyor60 opening
Tokyor60 opening
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
 
EasyHtmlReportの紹介
EasyHtmlReportの紹介EasyHtmlReportの紹介
EasyHtmlReportの紹介
 
R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略R言語で学ぶマーケティング分析 競争ポジショニング戦略
R言語で学ぶマーケティング分析 競争ポジショニング戦略
 
Rでレポートメール
RでレポートメールRでレポートメール
Rでレポートメール
 
Rで階層ベイズモデル
Rで階層ベイズモデルRで階層ベイズモデル
Rで階層ベイズモデル
 
Rでピボットテーブル
RでピボットテーブルRでピボットテーブル
Rでピボットテーブル
 
第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション第3回Japan rパネルディスカッション
第3回Japan rパネルディスカッション
 
Tokyor26 data fusion
Tokyor26 data fusionTokyor26 data fusion
Tokyor26 data fusion
 
Tokyor24 yokkuns
Tokyor24 yokkunsTokyor24 yokkuns
Tokyor24 yokkuns
 
Tokyowebmining19 data fusion
Tokyowebmining19 data fusionTokyowebmining19 data fusion
Tokyowebmining19 data fusion
 
傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling傾向スコア解析とUplift Modelling
傾向スコア解析とUplift Modelling
 
Complex network ws_percolation
Complex network ws_percolationComplex network ws_percolation
Complex network ws_percolation
 
異常行動検出入門(改)
異常行動検出入門(改)異常行動検出入門(改)
異常行動検出入門(改)
 
Tokyor22 selection bias
Tokyor22 selection biasTokyor22 selection bias
Tokyor22 selection bias
 
Uplift Modelling 入門(1)
Uplift Modelling 入門(1)Uplift Modelling 入門(1)
Uplift Modelling 入門(1)
 
エンジニアサポート新年会2012 データマイニングcross 第1部
エンジニアサポート新年会2012 データマイニングcross 第1部エンジニアサポート新年会2012 データマイニングcross 第1部
エンジニアサポート新年会2012 データマイニングcross 第1部
 
Japan r2 lt_yokkuns
Japan r2 lt_yokkunsJapan r2 lt_yokkuns
Japan r2 lt_yokkuns
 
Japan r2 tokyor
Japan r2 tokyorJapan r2 tokyor
Japan r2 tokyor
 

Kürzlich hochgeladen

Kürzlich hochgeladen (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

第45回PHP勉強会(里洋平)