1.4K Views
July 27, 24
スライド概要
TechRAMEN 2024 Conference (2024/07/27 @大雪クリスタルホール)
趣味で作る「ことばあそび」ソフトウェア DajareGoとまなぶ「ことばあそび」ソフトウェアのつくりかた @TechRAMEN 2024 Conference(2024/07/27) Jugesuke
5分で駆け抜けます 2
細かいところはあとでスライドを参照 3
よろしくお願いします 4
自己紹介 Jugesuke 公立はこだて未来大学 情報システムコース 3年 主にバックエンド、 ときどきインフラ・Webフロントエンド マネジメント・回路設計なども... 出身:名古屋 在住:函館 Futher Info -> https://aboutme.jugesuke.net/ 5
自作した「ことばあそび」ソフトウェア DajareGo Discord上でダジャレを検出するBot 使用ライブラリ: ● ● ● Kagome (形態素解析器) Mecab Dic NEologd など (形態素解析辞書) DiscordGo (DiscordBot作成ライブラリ)
実際に使ってみた ● DajareGoで遊ぶ投稿 ● 予期せず発したダジャレ ● まさかの誤検出 ▶ 新たな会話のきっかけとなった
ダジャレ検出処理の概要
kwsk 9
「ことばあそび」ソフトウェアで行われる処理 前処理 形態素解析 分析処理 結果返却 10
「ことばあそび」ソフトウェアで行われる処理 前処理 形態素解析 分析処理 結果返却 11
コンピュータで自然言語を扱う 私はその人を常に先生と呼んでいた。 12
そのままでは理解できない 13
コンピュータで自然言語を扱う 単語・文章がどこで切れるのか? 私/は/その/人/を/常/に/先生/と/呼ん/で/い/た/。 なんと読むのか ワタクシ ワ ソノ ヒト ヲ ツネ ニ センセイ ト ヨン デ イ タ 単語のメタデータ 呼ん: 自立語 バ行五段活用動詞 呼ぶ 連用タ接続 14
自然言語処理を知る 形態素解析をすれば、文章を単語に分解して読みを取得できる DajareGoでは、Kagomeという形態素解析器を採用した すもも 名詞,一般, *, も 助詞,係助詞, *, *, *, *, も, モ, モ もも 名詞,一般, *, *, *, もも, モモ, モモ も 助詞,係助詞, *, *, *, *, も, モ, モ もも 名詞,一般, *, *, *, もも, モモ, モモ の 助詞,連体化, *, *, *, *, の, ノ, ノ うち 名詞,非自立, 副詞可能, *, *, *, うち, ウチ, ウチ *, *, *, *, *, すもも, スモモ, スモモ
「ことばあそび」ソフトウェアで行われる処理 前処理 形態素解析 分析処理 結果返却 16
前処理 デジタルテキストの日本語には多様な表記がある...... ● 特急ライラック 特急ライラック ● TechRAMENに参加します! TechRAMEN に参加します! 17
前処理 ˗֊‐‑‒–⁃⁻₋− これらは全て、違う文字! 18
前処理 参考: https://github.com/neologd/mecab-ipadic-neologd/wiki/Regexp.ja 19
Unicode の正規化 あなたの知らない UTF-8 の世界 (https://zenn.dev/jugesuke/articles/e3b92518e21698) 20
「ことばあそび」ソフトウェアで行われる処理 前処理 形態素解析 分析処理 結果返却 21
ダジャレを定義する (シャレとは、) 同音または類音で意味の違う言葉を利用して 言語表現の指示機 能を複雑にする修辞的言語操作 日本語の場合、ある意味(M1) と言葉の音声(F) がたまたま別の意味(M2)を持つ 言葉と同じものが非常に多い。 (中略) この二つの F(言葉の音声)が同じであっ たり、よく似てしまった時シャレが成立する 。(F1 = F2 または F1 F2) そして、F1 と F2 が似ているほど M1 と M2 が隔たっているほどシャレの効果は 大きい。 ダジャレのダは「駄句」「駄犬」「駄菓子」の「駄」。(中略) 加工の仕方が下 手なのは品質が劣るという意味の「駄」ジャレ で 、サービス精神が欠けてい る。 織田 正吉, 野村 雅昭, Wヤング, 長島 平洋, シャレ・ダジャレ学事始(ことはじ め)(第 19回研究会), 笑い学研究, 1999, 6 巻, p. 55-67 より引用
実際の検出アルゴリズム 編集コスト設定 置換:音節同士の編集距離 削除:+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
「ことばあそび」ソフトウェアで行われる処理 前処理 形態素解析 分析処理 結果返却 25
動作検証をしよう 立ち向かう課題がすごく曖昧なので、 ちゃんとベンチマークテストをしましょう! ● ダジャレがちゃんと検知されるか ● ダジャレ以外に反応しないか 26
おすすめ!テストケース収集方法 27
おすすめ!テストケース収集方法 28
おすすめ!テストケース収集方法 29
検出精度 データセット種別 正解率 正解率 (長文無視) ダジャレ (n=1532) 70.1% 69.2% 非ダジャレ (n=5060) 91.0% 98.5% 小数点第二位を四捨五入している ダジャレデータセットは以下より収集 https://dajare.jp/ranking/ https://dajareshuu.web.fc2.com/ 非ダジャレデータセットは以下より収集 夏目漱石 『こころ』(青空文庫) ● 誤検出率の低減を重視したチューニングに ○ 通常の会話を邪魔しないため ● “猫が寝転んだ”のような2文字一致のパターンは検出できない ○ これを検出しようとすると非ダジャレの正解率が著しく下がる ● 知識の必要なダジャレは現状検出できない ○ 英語を利用したもの、他の単語をもじったもの等
まとめ 「ことばあそび」ソフトウェアを作るには... ● 形態素解析でコンピュータに文章を理解させよう ● 形態素解析器が読みやすい文章に変換しよう ● 分析したい「ことばあそび」に詳しくなろう ● ベンチマークを取ろう 31