(57)【要約】      （修正有）【課題】Ｗｅｂ閲覧履歴を利用するにあたってマスクされた文字列を修正する作業を軽減し、データ収集作業の時間やコストの抑制に貢献する。【解決手段】個人情報マスク装置１のデータ読込部２は入力データＤ１を読み込む。マスク対象指定部３は、マスク対象辞書ＤＢ８の辞書を用いて入力データＤ１内でマスク処理するマスク対象範囲を指定する。個人情報検出部４は、個人情報辞書ＤＢ９の個人情報辞書に含まれる文字列を前記指定部３で指定されたマスク対象範囲から検出する。個人情報マスク生成部５は、前記検出部４の検出文字列をマスクするためのマスク文字列を生成し、マスク文字列ＤＢ１０に格納する。個人情報置換部６は、前記検出部４の検出文字列を前記ＤＢ１０のマスク文字列に置換する。データ出力部７は、置換されたマスク文字列を出力する。【選択図】図１
2013073277.tif 000002
【特許請求の範囲】
【請求項１】
入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する個人情報マスク装置であって、
マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定手段と、
個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出手段と、
個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成手段と、
個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換手段と、
を備えることを特徴とする個人情報マスク装置。
【請求項２】
マスク対象指定手段は、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、
前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定する
ことを特徴とする請求項１記載の個人情報マスク装置。
【請求項３】
マスク対象指定手段は、検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定する
ことを特徴とする請求項２記載の個人情報マスク装置。
【請求項４】
入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する装置の実行する個人情報マスク方法であって、
マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定ステップと、
個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出ステップと、
個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成ステップと、
個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換ステップと、
を有することを特徴とする個人情報マスク方法。
【請求項５】
マスク対象指定ステップにおいて、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、
前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定する
ことを特徴とする請求項４記載の個人情報マスク方法。
【請求項６】
マスク対象指定ステップにおいて、検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定する
ことを特徴とする請求項５記載の個人情報マスク装置。
【請求項７】
請求項１〜３のいずれか１項に記載の個人情報マスク装置の各手段としてコンピュータを機能させることを特徴とする個人情報マスクプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データ中から姓名や住所などの個人情報の部分を検出し、検出された部分をマスク（マスキング）する技術に関する。
【背景技術】
【０００２】
インターネット上の情報は容易に拡大し、半永久的に残ることがあり、特に個人情報の流出はプライバシー侵害となるおそれもある。そこで、個人情報保護の観点から姓名や住所などの個人情報を含むデータ中の個人情報の部分を検出し、検出された部分の文字列を読解不能のマスク文字などに置換してマスクする技術が提案されている。
【０００３】
例えば特許文献１の文字列変換装置は、指定されたマスク範囲に含まる文字が変換文字リストの各テーブルに含まれる文字と一致するか否かを判定し、一致すれば個人情報として予め定義された変換規則にしたがってマスク文字などに変換している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１０２５４０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の文字列変換装置は、マスクしようとする個人情報の文字列と一致した文字列が前記テーブル内にあれば、一般名称であっても誤ってマスクされる問題がある。例えば「コシノジュンコ（登録商標）」などのアパレルブランド名が個人情報の人名と誤ってマスクされてしまうこともある。
【０００６】
このときＷｅｂ閲覧履歴を活用してマーケッティングデータを収集する場合などには個人情報保護の観点から履歴データにマスク処理を施すものの、データ解析に必要な箇所、例えばブランド名などの一般名称が誤ってマスクされると人手で正しいデータに修正しなければならない。これではデータ収集作業などの時間やコストの抑制において有利ではない。
【０００７】
本発明は、上述のような従来技術の問題点を解決するためになされたものであり、Ｗｅｂ閲覧履歴を活用するにあたって誤ってマスクされた文字列を修正する作業を軽減し、データ収集作業の時間やコストの抑制に貢献することを解決課題としている。
【課題を解決するための手段】
【０００８】
そこで、本発明は、マスク処理をするにあたってマスクする個人情報のほかにマスク対象外となりうる汎用的な文字列と、マスク対象となりうる汎用的な文字列とを利用してマスク処理を実行するマスク対象範囲を限定し、一般名称に対する誤ったマスク処理を抑制する。
【０００９】
例えばブランド名などは事前にマスク対象外の対象外指定文字列として登録し、その文字列から任意文字数の範囲を強制的なマスク対象外範囲とする。このときＷｅｂサイト中の「ようこそ」のように個人情報につながる可能性の高い文字列を事前にマスク対象の対象指定文字列に登録し、その文字列から任意文字数の範囲を強制的にマスク対象範囲に再設定する。このマスク対象範囲で個人情報をマスクする。
【００１０】
本発明の一態様は、入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する個人情報マスク装置であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定手段と、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出手段と、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成手段と、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換手段と、を備える。
本発明の他の態様は、入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する装置の実行する個人情報マスク方法であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定ステップと、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出ステップと、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成ステップと、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換ステップと、を有する。
【００１１】
前記各態様において、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定させてもよい。このとき検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定することができる。
【００１２】
なお、本発明は、前記装置としてコンピュータを機能させるプログラムの態様としてもよい。このプログラムは、ネットワークや記録媒体などを通じて提供することができる。
【発明の効果】
【００１３】
本発明によれば、誤ってマスクされた文字列を修正する作業が軽減され、Ｗｅｂ閲覧履歴を活用するにあたってデータ収集作業の時間やコストの抑制に貢献できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る個人情報マスク装置の構成図。
【図２】同  処理フロー図。
【発明を実施するための形態】
【００１５】
≪構成例≫
図１に基づき本発明の実施形態に係る個人情報マスク装置を説明する。このマスク装置１は、ユーザが端末（ＰＣ．携帯電話など）のＷｅｂブラウザにて閲覧したＷｅｂページ（電子文書）の閲覧ログを収集するにあたって、閲覧ログに含まれるＷｅｂページ中の個人情報をマスクする。
【００１６】
前記マスク装置１は、Ｗｅｂサイトのサーバ群に構成され、通常のコンピュータのハードウェアリソース、例えばＣＰＵ．メモリ（ＲＡＭ）やハードディスクドライブ装置などの記憶装置を備える。このハードウェアリソースとソフトウェアリソース（ＯＳ．アプリケーションなど）との協働の結果、前記マスク装置１は、データ読込部２．マスク対象指定部３．個人情報検出部４．個人情報マスク生成部５．個人情報置換部６．データ出力部７．マスク対象辞書ＤＢ８．個人情報辞書ＤＢ９．マスク文字列ＤＢ１０を実装する。この各ＤＢ８〜１０は、前記記憶装置に構築されている。このうち前記ＤＢ８にはマスキング対象を識別する辞書が保持され、前記ＤＢ９には個人情報から構成される個人情報辞書が保持されている。
【００１７】
前記読込部２は、ユーザのＷｅｂ閲覧ログデータ、即ちマスク対象の元データのＷｅｂページを入力データＤ１として読み込む。また、前記対象指定部３は、前記ＤＢ８を参照して入力データＤ１内でマスクする範囲、即ちマスク対象範囲を設定する。
【００１８】
このとき前記対象指定部３は、入力データＤ１のすべての範囲をマスク対象範囲とする。その後に前記ＤＢ８の辞書に保持された対象外指定文字列と一致する文字列を入力データ内から抽出し、抽出された文字列から任意文字数の範囲を強制的にマスク対象外範囲と設定し、マスク対象範囲から除去する。
【００１９】
また、前記ＤＢ８の辞書に保持された対象指定文字列と一致する文字列を入力データＤ１内から抽出する。抽出された文字列から任意文字数の範囲をマスク対象範囲に加えてマスク対象範囲を確定する。ここで加えられる範囲は、マスク対象外範囲と重複していても強制的にマスク対象範囲とされる。この意味で強制力がマスク対象外範囲よりも強く、本実施形態では強制的マスク対象範囲と称する。
【００２０】
前記検出部４は、前記ＤＢ９の個人情報辞書に含まれる個人情報の文字列を入力データＤ１のマスク対象範囲から検出する。また、前記マスク生成部５は、前記検出部４が検出した個人情報の文字列をマスクするマスク文字列を生成する。このマスク文字列は、第三者が当該文字列を可読できないような文字列とする。生成されたマスク文字列は前記ＤＢ１０に格納される。
【００２１】
前記置換部６は、前記ＤＢ１０を参照して前記マスク生成部５の生成したマスク文字列で前記検出部４が検出した個人情報の文字列を置換する。また、前記出力部７は、前記置換部６にて置換されたマスク文字列を閲覧ログデータ、即ち出力データＤ２として出力する。
【００２２】
≪処理内容≫
図２に基づき前記マスク装置１の具体的な処理内容を説明する。ここでは一例として閲覧ログがマーケッティング用データとして利用されるケース、即ちユーザのＥＣ（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｍｍｅｒｃｅ）サイトにおける購買行動の閲覧ログを中心に収集し、該閲覧ログを解析するケースに基づき説明する。
【００２３】
この閲覧ログをマーケッティング用データとして利用する場合、特にＥＣサイトにおける消費説明において、ユーザがどのような商品の詳細ページを閲覧したかを抽出し、解析することが重要となる。そのため、個人情報のマスク処理によって、商品の説明文の文字列（例えばブランド名など）の一部が誤ってマスクされると、解析が困難となる場合が生じる。このような場合を回避すべく、前記マスク装置１では、マスク範囲の適正化を図っている。
【００２４】
（１）事前処理
前記マスク装置１のマスク処理にあたっては事前に前記ＤＢ８．９に辞書内容を登録しておく必要がある。すなわち、前記ＤＢ８のマスク対象辞書に対象外指定文字列と対象指定文字列とを登録する。この対象外指定文字列は、マスク処理に相応しくない文字列、例えば商品名・ブランド・価格・商品説明などの文字列とする。この文字列はＥＣサイト内のＷｅｂページから収集すればよい。また、マスク対象外範囲を指定する文字数、即ち対象外指定文字列に後続する文字数を登録しておくものとする。この文字数はパラメータ変数とし、ここでは一例として２００文字に登録されているものとする。
【００２５】
対象指定文字列は、マスク処理すべき個人情報の文字列を表す用語、例えば氏名・住所・電話番号などの項目名が該当する。また、ＥＣサイトのトップページなどで氏名の前に挿入される文言の文字列、例えば「ようこそ」や「こんにちは」なども該当する。ここでも強制的マスク対象範囲を指定する文字数、即ち対象指定文字列に後続する文字数を登録しておくものとする。この文字数もパラメータ変数とし、ここでは一例として５０文字と登録されているものとする。
【００２６】
また、前記ＤＢ９の個人情報辞書には、ユーザが自身の個人情報となりうる氏名・住所・電話番号などを登録しておくものとする。このとき氏名として「姓」と「名」に分けて登録したり、カタカナ文字やアルファベット表記の文字、ハンドル名の文字などを指定することもできる。
【００２７】
（２）マスク処理
事前処理が完了していることを前提に前記マスク装置１のマスク処理が開始されるものとする。このマスク処理の順序は、（ａ）マスク対象範囲の確定（図２中のＳ０１〜Ｓ０４）、（ｂ）マスク対象範囲のマスク処理（図２中のＳ０５〜Ｓ０８）の順で実行する。
【００２８】
Ｓ０１：処理が開始されると前記読込部２にて入力データＤ１、即ち閲覧ログ中の各Ｗｅｂページをテキストデータとして読み込んで、前記マスク装置１に取り込む。ここでは取り込む閲覧ログは、ＥＣサイトのサーバに蓄積されているものとする。
【００２９】
Ｓ０２：前記対象指定部３は、初期設定として入力データＤ１内のすべての文字をマスク対象範囲Ｄ１´に設定する（Ｓ０２）。この初期設定のマスク対象範囲Ｄ１´に対してＳ０３．Ｓ０４の処理が施される。
【００３０】
Ｓ０３：前記対象指定部３は、前記ＤＢ８のマスク対象辞書から対象外指定文字列を抽出し、抽出された対象外指定文字列が入力データＤ１中に存在するか否かの検出処理を実行する。この結果、対象外指定文字列が検出されれば、検出された文字列から指定する文字数の範囲、即ち該文字列から２００文字の位置までをマスク対象外範囲に設定する。
【００３１】
この処理（Ｓ０３）をマスク対象辞書に対象外指定文字列として登録されたすべての文字列について実行する。このとき文字列毎に処理してもよく、各文字列を並行して処理してもよいものとする。なお、入力データＤ１から対象外指定文字列が検出されなければ、マスク対象外範囲は設定されない。
【００３２】
Ｓ０４：前記対象指定部３は、前記ＤＢ８のマスク対象辞書から対象指定文字列を抽出し、抽出された対象指定文字列が入力データＤ１中に存在するか否かの検出処理を実行する。この検出処理をマスク対象辞書に対象指定文字列として登録されたすべての文字列について実行する。この処理も文字列毎に処理してもよく、各文字列を並行して処理してもよいものとする。
【００３３】
この結果、対象指定文字列が検出されれば、検出された文字列から指定する文字数の範囲、即ち該文字列から５０文字の位置を検出する。この検出位置がＳ０３で設定したマスク対象外範囲に含まれている場合、即ちマスク対象外範囲と強制的マスク対象範囲とが重複する場合は、その位置までの重複範囲をマスク対象範囲Ｄ１´に再設定する。
【００３４】
一方、対象指定文字列が検出できない場合や、対象指定文字列から５０文字の位置がマスク対象外範囲に含まれていない場合、あるいはＳ０３で対象外範囲が設定されていない場合にはマスク対象範囲Ｄ１´の再設定は行われない。
【００３５】
なお、Ｓ０１〜Ｓ０４によってマスク対象範囲Ｄ１´の設定が確定され、該確定されたマスク対象範囲Ｄ１´にてＳ０５以降のマスク処理が行われる。
【００３６】
Ｓ０５：前記検出部４は、入力データＤ１のマスク対象範囲Ｄ１´に対して前記ＤＢ９の個人情報辞書に登録された各文字列が含まれているか否かの検出処理を実行し、登録された文字列が含まれていれば、その文字列を抽出する。なお、図２中では省略されているが、該文字列が含まれていなければマスク処理の必要が無いため処理を終了する。
【００３７】
Ｓ０６：前記マスク生成部５は、Ｓ０５で抽出された各文字列について、その文字列をマスクするためのマスク文字列を生成する。このマスク文字列としては、「*」のような伏文字でもよく、あるいは文字列長と文字列とのハッシュ値とを利用した「*6:EA1A*」のような文字列でもよく、マスク文字列の生成方法は制限しないものとする。
【００３８】
Ｓ０７．Ｓ０８：前記置換部６は、Ｓ０５で抽出された各文字列をＳ０６で生成されたマスク文字列で置換する（Ｓ０７）。その後に前記出力部７は、Ｓ０７でマスク文字列に置換されたテキストデータＤ２をマスク処理済の閲覧ログとしてモニタなどに出力する（Ｓ０８）。ここで出力された閲覧ログは、ユーザの購買行動の解析のためのマーケッティング用データと利用される。
【００３９】
このように前記マスク装置１によれば、Ｓ０３で対象外指定文字列から指定文字数の範囲（該文字列から２００文字の位置まで）がマスク対象外範囲に設定されるため、従来よりもマスクされる範囲が限定される。すなわち、商品の説明文の文字列（例えばブランド名など）をＳ０５以降のマスク処理の対象外に設定できるため、該商品説明の文字列などに対する誤ったマスクを回避できる。したがって、誤ってマスクされた文字列を修正する作業が軽減され、Ｗｅｂ閲覧履歴を活用するにあたってデータ収集作業の時間やコストの抑制に貢献できる。
【００４０】
このときマスク対象外範囲にＳ０４の検出位置が含まる場合、即ち強制的マスク対象範囲とマスク対象外範囲とが重複する場合は、その位置までがマスク対象範囲Ｄ１´に再設定される。この結果、Ｓ０３のマスク対象外範囲に個人情報が含まれていても、Ｓ０４でマスク対象範囲Ｄ１´に再設定され、この点で個人情報保護は尊重されている。
【００４１】
≪Ｓ０３．Ｓ０４の処理例≫
以下、前記マスク装置１の主要処理、即ちＳ０３．Ｓ０４にてマスク対象範囲を確定する処理例を説明する。ここではＳ０３にて対象外指定文字列が複数検出され、Ｓ０４の処理段階にて対象指定文字列がマスク対象外範囲に存在しているものとする。
【００４２】
具体的には、この処理例では
（ａ）対象外指定文字列を「商品名」「ブランド名」とする。
（ｂ）指定対象文字列を「氏名」とする。
（ｃ）Ｅ１＝”商品名”、Ｅ２＝”ブランド名”、Ｗ１＝”氏名”
とする。
【００４３】
また、入力データＤ１として閲覧ログのテキストデータを用いる。ここでは該テキストデータに１５００文字数あるとし、該テキストデータ内のＥ１，Ｅ２，Ｗ１が出現する位置をそれぞれ検出する。この検出結果は、
Ｐｏｓ＿Ｅ１＝（１０，５６２，７６８）
Ｐｏｓ＿Ｅ２＝（８２１）
Ｐｏｓ＿Ｗ１＝（３７，１０２３）
とする。
【００４４】
（１）マスク対象外範囲の設定
対象外指定文字列の位置から一定文字数分を加算し、マスク対象外範囲として範囲の終点の位置を算出する（Ｓ０３）。このとき各対象外指定文字列に対し、同一の文字数を加算してもよいし、対象外指定文字列毎に加算する文字数を変更しても構わない。本例では、Ｅ１に対する範囲文字数を３００，Ｅ２に対する範囲文字数を２００とする。そして、マスク対象外範囲の始点と終点の組み合わせを以下のように算出する。
ａｒ＿Ｅ１＝（１０，３０９），（５６２，８６１），（７６８，１０６７）
ａｒ＿Ｅ２＝（８２１，１０２０）
この算出後にマスク対象外範囲の統合を行う。すなわち、一方のマスク対象外範囲の始点が他方のマスク対象外範囲の終点よりも小さい場合に二つの範囲を統合する。例えば始点ａ．終点ｂのマスク対象範囲と始点ｃ．終点ｄのマスク対象範囲との統合にあたっては、始点ｃよりも終点ｂが大きければ終点ｂを終点ｄに置き換え、始点ｃと終点ｄの範囲は削除する。このとき終点ｂ＜終点ｄの場合にのみ置き換え、終点ｂ＞終点ｄの場合は置き換えない。
【００４５】
前述したａｒ＿Ｅ１とａｒ＿Ｅ２の組合例によれば、ａｒ＿Ｅ１の２番目と３番目、およびａｒ＿Ｅ２がそれぞれ重なるため、統合することができる。この統合にあたっては、
ａｒ＿Ｅ１の２番目の終点（８６１）とａｒ＿Ｅ１の３番目の始点（７６８）とを比較し、
ａｒ＿Ｅ１の２番目の終点（８６１）＞ａｒ＿Ｅ１の３番目の始点（７６８）で、
ａｒ＿Ｅ１の２番目の終点（８６１）＜ａｒ＿Ｅ１の３番目の終点（１０６７）であるので、
ａｒ＿Ｅ１の２番目の終点（８６１）をａｒ＿Ｅ１の３番目の終点（１０６７）で置き換え、「ａｒ＿Ｅ１」の３番目の範囲は削除する。
【００４６】
つぎにａｒ＿Ｓ１の２番目の終点（上記の例では１０６７に置き換えた後）とａｒ＿Ｅ２の始点（８２１）とを比較する。この場合は、
ａｒ＿Ｅ１の２番目の終点（１０６７）＞ａｒ＿Ｅ２の始点（８２１）であり
ａｒ＿Ｅ１の２番目の終点（１０６７）＞ａｒ＿Ｅ２の終点（１０２０）であるため、
ａｒ＿Ｅ２の範囲はａｒ＿Ｅ１の２番目の範囲に含まれるため、これに吸収されることになる。このような操作によりマスク対象外範囲は、
ｅｘ＿ａｒｅａ＝（１０，３０９），（５６２，１０６７）
と算出される。
【００４７】
（２）強制的マスク対象範囲の設定
続いて対象指定文字列により強制的マスク対象範囲の設定を行う（Ｓ０４）。ここでは対象指定文字列Ｗ１の出現位置と範囲を指定する文字数を加算して強制的マスク対象範囲を算出する。このとき対象指定外文字列と同様に範囲の文字数を一定値としてもよく、文字列毎に文字数を変更してもよい。ここでは対象指定文字列は一つだけなので、範囲文字数を５０とする。前述の例によれば、強制的マスク対象範囲の始点と終点の組み合わせは、
ａｒ＿Ｗ１＝（３７，８６），（１０２３，１０７２）
と算出される。
【００４８】
（３）マスク対象範囲の再設定
さらにマスク対象範囲Ｄ１´の再設定を行う（Ｓ０４）。すなわち、マスク対象外範囲内に上記で求めた強制的マスク対象範囲が含まれる場合は、その範囲をマスク対象外範囲から除外する。このとき強制的マスク対象範囲の始点がマスク対象外範囲の始点と終点の間にあるかどうかを判定し、マスク対象外範囲を見直していく。
【００４９】
ここでは前述の例から各マスク対象外範囲の始点と終点は、
ｅｘ＿ａｒｅａ［０］．ｓｔａｒｔ＝１０
ｅｘ＿ａｒｅａ［０］．ｅｎｄ＝３０９
ｅｘ＿ａｒｅａ［１］．ｓｔａｒｔ＝５６２
ｅｘ＿ａｒｅａ［１］．ｅｎｄ＝１０６７
である一方、
強制マスク対象範囲の始点と終点は、
ａｒ＿Ｗ１［０］．ｓｔａｒｔ＝３７
ａｒ＿Ｗ１［０］．ｅｎｄ＝８６
ａｒ＿Ｗ１［１］．ｓｔａｒｔ＝１０２３
ａｒ＿Ｗ１［１］．ｅｎｄ＝１０７２
であるとし、
ａｒ＿Ｗ１の各始点・各終点とｅｘ＿ａｒｅａの各始点・各終点とをそれぞれ比較していく。
【００５０】
その結果、
ｅｘ＿ａｒｅａ［０］．ｓｔａｒｔ＜ａｒ＿Ｗ１［０］．ｓｔａｒｔ
ａｒ＿Ｗ１［０］．ｓｔａｒｔ＜ｅｘ＿ａｒｅａ［０］．ｅｎｄ
かつ
ａｒ＿Ｗ１［０］．ｅｎｄ＜ｅｘ＿ａｒｅａ［０］．ｅｎｄ
であるため、
ａｒ＿Ｗ１［０］の範囲はｅｘ＿ａｒｅａ［０］に含まれることが分かる。この場合、マスク対象外範囲ｅｘ＿ａｒｅａ［０］を分割する。
【００５１】
ここではマスク対象外範囲の終点を強制マスク対象範囲の始点に置き換え、強制マスク対象範囲の終点からマスク対象外範囲の終点までのマスク対象外範囲を一つ追加する。すなわち、
ｅｘ＿ａｒｅａ［０］．ｓｔａｒｔ＝１０
ｅｘ＿ａｒｅａ［０］．ｅｎｄ＝３６
ｅｘ＿ａｒｅａ［２］．ｓｔａｒｔ＝８７
ｅｘ＿ａｒｅａ［２］．ｅｎｄ＝３０９
このとき、添字は要素数から加算して追加する。また、置き換える際の位置は置き換え元から1少ない文字数としている。
【００５２】
続いて、２つ目の要素に対して比較し、
ｅｘ＿ａｒｅａ［１］．ｓｔａｒｔ＜ａｒ＿Ｗ１［１］．ｓｔａｒｔ
ａｒ＿Ｗ１［１］．ｓｔａｒｔ＜ｅｘ＿ａｒｅａ［１］．ｅｎｄ
かつ
ａｒ＿Ｗ１［１］．ｅｎｄ＞ｅｘ＿ａｒｅａ［１］．ｅｎｄ
であるため、
ａｒ＿Ｗ１［１］は、ｅｘ＿ａｒｅａ［１］の一部に重なることがわかる。この場合、マスク対象外範囲ｅｘ＿ａｒｅａ［１］の一部を削除する。ここではマスク対象外範囲の終点を強制マスク対象範囲の始点に置き換える。
【００５３】
すなわち、
ｅｘ＿ａｒｅａ［１］．ｓｔａｒｔ＝５６２
ｅｘ＿ａｒｅａ［１］．ｅｎｄ＝１０２２
とする。この場合も置き換える際の位置は置き換えもとから１少ない文字数としている。
【００５４】
以上から、マスク対象外範囲を再設定でき、この逆数的範囲をマスク対象範囲Ｄ１´に確定する。すなわち、マスク対象外範囲は昇順で整列することで、
ｅｘ＿ａｒｅａ＝（１０，３６），（８７，３０９），（５６２，１０２２）
となるので、その逆数的範囲を算出し、
ｍｓｋ＿ａｒｅａ＝（１，９），（３７，８６），（３１０，５６１），（１０２３，１５００）を確定されたマスク対象範囲Ｄ１´に設定する。
【００５５】
≪プログラムなど≫
本発明は、前記マスク装置１の各部２〜１０の一部もしくは全部として、コンピュータを機能させる個人情報マスクプログラムとして構成することもできる。このプログラムによれば、Ｓ０１〜Ｓ０８の一部あるいは全部をコンピュータに実行させることが可能となる。
【００５６】
前記プログラムは、Ｗｅｂサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＭＯ，ＨＤＤ，ＢＤ−ＲＯＭ，ＢＤ−Ｒ，ＢＤ−ＲＥなどの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。
【符号の説明】
【００５７】
１…個人情報マスク装置
２…データ読込部
３…マスク対象指定部
４…個人情報検出部
５…個人情報マスク生成部
６…個人情報置換部
７…データ出力部
８…マスク対象辞書ＤＢ
９…個人情報辞書ＤＢ
１０…マスク文字列ＤＢ
【図１】
2013073277.tif 000003
【図２】
2013073277.tif 000004