SlideShare a Scribd company logo
と
を使って
ツッコミAIスピーカー
Ahoca
を作った話
ふじた
このスライドについて
このスライドはBrainPadの
社内LTで発表した内容です
2
自己紹介
 藤田 洸介
 略歴
 東京生まれ東京育ち
 慶應義塾大学環境情報学部(通称SFC)
 専攻(と呼べるほどのものはない)
 研究室のキーワード『おしゃべりなロングテール』
 現代社会のロングテール(たとえば、ラブライバー、アダルトビデオ、ゆめかわいい)
に対しインターネット上のデータを収集、解析、解釈して言語化、構造化、可視
化するゼミ
 自分の研究はお笑いの好みとコンプレックス(以下ざっくり説明)
 仮説:笑いの好みとコンプレックスは関係性がある
 データ1:ネット大喜利サービス、ボケてのデータを収集し、ボケをクラスタリ
ング
 データ2:大喜利の面白さ評価と、コンプレックに関するアンケートを行うWEB
アプリを作成
 結果:WEBアプリで笑いの評価をすると、笑いの好みとコンプレックスタイプを
示してくれるWEBアプリを作成
3
ふじた こうすけ
今日伝えたいこと
笑いをデータで表現する可能性
意訳:あんまりハードル上げないでね
Raspberry Piは慣れないとつらい
意訳:今週寝不足なのでやさしく見守ってね
4
今日の構成
1.笑い学
2.ツッコミAIスピーカーの中身
3.実機デモ
5
6
なんでおもしろい?
学問としての笑いの分類
7
生物学的考察
社会学的考察
表現論的考察
哲学的考察
人間は生物として「笑うという行為」にどんな意味
があるのか
集団や社会において、「笑い」がどんな機能を果た
しているか
「笑わせる素」になるものは何があるのか
「笑い」はどんな心理的メカニズム・プロセスで生
じるのか
藤田の興味分野&今日の話題
(出典:井上宏『笑い学のすすめ』世界思想社)
笑いのメカニズム
 笑いの不一致説
8
 笑いの二元結合説
 笑いの優越説
 笑いの緊張解放説
予期していたある概念と、これと関連して考えられた事物が一致しないと
突然分かったときに笑いが生じる
3段オチ
⇒2回同じことを繰り返し、3回目で予想を外して違うことをする
例
不一致のものあるいは関係の無いものが、ある同一平面上で結合するとき
二人連れが天婦羅を食べに行って、一方が「この海老は養殖
かな?」と聞くと、他方が「いや、和食やで」と答える場合
例
(論文引用)
他者の劣等性と比較して、現在の自分の優位性を突如感じることから生ず
る勝利の感情
友人が目の前でコケた時例
緊張した束縛から、突然解放されるときに生じる感情
お葬式でだれかが長~いオナラをしたとき例
「お前がラフな…」の笑いを紐解いてみる
9
1. 文章の内容と、画像がマッチしている
2. 「ラフな服装」と「骸骨」という概念が、身
にまとうものが簡単という意味でマッチして
いる
⇒ 笑いの二元結合説!
3. 「ラフな服装」と「骸骨」という概念が実際
の常識とズレている
⇒ 笑いの不一致説!
4. 周りの人が正装で来ているのに、ある人だけ
軽装
⇒ 笑いの優越説!
5. 「明日ラフな格好して行って周りが正装だっ
たら恥ずかしいな・・・」という緊張感と、実際
に別の誰かがそうなっていた状況の対比
⇒ 笑いの緊張解放説!
だから面白い!
「お前がラフな…」の笑いを紐解いてみる
10
1. 文章の内容と、画像がマッチしている
2. 「ラフな服装」と「骸骨」という概念が、身
にまとうものが簡単という意味でマッチして
いる
⇒ 笑いの二元結合説!
3. 「ラフな服装」と「骸骨」という概念が実際
の常識とズレている
⇒ 笑いの不一致説!
4. 周りの人が正装で来ているのに、ある人だけ
軽装
⇒ 笑いの優越説!
5. 「明日ラフな格好して行って周りが正装だっ
たら恥ずかしいな・・・」という緊張感と、実際
に別の誰かがそうなっていた状況の対比
⇒ 笑いの緊張解放説!
だから面白い!
ちょっと待ってください
「お前がラフな…」の笑いを紐解いてみる
11
1. 文章の内容と、画像がマッチしている
2. 「ラフな服装」と「骸骨」という概念が、身
にまとうものが簡単という意味でマッチして
いる
⇒ 笑いの二元結合説!
3. 「ラフな服装」と「骸骨」という概念が実際
の常識とズレている
⇒ 笑いの不一致説!
4. 周りの人が正装で来ているのに、ある人だけ
軽装
⇒ 笑いの優越説!
5. 「明日ラフな格好して行って周りが正装だっ
たら恥ずかしいな・・・」という緊張感と、実際
に別の誰かがそうなっていた状況の対比
⇒ 笑いの緊張解放説!
だから面白い!
これを5歳児が見ても笑うでしょうか?
「お前がラフな…」の笑いを紐解いてみる
12
1. 文章の内容と、画像がマッチしている
2. 「ラフな服装」と「骸骨」という概念が、身
にまとうものが簡単という意味でマッチして
いる
⇒ 笑いの二元結合説!
3. 「ラフな服装」と「骸骨」という概念が実際
の常識とズレている
⇒ 笑いの不一致説!
4. 周りの人が正装で来ているのに、ある人だけ
軽装
⇒ 笑いの優越説!
5. 「明日ラフな格好して行って周りが正装だっ
たら恥ずかしいな・・・」という緊張感と、実際
に別の誰かがそうなっていた状況の対比
⇒ 笑いの緊張解放説!
だから面白い!
これを5歳児が見ても笑うでしょうか?
NO
「お前がラフな…」の笑いを紐解いてみる
13
1. 文章の内容と、画像がマッチしている
2. 「ラフな服装」と「骸骨」という概念が、身
にまとうものが簡単という意味でマッチして
いる
⇒ 笑いの二元結合説!
3. 「ラフな服装」と「骸骨」という概念が実際
の常識とズレている
⇒ 笑いの不一致説!
4. 周りの人が正装で来ているのに、ある人だけ
軽装
⇒ 笑いの優越説!
5. 「明日ラフな格好して行って周りが正装だっ
たら恥ずかしいな・・・」という緊張感と、実際
に別の誰かがそうなっていた状況の対比
⇒ 笑いの緊張解放説!
だから面白い!
これを5歳児が見ても笑うでしょうか?
NO
Why?
笑いを理解するのには常識が必要
 1人だけ服装が違うと恥ずかしいという
