DajareGoを支える技術―ダジャレによる豊かなコミュニケーションの裏側

>100 Views

October 08, 22

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DajareGoを支える技術 ダジャレによる豊かなコミュニケーションの裏側 @未来祭 LT会 (2022/10/08)

2.

自己紹介 ● 公立はこだて未来大学 システム情報科学部 学部1年生 ● 思い立ったらなんでも作ります プログラミング、電子工作、3Dモデル、自律型サッカーロボット など作品多数 ● 鉄道旅行、クイズなどが趣味 ● Twitter: @jugesuke ● GitHub : jugesuke ● Website: https://jugesuke.pages.dev/

3.

本日の内容 思いつきで開発を始めたら... いつのまにか自然言語処理の研究が始まってしまった話

4.

DajareGo 由来: ダジャレでいこう!/ダジャレ×Go言語

5.

DajareGoの概要 Discord上でダジャレを検出するBot 言語: 使用ライブラリ: ● ● ● ● Kagome (形態素解析器) NEologd (形態素解析辞書) DiscordGo (DiscordBot作成ライブラリ) zap (ロギングライブラリ) 本作品は技育展2022コミュニケーション部門に出展しました(プレゼン一般公開は終了)

6.

きっかけ Discordでの雑談で、ダジャレを検出できたら面白いよねという話に なったので、勢いで実装した

7.

ダジャレって何?

9.

ダジャレを定義する (シャレとは、) 同音または類音で意味の違う言葉を利用して言語表現の指示機能 を複雑にする修辞的言語操作 日本語の場合、ある意味(M1) と言葉の音声(F) がたまたま別の意味(M2)を持つ言 葉と同じものが非常に多い。 (中略) この二つの F(言葉の音声)が同じであった り、よく似てしまった時シャレが成立する。(F1 = F2 または F1 F2) そして、F1 と F2 が似ているほど M1 と M2 が隔たっているほどシャレの効果は 大きい。 ダジャレのダは「駄句」「駄犬」「駄菓子」の「駄」。(中略) 加工の仕方が下手 なのは品質が劣るという意味の「駄」ジャレで 、サービス精神が欠けている。 織田 正吉, 野村 雅昭, Wヤング, 長島 平洋, シャレ・ダジャレ学事始(ことはじ め)(第 19回研究会), 笑い学研究, 1999, 6 巻, p. 55-67 より引用

10.

ダジャレとは? 読みが同じまたは似ているがそれぞれ意味の違う言葉が含まれるフレーズ アルミ缶の上にあるミカン アルミカン/ノ/ウエ/ニ/アル/ミカン 布団が吹っ飛んだ フトン/ガ/フットン/ダ 人民の人民による人民のための政治 ジンミン/ノ/ジンミン/ニ/ヨル/ジンミン/ノ/タメ/ノ/セイジ

11.

どう処理する? ● 単語の読みをどう取得する? ● どうやって文章を単語に分解する? ● “言葉の音声の類似性”をどう判定する? ▶ ダジャレ判定を実現するにはこれらの課題を乗り越える必要がある

12.

自然言語処理を知る 形態素解析をすれば、文章を単語に分解して読みを取得できるらしい! DajareGoでは、Kagomeという形態素解析器を採用した すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ も 助詞,係助詞,*,*,*,*,も,モ,モ もも 名詞,一般,*,*,*,*,もも,モモ,モモ の 助詞,連体化,*,*,*,*,の,ノ,ノ うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ

13.

アルゴリズムを知る 編集距離・始端フリーDPマッチングを用いれば、あいまい検索が出来るらしい! ▶ これをベースにアルゴリズムを作れば良さそう - ふ っ と ん - ふ と ん が ふ っ と ん だ - 0 1 2 3 4 - 0 0 0 0 0 0 0 0 0 0 ふ 1 0 1 2 3 ふ 1 0 1 1 1 0 1 1 1 1 と 2 1 1 1 2 と 2 1 0 1 2 1 1 1 2 2 ん 3 2 2 2 1 ん 3 2 1 0 1 2 2 2 1 2 参考文献: 中川聖一 ほか, 音声言語処理と自然言語処理 (増補). コロナ社, 東京, pp.148-151

14.

あいまい検索を実装 編集コスト設定 置換:音節同士の編集距離 削除:+2 挿入:+2 合計コストが1以下なら類似と判定 - hu ton ga hut ton da - 0 0 0 0 0 0 0 hu 1 0 2 2 1 2 2 ton 2 2 0 2 3 1 3

15.

ダジャレ検出処理の概要

16.

検出精度 データセット種別 ● 70.1% 69.2% 非ダジャレ (n=5060) 91.0% 98.5% 小数点第二位を四捨五入している ダジャレデータセットは以下より収集 https://dajare.jp/ranking/ https://dajareshuu.web.fc2.com/ 非ダジャレデータセットは以下より収集 夏目漱石 『こころ』(青空文庫) 誤検出率の低減を重視したチューニングに 通常の会話を邪魔しないため “猫が寝転んだ”のような2文字一致のパターンは検出できない ○ ● 正解率 (長文無視) ダジャレ (n=1532) ○ ● 正解率 これを検出しようとすると非ダジャレの正解率が著しく下がる 知識の必要なダジャレは現状検出できない ○ 英語を利用したもの、他の単語をもじったもの等

17.

実際に使ってみた ● DajareGoで遊ぶ投稿 ● 予期せず発したダジャレ ● まさかの誤検出 ▶ 新たな会話のきっかけとなった

18.

ダジャレで会話が活性化!

19.

あなたの作品にも ダジャレ検出ライブラリをGitHubにて公開中 あなたなら、これを使ってどんな作品が作れそうですか? https://github.com/jugesuke/dajareGo