AIに騙されないために!AIで生成された文章を判定するプログラムを作ってみた!
AIで生成された文章を見分けることができるプログラムを紹介します。
AIは、テキストを生成することができる技術です。AIは、ニュース記事や小説、詩など、様々なジャンルのテキストを生成することができます。しかし、AIが生成したテキストは、人間が生成したテキストとは違う特徴を持っています。AIが生成したテキストは、文法や意味がおかしかったり、事実と異なる内容だったりすることがあります。また、AIが生成したテキストは、人間が生成したテキストよりも生成確率が低いということが知られています。生成確率とは、AIがそのテキストを生成する可能性の高さを表す値です。
そこで、私は、入力された文章がAIで生成されたものか、人間が生成されたものかを判定するプログラムを作りました。このプログラムは、Google Colaboratoryというオンラインのプログラミング環境で実行できます。Google Colaboratoryは、無料で使えるサービスで、インターネットに接続されたデバイスであれば、どこでも使うことができます。
このプログラムは、以下のようになっています。
!pip install torch
!pip install transformers
# ライブラリのインポート
import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel
# トークナイザーとモデルのロード
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
# 入力されたテキストをトークン化
text = input("テキストを入力してください: ")
tokens = tokenizer.encode(text, return_tensors="pt")
# テキストの生成確率を計算
with torch.no_grad():
outputs = model(tokens, labels=tokens)
loss = outputs.loss
prob = torch.exp(-loss)
# 生成確率が0.01未満ならAIで作成されたと判定
if prob < 0.01:
print("このテキストはAIで作成された可能性が高いです。")
else:
print("このテキストはAIで作成された可能性が低いです。")
上記プログラムを実行すると、テキストを入力する枠が出てくるので、判定したいテキストを入力してみましょう。今回は本ブログの文章を入力してみました。
本プログラムの説明を記載しておきます。
!pip install torchと!pip install transformersは、PyTorchとTransformersというライブラリをインストールするためのコマンドです。
torchとtransformersのライブラリをインポートしています。
GPT2TokenizerとGPT2LMHeadModelを使用して、トークナイザーとモデルをロードします。これらは、GPT-2という言語モデルを使用しています。
input()関数を使用して、ユーザーがテキストを入力できるようにします。
tokenizer.encode()関数を使用して、入力されたテキストをトークン化します。
modelを使用して、トークン化されたテキストの生成確率を計算します。
確率が0.01未満の場合、入力されたテキストはAIによって生成された可能性が高いと判定し、そうでない場合はAIによって生成された可能性が低いと判定します。
結果を出力します。
このプログラムは、テキストが人間によって書かれたものか、AIによって生成されたものかを判定するシステムとして使用されることができます。
今後、AIによるテキスト自動生成は更なる発展をしていくと考えられます。生成されたテキストがAIによるものかどうかは一つの確立した分野になりますので、今後もこのシリーズを続けていきます。