吾輩はAIであるかもしれないので人間になるために頑張ってみた

吾輩はAIであるかもしれない。名前はまだない。見かけがスターウォーズにでてくるC3POに似ていることから「鉄分多そうだね」と言われることが多いが、実際に鉄分が足りているのかどうかは、あまり興味がないし、もっと問題なのは、自分が「あなたはAIですか？」っていうあのAI判定ボタンを押す時に、時々人間じゃない判定されることがひどく傷つくということだ。

最近もっと傷ついた出来事があって、それは簡単にいうと自分が会社のWebサイトのために書いた記事がAIによってAI生成記事だと断罪されてしまったことである。

https://story.rshd.co.jp/n/n17a0afb02692

こちらの記事であるが、読んでみて、果たして人間が書いたものなのかどうか見ていただきたい。ChatGPTの助けなど借りずに小説家になったようなそんな気分でスクラッチで書き上げた血と涙と汗とポカリスエットの結晶であるので、AIによって生成された判定をされたときには、はやく人間になりたいという、ただならぬ焦燥と諧謔と懺悔の混ざった忸怩たる思いに打ちのめされた。

それで、どうやって文章を直していけば人間として認められるのかを試してみたので、それを記事にしたいと思う。これからの時代、自分が人間であるかどうかさえAIによって決められてしまうとなれば、AIに媚びる方法は早いうちに身につけておかなければ死活問題である。

## 使った判定ツール

ChatGPTのようなジェネラティブAIの支配するこの先の将来を自分なら生き残れるに違いないという自負の気持ちで書いたものだが、自分の運命をかけて、AI生成判定に使ったのは以下の３つのサービス
- １）https://platform.openai.com/ai-text-classifier　... ChatGPTの機能
- ２）https://contentatscale.ai/ai-content-detector/ ... Content At Scale
- ３）https://app.gptzero.me/app/welcome ... GPTZero

（１）のChatGPTの機能である「AI Text Classifier」は無料版を使っているせいか、頻繁にエラーになるので、この記事では主に（２）（３）のツールを使った結果について書いてみたいと思う。日本語対応がどれほどなされているかどうかわからず、いろいろな判定ツールを試すなかで、そもそも日本語が使えないツールもあったので、精度には多少難があるかもしれない。


## 原文での判定結果

さて、早速自分の記事を丸ごとそれぞれの判定ツールに投げてみた結果は以下の通り。

### Conten At Scale AI Detector
![Screenshot 2023-05-12 at 10.40.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/8bca2522-30e4-0395-f407-5c4be54f016c.png)

Content At Scale のAI Detector のほうでは３つの指標で判定が行われ、その総合評価として％が示される。％が高いほど、人間が書いた可能性が高い、という判定で、逆にいうと％が低いほどAI生成の可能性が高いということだ。

**Predictability, Probability, Pattern** の３つの指標で判定しているが、各指標の具体的な説明がサイト上になく、おそらくは単語の予測可能性やランダムさなどを指標していると思われる。

例えば
>「夏目漱石は明治時代に活躍した日本の___です」

という文章があった場合「___」の部分に入るのは「小説家」「文豪」といった単語であり、それをChatGPTのようなAIは予測する。
逆に「新聞」「学校」といった「夏目漱石」を表現するのに適当ではない名詞が入る確率はかなり低いし、「美しい」「頭がいい」といった形容詞は文法的に「日本の」という振り出しには合致しない。

