統計量に基づく手法
行送りと行間
行送りと行間の定義については前回の通りとし、実際にどちらを基準とするか。
人間が目視で判断する場合、行と行の距離を追っていると言うよりは行と行の隙間(空白)の大きさを元に判断しているように思われる。したがって、直感的には"行間"が基準に適しているように思うが…。
以下はいずれもとあるゲーム画面の文章について"文字の高さ"、"行間"、"行送り"を記したもので、実際に段落の境界が存在する行を青くハイライトしている。
一見すると"行間"にしても"行送り"にしても段落境界で前後と値が大きく離れており、前後との差から十分に段落境界を判断できるように見える。一方でPCOT界隈では行間狭すぎ問題なる問題があるように行間は0はおろかマイナスの値すら取り得る。そのため、比率のようなものでしきい値を設定する場合には注意が必要である。
統計量
統計量と書くとなにやら大仰であるが、ここで取り扱うのは平均値、中央値、最頻値のことである。単にそれらの値をもとにしきい値を設定しそれ以上の値であれば段落境界が存在すると判断する。
これがやってみると意外とうまくいく。
前提として多くの対象は以下のルールに従っているからだと思われる。
- 大抵の行は段落を構成する文章の一部である
- 時折、見出しなどが存在する
- 同一段落内の行間、行送りはほとんど変わらない
どの統計量を使ってもそれなりにうまく動くが時折段落間の空行がとてつもなく大きいシチュエーションもあり得るので平均値よりは中央値かなぁと思うくらい。
ただ、前述の表を見ると分かるように同一段落の行送りはほとんど変わらないため最頻値も十分有効であり、現実的な値だと思う。安心して使いたいならすべての値に+1して幅を持たせるなどすると良い。
対象とするタスク次第ではあるが、実際のところ単純なタスクでは複数のスタイルが混在するようなことがない。したがって、最も多く登場する値が段落を構成する文章の値であり、それから外れる場合は段落境界という構図が成り立つので単純でありながら有効的な方法である。
コメント
コメントを投稿