JP2017102587A - 情報処理装置、画像読み取り装置、画像形成装置、および、プログラム - Google Patents
情報処理装置、画像読み取り装置、画像形成装置、および、プログラム Download PDFInfo
- Publication number
- JP2017102587A JP2017102587A JP2015233805A JP2015233805A JP2017102587A JP 2017102587 A JP2017102587 A JP 2017102587A JP 2015233805 A JP2015233805 A JP 2015233805A JP 2015233805 A JP2015233805 A JP 2015233805A JP 2017102587 A JP2017102587 A JP 2017102587A
- Authority
- JP
- Japan
- Prior art keywords
- column
- heading
- row
- correspondence
- range
- 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.)
- Pending
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できるようにする。【解決手段】(A)、(B)に示すように、行(列)情報取得部が、各表の行情報および列情報を取得する。次いで、(B)、(C)に示すように、セル内文字取得部が、各セルに含まれる文字を取得する。その後、(D)、(E)に示すように、見出しセル比較部が、旧表の各列の見出しと新表の各列の見出しとの比較を行い、旧表の各列と新表の各列との対応関係を把握する。【選択図】図4
Description
本発明は、情報処理装置、画像読み取り装置、画像形成装置、および、プログラムに関する。
特許文献1には、元文書の単語テーブルおよび新文書の単語テーブルを比較し、削除および挿入を抽出して差分テーブルに登録する差分検出部を備えた文書処理装置が開示されている。
特許文献2には、比較結果ファイルと元ファイルとは、同じ行番号に同じ情報が設定され、比較結果ファイルを見れば、元ファイルの変更箇所を一見して把握できる技術が開示されている。
特許文献2には、比較結果ファイルと元ファイルとは、同じ行番号に同じ情報が設定され、比較結果ファイルを見れば、元ファイルの変更箇所を一見して把握できる技術が開示されている。
2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する場合、例えば、表を構成する各セルの内容に基づいてこの対応関係を把握できる。しかしながら、各セルの内容は変更されることも多く、セルの内容に基づく対応関係の把握は、把握精度が低下しやすい。
本発明の目的は、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できるようにすることにある。
本発明の目的は、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できるようにすることにある。
請求項1に記載の発明は、行および列を有する表の列見出しおよび/または行見出しの内容を取得する内容取得手段と、第1の表に含まれる各列および/または各行と、当該第1の表とは異なる第2の表に含まれる各列および/または各行との対応関係を、前記内容取得手段により取得された内容に基づき把握する対応関係把握手段と、を備える情報処理装置である。
請求項2に記載の発明は、前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段を更に備える請求項1に記載の情報処理装置である。
請求項3に記載の発明は、前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段を更に備える請求項1又は2に記載の情報処理装置である。
請求項4に記載の発明は、前記第1の表および前記第2の表の各々における前記列見出しの範囲および/または前記行見出しの範囲を特定する見出し範囲特定手段を更に備える請求項1乃至3の何れかに記載の情報処理装置である。
請求項5に記載の発明は、前記見出し範囲特定手段は、複数の特定手法を用いて、見出し範囲の特定を行うことを特徴とする請求項4に記載の情報処理装置である。
請求項6に記載の発明は、前記第1の表および前記第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定する見出し有無判定手段を更に備え、前記対応関係把握手段は、前記見出し有無判定手段によって見出しが無いと判定された場合、前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握することを特徴とする請求項1に記載の情報処理装置である。
請求項7に記載の発明は、前記見出し有無判定手段は、前記第1の表および前記第2の表の各々に含まれるセルに格納された情報の類似性に基づき、当該第1の表および当該第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定することを特徴とする請求項6に記載の情報処理装置である。
請求項8に記載の発明は、行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、を備える画像読み取り装置である。
請求項9に記載の発明は、行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段と、前記差異検出手段による検出結果を示す画像を記録材に形成する画像形成手段と、を備える画像形成装置である。
請求項10に記載の発明は、行および列を有する表の列見出しおよび/または行見出しの内容を取得する内容取得機能と、第1の表に含まれる各列および/または各行と、当該第1の表とは異なる第2の表に含まれる各列および/または各行との対応関係を、前記内容取得機能により取得された内容に基づき把握する対応関係把握機能と、をコンピュータに実現させるためのプログラムである。
請求項2に記載の発明は、前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段を更に備える請求項1に記載の情報処理装置である。
請求項3に記載の発明は、前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段を更に備える請求項1又は2に記載の情報処理装置である。
請求項4に記載の発明は、前記第1の表および前記第2の表の各々における前記列見出しの範囲および/または前記行見出しの範囲を特定する見出し範囲特定手段を更に備える請求項1乃至3の何れかに記載の情報処理装置である。
請求項5に記載の発明は、前記見出し範囲特定手段は、複数の特定手法を用いて、見出し範囲の特定を行うことを特徴とする請求項4に記載の情報処理装置である。
請求項6に記載の発明は、前記第1の表および前記第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定する見出し有無判定手段を更に備え、前記対応関係把握手段は、前記見出し有無判定手段によって見出しが無いと判定された場合、前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握することを特徴とする請求項1に記載の情報処理装置である。
請求項7に記載の発明は、前記見出し有無判定手段は、前記第1の表および前記第2の表の各々に含まれるセルに格納された情報の類似性に基づき、当該第1の表および当該第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定することを特徴とする請求項6に記載の情報処理装置である。
請求項8に記載の発明は、行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、を備える画像読み取り装置である。
請求項9に記載の発明は、行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段と、前記差異検出手段による検出結果を示す画像を記録材に形成する画像形成手段と、を備える画像形成装置である。
請求項10に記載の発明は、行および列を有する表の列見出しおよび/または行見出しの内容を取得する内容取得機能と、第1の表に含まれる各列および/または各行と、当該第1の表とは異なる第2の表に含まれる各列および/または各行との対応関係を、前記内容取得機能により取得された内容に基づき把握する対応関係把握機能と、をコンピュータに実現させるためのプログラムである。
本発明の請求項1によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項2によれば、2つの表の差異を検出できるようになる。
本発明の請求項3によれば、列見出しや行見出しが無い場合でも、一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握できるようになる。
本発明の請求項4によれば、見出し範囲の特定を行わずに、内容取得手段による見出しの内容の取得が行われる場合に比べ、見出しの内容の取得をより精度良く行えるようになる。
本発明の請求項5によれば、1つの特定手法を用いて見出し範囲の特定を行う場合に比べ、見出し範囲の特定精度を上げることができる。
本発明の請求項6によれば、列見出しや行見出しが無い場合でも、一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握できるようになる。
本発明の請求項7によれば、2つの表の各々に含まれるセルに格納された情報の類似性を利用して、2つの表の各々に、列見出しおよび/または行見出しが有るか否かを判定できる。
本発明の請求項8によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項9によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項10によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項2によれば、2つの表の差異を検出できるようになる。
本発明の請求項3によれば、列見出しや行見出しが無い場合でも、一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握できるようになる。
本発明の請求項4によれば、見出し範囲の特定を行わずに、内容取得手段による見出しの内容の取得が行われる場合に比べ、見出しの内容の取得をより精度良く行えるようになる。
本発明の請求項5によれば、1つの特定手法を用いて見出し範囲の特定を行う場合に比べ、見出し範囲の特定精度を上げることができる。
本発明の請求項6によれば、列見出しや行見出しが無い場合でも、一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握できるようになる。
本発明の請求項7によれば、2つの表の各々に含まれるセルに格納された情報の類似性を利用して、2つの表の各々に、列見出しおよび/または行見出しが有るか否かを判定できる。
本発明の請求項8によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項9によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
本発明の請求項10によれば、表を構成する各セルの内容に基づいて対応関係を把握する場合に比べ、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係をより精度よく把握できる。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施形態に係る画像形成装置10を示した図である。
図1に示すように、画像形成装置10を構成する各機能部は、バス101に接続され、このバス101を介してデータの授受を行う。
操作部106は、ユーザの操作を受け付ける。操作部106は、例えば、ハードウェアキーにより構成される。また、例えば、押圧された位置に応じた制御信号を出力するタッチパネルにより構成される。
図1は、本実施形態に係る画像形成装置10を示した図である。
図1に示すように、画像形成装置10を構成する各機能部は、バス101に接続され、このバス101を介してデータの授受を行う。
操作部106は、ユーザの操作を受け付ける。操作部106は、例えば、ハードウェアキーにより構成される。また、例えば、押圧された位置に応じた制御信号を出力するタッチパネルにより構成される。
表示部107は、例えば液晶ディスプレイにより構成され、制御部60の制御の下、画像形成装置10に関するデータを表示する。また、表示部107は、ユーザが画像形成装置10を操作する際にユーザが参照するメニュー画面を表示する。
画像読み取り手段の一例としての画像読み取り部108は、いわゆるスキャナ装置により構成され、セットされた原稿上の画像を読み取り、読み取り画像(画像データ)を生成する。
画像読み取り手段の一例としての画像読み取り部108は、いわゆるスキャナ装置により構成され、セットされた原稿上の画像を読み取り、読み取り画像(画像データ)を生成する。
画像形成手段の一例としての画像形成部109は、例えば電子写真方式を用い、画像データに応じたトナー像を、記録材の一例である用紙に形成する。なお、画像形成部109では、インクジェットヘッド方式などの他の方式を用いて画像形成を行ってもよい。
通信部110は、通信回線(不図示)に接続され、通信回線に接続されている他の装置との通信を行う通信インターフェースとして機能する。
通信部110は、通信回線(不図示)に接続され、通信回線に接続されている他の装置との通信を行う通信インターフェースとして機能する。
画像処理部111は、画像データが表す画像に色補正や階調補正等の画像処理を施す。
制御部60は、画像形成装置10の各部を制御する。制御部60は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)により構成される。
制御部60は、画像形成装置10の各部を制御する。制御部60は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)により構成される。
情報処理装置の一例としての差異検出装置200は、2つの表(後述)の差異を検出する。
差異検出装置200は、CPU(Central Processing Unit)102、ROM(Read Only Memory)103、RAM(Random Access Memory)104により構成される。さらに差異検出装置200は、ハードディスク装置などにより構成される記憶部105を備える。
ROM103は、CPU102により実行されるプログラムを記憶する。CPU102は、ROM103に記憶されているプログラムを読み出し、RAM104を作業エリアにして、プログラムを実行する。
差異検出装置200は、CPU(Central Processing Unit)102、ROM(Read Only Memory)103、RAM(Random Access Memory)104により構成される。さらに差異検出装置200は、ハードディスク装置などにより構成される記憶部105を備える。
ROM103は、CPU102により実行されるプログラムを記憶する。CPU102は、ROM103に記憶されているプログラムを読み出し、RAM104を作業エリアにして、プログラムを実行する。
ここで、CPU102によって実行されるプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で、差異検出装置200へ提供し得る。また、CPU102によって実行されるプログラムは、インターネットなどの通信手段を用いて差異検出装置200にダウンロードしてもよい。
図2(A)、(B)は、差異検出装置200の機能ブロックを示した図である。
図2(A)に示す差異検出装置200は、行(列)情報取得部201、セル内文字取得部202、見出しセル比較部204、結果出力部206、差異検出部207を備える。
図2(B)に示す差異検出装置200は、さらに、見出し範囲特定部203、全セル比較部205を備える。
図2(A)に示す差異検出装置200は、行(列)情報取得部201、セル内文字取得部202、見出しセル比較部204、結果出力部206、差異検出部207を備える。
図2(B)に示す差異検出装置200は、さらに、見出し範囲特定部203、全セル比較部205を備える。
行(列)情報取得部201は、差異検出装置200に入力された表を取得する。より具体的には、行(列)情報取得部201は、列および行により構成された表を取得する。
より具体的には、行(列)情報取得部201は、内容が変更される前の表(第1の表の一例)(以下、「旧表」と称する)と、内容が変更された後の表(第2の表の一例)(内容が変更された可能性がある表)(以下、「新表」と称する)とを取得する。
また、行(列)情報取得部201は、表構造解析を行い、旧表および新表のそれぞれについて、行(列)の数などの情報などを取得する。ここで、表構造解析は、公知の技術を用いる。なお、旧表や新表が電子データであり、この電子データ内に表構造情報が含まれている場合は、電子データからこの表構造情報を取得して、行(列)の数などの情報を取得するようにしてもよい。
より具体的には、行(列)情報取得部201は、内容が変更される前の表(第1の表の一例)(以下、「旧表」と称する)と、内容が変更された後の表(第2の表の一例)(内容が変更された可能性がある表)(以下、「新表」と称する)とを取得する。
また、行(列)情報取得部201は、表構造解析を行い、旧表および新表のそれぞれについて、行(列)の数などの情報などを取得する。ここで、表構造解析は、公知の技術を用いる。なお、旧表や新表が電子データであり、この電子データ内に表構造情報が含まれている場合は、電子データからこの表構造情報を取得して、行(列)の数などの情報を取得するようにしてもよい。
内容取得手段の一部として機能するセル内文字取得部202は、各表に含まれるセル内の文字(文字列)の情報を取得する。言い換えると、セル内文字取得部202は、各表に含まれるセルの内容を取得する。
なお、画像読み取り部108(図1参照)によるスキャンによって、旧表の画像および新表の画像が取得される場合、セル内文字取得部202は、この2つの画像を解析して、文字についての情報を取得する。より具体的には、例えば、この2つの画像のそれぞれについて、文字認識(OCR処理)を行い、文字についての情報を取得する。なお、文字認識は公知の手法を用いる。
一方、新表および旧表が、電子データとして画像形成装置10(図1参照)に入力された場合には、差異検出装置200は、この電子データを取得する。そして、この電子データを解析して、各表に含まれるセル内の文字の情報を取得する。
一方、新表および旧表が、電子データとして画像形成装置10(図1参照)に入力された場合には、差異検出装置200は、この電子データを取得する。そして、この電子データを解析して、各表に含まれるセル内の文字の情報を取得する。
内容取得手段の一部として機能する見出しセル比較部204は、旧表の見出しのセルの内容と、新表の見出しのセルの内容とを取得する。さらに、見出しセル比較部204は、旧表の見出しのセルの内容と、新表の見出しのセルの内容とを比較する。
より具体的には、見出しセル比較部204は、旧表および新表の各々に含まれるセルのうちの、行(列)の見出しのセル(以下、「見出しセル」と称することがある)に注目し、この見出しセル内の文字を取得し、この文字を比較する。
より具体的には、見出しセル比較部204は、旧表および新表の各々に含まれるセルのうちの、行(列)の見出しのセル(以下、「見出しセル」と称することがある)に注目し、この見出しセル内の文字を取得し、この文字を比較する。
見出しセル比較部204は、見出しセルの比較に際し、一致率を計算し、最大の一致率が閾値以上ならば、一致率が最大となった2つの見出しセルが一致すると判定する(対応付いたと判定する)。一方、見出しセル比較部204は、最大の一致率が閾値よりも小さい場合には、「行(列)の削除や追加」があったと判定する。
図2(B)にて示す見出し範囲特定部203は、表の外見上の特徴や、表を構成するセルの数などに基づき、旧表および新表のそれぞれについて、見出し範囲(見出しのセル)を特定する。
全セル比較部205は、各行(列)に含まれる全セルを用いて、旧表に含まれる行(列)と、新表に含まれる行(列)との比較を行い、旧表に含まれる行(列)と新表に含まれる行(列)との対応付けを行う。
全セル比較部205は、各行(列)に含まれる全セルを用いて、旧表に含まれる行(列)と、新表に含まれる行(列)との比較を行い、旧表に含まれる行(列)と新表に含まれる行(列)との対応付けを行う。
言い換えると、対応関係把握手段として機能する全セル比較部205は、旧表に含まれる各列の内容および/または各行の内容と、新表に含まれる各列の内容および/または各行の内容とに基づき、新表に含まれる各列および/または各行と、旧表に含まれる各列および/または各行との対応関係を把握する。
より具体的には、全セル比較部205は、見出しセルによる対応付けがうまくいかなかった行(列)について、この行(列)に含まれる全てのセルを使って、旧表の行(列)と新表の行(列)との比較を行い、旧表の行(列)と新表の行(列)との対応付けを行う。
なお、本実施形態では、各行(列)に含まれる全セルを用いて比較を行う場合を一例に説明するが、全セルよりも少ない数のセルを用いて比較を行ってもよい。
なお、本実施形態では、各行(列)に含まれる全セルを用いて比較を行う場合を一例に説明するが、全セルよりも少ない数のセルを用いて比較を行ってもよい。
そして、全セル比較部205は、一致率を計算し、最大の一致率が閾値以上ならば、この最大の一致率となった行(列)同士を、一致する行(列)であると判定する。最大の一致率が閾値よりも小さい場合には、「行(列)の削除/追加」があったと判定する。
結果出力部206は、旧表の行(列)と新表の行(列)との対応関係を出力する。
結果出力部206は、旧表の行(列)と新表の行(列)との対応関係を出力する。
差異検出手段の一例としての差異検出部207は、旧表と新表との差異を検出する。
より具体的には、本実施形態では、後述するように、旧表の行(列)と新表の行(列)との対応関係が把握される。これにより、旧表の各セルと新表の各セルとの対応関係の把握も行えるようになる。
差異検出部207は、旧表の各セルと新表の各セルとの対応関係に基づき、セルの内容の比較を行い、旧表と新表との差異を検出する。加えて、旧表の行(列)と新表の行(列)との対応関係に基づき、行/列自体の差異(移動、追加、削除)を検出する。
より具体的には、本実施形態では、後述するように、旧表の行(列)と新表の行(列)との対応関係が把握される。これにより、旧表の各セルと新表の各セルとの対応関係の把握も行えるようになる。
差異検出部207は、旧表の各セルと新表の各セルとの対応関係に基づき、セルの内容の比較を行い、旧表と新表との差異を検出する。加えて、旧表の行(列)と新表の行(列)との対応関係に基づき、行/列自体の差異(移動、追加、削除)を検出する。
なお、図2(A)、(B)にて示した各機能部は、ソフトウエアとハードウェア資源とが協働することにより実現される。
具体的には、CPU102(図1参照)が、プログラムをROM103等から主記憶装置であるRAM104に読み込み、実行することで、図2(A)、(B)にて示した各機能部が実現される。
具体的には、CPU102(図1参照)が、プログラムをROM103等から主記憶装置であるRAM104に読み込み、実行することで、図2(A)、(B)にて示した各機能部が実現される。
図3は、図2(A)にて示した差異検出装置200にて行われる処理の流れを示したフローチャートである。
図2(A)にて示した差異検出装置200では、まず、行(列)情報取得部201が、旧表の行(列)情報を取得する(ステップ101)。次いで、行(列)情報取得部201が、新表の行(列)情報を取得する(ステップ102)。
図2(A)にて示した差異検出装置200では、まず、行(列)情報取得部201が、旧表の行(列)情報を取得する(ステップ101)。次いで、行(列)情報取得部201が、新表の行(列)情報を取得する(ステップ102)。
その後、セル内文字取得部202が、旧表に含まれる各セルの文字(文字情報)を取得する(ステップ103)。さらに、セル内文字取得部202が、新表に含まれる各セルの文字を取得する(ステップ104)。
次いで、内容取得手段の一部としての見出しセル比較部204が、旧表の見出しの部分の文字(内容)と、新表の見出し部分の文字(内容)とを取得する。
そして、見出しセル比較部204が、旧表の見出しの部分の文字と、新表の見出し部分の文字とを比較する(ステップ105)。具体的には、例えば、見出しセル比較部204は、旧表の1行目などの予め定められた行と、新表の1行目などの予め定められた行との間において、文字の比較を行う。
次いで、内容取得手段の一部としての見出しセル比較部204が、旧表の見出しの部分の文字(内容)と、新表の見出し部分の文字(内容)とを取得する。
そして、見出しセル比較部204が、旧表の見出しの部分の文字と、新表の見出し部分の文字とを比較する(ステップ105)。具体的には、例えば、見出しセル比較部204は、旧表の1行目などの予め定められた行と、新表の1行目などの予め定められた行との間において、文字の比較を行う。
図4は、図2(A)にて示した差異検出装置200による具体的な処理を示した図である。なお、図4に示す例では、旧表および新表が、4行、5列により構成されている。また、図4にて示す例では、対応する列を検出する場合を一例に説明する。
本実施形態では、まず、図4(A)、(B)に示すように、行(列)情報取得部201が、公知の表構造解析を用い、各表の行情報および列情報を取得する。なお、旧表や新表が電子データであり、この電子データ内に表構造情報が含まれている場合は、電子データからこの表構造情報を取得して、各表の行情報および列情報を得る。次いで、図4(B)、(C)に示すように、セル内文字取得部202が、各セルに含まれる文字(文字情報)を取得する。
本実施形態では、まず、図4(A)、(B)に示すように、行(列)情報取得部201が、公知の表構造解析を用い、各表の行情報および列情報を取得する。なお、旧表や新表が電子データであり、この電子データ内に表構造情報が含まれている場合は、電子データからこの表構造情報を取得して、各表の行情報および列情報を得る。次いで、図4(B)、(C)に示すように、セル内文字取得部202が、各セルに含まれる文字(文字情報)を取得する。
次いで、見出しセル比較部204が、旧表の見出しと新表の見出しとの比較を行う。
具体的には、本実施形態では、まず、見出しセル比較部204が、旧表の1列目の見出し(列見出し)(の内容)、新表の5列分の見出し(の内容)を取得する。次いで、見出しセル比較部204が、旧表の1列目の見出しと、新表の5列分の見出しの各々との比較を行い、一致率を把握(算出)する。
具体的には、本実施形態では、まず、見出しセル比較部204が、旧表の1列目の見出し(列見出し)(の内容)、新表の5列分の見出し(の内容)を取得する。次いで、見出しセル比較部204が、旧表の1列目の見出しと、新表の5列分の見出しの各々との比較を行い、一致率を把握(算出)する。
また、旧表の2列目の見出しと、新表の5列分の見出しの各々との比較を行い、一致率を把握(算出)する。同様に、旧表の3列目の見出し、旧表の4列目の見出し、旧表の5列目の見出しの各々と、新表の5列分の見出しの各々との比較を行い、一致率を把握(算出)する。
図4(D)では、旧表の2列目の見出しと、新表の5列分の見出しの各々との比較結果を示している。
この例では、旧表の2列目の見出しと、新表の2列目の見出しとが一致し、一致率は100%となる。また、旧表の2列目の見出しと新表の1列目の見出しとの間では、一致率は0%となり、旧表の2列目の見出しと新表の3〜5列目の見出しの各々との間では、一致率は50%となる。
この例では、旧表の2列目の見出しと、新表の2列目の見出しとが一致し、一致率は100%となる。また、旧表の2列目の見出しと新表の1列目の見出しとの間では、一致率は0%となり、旧表の2列目の見出しと新表の3〜5列目の見出しの各々との間では、一致率は50%となる。
本実施形態では、算出される複数の一致率のうちの最大の一致率を把握し、この最大の一致率(上記の例では100%)と、予め定められた閾値(例えば、80%)とを比較する。そして、最大の一致率が閾値よりも大きい場合には、この最大の一致率の元となった2つの列(旧表の列、新表の列)が対応付いたと判断する。
上記の例では、旧表の2列目と新表の2列目とが対応付いたと判断する。
見出しセル比較部204は、同様の処理を行い、旧表の2列目以外の他の列の各々と、新表の2列目以外の他の列の各々との対応関係を把握する。即ち、見出しセル比較部204は、対応関係把握手段として機能し、旧表に含まれる各列と、新表に含まれる各列との対応関係を把握する。
見出しセル比較部204は、同様の処理を行い、旧表の2列目以外の他の列の各々と、新表の2列目以外の他の列の各々との対応関係を把握する。即ち、見出しセル比較部204は、対応関係把握手段として機能し、旧表に含まれる各列と、新表に含まれる各列との対応関係を把握する。
ここで、本実施形態では、このように、各行(列)の見出し(各行を比較するときは行見出し、各列を比較するときは列見出し)を用いて、2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する。
これにより、各セルの内容に基づいて、対応関係を把握する場合に比べ、対応関係の把握精度が高まる。見出しについては、見出し以外のセルよりも変更される可能性が低く、見出しで対応関係を把握することで、対応関係の把握精度が高まる。
これにより、各セルの内容に基づいて、対応関係を把握する場合に比べ、対応関係の把握精度が高まる。見出しについては、見出し以外のセルよりも変更される可能性が低く、見出しで対応関係を把握することで、対応関係の把握精度が高まる。
次いで、本実施形態では、図4(E)に示すように、結果出力部206が結果出力を行う。具体的には、旧表の2列目と新表の2列目とが対応付いた旨の出力を行う。
なお、結果出力部206は、旧表に含まれる行(列)のうちの、対応する行(列)が新表に見つからなかった行(列)については、削除されたと出力する。
また、結果出力部206は、新表に含まれる行(列)のうちの、対応する行(列)が旧表に見つからなかった行(列)については、追加されたと出力する。
なお、見出しのセルが複数の場合(例えば、各行(列)に複数の見出しセルが存在する場合)、複数の見出しセルの各々に含まれる各文字を連結した文字列同士を比較して、一致率を得てもよい。
なお、結果出力部206は、旧表に含まれる行(列)のうちの、対応する行(列)が新表に見つからなかった行(列)については、削除されたと出力する。
また、結果出力部206は、新表に含まれる行(列)のうちの、対応する行(列)が旧表に見つからなかった行(列)については、追加されたと出力する。
なお、見出しのセルが複数の場合(例えば、各行(列)に複数の見出しセルが存在する場合)、複数の見出しセルの各々に含まれる各文字を連結した文字列同士を比較して、一致率を得てもよい。
また、見出しセルが一致するか否かは、一致する見出しセルの割合に基づき判断してもよい。
図5(A)〜(D)は、見出しセルの比較についての他の処理例を示した図である。なお、図5(A)は旧表を示し、図5(B)は新表を示している。また、図5(C)、(D)は、見出しセルの一致、不一致の判断手法を示している。
図5(A)〜(D)は、見出しセルの比較についての他の処理例を示した図である。なお、図5(A)は旧表を示し、図5(B)は新表を示している。また、図5(C)、(D)は、見出しセルの一致、不一致の判断手法を示している。
図5(A)、(C)に示すように、旧表の3列目の見出しは、「2015年1月〜12月」という文字が記載された1つ目の見出しセル、「上半期」という文字が記載された2つ目の見出しセル、「1Q」という文字が記載された3つ目の見出しセルにより構成されている。
見出しセルの比較では、旧表の各列と新表の各列との間で、見出しセルの比較を行っていくが、この例では、比較に際し、旧表の上記3つの見出しセルの各々と、新表の3つの見出しセルの各々とに基づき、一致率を算出する。
具体的には、この例では、図5(C)、(D)に示すように、旧表の3列目と新表の1列目とを比較すると、一致する見出しセルは存在せず、一致率は0%となる。また、旧表の3列目と新表の2列目とを比較すると、一致する見出しセルは存在せず、一致率は0%となる。
一方、旧表の3列目と新表の3列目とを比較すると、2つの見出しセルが一致し、一致率は、67%となる。
一方、旧表の3列目と新表の3列目とを比較すると、2つの見出しセルが一致し、一致率は、67%となる。
旧表の3列目と新表の4列目とを比較すると、一致する見出しセルは1つとなり、一致率は、33%となる。旧表の3列目と新表の5列目とを比較すると、一致する見出しセルは存在せず、一致率は、0%となる。旧表の3列目と新表の6列目とを比較すると、一致する見出しセルは存在せず、一致率は、0%となる。
この例では、最大の一致率である67%を、予め定められた閾値(例えば、50%)と比較する。そして、この場合、一致率が閾値を超えることとなり、結果出力部206(図2(A)参照)によって、旧表の3列目と新表の3列目とが対応付いた旨が出力される。
図5にて示した処理を行う場合、行(列)の見出し部分の全体が注目され、見出しが一致しているか否かの判定精度が高まる。付言すると、見出しが単一のセルにより構成され且つこのセル内の文字数が多い場合に比べて、見出しが一致しているか否かの判定精度が高まる。
その一方で、図5にて示した処理を行う場合、見出しの行(列)が少ないと、文字が変更された場合の影響が大きくなる。
その一方で、図5にて示した処理を行う場合、見出しの行(列)が少ないと、文字が変更された場合の影響が大きくなる。
ところで、上記では、旧表および新表に含まれる行(列)のうち、冒頭の1行目など、予め定められた行(列)の部分を見出しであると仮定して、見出しの比較を行った。
ところで、これに限らず、次に説明するように、見出し範囲を特定し、特定した見出し範囲に基づき、行(列)の対応関係を把握してもよい。
ところで、これに限らず、次に説明するように、見出し範囲を特定し、特定した見出し範囲に基づき、行(列)の対応関係を把握してもよい。
図6は、見出し範囲を特定する場合の処理を示したフローチャートである。言い換えると、図6は、図2(B)にて示した差異検出装置200(見出し範囲特定部203を備えた差異検出装置200)による処理を示したフローチャートである。
なお、図6のステップ201〜204の処理は、図3のステップ101〜104の処理と同様であり、以下では、ステップ205以降の処理を説明する。
なお、図6のステップ201〜204の処理は、図3のステップ101〜104の処理と同様であり、以下では、ステップ205以降の処理を説明する。
ステップ205では、見出し範囲特定手段の一例としての見出し範囲特定部203が、旧表における見出し範囲を特定する(ステップ205)。次いで、見出し範囲特定部203が、新表における見出し範囲を特定する(ステップ206)。
その後、上記ステップ105と同様に、見出しセル比較部204が、旧表の見出し範囲の文字と、新表の見出し範囲の文字との比較を行う(ステップ207)。
具体的には、ステップ205にて特定された見出し範囲の文字と、ステップ206にて特定された見出し範囲の文字とを比較する。
その後、上記ステップ105と同様に、見出しセル比較部204が、旧表の見出し範囲の文字と、新表の見出し範囲の文字との比較を行う(ステップ207)。
具体的には、ステップ205にて特定された見出し範囲の文字と、ステップ206にて特定された見出し範囲の文字とを比較する。
その後、見出しセル比較部204が、比較が成功したか否かを判断する(ステップ208)。そして、比較が成功した場合は、結果出力部206が結果出力を行う(ステップ210)。具体的には、旧表と新表との間における、行(列)の対応関係を出力する。
一方、比較が失敗した場合は、全セル比較部205が、各行(列)に含まれる全てのセルに含まれる文字同士の比較を行って(ステップ209)、旧表と新表との間における、行(列)の対応関係を把握する。そして、結果出力部206が、この対応関係を出力する(ステップ210)。
一方、比較が失敗した場合は、全セル比較部205が、各行(列)に含まれる全てのセルに含まれる文字同士の比較を行って(ステップ209)、旧表と新表との間における、行(列)の対応関係を把握する。そして、結果出力部206が、この対応関係を出力する(ステップ210)。
ここで、ステップ208では、例えば、次の条件(1)、(2)の何れかの条件を満たした場合に、比較が成功したと判断する。
条件(1):以下のa、bの両方が存在しない、若しくは、a、bの何れか一方が存在する。
a:対応付いていない行(列)が旧表に存在
b:対応付いていない行(列)が新表に存在
a:対応付いていない行(列)が旧表に存在
b:対応付いていない行(列)が新表に存在
ここで、a、bの両方が存在しない場合とは、行(列)の全てが対応付いた場合を意味する。また、a、bの何れか一方が存在する場合とは、行(列)の削除や追加があった場合を意味する。さらに、a、bの両方が存在する場合は、編集、削除、追加の何れであるかが分からず、比較に失敗したことを意味する。
条件(2):対応付いていない行(列)の数が、予め定められた閾値よりも小さい。
図7(A)、(B)、図8(A)、(B)は、ステップ205、ステップ206にて行われる見出し範囲の特定処理を説明する図である。
見出し範囲の特定は、例えば、表の外見上の違いを利用する。
具体的には、見出し範囲特定部203は、例えば、セルの背景の違い(色つき/色なし、ハッチングの有無等)、文字の違い(フォント、サイズの大小、色、太字/細字等)、罫線の違い(二重線/一重線、太線/細線、実線/点線、線の濃淡等)に基づき、見出し範囲を特定する。
外見上の違いを利用する場合、表の代表的な特徴が用いられ、複数行(列)にわたる見出し範囲も正しく特定されやすい。
見出し範囲の特定は、例えば、表の外見上の違いを利用する。
具体的には、見出し範囲特定部203は、例えば、セルの背景の違い(色つき/色なし、ハッチングの有無等)、文字の違い(フォント、サイズの大小、色、太字/細字等)、罫線の違い(二重線/一重線、太線/細線、実線/点線、線の濃淡等)に基づき、見出し範囲を特定する。
外見上の違いを利用する場合、表の代表的な特徴が用いられ、複数行(列)にわたる見出し範囲も正しく特定されやすい。
図7(A)に示す例では、上から1行目、2行目の部分の色と、3行目以降の部分の色とが異なっている。見出し範囲の特定は、例えば、この色の違いを利用する。この例では、1行目と2行目とが見出し範囲であると特定される。
また、見出し範囲の特定は、例えば、表に含まれる斜め線を利用する。この場合も、表に代表的な特徴が判断に用いられ(表に特有な特徴が判断に用いられ)、複数行にわたる見出し範囲も、正しく特定されやすい。
図7(B)に示す例では、表の左上の角部のセルに、斜め線が設けられている。
見出し範囲特定部203は、この斜め線が位置する行を、各列の見出し範囲とする。具体的には、1行目と2行目とを、見出し範囲であると特定する。
図7(B)に示す例では、表の左上の角部のセルに、斜め線が設けられている。
見出し範囲特定部203は、この斜め線が位置する行を、各列の見出し範囲とする。具体的には、1行目と2行目とを、見出し範囲であると特定する。
さらに、見出し範囲の特定は、例えば、表の罫線の長さの違いを利用する。
具体的には、表の外枠を構成する罫線以外の罫線の長さの違いを利用して、見出し範囲を特定する。
図8(A)に示す例では、6列目且つ1行目に位置するセルと、6列目且つ2行目に位置するセルとが結合しており、1行目と2行目との間の罫線が短くなっている。
具体的には、表の外枠を構成する罫線以外の罫線の長さの違いを利用して、見出し範囲を特定する。
図8(A)に示す例では、6列目且つ1行目に位置するセルと、6列目且つ2行目に位置するセルとが結合しており、1行目と2行目との間の罫線が短くなっている。
見出し範囲特定部203は、表の上方から下方に向かって順に罫線の長さを把握していく。そして、見出し範囲特定部203は、長さが最初に最大となる罫線の直前の行までが見出しであると特定する。
図8(A)に示す例では、2本目の罫線にて、その長さが最大(300pixel)となり、この2本目の罫線の直前の行である2行目までが見出し範囲とされる。
この特定手法では、セルの結合がある場合も、見出し範囲の特定を行える。
図8(A)に示す例では、2本目の罫線にて、その長さが最大(300pixel)となり、この2本目の罫線の直前の行である2行目までが見出し範囲とされる。
この特定手法では、セルの結合がある場合も、見出し範囲の特定を行える。
さらに、見出し範囲特定部203は、例えば、行(列)に含まれるセルの数を利用して、見出し範囲を特定する。
図8(B)に示す例では、1行目においてセルの結合がなされており、1行目のセルの数が少なくなっている。
見出し範囲特定部203は、行(列)に含まれるセルの数を利用して見出し範囲を特定する場合、1行目から、セル数が最大となる最初の行までを見出し範囲とする。
図8(B)に示す例では、1行目においてセルの結合がなされており、1行目のセルの数が少なくなっている。
見出し範囲特定部203は、行(列)に含まれるセルの数を利用して見出し範囲を特定する場合、1行目から、セル数が最大となる最初の行までを見出し範囲とする。
図8(B)に示す例では、2行目にてセルの数が最大となるため、見出し範囲特定部203は、1行目から2行目が見出し範囲であると特定する。
この特定手法は、水平方向における見出しセルの結合を想定しており、この特定手法では、水平方向における見出しセルの結合があっても、見出し範囲の特定を行える。
なお、図8(B)に示す例では、各列の見出し範囲を特定する場合を一例に説明したが、各行の見出し範囲の特定にあたっては、垂直方向における見出しセルの結合を想定する。そして、この場合は、1列目から、セル数が最大となる最初の列までを見出し範囲とする。
この特定手法は、水平方向における見出しセルの結合を想定しており、この特定手法では、水平方向における見出しセルの結合があっても、見出し範囲の特定を行える。
なお、図8(B)に示す例では、各列の見出し範囲を特定する場合を一例に説明したが、各行の見出し範囲の特定にあたっては、垂直方向における見出しセルの結合を想定する。そして、この場合は、1列目から、セル数が最大となる最初の列までを見出し範囲とする。
ここで、見出し範囲の特定は、図7、図8にて示した4つの特定手法のうちの何れか1つの特定手法で行ってもよい。
また、4つの特定手法の各々を用いて見出し範囲を特定した後、多数決により、最終的な見出し範囲を決定してもよい。
また、4つの特定手法の各々を順に用いて特定処理を行い、何れかの特定手法で見出し範囲が特定され次第、この見出し範囲を最終的な見出し範囲としてもよい。
以下、見出し範囲を多数決により決定する処理、および、特定手法の各々を順に用いて見出し範囲を決定する処理のそれぞれについて説明する。
また、4つの特定手法の各々を用いて見出し範囲を特定した後、多数決により、最終的な見出し範囲を決定してもよい。
また、4つの特定手法の各々を順に用いて特定処理を行い、何れかの特定手法で見出し範囲が特定され次第、この見出し範囲を最終的な見出し範囲としてもよい。
以下、見出し範囲を多数決により決定する処理、および、特定手法の各々を順に用いて見出し範囲を決定する処理のそれぞれについて説明する。
図9は、見出し範囲を多数決により決定する処理の流れを示したフローチャートである。
この処理では、まず、上記4つの特定手法の各々を用いて見出し範囲を特定する(ステップ301〜304)。次いで、多数決で、最終的な見出し範囲を決定する(ステップ305)。
この処理では、まず、上記4つの特定手法の各々を用いて見出し範囲を特定する(ステップ301〜304)。次いで、多数決で、最終的な見出し範囲を決定する(ステップ305)。
ステップ305の処理について詳細に説明する。
例えば、上記4つの特定手法のうちの3つの特定手法で、1行目〜2行目が見出し範囲であると特定され、他の1つの特定手法で、1行目が見出し範囲であると特定された場合、ステップ305では、1行目〜2行目が見出し範囲であると決定される。
より具体的には、1行目〜2行目を見出し範囲とした特定結果が3票であり、1行目を見出し範囲とした特定結果が1票である場合、1行目〜2行目が見出し範囲であると決定される。
例えば、上記4つの特定手法のうちの3つの特定手法で、1行目〜2行目が見出し範囲であると特定され、他の1つの特定手法で、1行目が見出し範囲であると特定された場合、ステップ305では、1行目〜2行目が見出し範囲であると決定される。
より具体的には、1行目〜2行目を見出し範囲とした特定結果が3票であり、1行目を見出し範囲とした特定結果が1票である場合、1行目〜2行目が見出し範囲であると決定される。
なお、同票であり多数決で決まらない場合は、例えば、最小の見出し範囲を、最終的な見出し範囲とする。
具体的には、例えば、2つの特定手法で、1行目〜2行目が見出し範囲であると特定され、残り2つの特定手法で、1行目〜3行目が見出し範囲であると特定された場合、1行目〜2行目を最終的な見出し範囲とする。
また、4つの特定手法の全てにおいて、見出し範囲の特定を行えなかった場合には、1行目を見出し範囲とする。
具体的には、例えば、2つの特定手法で、1行目〜2行目が見出し範囲であると特定され、残り2つの特定手法で、1行目〜3行目が見出し範囲であると特定された場合、1行目〜2行目を最終的な見出し範囲とする。
また、4つの特定手法の全てにおいて、見出し範囲の特定を行えなかった場合には、1行目を見出し範囲とする。
図10は、4つの特定手法の各々を順に用いて特定処理を行う場合の処理の流れを示したフローチャートである。
この処理では、まず、外見上の違いを利用して見出し範囲の特定を行う(ステップ401)。そして、この特定が失敗したか否かを判断し(ステップ402)、失敗した場合には、ステップ403の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
この処理では、まず、外見上の違いを利用して見出し範囲の特定を行う(ステップ401)。そして、この特定が失敗したか否かを判断し(ステップ402)、失敗した場合には、ステップ403の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
ここで、例えば、セルの背景の色や、文字フォントが全て同じである場合、外見上の違いが現れない。この場合は、ステップ402にて、見出し範囲の特定に失敗したと判断され、ステップ403の処理が実行される。
ステップ403では、斜め線を利用して見出し範囲の特定を行う。
そして、この特定が失敗したか否かを判断し(ステップ404)、失敗した場合には、ステップ405の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
そして、この特定が失敗したか否かを判断し(ステップ404)、失敗した場合には、ステップ405の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
ステップ405では、罫線の長さに基づき見出し範囲を特定する。
そして、この特定が失敗したか否かを判断し(ステップ406)、失敗した場合には、ステップ407の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
そして、この特定が失敗したか否かを判断し(ステップ406)、失敗した場合には、ステップ407の処理に進む。一方、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
ここで、例えば、ステップ405では、多数の行(列)が見出し範囲であると特定されることも懸念される。例えば、6行の表において、1〜5行目が見出し範囲として特定されることが起こりうる。この場合、見出しの行の割合は、全体の83%にもなってしまう。
本実施形態では、見出しの範囲の割合についての閾値(例えば50%)を設定しており、見出しの行数の割合が大きい場合、見出し範囲の特定に失敗したと判断する。
本実施形態では、見出しの範囲の割合についての閾値(例えば50%)を設定しており、見出しの行数の割合が大きい場合、見出し範囲の特定に失敗したと判断する。
ステップ407では、セルの数に基づき見出し範囲の特定を行う。そして、この特定が失敗したか否かを判断し(ステップ408)、失敗した場合には、ステップ410の処理に進む。これに対し、成功した場合には、特定した見出し範囲を出力する(ステップ409)。
ここで、ステップ407における特定では、上記と同様、多数の行(列)が見出し範囲であると特定されることが起こり得る。この場合、上記と同様、見出し範囲の特定に失敗したと判断される。
ここで、ステップ407における特定では、上記と同様、多数の行(列)が見出し範囲であると特定されることが起こり得る。この場合、上記と同様、見出し範囲の特定に失敗したと判断される。
ステップ410では、1行(列)目を見出し範囲として出力する。
付言すると、ステップ408にて失敗である判断された場合、言い換えると、上記4つの特定手法の何れの特定手法を用いても、見出し範囲を特定できなかった場合、1行(列)目が見出し範囲として出力される。
なお、上記4つの特定手法の実行順は上記に限らず、他の順序で、各特定手法を実行してもよい。
付言すると、ステップ408にて失敗である判断された場合、言い換えると、上記4つの特定手法の何れの特定手法を用いても、見出し範囲を特定できなかった場合、1行(列)目が見出し範囲として出力される。
なお、上記4つの特定手法の実行順は上記に限らず、他の順序で、各特定手法を実行してもよい。
図11は、多数決による見出し範囲の特定、および、特定手法の各々を順に用いての見出し範囲の特定の両者を用いて、見出し範囲を決定する処理の流れを示したフローチャートである。
この処理では、図9におけるステップ301〜304と同様、まず、4つの特定手法のそれぞれを用いて、見出し範囲を特定する(ステップ501〜ステップ504)。
次いで、見出し範囲の特定を行えなかった特定手法の数が、2以上であるかを判断する(ステップ505)。
この処理では、図9におけるステップ301〜304と同様、まず、4つの特定手法のそれぞれを用いて、見出し範囲を特定する(ステップ501〜ステップ504)。
次いで、見出し範囲の特定を行えなかった特定手法の数が、2以上であるかを判断する(ステップ505)。
そして、2以上でない場合(成功した特定手法が3以上である場合)は、多数決で、最終的な見出し範囲を決定する(ステップ506)。
一方、見出し範囲の特定を行えなかった特定手法が2以上である場合は、上記ステップ401〜ステップ410の処理と同様に、4つの特定手法を順番に用いて、最終的な見出し範囲を決定する(ステップ507)。
一方、見出し範囲の特定を行えなかった特定手法が2以上である場合は、上記ステップ401〜ステップ410の処理と同様に、4つの特定手法を順番に用いて、最終的な見出し範囲を決定する(ステップ507)。
図12、図13(A)、(B)は、上記4つの特定手法による特定処理の具体例を示した図である。
図12に示す表では、上から1行目、2行目の部分の色と、3行目以降の部分の色とが異なっている。上記1つ目の特定手法(外見上の違いを利用した特定手法)では、1〜2行目が見出し範囲であると特定される。
また、図12に示す表では、1行目から2行目にかけて斜め線が引かれている。上記2つ目の特定手法(斜め線を利用した特定手法)では、1〜2行目が見出し範囲であると特定される。
図12に示す表では、上から1行目、2行目の部分の色と、3行目以降の部分の色とが異なっている。上記1つ目の特定手法(外見上の違いを利用した特定手法)では、1〜2行目が見出し範囲であると特定される。
また、図12に示す表では、1行目から2行目にかけて斜め線が引かれている。上記2つ目の特定手法(斜め線を利用した特定手法)では、1〜2行目が見出し範囲であると特定される。
また、図12に示す表では、上から2本目の罫線の長さが350ピクセル分の長さとなっており、この2本目の罫線の長さが最大となっている。このため、上記3つ目の特定手法(罫線の長さを利用した特定手法)では、1〜2行目が見出し部分であると特定される。
また、図12に示す表では、セルの数が最大となる最初の行は、1行目となっている。このため、上記4つ目の特定手法(セルの数を利用した特定手法)では、1行目が見出し範囲であると特定される。
また、図12に示す表では、セルの数が最大となる最初の行は、1行目となっている。このため、上記4つ目の特定手法(セルの数を利用した特定手法)では、1行目が見出し範囲であると特定される。
図13(A)、(B)は、多数決による見出し範囲の決定手順を示した図である。
図13(A)では、4つの特定手法の各々にて特定された見出し範囲を示している。1〜3つ目の特定手法では見出し範囲が2行となっており、4つ目の特定手法では、見出し範囲は1行となっている。
多数決で見出し範囲を決定する場合、図13(B)に示すように、見出し範囲は2行となる。
図13(A)では、4つの特定手法の各々にて特定された見出し範囲を示している。1〜3つ目の特定手法では見出し範囲が2行となっており、4つ目の特定手法では、見出し範囲は1行となっている。
多数決で見出し範囲を決定する場合、図13(B)に示すように、見出し範囲は2行となる。
図14、図15(A)、(B)は、見出し範囲の特定処理の他の具体例を示した図である。
図14に示す表では、セルの色が異なるなどの外見上の違いが存在しない。このため、上記1つ目の特定手法では、見出し範囲の特定が行われない。
また、図14に示す表では、斜め線が存在しない。このため、上記2つ目の特定手法でも、見出し範囲の特定が行われない。
図14に示す表では、セルの色が異なるなどの外見上の違いが存在しない。このため、上記1つ目の特定手法では、見出し範囲の特定が行われない。
また、図14に示す表では、斜め線が存在しない。このため、上記2つ目の特定手法でも、見出し範囲の特定が行われない。
また、図14に示す表では、上から2本目の罫線の長さが350ピクセル分の長さとなっており、この長さが最大となっている。このため、3つ目の特定手法では、1〜2行目が見出し範囲であると特定される。
また、図14に示す表では、セル数が最大となる最初の行は、3行目となっており、4つ目の特定手法では、1〜3行目が見出し範囲であると特定される。
また、図14に示す表では、セル数が最大となる最初の行は、3行目となっており、4つ目の特定手法では、1〜3行目が見出し範囲であると特定される。
図15(A)では、4つの特定手法を順番に用いて見出し範囲を決定する処理の具体例を示している。
図15(A)に示すように、1〜2つ目の特定手法では見出し範囲が特定されず、3つ目の特定手法では見出し範囲は2行となり、また、4つ目の特定手法では見出し範囲は3行となっている。この場合、4つの特定手法を順番に用いて見出し範囲を決定すると、見出し範囲は、3つ目の特定手法により特定された見出し範囲である、1〜2行となる。
図15(A)に示すように、1〜2つ目の特定手法では見出し範囲が特定されず、3つ目の特定手法では見出し範囲は2行となり、また、4つ目の特定手法では見出し範囲は3行となっている。この場合、4つの特定手法を順番に用いて見出し範囲を決定すると、見出し範囲は、3つ目の特定手法により特定された見出し範囲である、1〜2行となる。
次に、多数決による特定、および、特定手法を順に用いての特定の両者で見出し範囲を決定する場合(図11にて示した処理により見出し範囲を決定する場合)を説明する。
この例では、図15(B)の(B1)に示すように、失敗数が2以上となる。このため、多数決による見出し範囲の決定は行われない。
これに換わり、本実施形態では、特定手法を順に用いた決定が行われ、この場合、図15(B)の(B2)に示すように、3つ目の特定手法により特定された見出し範囲(1〜2行)が、最終的な見出し範囲とされる。
この例では、図15(B)の(B1)に示すように、失敗数が2以上となる。このため、多数決による見出し範囲の決定は行われない。
これに換わり、本実施形態では、特定手法を順に用いた決定が行われ、この場合、図15(B)の(B2)に示すように、3つ目の特定手法により特定された見出し範囲(1〜2行)が、最終的な見出し範囲とされる。
図16は、本実施形態にて行われる処理の他の具体例を示した図である。なお、図16では、列の対応関係を把握する場合を一例に説明する。
この処理では、図16の符号16Aに示すように、また、上記と同様、まず、旧表および新表のそれぞれについて、行情報および列情報を取得する。
次いで、符号16Bに示すように、セル内の文字を取得する。
次いで、符号16Cに示すように、上記にて説明した特定手法を用いて、各表の列の見出し範囲を特定する。次いで、符号16Dに示すように、見出し範囲の部分で、文字列の比較を行う。
この処理では、図16の符号16Aに示すように、また、上記と同様、まず、旧表および新表のそれぞれについて、行情報および列情報を取得する。
次いで、符号16Bに示すように、セル内の文字を取得する。
次いで、符号16Cに示すように、上記にて説明した特定手法を用いて、各表の列の見出し範囲を特定する。次いで、符号16Dに示すように、見出し範囲の部分で、文字列の比較を行う。
ここで、図16に示す例では、旧表の1列目と新表の1列目、旧表の2列目と新表の2列目、旧表の7列目と新表の7列目において、見出しが一致する。
これにより、この例では、旧表の1列目と新表の1列目とが対応し、旧表の2列目と新表の2列目とが対応し、旧表の7列目と新表の7列目とが対応していると把握される。
これにより、この例では、旧表の1列目と新表の1列目とが対応し、旧表の2列目と新表の2列目とが対応し、旧表の7列目と新表の7列目とが対応していると把握される。
これに対し、旧表の3〜6列目の各々と、新表の3〜6列目の各々との間では、見出しが一致していないと判定される。
この場合、本実施形態では、全セル比較部205(図2(B)参照)が、各列に含まれる全セルを対象として文字(文字列)の比較を行う。
具体的には、旧表の各列に含まれる全セルの文字列と、新表の各列に含まれる全セルの文字列とを、列毎に比較して、旧表の各列と新表の各列との対応付けを行う。
この場合、本実施形態では、全セル比較部205(図2(B)参照)が、各列に含まれる全セルを対象として文字(文字列)の比較を行う。
具体的には、旧表の各列に含まれる全セルの文字列と、新表の各列に含まれる全セルの文字列とを、列毎に比較して、旧表の各列と新表の各列との対応付けを行う。
図16の符号16Eでは、全セルを対象として、旧表の3列目と、新表に含まれる各列とを比較する場合を例示している。
この例では、旧表の3列目の文字列は、「1Q下半期OKNGOKNG」となっている。
一方、新表の3〜6列目の各列の文字列は、次のようになっている。
「1Q上半期OKNGOKNG」、「2Q上半期NGOKOKOK」、「3Q下半期OKNGNGNG」、「4Q下半期OKNGOKOK」。
この例では、旧表の3列目の文字列は、「1Q下半期OKNGOKNG」となっている。
一方、新表の3〜6列目の各列の文字列は、次のようになっている。
「1Q上半期OKNGOKNG」、「2Q上半期NGOKOKOK」、「3Q下半期OKNGNGNG」、「4Q下半期OKNGOKOK」。
この例では、旧表の3列目の文字列「1Q下半期OKNGOKNG」と、新表の上記4列分の文字列の各々とを比較し、一致率を計算する。なお、本実施形態では、この比較に際し、文字の順番は考慮しない。
次いで、最大の一致率を把握し、さらに、この最大の一致率が閾値よりも大きいか否かを判断する。本実施形態では、最大の一致率は、旧表の3列目と新表の3列目とを比較した場合の一致率であり、92%となっている。そして、この一致率は、閾値(例えば80%)を超える。
このため、この例では、旧表の3列目と新表の3列目とが一致すると判断する(旧表の3列目と新表の3列目とが対応付いた旨が出力される)。
次いで、最大の一致率を把握し、さらに、この最大の一致率が閾値よりも大きいか否かを判断する。本実施形態では、最大の一致率は、旧表の3列目と新表の3列目とを比較した場合の一致率であり、92%となっている。そして、この一致率は、閾値(例えば80%)を超える。
このため、この例では、旧表の3列目と新表の3列目とが一致すると判断する(旧表の3列目と新表の3列目とが対応付いた旨が出力される)。
なお、ここでは、文字列を比較して一致率を算出したが、図5にて説明したように、一致するセルの割合に基づき、列の一致、不一致を判断してもよい。
また、図16では、文字の順番を考慮せずに、文字列同士の比較を行ったが、文字の順番を考慮に入れて、文字列同士の比較を行ってもよい。
また、図16では、文字の順番を考慮せずに、文字列同士の比較を行ったが、文字の順番を考慮に入れて、文字列同士の比較を行ってもよい。
なお、文字の順番を考慮しない場合は、セル内の文字の変更や、行(列)の順番の入れ替わりや、行(列)の追加/削除があっても、行(列)の対応関係が正しく把握される可能性が高まる。
具体的には、図17(文字を比較した場合の一致率を示した図)の破線17A、17Bで示すように、例えば、行の入れ替わりが、旧表と新表との間にあっても、旧表の3列目と新表の各列とを比較した場合、符号17Cで示すように、新表の3列目との一致率が86%となり、列の対応関係を正しく把握しうる。
これに対し、文字の順番を考慮する場合は、符号17Dで示すように、一致率が低くなり、列の対応関係の把握が困難になる。
具体的には、図17(文字を比較した場合の一致率を示した図)の破線17A、17Bで示すように、例えば、行の入れ替わりが、旧表と新表との間にあっても、旧表の3列目と新表の各列とを比較した場合、符号17Cで示すように、新表の3列目との一致率が86%となり、列の対応関係を正しく把握しうる。
これに対し、文字の順番を考慮する場合は、符号17Dで示すように、一致率が低くなり、列の対応関係の把握が困難になる。
その一方で、文字の順番を考慮する場合は、似たような文字が複数回出てくる態様のときに、行(列)の対応関係が正しく把握されやすい。
具体的には、「OK」や「NG」などの似たような文字が複数回出てくるときに、行(列)の対応関係が正しく把握されやすい。
似たような文字が複数回出てくる場合、文字の順番を考慮しないと、全て高い一致率になるおそれがある。このため、似たような文字が複数回存在する場合には、文字の順番を考慮した方が好ましい。
具体的には、「OK」や「NG」などの似たような文字が複数回出てくるときに、行(列)の対応関係が正しく把握されやすい。
似たような文字が複数回出てくる場合、文字の順番を考慮しないと、全て高い一致率になるおそれがある。このため、似たような文字が複数回存在する場合には、文字の順番を考慮した方が好ましい。
図18(A)、(B)は、差異検出装置200の他の構成例を示した図である。
図18に示す構成例では、(A)、(B)に示すように、見出し有無判定手段の一例としての見出し有無判定部208がさらに設けられている。さらに、(B)に示す構成例では、見出し有無判定部208により参照される分野辞書209が設けられている。
図18に示す構成例では、(A)、(B)に示すように、見出し有無判定手段の一例としての見出し有無判定部208がさらに設けられている。さらに、(B)に示す構成例では、見出し有無判定部208により参照される分野辞書209が設けられている。
図18(A)、(B)に示す構成例では、見出し有無判定部208により見出しがあると判定されると、見出しセル比較部204により、見出し(行見出し、列見出し)の内容の比較が行われて、上記と同様に、行(列)の対応関係が把握される。
また、見出し有無判定部208により見出しがないと判定されると、全セル比較部205により、全てのセルの文字が比較されて、行(列)の対応関係が把握される。
また、見出し有無判定部208により見出しがないと判定されると、全セル比較部205により、全てのセルの文字が比較されて、行(列)の対応関係が把握される。
ここで、見出し有無判定部208は、画像の特徴や、セル内の文字の特徴により、見出しがあるかどうかを判定する。
分野辞書209は、例えば、公知のシソーラス辞書が用いられる。分野辞書209には、例えば、図19(分野辞書209を説明する図)に示すように、単語と、単語が属する分野とが互いに対応付いた状態で格納されている。
分野辞書209は、例えば、公知のシソーラス辞書が用いられる。分野辞書209には、例えば、図19(分野辞書209を説明する図)に示すように、単語と、単語が属する分野とが互いに対応付いた状態で格納されている。
図20は、図18(A)、(B)にて示した差異検出装置200により実行される処理の一例を示した図である。
この処理では、上記と同様、行(列)情報取得部201が、旧表の行(列)情報、および、新表の行(列)情報を取得する(ステップ601)。次いで、セル内文字取得部202が、旧表に含まれる各セルの文字を取得し、さらに、新表に含まれる各セルの文字を取得する(ステップ602)。
この処理では、上記と同様、行(列)情報取得部201が、旧表の行(列)情報、および、新表の行(列)情報を取得する(ステップ601)。次いで、セル内文字取得部202が、旧表に含まれる各セルの文字を取得し、さらに、新表に含まれる各セルの文字を取得する(ステップ602)。
次いで、見出し有無判定部208が、旧表および新表のそれぞれについて、見出しがあるか否かを判定する(ステップ603)。
そして、見出しがある場合(ステップ604にてNOの場合)、見出し範囲特定部203が、上記にて説明した特定手法を用いて見出し範囲を特定する(ステップ605)。次いで、見出しセル比較部204が、旧表の見出し範囲の文字列と新表の見出し範囲の文字列との比較を行う(ステップ606)。
そして、見出しがある場合(ステップ604にてNOの場合)、見出し範囲特定部203が、上記にて説明した特定手法を用いて見出し範囲を特定する(ステップ605)。次いで、見出しセル比較部204が、旧表の見出し範囲の文字列と新表の見出し範囲の文字列との比較を行う(ステップ606)。
そして、見出しセル比較部204は、比較が成功したか否かを判断し(ステップ607)、成功した場合には、旧表の行(列)と新表の行(列)との対応関係を出力する(ステップ609)。
一方、ステップ604にて、見出しが無いと判定された場合、あるいは、ステップ607にて、比較に失敗したと判定された場合は、全セル比較部205が、各行(列)に含まれる全セルを対象として文字の比較を行う(ステップ608)。そして、結果出力部206によって、全セル比較部205による処理の結果が出力される(ステップ609)。
一方、ステップ604にて、見出しが無いと判定された場合、あるいは、ステップ607にて、比較に失敗したと判定された場合は、全セル比較部205が、各行(列)に含まれる全セルを対象として文字の比較を行う(ステップ608)。そして、結果出力部206によって、全セル比較部205による処理の結果が出力される(ステップ609)。
ここで、見出し有無判定部208による見出しの有無の判定は、例えば、上記と同様、外見上の違いを利用して行う。
見出し有無判定部208は、例えば、1行(列)目を含むセル群の外見と、それ以外のセル群の外見との間に違いが無い場合、見出しがないと判定する。
ここで、外見の違いがあるか否かは、上記と同様、セルの背景の違い(色つき/色なし、ハッチングの有無等)、文字の違い(フォント、サイズの大小、色、太字/細字等)、罫線の違い(二重線/一重線、太線/細線、実線/点線、線の濃淡等)などに基づき判断される。
見出し有無判定部208は、例えば、1行(列)目を含むセル群の外見と、それ以外のセル群の外見との間に違いが無い場合、見出しがないと判定する。
ここで、外見の違いがあるか否かは、上記と同様、セルの背景の違い(色つき/色なし、ハッチングの有無等)、文字の違い(フォント、サイズの大小、色、太字/細字等)、罫線の違い(二重線/一重線、太線/細線、実線/点線、線の濃淡等)などに基づき判断される。
また、見出しの有無の判定は、類似性に基づき行ってもよい。
具体的には、例えば、1行目のセルと、それ以外の行のセルとを比較して、類似性が高い場合は、行の冒頭や列の冒頭に見出しがないと判定する。
類似性としては、文字数の類似性や、文字種の類似性が挙げられる。
具体的には、例えば、1行目のセルと、それ以外の行のセルとを比較して、類似性が高い場合は、行の冒頭や列の冒頭に見出しがないと判定する。
類似性としては、文字数の類似性や、文字種の類似性が挙げられる。
ここで、例えば、1行目のセルの文字数と、それ以外の行のセルの文字数との間の類似性が高い場合(文字数の差が予め定められた閾値よりも小さい場合)、1行目には見出しが無いと判定する。
また、例えば、1行目のセルと最後の行のセルとの間で、文字数の平均値、中央値、標準偏差などを比較する。そして、例えば両者の差が予め定められた閾値よりも小さい場合には、文字数の類似性が高いと判定し、各列の1行目には見出しが無いと判定する。
また、例えば、1行目のセルと最後の行のセルとの間で、文字数の平均値、中央値、標準偏差などを比較する。そして、例えば両者の差が予め定められた閾値よりも小さい場合には、文字数の類似性が高いと判定し、各列の1行目には見出しが無いと判定する。
また、文字種に基づき類似性を判断してもよく、具体的には、例えば、数字、英字などの文字種に基づき、類似性を判断する。
ここで、例えば、1行目と、最後の行などの他の行との間において、文字種の類似性が高い場合、1行目に見出しがないと判定する。
その他、例えば、1行目の内容と他の行の内容とが、同じ属性のグループに属する場合に、見出しがないと判定してもよい。より具体的には、一行目の内容と他の行の内容とが、同じ「商品コード」という属性であったり同じ「日付」という属性であったりする場合に、見出しがないと判定してもよい。
ここで、例えば、1行目と、最後の行などの他の行との間において、文字種の類似性が高い場合、1行目に見出しがないと判定する。
その他、例えば、1行目の内容と他の行の内容とが、同じ属性のグループに属する場合に、見出しがないと判定してもよい。より具体的には、一行目の内容と他の行の内容とが、同じ「商品コード」という属性であったり同じ「日付」という属性であったりする場合に、見出しがないと判定してもよい。
なお、図20では、見出しの有無の判定を先に行い、次いで、見出し範囲の特定を行ったが、図21(差異検出装置200にて行われる他の処理例を示した図)に示すように、見出し範囲の特定を先に行い、次いで、見出しの有無の判定を行ってもよい。
図21に示す処理では、上記と同様、まず、行(列)情報取得部201が、旧表の行(列)情報、および、新表の行(列)情報を取得する(ステップ701)。
次いで、セル内文字取得部202が、旧表に含まれる各セルの文字を取得し、さらに、新表に含まれる各セルの文字を取得する(ステップ702)。
次いで、セル内文字取得部202が、旧表に含まれる各セルの文字を取得し、さらに、新表に含まれる各セルの文字を取得する(ステップ702)。
次いで、ステップ703に示すように、見出し範囲特定部203が、見出し範囲の特定を行う(ステップ703)。その後、見出し範囲特定部203が、見出し範囲が1行(列)であるか否かを判断する(ステップ704)。
そして、見出し範囲が1行(列)である場合には、見出し有無判定部208が、旧表および新表のそれぞれについて、見出しの有無の判定を行う(ステップ705)。
そして、見出し範囲が1行(列)である場合には、見出し有無判定部208が、旧表および新表のそれぞれについて、見出しの有無の判定を行う(ステップ705)。
本実施形態の処理では、見出し範囲が1行である場合、見出し範囲特定部203による見出し範囲の特定が実質的になされておらず、見出し範囲が誤っている可能性がある。
具体的には、図10のステップ410にて示したように、本実施形態では、見出し範囲が特定できない場合、見出し範囲は1行であるとされる。かかる場合、本来の見出し範囲とは異なる範囲が見出し範囲とされている可能性がある。
このため、本実施形態では、見出し範囲が1行である場合には、見出し有無判定部208が、旧表および新表のそれぞれについて、見出しの有無の判定を行う(ステップ705)。
具体的には、図10のステップ410にて示したように、本実施形態では、見出し範囲が特定できない場合、見出し範囲は1行であるとされる。かかる場合、本来の見出し範囲とは異なる範囲が見出し範囲とされている可能性がある。
このため、本実施形態では、見出し範囲が1行である場合には、見出し有無判定部208が、旧表および新表のそれぞれについて、見出しの有無の判定を行う(ステップ705)。
ステップ705の処理の後、ステップ706にて、見出しが無いかどうかの判断がなされる。そして、ステップ706にて、見出しが無いと判定された場合は、全セル比較部205が、上記と同様、全セルを対象として文字の比較を行う(ステップ707)。具体的には、旧表に含まれる各行(列)の内容と、新表に含まれる各行(列)の内容とに基づき、旧表に含まれる各行(列)と、旧表に含まれる各行(列)との対応関係を把握する。
これに対し、ステップ706にて見出しが有ると判定された場合(ステップ706にてNOと判定された場合)は、旧表の見出しと新表の見出しとの比較を行う(ステップ708)。そして、見出しの比較に成功した場合(ステップ709にてYESの場合)は、結果出力を行う(ステップ710)。また、見出しの比較に失敗したときは、全セル比較部205が全セルを対象として文字の比較を行ったうえで(ステップ707)、結果出力を行う(ステップ710)。
図22は、見出しの有無の判定の具体例を示した図である。
見出し有無判定部208は、例えば、各セルの文字数をカウントする。具体的には、図22(A)にて示す表に含まれる各セル内の文字数をカウントし、図22(B)に示すように、各セルの文字数を把握する。
また、見出し有無判定部208は、各行および各列の各々について、文字数の平均値を得る(m1〜m14参照)。さらに、見出し有無判定部208は、全セルの文字数の平均値MAを得る(本実施形態ではMA=2.10)。
見出し有無判定部208は、例えば、各セルの文字数をカウントする。具体的には、図22(A)にて示す表に含まれる各セル内の文字数をカウントし、図22(B)に示すように、各セルの文字数を把握する。
また、見出し有無判定部208は、各行および各列の各々について、文字数の平均値を得る(m1〜m14参照)。さらに、見出し有無判定部208は、全セルの文字数の平均値MAを得る(本実施形態ではMA=2.10)。
図22に示す例では、m1とm2〜m7とは類似性が低いので(文字数の差が予め定められた閾値よりも大きいので)、1行目に見出しがあると判定される。
一方、m8とm9〜m14との間では、類似性が高いので(文字数の差が予め定められた閾値よりも小さいので)、1列目に見出しは無いと判定される。
一方、m8とm9〜m14との間では、類似性が高いので(文字数の差が予め定められた閾値よりも小さいので)、1列目に見出しは無いと判定される。
その他、類似性の判定には、例えばm1とMAとを用いてもよい。この場合、m1とMAとの差の絶対値が、予め定められた閾値以上ならば類似性が低いと判断され、1行目に見出しがあると判定される。一方、m1とMAとの差の絶対値が、予め定められた閾値よりも小さい場合には、類似性が高いと判断され、1行目に見出しは無いと判定される。
同様に、m8とMAとの差の絶対値が、予め定められた閾値以上ならば、1列目に見出しがあると判定され、m8とMAとの差の絶対値が、予め定められた閾値よりも小さい場合には、1列目に見出しは無いと判定される。
同様に、m8とMAとの差の絶対値が、予め定められた閾値以上ならば、1列目に見出しがあると判定され、m8とMAとの差の絶対値が、予め定められた閾値よりも小さい場合には、1列目に見出しは無いと判定される。
また、標準偏差を用いて類似性を判定してもよい。
具体的には、例えば、全セルの標準偏差σを求め、例えば、m1>c*σ(cは2などの定数)などの条件を満たす場合、類似性が低いと判定し、1行目や1列目に見出しが有ると判定する。
その一方で、この条件を満たさない場合には、類似性が高いと判定し、1行目や1列目に見出しは無いと判定する。
具体的には、例えば、全セルの標準偏差σを求め、例えば、m1>c*σ(cは2などの定数)などの条件を満たす場合、類似性が低いと判定し、1行目や1列目に見出しが有ると判定する。
その一方で、この条件を満たさない場合には、類似性が高いと判定し、1行目や1列目に見出しは無いと判定する。
図23(A)、(B)は、見出しの有無の判定の他の具体例を示した図である。
図23にて示す例では、見出し有無判定部208は、各セルの文字種を把握する。また、見出し有無判定部208は、1行目および1列目の文字種の数を把握する。
ここで、1行目では、図23(A)、(B)に示すように、全て英字であるため、文字種の数は、図23(B)に示すように「1」となる。また、1列目では、英字と数字があるため、文字種の数は2となる。
図23にて示す例では、見出し有無判定部208は、各セルの文字種を把握する。また、見出し有無判定部208は、1行目および1列目の文字種の数を把握する。
ここで、1行目では、図23(A)、(B)に示すように、全て英字であるため、文字種の数は、図23(B)に示すように「1」となる。また、1列目では、英字と数字があるため、文字種の数は2となる。
この例では、文字種の数が1の場合、類似性が高いと判定する。一方、文字種の数が2以上の場合は、類似性が低いと判定する。
そして、この例では、類似性が高い1行目には見出しが無いと判定する。付言すると、1行目の冒頭のセル(図中、左端のセル)は、見出しではないと判定する。
その一方、類似性が低い1列目には見出しが有ると判定する。具体的には、1列目の冒頭のセル(図中、上端のセル)は、見出しであると判定する。
そして、この例では、類似性が高い1行目には見出しが無いと判定する。付言すると、1行目の冒頭のセル(図中、左端のセル)は、見出しではないと判定する。
その一方、類似性が低い1列目には見出しが有ると判定する。具体的には、1列目の冒頭のセル(図中、上端のセル)は、見出しであると判定する。
なお、類似性の判定にあたり、数字/記号/漢字(例えば、AB−プリンタ)、英字/数字/記号/数字(例えば、AB4−5570)などのような文字種の並びも、類似性の判断に用いることができる。文字種の並びの種類が少ない場合、類似性が高いと判断し、文字種の並びの種類が多い場合、類似性が低いと判定する。
次に、図24を参照して、分野辞書209を使う場合を説明する。
図24は、旧表および新表の1列目を示した図である。図24では、上下方向に並ぶ5つのセルを示している。
図18(B)にて示した見出し有無判定部208は、分野辞書209を参照し、各セルの分野を判定する。ここで、図24で示す例では、何れのセルも「Stationery」であると判定される。
図24は、旧表および新表の1列目を示した図である。図24では、上下方向に並ぶ5つのセルを示している。
図18(B)にて示した見出し有無判定部208は、分野辞書209を参照し、各セルの分野を判定する。ここで、図24で示す例では、何れのセルも「Stationery」であると判定される。
そして、見出し有無判定部208は、各セルの類似性を判定する。ここで、この例では、分野が全て同じであり、類似性が高いと判定する。
そして、この場合、見出し有無判定部208は、1列目には、見出しがないと判定する。より具体的には、1列目の最上位のセルは、見出しではないと判定する。
そして、この場合、見出し有無判定部208は、1列目には、見出しがないと判定する。より具体的には、1列目の最上位のセルは、見出しではないと判定する。
図25は、見出しの比較順序を示した図である。
表には、行の見出し(各行の冒頭などに位置する行見出し)と、列の見出し(各列の冒頭などに位置する列見出し)が存在する。
本実施形態では、図25の符号25Aに示すように、見出しの比較を行うにあたり、まず、列の見出しについての比較を、旧表と新表との間で行う。なお、列の見出しの比較に失敗した場合には、上記にて説明したように、また、符号25Bに示すように、全セルについて、文字を比較する。そして、列同士の対応関係を把握する。
表には、行の見出し(各行の冒頭などに位置する行見出し)と、列の見出し(各列の冒頭などに位置する列見出し)が存在する。
本実施形態では、図25の符号25Aに示すように、見出しの比較を行うにあたり、まず、列の見出しについての比較を、旧表と新表との間で行う。なお、列の見出しの比較に失敗した場合には、上記にて説明したように、また、符号25Bに示すように、全セルについて、文字を比較する。そして、列同士の対応関係を把握する。
次いで、本実施形態では、図25の符号25Cに示すように、行の見出しについての比較を、旧表と新表との間で行う。なお、行の見出しの比較に失敗した場合には、上記にて説明したように、また、符号25Dに示すように、全セルについて、文字を比較する。そして、行同士の対応関係を把握する。
なお、これは一例であり、行の見出しについての比較を先に行い、次いで、列の見出しについての比較を行ってもよい。
なお、これは一例であり、行の見出しについての比較を先に行い、次いで、列の見出しについての比較を行ってもよい。
本実施形態では、このように、旧表と新表との間において、行および列の対応関係が把握される。これにより、本実施形態では、旧表の各セルの各々と、新表の各セルの各々との対応関係も把握できるようになる。
本実施形態では、旧表と新表との間にて各セルの対応関係が把握された後、図2等にて示した差異検出部207が、互いに対応付いたセル同士(セルの内容)を比較する。これにより、差異検出部207にて、2つの表の差異が検出される。
本実施形態では、旧表と新表との間にて各セルの対応関係が把握された後、図2等にて示した差異検出部207が、互いに対応付いたセル同士(セルの内容)を比較する。これにより、差異検出部207にて、2つの表の差異が検出される。
そして、検出された差異(差異検出部207による検出結果)は、ユーザに通知される。
具体的には、例えば、表示部107(図1参照)を通じてユーザに通知される。
また、例えば、検出された差異は、ユーザのPC(Personal Computer、不図示)へ出力され、このPC上に表示される。
具体的には、例えば、表示部107(図1参照)を通じてユーザに通知される。
また、例えば、検出された差異は、ユーザのPC(Personal Computer、不図示)へ出力され、このPC上に表示される。
また、例えば、検出された差異は、画像形成手段の一例としての画像形成部109(図1参照)に出力され、差異を表す画像(差異検出部207による検出結果を示す画像)が、用紙などの記録材に形成される。
なお、記録材への画像の形成に際しては、テキストを形成してもよい。また、例えば、記録材への画像の形成に際しては、旧表の画像、新表の画像の2つの表の画像を形成するとともに、差異がある箇所に色などを付すようにしてもよい。
なお、記録材への画像の形成に際しては、テキストを形成してもよい。また、例えば、記録材への画像の形成に際しては、旧表の画像、新表の画像の2つの表の画像を形成するとともに、差異がある箇所に色などを付すようにしてもよい。
(その他)
上記では、列の対応関係および行の対応関係の2つの対応関係を把握したうえで、各セルの対応関係を把握する場合を一例に説明したが、列の対応関係および行の対応関係のうちの一方の対応関係のみを把握し、この一方の対応関係に基づいて、各セルの対応関係を把握するようにしてもよい。
上記では、列の対応関係および行の対応関係の2つの対応関係を把握したうえで、各セルの対応関係を把握する場合を一例に説明したが、列の対応関係および行の対応関係のうちの一方の対応関係のみを把握し、この一方の対応関係に基づいて、各セルの対応関係を把握するようにしてもよい。
また、本実施形態では、上記にて説明した処理が、画像形成装置10にて行われる場合を一例に説明したが、上記にて説明した処理は、例えばサーバなどの外部装置で行い、処理結果を、この外部装置から、画像形成装置10やユーザが操作するPCへ出力する形態としてもよい。
また、上記にて説明した処理を実現するためのプログラムを、PC(Personal Computer)や画像形成装置10にインストールすることにより、既存のPCや画像形成装置10に、上記にて説明した各機能を新たに組み込むこともできる。
また、上記にて説明した処理を実現するためのプログラムを、PC(Personal Computer)や画像形成装置10にインストールすることにより、既存のPCや画像形成装置10に、上記にて説明した各機能を新たに組み込むこともできる。
また、上記では、画像形成装置10にて、旧表と新表の差異を検出する場合を一例に説明したが、スキャナなどの画像読み取り装置に、差異検出装置200を設けてもよい。
この場合、例えば、画像読み取り手段の一例としての画像読み取り部にて、旧表が記載された原稿、新表が記載された原稿が読み取られる。そして、この読み取りにより得られた読み取り画像から、2つの表の画像が取得される。
この場合、例えば、画像読み取り手段の一例としての画像読み取り部にて、旧表が記載された原稿、新表が記載された原稿が読み取られる。そして、この読み取りにより得られた読み取り画像から、2つの表の画像が取得される。
その後、この2つの表の画像が解析されて、2つの表の各々の列見出しおよび/または行見出しの内容が取得される。その後、見出しの内容に基づき、旧表に含まれる各行(列)と新表に含まれる各行(列)との対応関係が把握される。次いで、画像読み取り装置では、把握されたこの対応関係に基づき、各セルの比較が行われ、差異が検出される。差異の検出結果は、画像読み取り装置の表示パネルに表示されたり、PCやサーバなどの他の装置へ送信されたりする。
10…画像形成装置、108…画像読み取り部、109…画像形成部、200…差異検出装置、202…セル内文字取得部、203…見出し範囲特定部、204…見出しセル比較部、205…全セル比較部、207…差異検出部、208…見出し有無判定部
Claims (10)
- 行および列を有する表の列見出しおよび/または行見出しの内容を取得する内容取得手段と、
第1の表に含まれる各列および/または各行と、当該第1の表とは異なる第2の表に含まれる各列および/または各行との対応関係を、前記内容取得手段により取得された内容に基づき把握する対応関係把握手段と、
を備える情報処理装置。 - 前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段を更に備える請求項1に記載の情報処理装置。
- 前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段を更に備える請求項1又は2に記載の情報処理装置。
- 前記第1の表および前記第2の表の各々における前記列見出しの範囲および/または前記行見出しの範囲を特定する見出し範囲特定手段を更に備える請求項1乃至3の何れかに記載の情報処理装置。
- 前記見出し範囲特定手段は、複数の特定手法を用いて、見出し範囲の特定を行うことを特徴とする請求項4に記載の情報処理装置。
- 前記第1の表および前記第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定する見出し有無判定手段を更に備え、
前記対応関係把握手段は、前記見出し有無判定手段によって見出しが無いと判定された場合、前記第1の表に含まれる各列の内容および/または各行の内容と、前記第2の表に含まれる各列の内容および/または各行の内容とに基づき、当該第1の表に含まれる各列および/または各行と、当該第2の表に含まれる各列および/または各行との対応関係を把握することを特徴とする請求項1に記載の情報処理装置。 - 前記見出し有無判定手段は、前記第1の表および前記第2の表の各々に含まれるセルに格納された情報の類似性に基づき、当該第1の表および当該第2の表の各々に、前記列見出しおよび/または前記行見出しが有るか否かを判定することを特徴とする請求項6に記載の情報処理装置。
- 行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、
前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、
前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、
を備える画像読み取り装置。 - 行および列を有する表が記載された原稿を読み取ることが可能な画像読み取り手段と、
前記画像読み取り手段により得られた読み取り画像から、第1の表および第2の表の2つの表の画像を取得するとともに、取得した当該画像を解析して、当該2つの表の各々の列見出しおよび/または行見出しの内容を取得する内容取得手段と、
前記内容取得手段により取得された内容に基づき、前記2つの表のうちの一方の表に含まれる各列および/または各行と、他方の表に含まれる各列および/または各行との対応関係を把握する対応関係把握手段と、
前記対応関係把握手段により把握された対応関係に基づき、前記第1の表と前記第2の表との差異を検出する差異検出手段と、
前記差異検出手段による検出結果を示す画像を記録材に形成する画像形成手段と、
を備える画像形成装置。 - 行および列を有する表の列見出しおよび/または行見出しの内容を取得する内容取得機能と、
第1の表に含まれる各列および/または各行と、当該第1の表とは異なる第2の表に含まれる各列および/または各行との対応関係を、前記内容取得機能により取得された内容に基づき把握する対応関係把握機能と、
をコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015233805A JP2017102587A (ja) | 2015-11-30 | 2015-11-30 | 情報処理装置、画像読み取り装置、画像形成装置、および、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015233805A JP2017102587A (ja) | 2015-11-30 | 2015-11-30 | 情報処理装置、画像読み取り装置、画像形成装置、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017102587A true JP2017102587A (ja) | 2017-06-08 |
Family
ID=59015463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015233805A Pending JP2017102587A (ja) | 2015-11-30 | 2015-11-30 | 情報処理装置、画像読み取り装置、画像形成装置、および、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017102587A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019105957A (ja) * | 2017-12-12 | 2019-06-27 | コニカミノルタ株式会社 | 文書構成解析システム、文書構成解析方法、プログラム |
-
2015
- 2015-11-30 JP JP2015233805A patent/JP2017102587A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019105957A (ja) * | 2017-12-12 | 2019-06-27 | コニカミノルタ株式会社 | 文書構成解析システム、文書構成解析方法、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4742404B2 (ja) | 画像認識装置、画像形成装置、画像認識方法および画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体 | |
US10496745B2 (en) | Dictionary updating apparatus, dictionary updating method and computer program product | |
JP7033208B2 (ja) | 証明文書認識方法及び装置、電子機器並びにコンピュータ可読記憶媒体 | |
JP4682284B2 (ja) | 文書差分検出装置 | |
JPH11120293A (ja) | 文字認識/修正方式 | |
RU2665274C2 (ru) | Всплывающая панель верификации | |
US11348331B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
US10242277B1 (en) | Validating digital content rendering | |
US9330311B1 (en) | Optical character recognition | |
US8744171B1 (en) | Text script and orientation recognition | |
JP5661214B1 (ja) | 文字データ修正方法、文字データ修正装置およびプログラム | |
US6958755B1 (en) | Personalized computer fonts | |
JP2017102587A (ja) | 情報処理装置、画像読み取り装置、画像形成装置、および、プログラム | |
US11972208B2 (en) | Information processing device and information processing method | |
US11113558B2 (en) | Information processing apparatus and non-transitory computer readable medium storing information processing program for character string extraction | |
US20210042555A1 (en) | Information Processing Apparatus and Table Recognition Method | |
JP6325218B2 (ja) | 文字認識結果検証装置及び文字読取システム | |
US9405997B1 (en) | Optical character recognition | |
US20200304683A1 (en) | Image processing apparatus and non-transitory computer readable medium | |
JP7226136B2 (ja) | 情報処理装置及びプログラム | |
US11574490B2 (en) | Information processing apparatus and non-transitory computer readable medium storing information processing program | |
JP7234554B2 (ja) | 情報処理装置及びプログラム | |
JP5632110B1 (ja) | 文字データ修正方法、文字データ修正装置およびプログラム | |
US20230359828A1 (en) | Information processing apparatus, information processing method, and storage medium for extracting a named entity from a document | |
US20230108505A1 (en) | Information processing apparatus |