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
Chainerを使ったらカノジョができたお話
Search
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
2k
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.8k
KDD2023学会参加報告
tereka114
2
670
Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering
tereka114
0
460
Mobile-Former: Bridging MobileNet and Transformer
tereka114
0
1.2k
DER: Dynamically Expandable Representation for Class Incremental Learning
tereka114
0
270
Jupyter Notebookを納品した話
tereka114
0
550
Multi Scale Recognition with DAG-CNNs
tereka114
0
180
How to use scikit-image for data augmentation
tereka114
0
320
Other Decks in Programming
See All in Programming
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
830
どこまでゆるくて許されるのか
tk3fftk
0
350
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
160
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
180
霧の中の代数的エフェクト
funnyycat
1
230
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
430
フィードバックで育てるAI開発
kotaminato
1
100
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Creating Composable Callables in Contemporary C++
rollbear
0
190
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
290
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
410
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
Context Engineering - Making Every Token Count
addyosmani
9
1k
Discover your Explorer Soul
emna__ayadi
2
1.2k
Accessibility Awareness
sabderemane
1
150
Ruling the World: When Life Gets Gamed
codingconduct
0
270
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.7k
Are puppies a ranking factor?
jonoalderson
1
3.7k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
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