常識が必要
 「ラフな格好」という概念と「骸骨」を
結び付けられる常識が必要
 周りの服装を気にして、恐る恐る服を選
ぶ経験が必要
14
この例の場合・・・
つまり、
データ分析の文脈で笑いを扱うためには、何かしらの方法
で常識を覚えさせなければならず、非常にハードルが高い
笑いという分野において、数値解析が進んでいないのはおそらくこれが要因
でも、それをつくりました!
15
1.笑い学
2.ツッコミAIスピーカーの中身
3.実機デモ
16
AIスピーカー元年
17
AIスピーカーは賢く家電を操作する
18
画像元:https://allabout.co.jp/gm/gc/472269/
OK Google!
エアコンを付けて!
はい、暖房を起動します
でもボケには対応してくれない
19
画像元:https://allabout.co.jp/gm/gc/472269/
OK Google!
暖房を8000度にセットして!(????)
暖房を起動します
これを作った!
20
画像元:https://allabout.co.jp/gm/gc/472269/
OK Google!
暖房を8000度にセットして!
焼け死ぬわ!!!
ツッコミAIスピーカー Ahoca!
21※単純にRaspberry Pi、スピーカーのみ
システム概要図
22
暖房8000度!
熱いわ!
Cloud
Speech APIマイク
音声
データ
ボケ検知
モジュール
AquesTalk
(合成音声)
音声
データ
スピーカー
テキスト
データ
ツッコミ
テキスト
CSV
ファイル
ツッコミ発話機能
AquesTalk
(合成音声)
音声
データ
スピーカー
ボケ
テキスト
Cloud
Speech API
音声
データ
ツッコミ
テキスト
ツッコミ記録機能
保存
保存
もはや冷房
じゃないだろ!
冷房を90度
に設定します
マイク
ボケの検知
23
笑いの不一致説では、予測した
常識に対して不一致のときに笑
いが生まれるとされる
 エアコンで設定できる温度は通常
18~31度程度
 夏場は冷房、冬場は暖房を入れる
 温度は1度単位で設定し、小数点
までは入力しない
エアコン設定の常識
音声入力内容が常識から外れ、
笑いが生まれる状況が作り出されている場合
ボケとして検知!
笑いのメカニズム
今回対応するツッコミは、数値データで扱いやすい、エアコンの設定入力のみ
ボケ=異常 として異常検知を行う
24
通常の設定温度データの分布 =
(引用:出手 剛『異常検知と変化検知』)
入力温度18 30
イメージ図
正常データ = 常識
ボケの設定温度データ = 異常データ
𝑥′′
(=2)
異常 正常
正常データ分布の推定
 入力データ
 WEB上で公開されている、エアコンの設定温度に関するアンケートをマージ
 アンケート数:6
 合計モニター数:9050
 設定温度分布推定方法
 粒度 :冷房、暖房それぞれで推定
 推定分布:混合正規分布
 推定手法:EMアルゴリズム
 結果
25
冷房の設定温度分布と推定確率密度分布 暖房の設定温度分布と推定確率密度分布
確率確率
温度 温度
異常値の定義
26
 異常度は以下に定義 Kは分布の個数
