(57)【特許請求の範囲】
【請求項１】
データ分析のためのデータクレンジング処理を含む処理を行うデータクレンジングサーバを備えるデータクレンジングシステムであって、
前記データクレンジングサーバは、
ユーザの操作に基づいて、前記データクレンジング処理の定義及びポリシを含む設定情報であって前記データクレンジング処理の結果に関する利用可否のフラグを含む設定情報を設定する設定部と、
前記設定情報に基づいて、前記データ分析のために、元データであるデータクレンジング前データである第１のデータにおける不正な項目を含む第１のデータセットを取り除く前記データクレンジング処理を行い、その結果として、データクレンジング後データである第２のデータを得る、データクレンジング部と、
前記第１のデータから取り除かれた前記第１のデータセットに関する情報を含む、前記データクレンジング部による前記データクレンジング処理の履歴をテーブルに保存して参照可能とする処理を行うクレンジング履歴管理部と、
前記履歴のテーブルを参照することで、前記第１のデータから取り除かれた前記第１のデータセットにおける、前記不正な項目であって前記データ分析に利用不可能な項目である第１の項目と、それ以外の項目であって不正ではない項目であって前記データ分析に利用可能な項目である第２の項目と、を判断する判断部と、
前記判断の結果に基づいて、前記第２のデータに対応する前記履歴から、前記データ分析に利用可能な項目である前記第２の項目を抽出する抽出部と、
前記ユーザの操作に基づいて、前記第２のデータと、前記履歴から抽出された前記第２の項目と、を利用した前記データ分析を行う分析部と、
を有すること、を特徴とするデータクレンジングシステム。
【請求項２】
データ分析のためのデータクレンジング処理を含む処理を行うデータクレンジングサーバを備えるデータクレンジングシステムにおける前記データクレンジングサーバに前記処理を実行させるプログラムであって、
前記データクレンジングサーバに実行させる処理として、
ユーザの操作に基づいて、前記データクレンジング処理の定義及びポリシを含む設定情報であって前記データクレンジング処理の結果に関する利用可否のフラグを含む設定情報を設定する第１の処理と、
前記設定情報に基づいて、前記データ分析のために、元データであるデータクレンジング前データである第１のデータにおける不正な項目を含む第１のデータセットを取り除く前記データクレンジング処理を行い、その結果として、データクレンジング後データである第２のデータを得る、第２の処理と、
前記第１のデータから取り除かれた前記第１のデータセットに関する情報を含む、前記第２の処理による前記データクレンジング処理の履歴をテーブルに保存して参照可能とする第３の処理と、
前記履歴のテーブルを参照することで、前記第１のデータから取り除かれたデータセットにおける、前記不正な項目であって前記データ分析に利用不可能な項目である第１の項目と、それ以外の項目であって不正ではない項目であって前記データ分析に利用可能な項目である第２の項目と、を判断する第４の処理と、
前記判断の結果に基づいて、前記第２のデータに対応する前記履歴から、前記データ分析のために利用可能な項目である前記第２の項目を抽出する第５の処理と、
前記ユーザの操作に基づいて、前記第２のデータと、前記履歴から抽出された前記第２の項目と、を利用した前記データ分析を行う第６の処理と、
を有すること、を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ分析の情報処理技術に関する。特に、データ分析におけるデータクリーニング（データクレンジング等）の技術に関する。
【背景技術】
【０００２】
データ分析において、正しい分析は正しいデータに基づくことに起因して、元データからデータ分析可能なデータセットにする操作・処理であるデータクリーニング（データクレンジング）操作・処理が重要である。
【０００３】
従来は、データクリーニング操作・処理において、あるデータセット（行）において１つの項目（フィールド、列）にでも不正があった場合は、そのデータセット（行）は破棄され、分析に利用されなかった。
【０００４】
先行技術例として、特開２００８−５３７２６６号公報（特許文献１）などがある。特許文献１（「適応性のあるデータクリーニング」）では、データクレンジング処理プロセスの最適化及び標準化を実現している旨が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−５３７２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来は、データ分析に係わる元データを分析可能なデータセットにするためのデータクリーニング操作・処理における履歴を保存する仕組み（方式）は無かった。
【０００７】
上記履歴を保存する仕組みが無かったことにも起因して、従来は、前述のように、データクリーニング操作・処理において、あるデータセット（行）において１つの項目（フィールド、列）にでも不正があった場合は、そのデータセット（行）は破棄（削除）されて、分析に利用（活用）されなかった。即ち、上記データセット（行）のうち、不正があった一部の項目（フィールド、列）以外の項目について、不正が無いとしても破棄されており、上記破棄データセットを除いた後のデータを対象に情報量が減った状態でデータ分析に利用していたことになる。不正のため破棄されていたデータ情報のうち不正ではないデータ情報について、データ分析に活用できていなかった。
【０００８】
なお前記特許文献１は、データクレンジング処理プロセスの改善の方式であり、データ可用性を向上させる方式ではない。
【０００９】
以上を鑑み、本発明の主な目的は、データ分析に係わるデータクリーニング（データクレンジング）等の技術に関して、データクリーニング操作・処理の履歴を保存及び参照する仕組み等を設けることにより、対象データのうち従来は破棄されていた不正が無いデータ項目についてもデータ分析に利用（活用）できるようになる技術を提供することである。
【課題を解決するための手段】
【００１０】
本発明のうち代表的な形態は、コンピュータの情報処理を用いて実現される、データ分析のためのデータクレンジング処理を含む処理を行うデータクレンジングシステム等であって、以下に示す構成を有することを特徴とする。
【００１１】
本形態のシステムでは、データ分析のために、元データ（第１のデータ）から分析可能なデータ（第２のデータ）にするためのデータクレンジング（データクリーニング）操作・処理を行う第１の処理部（元データの中から潜在する不正がある項目（フィールド、列）を含むデータセット（行）を削除（取り除く）する処理を含む）と、前記第１の処理部のデータクレンジング操作・処理における履歴をテーブルに保存し参照可能とする処理を行う第２の処理部と、を有する。
【００１２】
そして本形態のシステムは、前記第２の処理部により保存された履歴のデータ情報を参照して、元データから削除されたデータセット（行）の中で、不正がある項目と、それ以外の項目とを判断し、当該それ以外の項目に不正が無いことを確認（保証）する処理を行う第３の処理部と、当該不正が無いことが確認（保障）された項目を抽出する処理を行う第４の処理部と、を有する。上記不正が無いことが確認された項目（データ）がデータ分析（特に項目ごとの計算）に利用可能になる。
【発明の効果】
【００１３】
本発明のうち代表的な形態によれば、データ分析に係わるデータクリーニング（データクレンジング）等の技術に関して、データクリーニング操作・処理の履歴を保存及び参照する仕組み等を設けることにより、対象データのうち従来は破棄されていた不正が無いデータ項目についてもデータ分析に利用（活用）できるようになる。
【００１４】
従来は情報として見落とされていたデータ項目を分析に利用可能にすることにより、分析精度の向上などが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施の形態のシステム（処理履歴保存システムを含むデータクレンジングサーバを含んで成るデータクレンジングシステム）の全体構成を示す図である。
【図２】本実施の形態のシステムの全体の処理フローチャートを示す。
【図３】クレンジング処理（S202）の詳細処理のフロー図を示す。
【図４】欠損値確認処理（S301）の詳細処理のフロー図を示す。
【図５】不正文字処理（S302）の詳細処理のフロー図を示す。
【図６】異常値処理（S303）の詳細処理のフロー図を示す。
【図７】値の単位揃え処理（S304）の詳細処理のフロー図を示す。
【図８】値の形式変換（全半角統一）処理（S305）の詳細処理のフロー図を示す。
【図９】値の齟齬確認処理（S306）の詳細処理のフロー図を示す。
【図１０】値の正規化（郵便番号）処理（S307）の詳細処理のフロー図を示す。
【図１１】値の正規化（住所）処理（S308）の詳細処理のフロー図を示す。
【図１２】値の正規化（なまえ）処理（S309）の詳細処理のフロー図を示す。
【図１３】値の正規化（電話番号）処理（S310）の詳細処理のフロー図を示す。
【図１４】分析用データ総合判定処理（S203）の詳細処理のフロー図を示す。
【図１５】分析用データロード処理（S204）の詳細処理のフロー図を示す。
【図１６】分析用データテーブル処理（分析用データテーブルを利用した分析処理）（S205）を行う場合のシステム構成例を示す図である。
【図１７】クレンジング履歴活用分析実行処理（S206）の詳細処理例（分析データ抽出方法・分析処理の例）を示すフロー図である。
【図１８】クレンジング履歴活用分析実行処理（S206）を行う場合のシステム構成例を示す図である。
【図１９】本実施の形態のシステム（データクレンジングシステム）の概要（機能）構成を示す図である。
【図２０】元データ（元データテーブル）の定義の例を示す図である。
【図２１】元データ（元データテーブル）の値の例を示す図である。
【図２２】（ａ）クレンジングマスタテーブルの定義，（ｂ）クレンジングマスタテーブルの値の例を示す図である。
【図２３】（ａ）分析データフィールド管理テーブルの定義，（ｂ）分析データフィールド管理テーブルの値の例を示す図である。
【図２４】クレンジングポリシマスタテーブルの定義を示す図である。
【図２５】クレンジングポリシマスタテーブルの値の例を示す図である。
【図２６】クレンジング結果テーブルの定義を示す図である。
【図２７】クレンジング結果テーブルの値の例を示す図である。
【図２８】（ａ）クレンジング結果詳細テーブルの定義，（ｂ）クレンジング結果詳細テーブルの値の例を示す図である。
【図２９】分析用データテーブルの定義を示す図である。
【図３０】分析用データテーブルの値の例を示す図である。
【図３１】対比表の定義を示す図である。
【図３２】対比表の値の例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。なお「クレンジング」と「クリーニング」等は同様の意味である。
【００１７】
［概要等］
本実施の形態では、分析用データの高可用化のためのデータクレンジング処理における処理履歴保存システム等を提供する。図１で言えば、処理履歴保存システム１１６を備えるデータクレンジングサーバ１０３等（データクレンジングサーバ１０３を含んで成るデータクレンジングシステム）を提供する。対応して、図１９に、本システム（履歴管理機能を含むデータクレンジングシステム１）の概要（機能）構成を示している。
【００１８】
従来は、データクレンジング操作・処理の履歴を保存・参照する仕組み（手段）は無かったため、対象データセット（行）のうち不正があった項目（フィールド、列）以外の項目（フィールド、列）について、上記履歴により不正が無いということを保障（確認）することはできなかった。また、その保証（確認）に基づき、当該不正があった項目以外の項目を、データ分析に利用することはできなかった。
【００１９】
一方、本形態では、データクレンジング操作・処理の履歴（クレンジング履歴）を管理（保存及び参照等）する仕組み（手段）を有する。また、対象データ（データセット）のデータ項目（フィールド、列）の不正が無いことを保障（確認）する手段、及び、上記不正が無いことが保障（確認）されたデータ項目（フィールド、列）（従来は破棄されていたデータ）を分析に利用可能なデータ項目として抽出する手段などを有する。図１９で言えば、クレンジング履歴管理部１２、不正有無・利用可否判断部１３、及び分析用データ抽出部１４が対応する手段（機能）である。
【００２０】
本形態では、上記履歴を参照することにより、分析対象データ（クレンジング前データ２１、クレンジング後データ２２）のうち、分析に利用可能な項目（データ）と、分析に利用できない項目（データ）とを同定（分類等）し、分析に利用可能な項目（データ）を抽出して分析に利用可能とする方式である。即ち、従来では破棄されていた利用可能なデータ情報（データセット（行）のうち一部のフィールド（列）が不正であることから一緒に破棄されていた（不正ではない）他のフィールド（列））を、分析に利用可能にする方式である。
【００２１】
図１９で、データクレンジング部１１は、設定（１０，２０）に基づき、クレンジング前データ２１をデータクレンジング処理（不正があるデータセット（行）を削除する処理を含む）してクレンジング後データ２２とする。クレンジング履歴管理部１２は、データクレンジング部１１によるデータクレンジング処理・操作の履歴の情報を保存し参照可能とする（クレンジング履歴２３）。不正有無・利用可否判断部１３は、対象データ（２１，２２）及びクレンジング履歴２３を参照し、クレンジング処理で削除されたデータセット（行）における各項目（フィールド、列）における不正の有無を確認（保証）し、利用可否を判断する（判断データ２４）。分析用データ抽出部１４は、判断部（１３）の判断（２４）をもとに、対象データ（２１，２２）から利用可能なデータ項目（削除されたデータセット（行）における不正が無いことが確認（保証）された項目）を抽出し、分析用データ２５とする。ユーザは分析用データ２５を使用したデータ分析が可能となる。
【００２２】
［システム構成］
図１に、本実施の形態のシステム（処理履歴保存システム１１６を含むデータクレンジングサーバ１０３を含んで成るデータクレンジングシステム）の全体構成を示している。本システム全体は、データ分析者（Ｕ）が操作する端末装置（分析者操作端末）１０１と、データクレンジングサーバ１０３とがネットワーク１０２で接続される構成である。データ分析者（Ｕ）は、端末装置１０１を用いてデータ分析を実行する。データ分析者（Ｕ）は、端末装置１０１からネットワーク１０２を経由してデータクレンジングサーバ１０３にアクセスし、分析に必要なデータ等にアクセスする。データクレンジングサーバ１０３は、サーバ装置及びそのソフトウェアプログラム処理などで構成され、本実施の形態で特有の処理履歴保存システム１１６（対応する本実施の形態のプログラム等）を含んで成る。なお１０３をデータクレンジングシステムと捉えてもよい。処理履歴保存システム１１６は、データクレンジング処理の履歴を保存するシステムであり、コンピュータ装置やソフトウェアプログラム処理などで実現される。
【００２３】
処理履歴保存システム１１６は、構成要素の処理部（対応する機能、装置／プログラム等）として、分析用データ作成ポリシ設定処理部１０４、クレンジング処理部１０５、分析用データ総合判定処理部１０６、分析用データロード処理部１０７、分析用データテーブル処理部１０８、クレンジング履歴活用分析実行処理部１０９等を有する構成である。また１１６で、これらの処理部では、データ情報（対応する記憶部）として、元データテーブル１１０、クレンジングマスタテーブル１１１、クレンジングポリシマスタテーブル１１２、クレンジング結果テーブル１１３、クレンジング結果詳細テーブル１１４、分析用データテーブル１１５、等を操作して処理を行う。
【００２４】
なお上記１１６を構成する各部（機能）は、個別の装置やプログラムモジュールで構成され連携する構成でもよいし、適宜機能を分離・統合した構成でもよい。また上記各データ情報は、それぞれ、当該データ情報を記憶・管理する装置やテーブルやＤＢなど（記憶部）で構成されもよいし、当該データ情報を適宜分離・統合して管理してもよい。
【００２５】
分析用データ作成ポリシ設定処理部１０４は、データクレンジング処理のポリシを設定（Ｕによる）する処理を行う。
【００２６】
クレンジング処理部１０５は、分析ポリシに従って元データをクレンジング処理する。
【００２７】
分析用データ総合判定処理部１０６は、クレンジング処理の履歴から、データ列毎に利用可能と利用不可能とを判定する処理を行う。
【００２８】
分析用データロード処理部１０７は、分析に利用可能なデータ列だけを抽出する処理を行う。
【００２９】
分析用データテーブル処理部１０８は、分析に利用可能なデータ列だけを用いた分析処理を行う。
【００３０】
クレンジング履歴活用分析実行処理部１０９は、クレンジング処理の履歴を参照して、分析に利用不可能なデータ列から、分析に利用可能なフィールドを抽出して活用する分析処理を行う。
【００３１】
元データテーブル１１０は、クレンジング処理される前の分析する元データである。
【００３２】
クレンジングマスタテーブル１１１は、クレンジング処理する処理一覧が定義される。
【００３３】
クレンジングポリシマスタテーブル１１２は、クレンジング処理におけるポリシ（クレンジングポリシ、分析ポリシ）が設定される。
【００３４】
クレンジング結果テーブル１１３は、クレンジング結果データが格納されるテーブルであり、元データ（１１０）と同じテーブルスキーマを持ち、クレンジング処理されたフィールドに附番される。
【００３５】
クレンジング結果詳細テーブル１１４は、クレンジング結果テーブル１１３に附番されたフィールドに対するクレンジング処理履歴が全て保存される。
【００３６】
分析用データテーブル１１５は、クレンジング処理の履歴から、分析に利用可能なデータ列（データ項目）だけが格納される。
【００３７】
［システム処理］
図２に、図１のシステムの全体の処理フローを示す（S201等は処理ステップを表す）。各処理ステップの詳細は後述される。
【００３８】
（S201）  本システムは、S201でまず１０４による分析用データ作成ポリシ設定を行う。クレンジングポリシマスタテーブル１１２にポリシが設定される。
【００３９】
（S202）  その後、S202では、S201のポリシに従って、１０５によるクレンジング処理を行う（→図３）。
【００４０】
（S203）  S202のクレンジング処理後、S203で、１０６による分析用データ総合判定処理を行う（→図１４）。
【００４１】
（S204）  S203の判定に従って、S204で、１０７による分析用データロード処理を行う（→図１５）。
【００４２】
（S205）  S204の後、分析用データテーブルを利用して分析を行う場合は、S205で、１０８により、S204でロードされた分析用データの処理である分析用データテーブル処理を行う（→図１６）。
【００４３】
（S206）  または、クレンジング履歴を利用して分析を行う場合は、S206で、１０９により、「元データ」と「クレンジング履歴」を活用したクレンジング履歴活用分析処理を行う（→図１７，図１８）。これにより高可用なデータ活用が実現される。
【００４４】
［S202］
図３に、図２のクレンジング処理（S202）の詳細処理内容例のフローを示す。本クレンジング処理（S202）は１０５により以下の処理ステップの順序で処理される。これらの各処理は、図２２（ａ），（ｂ）に示すクレンジングマスタテーブル１１１で示される。各処理ステップの詳細は後述される。
【００４５】
（S301）欠損値確認処理（→図４）
（S302）不正文字列処理（→図５）
（S303）異常値処理（→図６）
（S304）値の単位揃え処理（→図７）
（S305）値の形式変換（全半角統一）処理（→図８）
（S306）値の齟齬確認処理（→図９）
（S307）値の正規化（郵便番号）処理（→図１０）
（S308）値の正規化（住所）処理（→図１１）
（S309）値の正規化（なまえ）処理（→図１２）
（S310）値の正規化（電話番号）処理（→図１３）。
【００４６】
図２２（ａ）に、クレンジングマスタテーブル１１１（クレンジング処理を定義する）の定義（テーブルスキーマ）を示す。（ｂ）に、同テーブル（１１１）の値（例）を示す。CIDはクレンジングマスタＩＤである。CNameはクレンジング処理名称である。なお本テーブル（１１１）は一例であって実際のデータクレンジング処理では行が多様にある。以下に示すクレンジング処理（S301等）は、図２２（ａ），（ｂ）のテーブル（１１１）の定義，値に基づく。
【００４７】
［S201］
図２の分析用データ作成ポリシ設定処理（S201）では、１０４によりクレンジングポリシマスタテーブル１１２にクレンジングポリシが設定（入力）される。
【００４８】
図２４に、クレンジングポリシマスタテーブル１１２（クレンジングポリシを定義するテーブル）の定義（テーブルスキーマ）を示す。図２５に、同テーブル（１１２）の値（例）を示す。図２４，図２５のテーブル（１１２）では、各フィールド（FID）に対してどのような処理を行ったかが全て管理され保存される。図２４，図２５のFID（フィールドＩＤ）は、図２３（ａ）で定義される「分析データフィールド管理テーブル」、及び図２３（ｂ）に示される値を持つ。CPIDはクレンジングポリシマスタＩＤ、CIDは前述（図２２（ａ））、FIDは下記（図２３（ａ））、PDIDはクレンジング処理方法詳細ＩＤ、CPProはクレンジング処理方法詳細、CPFLAGはクレンジング処理方法決定フラグ、CPCRITICALはクレンジング処理結果利用可否フラグである。
【００４９】
図２３（ａ）に、分析データフィールド管理テーブル（「元データ」のフィールドを管理するテーブル）の定義（テーブルスキーマ）を示す。図２３（ｂ）に、同テーブルの値の例（図２０に従って例示）を示す。FIDは分析テーブルフィールドＩＤである。FNameは分析テーブルフィールド名称である。
【００５０】
［S301］
図４に、クレンジング処理（S202）における欠損値確認処理（S301）の詳細処理内容について示す。この処理（S301）は、図２２（ａ）の定義における図２２（ｂ）のCID＝１に基づく。なお処理主体の記載は省略するが１０５などである。
【００５１】
（S401）まず元データテーブル（１１０）を読込み、対象となる列を読込む。
【００５２】
図２０に、元データ（１１０）の定義（テーブルスキーマ）、図２１に、同テーブル（１１０）の値の例を示す。なお図２０は例であり、実際は異なる項目（フィールド、列）で構成される。図２１の値の例では、５つのデータセット（５行）を示しているが、実際のデータ分析では多くのデータセット（行）に及ぶ。BIDは元テーブルＩＤである。
【００５３】
（S402）クレンジングポリシマスタテーブル１１２（図２４，図２５）において「欠損値処理」に一致する「FID」の行を読込み、クレンジングポリシを読み込む。
【００５４】
（S403）再び読み込んだ元データテーブル１１０（行）における対象フィールド（列）を読込む。
【００５５】
（S404）フィールドの値が「欠損値」ではないかを判断する。即ち本来値があるべきフィールドに値があるかを判定する。本来値があるべきフィールドに値がある場合（Ｙ）は処理を終了する。本来値があるべきフィールドに値が無い場合（Ｎ）、以下、フィール処理ポリシに従って処理をする。
【００５６】
（S405）フィールド処理ポリシが「平均値に置き換える」である場合（Ｙ）、（S406）そのフィールドが属する列の平均値を計算してそのフィールドに挿入（置換）する。フィールド処理ポリシが「空白のままにする」である場合（Ｎ）、（S408）そのフィールドを空白のままにする。
【００５７】
その他の処理ポリシの場合（S407−Ｎ）、（S409）手入力する旨のアラートをユーザ（Ｕ）に対し表示し、（S410）ユーザ（Ｕ）により手入力をする。
【００５８】
以上の通り、欠損値の処理を終えたら、次に以下、クレンジング処理結果を保存する。（S411）クレンジング結果テーブル１１３の該当フィールドが空白の場合（Ｙ）、（S412）クレンジング結果テーブル１１３に連番を振る。クレンジング結果テーブル１１３に既に値が入っている場合（S411−Ｎ）は、そのままの値を利用する。
【００５９】
図２６に、クレンジング結果テーブル１１３（クレンジングの結果を残すテーブル）の定義（テーブルスキーマ）の例を示す。図２７に、同テーブル（１１３）の値の例を示す。本スキーマは元データ（１１０）に「最終判断」フィールド（分析用に使うか否かを示す）を追加したものになる。
【００６０】
（S413）そしてクレンジング結果詳細テーブル１１４にクレンジング結果を挿入（記述）する。
【００６１】
図２８（ａ）に、クレンジング結果詳細テーブル１１４（クレンジング結果履歴の詳細を残すテーブル）の定義（テーブルスキーマ）を示す。図２８（ｂ）に、同テーブル（１１４）の値の例を示す。本テーブル（１１４）では、図２６，図２７のクレンジング結果テーブル１１３で附番されたHID（クレンジング結果付与された番号）に対して、どのようなクレンジング処理をしたかが全て管理されて保存される。DIDはクレンジング結果詳細テーブルＩＤである。BIDは前述（図２０）、HIDはクレンジング結果付与された番号である。CPIDは前述（図２４）（クレンジング処理した方法を記録する）、CPCRITICALは前述（図２４）である。
【００６２】
［S302］
次に、図５に、不正文字列処理（S302）について示す。この処理（S302）は、図２２（ａ）の定義，図２２（ｂ）のCID＝２の例示に基づく。
【００６３】
（S501）はじめに「不正文字列」（一覧）を定義する。代表的な不正文字列は、「！“＃＄％＆‘＋；＊：？￥｜」である。
【００６４】
（S502）次にクレンジングポリシマスタテーブル１１２（図２４，図２５）において「不正文字列処理」に一致する「FID」の行を読込み、クレンジングポリシを読込む。
【００６５】
（S503）元データテーブル１１０（図２０，図２１）の対象フィールドを読込む。
【００６６】
（S504）フィールドの値が「不正文字列」に一致しないかどうかを判断する。即ち上記定義された不正文字列が該当フィールドに存在するかどうか、文字比較を行う。文字比較の結果、該当フィールドの不正文字列と一致する文字が無い場合（Ｙ）は処理を終了する。該当フィールドに不正文字列と一致する文字がある場合（Ｎ）、以下、フィールド処理ポリシに従って処理をする。
【００６７】
（S505）フィールド処理ポリシが「不正文字だけを取り除く」である場合（Ｙ）、（S506）そのフィールドの不正文字だけを取り除く。フィールド処理ポリシが「空白にする」である場合（Ｙ）、（S508）そのフィールドを空白にする。その他の処理ポリシの場合（S507−Ｎ）、（S509）手入力する旨のアラートを表示し、（S510）手入力をする。
【００６８】
以上の通り、不正文字（列）処理を終えたら、次にS511〜S513で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【００６９】
［S303］
次に、図６に、異常値処理（S303）について示す。この処理（S303）は図２２（ａ）の定義，図２２(ｂ)のCID＝３の例示に基づく。
【００７０】
（S601）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「異常値処理」に一致する「FID」の行を読込む。
【００７１】
（S602）次にクレンジングポリシを読込む。
【００７２】
（S603）元データテーブル１１０（図２０，図２１）の対象列フィールドを読み込む。
【００７３】
（S604）S605の判断（異常値の判断）のために、所定の検定処理を行う。本実施の形態では、この異常値の検定方法として「スミルノフ・グラブス検定」を用いる。
【００７４】
（S605）S604の検定に基づき、フィールドの値が「異常値」（外れ値）でないかを判断する。外れ値でない場合（Ｙ）は処理を終了する。外れ値の場合（Ｎ）、以下、該当フィールドに対して処理ポリシに従って処理をする。
【００７５】
（S606）フィールド処理ポリシが「平均値に置き換える」の場合（Ｙ）、（S607）その列の平均値を計算して当該フィールドに平均値を挿入する。フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S609）そのフィールドを空白にする。その他の処理ポリシの場合（S608−Ｎ）、（S610）手入力する旨のアラートを表示し、（S611）手入力をする。
【００７６】
以上の通り、異常値処理を終えたら、次に以下S612〜S614で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【００７７】
［S304］
次に、図７に、「値の単位揃え処理」（S304）について示す。この処理S304は、図２２（ａ）の定義、図２２（ｂ）のCID＝４の例示に基づく。
【００７８】
（S701）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の単位揃え処理」に一致する「FID」の行を読込む。
【００７９】
（S702）元データテーブル１１０（図２０，図２１）の対象列フィールドを読込む。
【００８０】
（S703）「利用可能な単位」を定義する。本実施の形態（具体例）では、「円」を単位として定義する。
【００８１】
（S704）「利用不可能な単位」を定義する。本実施の形態（具体例）では、「利用不可能な単位」として「万円」を定義する。
【００８２】
（S705）そして上記「利用可能な単位」と「利用不可能な単位」の対比表を作成する。
【００８３】
図３１に対比表の定義、図３２に対比表の値の例を示す。SIDは対比表ＩＤである。CIDは前述（図２２（ａ））、UDFは利用可能なフォーマット、UUSFは利用不可能なフォーマットを示す。S304の処理例は、対比表のCID＝４の行で表される。即ち「１万円」＝「１０，０００円」という表になる。対比表（図３１，図３２）は、図７の処理（S304）、図８の処理（S305）、図１０の処理（S307）、図１３の処理（S310）における対比表として使用される。
【００８４】
（S706）フィールド値が「利用可能な単位」かを判断する。「利用可能な単位」である場合（Ｙ）は処理を終了する。「利用可能な単位」ではない場合（Ｎ）、（S707）フィールド処理ポリシが「「利用不可能な単位」に変換」である場合（Ｙ）は、（S708）対比表を利用して「利用可能な単位」に変換する。
【００８５】
「利用可能な単位」及び「利用不可能な単位」のどちらでもない場合（S707−Ｎ）、フィールド処理ポリシに従って処理をする。（S709）フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S710）フィールドを空白にする。その他の処理ポリシの場合（S709−Ｎ）、（S711）手入力する旨のアラートを表示し、（S712）手入力をする。
【００８６】
以上の通り、値の単位揃え処理を終えたら、次に以下S713〜S715で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【００８７】
［S305］
次に、図８に、「値の形式変換（全半角統一）処理」（S305）について示す。この処理（S305は、図２２（ａ）の定義、図２２（ｂ）のCID＝５の例示に基づく。
【００８８】
（S801）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の形式変換（全半角統一）処理」に一致する「FID」の行を読込む。図２４にクレンジングポリシマスタテーブルを、図２５にその値の例をに示す。
【００８９】
（S802）元データテーブル１１０（図２０，図２１）における対象列フィールドを読込む。
【００９０】
（S803）次に対象文字列を定義する。本実施の形態（具体例）では対象となる全半角文字列を「１２３４５６７８９０ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz」と定義する。
【００９１】
（S804）次に利用可能な全角半角文字を定義する。本実施の形態（具体例）では「１２３４５６７８９０ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ」として定義する。
【００９２】
（S805）次に利用不可能な全角半角文字を定義する。本実施の形態（具体例）では利用不可能な全半角文字として「1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz」として定義する。
【００９３】
（S806）そして上記「利用可能な全半角」と「利用不可能な全半角」の対比表を作成する。本処理例の対比表（図３１，図３２）では、CID＝５の行になる。即ち、「１（全角）」＝「1（半角）」等といった表になる。
【００９４】
（S807）フィールドの値が「対象全角半角文字」を含んでいるかを判断する。フィールドの値に「対象全半角文字」が含まれていない場合（Ｎ）は処理を終了する。
【００９５】
（S808）フィールドの値が「利用可能な全角半角文字」フォーマットに一致するかを判断する。「利用可能な全角半角文字」と一致する場合（Ｙ）は処理を終了する。
【００９６】
「利用不可能な全角半角文字」の場合（S808−Ｎ）、（S809）フィールド処理ポリシが「対比表を利用して「利用可能な全角半角文字」に変換する」である場合（Ｙ）、（S810）対比表に従って「利用可能な全角半角文字」に変換する。
【００９７】
（S811）フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S812）該当文字を空白にする。その他の処理ポリシの場合（S811−Ｎ）、（S812）手入力する旨のアラートを表示し、（S814）手入力をする。
【００９８】
以上の通り、全半角文字処理（値の形式変換（全半角統一）処理）を終えたら、次に以下S815〜S817で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【００９９】
［S306］
次に、図９に、「値の齟齬確認処理」（S306）について示す。この処理（S306）は図２２（ａ）の定義、図２２（ｂ）のCID＝６の例示に基づく。
【０１００】
（S901）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の齟齬確認処理」に一致する「FID」の行を読込む。
【０１０１】
（S902）元データテーブル１１０（図２０，図２１）における対象列フィールドを読込む。本実施の形態（具体例）では、値の齟齬として元データの「性別」と「職業」において「性別＝男性」と「職業＝主婦」に齟齬があると設定されている（BID＝2）。
【０１０２】
（S903）フィールド間に齟齬があるかを判断する。例えば「性別＝男性」「職業＝主婦」となり、フィールド間の値に齟齬がある。齟齬が無い場合（Ｙ）は処理を終了する。
【０１０３】
（S904）フィールド処理ポリシが「何もしない」の場合（Ｙ）、何も操作はしない（909へ移る）。
【０１０４】
（S905）フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S906）フィールドを空白にする。その他の処理ポリシの場合（S905−Ｎ）、（S907）手入力する旨のアラートを表示し、（S908）手入力をする。
【０１０５】
以上の通り、値の齟齬確認処理を終えたら、次に以下S909〜S911で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【０１０６】
［S307］
次に、図１０に、「値の正規化（郵便番号）処理」（S307）について示す。この処理（S307）は、図２２（ａ）の定義、図２２（ｂ）のCID＝７の例示に基づく。
【０１０７】
（S1001）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の正規化（郵便番号）処理」に一致する「FID」の行を読込む。
【０１０８】
（S1002）元データテーブル１１０（図２０，図２１）の対象列フィールドを読込む。
【０１０９】
（S1003）利用可能な郵便番号（正規フォーマット）を定義する。本実施の形態（具体例）では利用可能な郵便番号として「1234567」を定義する。
【０１１０】
（S1004）利用不可能な郵便番号（非正規フォーマット）を定義する。本実施の形態（具体例）では利用不可能な郵便番号として「123-4567」を定義する。
【０１１１】
（S1005）そして上記「利用可能な郵便番号」と「利用不可能な郵便番号」の対比表を作成する。本処理例の対比表（図３１，図３２）では、CID＝７の行が該当する。即ち、「123-4567」＝「1234567」という表になる。
【０１１２】
（S1006）フィールドの値が利用可能な郵便番号（正規フォーマット）かを判断する。正規フォーマットに一致する場合（Ｙ）は処理を終了する。
【０１１３】
（S1007）フィールドの値が利用不可能な郵便番号（非正規フォーマット）かを判断する。非正規フォーマットに一致する場合（Ｙ）、以下、フィールド処理ポリシに従って処理をする（一致しない場合はS1010へ移る）。
【０１１４】
（S1008）フィールド処理ポリシが「対比表を利用して「利用可能な郵便番号」（正規フォーマット）に変換する」の場合（Ｙ）、（S1009）対比表を使って郵便番号のフォーマットを正規になるように変換する。
【０１１５】
上記「利用可能な郵便番号」及び「利用不可能な郵便番号」のどちらでもない場合、以下、フィールド処理ポリシに従って処理をする。（S1010）フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S1011）フィールドを空白にする。その他の処理ポリシの場合（S1010−Ｎ）、（S1012）手入力する旨のアラートを表示し、（S1013）手入力をする。
【０１１６】
以上の通り、郵便番号の処理を終えたら、次に以下S1014〜S1016で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【０１１７】
［S308］
次に、図１１に、「値の正規化（住所）処理」（S308）について示す。この処理（S308）は、図２２（ａ）の定義、図２２（ｂ）のCID＝８の例示に基づく。
【０１１８】
（S1101）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の正規化（住所）処理」に一致する「FID」の行を読込む。
【０１１９】
（S1102）元データテーブル１１０（図２０，図２１）の対象列フィールドを読込む。
【０１２０】
（S1103）利用可能な住所を定義する。「住所（都道府県）」で「利用可能な正規住所（都道府県）」一覧を定義する。本実施の形態（具体例）では、この住所（正規）として「北海道、青森県、・・・、沖縄県」（４７都道府県）を定義する。
【０１２１】
（S1104）フィールドの値が上記利用可能な住所（正規）の文字列に一致するかを判断する。一致する場合（Ｙ）は処理を終了する。一致しない場合（Ｎ）、即ち利用不可能な住所の場合、以下、フィールド処理ポリシに従って処理をする。
【０１２２】
（S1105）フィールド処理ポリシが「空白にする」の場合（Ｙ）、（S1106）フィールドを空白にする。その他の処理ポリシの場合（Ｎ）、（S1107）手入力する旨のアラートを表示し、（S1108）手入力をする。
【０１２３】
以上の通り、住所の処理を終えたら、次に以下S1109〜S1111で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【０１２４】
［S309］
次に、図１２に、「値の正規化（なまえ）処理」（S309）について示す。この処理（S309）は、図２２（ａ）の定義、図２２（ｂ）のCID＝９の例示に基づく。
【０１２５】
（S1201）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の正規化（なまえ）処理」に一致する「FID」の行を読込む。
【０１２６】
（S1202）元データテーブル１１０（図２０，図２１）の対象列フィールドを読込む。
【０１２７】
（S1203）利用可能な「なまえ」文字列を定義する。本実施の形態（具体例）では、利用可能な「なまえ」文字列として「あいうえおかき・・・」（全ひらがな）を定義する。
【０１２８】
（S1204）フィールドの値が上記利用可能な「なまえ」文字列で構成されているかを判断する。利用可能な「なまえ」文字列で構成されている場合（Ｙ）は処理を終了する。利用可能な「なまえ」文字列以外の文字が入っていた場合（Ｎ）、以下S1205〜S1208で、フィールド処理ポリシに従って処理をする（前記S1105〜S1108と同様）。そして上記なまえの処理を終えたら、S1209〜S1211で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【０１２９】
［S310］
次に、図１３に、「値の正規化（電話番号）処理」（S310）について示す。この処理（S310）は図２２（ａ）の定義、図２２（ｂ）のCID＝１０の例示に基づく。
【０１３０】
（S1301）はじめにクレンジングポリシマスタテーブル１１２（図２４，図２５）において「値の正規化（電話番号）処理」に一致する「FID」の行を読込む。
【０１３１】
（S1302）元データテーブル１１０（図２０，図２１）の対象列フィールドを読込む。
【０１３２】
（S1303）利用可能な電話番号（正規フォーマット）を定義する。本実施の形態（具体例）では利用可能な電話番号として「123456790」及び「12345678901」を定義する。
【０１３３】
（S1304）利用不可能な電話番号（非正規フォーマット）を定義する。
【０１３４】
（S1305）そして上記「利用可能な電話番号」と「利用不可能な電話番号」の対比表を作成する。本処理例の対比表（図３１，図３２）では、CID＝１０の行が該当する。即ち、「123-4567」＝「1234567」という表になる。即ち、「12-3456-7890」＝「1234567890」……といった表になる。
【０１３５】
（S1306）フィールドの値が利用可能な電話番号（正規フォーマット）かを判断する。正規フォーマットに一致する場合（Ｙ）は処理を終了する。
【０１３６】
（S1307）フィールドの値が利用不可能な電話番号（非正規フォーマット）かを判断する。非正規フォーマットに一致する場合（Ｙ）、以下、フィールド処理ポリシに従って処理をする（一致しない場合はS1310へ移る）。
【０１３７】
（S1308）フィールド処理ポリシが「対比表を利用して「利用可能な電話番号」（正規フォーマット）に変換する」の場合（Ｙ）、（S1309）対比表を使って電話番号のフォーマットを正規になるように変換する。
【０１３８】
上記「利用可能な電話番号」及び「利用不可能な電話番号」のどちらでもない場合、以下S1310〜1313で、フィールド処理ポリシに従って処理をする（前記S1010〜S1013と同様）。そして上記電話番号の処理を終えたら、S1314〜S1316で、クレンジング処理結果を保存する（前記S411〜S413と同様）。
【０１３９】
［S203］
次に、図１４に、分析用データ総合判定処理（S203）のフローを示す。分析用データ総合判定処理（S203）では、クレンジング処理履歴であるクレンジング結果詳細テーブル１１４を参照して、分析に利用可能なデータセット（行）と利用不可能なデータセット（行）とに分ける。
【０１４０】
（S1401）はじめに初期化処理として、クレンジング結果テーブル１１３（図２６，図２７）の「最終判断」フィールド（列）に「Y」を初期値として入れる。
【０１４１】
（S1402）次に、クレンジング結果テーブル１１３の各行において、列フィールドが空白ではなく附番してある場合（Ｙ）、クレンジング結果詳細テーブル１１４（図２８）から、その附番（HID）に対応する行を取り出す。
【０１４２】
（S1403）そして、上記取り出した行の中の「CPCRITICAL」フィールドに「N」がある場合（Ｙ）、（S1404）該当するクレンジング結果テーブル１１３の「BID」行の「最終判断」フィールドに「N」を入れる。
【０１４３】
［S204］
次に、図１５に、分析用データロード処理（S204）のフローを示す。分析用データロード処理（S204）では、クレンジング処理履歴であるクレンジング結果詳細テーブル１１４を参照して、分析に利用可能なデータセット（行）を取り出す。
【０１４４】
（S1501）はじめに元データ（元データテーブル１１０）（図２０，図２１）を読込む。
【０１４５】
（S1502）次にクレンジング結果テーブル１１３（図２６，図２７）を読み込む。
【０１４６】
（S1503，S1504）クレンジング結果テーブル１１３の行において、「最終判定」フィールドが「Y」の行の行番号（BID）に対応する「元データ」の行だけを、分析用データテーブル（図２９，図３０）にコピーする。
【０１４７】
図２９に、分析用データテーブル１１５の定義(テーブルスキーマ)を示す。図３０に、同テーブル（１１５）の値の例を示す。BIDは前述（図２６）である。本テーブル（１１５）は、クレンジング処理され分析に利用可能なデータセットを格納するテーブルであり、定義は元データ（図２０）と同じである。本テーブル（１１５）には、データクリーニング処理でデータセット（行）に１つの項目（フィールド、列）でも不正があった場合は、そのデータセット（行）を格納しない。
【０１４８】
［S205］
次に、図２の分析用データテーブル１１５を利用した分析処理（分析用データテーブル処理）（S205）の場合、１０８により、分析用データテーブル１１５を読込み（ロード）して、分析（分析処理）を実行する、という流れになる。
【０１４９】
図１６に、上記分析処理（S205）に対応したシステム構成例を示す。なお図１６の構成は図１のシステム構成に統合してもよい。分析者（Ｕ）は、分析用データテーブル１６０３のみを参照して分析をする。分析者（Ｕ）は、端末装置１６０１からネットワーク１６０２を経由して分析用データテーブル１６０３（１１５対応）（そのデータを記憶する装置など）に接続して、分析（分析処理）を実行する。
【０１５０】
［S206］
次に、図１７に、図２の１０９により行うクレンジング履歴活用分析実行処理（S206）の詳細処理例である、元データ（１１０）、クレンジング結果（１１３）、及びクレンジング結果詳細（１１４）を用いた分析データ抽出方法・分析処理（分析手順）について、「平均年齢の計算」を例に示す。図１７の手順によって、分析用データテーブル１１５にはロードされなかったが、元データ（１１０）で利用可能な「年齢」フィールドがある場合に、クレンジング結果（１１３）及びクレンジング結果詳細（１１４）を参照することで活用可能となることを示す。
【０１５１】
（S1701，S1702，S1703）まず元データ（１１０）、クレンジング結果（１１３）、及びクレンジング結果詳細（１１４）の各データ（テーブル）をロード（読み込み）する。（S1704）クレンジング結果（１１３）の「年齢」列フィールドを読込み、（S1705）各行の「年齢」フィールドに附番（値が入っている）されているか空白かを確認する。「年齢」フィールドが「空白」の場合（Ｎ）は、該当する元データ（１１０）の「年齢」フィールドの値を計算に用いる。「年齢」フィールドに附番（値が入っている）されている場合（Ｙ）は、（S1706）クレンジング結果（１１３）の「年齢」フィールドの値（番号）に該当する、クレンジング結果詳細（１１４）のHIDフィールドの番号（附番）に該当（一致）する行（フィールド）を探して取り出す。（S1707）上記取り出した行（フィールド）において「CPCRITICAL」フィールドを参照し、「CPCRITICAL」の値が「Y」のみの場合（Ｙ）、（S1708）そのクレンジング結果詳細テーブル１１４のHIDに該当する元データ（１１０）のBID行の「年齢」フィールドの値（クレンジング結果テーブル１１３のセルの値）を分析に利用する。
【０１５２】
（S1709）一方、上記取り出した行において「CPCRITICAL」に「N」がある場合（S1707−Ｎ）、そのクレンジング結果詳細テーブル１１４のHIDに該当する元データ（１１０）のBID行の「年齢」フィールドの値（クレンジング結果テーブル１１３のセルの値）を分析に利用しない。
【０１５３】
（S1710）そして、元データ（１１０）の「年齢」フィールドで、分析に利用可能な値を用いて、「平均年齢」を計算する。
【０１５４】
図１８に、上記処理（S206）に対応したシステム構成例を示す。なお図１８の構成は図１のシステム構成に統合してもよい。分析者（Ｕ）は、３つのテーブル（１８０３，１８０４，１８０５）を参照して分析をする。分析者（Ｕ）は、端末１８０１からネットワーク１８０２を経由して元データ１８０３（１１０対応）、クレンジング結果テーブル１８０４（１１３対応）、及びクレンジング結果詳細テーブル１８０５（１１４対応）に接続して、分析（分析処理）を実行する。
【０１５５】
［効果等］
以上説明したように、本実施の形態によれば、従来のデータクリーニングでは破棄されていたデータセットのうち不正があった項目以外の項目についても、履歴の参照に基づき不正が無いことを保障（確認）して当該項目を抽出する。これにより、当該抽出データ項目を、データ分析の列の計算などで利用可能にする。従来は情報として見落とされていたデータ項目を利用可能にすることにより、分析精度の向上が可能になる。
【０１５６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１５７】
本発明は、データ分析システム・ソフトウェア等に利用可能である。特に、アンケート分析（消費者プロフィールの取得等）、商取引データ分析（消費者の購買動向や商品の売上推移の分析等）、顧客データ分析（顧客プロフィールの分析等）、店舗データ分析（店舗分析等）等に利用可能である。
【符号の説明】
【０１５８】
１…データクレンジングシステム、１０…設定部、１１…データクレンジング部、１２…クレンジング履歴管理部、１３…不正有無・利用可否判断部、１４…分析用データ抽出部、２０…ポリシ＆クレンジング処理一覧、２１…クレンジング前データ、２２…クレンジング後データ、２３…クレンジング履歴、２４…判断データ、２５…分析用データ、１０１…端末装置、１０２…ネットワーク、１０３…データクレンジングサーバ、１０４…分析用データ作成ポリシ設定処理部、１０５…クレンジング処理部、１０６…分析用データ総合判定処理部、１０７…分析用データロード処理部、１０８…分析用データテーブル処理部、１０９…クレンジング履歴活用分析実行処理部、１１０…元データテーブル、１１１…クレンジングマスタテーブル、１１２…クレンジングポリシマスタテーブル、１１３…クレンジング結果テーブル、１１４…クレンジング結果詳細テーブル、１１５…分析用データテーブル、１１６…処理履歴保存システム。
【図１】
0005797583.tif 000002
【図２】
0005797583.tif 000003
【図３】
0005797583.tif 000004
【図４】
0005797583.tif 000005
【図５】
0005797583.tif 000006
【図６】
0005797583.tif 000007
【図７】
0005797583.tif 000008
【図８】
0005797583.tif 000009
【図９】
0005797583.tif 000010
【図１０】
0005797583.tif 000011
【図１１】
0005797583.tif 000012
【図１２】
0005797583.tif 000013
【図１３】
0005797583.tif 000014
【図１４】
0005797583.tif 000015
【図１５】
0005797583.tif 000016
【図１６】
0005797583.tif 000017
【図１７】
0005797583.tif 000018
【図１８】
0005797583.tif 000019
【図１９】
0005797583.tif 000020
【図２０】
0005797583.tif 000021
【図２１】
0005797583.tif 000022
【図２２】
0005797583.tif 000023
【図２３】
0005797583.tif 000024
【図２４】
0005797583.tif 000025
【図２５】
0005797583.tif 000026
【図２６】
0005797583.tif 000027
【図２７】
0005797583.tif 000028
【図２８】
0005797583.tif 000029
【図２９】
0005797583.tif 000030
【図３０】
0005797583.tif 000031
【図３１】
0005797583.tif 000032
【図３２】
0005797583.tif 000033