AIが書く日本語の「リズムの単調さ」を機械的に検出・修正するアプローチ
生成AIが作成した日本語文章において、定型句や翻訳調を排除してもなお残る「AI特有の不自然さ(AI臭)」の原因を解明し、それを解消するためのAgent Skill「natural-japanese」が開発された。本ツールはClaude CodeやCodex上で動作し、プロンプトによる指示に頼るのではなく、AI臭を機械的に検出する「lint(検知器)」を執筆プロセスに組み込むことで、自然な文章への校正を実現する。
検証によると、AI臭の正体は語彙ではなく「文長リズムの均質さ」にある。例えば、素のClaude Sonnet 5に執筆させた文章を検証したところ、禁止語や翻訳調は皆無であるにもかかわらず、文長リズムの均質さを示す指標「burstiness」が-0.427(閾値は-0.24)となり警告が発火した。これは、すべての文が平均56モーラ(日本語の拍)前後の似た長さで並んでいるためである。AIに単に「直せ」と指示すると、今度は平均27モーラ前後の短い文ばかりで均質化してしまい、根本的な単調さは解決しない。このため、機械的なlintによる検出と、AIによる修正・判断のループを回す設計が有効となる。
最新のgpt-5.6-solによる出力でも同様の傾向が見られ、burstinessは-0.661とさらに極端な均質さを示した。さらに、文長のばらつきを見る「low_sentence_variance」も発火し、3つの段落がすべてきっかり4文で構成されるという構造的な単調さも検出されている。natural-japaneseでは、これらの検出結果をトリガーに、体言止めを混ぜたり長短の文を組み合わせたりすることで、人間らしいリズムへと再構成する。
7モデル×406本の実測データに見る「gpt-5.6」と「Fable 5」の傾向
lintの閾値は、人間の文章コーパス137本(青空文庫の随筆12本、note・Zenn・官公庁文書など125本)と、AIコーパス406本(Claude系4モデル、GPT系3モデルに58種のお題を書かせたもの)を用いて校正されている。以下は、各モデルにおける検出器ごとの文書発火率(1件以上発火した文書の割合)の比較データである。
| 検出器 | fable-5 | sonnet-5 | opus-4.8 | haiku-4.5 | gpt-5.6-sol | gpt-5.6-terra | gpt-5.6-luna |
|---|---|---|---|---|---|---|---|
| 文長リズムの均質さ | 60% | 55% | 57% | 64% | 88% | 95% | 93% |
| 段落構造の均質さ | 0% | 17% | 12% | 7% | 52% | 48% | 45% |
| 体言止めゼロ | 0% | 2% | 0% | 0% | 22% | 9% | 28% |
| 「〜ではなく」反復 | 9% | 3% | 3% | 9% | 33% | 3% | 22% |
| 翻訳調(品詞列) | 0% | 7% | 2% | 26% | 7% | 3% | 17% |
また、1文書あたりの総検出数によるモデル別の順位は以下の通りである。
| 順位 | モデル名 | 1文書あたりの平均総検出数 |
|---|---|---|
| 1 | fable-5 | 3.84件 |
| 2 | gpt-5.6-terra | 4.50件 |
| 3 | opus-4.8 | 6.14件 |
| 4 | sonnet-5 | 8.22件 |
| 5 | gpt-5.6-sol | 8.83件 |
| 6 | gpt-5.6-luna | 9.43件 |
| 7 | haiku-4.5 | 11.81件 |
実測データから、gpt-5.6は語彙が極めて綺麗である一方、文長リズムの均質さが88〜95%、段落構造の均質さが約50%に達し、リズム面で機械的特徴が顕著に出ることが判明した。一方で、Fable 5は段落構造の均質さの発火率が0%であり、総検出数でも最も優秀な数値を示した。しかし、そのFable 5であっても、素の状態で短いブログ文章を書かせるとリズム指標は-0.490や-0.516となり警告を回避できない。モデルの性能向上だけで「自然なリズム」を実現することは難しく、検出と修正のプロセスが不可欠であることを示している。
実測で覆された「AIっぽさ」の常識とツールの導入手順
人間コーパスとAIコーパスの比較分析により、従来「AIっぽい」とされてきた特徴に関する認識が、実測値とは大きく異なることが明らかになった。
- 体言止め:「体言止めの多用がAI臭い」と言われることがあるが、実際は逆である。essayジャンルにおいて人間の書き手の60%が体言止めを使用していたのに対し、AIの使用率は0%であった。そのため、現在は「一定以上の長さの文章で体言止めが一度も使われていないこと」を人間的修辞の欠如として検出する仕様になっている。
- 文頭の反復:文頭反復が発生する文書の割合は、人間が93%であるのに対し、AIは41%に留まる。人間は意図的なリズム技法として反復を好む傾向がある。
- 「最後に」「まさに」:これらはAI特有の表現とみなされがちだが、人間コーパスでの誤検知の63%をこの2語が占めていた。出現回数は「最後に」が人間48回に対しAI2回、「まさに」が人間24回に対しAI0回であり、むしろ人間側のシグナルであったため禁止語リストから除外された。
- 「〜ではなく」の対比構文:人間の使用比率中央値が1.5%であるのに対し、AIは8.3%と高頻度で使用しており、明確な分布の差が確認された。
本ツールを導入する場合、Claude Code環境であれば以下のコマンドでプラグインを追加できる。
/plugin marketplace add coji/natural-japanese
または/plugin install natural-japanese@natural-japanese
また、lint単体で動作させる場合は、リポジトリを取得した上で以下のコマンドを実行する。PEP 723のインラインメタデータに対応しているため、仮想環境(venv)の事前準備なしに実行可能である。
uv run scripts/lint.py --json 診断したいファイル.md
文章作成において、書き手自身が自らの文章のくどさや単調さに気づくことは難しい。機械的な検出器を用いて客観的にリズムの偏りを測定し、それをAIとの協調作業によって修正していくアプローチは、今後の実用的なドキュメント制作において極めて有効な手法となる。


コメント