𝒙は入力値
𝜇 𝑘分布kの平均
Σ 𝑘分布kの共分散
𝝅 𝒌は各クラスタの混合重み
𝑘=1
𝐾
𝝅 𝒌 = 1
𝑎 𝑥 > 𝑎 𝑡ℎなら異常と判定
𝑎 𝑡ℎ=10
 冷房温度データに恣意的に異常データを加え、異常度を計算
冷房の異常度分布
ボケではなく真面目に温度を入
力した際に、ボケだと判定され
てつっこまれると悲しい
⇒緩めに設定
例えば、15度や35度は正常と判断
今回対応するツッコミ
1. 入力温度の高低に対するツッコミ
 アンケートデータをもとに正常な入力値の分布を推定し
 入力温度の推定確率を算出
 確率を元に異常度を定義し、異常度が設定した閾値を超えたら異常(ボケ)
と検知
 入力の温度によって場合分けしてツッコミを入れる(入れない)
2. 入力モード(冷房or暖房)に対するツッコミ
 アンケートデータと、当日の日付情報をもとに、アンケートデータで該当日
付に冷暖房を使用している割合を算出
 割合を確率とみなし、確率から定義した異常度が閾値を超えたら異常(ボケ
と検知)
 入力によって場合分けしてツッコミを入れる(入れない)
3. 少数での温度入力に対するツッコミ
 入力温度として少数までしてきた場合、問答無用でツッコミ
27
1.笑い学
2.ツッコミAIスピーカーの中身
3.実機デモ
28
デモ動画
 https://vimeo.com/247594648
29
Raspberry Piを初めて使った私が
辛かったしたこと
 音声入力デバイスの利用
 デフォルトの音声入力デバイスはUSBからの入力になっていないので、
configファイルをいじる必要あり…しかし
 Qiitaで「このファイルをいじればOK!」って書いてあっても、OSの
バージョンによってそのファイルがない場合がある
 音声出力
 同じように、上記ファイルを弄る必要性
 上記ファイルをいじっても、アナログ端子だと非常に音が悪い
 USBは音が良いらしいので、USBスピーカーを買うも、なぜか認識さ
れない←イマココ
 音声ファイルの操作に慣れていない
 サンプリングレートとかの用語を理解してないとつらい
30
今後やりたいこと
 こいつの名前はAhocaなので、「Ahoca、暖房設定
して」と呼びかけて起動したい
 本当に家電操作できるようになる
 他のボケに対応したい
 同じことを繰り返す⇒「しつこい!」
 日常会話からボケ検知
 ︙
 ツッコミフレーズを生成する
 おそらく世の中にツッコミの整ったデータはないので、
皆さんAhoca、質の高いツッコミをしまくって成長させ
てあげてください
31

More Related Content

Similar to ツッコミを入れてくれるAIスピーカー「Ahoca」を作った話

デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」Hokuto Tateyama
 
Data scientist casual talk in 白金台
Data scientist casual talk in 白金台Data scientist casual talk in 白金台
Data scientist casual talk in 白金台Hiroko Onari
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
義広 河野
 
人類のデータを使って学習する 人工主体の公共的役割を考える
人類のデータを使って学習する 人工主体の公共的役割を考える人類のデータを使って学習する 人工主体の公共的役割を考える
人類のデータを使って学習する 人工主体の公共的役割を考える
Hiro Hamada
 
ゲームの中の人工知能
ゲームの中の人工知能ゲームの中の人工知能
ゲームの中の人工知能
Youichiro Miyake
 
サイバーエージェントにおける計算社会科学
サイバーエージェントにおける計算社会科学サイバーエージェントにおける計算社会科学
サイバーエージェントにおける計算社会科学
Masanori Takano
 
最終報告会
最終報告会最終報告会
最終報告会
Kazuhiro Ikeda
 

Similar to ツッコミを入れてくれるAIスピーカー「Ahoca」を作った話 (7)

デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
 
Data scientist casual talk in 白金台
Data scientist casual talk in 白金台Data scientist casual talk in 白金台
Data scientist casual talk in 白金台
 
河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020河野ゼミ研究紹介20211020
河野ゼミ研究紹介20211020
 
人類のデータを使って学習する 人工主体の公共的役割を考える
人類のデータを使って学習する 人工主体の公共的役割を考える人類のデータを使って学習する 人工主体の公共的役割を考える
人類のデータを使って学習する 人工主体の公共的役割を考える
 
ゲームの中の人工知能
ゲームの中の人工知能ゲームの中の人工知能
ゲームの中の人工知能
 
サイバーエージェントにおける計算社会科学
サイバーエージェントにおける計算社会科学サイバーエージェントにおける計算社会科学
サイバーエージェントにおける計算社会科学
 
最終報告会
最終報告会最終報告会
最終報告会
 

ツッコミを入れてくれるAIスピーカー「Ahoca」を作った話