golden-luckyの日記

ツイッターより長くなるやつ

編集者は日本語をどうやって推敲しているか(それを機械化できるのか)

ほんとうにわからない。とはいえ、原稿に対して「これは直す」パターンのようなものはある。「そういうパターンをどうやって見つけていますか」という質問に答えれば、編集者がどうやって日本語を直しているのかを明確にできるかもしれない。

「これは直す」パターンの1つに、「読み手が迷子になりそう」がある。このパターンを見つけるには、一つひとつの文字を次のような意図をもって読み進めなければならない。

  • いま読んでいる段落と、その前後の段落は、どういう関係にあるか。前の段落の話が掘り下げられているのか、違う話に移ったのか、ずっと前の話に戻ったのか
  • いま読んでいる文は、その段落でどういう役割があるのか。前の段落の内容を受けた文なのか、その段落で扱われる内容を展開しているのか、次の段落に繋げる役割なのか
  • いま目にしている単語は、その文の中でなぜその位置にあるのか。これから話題にする主題なのか、主題に対する述語なのか、何を修飾しているのか、文の調子を整えるために置かれているのか

もちろん原稿は、上記のような説明ができる状態になっているとは限らず、次のような問題が見つかることが多い。

  • 少し先まで読まないと意図がはっきりしない文がある(読み手をアンブッシュしてる
  • 直接は関係のない内容が段落の一部に紛れている(書きたい順に書いたまま
  • 直前の文に呼応すべき語が次の文の最後のほうに出てきたり、主体と客体が読み手の期待とずれている(事実が単純に羅列されている

こうした問題を解消し、細部に至るまで先に挙げた「このような説明ができる状態」へ持っていくためには文章をどう直せばいいかを考えるのが、編集者による推敲の具体的な作業(の一つ)である。

たとえば、読み手をアンブッシュしている状態を直すには、次のようなことを考えて修正案を作る。

  • 読み手がそこまでの文章を通じて脳内に作っているであろう地図において、その新しい情報はどこに配置されるはずだろうか?
  • そもそも、この新しい情報を配置できるような地図が、ここまでの文章によって読み手の脳内に作れている?
  • 読み手が脳内に地図を作れているとして、ここで新しい情報が導入されるのだと気づいてもらえるような文は、どう書くべき?

ぼくの関心は、こういう作業を機械にどこまでどう移せるかにある。 ここで挙げた「読み手が迷子」というパターンは、明らかに「文章の大域的な性質」に関係しているから、ルールベースの手段で可能なことはかなり少ないだろう。 重み付け和による手段でも、素朴な単語や文節のベクトル化では限界がある。 Transformerのように「文章の大域的な性質」を扱える仕組みが、最低限の道具立てになるのは間違いない。 japanese-tech-writingというスキルは、それをもっとも直接的に実証してみようとした試みだった。

この先に何が可能なのかは、まだほんとうにわかっていない。 いまはベースとなる言語モデルに対するSFT/DPOや、そのための報酬モデルなどをいろいろ試しているが、やればやるほどわからなくなっているような気もする。