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
何の画像か当てちゃるBot紹介/image_guess_bot
Search
ふわせぐ
April 11, 2022
Programming
0
150
何の画像か当てちゃるBot紹介/image_guess_bot
大学3年のときに開発したBotの紹介スライドです
ふわせぐ
April 11, 2022
Tweet
Share
More Decks by ふわせぐ
See All by ふわせぐ
object-oriented-conference-2024
fuwasegu
13
4.6k
proud of my organization LT
fuwasegu
1
330
Qiita Night PHP 2023
fuwasegu
0
13k
php conference okinawa 2022
fuwasegu
0
1.6k
QiitaConference2022
fuwasegu
1
1.3k
sleepagotchi
fuwasegu
2
2.6k
新卒 Laravel 初心者が成長していく中で 感じたコレジャナイ感/PHPerKaigi 2022
fuwasegu
10
14k
入社初日に社内サービスを全部一人で引き継いだ新卒フルサイクルエンジニアの話
fuwasegu
4
6.3k
Other Decks in Programming
See All in Programming
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
100
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
220
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
770
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
Go の GC の不得意な部分を克服したい
taiyow
3
780
return文におけるstd::moveについて
onihusube
1
1.1k
Security_for_introducing_eBPF
kentatada
0
110
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
247
1.3M
RailsConf 2023
tenderlove
29
940
Become a Pro
speakerdeck
PRO
26
5k
BBQ
matthewcrist
85
9.4k
Practical Orchestrator
shlominoach
186
10k
Visualization
eitanlees
146
15k
Side Projects
sachag
452
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Transcript
何の画像か当てちゃるbot 開発作品紹介 発表者:静岡⼤学情報学部情報科学科3年 ⽵下拓秀
⾃⼰紹介(⼗進同好会について) メンバー ⽵下拓秀(静岡⼤学 情報学部) 友⼈K(◯◯⼤学 医学部医学科) ⼗進同好会とは 世界⼀愛されてもおかしくないプログラミング⾔語、⼗進BASICに魅せられてプログラミングを 始めた某中学校吹奏楽部OBのみが参加できる⾮常に敷居の⾼い同好会
作品概要 何の画像か当てちゃるbot botに対してリプで画像を送るとその画像が 何の画像かを考えて返してくれる。 この有名⼈誰だっけ、、、や、これって何て名前だっけ、、、 という⽇常の悩みを解決。 ちなみに⻑崎弁を操ります。
技術的な話 開発⾔語:python 使⽤API:Twitter API(Twython経由)
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ①
技術的な話 ①リプを発⾒ cron(⾃動実⾏するためのデーモンプロセス) により1分ごとにリプを確認。
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ① ②
技術的な話 ②画像URLの抽出 画像検索⽤のURLを抽出する。 Twitter APIを使⽤。
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ① ② ③
技術的な話 ③Google画像検索にかける requestにより検索にかける。 ※ヘッダー情報の中のUser-Agentを設定しないと検索結果を返 してくれなかったのでChromeに設定。
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ① ② ③ ④
技術的な話 ④検索結果ページをスクレイピング 検索結果ページのHTMLデータを正規表現を⽤いて⽇本語の部分 だけを切りだしてリストに格納。
技術的な話
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ① ② ③ ④ ⑤
技術的な話 ⑤最頻出単語を答えとして採⽤ リストの中の語句から、最も多く出現する単語が恐らくその画像 を説明してくれると決め打ち。
技術的な話 botの動き リプを発⾒ ↓ 画像URLを抽出 ↓ Google画像検索にかける ↓ 検索結果ページをスクレイピング ↓
最頻出単語を答えとして採⽤ ↓ 返信 ① ② ③ ④ ⑤ ⑥
技術的な話 ⑥返信 ⻑崎弁に乗せて答えを発信。
サーバーの話 常時動かすためにやっていること ★無料レンタルサーバー「XREA(エクスリア)」 pythonが使える!、、、、でも、cronが使えない! ★cron-job 定期的に指定URLにリクエストを送るサービス
これの何が画期的か ・学習していないデータも判別可能! 例えば、、、 Microsoft Azure Computer Vision APIとか 学習済みの有名⼈なら名前が出るけど、、、 底辺YouTuberの名前とか絶対出ない。
他の技術との融合 画像認識 Web スクレイピング ⾃然⾔語処理
ぜひフォロー、拡散、利⽤を。 何の画像か当てちゃるbot @namaoshi_bot
ご静聴ありがとうございました。 気が向いたらQiitaにまとめようと思います。