【文献】
大西 香織、外1名,Web上の表データの論理構造の発見,DEWS2006論文集 [online],日本,電子情報通信学会データ工学研究専門委員会,2006年 6月30日,p.1−8,Internet<URL:http://www.ieice.org/iss/de/DEWS/DEWS2006/doc/2C-i5.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
前記再構成部は、前記列ヘッダーの列数と、前記データセルの列数が一致しない場合に、前記列ヘッダーの列数を前記データセルの列数に合わせて、前記データセルに含まれるテキストを前記列ヘッダーに統合して、前記表を再構成する、
請求項1又は2に記載の文書解析装置。
前記再構成部は、前記文書に含まれる目次情報に応じて選択される辞書を用いて前記表を再構成する再構成ロジックを特定し、前記再構成ロジックに従って、前記列ヘッダー、前記行ヘッダー及び前記データセルに含まれるテキストから前記表を再構成する、
請求項1から3のいずれか一項に記載の文書解析装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
有価証券報告書等の文書は、PDF(Portable Document Format)等の所定フォーマットで電子化されて公開される。ここで、有価証券報告書等には、決算情報をまとめた表や貸借対照表等の様々な表が含まれ、それらの記載内容が正確であるか確認する必要がある。
【0005】
しかしながら、所定フォーマットで電子化された文書に含まれる表は、電子文書を生成するソフトウェアに依存した形式となっており、形式が一定しないため、既存の文字認識技術では正確な読み取りが困難である。また、表の体裁に制限はなく、罫線の有無やセルの区切り方が様々であるため、正確な読み取りが困難である。
【0006】
そこで、本発明は、所定フォーマットで電子化された文書に含まれる表の内容を、より正確に読み取ることができる文書解析装置、文書解析方法及び文書解析プログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一態様に係る文書解析装置は、所定フォーマットで電子化された文書を取得する取得部と、文書に含まれる表の位置情報に基づいて、表に含まれる複数のセルを特定する特定部と、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類する第1分類部と、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、複数行のテキストを文字の行又は数値の行に分類する第2分類部と、文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成する再構成部と、を備える。
【0008】
この態様によれば、所定フォーマットで電子化された文書に、1つのセルに複数行のテキストが含まれる表が記載されている場合に、当該複数行のテキストを行毎に分割することで、表における対応関係が正しく反映されたより解析しやすい表を再構成することができる。これにより、所定フォーマットで電子化された文書に含まれる表の内容を、より正確に読み取ることができる。
【0009】
上記態様において、再構成部は、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、表を再構成してもよい。
【0010】
この態様によれば、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、列ヘッダーに単一行のセルが含まれるように再構成することで、文書に含まれる表の内容を、より正確に読み取ることができるようになる。
【0011】
上記態様において、再構成部は、列ヘッダーの列数と、データセルの列数が一致しない場合に、列ヘッダーの列数をデータセルの列数に合わせて、データセルに含まれるテキストを列ヘッダーに統合して、表を再構成してもよい。
【0012】
この態様によれば、列ヘッダーの列数と、データセルの列数が一致しない場合に、列ヘッダーの列数を増やして、データセルに含まれるテキストを列ヘッダーに統合するように再構成することで、文書に含まれる表の内容を、より正確に読み取ることができるようになる。
【0013】
上記態様において、再構成部は、文書に含まれる目次情報に応じて選択される辞書を用いて表を再構成する再構成ロジックを特定し、再構成ロジックに従って、列ヘッダー、行ヘッダー及びデータセルに含まれるテキストから表を再構成してもよい。
【0014】
この態様によれば、文書に定型的に含まれる表について、予め用意した再構成ロジックに従って表を再構成することができ、文書に含まれる表の内容を、より正確に読み取ることができるようになる。
【0015】
上記態様において、辞書は、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかに対応していてよい。
【0016】
この態様によれば、有価証券報告書等に含まれる決算情報をまとめた表や貸借対照表を再構成することができ、より正確に読み取ることができるようになる。
【0017】
上記態様において、文書は、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかであり、再構成された表に基づいて、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかに不備があるか判定する判定部をさらに備えていてもよい。
【0018】
この態様によれば、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信に記載された内容をより正確に読み取り、正確な情報開示を担保することができる。
【0019】
本発明の他の態様に係る文書解析方法は、所定フォーマットで電子化された文書を取得することと、文書に含まれる表の位置情報に基づいて、表に含まれる複数のセルを特定することと、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類することと、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、複数行のテキストを文字の行又は数値の行に分類することと、文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成することと、を含む。
【0020】
この態様によれば、所定フォーマットで電子化された文書に、1つのセルに複数行のテキストが含まれる表が記載されている場合に、当該複数行のテキストを行毎に分割することで、表における対応関係が正しく反映されたより解析しやすい表を再構成することができる。これにより、所定フォーマットで電子化された文書に含まれる表の内容を、より正確に読み取ることができる。
【0021】
本発明の他の態様に係る文書解析プログラムは、文書解析装置に備えられた演算部を、所定フォーマットで電子化された文書を取得する取得部、文書に含まれる表の位置情報に基づいて、表に含まれる複数のセルを特定する特定部、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類する第1分類部、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、複数行のテキストを文字の行又は数値の行に分類する第2分類部、及び文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成する再構成部、として機能させる。
【0022】
この態様によれば、所定フォーマットで電子化された文書に、1つのセルに複数行のテキストが含まれる表が記載されている場合に、当該複数行のテキストを行毎に分割することで、表における対応関係が正しく反映されたより解析しやすい表を再構成することができる。これにより、所定フォーマットで電子化された文書に含まれる表の内容を、より正確に読み取ることができる。
【発明の効果】
【0023】
本発明によれば、所定フォーマットで電子化された文書に含まれる表の内容を、より正確に読み取ることができる文書解析装置、文書解析方法及び文書解析プログラムを提供することができる。
【発明を実施するための形態】
【0025】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【0026】
図1は、本発明の実施形態に係る文書解析装置10の機能ブロックを示す図である。文書解析装置10は、所定フォーマットで電子化された文書(本実施形態ではPDF文書)に含まれる表を解析し、内容の照合が容易となるように表を再構成する。本実施形態では、PDF文書は、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかである。
【0027】
文書解析装置10は、取得部11、特定部12、第1分類部13、第2分類部14、再構成部15及び判定部16を備える。
【0028】
取得部11は、ユーザ端末20及び開示書類サーバ30から所定フォーマットで電子化された文書を取得する。ユーザ端末20は、例えば、開示書類を作成する企業が用いる汎用のコンピュータである。取得部11は、ユーザ端末20から有価証券報告書等のPDF文書を取得し、PDF文書に含まれる表を再構成して、内容の正誤を判定する。また、開示書類サーバ30は、過去に開示された有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信を少なくとも記憶するサーバである。取得部11は、例えば、開示書類サーバ30から過去に開示された有価証券報告書等のPDF文書を取得し、PDF文書に含まれる表を再構成して、ユーザ端末20から取得されたPDF文書に記載された過去のデータとの整合性を判定する。
【0029】
特定部12は、文書に含まれる表の位置情報に基づいて、表に含まれる複数のセルを特定する。特定部12は、PDF文書に含まれる線オブジェクトの始点座標及び終点座標と、複数の線オブジェクトの交点座標とに基づいて、表の位置情報を算出し、4つの交点で囲まれた領域を1つのセルとして特定する。
【0030】
第1分類部13は、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類する。第1分類部13は、表中の最も左上に位置するセルを基準セルとして、基準セルと同じ行に並ぶ複数のセルを列ヘッダーに分類し、基準セルと同じ列に並ぶ複数のセルを行ヘッダーに分類し、他のセルをデータセルに分類する。
【0031】
第2分類部14は、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、当該複数行のテキストを文字の行又は数値の行に分類する。ここで、数値の行は、0から9までの数字と、「¥」、「,」、「+」、「−」及び「△」等の所定の記号とのみを含む行であり、文字の行は、それ以外の文字を含む行である。
【0032】
再構成部15は、第2分類部14により分類された文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成する。このように、PDF文書に、1つのセルに複数行のテキストが含まれる表が記載されている場合に、当該複数行のテキストを行毎に分割することで、表における対応関係が正しく反映されたより解析しやすい表を再構成することができる。これにより、文書に含まれる表の内容を、より正確に読み取ることができる。第2分類部14によるテキスト分類及び再構成部15による表の再構成の例は、後に
図3及び4を用いて詳細に説明する。
【0033】
再構成部15は、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、表を再構成してもよい。このように、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、列ヘッダーに単一行のセルが含まれるように再構成することで、文書に含まれる表の内容を、より正確に読み取ることができるようになる。このような再構成部15による表の再構成の例は、後に
図5及び6を用いて詳細に説明する。
【0034】
再構成部15は、列ヘッダーの列数と、データセルの列数が一致しない場合に、列ヘッダーの列数をデータセルの列数に合わせて、データセルに含まれるテキストを列ヘッダーに統合して、表を再構成してもよい。このように、列ヘッダーの列数と、データセルの列数が一致しない場合に、列ヘッダーの列数を増やして、データセルに含まれるテキストを列ヘッダーに統合するように再構成することで、文書に含まれる表の内容を、より正確に読み取ることができるようになる。このような再構成部15による表の再構成の例は、後に
図7及び8を用いて詳細に説明する。
【0035】
再構成部15は、文書に含まれる目次情報に応じて選択される辞書を用いて表を再構成する再構成ロジックを特定し、再構成ロジックに従って、列ヘッダー、行ヘッダー及びデータセルに含まれるテキストから表を再構成してもよい。辞書は、キーが目次情報の項目名であり、バリューが再構成ロジックを特定する情報であってよい。これにより、PDF文書に定型的に含まれる表について、予め用意した再構成ロジックに従って表を再構成することができ、文書に含まれる表の内容を、より正確に読み取ることができるようになる。
【0036】
ここで、辞書は、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかに対応していてよい。これにより、有価証券報告書等に含まれる決算情報をまとめた表や貸借対照表を再構成することができ、より正確に読み取ることができるようになる。
【0037】
判定部16は、再構成された表に基づいて、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかに不備があるか判定する。ここで、不備とは、記載された数値が単一の文書内で整合していないことであったり、記載された数値が複数の文書間で整合していないことであったり、記載された氏名が誤っていることであったりを含む。判定部16は、例えば、有価証券報告書に含まれる複数の表について、再構成された複数の表に基づいて、複数の表に記載された数値を照合し、不整合が存在しないか判定してよい。このようにして、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信に記載された内容をより正確に読み取り、正確な情報開示を担保することができる。
【0038】
図2は、本実施形態に係る文書解析装置10の物理的構成を示す図である。文書解析装置10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では文書解析装置10が一台のコンピュータで構成される場合について説明するが、文書解析装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、
図3で示す構成は一例であり、文書解析装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
【0039】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、PDF文書に含まれる表を再構成するプログラム(文書解析プログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0040】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム、PDF文書といったデータを記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0041】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば文書解析プログラムや、書き換えが行われないデータを記憶してよい。
【0042】
通信部10dは、文書解析装置10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0043】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0044】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、PDF文書や再構成された表を表示してよい。
【0045】
文書解析プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。文書解析装置10では、CPU10aが文書解析プログラムを実行することにより、
図1を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、文書解析装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0046】
図3は、本実施形態に係る文書解析装置10により取得されるPDF文書に含まれる表の第1例T1を示す図である。表の第1例T1は、四半期連結損益計算書の一部を示したものである。
【0047】
表の第1例T1は、列ヘッダーとして「利益」及び「金額」を含み、行ヘッダーとして「報告セグメント計」、「当社とセグメントとの取引消去額」、「会社費用(注)」、「その他」及び「四半期連結損益計算書の営業利益」を含む。そして、データセルには、「報告セグメント計」に対応する金額である「1,034,247」、「当社とセグメントとの取引消去額」に対応する金額である「799,168」、「会社費用(注)」に対応する金額である「△696,937」、「その他」に対応する金額である「1」及び「四半期連結損益計算書の営業利益」に対応する金額である「1,136,479」が記載されている。
【0048】
表の第1例T1のように、行ヘッダー及びデータセルに複数行のテキストが含まれる場合、行ヘッダーに記載された項目名と、データセルに記載された数値との対応関係が正しく読み取れない場合がある。
【0049】
本実施形態に係る文書解析装置10の第2分類部14は、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、複数行のテキストを文字の行又は数値の行に分類する。表の第1例T1の場合、隣接する行ヘッダー及びデータセルには、それぞれ4行のテキストが含まれ、行数が一致するため、第2分類部14は、複数行のテキストを文字の行又は数値の行に分類する。具体的には、第2分類部14は、行ヘッダーに含まれる4行のテキストを文字の行に分類し、データセルに含まれる4行のテキストを数値の行に分類する。
【0050】
なお、数値は折り返して記載しないことが通常であるから、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致しない場合、いずれかのセルに記載された文字が折り返して記載されている蓋然性が高く、文書解析装置10は、行罫線に従ってデータセルの内容を読み取ればよい。
【0051】
そして、再構成部15は、文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成する。表の第1例T1の場合、文字の行が4行であり、数値の行が4行であり、数値の行は全体の半分であるから、再構成部15は、複数行のテキストを行毎に分割して、表を再構成する。
【0052】
なお、再構成部15は、文字の行及び数値の行のうち数値の行が半分以上であるか否かを、行罫線で区切られた一行のセル毎に判定し、一行のセル毎に表を再構成してよい。これにより、一つの表の中に行ヘッダー及びデータセルに複数行のテキストが含まれる箇所と、行ヘッダー及びデータセルに一行のテキストが含まれる箇所とが混在する場合であっても、適切に表を再構成することができる。
【0053】
図4は、本実施形態に係る文書解析装置10によって再構成された表の第1例RT1を示す図である。再構成された表の第1例RT1は、再構成部15によって表の第1例T1を再構成した例である。
【0054】
再構成された表の第1例RT1では、「報告セグメント計」に対応する金額である「1,034,247」、「当社とセグメントとの取引消去額」に対応する金額である「799,168」、「会社費用(注)」に対応する金額である「△696,937」及び「その他」に対応する金額である「1」が、それぞれ項目との対応関係が明らかな形式で記載されている。
【0055】
このように、本実施形態に係る文書解析装置10によれば、1つのセルに複数行のテキストが含まれる表が記載されている場合に、当該複数行のテキストを行毎に分割することで、表における対応関係が正しく反映されたより解析しやすい表を再構成することができる。
【0056】
図5は、本実施形態に係る文書解析装置10により取得されるPDF文書に含まれる表の第2例T2を示す図である。表の第2例T2は、売上高等の四半期推移を示したものである。
【0057】
表の第2例T2は、列ヘッダーとして「29年6月期」について「第4四半期」と、「30年6月期」について「第1四半期」、「第2四半期」及び「第3四半期」を含む。また、行ヘッダーとして「売上高」、「営業利益」及び「営業利益率(%)」を含む。そして、データセルには、四半期毎に、「売上高」、「営業利益」及び「営業利益率(%)」の数値が記載されている。
【0058】
表の第2例T2のように、列ヘッダーに複数行のセルが含まれる場合、列ヘッダーの内容が正しく読み取れない場合がある。
【0059】
本実施形態に係る文書解析装置10の再構成部15は、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、表を再構成する。表の第2例T2の場合、列ヘッダーに2行のセルが含まれるから、再構成部15は、列ヘッダーの複数行のセルに含まれるテキストを列毎に統合して、表を再構成する。
【0060】
図6は、本実施形態に係る文書解析装置10によって再構成された表の第2例RT2を示す図である。再構成された表の第2例RT2は、再構成部15によって表の第2例T2を再構成した例である。
【0061】
再構成された表の第2例RT2では、列ヘッダーに「29年6月期 第4四半期」、「30年6月期 第1四半期」、「30年6月期 第2四半期」及び「30年6月期 第3四半期」という単一行のセルしか含まれず、列ヘッダーの内容が明らかな形式で記載されている。
【0062】
このように、本実施形態に係る文書解析装置10によれば、列ヘッダーに複数行のセルが含まれる場合に、複数行のセルに含まれるテキストを列毎に統合して、列ヘッダーに単一行のセルが含まれるように再構成することができ、表の内容をより正確に読み取ることができるようになる。
【0063】
図7は、本実施形態に係る文書解析装置10により取得されるPDF文書に含まれる表の第3例T3を示す図である。表の第3例T3は、通期における売上高等の金額と前年からの変化率を示したものである。
【0064】
表の第3例T3は、列ヘッダーとして「売上高」、「営業利益」、「経常利益」、「親会社株主に帰属する当期純利益」及び「1株当たり当期純利益」を含む。また、行ヘッダーとして「通期」を含む。そして、データセルには、「売上高」に対応する金額(単位は百万円)及び変化率(単位は%)と、「営業利益」に対応する金額(単位は百万円)及び変化率(単位は%)と、「経常利益」に対応する金額(単位は百万円)及び変化率(単位は%)と、「親会社株主に帰属する当期純利益」に対応する金額(単位は百万円)及び変化率(単位は%)と、「1株当たり当期純利益」に対応する金額(単位は円、銭)が記載されている。
【0065】
表の第3例T3のように、列ヘッダーの列数と、データセルの列数が一致しない場合、
列ヘッダーに記載された項目名と、データセルに記載された数値との対応関係が正しく読み取れず、データセルの内容が正しく読み取れない場合がある。
【0066】
本実施形態に係る文書解析装置10の再構成部15は、列ヘッダーの列数をデータセルの列数に合わせて、データセルに含まれるテキストを列ヘッダーに統合して、表を再構成する。より具体的には、再構成部15は、データセルの1行目に含まれるテキストを列ヘッダーに統合して、表を再構成する。
【0067】
図8は、本実施形態に係る文書解析装置10によって再構成された表の第3例RT3を示す図である。再構成された表の第3例RT3は、再構成部15によって表の第3例T3を再構成した例である。
【0068】
再構成された表の第3例RT3は、列ヘッダーの列数が9列であり、列ヘッダーは、「売上高 百万円」、「売上高 %」、「営業利益 百万円」、「営業利益 %」、「経常利益 百万円」、「経常利益 %」、「親会社株主に帰属する当期純利益 百万円」、「親会社株主に帰属する当期純利益 %」及び「1株当たり当期純利益」という項目を含む。そして、データセルは、金額及び変化率を表す数値のみ含む。
【0069】
このように、本実施形態に係る文書解析装置10によれば、列ヘッダーの列数と、データセルの列数が一致しない場合に、列ヘッダーの列数を増やして、データセルに含まれるテキストを列ヘッダーに統合するように再構成することができ、表の内容をより正確に読み取ることができるようになる。
【0070】
図9は、本実施形態に係る文書解析装置10により取得されるPDF文書に含まれる表の第4例T4を示す図である。表の第4例T4は、貸借対照表の資産の部の一部を示したものである。
【0071】
表の第4例T4は、列ヘッダーとして「前連結会計年度 (平成29年6月30日)」及び「当四半期連結会計期間 (平成30年3月31日)」を含み、行ヘッダーとして「資産の部」、「流動資産」、「現金及び預金」、「受取手形及び売掛金」、「仕掛品」、「原材料及び貯蔵品」、「繰延税金資産」、「その他」及び「流動資産合計」を含む。データセルには、行ヘッダーに記載された複数の項目それぞれについて、列ヘッダーに記載された期間における金額が記載されている。
【0072】
表の第4例T4のように、有価証券報告書等の開示書類に定型的に含まれる表の場合、予め再構成ロジックを用意して、表の内容を再構成することで、表の読み取り精度を向上させることができる場合がある。
【0073】
本実施形態に係る文書解析装置10の再構成部15は、PDF文書に含まれる目次情報に応じて選択される辞書を用いて表を再構成する再構成ロジックを特定し、再構成ロジックに従って、列ヘッダー、行ヘッダー及びデータセルに含まれるテキストから表を再構成する。ここで、辞書は、有価証券報告書、四半期報告書、通期決算短信及び四半期決算短信のいずれかに対応していてよい。例えば、表の第4例T4の場合、再構成部15は、目次情報に応じて貸借対照表の再構成に用いる再構成ロジックを特定し、再構成ロジックに従って、列ヘッダー、行ヘッダー及びデータセルに含まれるテキストから表を再構成する。なお、表の第4例T4のように、罫線ではなく色分けによってセルを区切る表の場合、文書解析装置10は、色の境界線を線オブジェクトとして抽出してよい。
【0074】
図10は、本実施形態に係る文書解析装置10によって再構成された表の第4例RT4を示す図である。再構成された表の第4例RT4は、再構成部15によって表の第4例T4を再構成した例である。
【0075】
再構成された表の第4例RT4は、行ヘッダーとして「流動資産 現金及び預金」、「流動資産 受取手形及び売掛金」、「流動資産 仕掛品」、「流動資産 原材料及び貯蔵品」、「流動資産 繰延税金資産」、「流動資産 その他」及び「流動資産 合計」を含み、行ヘッダー及び列ヘッダーによって1つのデータセルが特定されるように再構成されている。
【0076】
このように、本実施形態に係る文書解析装置10によれば、有価証券報告書等に含まれる決算情報をまとめた表や貸借対照表について、予め用意した再構成ロジックに従って表を再構成することができ、表の内容をより正確に読み取ることができるようになる。
【0077】
図11は、本実施形態に係る文書解析装置10により実行される文書解析処理の第1フローチャートを示す図である。はじめに、文書解析装置10は、PDF文書を取得し、目次情報を作成する(S10)。文書解析装置10は、PDF文書の目次ページから目次情報を作成してもよいし、PDF文書に含まれるしおり情報に基づいて目次情報を作成してもよい。
【0078】
次に、文書解析装置10は、PDF文書からテキストオブジェクト及び線オブジェクトを抽出し(S11)、隣接する線オブジェクトの集合を表とし、目次情報に含まれる項目に紐付ける(S12)。なお、表に対応する目次情報の項目が存在しない場合、紐付けは行われなくてよい。その後、文書解析装置10は、線オブジェクトの4つの交点に囲まれた領域をセルとし、座標情報を用いてセルと文字を紐付ける(S13)。
【0079】
文書解析装置10は、表に対応する辞書が存在する場合(S14:YES)、辞書を用いて再構成ロジックを特定し、再構成ロジックに従って、セルに含まれるテキストから表を再構成する(S15)。
【0080】
その後、文書解析装置10は、再構成された表に基づいて、文書に不備があるか判定する(S16)。なお、文書に不備がある場合、文書解析装置10は、文書に不備があること、不備が検出された箇所を表示してよい。
【0081】
図12は、本実施形態に係る文書解析装置10により実行される文書解析処理の第2フローチャートを示す図である。第2フローチャートは、第1フローチャートにおいて、表に対応する辞書が存在しないと判定された場合(S14:NO)に実行される処理である。
【0082】
はじめに、文書解析装置10は、表中の最も左上に位置するセルを起点として、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類する(S20)。そして、列ヘッダーに複数行のセルが含まれる場合(S21:YES)、文書解析装置10は、複数行のセルに含まれるテキストを列毎に統合して、表を再構成する(S22)。
【0083】
また、列ヘッダーの列数と、データセルの列数が一致しない場合(S23:NO)、文書解析装置10は、列ヘッダーの列数をデータセルの列数に合わせて、データセルに含まれるテキストを列ヘッダーに統合して、表を再構成する(S24)。
【0084】
その後、文書解析装置10は、列ヘッダーを除いた残りのセルから1行抽出し(S25)、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致し、数値の行が半分以上であるか判定する(S26)。隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致し、数値の行が半分以上である場合(S26:YES)、文書解析装置10は、複数行のテキストを行毎に分割して、表を再構成する(S27)。一方、隣接するセルにそれぞれ複数行のテキストが含まれないか、行数が一致しないか、数値の行が半分以上でない場合(S26:NO)、文書解析装置10は、複数行のテキストを1行に結合して表を再構成する(S28)。
【0085】
文書解析装置10は、抽出した行が最終行でなければ(S29:NO)、さらに1行抽出し(S25)、処理S26〜S28を実行する。一方、抽出した行が最終行であれば(S29:YES)、文書解析装置10は、再構成された表に基づいて、文書に不備があるか判定する(S30)。なお、文書に不備がある場合、文書解析装置10は、文書に不備があること、不備が検出された箇所を表示してよい。
【0086】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【解決手段】文書解析装置10は、所定フォーマットで電子化された文書を取得する取得部11と、文書に含まれる表の位置情報に基づいて、表に含まれる複数のセルを特定する特定部12と、複数のセルを、列ヘッダー、行ヘッダー及びデータセルに分類する第1分類部13と、隣接するセルにそれぞれ複数行のテキストが含まれ、行数が一致する場合に、複数行のテキストを文字の行又は数値の行に分類する第2分類部14と、文字の行及び数値の行のうち数値の行が半分以上である場合に、複数行のテキストを行毎に分割して、表を再構成する再構成部15と、を備える。