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
0
110
Chainerを使ったらカノジョができたお話
tereka114
March 16, 2022
Tweet
Share
More Decks by tereka114
See All by tereka114
KDD2023学会参加報告
tereka114
2
350
Prompting Large Language Models with Answer Heuristics for Knowledge-based Visual Question Answering
tereka114
0
260
Mobile-Former: Bridging MobileNet and Transformer
tereka114
0
890
DER: Dynamically Expandable Representation for Class Incremental Learning
tereka114
0
120
Jupyter Notebookを納品した話
tereka114
0
220
Multi Scale Recognition with DAG-CNNs
tereka114
0
85
How to use scikit-image for data augmentation
tereka114
0
120
面倒くさいこと考えたくないあなたへ〜Tpotと機械学習〜
tereka114
0
170
Colorful image colorization
tereka114
0
98
Other Decks in Programming
See All in Programming
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
570
Micro Frontends for Java Microservices - Utah JUG 2024
mraible
PRO
1
110
GraphQLサーバの構成要素を整理する #ハッカー鮨 #tsukijigraphql / graphql server technology selection
izumin5210
4
920
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
470
Implementing Design Systems in Swift
seyfoyun
2
500
Goのエラースタックトレースの歴史と今後
sonatard
10
2k
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
400
Three ways to use AI on Android: The Good, the Bad and the Ugly
marxallski
0
110
Open AI APIを使う前に知っておきたいアカウントTier の話
akki_megane
0
110
The Cutting Edge Of Versioning (LambdaConf 2024)
chriskrycho
0
220
新宿ダンジョンを可視化してみた
satoshi7190
3
420
Let's learn code review
riofujimon
2
620
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
BBQ
matthewcrist
80
8.8k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
GraphQLとの向き合い方2022年版
quramy
33
12k
Music & Morning Musume
bryan
41
5.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
In The Pink: A Labor of Love
frogandcode
138
21k
Writing Fast Ruby
sferik
622
60k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
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