0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

大喜利を機械学習で分析してみた!

0
Last updated at Posted at 2026-04-29

大喜利を言語学×機械学習で分析してみた ─ ボケてのデータ2,830件から法則を探っちゃお✨

はじめに

🎀 大喜利×AIで「おもしろいの魔法」を解明しちゃうぞプロジェクト 🎀
みんなおつかれさま〜っ!かわいく生きてる?🌈
今日はね、世界でいちばん「ナゾ」なことについて、AIさんと一緒にお勉強したからみんなに教えちゃうねっ!✨

それは……**「なんで人間って笑うの?」**ってこと!(๑º ロ º๑)!!

これ、実はすごーく昔の、それこそ古代ギリシャの頭いいおじさんたち(アリストテレスさんとか!)の時代からずっと研究されてるんだけど、いまだに「これだ!」っていう答えがないんだって。
えっ、2026年になってもわかんないの?ヤバくない!?うちらの笑顔、ミステリアスすぎ〜っ!💖

🌟 なぜ、いま大喜利なの?
言語のやり取りで笑うのって、歴史的にずーっと続いてる最高のコミュニケーションだよねっ。でも、その「法則」を数式で書けたら、もっと世界がハッピーになっちゃうと思わない?🎀

そこで今回は、
「お題」に対して「オチ」をぶつける、究極の言葉のバトル……**『大喜利』**を機械学習でガチ分析してみましたぁ!👏✨✨

そう思って、ボケて(bokete.jp) のデータを収集し、意味論・記号論・構造論・感情極性値の4軸で言語学的に分析し、LightGBMで面白さ予測モデルを構築したよ。

「笑いの正体」っていう、人類最大の宿題を、最新の技術で「かわいく」解き明かしたいっ!難しそうな数式も、分析結果も、全部うちらの味方にして……笑いのゴールデンルール、見つけちゃお?💕

それじゃあ、きゅるんとした分析、スタートだよっ!( ˶>ᴗ<˶)✨
大喜利のうまい回答には、なにか法則があるかな。

🌟 プロジェクト全体の流れ

今回の「笑いの魔法」解明ルートはこんな感じだよっ!✨

🌟 Step 1 & 2: データ収集と「画像のテキスト化」

まずは分析の命!データを集めるところからスタートだよっ✨
大喜利の聖地「ボケて(bokete.jp)」を調査したら、Next.jsの __NEXT_DATA__ にお宝データが隠れているのを発見!(๑º ロ º๑)!!

IDを総なめする「sweepスクレイパー」を回して、最終的に 2,830件(602お題) のデータをゲットしたよっ!

画像を「AIの目」でテキストに変換!

ボケてのお題はほとんど「画像」だから、Claude Vision API ちゃんに状況を説明してもらったんだぁ🎀

項目 内容
最終データ数 2,830件(ボケ) / 602件(お題画像)
変換例 画像(黒板の前の先生) → 「授業中に突然自分の話を始めた先生」

🌟 Step 3: 言語学的4軸分析(知性のパズル!)

ここがいちおしポイント!お笑いを「4つの視点」でバラバラに分解してみたよっ✨

A. 意味論(Semantics):お題とボケはどれだけ「遠い」?

お題の言葉とボケの言葉が、どれだけ「似ているか」を計算するよ!
ここではGoogleが作った**fastText(cc.ja.300)**っていう、数百万語の「言葉の意味」をベクトル(数字の列)にした辞書を使ってるんだぁ🎀

  • 猫 ↔ 犬: 類似度 0.65(意味が近い!)
  • 猫 ↔ ロボット: 類似度 0.32(意味が遠い!)

深掘り: > 「猫」のお題に「ニャー」と返すのは距離が近いけど、「サイボーグ」と返すのは距離が遠いよね。この「ジャンプ」が笑いのエネルギーになるんだよっ🚀

B. 記号論(Semiotics):空気、壊せてる?

その場の「暗黙のルール(コード)」をあえて破ることで笑いを作る技術だよ。
用意した「シーン別辞書」を使って、空気の壊れ具合をチェック!

  • 医療コード辞書: 診察、手術、お医者さん...
  • 違反トリガー: ポイント、セール、クーポン...

