VisasQ Dev Blog

ビザスク開発ブログ

ChatGPT判別器の論文読んでみた

今年のGW は久しぶりに遠出をしてはしゃいできた 検索チームの tanker です。

(福利厚生の整体費用補助制度を使って疲れた体のリセットもできますよ!)

AI は敵か味方か!ChatGPT との付き合い方を絶賛試行錯誤中しています。 ITチームのナカジマの記事のように、味方につけて機能向上に取り組む例もありますが、今回は敵として迎え撃つ話です。 tech.visasq.com

先月、 ChatGPT が作った文章を人間が作った文章かそうでないか見分けられるかという記事が話題になり、元の論文ではTPR (ChatGPTが生成した文章の内、正しく分類できた割合) は 最大でも 47.3% と低い数字が示されていました。ChatGPT を提供している本家の OpenAI が出しているツールでも 31.9% でした。

www.itmedia.co.jp

その中でも、最高のスコアを出した 論文の考察が面白かったので紹介します。 (GitHub のページ内に論文へのリンクがあります) github.com

論文の概要

  • 比較検証用のデータセットを作った
  • 人による定量的、定性的な実験を行った
  • 言語的特徴の分析を行った
  • AIGC検出器を作って評価した

比較検証用のデータセットを作った

  • 人間の専門家と ChatGPT に 同じ質問を投げかけて得られた数万の回答データ
  • 質問の分野は、オープンドメインコンピュータサイエンス、金融、医療、法律、心理の各分野
  • 今回のデータセットを作るにあたり、人間の専門家に依頼したりはせずに web 上のデータを使った
    • 一般に公開されている質問回答データセットで、特定のドメインの専門家による回答や投票数の多い回答
    • wikipedia の概要と説明のデータを使って、質問と答えのペアを構築

人による定量的、定性的な実験を行った

  • 17名のテスター(普段からChatGPTをよく使うかどうかで別れている)を招いて評価実験を行った

    定量評価

  • 人間がどの程度見分けられるか、及びどちらが役に立ったと感じるかについて評価した (括弧の中がスコア)

    1. [pair-expert] よく使うグループで実施。1つの質問に対して、人間の専門家の回答とChatGPTの回答の2つを提示して、どちらが ChatGPT によるものかを評価 (0.90)
    2. [single-expert] よく使うグループで実施。1つの質問に対して、人間の専門家の回答かChatGPTの回答のどちらか一方をランダムに提示して、ChatGPT によるものか評価 (0.81)
    3. [single-amateur] 使わないグループで実施。1つの質問に対して、 人間の専門家の回答かChatGPTの回答のどちらか一方をランダムに提示して、 ChatGPT によるものか評価 (0.48)
    4. [helpfulness] よく使うグループで実施。ChatGPT の回答が人間の専門家の回答と比べて役に立ったかを評価 (0.57)
  • (ランダムで選出された)単一 の回答のみよりも、2つの回答を比較する方が区別が容易 (1 と 2より)

  • 使い慣れているグループの方が区別の精度が高い (2 と 3より)
  • 半数以上の質問で、ChatGPT の方が人間の回答よりも役立っている (4 より)
    • 金融と心理学の分野ではその傾向がより強かった
    • 逆に医学の分野では、ChatGPT は長文を回答することが多く、完結でわかりやすい人間の専門家への支持が多かった

