JP5862260B2 - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

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
Application number
JP2011270073A
Other languages
English (en)
Other versions
JP2013122634A (ja
Inventor
裕也 今野
裕也 今野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2011270073A priority Critical patent/JP5862260B2/ja
Priority to US13/534,768 priority patent/US9275280B2/en
Priority to CN201210380729.7A priority patent/CN103218352B/zh
Publication of JP2013122634A publication Critical patent/JP2013122634A/ja
Application granted granted Critical
Publication of JP5862260B2 publication Critical patent/JP5862260B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
特許文献1には、文書について隣接文書間の関連だけでなく、広域的な関連も考慮に入れることで有用な文書分割を実現することを課題とし、文書分割装置に、電子化された文書から言語要素を、段落、文、行で切り出す言語要素切り出し手段と、任意の2つの言語要素同士の関連度を、例えば共通の文字、単語等で評価する言語要素間関連度評価手段と、前記言語要素間関連度評価手段を用い、全ての言語要素同士の関連度を求める言語要素間関連度行列取得手段と、前記言語要素間関連度行列取得手段により得られた言語要素間関連度行列を関連度の高い部分行列の並びに分割する行列分割手段とを備えることにより、文書を前記部分行列による分割に応じて分割することが開示されている。
特許文献2には、箇条書きラベルを含んだり、特定の記号等がなくても、文字列の長さや行頭の位置情報を使うことによって、ラベル付き箇条書きと本文の単文化についての文書構造を解析することが可能な文書構造解析方法及び装置及び文書構造解析プログラムを格納した記憶媒体を提供することを課題とし、解析対象の文書を入力し、文書の行頭の引用符の有無を調べ、該引用符がある場合には削除し、文書中の日時、場所、期限を含む特定の箇条書きラベルに使用される文字列を検出し、検出された箇条書きラベルの特徴に基づいて、任意の箇条書きラベルを検出し、箇条書きラベルが検出された行の行頭の位置と、その次以降の箇条書きラベルが検出されない行頭の位置を箇条書き範囲として特定し、箇条書き範囲と判定されない行に対し、その次以降の行を接続し、文単位に区切り、特定の箇条書き、任意の箇条書き及び文を示すタグを文書に付与して出力することが開示されている。
特許第3578618号公報 特許第3767180号公報
本発明は、文書内の領域を段落領域又は箇条書き領域に分割する場合にあって、箇条書きを示す文字が予め定められた文字とは異なる場合に、誤った分割を行ってしまうことを抑制するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段を具備することを特徴とする情報処理装置である。
請求項2の発明は、前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は左揃えであるか否かを判断することを特徴とする請求項1に記載の情報処理装置である。
請求項3の発明は、前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は左揃えであるか否かを判断することを特徴とする請求項1又は2に記載の情報処理装置である。
請求項4の発明は、前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置である。
請求項5の発明は、前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項6の発明は、前記解析手段は、領域の左端から該領域内の各行の左端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析することを特徴とする請求項1から5のいずれか一項に記載の情報処理装置である。
請求項7の発明は、前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項6に記載の情報処理装置である。
請求項8の発明は、コンピュータを、文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段として機能させるための情報処理プログラムである。
請求項9の発明は、文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段を具備することを特徴とする情報処理装置である。
請求項10の発明は、前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は上揃えであるか否かを判断することを特徴とする請求項9に記載の情報処理装置である。
請求項11の発明は、前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は上揃えであるか否かを判断することを特徴とする請求項9又は10に記載の情報処理装置である。
請求項12の発明は、前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項9から11のいずれか一項に記載の情報処理装置である。
請求項13の発明は、前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項9から12のいずれか一項に記載の情報処理装置である。
請求項14の発明は、前記解析手段は、領域の上端から該領域内の各行の上端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析することを特徴とする請求項9から13のいずれか一項に記載の情報処理装置である。
請求項15の発明は、前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割することを特徴とする請求項14に記載の情報処理装置である。
請求項16の発明は、コンピュータを、文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段として機能させるための情報処理プログラムである。
請求項1の情報処理装置によれば、文書内の領域を段落領域又は箇条書き領域に分割する場合にあって、箇条書きを示す文字が予め定められた文字とは異なる場合に、誤った分割を行ってしまうことを抑制することができる。
請求項2の情報処理装置によれば、言語の特性に合わせて、領域が左揃えであるか否かを判断することができる。
請求項3の情報処理装置によれば、行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて、領域内は左揃えであるか否かを判断することができる。
請求項4の情報処理装置によれば、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項5の情報処理装置によれば、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項6の情報処理装置によれば、領域の左端から該領域内の各行の左端までの距離に基づいて、各行を字下げしていないものと字下げしているものとに分類することができる。
請求項7の情報処理装置によれば、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び分類の境界と段落との境界とが重なっているか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項8の情報処理プログラムによれば、文書内の領域を段落領域又は箇条書き領域に分割する場合にあって、箇条書きを示す文字が予め定められた文字とは異なる場合に、誤った分割を行ってしまうことを抑制することができる。
請求項9の情報処理装置によれば、文書内の領域を段落領域又は箇条書き領域に分割する場合にあって、箇条書きを示す文字が予め定められた文字とは異なる場合に、誤った分割を行ってしまうことを抑制することができる。
請求項10の情報処理装置によれば、言語の特性に合わせて、領域が上揃えであるか否かを判断することができる。
請求項11の情報処理装置によれば、行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて、領域内は上揃えであるか否かを判断することができる。
請求項12の情報処理装置によれば、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項13の情報処理装置によれば、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項14の情報処理装置によれば、領域の上端から該領域内の各行の上端までの距離に基づいて、各行を字下げしていないものと字下げしているものとに分類することができる。
請求項15の情報処理装置によれば、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び分類の境界と段落との境界とが重なっているか否かに基づいて、領域を段落領域又は箇条書き領域に分割することができる。
請求項16の情報処理プログラムによれば、文書内の領域を段落領域又は箇条書き領域に分割する場合にあって、箇条書きを示す文字が予め定められた文字とは異なる場合に、誤った分割を行ってしまうことを抑制することができる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 レイアウト情報取得モジュールが取得する情報のデータ構造例を示す説明図である。 レイアウト情報取得モジュールが取得する情報の例を示す説明図である。 行揃え判断モジュールによる処理例を示す説明図である。 行揃え判断モジュールによる処理例を示す説明図である。 行揃え判断モジュールによる処理例を示す説明図である。 行揃え判断モジュールによる処理例を示すフローチャートである。 行揃え判断モジュールによる処理例を示す説明図である。 行揃え判断モジュールによる処理例を示す説明図である。 段落・箇条書き判断Aモジュールによる処理例を示す説明図である。 インデント解析モジュールによる処理例を示す説明図である。 インデント解析モジュールによる処理例を示す説明図である。 段落・箇条書き判断Bモジュールによる処理例を示す説明図である。 段落・箇条書き判断Bモジュールによる処理例を示す説明図である。 本実施の形態による処理例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
本実施の形態である情報処理装置は、文書内の領域を段落領域又は箇条書き領域に分割するものであって、図1の例に示すように、レイアウト情報取得モジュール110、行揃え判断モジュール120、段落・箇条書き判断Aモジュール130、処理切替モジュール140、インデント解析モジュール150、段落・箇条書き判断Bモジュール160、判断結果出力モジュール170を有している。
レイアウト情報取得モジュール110は、行揃え判断モジュール120と接続されている。レイアウト情報取得モジュール110は、文書内の領域に関する情報である領域情報と、その領域内にある行に関する情報である行情報と、その行内にある文字に関する情報である文字情報を取得する。
なお、文書とは、テキストデータを少なくとも含み、場合によっては画像、動画、音声等の電子データ、又はこれらの組み合わせであり、記憶、編集及び検索等の対象となり、システム又は利用者間で個別の単位として交換できるものをいい、これらに類似するものを含む。
文書内の領域とは、例えば、画像としての文書をスキャナ等で読み取って、その画像を解析することによって、領域に分割したものである。レイアウト情報取得モジュール110が受け取る情報として、その文書の画像を文字認識によって認識した結果であるデータ、PDF(Portable Document Format)(登録商標)等が該当する。なお、領域内には、段落領域又は箇条書き領域に分割可能な領域が含まれていることがある。また、文字情報には、誤った文字情報がある場合もある。例えば、文字認識による文字認識結果である場合は、誤認識もあり得る。特に、箇条書きの先頭文字を誤認識してしまうことがある。なお、文字には、記号等を含む。
領域情報、行情報、文字情報の具体例は、図3、4の例を用いて後述する。
領域情報、行情報、文字情報を取得するとは、例えば、スキャナ、カメラ等で画像を読み込んだ後(ファックス等で通信回線を介して外部機器から画像を受信した後であってもよい)に、構造認識、文字認識等が行われた結果を受け取ることであってもよい。また、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている領域情報、行情報、文字情報を読み出すこと等であってもよい。
行揃え判断モジュール120は、レイアウト情報取得モジュール110、段落・箇条書き判断Aモジュール130と接続されている。行揃え判断モジュール120は、レイアウト情報取得モジュール110によって取得された行情報に基づいて、その行情報が表す行を含む領域は左揃えであるか否かを判断する。この処理の具体例は、図5、8〜10の例を用いて後述する。
行揃え判断モジュール120は、レイアウト情報取得モジュール110によって取得された行情報に基づいて、その行情報が表す行の中点の座標を算出し、領域内の行の右端の座標、中点の座標、左端の座標のいずれか1つ以上に基づいて、その領域内は左揃えであるか否かを判断するようにしてもよい。
なお、行揃え判断モジュール120は、領域が、左揃え、中央揃え、右揃えのいずれかであるかを判断するようにしてもよい。
行揃え判断モジュール120は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、その行情報を変更した後に、行情報が表す行を含む領域は左揃えであるか否かを判断するようにしてもよい。この処理の具体例は、図6、7の例を用いて後述する。
なお、ここで「行末が揃うことを規定していない言語」とは、行末が揃わないことが一般的な言語のことである。そのような言語であっても、もちろんのことながら、偶然に行末が揃うこともあるが、複数行があった場合に、その行末が揃わないことが一般的であれば、「行末が揃うことを規定していない言語」に該当する。より具体的には、英語、韓国語等が該当する。一方、日本語、中国語等は、行末が揃うことを原則としている。なお、例外として、行の途中で段落が終了すること、行頭に句読点とならないようにぶら下がり等の処理がされている場合は、行末が揃わない場合があるが、複数行があった場合に、その行末が揃うことが一般的であれば、「行末が揃うことを規定していない言語」には該当しない。また、「行情報を変更」とは、行情報のうち、行の長さを表す情報(横書きの場合はレイアウト情報300のwidth340、縦書きの場合はレイアウト情報300のheight338)を変更することである。
その言語であるか否かの判断は、文字情報内の文字に基づいて判断してもよい。例えば、文字コードによっては、言語に応じて使用される文字コードの範囲が異なっているので、使用されている文字コードがいずれの言語の文字コードの範囲に属するかを判断すればよい。また、予め言語が設定されている場合は、その設定にしたがってもよい。設定とは、言語に応じた値を記憶しているフラグ等が該当する。
段落・箇条書き判断Aモジュール130は、行揃え判断モジュール120、処理切替モジュール140と接続されている。段落・箇条書き判断Aモジュール130は、レイアウト情報取得モジュール110によって取得された文字情報に基づいて、その文字情報が表す文字を含む領域を段落領域又は箇条書き領域に分割する。この処理の具体例は、図11の例を用いて後述する。
判断結果出力モジュール170が出力する段落・箇条書き判断Bモジュール160による分割結果は、この段落・箇条書き判断Aモジュール130による分割結果に対して、段落・箇条書き判断Bモジュール160によって分割処理が行われたものである。
段落・箇条書き判断Aモジュール130は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。なお、文字列とは、複数文字の場合の他に、1文字の場合も含む。
また、段落・箇条書き判断Aモジュール130は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。
処理切替モジュール140は、段落・箇条書き判断Aモジュール130、インデント解析モジュール150、判断結果出力モジュール170と接続されている。処理切替モジュール140は、行揃え判断モジュール120によって左揃えであると判断された領域の領域情報、行情報、文字情報をインデント解析モジュール150に渡す。そして、行揃え判断モジュール120によって左揃え以外であると判断された領域に対する段落・箇条書き判断Aモジュール130による分割結果(その領域の領域情報、行情報、文字情報)を判断結果出力モジュール170に渡す。なお、文字が含まれている領域は、左揃え、左揃え以外のいずれか1つに判断される。
インデント解析モジュール150は、処理切替モジュール140、段落・箇条書き判断Bモジュール160と接続されている。インデント解析モジュール150は、行揃え判断モジュール120によって左揃えであると判断された領域内の行の字下げを解析する。この処理の具体例は、図12、13の例を用いて後述する。
インデント解析モジュール150は、領域の左端からその領域内の各行の左端までの距離に基づいて、その各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析するようにしてもよい。
段落・箇条書き判断Bモジュール160は、インデント解析モジュール150、判断結果出力モジュール170と接続されている。段落・箇条書き判断Bモジュール160は、インデント解析モジュール150による解析結果に基づいて、行揃え判断モジュール120によって左揃えであると判断された領域を段落領域又は箇条書き領域に分割する。この処理の具体例は、図14、15の例を用いて後述する。
段落・箇条書き判断Bモジュール160は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及びインデント解析モジュール150による解析結果である分類の境界と段落との境界とが重なっているか否かに基づいて、領域を段落領域又は箇条書き領域に分割するようにしてもよい。
判断結果出力モジュール170は、処理切替モジュール140、段落・箇条書き判断Bモジュール160と接続されている。判断結果出力モジュール170は、行揃え判断モジュール120によって左揃え以外であると判断された領域に対する段落・箇条書き判断Aモジュール130による分割結果と行揃え判断モジュール120によって左揃えであると判断された領域に対する段落・箇条書き判断Bモジュール160による分割結果を出力する。
段落・箇条書き判断Aモジュール130による分割結果、段落・箇条書き判断Bモジュール160による分割結果のいずれかがない場合もある。したがって、判断結果出力モジュール170は、段落・箇条書き判断Aモジュール130による分割結果、段落・箇条書き判断Bモジュール160による分割結果のいずれか、又は、段落・箇条書き判断Aモジュール130による分割結果と段落・箇条書き判断Bモジュール160による分割結果の両方を出力することがある。
分割結果を出力するとは、例えば、文書データベース等の記憶装置へ文書に関する情報として書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置(例えば、翻訳処理等を行う情報処理装置)へ渡すこと等が含まれる。
なお、行揃え判断モジュール120と段落・箇条書き判断Aモジュール130は、いずれが先に処理を行うようにしてもよいし、並列して処理を行うようにしてもよい。
図2は、本実施の形態による処理例を示すフローチャートである。
ステップ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は、その領域内にある文章の方向(行方向)を記憶している。文章の方向とは、横書き、縦書き等が含まれる。また、横書きについては、右から左、左から右への方向を含めてもよい。具体的には、横書き、縦書き等を示す符号を記憶している。
行情報330は、その領域に含まれている行毎に座標情報332、文字サイズ342、文字情報344を含む。したがって、領域内に複数の行がある場合は、行情報330が複数ある。座標情報332は、その行の位置、大きさを記憶している。ここで行は矩形領域である例を示している。座標情報332は、x334、y336、height338、width340を含む。x334は、その行の左のx座標を記憶している。y336は、その行の左上座標のy座標を記憶している。height338は、その行の高さを記憶している。width340は、その行の幅を記憶している。文字サイズ342は、その行内に含まれている文字の大きさを記憶している。例えば、ポイントサイズ、ドットサイズ等がある。
文字情報344は、その行に含まれている文字に関する情報を文字毎に記憶している。したがって、行内に複数の文字がある場合は、文字情報344が複数ある。文字情報344は、文字コード346、座標情報348を含む。文字コード346は、その文字を示す文字コードと記憶している。座標情報348は、x350、y352、height354、width356を含む。ここで文字は矩形領域である例を示している。x350は、その文字の左のx座標を記憶している。y352は、その文字の左上座標のy座標を記憶している。height354は、その文字の高さを記憶している。width356は、その文字の幅を記憶している。
レイアウト情報取得モジュール110が取得する情報は、例えば、文書のレイアウト解析、文字認識、電子文書抽出の処理結果の2つ以上を統合したものである。例えば、領域情報はレイアウト解析の処理結果、行情報、文字情報は文字認識又は電子文書抽出の処理結果である。具体的には、文書をスキャンした画像を対象とした場合は、行情報、文字情報は文字認識結果であり、電子文書を対象とした場合は、文書内の文字コードを優先して取得し、文字コードがない部分には文字認識を行い、その認識結果を取得する。
図4は、レイアウト情報取得モジュール110が取得する情報の例を示す説明図である。この領域情報410内には、全体が3つの箇条書きであり、さらに最初の箇条書きには2つの箇条書き(行情報420b、420c)が含まれており、また、行情報420eに示すように、字下げが行われている行がある。
領域情報410内には、行情報420aから行情報420fまでの6個の行情報が含まれている。そして、行情報420a内には、文字情報430aから文字情報430rまでの18個の文字情報が含まれている。なお、図4の例では、行情報420b以降の行情報内の文字情報は省略しているが、各行には、それぞれ文字情報が含まれている。
ステップS204では、行揃え判断モジュール120が、判断材料となる数値統計量を算出する。ここでは、領域内の文字サイズ、行の中点座標の2つを算出する例を示す。少なくとも行の中点座標を算出し、これら以外の情報を算出するようにしてもよい。
領域内の文字サイズは、領域内の文字サイズを取得し、最頻値を算出し、領域内の代表文字サイズとする。最頻値の他に、平均値、中央値等であってもよい。この値が今後の補正や判断の処理の基準となり得る。なお、部分的に大きい文字が混在している等の対策として、最頻値を採用している。また、例えば、違う文字サイズの場合は、その文字を含む行を異なる行として分離する処理を行い、行間の文字サイズの差が予め定められた値よりも大きい場合は、領域を分離するようにして、違うサイズの文字は同じ領域には含まれないようにしてもよい。
文章方向情報に基づいて、中点座標の算出の方向を定める。具体的には、縦書きはY軸方向、横書きはX軸方向となる。ここで算出した値は、ステップS208での行揃え判断に利用する。図5は、行揃え判断モジュール120による処理例(中点座標の算出処理例)を示す説明図である。行情報420a〜行情報420fの中点は、それぞれ中点座標510a〜中点座標510fである。
ステップS206では、行揃え判断モジュール120が、言語特性に応じて情報を修正する。なお、ステップS206の処理は行わなくてもよい。例えば、行末が揃うことを規定している言語(日本語、中国語等)を対象としている場合は、ステップS206の処理は行わない。また、行末が揃うことを規定していない言語(英語、韓国語等)であるか否かを判断するようにしてもよい。この判断は、前述のように、文字コード等を用いて判断するようにしてもよい。
行末が揃うことを規定していない言語(英語、韓国語等)の場合、行末が揃わないケースがあるので、行末が揃うことを規定している言語(日本語、中国語等)と処理が同じになるように補正する。図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の右端に延長している。
ステップS208では、行揃え判断モジュール120が、行揃えを判断(左揃え、中央揃え、右揃えの判断)する。領域内の行頭・行末・中点の座標の並びにより判断する。文章方向情報が横書きの場合は、行頭の座標は行の左端のx座標、行末の座標は行の右端のx座標、中点の座標はステップS204で算出した中点の座標x座標である。図8、9、10の例は横書きの場合の説明であり、文章方向情報が縦書きの場合は、90度右回転させて同等の処理を行えばよい。また、領域内に1行だけである場合は、左揃えと判断する。
図8は、行揃え判断モジュール120によるステップS208の処理例を示すフローチャートである。
ステップS802では、行揃え判断モジュール120が、「右座標(行の右端のx座標)が揃っている」かつ「左座標(行の左端のx座標)が揃っていない」か否かを判断し、その条件を満たしている場合はステップS804へ進み、それ以外の場合はステップSステップS806へ進む。ここで「揃っているか否かの判断」は、領域座標との差を算出し、その差の分散が予め定められた値よりも小さければ、揃っていると判断する。例えば、予め定められた値として、代表文字サイズの2.5文字分としてもよい。以下のステップS806においても同様である。なお、左座標が揃っていないことを条件とするのは、文章が長方形矩形内にびっしりと埋まっているケースは「左揃え」と判断したいためである。
ステップS804では、行揃え判断モジュール120が、その領域は右揃えであると判断する。
図9の例をもって示すと、左座標と領域座標の左端座標との差である左側間隔情報940a、左側間隔情報940b、左側間隔情報940dの分散が予め定められた値よりも大きいので、「左座標が揃っていない」と判断され、各行の右座標は領域右側情報930cと一致しているので、「右座標が揃っている」と判断されることになり、ステップS804で、領域情報910は右揃えであると判断する。
ステップS806では、行揃え判断モジュール120が、「中点座標が揃っている」かつ「左座標が揃っていない」か否かを判断し、その通りである場合はステップS808へ進み、それ以外の場合はステップSステップS810へ進む。
ステップS808では、行揃え判断モジュール120が、その領域は中央揃えであると判断する。
図10の例をもって示すと、左座標と領域座標の左端座標との差である左側間隔情報1040a、左側間隔情報1040b、左側間隔情報1040dの分散が予め定められた値よりも大きいので、「左座標が揃っていない」と判断され、各行の中点座標は領域右側情報1030cと一致しているので、「中点座標が揃っている」と判断されることになり、ステップS808で、領域情報1010は中央揃えであると判断する。
ステップS810では、行揃え判断モジュール120が、その領域は左揃えであると判断する。なお、左揃えに関しては、文章中で段落がインデントされていたりすることもあるため、左座標が揃っている等の条件で判断はしていない。
なお、ステップS802、ステップS806の順番に判断しているが、逆であってもよいし、これらを組み合わせた条件として、1回の判断で区別するようにしてもよい。
ステップS210では、段落・箇条書き判断Aモジュール130が、文字列により箇条書き記号を検出する。
領域情報内の、行の先頭から予め定められた数の文字である文字列と、行末から予め定められた数の文字である文字列を比較することで、箇条書き記号を検出する。
例えば、次の条件に当てはまった場合に、箇条書き記号だと認識する。なお、同じ箇条書き記号でインデントされているケースでも検知可能なようにするため、座標情報を利用していない。ただし、座標情報を利用してもよい。
(1)予め定められた箇条書き記号が文頭にある場合
先頭の文字列が予め定められた文字列か否かで、箇条書き記号か否かを判断する。ただし、領域内に同じ記号で始まる行が複数あった場合に限り、箇条書き記号と判断する。文字認識の誤認識による分離ミスを減らすためである。
例えば、予め定められた文字列として、正規表現で表して、“[・\-−−‐―+*○☆※◎●□■◇◆△▲▼.??]”等が該当する。
(2)括弧付き箇条書き記号が文頭にある場合
先頭の文字列が括弧で囲まれているかを検出し、領域内に同じ括弧で囲まれた文字列で開始された行が複数あった場合に箇条書き記号と判断する。
例えば、予め定められた文字列として、正規表現で表して、“[((\[〔<<[]”等、終了括弧として、正規表現で表して、“[))\]〕>>]]”等が該当する。なお、この他に明細書に用いることができない括弧記号(「半角かぎかっこ」、段落番号の記載に用いられている「すみつきパーレン(ブラケット等ともいわれる)」)等を含んでいてもよい。
また、判断対象の文字数を予め定めた数に設定してもよい。例えば、先頭から4文字以内の範囲としてもよい。
(3)英数字が文頭にある、かつ条件に当てはまる場合
条件(3−1) 「最初の文字が英数字、漢数字、ローマ字」かつ「2文字目が“..−−”のいずれか」であること。さらに、前者の条件を満たす行が複数存在し、最初の文字の文字コードが連続している場合に、箇条書きと判断する。例えば、「A」「B」等、連続していれば検知されることになる。
条件(3−2) 「最初の文字より数字が連続している行」であること。そして、それを満たす行が複数存在し、数字を数値に置き換えて、その数値順に並べた際、行として隣合う数値の差が0又は1になっている場合に、箇条書きと判断する。なお、例えば、「12−1」、「12−2」等、後半の文字だけ変わることもあるので、差(最初の数字である12と12の差)が0である場合もある。
ステップS212では、段落・箇条書き判断Aモジュール130が、文末記号により段落境界を検出する。
前の行の文章が、句点やピリオド等で終了している場合、段落境界がその間にあると判断する。検知する文末列は予め定められている。
例えば、予め定められた文字列として、正規表現で表して、“..。?!?!”としてもよい。
なお、次の行で文頭字下げされていることを条件に加えてもよい。たまたま行の端で句点が配置された文章は、段落の境界ではない箇所で段落の区切りがあると判断されてしまうことを防ぐためである。
ステップS214では、段落・箇条書き判断Aモジュール130が、文字数により段落境界を検出する。
領域内の行の平均文字数が予め定められた値より小さい場合、単語が羅列されていると判断し、全ての行を単独行として分離する(各行の境界を段落境界とする)。なお、英語については、空白で区切られた単語数を対象としている。例えば、予め定められた値として、日本語、中国語、韓国語の場合は、文字数平均を8文字として、英語の場合は3単語としてもよい。ただし、条件として、1行全てが数字列を“+「.’,\$%-」”(正規表現)で構成されている場合、それは文字数に関係なく分離するようにしてもよい。罫線のない表等に対応するためである。
ステップS214では、表のセル内にある文字であるか否かを判断し、表のセル内にある文字である場合は、その文字に対してはこの処理は行わないようにしてもよい。セル内の文字が不規則に並ぶことに対応するためである。
ステップS216では、段落・箇条書き判断Aモジュール130が、文頭、文末にある記号により、段落境界を検出する。
括弧で囲まれた文章の羅列に対しての対策である。行の先頭の文字と行末の文字が対応している括弧である場合、その行は単独行と判断し、分割する(その行の境界を段落境界とする)。
例えば、予め定められた括弧の文字として、[],「」,(),「」,“”,’’があり、これらのいずれかで囲まれた行が対象をなる。
なお、ステップS210からステップS216までの処理は、いずれかの1つ以上のステップの処理であってもよい。また、ステップS210からステップS216までの処理は、この順番に行われなくてもよい。例えば、逆順であってもよいし、並列して処理が行われるようにしてもよい。また、これらの処理の代わりに、又は、これらの処理とともに先行技術文献に挙げた技術を用いるようにしてもよい。
ステップS218では、段落・箇条書き判断Aモジュール130が、箇条書き記号があると判断した行と、前行の境で分離し、段落情報とする。ステップS210からステップS216までの処理で検出した段落境界を境として、領域情報を分離し、段落情報とする。
ステップS210からステップS216までの処理で検知した情報を統合し、文章を段落情報毎に分離することを行う。箇条書き記号が検出された行は、その前に文章の区切れがあると判断して分離する。段落境界はそのままその情報を境界として利用して分離する。
この時点で、領域情報は、図11の例に示すように点線で囲われた段落情報1120a〜1120eのように、「段落領域」毎にまとめられたことになる。
ステップS220では、処理切替モジュール140が、左揃え(縦書きの場合は上揃え)か否かを判断し、左揃え(上揃え)の場合はステップS222へ進み、それ以外の場合はS228へ進む。
ステップS208で処理対象の領域情報が左揃えと判断されている場合、領域情報内の文章がインデントされているかの判断処理(ステップS222からステップS226までの処理)を加える。中央揃え、右揃えの場合は、ステップS228へ進むことになる。縦書きの場合、上揃えであればステップS222へ進み、それ以外であればステップS228へ進む。
ステップS222では、インデント解析モジュール150が、領域・行の行頭座標を利用してインデントを検出し、インデント候補を選出する。
領域の左端の座標から、その領域に含まれている行の左端の座標までの距離で、行をグループ分けする。
図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行が、インデント候補の行となる。
ステップS224では、段落・箇条書き判断Bモジュール160が、箇条書き情報でインデント候補を絞り込む。
前述のステップ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つのインデント候補とする。
そして、ステップS222で行ったインデント候補分けを行う。つまり、順番に行のグループを検査して、同じグループに分類された行が続いている場合、その複数の行を同じインデント候補とする。具体的には、インデント候補情報1310dがAグループに変更されたので、インデント候補情報1310c、インデント候補情報1310d、インデント候補情報1310eは、同じAグループであり、続いているので、これをAグループのインデント候補とする。これを領域情報1100内の行に対して適用した後の状態のインデント候補が、インデント(箇条書き領域)となる。
図14(a)の例は、図14(b)の例のようになる。つまり、領域情報1100内の第1行だけのインデント情報1410a、領域情報1100内の第2行、第3行からなるインデント情報1410b、領域情報1100内の第4行、第5行、第6行からなるインデント情報1410cの3つのインデント(箇条書き領域)となる。なお、インデント情報1410aはAグループであり、インデント情報1410bはBグループであり、インデント情報1410cはAグループである。
また、領域内の第1行と第2行との間に、インデント候補の境界があり、第1行が第2行より下がっている場合(いわゆる逆方向のインデント状態であり、具体的には、横書きの場合は第1行が第2行より右側にあり、縦書きの場合は第1行が第2行より下側にある状態)、第1行のグループを第2行のグループに変更させるようにしてもよい。これは、段落の先頭の字下げ幅が大きい場合の対策であり、第1行はインデントではないと判断すべきだからである。
ステップS226では、段落・箇条書き判断Bモジュール160が、段落情報を行末情報を利用して分割する。
段落毎に、連続している行の行末座標を比較する。後の行の行末が前の行の行末から予め定められた値より下がっている場合(横書きの場合、後の行の行末が前の行の行末よりも右側にある状態、縦書きの場合、後の行の行末が前の行の行末よりも下側にある状態)、段落の境界が比較した行の間にあるとし、段落情報を分割する。予め定められた値として、例えば、3文字以上等がある。なお、英語等の場合は行末の揃わないケースがあるが、ステップS206での修正が行われているので、このステップS226の処理をそのまま行ってもよい。
具体的に説明する。図15(a)の例に示すように、行情報1520cと行情報1520dの行末座標を比較することによって、行情報1520cの行末(行末情報1540)よりも行情報1520dの行末は予め定められた値よりも右側にあることが判明する。そこで、行情報1520cと行情報1520dの間(行境界情報1530)で、段落情報1515を分割する。図15(b)の例のように、領域情報1510内の段落情報1550aと段落情報1550bの2つの段落があることになる。
また、領域内の行数が予め定められた値よりも少ない場合、ステップS226の処理を行わないようにしてもよい。予め定められた値として、例えば、3行以内等がある。少ない行で構成されている領域は、タイトルである可能性が高い。タイトルの場合は、行末が揃っていないことが一般的であるため、このステップS226の処理を除外している。
ステップS228では、判断結果出力モジュール170が、分割結果を出力する。左揃えの領域についてはステップS222からステップS226までの処理による結果であり、左揃え以外の領域についてはステップS218の処理結果である。
前述の例では、レイアウト情報取得モジュール110が取得するレイアウト情報として、誤った文字は含まれていない場合を主に説明した。しかし、レイアウト情報取得モジュール110が取得するレイアウト情報として、文字認識結果を取得する場合がある。例えば、図16(a)に示す対象画像1610に対して構造認識、文字認識を行った結果が、図16(b)に示す認識結果1620となる。この認識結果1620に関する情報がステップS202のレイアウト情報として取得される。文字認識技術では、記号類は誤認識する場合があり、箇条書き記号や、箇条書きを表す文字列が正確に取得できないケースがある。段落・箇条書き判断Aモジュール130による処理だけでは、文字コードを参照するだけであるため、誤認識があると文章の切れ目を探すのが困難となる。本実施の形態では、インデント解析モジュール150、段落・箇条書き判断Bモジュール160による処理として、文字列の情報と行の位置情報を組み合わせて解析を行うようにしている。
図17を参照して、本実施の形態の情報処理装置のハードウェア構成例について説明する。図17に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1717と、プリンタなどのデータ出力部1718を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1701は、前述の実施の形態において説明した各種のモジュール、すなわち、レイアウト情報取得モジュール110、行揃え判断モジュール120、段落・箇条書き判断Aモジュール130、処理切替モジュール140、インデント解析モジュール150、段落・箇条書き判断Bモジュール160、判断結果出力モジュール170等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1702は、CPU1701が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1703は、CPU1701の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1704により相互に接続されている。
ホストバス1704は、ブリッジ1705を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1706に接続されている。
キーボード1708、マウス等のポインティングデバイス1709は、操作者により操作される入力デバイスである。ディスプレイ1710は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1711は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1701によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、レイアウト情報取得モジュール110が受け付けたレイアウト情報、段落・箇条書き判断Aモジュール130による処理結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ1712は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1713に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1707、外部バス1706、ブリッジ1705、及びホストバス1704を介して接続されているRAM1703に供給する。リムーバブル記録媒体1713も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1714は、外部接続機器1715を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1714は、インタフェース1707、及び外部バス1706、ブリッジ1705、ホストバス1704等を介してCPU1701等に接続されている。通信部1716は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1717は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1718は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図17に示す情報処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図17に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図17に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前述の実施の形態においては、主に横書きの場合の例を用いて説明したが、縦書きの場合は、90度回転した座標系として適用すればよい。その場合、横書きにおいて左揃えは縦書きにおいて上揃えとなり、横書きにおいて右揃えは縦書きにおいて下揃えとなり、また、行の中点とは、横書きにおいて行の横幅における中点であり、縦書きにおいて行の高さにおける中点である。
また、横書きであるか否か(又は縦書きであるか否か)をレイアウト情報取得モジュール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)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…レイアウト情報取得モジュール
120…行揃え判断モジュール
130…段落・箇条書き判断Aモジュール
140…処理切替モジュール
150…インデント解析モジュール
160…段落・箇条書き判断Bモジュール
170…判断結果出力モジュール

Claims (16)

  1. 文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
    前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、
    前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
    前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、
    前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
    前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
    を具備することを特徴とする情報処理装置。
  2. 前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は左揃えであるか否かを判断する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は左揃えであるか否かを判断する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
  5. 前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
  6. 前記解析手段は、領域の左端から該領域内の各行の左端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析する
    ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。
  7. 前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項6に記載の情報処理装置。
  8. コンピュータを、
    文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
    前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は左揃えであるか否かを判断する判断手段と、
    前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
    前記判断手段によって左揃えであると判断された領域内の行の字下げを解析する解析手段と、
    前記解析手段による解析結果に基づいて、前記判断手段によって左揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
    前記判断手段によって左揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって左揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
    として機能させるための情報処理プログラム。
  9. 文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
    前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、
    前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
    前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、
    前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
    前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
    を具備することを特徴とする情報処理装置。
  10. 前記判断手段は、対象としている言語として行末が揃うことを規定していない言語である場合には、行情報が表す行の次の行内にある文字の文字情報に基づいて、該行情報を変更した後に、行情報が表す行を含む領域は上揃えであるか否かを判断する
    ことを特徴とする請求項9に記載の情報処理装置。
  11. 前記判断手段は、前記取得手段によって取得された行情報に基づいて該行情報が表す行の中点の座標を算出し、前記領域内の行の行頭の座標、中点の座標、行末の座標のいずれか1つ以上に基づいて該領域内は上揃えであるか否かを判断する
    ことを特徴とする請求項9又は10に記載の情報処理装置。
  12. 前記第1の分割手段は、行頭又は行末にある1文字以上の文字列が、予め定められた文字列の条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項9から11のいずれか一項に記載の情報処理装置。
  13. 前記第1の分割手段は、領域内の行の文字数と予め定められた値が予め定められた条件を満たすか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項9から12のいずれか一項に記載の情報処理装置。
  14. 前記解析手段は、領域の上端から該領域内の各行の上端までの距離に基づいて、該各行を字下げしていないものと字下げしているものとに分類することによって、行の字下げを解析する
    ことを特徴とする請求項9から13のいずれか一項に記載の情報処理装置。
  15. 前記第2の分割手段は、行に含まれる文字列に予め定められた文字列が含まれているか否か、及び前記解析手段による解析結果である分類の境界と前記段落との境界とが重なっているか否かに基づいて、前記領域を段落領域及び箇条書き領域に分割する
    ことを特徴とする請求項14に記載の情報処理装置。
  16. コンピュータを、
    文書内の領域に関する情報である領域情報と、該領域内にある行に関する情報である行情報と、該行内にある文字に関する情報である文字情報を取得する取得手段と、
    前記取得手段によって取得された行情報に基づいて、該行情報が表す行を含む領域は上揃えであるか否かを判断する判断手段と、
    前記取得手段によって取得された文字情報に基づいて、該文字情報が表す文字を含む領域を段落領域及び箇条書き領域に分割する第1の分割手段と、
    前記判断手段によって上揃えであると判断された領域内の行の字下げを解析する解析手段と、
    前記解析手段による解析結果に基づいて、前記判断手段によって上揃えであると判断された領域を段落領域及び箇条書き領域に分割する第2の分割手段と、
    前記判断手段によって上揃え以外であると判断された領域に対する前記第1の分割手段による分割結果と前記判断手段によって上揃えであると判断された領域に対する前記第2の分割手段による分割結果を出力する出力手段
    として機能させるための情報処理プログラム。
