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
14
4.3k
proud of my organization LT
fuwasegu
1
300
Qiita Night PHP 2023
fuwasegu
0
13k
php conference okinawa 2022
fuwasegu
0
1.5k
QiitaConference2022
fuwasegu
1
1.2k
sleepagotchi
fuwasegu
2
2.6k
新卒 Laravel 初心者が成長していく中で 感じたコレジャナイ感/PHPerKaigi 2022
fuwasegu
10
13k
入社初日に社内サービスを全部一人で引き継いだ新卒フルサイクルエンジニアの話
fuwasegu
4
6k
Other Decks in Programming
See All in Programming
Kubernetes上でOracle_Databaseの運用を楽にするOraOperatorの紹介
nnaka2992
0
150
4年間変わらなかった YOUTRUSTのアーキテクチャ
daiki1003
0
110
ECS向けのドリフト検知機構を実装してみた
tkikuc
0
280
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
230
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
640
CSC509 Lecture 02
javiergs
PRO
0
160
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
3
110
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
250
CDKを活用した 大規模コンテナ移行 プロジェクトの紹介
yoyoyopg
0
240
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
150
Pythonによるイベントソーシングへの挑戦と現状に対する考察 / Challenging Event Sourcing with Python and Reflections on the Current State
nrslib
3
930
上手に付き合うコンポーネントテスト
quramy
3
1.2k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
59k
A Philosophy of Restraint
colly
202
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
260
Gamification - CAS2011
davidbonilla
80
5k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
125
18k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Adopting Sorbet at Scale
ufuk
73
8.9k
Statistics for Hackers
jakevdp
796
220k
Facilitating Awesome Meetings
lara
49
6k
Clear Off the Table
cherdarchuk
91
320k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
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にまとめようと思います。