定性評価

  • 定量評価テストの後に全てのデータセットを見てもらい、人間の専門家の回答と ChatGPTの回答の両者の特徴のフィードバックをもらった
  • ChatGPT の特徴的なパターン
    1. 明確なロジックで、整理された方法で書いている
      • ChatGPT は質問の核となる概念を定義するのが好き
      • 順序だてて説明し、最後に要約を提示する
    2. 長くて詳しい答えを出す傾向がある
    3. 偏った情報や有害な情報をあまり提示しない
      • デリケートな話題には中立的で、政治や差別的な会話にはほとんど態度を示さない
    4. 蓄積された情報以外の回答を拒否する
      • 例えば、2021/9 以降の情報を必要とする質問には回答しない
      • これは、どの情報がモデルの知識の範囲内かを暗黙のうちに判断する能力を持っているということ
    5. 事実を捏造する可能性がある
  • 人間の専門家とChatGPT の違い
    1. ChatGPTの回答は、与えられた質問に厳密に集中しているのに対して、人間はほかのトピックに容易に遷移する
      • 「充実度」という点において、人間は様々な側面でより多様である
      • 人間は自分の知識に基づいて質問者の意図をくみ取って答えることができる
    2. ChatGPT は客観的、人間は主観的な表現を好む
      • ChatGPT は中立的で用語や概念の解釈に優れている
      • 人間はより具体的で、他の詳細なソースを引用することが多い
    3. ChatGPT はフォーマルで、人間は口語的
      • 人間は、略語やスラングなどを多用しより簡潔である傾向がある
      • 例えを使うのが好き
    4. ChatGPT は感情を表現しないが、人間は表現する
      • 人間は、感嘆符や疑問符、様々な括弧を使う
      • ChatGPTは「一般的に」「一方で」「まず~次に~最後に~」など接続詞や副詞を使って論理的に文章を作る

言語的特徴の分析を行った

  • 文章中にどれだけ多くの異なる単語が使われているかを示す密度(D) を求めた
    • この結果、人間の回答は比較的短いが、より多くの語彙が使用されていることが分かった
  • 品詞、係り受けの解析を行ったところ、ChatGPTの文章には以下の特徴がみられた
    • 決定関係、接続関係、補助関係が多く使われている
    • 長い文章を使う傾向があるため、 punct(句読点)関係と dep(不明な依存)関係の距離が長い
    • より多くの接続詞を使うため、conj(結合詞)関係が明らかに短い
  • 言語モデル的に優れていることを示す PPL (perplexity) の指標で評価をした
    • ChatGPT は常に低い PPLを叩き出しており優秀
    • 一方人間は、文脈や読者、目的などに応じて表現の方法を適宜変えるのでロングテールになる傾向がある

      PPLとは、「私は 犬が 好き ( )」に対して、括弧に何が入るか?で正しい単語を予測できていれば小さくなる指標

AIGC検出器を作って評価した

  • 古典的な機械学習(ML)と深層学習(ディープラーニング)などを組み合わせた3つの方法で作成し、比較評価を行った
  • そのなかでも RoBERTa を使う方法が最も良かった

AIGC は UGC (一般ユーザによって作られたコンテンツ)と同じように AI によって作られたコンテンツという意味

論文まとめ

  • AIGC と人間の回答の役立ち度について
    • 5割強で AIGC の方が役立ったという結果になった
  • 人間が判別する精度について
    • AIGC を日ごろから見ている人にとっては 8~9 割の精度で判別可能
    • 逆に慣れていない人は 5割未満
  • ホワイトボックスな AIGC 判別器の実装について (AIGCの文章の特徴)
    • ChatGPT は常に低い PPL (perplexity)を叩き出しており優秀
    • ChatGPT はより多くの接続詞を使い、一文が長い文章になる傾向がある
      • 句読点の数が少なく、句読点間の距離も長い
    • 人間は比較的短いが、より多くの語彙(ユニーク単語数)が使用されている
  • ブラックボックスな AIGC 判別器の実装について
    • RoBERTa を使うとよさそう
      • とはいえ、精度は前述の通り TPR で 5割ない程度

社内で出た意見

最後に、社内の勉強会でこの話をしたときに出た意見も紹介します。

  • ChatGPTでは「関西弁で書いて」など書き方の指定も指定できるのでチューニングされると難しそう
  • 人間が書いた文章を校正して整理された文章にするのには ChatGPT は使えそう
  • 単一の文章だと難しいけど、複数人の回答を比較することで見つけられるかも
    • さらに、あらかじめ ChatGPT による回答も含めて混ぜておき、 BERT でベクトル分析することで ChatGPTの回答に似ている回答を探せるかも