現代文書の構造 (La structure des documents modernes)

文書を記述する際に、構造――ここでは見出しなどを指す――を機械が可読な形で行うことに意味はあるだろうか。

前回の続きといえば続き。

squeuei.hatenablog.com

前提

scrapbox.io

使わない文書構造の宣言に意味があるのか?

  • 「文字が大きくなって格好いい」以上の意味がない
  • 使わないのにせっせと構造を宣言しているの、マジで意味わからん

  • markdownはとにかくデカイ文字が簡単に書ける事が便利なだけなのでは?

  • 宣言した文書構造を有意義に使う方法がスクリーンリーダーと索引生成以外に何かあれば教えて欲しい

  • #<h1><h2>になる文書構造化がしたいと言いつつ、実はデカイ文字を書きたいだけ

反論

markdownが万能でも素晴らしい完全無欠のものでもないというのは理解する。
が、しかし、文字が大きいことと、構造上の意味を持つこととは違う。今価値がないからと言って、将来にわたってそうだ、というのは、言い切れない。
逆に、最小限の認知資源の消費で、見た目を書いたら機械が認識できる構造がついてくるのであれば、みんなうれしいのではないか。

scrapboxで全てが完結する世界に住んでいれば、文字にスタイルのみを設定するやり方でもいいのかもしれない。
だけど、私たちの知的生産活動はscrapboxのみでは完結しない。少なくとも今のところは。 構造を持った文書を作る際に、scrapboxは明らかに適していない。目指してもいない。
なんらかの成果物、インタラクティブ性のないスタティックなメディアとしてその思考をまとめあげる際には、Wordなり、HTMLなり、そういうファイル形式の文書へとまとめあげる必要がある。

再利用性の話をするなら、少なくともmarkdownは他のアプリケーションで利用するときに再利用しやすい。
たしかに、scrapboxの項目についてほかの形式――Wordドキュメントやブログのエントリなど――で再利用が必要になったときは、文字をコピーして改めて構造化すればいいし、あるいは機械的に変換してmarkdownなどへエクスポートすることもできるだろう。
にしても、である。あるスタイルが適用された文字列は、同じ見た目なだけで実は違う意味かもしれないし、変換先のファイル形式へうまくマッピングできるように規約を定めて書くなら、それは最初から構造を作るのと同じことになってしまう。

そもそも「構造を持たせるくらい長い項目なら、それは見出しごとに別の項目にするべきだ、scrapboxのリンクとサジェストはそういう風に設計されている」という話をしているのにもかかわらず、別の項目では構造化された文章になっている。
これは思想を仕組みとして実装することがうまくいっていないことの一つの傍証となるのではないか。

scrapbox.io

人間は金槌を持っているとあらゆるものが釘に見えるので、私も手に持っている情報カードと比較してしまう。
その観点でいえば、scrapboxの項目には文字数の制約がない。見出しを使うような記事は分割しろという思想に従わせるなら、それをencourageするような仕組み、文字数を小さく保つようなUIがあってもいいのではないか。

再反論、あるいは 構造化文書ファイル形式 considered harmful

だが、ちょっとまってほしい。こうは考えられないだろうか。

そもそも文書の構造を機械が認識できるものでなければならないとするファイル形式、およびその背後にあるメンタルモデルが、どうしようもない欠陥品なのだ。

敵はmarkdownなんてちんけなものではない。文書構造が機械可読でなければならないという思想そのものなのだ。

私たちは、大きい文字で章番号やらが書いてあれば、文書の構造を読み取ることができる。
というか、原始、ワードプロセッサが発達する前の紙の文書には文字のスタイルしかなかったわけだから、これは自明である。
つまり人間を相手にする限りでは、見た目、文字のスタイルさえ整えられていれば、それで構造化文章として十分解釈できるものになる。

ここで一つ思考実験をしてみよう。先ほどの思想を、そのまま文書ファイル形式に持ち込んでみる。つまり、全ては見た目のスタイルとして表現されるべきだ、とする世界観を想像してみよう。
そこでは何が起きるか。

