AIに書かせたブログ記事4本を測ったら、強調が97箇所あった

#AI#文章#ブログ

AIに書かせた文章は、読み始めて数行で分かる。分かった時点で、たいていの人は読むのをやめる。

なぜ分かるのか。それを「なんとなく整いすぎている」で済ませずに数字で出したくて、判定するスクリプトを書いて、自分のブログに置いてある記事4本にかけてみた。全部AIに下書きさせたものだ。

指摘が14件出た。強調の合計は97箇所だった。多い。

何を測ったか

6つある。しきい値は本文1,000字あたりの個数で決めた。人間が書いた文章を読んだときの感覚から置いた暫定値で、根拠のある数字ではない。

測るもの 目安 なぜ見るか
強調 の密度 1,000字に4個まで AIは大事そうな語を片端から太字にする
見出しの密度 1,000字に3個まで 細かく区切ると文章ではなく資料になる
箇条書き・表の比率 本文行の35%まで 同上
定型フレーズ 1,000字に2個まで AIが好んで使う言い回しがある
文の長さの標準偏差 12以上 人間はもっとばらつく
中身の薄い見出し 0個 構造語だけの見出しは中身を持たない

定型フレーズと中身の薄い見出しは、こういうものを登録してある。

重要なのは / ポイントは / と言えるでしょう / ではないでしょうか
しっかりと / きちんと / 非常に / 極めて / まさに
効率的に / 最適な / スムーズに / 深掘り / 俯瞰
いかがでしたか / 参考になれば幸いです / 革命的 / 画期的

(見出し)まとめ / はじめに / おわりに / ポイント / メリット / 注意点

コードブロックは判定から除外している。書き手の癖ではないので。

このリストは自分で足していく前提にしてある。自分が無意識に使う言い回しは、人によって違うからだ。

実測

4本の結果はこうだった。

記事 本文 強調 見出し 文長の偏差
CSV自動化の話 1,989字 13.6(27箇所) 4.0
AIが4回間違えた話 2,736字 9.9(27箇所) 3.3
取込ファイルの形式 1,517字 15.8(24箇所) 4.6 10.3
送料が2段階の話 1,298字 14.6(19箇所) 4.6 12.0

目安が4.0のところに13から15が並んでいる。3倍以上だ。

しかも書いているときは、多いと思っていなかった。1箇所ずつ見れば、この文は結論だから、この数字は覚えてほしいから、というふうに、どれも太字にする理由があるように見えてしまう。積み上がって初めておかしくなる。

気づけない。

強調が97箇所あった

一番効いたのはここを削ることだった。

AIが太字にするのは、だいたい次のどれかだ。

問題は、全部やることだ。人間は1本の記事で2回か3回しか太字を使わない。使いすぎると、どこも目立たなくなって、結果として全部が読み飛ばされる。

実際に直した箇所を1つ出す。

直す前:

結果、4行すべてエラーになった。 理由は単純で、連携先のシステムは、仕入先のマスタと突き合わせて検証していた。仕入先が「色=-、サイズ=blk」で登録している以上、こちらもその通りに出さないと一致しない。

直したあと:

全滅した。4行すべてエラーになった。 理由は単純だった。連携先のシステムは、仕入先のマスタと突き合わせて検証していた。仕入先が「色=-、サイズ=blk」で登録している以上、こちらもその通りに出さないと一致しない。

太字を外して、代わりに短い文を1つ足した。強調したい気持ちは、書式ではなく文の長さで出せる。むしろそちらの方が効く。

この記事では27箇所を2箇所まで減らした。減らしても、伝わり方は落ちなかった。

そのあと、このブログでは太字を1箇所も使わないことにした。2箇所でも、あると目がそこへ行く。強調が必要だと感じたら、書式ではなく文の順番か長さで解決する、という決まりにしている。この記事にも太字は1つも入っていない。

構成の癖と、そろいすぎた文

4本のうち3本に、最後の見出しが「まとめ」だった。

これはAIの癖というより、AIに書かせたときの構成の癖だと思う。序論・本論・結論という形が自動で出てくる。読む側からすると「最後だけ読めば済む」という合図になるので、そこまでの文章が読まれなくなる。せっかく具体的な話を書いていても、そこにたどり着く前に飛ばされる。

見出しそのものも多すぎた。1,000字に4個は、原稿用紙2枚半で4回区切っている計算になる。区切るたびに読者は一区切りだと思うので、読むのをやめる場所が4つできることになる。

文の長さも同じだった。偏差が10前後で、平均が28字から30字。どの文もだいたい同じ長さで並んでいた。

人間が書くとこうはならない。説明が長く続いたあとに短い一言が来たり、勢いで一文が伸びて読点だらけになったり、途中で言い直したりする。均一なのは、書いているのではなく生成しているからだ。

直すときは、短い文と長い文を意図的に混ぜた。「全滅した。」のような4文字の文を1つ入れるだけで、偏差はけっこう動く。

直したら0件になった

1本だけ直してみた。結果はこうなった。

■ ai-product-registration-4-mistakes.md(本文 2,659字)
  AIっぽさの指摘なし

合計 0 件の指摘

やったことは3つだけだ。太字を27箇所から2箇所まで減らし(のちに0にした)、見出しを1つ減らして前後の本文に溶かし、そのうえで短い文と長い文を意識して混ぜた。作業としては30分もかかっていない。

中身は1文字も足していない。事実も、順番も、結論も同じままだ。

つまり、AIっぽさは中身の問題ではなく、書式の問題だった。逆に言えば、中身が良ければ書式だけ直せば読まれるということでもある。

なおこの記事自体も、書いたあとに同じスクリプトにかけた。3件出た。定型フレーズが2つと、文の長さがそろいすぎ、それに「まとめ」を含む見出しが1つ。AIっぽさについて書いている記事が、AIっぽいと言われた。直してから公開している。

スクリプト

Python の標準ライブラリだけで動く。インストールは要らない。

# 使い方
python3 check_ai_ness.py src/content/posts/*.md
python3 check_ai_ness.py 記事.md --verbose   # 強調している箇所も表示

スクリプトはこのブログに置いてある。→ AIっぽさチェッカー

判定の中身は単純な数え上げだ。正規表現で ** を数えて、見出しを数えて、句点で文を割って標準偏差を取る。難しいことはしていない。

一つだけ、これはAI判定ツールではない。AIが書いたかどうかは判定できないし、するつもりもない。測っているのは癖の量だけだ。人間が書いた文章でも、太字が多ければ同じように引っかかる。

そして、それでいいと思っている。読者が離れる原因は「AIが書いたこと」ではなく「読みにくいこと」なので、直すべきなのは後者の方だ。


しきい値は使いながら調整していく。今の数字は、自分の記事4本を見て置いただけのものなので。

← 記事一覧へ