Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Chainerを使ったらカノジョができたお話
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tereka114
March 16, 2022
Programming
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Chainerを使ったらカノジョができたお話
tereka114
March 16, 2022
More Decks by tereka114
See All by tereka114
トラブルがあったコンペに学ぶデータ分析
tereka114
2
2.1k
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.8k
KDD2023学会参加報告
tereka114
2
680
Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering
tereka114
0
470
Mobile-Former: Bridging MobileNet and Transformer
tereka114
0
1.2k
DER: Dynamically Expandable Representation for Class Incremental Learning
tereka114
0
280
Jupyter Notebookを納品した話
tereka114
0
580
Multi Scale Recognition with DAG-CNNs
tereka114
0
190
How to use scikit-image for data augmentation
tereka114
0
330
Other Decks in Programming
See All in Programming
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
22
22k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
630
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.6k
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
110
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
100
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
160
R8 の設定見直しでアプリサイズ削減
andpad
0
210
wkhtmltopdfの次どうするか問題2026
willnet
2
1.9k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Simple Storage Service(S3) is not simple
iwatsukayura
0
260
CodeRabbitの効果検証と過ごしてみた3ヶ月
armondando
0
230
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The Curse of the Amulet
leimatthew05
3
15k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
360
Designing Experiences People Love
moore
143
24k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Producing Creativity
orderedlist
PRO
348
41k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
430
Building Adaptive Systems
keathley
44
3.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
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