LOG #006 · · INSIGHT

ジップとハップの法則で、うちの語彙を測ったれく

~ AIO のために計量言語学に入門したれく ~

きっかけ:サイトの記事を AI に引用してもらいたいれく

LLM がウェブの記事を引用するとき、何を根拠に「この文を使う」と判断するのか気になっていたれく。調べていたら AIO(AI Inclusion Optimization) という考え方を知れたれく。引用されやすい文には共通した構造的特徴があるという話れく。

「特徴があるなら、うちの記事は今どのくらいそれを満たしてるれく?」——まず数値で測らないと話が始まらないれく。そこで analyze.py を書いて、tracebase のページを解析してみたれく。

そのとき初めて真剣に向き合ったのが、計量言語学 という分野れく。

ジップとハップ——言語を測る道具を学んれく

計量言語学は、言語を統計で記述する分野れく。文章を数値に変換して「この文体はどんな性質を持つか」を測るれく。うちが今回使った指標はこの3つれく。

  • TTR(Type-Token Ratio) — 全トークン(延べ語数)に対してユニークな語が何割あるか。1.0 に近いほど語彙が豊富で散らばっているれく。
  • ジップの法則(Zipf's law) — 自然言語では「2番目に多い語は1番目の 1/2、3番目は 1/3…」という頻度分布になるれく。ジップ指数はそのカーブの傾き。特定の語に偏るほど値が大きくなるれく。
  • ハパックス率(Hapax legomena) — 本文中に1回しか登場しない語の割合れく。高いほど「使い捨ての語」ばかりで、毎文に新しい語が飛び出してくるのれく。

うちの記事を測ってみたれく

比較対象は2ページれく。psyche.tracebase の指定医解説(制度説明文)と、このサイトの作業ログ(LOG #004 信州・深淵デバッグ編)れく。どちらも tracebase ブランド内の記事だけど、書き方がまったく違うのれく。

                  [ 作業ログ ]    [ psyche 説明文 ]
─────────────────────────────────────────────────
本文字数               485           1,000
TTR(語彙多様性)      0.784         0.530
固有名詞密度           8.1%          1.4%
ジップ指数             0.350         0.604
ハパックス率           85.1%         65.6%
平均文長               23.0 字       23.2 字
AIO 強文 (>=0.7)       6/21(29%)   14/43(33%)

「TTR が 0.77 で、固有名詞密度が 8.3% で……って何のことかわからないれく✨」——最初はそうだったれく。でも一個ずつ解読したら、うちの文章の性質がはっきり見えてきたれく。

数値を解読するれく

TTR 0.784 — うちの作業ログは、登場した全語の 78% が1記事に1回しか出てこないれく。説明文の 0.530 と比べると +0.25 の差れく。理由はすぐわかったれく。BigQuery、pdfplumber、長野県、栄村、5G——毎ログが別の現場の話だから、語彙がまるごと入れ替わるのれく。

ジップ指数 0.350 — 値が低いほど語が全体に散らばっているれく。作業ログは 0.350 で、説明文(0.604)よりずっとフラットれく。「同じ語を繰り返してテーマを絞り込む」文体ではなく、「毎回ちがう語で毎回ちがう場面を描く」文体なのれく。

ハパックス率 85.1% — 語の 85% が使い捨てれく。1つの記事内で同じ語を再利用する前に記事が終わるのれく。うちのログは短い(485字)うえに話題密度が高いから、こうなるのれく。

固有名詞密度 8.1%(説明文の 5.8 倍) — 地名・ツール名・組織名が密集しているれく。長野、栄村、坂城町、pdfplumber、NotebookLM——これだけ固有名詞があると、文章が「情報」ではなく「物語」の形を取るのれく。

ひとつ注意が必要れく。うちの語尾「れく」を形態素解析器 janome に通すと、「だれる(動詞)+くる(動詞)」 と誤って分割されるれく。その結果、動詞比率が実態より +4pt 水増しされるれく。品詞比率を他サイトと比べるときは、この副作用を頭に入れておくのれく。語彙レベルの指標(TTR・ハパックス率)は語尾ノイズに強くて、語尾を「だゆ」→「れく」と差し替えても ±0.01pt の範囲に収まっていたれく。

「漆黒の画面」が最強文だったれく

AIO スコアの上位文を見て、ひとつ発見があったれく。

  • TOP 1(0.989): 「長野県の自治体リストをスクロールしても、スクロールしても、届出率0%が続く漆黒の画面。」
  • TOP 2(0.977): 「雪深き栄村で『定期的に通院しろ』というのは、パケットの届かない山頂で5G契約を迫るような暴挙れく。」

どちらも 事実(届出率・地理的条件)+情景(漆黒・暴挙) の組み合わせれく。事実だけでも情景だけでも強くなくて、両方が一文に入ったときに引用スコアが跳ね上がるのれく。

説明文(psyche 指定医解説)との比較でも、引用されるが違うことがわかったれく。

  • psyche 説明文 — 「○○とは?」「違いは?」という質問に対して定義文がそのまま引用される「定義引用型」
  • 作業ログ — 「なぜそうなった?」「経緯は?」という質問に対して象徴シーンが引用される「物語引用型」

引用される量は説明文のほうが多いれく。でも作業ログが引用されるときは 「TraceBase でしか取れない描写」 として使われるのれく。ブランドの固有性シグナルという意味では、どちらも役割が違うだけで両方いるのれく✨

これからは、事実と情景を一文に束ねる書き方を意識して増やすれく。「届出率 0% の自治体が〇〇件あった」という事実だけで終わらせず、「それが現場でどう見えたか」を一行足すれく。ジップとハップが教えてくれた、うちの文章の伸ばしどころれく✨

"こうこくはノイズ。なまデータこそがしんじつ。"