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
200
何の画像か当てちゃるBot紹介/image_guess_bot
大学3年のときに開発したBotの紹介スライドです
ふわせぐ
April 11, 2022
Tweet
Share
More Decks by ふわせぐ
See All by ふわせぐ
php-conference-nagoya-2025
fuwasegu
0
350
object-oriented-conference-2024
fuwasegu
14
5.2k
proud of my organization LT
fuwasegu
1
430
Qiita Night PHP 2023
fuwasegu
0
14k
php conference okinawa 2022
fuwasegu
0
1.8k
QiitaConference2022
fuwasegu
1
1.4k
sleepagotchi
fuwasegu
2
2.6k
新卒 Laravel 初心者が成長していく中で 感じたコレジャナイ感/PHPerKaigi 2022
fuwasegu
11
15k
入社初日に社内サービスを全部一人で引き継いだ新卒フルサイクルエンジニアの話
fuwasegu
4
6.7k
Other Decks in Programming
See All in Programming
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
520
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
20
11k
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
430
速いWebフレームワークを作る
yusukebe
5
1.7k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
Testing Trophyは叫ばない
toms74209200
0
860
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
590
🔨 小さなビルドシステムを作る
momeemt
4
680
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
120
Laravel Boost 超入門
fire_arlo
3
210
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Faster Mobile Websites
deanohume
309
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
112
20k
How STYLIGHT went responsive
nonsquared
100
5.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Designing for humans not robots
tammielis
253
25k
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にまとめようと思います。