例: お医者さんに「今なら手術がポイント2倍!」って言われたら、コード違反で笑っちゃうよねっ✨

C. 構造論(Structure):ボケの「形」の美学

言葉の内容じゃなくて、リズムや文法を分析するよ。

  • 体言止め: 名詞で終わると言い切りが強くて面白い!
  • 新情報比率: お題にない「全く新しい要素」をどれだけ持ち込んだか。
  • モーラ数(音数): 5・7・5みたいに、心地よいリズムになってるか。

D. 感情極性(Sentiment):心のギャップ萌え!

東工大の「日本語評価極性辞書」(約11,300語収録)を使って、言葉が「ポジティブ」か「ネガティブ」かを判定!
お題とボケの感情が真逆になる**「感情反転」**を数値化したよ。

指標 修正後(辞書直接照合)
お題の感情検出率 62.1%
感情反転(ギャップ)検出率 8.1%

🌟 Step 4 & 5: LightGBMで「面白さ」を大予測!

59個の特徴量を使って、AIのLightGBMくんに「いいね数」を予測してもらったよっ!
(※いいね数は右裾が長いから log1p で対数変換して学習させたよん✨)

📊 予測モデルの成績

指標 スコア コメント
OOF Spearman相関係数 0.182 難しいけど、確かな傾向アリ!
AUC (上位25%分類) 0.655 面白いボケを当てる確率は結構高め!

🏆 特徴量重要度(Gain)TOP3

  1. A_odai_char_count(お題の文字数)
  2. B_semantic_distance(お題↔ボケの意味的距離)
  3. F_total_incongruity(総合不整合スコア)

2位と3位に「意味の遠さ」や「不整合」がランクイン!
つまり、「お題からどれだけ意味をジャンプさせられるか」 が笑いのカギなんだねっ!🌈

🔍 「お題 ↔ ボケの意味的距離」ってなに?
これ、実は今回の分析でいちばん大事な指標なの!
言葉を「多次元の地図」に配置したとき、お題の地点からボケの地点まで、どれだけ離れているかを測るんだよっ✨

🌟 Step 6: 決定木で見つけた!最強の「笑いの方程式」

学習した結果、面白いボケ(上位25%)を作るための「黄金のルート」が見つかったよっ!

💖 決定木が発見した爆笑ルール

「新情報比率 > 0.87」 かつ 「感情コントラスト > 0.87」

お題の画像には一切なかった**「新しい情報」を強引に持ち込み、さらにお題の空気と「真逆の感情」**をぶつける。これが現代大喜利の勝率No.1ムーブなんだって!✨

📊 パターン別の「いいね」倍率

「ツイスト(逆転)」の言葉を入れるだけで、平均いいね数は 2.05倍 に跳ね上がることも証明されたよっ🚀

🎀 まとめ:笑いは「追跡できる裏切り」!

今回のガチ分析でわかったこと……それは、
「お題と意味は遠い(意味的距離・大)けれど、論理的にはギリギリ繋がっている」
というバランスが、いちばんみんなの心を動かすってこと!🎀

Spearman相関 0.182 はまだまだ「笑い」の一部しか捉えられていないけど、最新のAI辞書と機械学習で、魔法の正体に一歩近づけた気がするよっ💖

これからももっとみんなを笑顔にできる魔法、研究し続けるねっ!✨
最後まで読んでくれてありがとう〜っ!( ˶>ᴗ<˶)🎀


🛠 使用技術スタック

  • データ収集: requests, BeautifulSoup
  • 言語解析: fugashi (UniDic), oseti, fastText
  • 機械学習: LightGBM, SHAP, scikit-learn
  • API: Claude Haiku Vision API

📚 参考文献

  • ソシュール「一般言語学講義」
  • 東山昌彦,乾健太郎,松本裕治(2008)「述語の選択選好性に着目した名詞評価極性の獲得」言語処理学会第14回年次大会
  • 高村大也(2006)「単語感情極性対応表」東京工業大学
  • 串田秀也(2006)「会話分析入門」勁草書房
  • Attardo, S. (1994). Linguistic Theories of Humor. Walter de Gruyter.
  • Raskin, V. (1985). Semantic Mechanisms of Humor. Reidel.
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?