スキップしてメイン コンテンツに移動

OCRの行の間から見る段落検出について その4

補足

他のやり方

一応、他に思いつくOCRの情報を使った方法として
  • フォントサイズを基に段落を検出
  • インデントおよび折り返し位置を基に段落を検出
フォントサイズは見出し等がフォントサイズが大きくなりがちなので、それは段落としてみなせるでしょうみたいなアイデア。段落ごとにフォントサイズが異なる場合も生きる気がする。
インデントと折り返し位置は、段落の先頭はインデントが挿入されるし、段落の末尾は右端まで行かずに折り返されるのでそられの情報から段落境界をを検出するアイデア。

行間の使い道

行間が極端に狭い場合は段落とみなしてよいと私は考えています。
感覚的にある程度行間が狭いと「さすがにこれは同一段落だろう」と思うようなところはあると思っていて、0だとかマイナスってのはそのさすがにに相当すると考えています。具体的にどのくらいまでとか考えるとややこしくなるとは思いますが…。
以下のページに画像の膨張処理で段落を検出する話があるんですが、感覚的には似たような話かなぁと思ってます。

複数のスタイルに対応できたとして

下図みたいな文章があった場合、複数のスタイルに対応できれば
1. Aaq...
2. Aaq...
3. Aaq...
ごとに段落境界を検出する。
Aaqの箇条書き
ただ、これが箇条書きであれば不完全な識別だと言えるし、それぞれに境界が欲しくなる。
とは言え、それは本質的には文章から箇条書きを抜き出すような別タスクで、空間的な距離だけをもとに識別する方法の外の話になるだろう。

ぬるっぽさんちのPCOT

PCOTの実装は掲示板を見るとそれとなく書いてあるので探してみると良いです。しきい値との兼ね合いが分からないんですが、どうやら行送りの最頻値もしくは最小値を使っているみたいです。
最小値?ってなるかも知れませんが使ってみると良い感じなんですよね。
  • 基本的に文章段落は単一のスタイルに統一されている
  • 箇条書きは文章より行間が広いことが多い
って感じで結果的に文章の行送りが最小値になってることがままあるので、文章は同一段落になって箇条書きは分離みたいなことがありました。実践的な感じがします。
ちなみに動作確認していた際に、「嘘っ、これも分離できるの?すごくない?」みたいなことがあって感心していたんですが、行末改行文字(。(句点).(ピリオド)など)による判定だったんですよね。
前回みたいに変に捏ねくり回すよりもそうしたそれぞれ別のタスクの組み合わせでRISC的に積み重ねた方がうまくいくんじゃないかと感じました。

コメント

このブログの人気の投稿

KoeMill V.0.9.0.0 リリース

KoeMillのV.0.9.0.0をリリース KoeMillは、音声認識による文字起こしを行うソフトウェアです。音声認識モデルにはWhisperが採用されており動画や音声から自動的に高品質な文字起こしができるため、煩雑な手作業を省くことができます。 オフラインで動作するため、ネットワークの遅延などによる遅れやプライバシーに関する懸念もありません。また、GPUを利用することで高速な処理を実現します。 ダウンロードページ

CapCap V.0.9.2.7 リリース

CapCapのV.0.9.2.7をリリース 主な変更内容 HTTP POST設定でヘッダの設定に対応 HTTP POST設定でJSONのオブジェクトおよび配列に対応 HTTP POST設定を大項目ごとに折りたためる機能に対応 サンプルプリセット(ChatGPT API)を追加 プリセット複製時に複製先の変更が複製元に及んでいた不具合を修正 HTTP POST設定 新たにリクエストヘッダを設定できるようになりました。これによりAuthorizationによる認証などヘッダが必要なAPIにも対応できるようになりました。合わせて、これまで設定することが出来なかったJSON ObjectおよびArrayについても設定できるようになりました。 ChatGPT APIについて サンプルプリセットを追加しました。HTTP POSTのヘッダおよびJSON ArrayとObjectに対応したため、その対応例となります。 継続的に使おうとすると費用が発生することになるので、無料枠が残っている間に遊んでもらえると幸いです。 DLページ: Home

CapCap V0.9.2.5 リリース

CapCapのV0.9.2.5をリリース 主な変更内容 段落検出機能を追加 字幕モードの名称を変更(Readability -> Text, Layout -> Item) 段落検出 テキストの行同士の距離をもとに段落を検出することが出来るようになりました。 段落の検出および段落間への空行挿入が行なえます。 これまではテキストをひと繋がりの文章として認識していましたが、段落ごとに分離されることで可読性の向上が見込めます。 文章に対して段落が多い場合や段落が2行からなる場合などには精度が落ちる傾向にあります。また実験的機能の側面があるため問題点等あればご報告いただけると助かります。 DLページ: Home