JP5862260B2 - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP5862260B2 JP5862260B2 JP2011270073A JP2011270073A JP5862260B2 JP 5862260 B2 JP5862260 B2 JP 5862260B2 JP 2011270073 A JP2011270073 A JP 2011270073A JP 2011270073 A JP2011270073 A JP 2011270073A JP 5862260 B2 JP5862260 B2 JP 5862260B2
- Authority
- JP
- Japan
- Prior art keywords
- line
- information
- area
- character
- paragraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
- G06V30/41—Analysis of document content
- G06V30/414—Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Description
請求項1の発明は、文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段を具備することを特徴とする情報処理装置である。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
なお、文書とは、テキストデータを少なくとも含み、場合によっては画像、動画、音声等の電子データ、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。
文書内の領域とは、例えば、画像としての文書をスキャナ等で読み取って、その画像を解析することによって、領域に分割したものである。レイアウト情報取得モジュール110が受け取る情報として、その文書の画像を文字認識によって認識した結果であるデータ、PDF(Portable Document Format)(登録商標)等が該当する。なお、領域内には、段落領域又は箇条書き領域に分割可能な領域が含まれていることがある。また、文字情報には、誤った文字情報がある場合もある。例えば、文字認識による文字認識結果である場合は、誤認識もあり得る。特に、箇条書きの先頭文字を誤認識してしまうことがある。なお、文字には、記号等を含む。
領域情報、行情報、文字情報の具体例は、図3、4の例を用いて後述する。
領域情報、行情報、文字情報を取得するとは、例えば、スキャナ、カメラ等で画像を読み込んだ後(ファックス等で通信回線を介して外部機器から画像を受信した後であってもよい)に、構造認識、文字認識等が行われた結果を受け取ることであってもよい。また、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている領域情報、行情報、文字情報を読み出すこと等であってもよい。
行揃え判断モジュール120は、レイアウト情報取得モジュール110によって取得された行情報に基づいて、その行情報が表す行の中点の座標を算出し、領域内の行の右端の座標、中点の座標、左端の座標のいずれか1つ以上に基づいて、その領域内は左揃えであるか否かを判断するようにしてもよい。
なお、行揃え判断モジュール120は、領域が、左揃え、中央揃え、右揃えのいずれかであるかを判断するようにしてもよい。
なお、ここで「行末が揃うことを規定していない言語」とは、行末が揃わないことが一般的な言語のことである。そのような言語であっても、もちろんのことながら、偶然に行末が揃うこともあるが、複数行があった場合に、その行末が揃わないことが一般的であれば、「行末が揃うことを規定していない言語」に該当する。より具体的には、英語、韓国語等が該当する。一方、日本語、中国語等は、行末が揃うことを原則としている。なお、例外として、行の途中で段落が終了すること、行頭に句読点とならないようにぶら下がり等の処理がされている場合は、行末が揃わない場合があるが、複数行があった場合に、その行末が揃うことが一般的であれば、「行末が揃うことを規定していない言語」には該当しない。また、「行情報を変更」とは、行情報のうち、行の長さを表す情報(横書きの場合はレイアウト情報300のwidth340、縦書きの場合はレイアウト情報300のheight338)を変更することである。
その言語であるか否かの判断は、文字情報内の文字に基づいて判断してもよい。例えば、文字コードによっては、言語に応じて使用される文字コードの範囲が異なっているので、使用されている文字コードがいずれの言語の文字コードの範囲に属するかを判断すればよい。また、予め言語が設定されている場合は、その設定にしたがってもよい。設定とは、言語に応じた値を記憶しているフラグ等が該当する。
判断結果出力モジュール170が出力する段落・箇条書き判断Bモジュール160による分割結果は、この段落・箇条書き判断Aモジュール130による分割結果に対して、段落・箇条書き判断Bモジュール160によって分割処理が行われたものである。
段落・箇条書き判断Aモジュール130は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。なお、文字列とは、複数文字の場合の他に、1文字の場合も含む。
また、段落・箇条書き判断Aモジュール130は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。
インデント解析モジュール150は、領域の左端からその領域内の各行の左端までの距離に基づいて、その各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析するようにしてもよい。
段落・箇条書き判断Bモジュール160は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及びインデント解析モジュール150による解析結果である分類の境界と段落との境界とが重なっているか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。
段落・箇条書き判断Aモジュール130による分割結果、段落・箇条書き判断Bモジュール160による分割結果のいずれかがない場合もある。したがって、判断結果出力モジュール170は、段落・箇条書き判断Aモジュール130による分割結果、段落・箇条書き判断Bモジュール160による分割結果のいずれか、又は、段落・箇条書き判断Aモジュール130による分割結果と段落・箇条書き判断Bモジュール160による分割結果の両方を出力することがある。
分割結果を出力するとは、例えば、文書データベース等の記憶装置へ文書に関する情報として書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置(例えば、翻訳処理等を行う情報処理装置)へ渡すこと等が含まれる。
ステップS202では、レイアウト情報取得モジュール110が、レイアウト情報を取得する。レイアウト情報としては、前述の領域情報、行情報、文字情報がある。
図3は、レイアウト情報取得モジュール110が取得する情報のデータ構造例を示す説明図である。レイアウト情報300は、領域情報310と行情報330を含む。ここで領域とは矩形領域である例を示している。なお、行情報330は、領域情報310内の領域情報が表す領域内にある行を示している情報を記憶している。領域情報310は、その領域の情報として、座標情報312、文章方向情報322を含む。座標情報312は、その領域の位置、大きさを記憶している。座標情報312は、x314、y316、height318、width320を含む。x314は、その領域の左上座標のx座標を記憶している。y316は、その領域の左のy座標を記憶している。height318は、その領域の高さを記憶している。width320は、その領域の幅を記憶している。なお、座標情報として、左上座標のx、y座標、高さ、幅を挙げているが、矩形の位置を示す情報であれば、これ以外の情報、例えば、右上座標のx、y座標、高さ、幅であってもよいし、左上座標のx、y座標、右下座標のx、y座標等であってもよい。以下、座標情報332、座標情報348内の情報についても同様である。文章方向情報322は、その領域内にある文章の方向(行方向)を記憶している。文章の方向とは、横書き、縦書き等が含まれる。また、横書きについては、右から左、左から右への方向を含めてもよい。具体的には、横書き、縦書き等を示す符号を記憶している。
文字情報344は、その行に含まれている文字に関する情報を文字毎に記憶している。したがって、行内に複数の文字がある場合は、文字情報344が複数ある。文字情報344は、文字コード346、座標情報348を含む。文字コード346は、その文字を示す文字コードと記憶している。座標情報348は、x350、y352、height354、width356を含む。ここで文字は矩形領域である例を示している。x350は、その文字の左のx座標を記憶している。y352は、その文字の左上座標のy座標を記憶している。height354は、その文字の高さを記憶している。width356は、その文字の幅を記憶している。
領域情報410内には、行情報420aから行情報420fまでの6個の行情報が含まれている。そして、行情報420a内には、文字情報430aから文字情報430rまでの18個の文字情報が含まれている。なお、図4の例では、行情報420b以降の行情報内の文字情報は省略しているが、各行には、それぞれ文字情報が含まれている。
領域内の文字サイズは、領域内の文字サイズを取得し、最頻値を算出し、領域内の代表文字サイズとする。最頻値の他に、平均値、中央値等であってもよい。この値が今後の補正や判断の処理の基準となり得る。なお、部分的に大きい文字が混在している等の対策として、最頻値を採用している。また、例えば、違う文字サイズの場合は、その文字を含む行を異なる行として分離する処理を行い、行間の文字サイズの差が予め定められた値よりも大きい場合は、領域を分離するようにして、違うサイズの文字は同じ領域には含まれないようにしてもよい。
行末が揃うことを規定していない言語(英語、韓国語等)の場合、行末が揃わないケースがあるので、行末が揃うことを規定している言語(日本語、中国語等)と処理が同じになるように補正する。図6、7は、文章方向情報が横書きの場合の行揃え判断モジュール120による処理例を示す説明図である。なお、文章方向情報が縦書きである場合は、90度右回転させた同じ処理が実行される。
具体的には、次の行の開始の単語幅とは、対象としている行の次の行(横書きの場合は対象としている行の直下の行、縦書きの場合は対象としている行の直左の行)内であって、空白で区切られている単語までの幅を対象としている行に加える。さらに、予め定められた値である調整幅の値を加える。この状態で、対象としている行が領域内に収まるか否かを判断する。図6の例をもって示すと、行情報620aの次の行情報620b内の開始単語幅630b(次行開始単語幅640a)と調整幅650aを、行情報620aの右端(x座標)に加える。この結果が領域情報610の右端をはみ出しているか否かを判断する。図6の例では、領域情報610内の行情報620a、行情報620b、行情報620cは、領域情報610の右端をはみ出していると判断される。行情報620dは、その右端が領域情報610の右端と一致しているため、このような処理は不要である。なお、調整幅は、その領域内の代表文字サイズに基づいて定めてもよい。空白の大きさを調整して文字が配置されているケースもあるため、このような調整幅を設けている。例えば、調整幅として、代表文字サイズの3文字分の長さとしてもよい。
そして、対象としている行がその行が含まれている領域内に収まっていないと判断した場合は、その行の右端を領域の右端と一致するように、その行を示している行情報の幅を修正する。図7の例をもって示すと、領域情報710内の行情報720a、行情報720b、行情報720cの右端を、領域情報710の右端に延長している。
ステップS802では、行揃え判断モジュール120が、「右座標(行の右端のx座標)が揃っている」かつ「左座標(行の左端のx座標)が揃っていない」か否かを判断し、その条件を満たしている場合はステップS804へ進み、それ以外の場合はステップSステップS806へ進む。ここで「揃っているか否かの判断」は、領域座標との差を算出し、その差の分散が予め定められた値よりも小さければ、揃っていると判断する。例えば、予め定められた値として、代表文字サイズの2.5文字分としてもよい。以下のステップS806においても同様である。なお、左座標が揃っていないことを条件とするのは、文章が長方形矩形内にびっしりと埋まっているケースは「左揃え」と判断したいためである。
ステップS804では、行揃え判断モジュール120が、その領域は右揃えであると判断する。
図9の例をもって示すと、左座標と領域座標の左端座標との差である左側間隔情報940a、左側間隔情報940b、左側間隔情報940dの分散が予め定められた値よりも大きいので、「左座標が揃っていない」と判断され、各行の右座標は領域右側情報930cと一致しているので、「右座標が揃っている」と判断されることになり、ステップS804で、領域情報910は右揃えであると判断する。
ステップS808では、行揃え判断モジュール120が、その領域は中央揃えであると判断する。
図10の例をもって示すと、左座標と領域座標の左端座標との差である左側間隔情報1040a、左側間隔情報1040b、左側間隔情報1040dの分散が予め定められた値よりも大きいので、「左座標が揃っていない」と判断され、各行の中点座標は領域右側情報1030cと一致しているので、「中点座標が揃っている」と判断されることになり、ステップS808で、領域情報1010は中央揃えであると判断する。
ステップS810では、行揃え判断モジュール120が、その領域は左揃えであると判断する。なお、左揃えに関しては、文章中で段落がインデントされていたりすることもあるため、左座標が揃っている等の条件で判断はしていない。
なお、ステップS802、ステップS806の順番に判断しているが、逆であってもよいし、これらを組み合わせた条件として、1回の判断で区別するようにしてもよい。
領域情報内の、行の先頭から予め定められた数の文字である文字列と、行末から予め定められた数の文字である文字列を比較することで、箇条書き記号を検出する。
例えば、次の条件に当てはまった場合に、箇条書き記号だと認識する。なお、同じ箇条書き記号でインデントされているケースでも検知可能なようにするため、座標情報を利用していない。ただし、座標情報を利用してもよい。
先頭の文字列が予め定められた文字列か否かで、箇条書き記号か否かを判断する。ただし、領域内に同じ記号で始まる行が複数あった場合に限り、箇条書き記号と判断する。文字認識の誤認識による分離ミスを減らすためである。
例えば、予め定められた文字列として、正規表現で表して、“[・\-−−‐―+*○☆※◎●□■◇◆△▲▼.??]”等が該当する。
先頭の文字列が括弧で囲まれているかを検出し、領域内に同じ括弧で囲まれた文字列で開始された行が複数あった場合に箇条書き記号と判断する。
例えば、予め定められた文字列として、正規表現で表して、“[((\[〔<<[]”等、終了括弧として、正規表現で表して、“[))\]〕>>]]”等が該当する。なお、この他に明細書に用いることができない括弧記号(「半角かぎかっこ」、段落番号の記載に用いられている「すみつきパーレン(ブラケット等ともいわれる)」)等を含んでいてもよい。
また、判断対象の文字数を予め定めた数に設定してもよい。例えば、先頭から4文字以内の範囲としてもよい。
条件(3−1) 「最初の文字が英数字、漢数字、ローマ字」かつ「2文字目が“..−−”のいずれか」であること。さらに、前者の条件を満たす行が複数存在し、最初の文字の文字コードが連続している場合に、箇条書きと判断する。例えば、「A」「B」等、連続していれば検知されることになる。
条件(3−2) 「最初の文字より数字が連続している行」であること。そして、それを満たす行が複数存在し、数字を数値に置き換えて、その数値順に並べた際、行として隣合う数値の差が0又は1になっている場合に、箇条書きと判断する。なお、例えば、「12−1」、「12−2」等、後半の文字だけ変わることもあるので、差(最初の数字である12と12の差)が0である場合もある。
前の行の文章が、句点やピリオド等で終了している場合、段落境界がその間にあると判断する。検知する文末列は予め定められている。
例えば、予め定められた文字列として、正規表現で表して、“..。?!?!”としてもよい。
なお、次の行で文頭字下げされていることを条件に加えてもよい。たまたま行の端で句点が配置された文章は、段落の境界ではない箇所で段落の区切りがあると判断されてしまうことを防ぐためである。
領域内の行の平均文字数が予め定められた値より小さい場合、単語が羅列されていると判断し、全ての行を単独行として分離する(各行の境界を段落境界とする)。なお、英語については、空白で区切られた単語数を対象としている。例えば、予め定められた値として、日本語、中国語、韓国語の場合は、文字数平均を8文字として、英語の場合は3単語としてもよい。ただし、条件として、1行全てが数字列を“+「.’,\$%-」”(正規表現)で構成されている場合、それは文字数に関係なく分離するようにしてもよい。罫線のない表等に対応するためである。
ステップS214では、表のセル内にある文字であるか否かを判断し、表のセル内にある文字である場合は、その文字に対してはこの処理は行わないようにしてもよい。セル内の文字が不規則に並ぶことに対応するためである。
括弧で囲まれた文章の羅列に対しての対策である。行の先頭の文字と行末の文字が対応している括弧である場合、その行は単独行と判断し、分割する(その行の境界を段落境界とする)。
例えば、予め定められた括弧の文字として、[],「」,(),「」,“”,’’があり、これらのいずれかで囲まれた行が対象をなる。
なお、ステップS210からステップS216までの処理は、いずれかの1つ以上のステップの処理であってもよい。また、ステップS210からステップS216までの処理は、この順番に行われなくてもよい。例えば、逆順であってもよいし、並列して処理が行われるようにしてもよい。また、これらの処理の代わりに、又は、これらの処理とともに先行技術文献に挙げた技術を用いるようにしてもよい。
ステップS210からステップS216までの処理で検知した情報を統合し、文章を段落情報毎に分離することを行う。箇条書き記号が検出された行は、その前に文章の区切れがあると判断して分離する。段落境界はそのままその情報を境界として利用して分離する。
この時点で、領域情報は、図11の例に示すように点線で囲われた段落情報1120a〜1120eのように、「段落領域」毎にまとめられたことになる。
ステップS208で処理対象の領域情報が左揃えと判断されている場合、領域情報内の文章がインデントされているかの判断処理(ステップS222からステップS226までの処理)を加える。中央揃え、右揃えの場合は、ステップS228へ進むことになる。縦書きの場合、上揃えであればステップS222へ進み、それ以外であればステップS228へ進む。
領域の左端の座標から、その領域に含まれている行の左端の座標までの距離で、行をグループ分けする。
図12は、インデント解析モジュール150による処理例を示す説明図である。領域情報1100内に段落情報1120a〜1120eまでの5つの段落が含まれている。また、段落情報1120d内には2つの行が含まれている。他の段落には1つの行だけが含まれている。
領域情報1100の左端から段落情報1120a内の行の左端までの距離は0であり(領域左座標A:1210、つまり、重なっている)、同様に領域情報1100の左端から段落情報1120d内の第1行、段落情報1120e内の行の左端までの距離は0であり、グループAとする。領域情報1100の左端から段落情報1120b内の行の左端までの距離と、領域情報1100の左端から段落情報1120c内の行の左端までの距離と、領域情報1100の左端から段落情報1120d内の第2行の左端までの距離(領域インデント座標B:1220)は等しいので、グループBとする。なお、ここで距離が等しいとは、比較する距離の差が予め定められた値以内であることをいう。例えば、その領域における代表文字サイズの0.7文字分以内としてもよい。
具体的に図12の例では、段落情報1120a内の行と段落情報1120b内の行の境界、段落情報1120c内の行と段落情報1120d内の第1行の境界、段落情報1120d内の第1行と段落情報1120d内の第2行の境界、段落情報1120d内の第2行と段落情報1120e内の行との境界が該当する。したがって、領域情報1100内には、5つのインデント候補があることになる。具体的には、図13の例に示すように、段落情報1120aとインデント候補情報1310aは重なり、インデント候補情報1310b内には段落情報1120bと段落情報1120cが含まれ、逆に段落情報1120dにはインデント候補情報1310cとインデント候補情報1310dが含まれ、段落情報1120eとインデント候補情報1310eは重なっている。なお、インデント候補はインデントではないものも含まれている可能性がある。次のステップでインデント候補からインデントであるものを選定する。
また、領域の左端から行の左端までの距離が閾値以上である場合に、インデント候補の行を選出するようにしてもよい。インデント候補の行と判断する閾値は予め定められた値である。例えば、領域の左端から行の左端までの距離がその領域における代表文字サイズの2.5文字分以上である行を、インデント候補の行とする。図12の例では、Bグループは領域の左端から行の左端までの距離(領域インデント座標B:1220)が2.5文字分以上であるので、段落情報1120b内の行、段落情報1120c内の行、段落情報1120d内の第2行が、インデント候補の行となる。
前述のステップS222でグループ分けされたインデント候補の境界について、以下の条件を2つとも満たす場合、その境界はないものとして、後ろのインデント候補のグループを前のインデント候補のグループに含める。
(条件1)境界の前の行に予め定められた箇条書き記号(ステップS210等で用いた箇条書き記号)が含まれている。
(条件2)段落の境界と、インデント候補の境界が重なっていない。
具体的に説明する。図14(a)の例に示すように、領域情報1100内には、5つの段落(段落情報1120a〜1120e)、5つのインデント候補(インデント候補情報1310a〜1310e)がある。対象としているインデント候補の境界は、インデント候補情報1310aとインデント候補情報1310bの境界、インデント候補情報1310bとインデント候補情報1310cの境界、インデント候補情報1310cとインデント候補情報1310dの境界、インデント候補情報1310dとインデント候補情報1310eの境界である。条件1及び条件2を満たしているのは、インデント候補情報1310cとインデント候補情報1310dの境界である。つまり、インデント候補情報1310cには、「●」という予め定められた箇条書き記号が含まれている。そして、インデント候補情報1310cとインデント候補情報1310dの境界と同じ位置にある段落の境界はない。段落情報1120dには、インデント候補情報1310cとインデント候補情報1310dが含まれているからである。
したがって、インデント候補情報1310dはBグループであるが、これをインデント候補情報1310cのグループであるAグループに変更し、インデント候補情報1310cとインデント候補情報1310dで1つのインデント候補とする。
図14(a)の例は、図14(b)の例のようになる。つまり、領域情報1100内の第1行だけのインデント情報1410a、領域情報1100内の第2行、第3行からなるインデント情報1410b、領域情報1100内の第4行、第5行、第6行からなるインデント情報1410cの3つのインデント(箇条書き領域)となる。なお、インデント情報1410aはAグループであり、インデント情報1410bはBグループであり、インデント情報1410cはAグループである。
段落毎に、連続している行の行末座標を比較する。後の行の行末が前の行の行末から予め定められた値より下がっている場合(横書きの場合、後の行の行末が前の行の行末よりも右側にある状態、縦書きの場合、後の行の行末が前の行の行末よりも下側にある状態)、段落の境界が比較した行の間にあるとし、段落情報を分割する。予め定められた値として、例えば、3文字以上等がある。なお、英語等の場合は行末の揃わないケースがあるが、ステップS206での修正が行われているので、このステップS226の処理をそのまま行ってもよい。
具体的に説明する。図15(a)の例に示すように、行情報1520cと行情報1520dの行末座標を比較することによって、行情報1520cの行末(行末情報1540)よりも行情報1520dの行末は予め定められた値よりも右側にあることが判明する。そこで、行情報1520cと行情報1520dの間(行境界情報1530)で、段落情報1515を分割する。図15(b)の例のように、領域情報1510内の段落情報1550aと段落情報1550bの2つの段落があることになる。
また、横書きであるか否か(又は縦書きであるか否か)をレイアウト情報取得モジュール110が、レイアウト情報に基づいて判断し、その後の処理は、その判断結果にしたがった処理(横書きの場合は横書き用の処理、縦書きの場合は縦書き用の処理)を行ってもよい。なお、レイアウト情報に基づいて、横書きであるか否かを判断するとは、レイアウト情報内に横書きであるか否かを示す情報がある場合は、その情報に従った判断を行う。また、そのような情報がない場合は、レイアウト情報内の行情報内の行の高さ(height)と幅(width)の比率で判断すればよい。例えば、その比率が予め定められた比率よりも横長であることを示していれば横書きであると判断し、その比率が予め定められた比率よりも縦長であることを示していれば縦書きであると判断すればよい。
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
120…行揃え判断モジュール
130…段落・箇条書き判断Aモジュール
140…処理切替モジュール
150…インデント解析モジュール
160…段落・箇条書き判断Bモジュール
170…判断結果出力モジュール
Claims (16)
- 文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、
前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、
前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
を具備することを特徴とする情報処理装置。 - 前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は左揃えであるか否かを判断する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は左揃えであるか否かを判断する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。 - 前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。 - 前記解析手段は、領域の左端から該領域内の各行の左端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析する
ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。 - 前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項6に記載の情報処理装置。 - コンピュータを、
文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、
前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、
前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
として機能させるための情報処理プログラム。 - 文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、
前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、
前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
を具備することを特徴とする情報処理装置。 - 前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は上揃えであるか否かを判断する
ことを特徴とする請求項9に記載の情報処理装置。 - 前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は上揃えであるか否かを判断する
ことを特徴とする請求項9又は10に記載の情報処理装置。 - 前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項9から11のいずれか一項に記載の情報処理装置。 - 前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項9から12のいずれか一項に記載の情報処理装置。 - 前記解析手段は、領域の上端から該領域内の各行の上端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析する
ことを特徴とする請求項9から13のいずれか一項に記載の情報処理装置。 - 前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
ことを特徴とする請求項14に記載の情報処理装置。 - コンピュータを、
文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、
前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、
前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
として機能させるための情報処理プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270073A JP5862260B2 (ja) | 2011-12-09 | 2011-12-09 | 情報処理装置及び情報処理プログラム |
US13/534,768 US9275280B2 (en) | 2011-12-09 | 2012-06-27 | Information processing system and method for document management |
CN201210380729.7A CN103218352B (zh) | 2011-12-09 | 2012-10-09 | 信息处理装置和信息处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270073A JP5862260B2 (ja) | 2011-12-09 | 2011-12-09 | 情報処理装置及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013122634A JP2013122634A (ja) | 2013-06-20 |
JP5862260B2 true JP5862260B2 (ja) | 2016-02-16 |
Family
ID=48573211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011270073A Expired - Fee Related JP5862260B2 (ja) | 2011-12-09 | 2011-12-09 | 情報処理装置及び情報処理プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9275280B2 (ja) |
JP (1) | JP5862260B2 (ja) |
CN (1) | CN103218352B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9087337B2 (en) * | 2008-10-03 | 2015-07-21 | Google Inc. | Displaying vertical content on small display devices |
JP6328409B2 (ja) * | 2013-11-28 | 2018-05-23 | シャープ株式会社 | 翻訳装置 |
EP3522038A4 (en) * | 2016-09-28 | 2020-06-03 | Systran International Co. Ltd. | METHOD FOR TRANSLATING CHARACTERS AND DEVICE THEREFOR |
KR101960446B1 (ko) * | 2017-06-15 | 2019-03-20 | 주식회사 닷 | 정보 출력 장치 및 방법 |
CN110135429A (zh) * | 2019-04-18 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 扫描文字分段方法、装置、计算机设备和存储介质 |
WO2021003294A1 (en) * | 2019-07-01 | 2021-01-07 | Digimarc Corporation | Watermarking arrangements permitting vector graphics editing |
CN113297832A (zh) * | 2021-05-25 | 2021-08-24 | 北京北大方正电子有限公司 | 折行位置优化方法、装置、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0667567B1 (en) * | 1993-12-30 | 2001-10-17 | Xerox Corporation | Apparatus and method for supporting the implicit structure of freeform lists, outlines, text, tables, and diagrams in a gesture-based input system and editing system |
US5920877A (en) * | 1996-06-17 | 1999-07-06 | Kolster; Page N. | Text acquisition and organizing system |
JP3737253B2 (ja) * | 1997-10-07 | 2006-01-18 | 株式会社リコー | 文書画像の領域抽出方法および記録媒体 |
JP3578618B2 (ja) | 1998-02-26 | 2004-10-20 | 株式会社リコー | 文書分割装置 |
JP3767180B2 (ja) | 1998-07-15 | 2006-04-19 | 日本電信電話株式会社 | 文書構造解析方法及び装置及び文書構造解析プログラムを格納した記憶媒体 |
JP4314221B2 (ja) * | 2005-07-28 | 2009-08-12 | 株式会社東芝 | 構造化文書記憶装置、構造化文書検索装置、構造化文書システム、方法およびプログラム |
CN100447793C (zh) * | 2007-01-10 | 2008-12-31 | 苏州大学 | 基于视觉特征的页面查询接口抽取方法 |
JP4626777B2 (ja) * | 2008-03-14 | 2011-02-09 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
US8352855B2 (en) * | 2009-01-02 | 2013-01-08 | Apple Inc. | Selection of text in an unstructured document |
JP5412903B2 (ja) * | 2009-03-17 | 2014-02-12 | コニカミノルタ株式会社 | 文書画像処理装置、文書画像処理方法および文書画像処理プログラム |
US8214733B2 (en) * | 2010-04-28 | 2012-07-03 | Lexmark International, Inc. | Automatic forms processing systems and methods |
-
2011
- 2011-12-09 JP JP2011270073A patent/JP5862260B2/ja not_active Expired - Fee Related
-
2012
- 2012-06-27 US US13/534,768 patent/US9275280B2/en not_active Expired - Fee Related
- 2012-10-09 CN CN201210380729.7A patent/CN103218352B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9275280B2 (en) | 2016-03-01 |
US20130151953A1 (en) | 2013-06-13 |
CN103218352A (zh) | 2013-07-24 |
CN103218352B (zh) | 2017-11-10 |
JP2013122634A (ja) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5862260B2 (ja) | 情報処理装置及び情報処理プログラム | |
US10853638B2 (en) | System and method for extracting structured information from image documents | |
JP5663866B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP4347677B2 (ja) | 帳票ocrプログラム、方法及び装置 | |
US10740899B2 (en) | Image processing apparatus for identifying region within image, information processing method, and storage medium | |
JP6003047B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP4733577B2 (ja) | 帳票認識装置及び帳票認識プログラム | |
US9280725B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
JP4834351B2 (ja) | 文字認識装置及び文字認識方法 | |
US20120033887A1 (en) | Image processing apparatus, computer readable medium storing program, and image processing method | |
JP5601027B2 (ja) | 画像処理装置及び画像処理プログラム | |
Singh et al. | Document layout analysis for Indian newspapers using contour based symbiotic approach | |
JP6007720B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP3467437B2 (ja) | 文字認識装置及びその方法とプログラム記録媒体 | |
JP4347675B2 (ja) | 帳票ocrプログラム、方法及び装置 | |
JP5888222B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP6187307B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP5928714B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2010039810A (ja) | 画像処理装置及び画像処理プログラム | |
JP6409423B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2016133888A (ja) | 情報処理装置及び情報処理プログラム | |
JP2014021533A (ja) | 情報処理装置及び情報処理プログラム | |
JP2011061358A (ja) | 情報処理装置及び情報処理プログラム | |
JP2016053797A (ja) | 画像処理装置及び画像処理プログラム | |
JP2016009235A (ja) | 情報処理装置及び情報処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150904 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5862260 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |