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
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
何の画像か当てちゃるBot紹介/image_guess_bot
大学3年のときに開発したBotの紹介スライドです
ふわせぐ
April 11, 2022
More Decks by ふわせぐ
See All by ふわせぐ
php-conference-nagoya-2025
fuwasegu
0
530
object-oriented-conference-2024
fuwasegu
14
5.7k
proud of my organization LT
fuwasegu
1
470
Qiita Night PHP 2023
fuwasegu
0
15k
php conference okinawa 2022
fuwasegu
0
2k
QiitaConference2022
fuwasegu
1
1.5k
sleepagotchi
fuwasegu
2
2.7k
新卒 Laravel 初心者が成長していく中で 感じたコレジャナイ感/PHPerKaigi 2022
fuwasegu
11
16k
入社初日に社内サービスを全部一人で引き継いだ新卒フルサイクルエンジニアの話
fuwasegu
4
7k
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
230
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
Agentic UI
manfredsteyer
PRO
0
150
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
Vite+ Unified Toolchain for the Web
naokihaba
0
290
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
100
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
750
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
120
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
2
620
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.5k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
RTSPクライアントを自作してみた話
simotin13
0
600
Featured
See All Featured
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Code Review Best Practice
trishagee
74
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
30 Presentation Tips
portentint
PRO
1
320
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
420
How to make the Groovebox
asonas
2
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
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にまとめようと思います。