Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chainerを使ったらカノジョができたお話
Search
tereka114
March 16, 2022
Programming
0
180
Chainerを使ったらカノジョができたお話
tereka114
March 16, 2022
Tweet
Share
More Decks by tereka114
See All by tereka114
トラブルがあったコンペに学ぶデータ分析
tereka114
2
1.8k
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.7k
KDD2023学会参加報告
tereka114
2
630
Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering
tereka114
0
420
Mobile-Former: Bridging MobileNet and Transformer
tereka114
0
1.1k
DER: Dynamically Expandable Representation for Class Incremental Learning
tereka114
0
230
Jupyter Notebookを納品した話
tereka114
0
520
Multi Scale Recognition with DAG-CNNs
tereka114
0
160
How to use scikit-image for data augmentation
tereka114
0
290
Other Decks in Programming
See All in Programming
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
120
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
420
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
AWS CDKの推しポイントN選
akihisaikeda
1
240
WebRTC と Rust と8K 60fps
tnoho
2
2k
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
810
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
450
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
710
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.4k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Embracing the Ebb and Flow
colly
88
4.9k
How STYLIGHT went responsive
nonsquared
100
6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Typedesign – Prime Four
hannesfritz
42
2.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Transcript
Chainerを使ったら カノジョができたお話 @tereka114
自己紹介 1. 山本 大輝(@tereka114) 2. Acroquest Technology 株式会社 3. Chainer
Meetup 初参加 4. のんびりしているエンジニアの日記 5. 最近、雑誌記事書きました。 1. Interface 3月号
クリスマスに近いある日
カノジョが欲しい。
そう思っていた、 しかし、そんな簡単に できるはずがない。
ならば、作れば良い。
カノジョを作りました。
Chainerで
カノジョのコンセプト 1. カノジョを構成すれば良い。 1. そもそもカノジョとは何か 2. 理想的なカノジョとは何か
カノジョのコンセプト 1. カノジョを構成すれば良い。 1. そもそもカノジョとは何か 2. 理想的なカノジョとは何か 2. 理想的なカノジョ=癒やし 1.
理想的なカノジョの要素は会話でないか・・
カノジョを作る方法 1. ニューラルネットワークを作る 1. Neural Conversational Model 2. データセットを作る 1.
カノジョとの会話用のデータセットを作る。 3. Slackに載せる 1. Slackで実用的なカノジョを!
システム構成 ①話しかける ④応答を返す ③応答を返す ②話し かける 私
Neural Conversation Model 1. Seq2seqをベースをした会話モデル 1. 入力を話しかけた文章、出力を応答とする会話 モデル 2. Seq2seqは翻訳でよく利用されているモデル
3. 入力の分割は形態素解析を使っている。
Neural Conversation Model
Neural Conversation Model 話しかける文章 回答
Chainerを使った理由 1. 動的ネットワークを組みやすい。 1. 他のライブラリと比べて、RNN作りやすい。 2. 比較的書き慣れていた。
データセット作成 1. ラノベかなにかを読み、手動で会話を集める。 1. 人間の手に限界が・・・ 2. というもののいい解法を見つけられず、結局 手でやった。 1. 次回やるときは特定のカテゴリタグを使ってやり
たい。 3. 1対1の会話文が1つのデータ
Slack 1. 作ったBotをSlackと連携します。 2. PythonにSlack連携させるライブラリがあるので、使 います。 1. インストールは「pip install slackbot」
2. 話しかけるとそれに応じてリプライを返せる仕組み
本Botの工夫ポイント 1. 名前を呼んでくれます。 1. 自分の名前ではない名前で呼ばれても嬉しくな いので、名前を呼ぶようにしました。
None
課題 1. とにかくデータセットが少ない。 1. 増やす方法を考える必要があり 2. 時々知らない単語が混じると精度が悪化する。 1. Beam searchを使うと良くなる・・・(未実装)
Demo