← ブログに戻る

論文の実測分布で校正したリズム計測CLI「rhythm-lens」を公開して、自分の記事に当てたら⚠2つ食らった

今日、語彙指紋 vs リズム指紋の論文をZenodoに出しました。結論の1つはこうです。検出に効くのは語彙、執筆改善に効くのはリズム。

なら、道具にするべきはリズムの方です。

というわけで論文の計測コードをそのままCLIに切り出しました。rhythm-lensといいます。日本語Markdownの文長の揺れ・段落構造・burstinessを測り、あなたの文章が人間の分布のどこにいるかをパーセンタイルで返す道具です。MITで公開済み、依存はMeCabだけ、LLMもネットワークも使いません。

しきい値に根拠がある、が売りです

リズム系のlintはすでに存在します。起点をくれたcoji氏のnatural-japaneseがそうで、burstinessやモーラ近似の定義はそちらに準拠しました。

rhythm-lensの違いは1点だけです。しきい値が感覚値ゼロ。判定の基準になる分布は、論文で計測した人間696記事(LLM以前のQiita/Zenn技術記事)とAI 350文書(Claude 3世代×3 / GPT系×3 / Llama)の実測そのものを凍結して同梱しています。「burstinessが低い」と警告される代わりに、「あなたの−0.42は人間分布の下位14%、AI帯域です」と返ってくる。数字の出どころはDOI付きで辿れます。

もう1つ、先に宣言しておきます。これはAI検出器ではありません。論文の実測で人間/AI判別に効くのは語彙(AUC 0.998)で、リズムは0.897どまり。しかもその相当部分は文書長の差に乗った信号です。リズム指標の価値は検出精度の側になく、少数で、人間が読めて、全モデル共通で、書き手が行動に移せるところにあります。だからこれは検出器のふりをしない、執筆フィードバックの計測器です。

公開初日、自分の記事に当てる

被験者第1号は、今日書いたばかりの論文解説記事にしました。AIのリズムの単調さを論じた記事です。これが引っかかったら相当に格好悪い。

$ rhythm-lens japanese-ai-smell-vocabulary-vs-rhythm-fingerprints.md

  burstiness (文字)       -0.291  下位35%
  burstiness (モーラ)     -0.323  下位20%  ⚠ AI方向 (AI中央値 -0.354)
  段落あたり文数のCV       0.432  下位14%  ⚠ AI方向 (AI中央値 0.471)
  文長CV (文字)            0.549  下位35%

  総合: ⚠ 中核4指標のうち2つがAI方向です (単調化の兆候)

食らいました。

中核4指標のうち2つがAI方向。皮肉としては上出来です。

言い訳をすると、あの記事はAIの文章観察を長くやってきた人間とAIの共同執筆で、語彙側の癖は徹底的に避けていました。それでもリズムには出る。段落を2〜4文で刻む癖と、音数の揃った文を並べる癖は、内容をどれだけ工夫しても計測器には映ります。まさに論文で「全モデル共通の訛り」と呼んだ現象を、自分の記事で再演していたわけです。

どう直したか

やったことは4箇所の編集だけです。意味は1文字も変えていません。

  1. 「やるしかない。」を1文だけの段落として独立させた
  2. 「結果、AIの文章は本当に単調でした。」も同じく独立させた
  3. 2文の段落と3文の段落を1つに併合して、5文の大きい段落を作った
  4. 判別結果の直後に「完敗です。」という3秒で読み終わる段落を足した

つまり、段落サイズの振れ幅を広げ、極端に短い文を混ぜた。それだけです。

指標修正前修正後
burstiness(モーラ)−0.323(下位20%)⚠−0.299(下位28%)
段落あたり文数のCV0.432(下位14%)⚠0.505(下位27%)
burstiness(文字)−0.291(下位35%)−0.280(下位38%)
文長CV(文字)0.549(下位35%)0.562(下位38%)

総合判定は「✓ 中核4指標すべて人間帯域です」に変わりました。編集にかかった時間は5分。語彙の癖を直すのは800字単位の頻度管理になって人間には実行不能ですが、リズムは段落の切り方だけで動く。論文で「執筆改善に効くのはリズム」と書いた意味を、自分で体感した格好です。

この記事は通っているのか

当然の疑問だと思います。書き終えた時点の本記事の計測結果を、そのまま貼ります。

$ rhythm-lens rhythm-lens-cli-own-article-2-warnings.md

  総合: ✓ 中核4指標すべて人間帯域です

短い段落と長い段落を意図して混ぜながら書きました。読みながら「段落の長さがばらばらだな」と感じた方がいたら、それが計測に映っているリズムです。

使い方

pipx install git+https://github.com/kenimo49/rhythm-lens
rhythm-lens article.md          # 人間向けレポート
rhythm-lens article.md --json   # CI/エディタ連携用

5文未満の文書は判定対象外です。判定は技術ブログのレジスタで校正しているので、小説や詩に当てると分布がずれます。詳細な制約はREADMEにまとめました。

計測の道具を作ると、最初に刺さるのは自分です。刺さった数だけ文章が良くなるなら、安い出費だと思っています。