(57)【特許請求の範囲】
【請求項１】
ファイルが個人情報ファイルであるかを判定する個人情報ファイル判定システムであって、
前記個人情報ファイル判定システムは、
処理対象となった表形式のファイルから、行方向及び列方向に配列された文字情報を抽出する文字情報抽出部と、
前記抽出した各文字情報について、予め定められた文字列の配列条件を備えるかを判定することにより前記抽出した文字情報のうち個人情報である文字情報を判定し、個人情報であると判定した文字情報がどの項目の個人情報に該当するかを判定する個人情報判定部と、
前記個人情報の判定を行った、前記表形式の行方向及び列方向に配列された各文字情報に対して、同一の列方向の各個人情報の項目のうち、同一種類の項目の個人情報が一定割合以上含まれているかを、少なくとも二以上の列について判定することにより、その配列に規則性を有するかを判定する規則性判定部と、
前記規則性判定部において前記個人情報であると判定した各文字情報の配列が規則性を有すると判定した場合に、前記処理対象となったファイルを個人情報ファイルとして判定するファイル判定部と、
前記ファイル判定部における判定結果に基づいて制御処理を実行する制御処理部と、を有することを特徴とする個人情報ファイル判定システム。
【請求項２】
コンピュータ端末を、
所定の記憶領域に記憶されている、処理対象となった表形式のファイルから、行方向及び列方向に配列された文字情報を抽出する文字情報抽出部、
前記抽出した各文字情報について、予め定められた文字列の配列条件を備えるかを判定することにより前記抽出した文字情報のうち個人情報である文字情報を判定し、個人情報であると判定した文字情報がどの項目の個人情報に該当するかを判定する個人情報判定部、
前記個人情報の判定を行った、前記表形式の行方向及び列方向に配列された各文字情報に対して、同一の列方向の各個人情報の項目のうち、同一種類の項目の個人情報が一定割合以上含まれているかを、少なくとも二以上の列について判定することにより、その配列に規則性を有するかを判定する規則性判定部、
前記規則性判定部において前記個人情報であると判定した各文字情報の配列が規則性を有すると判定した場合に、前記処理対象となったファイルを個人情報ファイルとして判定するファイル判定部、
前記ファイル判定部における判定結果に基づいて制御処理を実行する制御処理部、
として機能させることを特徴とする個人情報ファイル判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ端末で管理しているファイルについて、そのファイルが個人情報ファイルであるかどうかを判定する個人情報ファイル判定システムに関する。
【背景技術】
【０００２】
近年、企業などの組織で管理する個人情報の漏洩が相次いだことにより、個人情報を含むファイルの徹底管理が求められるようになっている。しかし個人情報を大量に含むファイルは非常に多数あることから、すべてのファイルをチェックして、個人情報を大量に含むファイルを特定するのは容易ではない。
【０００３】
そこで下記特許文献１乃至特許文献４に記載のように、記憶しているファイルの内容を検索することで、自動的に個人情報を含むファイルであるかを判定し、それを特定するシステムが存在する。
【０００４】
【特許文献１】特開２００６−１７８６０３号公報
【特許文献２】特開２００７−２００２７６号公報
【特許文献３】特開２００７−２４１５８０号公報
【特許文献４】特許第３７０５４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の各特許文献に記載のシステムを利用することにより、個人情報を含むファイルを特定することは出来る。しかし企業などの組織で使用するファイルの場合、そのほとんどのファイルに何らかの個人情報を含んでいることが通常である。例えば電子メールであれば、電子メールの本文に署名として発信者の氏名、勤務先の住所、電話番号、電子メールアドレスなどが含まれていたり、書類などのファイルであっても、氏名や住所などの個人情報が含まれていることがほとんどである。
【０００６】
もちろんこれらの個人情報は漏洩しても良いということではないが、各特許文献に記載のシステムを用いた場合では、単に、ファイルの内容に、「名前」、「住所」、「電話番号」などの情報が含まれているかを判定しているだけであるので、コンピュータ端末で記憶しているファイルのほとんどが個人情報ファイルであるとして特定される可能性が極めて高い。そのため、ほとんどのファイルに対して、個人情報ファイルであることを示すフラグが付されたり、セキュリティ設定が行われてしまう可能性がある。
【０００７】
しかし企業などの組織においてもっとも重要なことは、名簿や顧客情報のように、個人情報を大量に含むファイルが漏洩することであり、それらのファイルについては徹底的に機密扱いとされなければならない。
【０００８】
ところが上記各特許文献のシステムを用いたとしても、個人情報を含むファイルであるかどうかを特定することは出来ても、そのファイルが本当に機密扱いとされなければならない個人情報を含むファイル（名簿や顧客情報などのファイル）であるか、を特定することは出来ず、単に文書の一部に個人情報を含んでいるファイルと、大量に個人情報を含むファイルとの切り分けをすることが出来ていない。
【０００９】
従って、特定したファイルに個人情報が含まれていることはわかっても、名簿や顧客情報のファイルなどの、個人情報を大量に含むファイルであるかどうかは、管理者が別途、ファイルを開いたり、ファイル名などから推測することで、特定しなければならない。しかしこのような作業は、上述のように、従来の特許文献のシステムでは、コンピュータ端末で記憶するファイルのほとんどのファイルが個人情報を含むファイルとして判定されてしまうので、実際にはその労力は膨大となってしまう。
【００１０】
そこで、名簿や顧客情報などのように、個人情報を大量に含むファイルだけを、コンピュータ端末に記憶するファイルから特定することで、真に保護されるべき個人情報ファイルを特定することが出来るシステムが求められている。
【課題を解決するための手段】
【００１１】
本発明者は上記課題に鑑み、個人情報を大量に含むファイルだけをコンピュータ端末に記憶するファイルから特定することが可能な個人情報ファイル判定システムを発明した。なお本願明細書において、個人情報ファイルとは、そのファイルの内容のほとんど（一定割合以上、例えば９０％以上、９５％以上など）が個人情報であるファイルのことであり、またその個人情報が一定の規則性（例えば周期性）をもって含まれているファイル、例えば名簿ファイル、顧客情報ファイルなどを示す。
【００１２】
第１の発明は、ファイルが個人情報ファイルであるかを判定する個人情報ファイル判定システムであって、前記個人情報ファイル判定システムは、処理対象となった表形式のファイルから、行方向及び列方向に配列された文字情報を抽出する文字情報抽出部と、前記抽出した各文字情報について、予め定められた文字列の配列条件を備えるかを判定することにより前記抽出した文字情報のうち個人情報である文字情報を判定し、個人情報であると判定した文字情報がどの項目の個人情報に該当するかを判定する個人情報判定部と、前記個人情報の判定を行った、前記表形式の行方向及び列方向に配列された各文字情報に対して、同一の列方向の各個人情報の項目のうち、同一種類の項目の個人情報が一定割合以上含まれているかを、少なくとも二以上の列について判定することにより、その配列に規則性を有するかを判定する規則性判定部と、前記規則性判定部において前記個人情報であると判定した各文字情報の配列が規則性を有すると判定した場合に、前記処理対象となったファイルを個人情報ファイルとして判定するファイル判定部と、前記ファイル判定部における判定結果に基づいて制御処理を実行する制御処理部と、を有する個人情報ファイル判定システムである。
【００１３】
上述のように、企業などで特に保護されるべきは個人情報を大量に含むファイル（個人情報ファイル）であるが、従来のシステムでは、個人情報を少しでも含んでいるだけでそのファイルを特定してしまう問題点があり、実際に使用する際には不便であった。そこで本発明のように、個人情報を大量に含むファイルでは、個人情報が規則性を持って配列されている点に着目し、単に個人情報を含むファイルというだけではなく、規則性に則って個人情報を配列しているかを判定することで、個人情報ファイルかどうかを的確に判定することが可能となる。これによって、企業などでもっとも保護されるべき個人情報ファイルを容易に特定でき、また実際に使用する際の利便性も向上する。
一般的に個人情報ファイルは表形式のファイルで構成されていることが多い。そのため、列方向に同一種類の項目の個人情報が一定割合以上配置されているかを判定することで、規則性の判定が可能となる。
【００２６】
上記発明における個人情報ファイル判定システムは、本発明の個人情報ファイル判定プログラムをコンピュータ端末に読み込み、実行させることで実現できる。すなわち、コンピュータ端末を、所定の記憶領域に記憶されている、処理対象となった表形式のファイルから、行方向及び列方向に配列された文字情報を抽出する文字情報抽出部、前記抽出した各文字情報について、予め定められた文字列の配列条件を備えるかを判定することにより前記抽出した文字情報のうち個人情報である文字情報を判定し、個人情報であると判定した文字情報がどの項目の個人情報に該当するかを判定する個人情報判定部、前記個人情報の判定を行った、前記表形式の行方向及び列方向に配列された各文字情報に対して、同一の列方向の各個人情報の項目のうち、同一種類の項目の個人情報が一定割合以上含まれているかを、少なくとも二以上の列について判定することにより、その配列に規則性を有するかを判定する規則性判定部、前記規則性判定部において前記個人情報であると判定した各文字情報の配列が規則性を有すると判定した場合に、前記処理対象となったファイルを個人情報ファイルとして判定するファイル判定部、前記ファイル判定部における判定結果に基づいて制御処理を実行する制御処理部、として機能させる個人情報ファイル判定プログラムである。
【発明の効果】
【００２７】
本発明の個人情報ファイル判定システムによって、個人情報を大量に含むファイルだけを、コンピュータ端末に記憶するファイルから特定することが可能となる。一般的に、名簿や顧客情報として使用されるファイルには、氏名、住所、電話番号など、様々な種別のデータが含まれている。そのような場合、本発明の個人情報ファイル判定システムを用いることによって、従来よりも精度良く、個人情報のファイルとして判定することができる。
【発明を実施するための最良の形態】
【００２８】
本発明の個人情報ファイル判定システム１のシステム構成の一例を図１に示す。
【００２９】
本発明の個人情報ファイル判定システム１は、図１では一台のコンピュータ端末で実施される場合を示しているが、この各機能が複数のコンピュータ端末に各機能が分散して配置されており、複数のコンピュータ端末やサーバ（以下、これらを総称して、「コンピュータ端末」という場合もある）によりその処理が実現されても良い。
【００３０】
コンピュータ端末は、プログラムの演算処理を実行するＣＰＵなどの演算装置２０と、情報を記憶するＲＡＭやハードディスクなどの記憶装置２１とを少なくとも有している。コンピュータ端末上で実現する各機能（各手段）は、その処理を実行する手段（プログラムやモジュールなど）が演算装置２０に読み込まれることでその処理が実行される。各機能は、記憶装置２１に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置２１から読み出し、読み出した情報を適宜、演算装置２０における処理に用いる。また、当該コンピュータ端末には、演算装置２０の処理結果や記憶装置２１に記憶する情報をインターネットやＬＡＮなどのネットワークを介して送受信する通信装置２４、ディスプレイなどの表示装置２２、キーボードやマウスやテンキーなどの入力装置２３を有していても良い。図２にコンピュータ端末のハードウェア構成の一例を模式的に示す。
【００３１】
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。
【００３２】
個人情報ファイル判定システム１は、ファイル記憶部２と個人情報ファイル判定部３と制御処理部４とを有する。
【００３３】
ファイル記憶部２は、当該コンピュータ端末において、ファイルを記憶している。ここで記憶しているファイルの種類には様々なものがあり、文書ファイル、表計算ファイル、テキストファイル、プレゼンテーションファイル、画像ファイルなどその制限はない。
【００３４】
個人情報ファイル判定部３は、ファイル記憶部２に記憶するファイルについて、個人情報ファイルであるかを特定する。個人情報ファイルとは、上述のように、ファイルの主な内容が個人情報そのものであり、その個人情報を一定の規則性のもとに、大量に含んでいるファイルである。例えば名簿や顧客情報のファイルが該当する。また個人情報とは、氏名、住所、電話番号、電子メールアドレス、年齢、性別などの属性情報を示す。なお個人のほかにも、法人などの組織体の属性情報であってもよく、本明細書では、「個人」との記載にはそれらも含まれる。
【００３５】
個人情報ファイル判定部３は、文字情報抽出部３１と個人情報判定部３２と規則性判定部３３とファイル判定部３４とを有する。
【００３６】
個人情報ファイルには、大量に個人情報が含まれているため、一般的には、無秩序に各個人情報が含まれているのではなく、何らかの規則性（例えば周期性）により含まれていることがほとんどである。例えば、図４に示すように、「ＩＤ」、「氏名」、「都道府県」、「住所」、「電話番号」、「特記事項」などのように、各個人情報が予め定められた配列で記されている。
【００３７】
そこで個人情報ファイル判定部３は、処理対象としたファイルから文字情報を抽出し、その文字情報が個人情報に特有の文字情報であるかを判定したのち、個人情報に特有の文字情報として判定した文字情報について、それらの規則性（例えば周期性）を判定することで、個人情報ファイルであるかを判定する。
【００３８】
そのため個人情報ファイル判定部３は、文字情報抽出部３１と個人情報判定部３２と規則性判定部３３とファイル判定部３４とを有する。
【００３９】
文字情報抽出部３１は、ファイル記憶部２に記憶するファイルのうち、個人情報ファイルであるかを判定するファイルについて、そのファイルに含まれる文字情報を抽出する。この文字情報の抽出の際に、所定の記号（カンマ、コンマ、セミコロンなど）、空白、改行などの区切り記号を、抽出する文字情報の区切りとして認識して、抽出することが好ましい。文字情報同士の区切りのために、これらが使用されることが多いからである。また文字情報には、文字のほか、数字、記号なども含まれる。なお、処理対象のファイルが画像ファイルなどの場合には、そのままでは文字情報を抽出できないので、当該画像ファイルから、文字認識処理（ＯＣＲ処理）などを実行することで、文字情報を抽出する。
【００４０】
個人情報判定部３２は、文字情報抽出部３１が抽出した、ファイルに含まれる各文字情報について、その文字情報が個人情報に特有の文字情報であるかを判定する。またその個人情報がどのような項目の個人情報（「名前」「住所」「都道府県」「電話番号」「数値」など）であるのかを判定する。文字情報が個人情報であるか、そしてどの項目の個人情報であるかは、以下のように判定する。
【００４１】
まず氏名であれば「姓」「名」で構成されており、所定の文字数内（例えば８文字以内など）であれば氏名として判定する。また氏名として明らかに使われることがない文字、例えば数字などが含まれていればそれは氏名ではないと判定しても良い。また「姓」「名」の間に区切り記号が設けられている場合には、区切り記号の前の「姓」、後を「名」として判定する。
【００４２】
次に「都道府県名」などは４７都道府県に該当する文字列であるかを判定する。更に住所についても、都道府県名、市区町村名などの順番で配置されているので、それらの名称を記憶する保存部（図示せず）を備えておき、文字情報列の判定の際に、その保存部に記憶する情報との一致性を判定することで行える。
【００４３】
また電話番号は数字が所定の桁数で並んでいれば（記号「−」が所定の桁に位置されていることを判定しても良い。また記憶されている市外局番などが先頭の所定桁数に含まれているかを判定しても良い）、電話番号であると判定できる。
【００４４】
更に電子メールアドレスは英数字と「＠」「.」を含み、その最後が「co.jp」、「com」、「ac.jp」などの所定の英字列（予め定められたドメイン名の文字列）になっていれば電子メールアドレスであると判定できる。
【００４５】
生年月日は、元号の後に所定桁数の数字、または２桁か４桁の数字があり、その後、「年」、所定桁数の数字、「月」、所定桁数の数字、「日」と並んでいれば生年月日であると判定できる。
【００４６】
このように、個人情報については「氏名」、「住所」、「電話番号」、「電子メールアドレス」、「生年月日」など定型的に構成される属性情報がほとんどである。そのため上記以外の属性情報、例えば「郵便番号」、「血液型」、「家族構成」、「所有資産金額」などもそれぞれの配列規則と一致しているかを判定することで、文字情報抽出部３１が抽出した文字情報について、個人情報であるかを個人情報判定部３２が判定することが出来る。なお個人情報判定部３２は、文字情報抽出部３１が抽出した文字情報について、区切り記号で区切られた文字情報を一つの文字情報として処理し、その文字情報が個人情報であるかを判定する。
【００４７】
規則性判定部３３は、処理対象となったファイルの文字情報について、個人情報判定部３２で個人情報の文字情報であるかの判定を行ったのち、個人情報判定部３２で個人情報として判定した各文字情報について、あるいは文字情報抽出部３１で抽出した各文字情報について、規則性に（例えば周期性）従って含まれているか、を判定する。なお以下の説明では規則性の一例として周期性の場合を示すが、周期性以外の規則性であっても良い。
【００４８】
周期性の判定には様々な方法がある。
【００４９】
第一の方法としては、区切り記号に応じた周期性を判定する方法である。一般的に名簿や顧客情報などは、表形式であることが多い。そこで行方向、あるいは列方向に各項目、例えば「氏名」、「住所」などが設定されており、その項目毎に各個人情報が含まれていることが多い。
【００５０】
そこで行方向、列方向の各項目に、同一種類の個人情報が含まれているかを判定することで、周期性があるかを判定する。図５にこの場合の周期性の判定方法の一例を模式的に示す。図５（ａ）では、図４のファイルがＣＳＶ形式の場合を示しており、区切り記号としてカンマが使用されている。従って各文字情報はカンマによって区切られている。これを行、列ごとにそろえたのが図５（ｂ）である。
【００５１】
図５（ｂ）に示すように、第一の方法では、行方向、列方向のそれぞれに、あるいはいずれか一方向の各項目毎の文字情報について、同一種類の個人情報が含まれているかを判定し、一定割合以上が同一種類の個人情報であれば、それは周期性があると判定する。
【００５２】
例えば図５（ｂ）の場合、列方向に周期性を検索することで、「氏名」、「都道府県」、「住所」、「電話番号」の種類の個人情報がそれぞれ含まれていると判定できるので、周期性があると判定する。なお一部の文字情報は個人情報の種類について、誤認識もあり得るので、同一種類として判定した個人情報が一定割合以上、各列、各行に含まれていれば、周期性があると判定することが好ましい。
【００５３】
第二の方法としては、予め各アプリケーションプログラムに応じた周期性のパターンを所定の記憶部（図示せず）に記憶させておき、そのパターンと各文字情報とを比較させ、もっとも一致率が高かったものの周期として判定する。
【００５４】
企業などで使用される個人情報ファイルとしては、それぞれ定められたフォーマットで作成されていることが多い。例えば顧客情報ファイルや社員名簿ファイルなどは、予め定められた項目の順にデータが配置されている。そこで個人情報ファイルとして使用される可能性のあるファイルの各項目配列のパターンをパターン辞書として記憶部に記憶させておき、文字情報抽出部３１が抽出した文字情報、あるいは個人情報判定部３２で判定した文字情報について、このパターン辞書における項目の配列パターンと、同一であるかを逐次、判定する。そしてそれらの一致率が最も高いパターンについて、その周期性で各文字情報が配列されていると判定できる。
【００５５】
例えば顧客情報ファイルの項目の配列パターンが「氏名」、「会社名」、「会社住所」、「会社電話番号」、「電子メールアドレス」、「役職」の順であり、社員名簿ファイルが「社員番号」、「氏名」、「所属部署」、「役職」、「電子メールアドレス」の順である場合に、これらの項目の並び順がパターン辞書に記憶されている。そして、規則性判定部３３は、文字情報抽出部３１で抽出した文字情報について、あるいは個人情報判定部３２で判定した文字情報について、各文字情報ごとに順番に、同一種類の個人情報であるかを判定する。まず先頭の文字情報と、顧客情報ファイルのパターン辞書の最初の項目「氏名」とを比較し、次に、２つめの文字情報と、顧客情報ファイルのパターン辞書の２番目の項目「会社名」とを比較する。そして３番目の文字情報と、顧客情報ファイルのパターン辞書の３番目の項目「会社住所」とを比較する。これを最後の文字情報まで繰り返して比較する。
【００５６】
顧客情報ファイルのパターン辞書との一致を終えると、次に、先頭の文字情報と、社員名簿ファイルのパターン辞書の最初の項目「社員番号」とを比較し、次に、２つめの文字情報と、社員名簿ファイルのパターン辞書の２番目の項目「氏名」とを比較する。そして３番目の文字情報と、社員名簿ファイルのパターン辞書の３番目の項目「所属部署」とを比較する。これを最後の文字情報まで繰り返して比較する。
【００５７】
このように最後のパターン辞書まで比較すると、そのうち、当該処理対象のファイルに含まれる文字情報は、もっとも一致率が高かったパターン辞書の並び方（周期性）であると判定する。例えば顧客情報ファイルとの一致率が１％であり、社員名簿ファイルとの一致率が９８％であったとすると、当該ファイルに含まれる個人情報は、社員名簿ファイルの周期性で構成されていると判定できる。
【００５８】
なおすべてのパターン辞書との比較の結果、最も高い一致率の値が所定値以下（または所定値未満）の場合には、それはいずれとも一致しなかったとして判定し、すなわち、当該ファイルについて、周期性はないと判定する。
【００５９】
第三の判定方法としては、以下のような処理がある。個人情報判定部３２が個人情報として判定した文字情報について、その各文字情報からなるデータ列のうち、所定範囲のデータの項目を抽出する。例えば先頭から５番目までのデータの項目を抽出する。そして抽出したデータの項目と、各文字情報からなるデータ列の項目とを逐次比較し、一致した回数が所定回数以上（所定回数より多い）ならば規則性があると判定し、所定回数未満（所定回数以下）ならば規則性がないと判定する。これを模式的に示すのが図２６である。
【００６０】
所定範囲のデータの項目と、データ列の項目とが一致すればその部分は同じ並び方であることから、規則性があると考えられる。従って、このような方法により、規則性があるかを判定することができる。
【００６１】
第四の周期性の判定方法としては、以下のような方法がある。
【００６２】
まず個人情報判定部３２で個人情報であると判定した各文字情報について、一連のデータ列とし、判定した個人情報の項目で、所定のコードにコード化する。例えば、個人情報であると判定した各文字情報の各項目について、項目「名前」は「０１ｈ」、項目「都道府県」は「１１ｈ」、項目「住所」は「１２ｈ」、項目「電話番号」は「１３ｈ」、項目「数値」は「００ｈ」、項目「不明（文字）」は「Ｆ０ｈ」、項目「不明（英数字）」は「Ｆ１ｈ」、項目「不明（空白）」は「ＦＦｈ」とのように、予め項目ごとに定められたコードに基づいて、個人情報であると判定した各文字情報について、コード化する。これを模式的に示すのが図６である。
【００６３】
この時点ではコード化されたデータの周期性はわかっていない。そのため基準となる項目（任意に設定可能）と周期性の仮サイズ（仮に設定した周期性の値）を設定する。基準項目としては、例えば先頭の項目、あるいはデータにおいて最も多い項目などを基準項目として設定する。また周期性の仮サイズとしては２以上の任意の値とすることが良い。初期値が大きくなれば処理回数が少なくなるので高速化した処理が期待されるが、周期性のサイズが仮サイズより小さい場合には結果を求めることが出来ない。そのため適切な大きさが求められ、仮サイズを２とすることによって、結果を求められる可能性は高まる。なお周期性の仮サイズに、後述するデータをシフトした回数を加えた値が周期性のサイズとなる。
【００６４】
ここでは、基準項目として「数値」（コードでは「００ｈ」）とし、周期性の仮サイズとして３を設定したとする。そうすると、まず規則性判定部３３は、基準項目までデータをシフトする。そうすると、ここでは基準項目が先頭の「数値」であるのでそのまま処理可能となる。基準項目までシフトしたデータは、例えば配列（これを配列Ａとする）などに逐次格納する。なお配列処理はポインタ処理によっても同様のことが実現できる。
【００６５】
そして、基準項目から、周期性の仮サイズの次の項目までシフトする。このシフトしたデータについても、例えば配列（これを配列Ｂとする）などに逐次格納する。そして配列Ａの先頭項目と、配列Ｂの先頭項目とを比較し、一致するか判定する。これを模式的に示すのが図７である。
【００６６】
図７の場合、配列Ａの先頭項目のコードは「００ｈ」であり、配列Ｂの先頭項目のコードは「１２ｈ」であるから一致しない。一致しない場合には、配列Ｂについて、更に、一つ項目をシフトする（シフトした回数を記録しておく。この時点ではシフト回数＝１）。そしてシフトさせた状態で、上述と同様に、配列Ａの先頭項目と配列Ｂの先頭項目とを比較し、一致するか判定する。これを模式的に示すのが図８である。
【００６７】
図８の場合、配列Ａの先頭項目のコードは「００ｈ」であり、一つシフトした配列Ｂの先頭項目のコードは「１３ｈ」であるから一致しない。一致しない場合には、配列Ｂについて、更に、一つ項目をシフトする（シフト回数＝２）。そしてシフトさせた状態で、上述と同様に、配列Ａの先頭項目と配列Ｂの先頭項目とを比較し、一致するか判定する。これを模式的に示すのが図９である。
【００６８】
図９の場合、配列Ａの先頭項目のコードは「００ｈ」であり、一つシフトした配列Ｂの先頭項目のコードは「Ｆ０ｈ」であるから一致しない。一致しない場合には、配列Ｂについて、更に、一つ項目をシフトする（シフト回数＝３）。そしてシフトさせた状態で、上述と同様に、配列Ａの先頭項目と配列Ｂの先頭項目とを比較し、一致するか判定する。これを模式的に示すのが図１０である。
【００６９】
図１０の場合、配列Ａの先頭項目のコード「００ｈ」と、配列Ｂの先頭項目のコード「００ｈ」とが一致する。そうすると配列Ａの２つめの項目のコード「０１ｈ」と配列Ｂの２つめの項目のコード「０１ｈ」、配列Ａの３つめの項目のコード「１１ｈ」と配列Ｂの３つめの項目のコード「０２ｈ」とを比較する。そうすると周期性の仮サイズのすべての項目が一致する。
【００７０】
この場合、配列Ａと配列Ｂとの項目を順番に比較する。そうすると４つめの項目は配列Ａと配列Ｂはともに「１２ｈ」で一致し、５つめの項目は配列Ａと配列Ｂはともに「１３ｈ」で一致する。そして６つめの項目は配列Ａが「Ｆ０ｈ」、配列Ｂが「Ｆ０ｈ」となる。
【００７１】
このように順番に処理をしていくと、すべての配列が一致すると判定できる。これは、一周期を経て、データが一致したことを示している。このようにすべての配列が一致すると、配列Ｂのデータをウィンドウの仮サイズから３回シフトさせれば配列Ａと配列Ｂのデータが一致することが判定できるので、周期性の仮サイズ（＝３）とシフト回数（＝３）とを加算して、周期性のサイズは「６」であると判定できる。つまり６つのデータで一周期であることを規則性判定部３３は判定する。これを模式的に示すのが図１１である。
【００７２】
なおこのような処理を配列Ｂの最後まで繰り返しても周期性を判定できなかった場合には、規則性判定部３３は、周期性がないと判定する。
【００７３】
以上のようにして規則性判定部３３は、周期性を判定する。
【００７４】
なお第四の判定方法では、すべての個人情報が正確に判定できていることが望ましいが、実際には、文字情報抽出部３１、個人情報判定部３２で誤認識をする可能性もある。そのため上記とは異なり、周期性のサイズのデータがすべて一致しなくても、一致率が所定値以上（例えば９８％以上など）であれば、その時点で周期性の仮サイズとシフト回数とを加算して、周期性のサイズを判定しても良い。
【００７５】
この場合の第五の判定方法について説明する。
【００７６】
図６について一部の情報を誤認識した場合の例を図１２に示す。図１２の網掛け部分が誤認識した部分である。この方法の場合でも上述の判定方法と同様に、まずコード化する（図１２の下方）。なお一致率の閾値として６０％とする（本明細書ではデータ数が少ないので閾値を６０％と低く設定したが、実際にはデータ数は多くなるので閾値を８０％、８５％、９０％、９５％、９８％など、適宜設定することが好ましい。誤認識率が多いと想定される場合には閾値を低く設定し、誤認識率が少ないと想定される場合には閾値を高く設定すればよい。またデータ数によっても設定を変更しても良い）。
【００７７】
例えば上述では、図７において、配列Ａと配列Ｂの先頭項目のみを比較していたが、先頭項目のみを比較するのではなく、配列Ａと配列Ｂのすべての項目（ただし配列Ａについては配列Ｂの項目の長さまで）を比較し、データの一致率を算出する。これを模式的に示すのが、図１３である。そして、この一致率が所定値以上（所定値より大きい）であればその時点で周期性があると判定し、所定値未満（所定値以下）であれば配列Ｂのデータを一つシフトする。
【００７８】
図１３の場合には、１５のデータのうち一致している項目が０なので一致率は０％である。従って、配列Ｂのデータを一つシフトする（シフト回数＝１）。そしてシフトした場合にも同様に処理を実行する。これを模式的に示すのが図１４である。
【００７９】
図１４の場合には、１４のデータのうち一致している項目が２なので一致率は１４％である。従って、配列Ｂのデータを更に一つシフトする（シフト回数＝２）。そしてシフトした場合にも同様に処理を実行する。これを模式的に示すのが図１５である。
【００８０】
図１５の場合には、１３のデータのうち一致している項目が０なので一致率は０％である。従って、配列Ｂのデータを更に一つシフトする（シフト回数＝３）。そしてシフトした場合にも同様に処理を実行する。これを模式的に示すのが図１６である。
【００８１】
図１６の場合には、１２のデータのうち一致している項目が８なので一致率は６７％である。従って、周期性があると判定できる。そしてその周期性のサイズは、周期性の仮サイズ（＝３）とシフト回数（＝３）とを加算して「６」であると判定する。
【００８２】
なお上述では配列Ｂのすべてのデータと配列Ａとを比較した場合を説明したが、データ数がきわめて多い場合、配列Ｂのすべてのデータと比較すると処理時間を要する場合がある。そのため配列Ｂのうちの一部のデータとそれに対応する配列Ａとを比較するようにしても良い。
【００８３】
更に認識の結果、不明を示すコードと比較する場合には、その項目は一致した項目としてカウントする、あるいは比較を行わなくても良い。また上述の第五の判定方法において、すべてのデータをシフトしても一致率を充足しなかった場合には周期性がないと判定する。
【００８４】
第六の規則性の判定方法としては、以下のような処理を行うことができる。個人情報として抽出した文字情報のデータ列の一例を図１７に示す。まず規則性判定部３３は、図１７のデータ列の一部または全部（処理対象となるデータ列）を抽出し、そのデータ列について、上述の各場合と同様にコード化する。そしてコード化したデータ列を半分に分ける。そして先頭から半分までを第１のデータ列（配列Ａ）、半分以降を第２のデータ列（配列Ｂ）とする。図１７に対して、この処理を行った状態を図１８に示す。なおここでは２つのデータ列を生成する際に半分の位置で第１のデータ列、第２のデータ列としたが、半分の位置ではなく、任意の位置で区切り、第１のデータ列、第２のデータ列とすることもできる。
【００８５】
そして配列Ａと配列Ｂの各項目を比較し、データの一致率を算出する。そして算出した一致率が所定値以上（所定値より大きい）であればその時点で周期性があると判定し、所定値未満（所定値以下）であれば配列Ａまたは配列Ｂのデータを一つシフトする。
【００８６】
図１８の場合には配列Ａと配列Ｂの各項目のデータは一致していないので、一致率は０％であることから、配列Ｂのデータを一つシフトする。この状態を示すのが図１９である。
【００８７】
図１９の場合には、１４のデータのうち一致している項目が１なので一致率は７％である。従って、配列Ｂのデータを一つシフトする。これを模式的に示すのが図２０である。
【００８８】
図２０の場合には、１３のデータのうち一致している項目が０なので一致率は０％であることから、配列Ｂのデータを一つシフトする。この状態を示すのが図２１である。
【００８９】
図２１の場合には、１２のデータのうち一致している項目が１１なので一致率は９２％であることから、所定値以上である（閾値が８０％として設定されていた場合）。つまり、図２１の状態において、配列Ａと配列Ｂとで比較した各項目は（ほぼ）一致するデータの並び方であることから、ここに周期性があると考えられる。
【００９０】
以上のようにして規則性判定部３３は、規則性を判定しても良い。また第五の判定方法の場合と同様に、データ数がきわめて多い場合、配列Ｂのすべてのデータと比較すると処理時間を要する場合がある。そのため配列Ｂのうちの一部のデータとそれに対応する配列Ａとを比較するようにしても良い。
【００９１】
更に認識の結果、不明を示すコードと比較する場合には、その項目は一致した項目としてカウントする、あるいは比較を行わなくても良い。また上述の第六の判定方法において、すべてのデータをシフトしても一致率を充足しなかった場合には周期性がないと判定する。
【００９２】
以上のように、第一の判定方法乃至第六の判定方法のいずれか一以上を用いて、規則性判定部３３は、個人情報判定部３２で個人情報として判定した各文字情報について、あるいは文字情報抽出部３１で抽出した各文字情報について、周期性を判定する。
【００９３】
ファイル判定部３４は、規則性判定部３３において、処理対象となったファイルについて周期性があると判定すると、そのファイルは個人情報ファイルであると判定する。また規則性判定部３３において、周期性がないと判定する、あるいは周期性があると判定できなかった場合には、そのファイルは個人情報ファイルではないと判定する。
【００９４】
制御処理部４は、個人情報ファイル判定部３において、処理対象となったファイルが個人情報ファイルであると判定すると、当該ファイルに対して所定の制御処理を実行する。例えば当該ファイルに対して、個人情報ファイルであることを示すフラグを付したり、当該ファイルを個人情報ファイルを記録している所定のデータベースやサーバに登録させるなどの処理がある。また当該ファイルに対するセキュリティレベルを高いレベルに設定するなどのセキュリティに対する処理を行っても良い。
【実施例１】
【００９５】
次に本発明の個人情報ファイル判定システム１を用いた処理プロセスの一例を、図３のフローチャートを用いて説明する。なおここで処理対象とするファイルとして図２２及び図２３のファイルの場合を説明する。なお図２２は名簿ファイルの一例、図２３は文書ファイルの一例である。
【００９６】
図２２及び図２３のファイルはファイル記憶部２に記憶されている。そのためまず個人情報ファイル判定部３は、ファイル記憶部２から処理対象とする図２２の名簿ファイルを抽出し（Ｓ１００）、文字情報抽出部３１がそのファイルから文字情報を抽出する（Ｓ１１０）。
【００９７】
そうすると、「○山○男」「○○市○○町１−１−１」「０１２−３４５６−７８９０」「●本●蔵」「●●市●●町２−２−２」「０９８−７６５４−３２１０」「□川□子」「□□市□□町３−３−３」「１１１−１１１１−１１１１」を文字情報として抽出できる。なお区切り記号として、空白、句読点、改行を使用した場合を示している。
【００９８】
個人情報判定部３２は、文字情報抽出部３１で抽出した各文字情報に対して、その文字情報が個人情報であるかを判定し、その個人情報がどの項目の個人情報であるのかを判定する（Ｓ１２０）。そうすると、「○山○男」は「名前」、「○○市○○町１−１−１」は「住所」、「０１２−３４５６−７８９０」は「電話番号」、「●本●蔵」は「名前」、「●●市●●町２−２−２」は「住所」、「０９８−７６５４−３２１０」は「電話番号」、「□川□子」は名前、「□□市□□町３−３−３」は「住所」、「１１１−１１１１−１１１１」は「電話番号」のように判定する。
【００９９】
このように文字情報抽出部３１で抽出した文字情報について個人情報であるかを判定したのち、規則性判定部３３が、それらの文字情報（個人情報として判定した文字情報）が、周期性を備えて含まれているかを、上述の第一の判定方法乃至第六の判定方法のいずれか一以上により判定する（Ｓ１３０）。
【０１００】
そうするとこれらは周期性を備えていると判定できるので、ファイル判定部３４は、図２２の名簿ファイルは個人情報ファイルであると判定する（Ｓ１４０）。これを模式的に示すのが図２４である。そうすると制御処理部４は、ファイル判定部３４において図２２の名簿ファイルが個人情報ファイルであると判定したので（Ｓ１５０）、制御処理部４が、当該ファイルに対して所定の制御処理を実行する（Ｓ１６０）。
【０１０１】
例えば図２２の名簿ファイルに対して、個人情報ファイルであることを示すフラグを付したり、その名簿ファイルを個人情報ファイルを記録している所定のデータベースやサーバに登録させる（このデータベースやサーバには、高いセキュリティ処理が施されており、その操作ログなどが常に記録されていることが好ましい）。あるいは、図２２の名簿ファイルのセキュリティ設定を高いレベル、例えば「コピー不可」、「印刷不可」、「添付不可」に変更するなどの処理をしても良い。また、判定した規則性（周期性など）を表示装置２２で表示させるように処理しても良い。
【０１０２】
一方、個人情報ファイル判定部３は、次に、ファイル記憶部２に記憶する図２３の文書ファイルを抽出し（Ｓ１００）、文字情報抽出部３１がそのファイルから文字情報を抽出する（Ｓ１１０）。
【０１０３】
そうすると、「○山○男」「様」「本件につきまして不明点等がありましたら、」「以下までご連絡ください。」「●本●蔵」「０９８−７６５４−３２１０」「●●市●●町２−２−２」を文字情報として抽出できる。
【０１０４】
個人情報判定部３２は、文字情報抽出部３１で抽出した各文字情報に対して、その文字情報が個人情報であるかを判定し、その個人情報がどの項目の個人情報であるのかを判定する（Ｓ１２０）。そうすると、「○山○男」は「名前」、「様」は「不明（文字）」、「本件につきまして不明点等がありましたら、」は「不明（文字）」、「以下までご連絡ください。」は「不明（文字）」、「●本●蔵」は「名前」、「０９８−７６５４−３２１０」は「電話番号」、「●●市●●町２−２−２」は「住所」のように判定する。
【０１０５】
このように文字情報抽出部３１で抽出した文字情報について個人情報であるかを判定したのち、規則性判定部３３が、それらの文字情報（個人情報として判定した文字情報）が、周期性を備えて含まれているかを、上述の第一の判定方法乃至第六の判定方法のいずれか一以上により判定する（Ｓ１３０）。
【０１０６】
そうするとこれらは周期性を備えていないと判定できるので、ファイル判定部３４は、図２３の名簿ファイルは個人情報ファイルではないと判定する（Ｓ１４０）。これを模式的に示すのが図２５である。そうすると制御処理部４は、ファイル判定部３４において図２３の文書ファイルが個人情報ファイルではないと判定したので（Ｓ１５０）、当該ファイルに対して所定の制御処理を実行しない。
【０１０７】
なお上述では制御処理部４は個人情報ファイルと判定した場合に所定の制御処理を実行する場合を説明したが、個人情報ファイルではないと判定した場合に、個人情報ファイルであると判定した場合とは異なる制御処理、例えば個人情報ファイルではないことを示すフラグを付す、などを実行するように構成しても良い。
【０１０８】
図２２及び図２３のファイルの場合、従来の個人情報の判定システムでは、いずれもそのファイルの内容に、名前、住所、電話番号などの情報を含んでいることから、個人情報ファイルであると判定してしまう。しかし本願発明の場合、図２２の場合には個人情報ファイルであると判定するが、図２３の場合には個人情報の並び方に周期性が存在しないため、個人情報ファイルではないと判定できる。このように本願発明では、名簿や顧客情報などのような個人情報が大量に含まれており、それが周期性を備えて含まれているファイルのみを個人情報ファイルとして判定することが出来る。そして現実的にも、実際に保護されるべきファイルは、このような大量の個人情報を含むファイルであり、実際の運用としても非常に有益なシステムとなる。
【０１０９】
なお上述の実施例では規則性の一例として周期性を判定したが、それ以外の規則性であっても良い。つまり周期性がなくても、一定の規則性に従って個人情報がファイルに含まれている場合には、そのファイルを個人情報ファイルと判定することも出来る。
【実施例２】
【０１１０】
上述の実施例では、ファイルから文字情報を抽出して、その文字情報が個人情報であるかを判定して、更に規則性を有するかを判定する構成としていたが、ファイルに含まれる情報としては文字情報のほかにも、顔画像などのバイオメトリクス情報（生体情報）であっても良い。この場合、ファイルから、ファイルに含まれている画像情報を抽出し、その画像情報が顔画像であるかを判定する。この画像情報が顔画像であるかは、画像情報から特徴点（顔の各部位の特徴とする点など）を抽出し、その特徴点が顔画像の特徴点と一致するかを判定することにより、顔画像であるか否かの判定が可能である。そして顔画像であると判定した画像情報に対して、更に規則性を有するかを判定する処理（実施例１の処理）を実行することにより、個人情報ファイルであるかの判定処理を行うこともできる。
【０１１１】
また画像情報と文字情報とが一つのファイルに含まれており、画像情報については顔画像（個人情報としての顔画像）であるかの判定処理、文字情報については個人情報であるかの判定処理を実行しても良い。この場合、顔画像情報として判定した画像情報、個人情報であると判定した文字情報について、規則性を有するかの判定処理（実施例１の処理）を実行することで、個人情報ファイルであるかの判定処理を行うこともできる。
【０１１２】
なおバイオメトリクス情報としては、顔画像のほかに、指紋情報、掌紋情報、声紋情報、虹彩情報、静脈のパターン情報などいかなる情報であっても上記と同様の処理を実施することができるが、顔画像情報の場合には、誰でもが容易に視認することで認識することが可能なきわめて重要な情報であるので、特に顕著な技術的効果を発揮する。
【実施例３】
【０１１３】
上述の各実施例では一台のコンピュータ端末において個人情報ファイル判定システム１の処理が実行される場合を説明したが、これらの機能が複数のコンピュータ端末やサーバに分散していても良い。例えばファイル記憶部２はファイルサーバに備えられており、個人情報ファイル判定部３、制御処理部４が所定の管理サーバに備えられていても良い。
【０１１４】
各機能の分散配置のバリエーションには様々なパターンがあり、如何なる配置形態であっても良い。分散配置の場合、コンピュータ端末における処理の際に、ほかのコンピュータ端末やサーバの各機能を利用する場合にはその問い合わせを当該ほかのコンピュータ端末やサーバに対して行い、その結果を当該コンピュータ端末における処理に用いる。そしてその処理結果をコンピュータ端末で実行することとなる。
【産業上の利用可能性】
【０１１５】
本発明の個人情報ファイル判定システム１によって、個人情報を大量に含み、名簿や顧客情報などの個人情報ファイルだけを、コンピュータ端末に記憶するファイルから特定することが可能となる。一般的に、名簿や顧客情報として使用されるファイルには、氏名、住所、電話番号など、様々な種別のデータが含まれている。そのような場合、本発明の個人情報ファイル判定システム１を用いることによって、従来よりも精度良く、個人情報のファイルとして判定することができる。
【図面の簡単な説明】
【０１１６】
【図１】本発明のシステム構成の一例の概念図である。
【図２】コンピュータ端末のハードウェア構成の一例の概念図である。
【図３】本発明の処理プロセスの一例を示すフローチャートである。
【図４】個人情報ファイルの一例を模式的に示す図である。
【図５】周期性の判定方法の一例を模式的に示す図である。
【図６】判定した個人情報について、項目ごとにコード化したことを模式的に示す図である。
【図７】第四の周期性の判定方法における処理を示す図である。
【図８】図７からデータをシフトした状態を模式的に示す図である。
【図９】図８からデータをシフトした状態を模式的に示す図である。
【図１０】図９からデータをシフトした状態を模式的に示す図である。
【図１１】周期性を判定した状態を模式的に示す図である。
【図１２】判定した個人情報について、項目ごとにコード化したことを模式的に示す図である。
【図１３】第五の周期性の判定方法における処理を示す図である。
【図１４】図１３からデータをシフトした状態を模式的に示す図である。
【図１５】図１４からデータをシフトした状態を模式的に示す図である。
【図１６】図１５からデータをシフトした状態を模式的に示す図である。
【図１７】判定した個人情報について、項目ごとにコード化したことを模式的に示す図である。
【図１８】第六の周期性の判定方法における処理を示す図である。
【図１９】図１８からデータをシフトした状態を模式的に示す図である。
【図２０】図１９からデータをシフトした状態を模式的に示す図である。
【図２１】図２０からデータをシフトした状態を模式的に示す図である。
【図２２】名簿ファイルの一例である。
【図２３】文書ファイルの一例である。
【図２４】名簿ファイルに対して個人情報ファイルであるかの判定処理を実行した場合を模式的に示す図である。
【図２５】文書ファイルに対して個人情報ファイルであるかの判定処理を実行した場合を模式的に示す図である。
【図２６】第三の周期性の判定方法における処理を示す図である。
【符号の説明】
【０１１７】
１：個人情報ファイル判定システム
２：ファイル記憶部
３：個人情報ファイル判定部
３１：文字情報抽出部
３２：個人情報判定部
３３：規則性判定部
３４：ファイル判定部
４：制御処理部
２０：演算装置
２１：記憶装置
２２：表示装置
２３：入力装置
２４：通信装置
【要約】
【課題】
コンピュータ端末で管理しているファイルについて、そのファイルが個人情報ファイルであるかどうかを判定する個人情報ファイル判定システムを提供することを目的とする。
【解決手段】
処理対象となったファイルからそこに含まれている情報を抽出し、抽出した情報が個人情報であるかを判定し、前記個人情報であると判定した各情報について規則性があるか否かを判定することで、前記処理対象となったファイルが個人情報ファイルであるかを判定する個人情報ファイル判定部と、を有する個人情報ファイル判定システムである。
【選択図】  図１【図１】
0004272690.tif 000002
【図２】
0004272690.tif 000003
【図３】
0004272690.tif 000004
【図４】
0004272690.tif 000005
【図５】
0004272690.tif 000006
【図６】
0004272690.tif 000007
【図７】
0004272690.tif 000008
【図８】
0004272690.tif 000009
【図９】
0004272690.tif 000010
【図１０】
0004272690.tif 000011
【図１１】
0004272690.tif 000012
【図１２】
0004272690.tif 000013
【図１３】
0004272690.tif 000014
【図１４】
0004272690.tif 000015
【図１５】
0004272690.tif 000016
【図１６】
0004272690.tif 000017
【図１７】
0004272690.tif 000018
【図１８】
0004272690.tif 000019
【図１９】
0004272690.tif 000020
【図２０】
0004272690.tif 000021
【図２１】
0004272690.tif 000022
【図２２】
0004272690.tif 000023
【図２３】
0004272690.tif 000024
【図２４】
0004272690.tif 000025
【図２５】
0004272690.tif 000026
【図２６】
0004272690.tif 000027