その世界の文章には、見出し1、見出し2、見出し3とか、引用ブロックとか、そういう機械が認識可能な構造は存在しない。
ただ全てはスタイルを伴った文章によって構築されている。ちょうど、HTMLにおける<p class="xxx">とそれに対応するCSSの記述のような。
書体やサイズを規定するスタイルの集合style1, style2と、どのスタイルを適用するかのみが記載された本文。この二つがあれば、文書の見た目は実現できる。
基底現実の世界における規格への適合性と、機械に意図を伝えるという思考とをひとまずおけば、<h1><h6>なんて使わずとも、これで十分用が足りる。

つまり、人類に必要なのは構造化ではなく、スタイルなのだ。

そもそも、機械が認識する<h1><h6>と、人の意識は必ずしもマッチしていない。
それが嘘だというなら、Wordを考えてみよう。みんながみんなアウトライン表示やスタイルを適用している?
そんなことはまずありえないだろう。タイトルは大きいフォントサイズと太字、見出しは中くらいのそれ。そんな使い方が全くなされていないとは、到底考えられない。そんなにみんなのリテラシーが高ければネ申エクセルなんてものは生まれないはずだ。
人は「章題はこのくらいのサイズで書きたい」と思っているだけであって、それが機械にとって読み取りうるものである必要は、ほとんどない。
文字のスタイルだけで、人間には十分事足りるのだ。
文章の構造を機械に読み取らせて、何か有用性があるのか?
ワードでタイトルっぽいところの文字を大きくする、その使い方でなぜいけない?

お前らの感覚が麻痺しちゃってるんだよ、文書構造化厨に洗脳されてその思想を刷り込まれてさあ!

ではなぜ構造化文書ファイル形式がここまで世にはばかることとなったのかについては想像することしかできないが、おそらくはかつてはたくさんのスタイルを作っておくことが計算機資源の制約上不可能だったのではないか。
用意できるスタイルの数が少ないから、それらに見出しなどの名前を付けた。
だからきっと、どこかでメンタルモデルの変更が必要だった。
文字のスタイルと、構造的な意味とをごっちゃにすべきではなった。十分な数のスタイルを設定できればそれで十分だった。
有限のスタイルを、そのまま文書の構造や階層へと対応させるべきではなかったのだ。
そこが私たちが道を誤った場所なのだ。
全てフラットなスタイルの世界で生きていればこんなことにはならなかったのに。

あー、TeXIndesignを使うプロやマニア、アカデミックライティングが骨にまでしみ込んでる人間は好きにしたら?

お前それマジで言ってる?

まあどちらかというと思考実験でしかないと思っていますが、そういう世界もあり得たとは思います。
ちなみに、かつての日本語ワープロはどうだったんでしょうね。あんまり使ったことがないのでよくわかりません。

scrapboxの思想は、それがスコープとする範囲では、正しい。
小さい項目に刻んで、項目建てが必要のない範囲で、情報を記述する。情報カードには到底まねできないリンク、サジェスト、検索性を持つ。優れた知的生産の手段。
一般的に言えば、スクリーンリーダはアクセシビリティの観点で重要。しかし、個人の知的生産ツールとして使う分にはとか、そもそも項目立てがないから問題ないとか、という割り切りもできるでしょう。

さて、scrapbox。正しいが、同時に異端でもある。
他のメディアは文書構造化厨の洗脳を受けているせいで異常なファイル形式を使っている。その思想を受け入れたとしよう。
しかしながら、そういう異常 が正常とみなされてマジョリティを占めてしまっている以上は、そして全ての知的生産の活動をscrapbox上で完結できない限りは、インタフェース不整合の問題が生じてしまう。
後でマークアップし直すにしろ、scrapboxに書く時点で規約を決めておくにしろ、再利用時の手間が増える。
この問題はいかんともしがたいところであり、苦しいところだ。

P.S.

私の知的生産はコレクトの京大式情報カード、mattn/memoおよびVSCodeによって支えられています。

コレクト 情報カード B6 京大式 C-602

コレクト 情報カード B6 京大式 C-602

  • メディア: オフィス用品

github.com

code.visualstudio.com

あと、この文書はmarkdownによって記述されています。