"入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する個人情報マスク装置であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定手段と、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出手段と、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成手段と、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換手段と、を備えることを特徴とする個人情報マスク装置。マスク対象指定手段は、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定することを特徴とする請求項1記載の個人情報マスク装置。マスク対象指定手段は、検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定することを特徴とする請求項2記載の個人情報マスク装置。入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する装置の実行する個人情報マスク方法であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定ステップと、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出ステップと、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成ステップと、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換ステップと、を有することを特徴とする個人情報マスク方法。マスク対象指定ステップにおいて、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定することを特徴とする請求項4記載の個人情報マスク方法。マスク対象指定ステップにおいて、検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定することを特徴とする請求項5記載の個人情報マスク装置。請求項1~3のいずれか1項に記載の個人情報マスク装置の各手段としてコンピュータを機能させることを特徴とする個人情報マスクプログラム。しかしながら、特許文献1の文字列変換装置は、マスクしようとする個人情報の文字列と一致した文字列が前記テーブル内にあれば、一般名称であっても誤ってマスクされる問題がある。例えばコシノジュンコ登録商標などのアパレルブランド名が個人情報の人名と誤ってマスクされてしまうこともある。このときWeb閲覧履歴を活用してマーケッティングデータを収集する場合などには個人情報保護の観点から履歴データにマスク処理を施すものの、データ解析に必要な箇所、例えばブランド名などの一般名称が誤ってマスクされると人手で正しいデータに修正しなければならない。これではデータ収集作業などの時間やコストの抑制において有利ではない。本発明は、上述のような従来技術の問題点を解決するためになされたものであり、Web閲覧履歴を活用するにあたって誤ってマスクされた文字列を修正する作業を軽減し、データ収集作業の時間やコストの抑制に貢献することを解決課題としている。そこで、本発明は、マスク処理をするにあたってマスクする個人情報のほかにマスク対象外となりうる汎用的な文字列と、マスク対象となりうる汎用的な文字列とを利用してマスク処理を実行するマスク対象範囲を限定し、一般名称に対する誤ったマスク処理を抑制する。例えばブランド名などは事前にマスク対象外の対象外指定文字列として登録し、その文字列から任意文字数の範囲を強制的なマスク対象外範囲とする。このときWebサイト中のようこそのように個人情報につながる可能性の高い文字列を事前にマスク対象の対象指定文字列に登録し、その文字列から任意文字数の範囲を強制的にマスク対象範囲に再設定する。このマスク対象範囲で個人情報をマスクする。本発明の一態様は、入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する個人情報マスク装置であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定手段と、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出手段と、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成手段と、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換手段と、を備える。本発明の他の態様は、入力された電子文書中から個人情報の部分を検出し、検出された部分の文字列にマスク処理を施してマスク文字に置換し、置換されたマスク文字列を出力する装置の実行する個人情報マスク方法であって、マスク対象を識別する辞書を用いて前記電子文書内でマスク処理を施すマスク対象範囲を指定するマスク対象指定ステップと、個人情報を保持する個人情報辞書に含まれる文字列をマスク対象指定手段で指定されたマスク対象範囲から検出する個人情報検出ステップと、個人情報検出手段の検出した文字列をマスクするためのマスク文字列を生成するマスク生成ステップと、個人情報検出手段の検出した文字列をマスク生成手段の生成したマスク文字列に置換する置換ステップと、を有する。前記各態様において、前記電子文書内から前記辞書に保持された対象外指定文字列の位置を検出し、検出された対象外指定文字列から任意文字数をマスク対象外範囲と設定してマスク対象範囲から除外する一方、前記電子文書内から前記辞書に保持された対象指定文字列の位置を検出し、検出された対象指定文字列から任意文字数の範囲を加えてマスク対象範囲を確定させてもよい。このとき検出された対象指定文字列から任意文字数の範囲がマスク対象外範囲と重複していれば重複範囲をマスク対象範囲に再設定することができる。なお、本発明は、前記装置としてコンピュータを機能させるプログラムの態様としてもよい。このプログラムは、ネットワークや記録媒体などを通じて提供することができる。本発明によれば、誤ってマスクされた文字列を修正する作業が軽減され、Web閲覧履歴を活用するにあたってデータ収集作業の時間やコストの抑制に貢献できる。≪構成例≫図1に基づき本発明の実施形態に係る個人情報マスク装置を説明する。このマスク装置1は、ユーザが端末PC.携帯電話などのWebブラウザにて閲覧したWebページ電子文書の閲覧ログを収集するにあたって、閲覧ログに含まれるWebページ中の個人情報をマスクする。前記マスク装置1は、Webサイトのサーバ群に構成され、通常のコンピュータのハードウェアリソース、例えばCPU.メモリRAMやハードディスクドライブ装置などの記憶装置を備える。このハードウェアリソースとソフトウェアリソースOS.アプリケーションなどとの協働の結果、前記マスク装置1は、データ読込部2.マスク対象指定部3.個人情報検出部4.個人情報マスク生成部5.個人情報置換部6.データ出力部7.マスク対象辞書DB8.個人情報辞書DB9.マスク文字列DB10を実装する。この各DB8~10は、前記記憶装置に構築されている。このうち前記DB8にはマスキング対象を識別する辞書が保持され、前記DB9には個人情報から構成される個人情報辞書が保持されている。前記読込部2は、ユーザのWeb閲覧ログデータ、即ちマスク対象の元データのWebページを入力データD1として読み込む。また、前記対象指定部3は、前記DB8を参照して入力データD1内でマスクする範囲、即ちマスク対象範囲を設定する。このとき前記対象指定部3は、入力データD1のすべての範囲をマスク対象範囲とする。その後に前記DB8の辞書に保持された対象外指定文字列と一致する文字列を入力データ内から抽出し、抽出された文字列から任意文字数の範囲を強制的にマスク対象外範囲と設定し、マスク対象範囲から除去する。また、前記DB8の辞書に保持された対象指定文字列と一致する文字列を入力データD1内から抽出する。抽出された文字列から任意文字数の範囲をマスク対象範囲に加えてマスク対象範囲を確定する。ここで加えられる範囲は、マスク対象外範囲と重複していても強制的にマスク対象範囲とされる。この意味で強制力がマスク対象外範囲よりも強く、本実施形態では強制的マスク対象範囲と称する。前記検出部4は、前記DB9の個人情報辞書に含まれる個人情報の文字列を入力データD1のマスク対象範囲から検出する。また、前記マスク生成部5は、前記検出部4が検出した個人情報の文字列をマスクするマスク文字列を生成する。このマスク文字列は、第三者が当該文字列を可読できないような文字列とする。生成されたマスク文字列は前記DB10に格納される。前記置換部6は、前記DB10を参照して前記マスク生成部5の生成したマスク文字列で前記検出部4が検出した個人情報の文字列を置換する。また、前記出力部7は、前記置換部6にて置換されたマスク文字列を閲覧ログデータ、即ち出力データD2として出力する。≪処理内容≫図2に基づき前記マスク装置1の具体的な処理内容を説明する。ここでは一例として閲覧ログがマーケッティング用データとして利用されるケース、即ちユーザのECelectroniccommerceサイトにおける購買行動の閲覧ログを中心に収集し、該閲覧ログを解析するケースに基づき説明する。この閲覧ログをマーケッティング用データとして利用する場合、特にECサイトにおける消費説明において、ユーザがどのような商品の詳細ページを閲覧したかを抽出し、解析することが重要となる。そのため、個人情報のマスク処理によって、商品の説明文の文字列例えばブランド名などの一部が誤ってマスクされると、解析が困難となる場合が生じる。このような場合を回避すべく、前記マスク装置1では、マスク範囲の適正化を図っている。1事前処理前記マスク装置1のマスク処理にあたっては事前に前記DB8.9に辞書内容を登録しておく必要がある。すなわち、前記DB8のマスク対象辞書に対象外指定文字列と対象指定文字列とを登録する。この対象外指定文字列は、マスク処理に相応しくない文字列、例えば商品名ブランド価格商品説明などの文字列とする。この文字列はECサイト内のWebページから収集すればよい。また、マスク対象外範囲を指定する文字数、即ち対象外指定文字列に後続する文字数を登録しておくものとする。この文字数はパラメータ変数とし、ここでは一例として200文字に登録されているものとする。対象指定文字列は、マスク処理すべき個人情報の文字列を表す用語、例えば氏名住所電話番号などの項目名が該当する。また、ECサイトのトップページなどで氏名の前に挿入される文言の文字列、例えばようこそやこんにちはなども該当する。ここでも強制的マスク対象範囲を指定する文字数、即ち対象指定文字列に後続する文字数を登録しておくものとする。この文字数もパラメータ変数とし、ここでは一例として50文字と登録されているものとする。また、前記DB9の個人情報辞書には、ユーザが自身の個人情報となりうる氏名住所電話番号などを登録しておくものとする。このとき氏名として姓と名に分けて登録したり、カタカナ文字やアルファベット表記の文字、ハンドル名の文字などを指定することもできる。2マスク処理事前処理が完了していることを前提に前記マスク装置1のマスク処理が開始されるものとする。このマスク処理の順序は、aマスク対象範囲の確定図2中のS01~S04、bマスク対象範囲のマスク処理図2中のS05~S08の順で実行する。S01:処理が開始されると前記読込部2にて入力データD1、即ち閲覧ログ中の各Webページをテキストデータとして読み込んで、前記マスク装置1に取り込む。ここでは取り込む閲覧ログは、ECサイトのサーバに蓄積されているものとする。S02:前記対象指定部3は、初期設定として入力データD1内のすべての文字をマスク対象範囲D1 ́に設定するS02。この初期設定のマスク対象範囲D1 ́に対してS03.S04の処理が施される。S03:前記対象指定部3は、前記DB8のマスク対象辞書から対象外指定文字列を抽出し、抽出された対象外指定文字列が入力データD1中に存在するか否かの検出処理を実行する。この結果、対象外指定文字列が検出されれば、検出された文字列から指定する文字数の範囲、即ち該文字列から200文字の位置までをマスク対象外範囲に設定する。この処理S03をマスク対象辞書に対象外指定文字列として登録されたすべての文字列について実行する。このとき文字列毎に処理してもよく、各文字列を並行して処理してもよいものとする。なお、入力データD1から対象外指定文字列が検出されなければ、マスク対象外範囲は設定されない。S04:前記対象指定部3は、前記DB8のマスク対象辞書から対象指定文字列を抽出し、抽出された対象指定文字列が入力データD1中に存在するか否かの検出処理を実行する。この検出処理をマスク対象辞書に対象指定文字列として登録されたすべての文字列について実行する。この処理も文字列毎に処理してもよく、各文字列を並行して処理してもよいものとする。この結果、対象指定文字列が検出されれば、検出された文字列から指定する文字数の範囲、即ち該文字列から50文字の位置を検出する。この検出位置がS03で設定したマスク対象外範囲に含まれている場合、即ちマスク対象外範囲と強制的マスク対象範囲とが重複する場合は、その位置までの重複範囲をマスク対象範囲D1 ́に再設定する。一方、対象指定文字列が検出できない場合や、対象指定文字列から50文字の位置がマスク対象外範囲に含まれていない場合、あるいはS03で対象外範囲が設定されていない場合にはマスク対象範囲D1 ́の再設定は行われない。なお、S01~S04によってマスク対象範囲D1 ́の設定が確定され、該確定されたマスク対象範囲D1 ́にてS05以降のマスク処理が行われる。S05:前記検出部4は、入力データD1のマスク対象範囲D1 ́に対して前記DB9の個人情報辞書に登録された各文字列が含まれているか否かの検出処理を実行し、登録された文字列が含まれていれば、その文字列を抽出する。なお、図2中では省略されているが、該文字列が含まれていなければマスク処理の必要が無いため処理を終了する。S06:前記マスク生成部5は、S05で抽出された各文字列について、その文字列をマスクするためのマスク文字列を生成する。このマスク文字列としては、のような伏文字でもよく、あるいは文字列長と文字列とのハッシュ値とを利用した6EA1Aのような文字列でもよく、マスク文字列の生成方法は制限しないものとする。S07.S08:前記置換部6は、S05で抽出された各文字列をS06で生成されたマスク文字列で置換するS07。その後に前記出力部7は、S07でマスク文字列に置換されたテキストデータD2をマスク処理済の閲覧ログとしてモニタなどに出力するS08。ここで出力された閲覧ログは、ユーザの購買行動の解析のためのマーケッティング用データと利用される。このように前記マスク装置1によれば、S03で対象外指定文字列から指定文字数の範囲該文字列から200文字の位置までがマスク対象外範囲に設定されるため、従来よりもマスクされる範囲が限定される。すなわち、商品の説明文の文字列例えばブランド名などをS05以降のマスク処理の対象外に設定できるため、該商品説明の文字列などに対する誤ったマスクを回避できる。したがって、誤ってマスクされた文字列を修正する作業が軽減され、Web閲覧履歴を活用するにあたってデータ収集作業の時間やコストの抑制に貢献できる。このときマスク対象外範囲にS04の検出位置が含まる場合、即ち強制的マスク対象範囲とマスク対象外範囲とが重複する場合は、その位置までがマスク対象範囲D1 ́に再設定される。この結果、S03のマスク対象外範囲に個人情報が含まれていても、S04でマスク対象範囲D1 ́に再設定され、この点で個人情報保護は尊重されている。≪S03.S04の処理例≫以下、前記マスク装置1の主要処理、即ちS03.S04にてマスク対象範囲を確定する処理例を説明する。ここではS03にて対象外指定文字列が複数検出され、S04の処理段階にて対象指定文字列がマスク対象外範囲に存在しているものとする。具体的には、この処理例ではa対象外指定文字列を商品名ブランド名とする。b指定対象文字列を氏名とする。cE1=商品名、E2=ブランド名、W1=氏名とする。また、入力データD1として閲覧ログのテキストデータを用いる。ここでは該テキストデータに1500文字数あるとし、該テキストデータ内のE1,E2,W1が出現する位置をそれぞれ検出する。この検出結果は、Pos_E1=10,562,768Pos_E2=821Pos_W1=37,1023とする。1マスク対象外範囲の設定対象外指定文字列の位置から一定文字数分を加算し、マスク対象外範囲として範囲の終点の位置を算出するS03。このとき各対象外指定文字列に対し、同一の文字数を加算してもよいし、対象外指定文字列毎に加算する文字数を変更しても構わない。本例では、E1に対する範囲文字数を300,E2に対する範囲文字数を200とする。そして、マスク対象外範囲の始点と終点の組み合わせを以下のように算出する。ar_E1=10,309,562,861,768,1067ar_E2=821,1020この算出後にマスク対象外範囲の統合を行う。すなわち、一方のマスク対象外範囲の始点が他方のマスク対象外範囲の終点よりも小さい場合に二つの範囲を統合する。例えば始点a.終点bのマスク対象範囲と始点c.終点dのマスク対象範囲との統合にあたっては、始点cよりも終点bが大きければ終点bを終点dに置き換え、始点cと終点dの範囲は削除する。このとき終点b<終点dの場合にのみ置き換え、終点b>終点dの場合は置き換えない。前述したar_E1とar_E2の組合例によれば、ar_E1の2番目と3番目、およびar_E2がそれぞれ重なるため、統合することができる。この統合にあたっては、ar_E1の2番目の終点861とar_E1の3番目の始点768とを比較し、ar_E1の2番目の終点861>ar_E1の3番目の始点768で、ar_E1の2番目の終点861<ar_E1の3番目の終点1067であるので、ar_E1の2番目の終点861をar_E1の3番目の終点1067で置き換え、ar_E1の3番目の範囲は削除する。つぎにar_S1の2番目の終点上記の例では1067に置き換えた後とar_E2の始点821とを比較する。この場合は、ar_E1の2番目の終点1067>ar_E2の始点821でありar_E1の2番目の終点1067>ar_E2の終点1020であるため、ar_E2の範囲はar_E1の2番目の範囲に含まれるため、これに吸収されることになる。このような操作によりマスク対象外範囲は、ex_area=10,309,562,1067と算出される。2強制的マスク対象範囲の設定続いて対象指定文字列により強制的マスク対象範囲の設定を行うS04。ここでは対象指定文字列W1の出現位置と範囲を指定する文字数を加算して強制的マスク対象範囲を算出する。このとき対象指定外文字列と同様に範囲の文字数を一定値としてもよく、文字列毎に文字数を変更してもよい。ここでは対象指定文字列は一つだけなので、範囲文字数を50とする。前述の例によれば、強制的マスク対象範囲の始点と終点の組み合わせは、ar_W1=37,86,1023,1072と算出される。3マスク対象範囲の再設定さらにマスク対象範囲D1 ́の再設定を行うS04。すなわち、マスク対象外範囲内に上記で求めた強制的マスク対象範囲が含まれる場合は、その範囲をマスク対象外範囲から除外する。このとき強制的マスク対象範囲の始点がマスク対象外範囲の始点と終点の間にあるかどうかを判定し、マスク対象外範囲を見直していく。ここでは前述の例から各マスク対象外範囲の始点と終点は、ex_area[0].start=10ex_area[0].end=309ex_area[1].start=562ex_area[1].end=1067である一方、強制マスク対象範囲の始点と終点は、ar_W1[0].start=37ar_W1[0].end=86ar_W1[1].start=1023ar_W1[1].end=1072であるとし、ar_W1の各始点各終点とex_areaの各始点各終点とをそれぞれ比較していく。その結果、ex_area[0].start<ar_W1[0].startar_W1[0].start<ex_area[0].endかつar_W1[0].end<ex_area[0].endであるため、ar_W1[0]の範囲はex_area[0]に含まれることが分かる。この場合、マスク対象外範囲ex_area[0]を分割する。ここではマスク対象外範囲の終点を強制マスク対象範囲の始点に置き換え、強制マスク対象範囲の終点からマスク対象外範囲の終点までのマスク対象外範囲を一つ追加する。すなわち、ex_area[0].start=10ex_area[0].end=36ex_area[2].start=87ex_area[2].end=309このとき、添字は要素数から加算して追加する。また、置き換える際の位置は置き換え元から1少ない文字数としている。続いて、2つ目の要素に対して比較し、ex_area[1].start<ar_W1[1].startar_W1[1].start<ex_area[1].endかつar_W1[1].end>ex_area[1].endであるため、ar_W1[1]は、ex_area[1]の一部に重なることがわかる。この場合、マスク対象外範囲ex_area[1]の一部を削除する。ここではマスク対象外範囲の終点を強制マスク対象範囲の始点に置き換える。すなわち、ex_area[1].start=562ex_area[1].end=1022とする。この場合も置き換える際の位置は置き換えもとから1少ない文字数としている。以上から、マスク対象外範囲を再設定でき、この逆数的範囲をマスク対象範囲D1 ́に確定する。すなわち、マスク対象外範囲は昇順で整列することで、ex_area=10,36,87,309,562,1022となるので、その逆数的範囲を算出し、msk_area=1,9,37,86,310,561,1023,1500を確定されたマスク対象範囲D1 ́に設定する。≪プログラムなど≫本発明は、前記マスク装置1の各部2~10の一部もしくは全部として、コンピュータを機能させる個人情報マスクプログラムとして構成することもできる。このプログラムによれば、S01~S08の一部あるいは全部をコンピュータに実行させることが可能となる。前記プログラムは、Webサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、CD-ROM,DVD-ROM,CD-R,CD-RW,DVD-R,DVD-RW,MO,HDD,BD-ROM,BD-R,BD-REなどの記録媒体に記録して、保存配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。"