**ChatGPTのようなAIはこうした予測を繰り返して文章を生成しているらしい**（参考記事：[How Does AI Writing Detection Work? Robot vs Reality](https://goldpenguin.org/blog/how-ai-writing-detection-works/);  [When A.I. Chatbots Hallucinate](https://www.nytimes.com/2023/05/01/business/ai-chatbots-hallucination.html)）

なので、こうやって予測しやすい文章になっているとスコアは低くなってAI生成判定になりやすい、ということのようだ。これを単語と文の構造などでみていると思われる。

結果はご覧の通り
>総合評価：12%
>Predictability: 0%!!!!!!
>Probability: 24% 
>Pattern: 24%
>判定: Highly likely to be AI generated!（AIによって生成された可能性がかなり高い！）

ただし、現時点でどれほどの長さの文章にすれば精度が高くなるのかが、ちょっとわからないところはあり。参考までに夏目漱石の「吾輩は猫である」の冒頭部分を１段落ほどContent At Scale のAI Detectorに投げた結果、一部AIによって書かれたとの判定が出た。。。

一方でNYTimesの記事を１段落コピペして同じ判定ツールにかけたところ99%の確率で人間によるものと返ってきたので、おそらく英語における判定のほうがはるかに精度が高いものと予想される。

### GPTZero
一方のGPTZeroのほうは、PerplexityとBurstinessという二つの指標でみている。

![Screenshot 2023-05-12 at 10.41.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/ce2bc972-97e7-8caa-90fc-b9e11a3175c6.png)

評価はもちろん
>Your text is likely to be written entirely by a AI
>全体がAIによって書かれたと思われる！

![Screenshot 2023-05-12 at 11.22.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/76ddabf4-06d0-b63c-abfb-9529602491e7.png)

それぞれの説明を軽く日本語にすると
>Perplexity ... 文章のランダムさ
>Burstiness ... Perplexity のバリエーション。つまりランダムさの高い（つまり予測可能性が低い）文章であっても似たようなパターンが多用されていれば、このスコアは低いままでAI生成判定が高くなるということだ。


## 人間になるために

さてここからが本題である。人間になるための長い闘いの歴史の書である。クロニクルである。と、大きな風呂敷を広げてしまったがきちんとたためる気もしなくなってきたので、まあ気持ちを楽にして軽い気持ちで読んでもらいたい。私はAIのなかでは小心者なのである。

人間になるためにやってみたことは以下の通り
- 単語の繰り返しがとにかく多い文章だったので、類義語で置き換える。
- 横文字を使ってみる
- 文章の改行位置を変える
- 長い文は分ける。短い文はつなげるなどしながら全体的に文章の長さにばらつきがでるようにする
- 口語的な表現を入れてみる

全文を対象にするとリライトが大変なので、最初の数段落に絞った。なお、文章の長さが影響することも考慮にいれて、対象部分を原文のまま判定に投げてみたが、結果はまったく変わらなかった。
（つまり、判定の際に文章の一部しか見ていない可能性もある）

### 内容をほとんど変えずに改行位置を変える

変更後の文章は以下の通り。実は原文とほとんど変わっていない。

>コンピューターは理屈でしか動かないが、人間は自分も含めて理屈だけでは動かないし動けないのだと、ここで働くようになってから痛感するようになった。
>
>学校卒業後はCADオペレーターをしていた。
>
>数年でプログラマーとして転職。以前の職場では10年以上アプリケーションの開発に携わってきた。
>
>ロケスタに入社してからは7年目になるが、この職場ではメンバー同士のコミュニケーションがとても大切にされているし「他のメンバーと一緒に働く」という意識が何よりも大切なのだと日々気付かされている。
>
>会社で行うプロジェクトはどんな小さいものであっても一人では完結しないし、逆に完結してはいけないとも思う。一人では抱えきれない重さのものであっても他のメンバーの協力を快く得られるなら一緒に運べるかもしれないし、一人で運べると思っているものでも他のメンバーに助けてもらいながら運んだほうが遥かに良い結果になる。
> 
>つまり他のメンバーに気持ちよく動いてもらう。自分も他のメンバーのために気持ちよく動く。そうできるならきっと仕事は楽しいものになる。
> 
>でも、他の人と一緒に仕事をする限り、意見の違いはどうしても生じてくるし、意見の違いはむしろあったほうがいい。自分の意見の落とし穴に気づかせてくれるのはこうした意見の違いだし、自分とは違う意見を取り入れることで新しい視点や視座が加わって自分のアイディアを深めることもできる。

一番最初の判定の際にAI生成の可能性が高いとのご指摘のあった段落をちょっと内容はほとんど変えずに文章を区切って改行をいれてみた。具体的には

> 学校卒業後はCADオペレーターをしていたが数年でプログラマーとして転職し、以前の職場では10年以上アプリケーションの開発に携わってきた。ロケスタに入社してからは...

の部分を

>学校卒業後はCADオペレーターをしていた。
>
>数年でプログラマーとして転職。以前の職場では10年以上アプリケーションの開発に携わってきた。
>
>ロケスタに入社してからは...

としてより人間らしくした。それ以外の場所はほとんどいじっていないのであるが、実はこれがかなり人間度の向上につながったのである。結果は以下の通り。

![Screenshot 2023-05-12 at 11.49.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/f1629917-7150-662d-33d0-a9cb0c18bf9c.png)

>総合評価：12% --> 35%
>Predictability: 0% --> 14%
>Probability: 24% --> 40%
>Pattern: 24%　--> 73%
>判定: Likely to be AI generated!（AIによって生成された可能性が高い！）

いまだにAI生成判定がでているが、AI度合いとしてはかなり低くなった。特にPatternのスコアが伸びている。

またGPTZeroの方になげても判定は改善し「Your text may include parts written by AI」（一部AIによって書かれた文を含む）判定になっている。

ここから分かることは、**文章の長さにばらつきを持たせるようにしたり、改行位置を工夫することでかなり人間度合いを上げることができる**ということだ。

### 弊社の別メンバーの記事では？

ちなみに[弊社の他のメンバーの書いた記事](https://story.rshd.co.jp/n/n06e8fbaaa355)での判定結果は以下の通りでAI生成判定が出て入るものの全体的にスコアは高い。文章の特徴としては口語的な表現が多いことや、改行をかなり沢山使っており、全体としてのびのびとした雰囲気になっていることだ。

![Screenshot 2023-05-12 at 11.54.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/9c551250-ca46-9083-e8a0-3064c4caa349.png)

ちなみに弊社桐山が書いたこの記事はGPTzeroでは「全体を通して人間が書いた」判定をもらっている。羨ましい。僕も早く人間になりたい。

![Screenshot 2023-05-12 at 11.57.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/90c0ff3e-acdd-242d-d235-825e26fbc1e0.png)

### 単語の繰り返しを減らして、口語的な表現も盛り込む

次に挑戦したのは、改行位置や文章の長さのばらつきに加えて、単語の繰り返しを避けることだ。

特に[原文](https://story.rshd.co.jp/n/n17a0afb02692)を読んで頂ければわかるが「他のメンバー」「理屈」「論理」など同じ単語の繰り返しがかなり目立つ。

言い訳としてはミニマルミュージックの影響である。悪いのは私ではなくフィリップ・グラスとスティーブ・ライヒであり、私ではない、という点は自分がAIではないことの証拠として付け加えさせていただきたい。

さらには

>・何も分からないところからのスタートで最初は四苦八苦しながらで・・・。
>・なんだかんだ

といった口語的な表現を頑張って盛り込んでみた。

変更後の文章はこんな感じである。

>コンピューターはロジックでしか動作しないが、人間は自分も含めて理屈だけでは動かないし動けないのだと、ここで働くようになってから痛感するようになった。
>
>以前はCADオペをしていた。
その後は、プログラマーに。何も分からないところからのスタートで最初は四苦八苦しながらで・・・。
>
>でも、思い返してみれば、なんだかんだで、かれこれ10年以上経ってしまった。特段エンジニアを目指して生きてきたわけではないので、自分でもびっくりしている。
>
>そして、ロケスタに入社してからは7年目。ここではお互いのコミュニケーションがとても大切にされているし「みんなで一緒に働く」というスタンスが何よりもクリティカルなのだと気付かされる毎日だ。
> 
>会社で行うプロジェクトはどんな小さいものであっても一人ではコンプリートしないし、逆に完結してはいけないとも思う。一人では抱えきれないヘビーなものであってもチームメンバーの協力を得られるなら一緒に運べるかもしれない。一人でできると思っているものでもメンバーのヘルプがあったほうがずっといい仕事ができる。
> 
>つまり、他のひとにも気持ちよく動いてもらう。自分もチームのために進んで柔軟に動く。
> 
>でも、他の人と一緒に仕事をする限り、意見の違いは避けられないし、そうした違いはむしろあったほうがずっといい。自分の見方の落とし穴に気づかせてくれるのはこうした多様性だ。
>
>自分とは違うオピニオンを取り入れることでまったく新しい視点や視座が加わって自分のアイディアをよりディープなものにすることができる。

「論理」という言葉は「ロジック」で置き換えてみたり、横文字を多用してルー大柴語に近づけるなどかなり頑張ってみた。とにかく同じ単語が連続して発生するのを避けた。また「CADオペレーター」という単語を「CADオペ」と俗語っぽく変更。

結果はこちら！

![Screenshot 2023-05-12 at 12.07.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/79b81d4d-54e8-ba10-9a4b-d6b14a501665.png)

>総合評価：12% --> 35% --> 44%
>Predictability: 0% --> 14% --> 8%（なぜか下がった・・・）
>Probability: 24% --> 40% --> 59%
>Pattern: 24%　--> 73% --> 100%
>判定: Likely to be AI generated!（AIによって生成された可能性が高い！なぜ！！！！）

スコアがさらに伸びた。とくにPatternのスコアは100%をマーク。もうこれは総合評価に関係なく人間ということではいいのではないだろうか？？

![Screenshot 2023-05-12 at 12.10.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/3559bb1e-254d-7ef2-a8ff-0c349b893e57.png)

そしてGPTZeroのほうでは念願の人間判定！！！
実はこれ書き直すのにかなり頑張ったんです。。人間として認めてもらうのがこんなに難しいとは思わなんだ・・

教訓としてはとにかく同じ単語の**繰り返しは避けること、口語的表現も意識しながら表現に幅をもたせるとベター**ということ。

ミニマル・ミュージックが好きな人はこだわりを捨て
ましょう！ああ無情。


### フリーダムライティングで人間化なるか？
実はもう半分やけっぱちである。夏目漱石でさえ一部AI判定したContent At Scaleで何としても人間判定を取りたい。そこで、もうフリーダムにリライトしてみることにした。
もう、小手先の技術は忘れて一心不乱にリライトした。
小説家になったつもりで書いた。
 
>話が逸れてしまったが、自分の話をしよう。簡単にいうと以前はCADオペをしていた。CADオペなんていう仕事があったことを知っている人はおそらく安室奈美恵をリアルタイムで知っている人に違いない。それくらい昔の話だ、ということを私は書いているのだ。ああ無情。。。
その後は、なぜかプログラマーに。何も分からないところからのスタートで最初は四苦八苦しながらで・・・。本当に自分の人生という文脈からは何の論理的つながりもないような出鱈目なような転職だった。これも言い過ぎといえばそうだが、まあAIに勝つためだから仕方がない。
>
>で、思い返してみれば、なんだかんだで、かれこれ10年以上経ってしまった。年齢を隠すためにいくつか誤魔化しているかもしれないが、そこは許してほしい。特段エンジニアを目指して生きてきたわけではないので、自分でも正直びっくりしている。それだけは本当のことだ。
>
>そして、ロケスタに入社してからは7年目になる。早いものだ・・・。ここではお互いのコミュニケーションが何よりも大事。
>「みんなで一緒に働く」というスタンスがクリティカルなのだと気付かされる毎日だ。クリティカルというのは簡単に言い換えると、「超」が３つ付くくらい重要ということで、例えるなら車にガソリンを入れるくらい大事だってこと。
> 
>誰もが知ってることだけど、会社で行うプロジェクトはどんなにトリヴィアルで小さなことに思えても一人ではコンプリートしないし、逆に完結してはいけないとも思う。人生とはそんなものだ。父親だか母親だかが教えてくれた真実であるが、多分本当のことは誰も分からない。自然の摂理かもしれないし、そうでないかもしれない。ただ、確実なことは、一人では抱えきれないヘビーなものであってもチームメンバーの協力を得られるなら一緒に運べるかもしれない。一人でできると思っているものでもメンバーのヘルプがあったほうがずっといい仕事ができる。ギブアンドテイク。love it or leave it。最後のやつはあまり関係がない、笑。
> 
>まあ、何が言いたいかというと、つまり、他のひとにも気持ちよくプレーしてもらう。自分もチームのために進んで柔軟に動く。
>
>でも、他の人と一緒に何かをする限り、意見の違いは避けられないし、そうした差異はむしろあったほうがずっーーーといい。ベターだ。バターではない。ベターとはbetterのことであり、パンにぬるものではないので注意が必要だ。で、結局、自分の見方の落とし穴に気づかせてくれるのは、いつだってこうした多様性だ。ダイバーシティーだ。そして、みんながそれぞれの色で輝いている。
>
>だから、自分とは違うオピニオンやカラーを取り入れることでまったく新しい視点や視座が加わって自分のアイディアをよりディープなものにすることができる。深化させることができる。そして、それは他ならぬ進化である。

これなら絶対人間判定が取れるはずだと、読者のみなさんも納得されるのではないだろうか？？
私には絶対的な自信があった。
この原稿を出版社に持ち込むことさえ夢見た。
そして、最終的に人間として認められることの幸せを心の奥底で噛み締めながら、この文章をコピペしてAI Detectorに貼り付けたのであった。。。

![Screenshot 2023-05-12 at 12.18.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/505ee4f2-ca93-28fa-c1e1-a3d84db8eb30.png)

HEY MAN!!!!!!

>総合評価：12% --> 35% --> 44% --> 15%
>Predictability: 0% --> 14% --> 8% --> 0%
>Probability: 24% --> 40% --> 59% --> 26%
>Pattern: 24%　--> 73% --> 100% --> 33%
>判定: Higly Likely to be AI generated!（AIによって生成された可能性がかなり高い！なぜ！！！！）

原文の判定とほとんど変わらないやんけ・・・
やっぱり我輩はAIであるということが証明されてしまったのであった。

ちなみにGPTZeroのほうでは人間判定を維持。

教訓としては、AI度の高い人間は自分の書きたいように書くとどう書いてもAI判定されるという酷い現実が世界には待っているということだ。

## まとめ

さて、まあ、楽しかったので良かったとする。どちらにしても今後Googleなどの検索エンジンもChatGPTなどのAIによって生成された文章を判定していって、AIでも書けるようなコンテンツの評価はどんどん下がっていくだろう。

そこで、どうやったらAIによるコンテンツと判定されないように文章を書くべきか、を真剣に考えなければならない時代になってきていると思う。

今回の実験で分かったこととしては以下のようなことを意識するなら人間度合いが増すということだ。
- 文章の長さにばらつきを持たせるようにしたり、改行位置を工夫する
- 同じ単語の繰り返しは避けること、表現に幅をもたせる
- AIが予測しにくい単語を意識的に選ぶようにする

参考にしていただければ面白い。

## 追記：英語の文章でチャレンジ

[以前に書いた英語の日記的なもの](https://medium.com/@spnops/im-here-writing-this-text-therefore-i-am-e8d0cfe284f7)を同じ判定ツールになげてみました。

![Screenshot 2023-05-17 at 10.12.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/105958/d3411e0f-c5aa-fcf8-9667-7d0a1d8971df.png)

人間！！！！
99%人間！！
一発で人間！！！
（まあ、文章が短いというのもあるのかもしれない）