JP2011270073A 2011-12-09 2011-12-09 情報処理装置及び情報処理プログラム Expired - Fee Related JP5862260B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 深圳壹账通智能科技有限公司 扫描文字分段方法、装置、计算机设备和存储介质
US11288764B2 (en) * 2019-07-01 2022-03-29 Digimarc Corporation Watermarking arrangements permitting vector graphics editing
CN113297832A (zh) * 2021-05-25 2021-08-24 北京北大方正电子有限公司 折行位置优化方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69428675T2 (de) * 1993-12-30 2002-05-08 Xerox Corp Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem
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 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US8719701B2 (en) * 2009-01-02 2014-05-06 Apple Inc. Identification of guides and gutters of a 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

Also Published As

Publication number Publication date
US9275280B2 (en) 2016-03-01
JP2013122634A (ja) 2013-06-20
CN103218352A (zh) 2013-07-24
CN103218352B (zh) 2017-11-10
US20130151953A1 (en) 2013-06-13

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
JP4996940B2 (ja) 帳票認識装置およびそのプログラム
JP6003047B2 (ja) 画像処理装置及び画像処理プログラム
US9280725B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP4834351B2 (ja) 文字認識装置及び文字認識方法
JP2009093305A (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) 情報処理装置及び情報処理プログラム
JP4347675B2 (ja) 帳票ocrプログラム、方法及び装置
JP3467437B2 (ja) 文字認識装置及びその方法とプログラム記録媒体
JP6187307B2 (ja) 画像処理装置及び画像処理プログラム
JP5949248B2 (ja) 情報処理装置及び情報処理プログラム
JP5928714B2 (ja) 情報処理装置及び情報処理プログラム
JP5888222B2 (ja) 情報処理装置及び情報処理プログラム
JP2009223391A (ja) 画像処理装置及び画像処理プログラム
JP2010039810A (ja) 画像処理装置及び画像処理プログラム
JP6409423B2 (ja) 画像処理装置及び画像処理プログラム
JP2016133888A (ja) 情報処理装置及び情報処理プログラム
JP2011061358A (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