JP5586435B2 - 電子文書マスキングシステム - Google Patents
電子文書マスキングシステム Download PDFInfo
- Publication number
- JP5586435B2 JP5586435B2 JP2010262282A JP2010262282A JP5586435B2 JP 5586435 B2 JP5586435 B2 JP 5586435B2 JP 2010262282 A JP2010262282 A JP 2010262282A JP 2010262282 A JP2010262282 A JP 2010262282A JP 5586435 B2 JP5586435 B2 JP 5586435B2
- Authority
- JP
- Japan
- Prior art keywords
- character string
- name
- dictionary
- electronic document
- suffix
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
例えば、電子文書データに関する個人情報漏洩防止策の一つとして、電子文書データ内に含まれる個人情報についてマスキングを行うことが考慮されている。
個人名を抽出するための接頭辞を示す文字列を格納した氏名接頭辞辞書と、
個人名を抽出するための接尾辞を示す文字列を格納した氏名接尾辞辞書と、
電子文書に含まれる文字列が、前記氏名接頭辞辞書に格納されている接頭辞を示す文字列と一致するか否かを判定する氏名接頭辞判定手段と、
前記氏名接頭辞判定手段によって一致すると判定された場合に、前記接頭辞を示す文字列の後ろの所定の文字数の文字列の中に前記氏名接尾辞辞書に格納されている接尾辞を示す文字列と一致する文字列があるか否かを判定する氏名接尾辞判定手段と、
前記氏名接尾辞判定手段によって一致する文字列があると判定された場合に、前記電子文書の中の前記接頭辞を示す文字列、および前記接頭辞を示す文字列と前記接尾辞を示す文字列の間の文字列を伏字に置き換えるマスキング手段と、
を備える。
苗字を示す文字列を接頭辞として格納した氏名接頭辞辞書と、
個人名を抽出するための接尾辞を示す文字列を格納した氏名接尾辞辞書と、
電子文書に含まれる文字列が、前記氏名接頭辞辞書に格納されている苗字を示す文字列と一致するか否かを判定する氏名接頭辞判定手段と、
前記氏名接頭辞判定手段によって一致すると判定された場合に、前記苗字を示す文字列の後ろの所定の文字数の文字列の中に前記氏名接尾辞辞書に格納されている接尾辞を示す文字列と一致する文字列があるか否かを判定する氏名接尾辞判定手段と、
前記氏名接尾辞判定手段によって一致する文字列があると判定された場合に、前記電子文書の中の前記苗字を示す文字列、および前記苗字を示す文字列と前記接尾辞を示す文字列の間の文字列を伏字に置き換えるマスキング手段と、
を備える。
マスキング処理部101は、個人情報DB102、顧客情報DB103、マスキング対象判定辞書104を参照してマスキング対象文字列を抽出し、個人情報や顧客情報等に対し、伏字等のマスキング処理を行う。
CPU10は、電子文書110をメモリ20に読み込んで、電子文書110にマスキング処理を施し、マスキング済電子文書120として記憶装置30に書き込む。
マスキング処理部101は、文分割部201と、氏名判定部202と、企業名判定部203と、住所判定部204と、メールアドレス判定部205と、電話番号判定部206とを有する。
文分割部201は、マスキング対象となる電子文書110を句点、読点毎に分割する。
氏名判定部202は、分割された電子文書中から、接頭辞と接尾辞に基づき個人名を示す文字列を判定して、マスキング処理を行う。
企業名判定部203は、分割された電子文書中から、接頭辞と接尾辞に基づき企業名を示す文字列を判定して、マスキング処理を行う。
住所判定部204は、分割された電子文書中から、接尾辞に基づき地名を示す文字列を判定して、マスキング処理を行う。また、数字及び記号の配列パターンに基づき郵便番号を示す文字列を判定して、マスキング処理を行う。
メールアドレス判定部205は、分割された電子文書中から、英数字及び記号の配列パターンに基づき電子メールアドレスを示す文字列を判定して、マスキング処理を行う。
電話番号判定部206は、分割した電子文書中から、数字及び記号の配列パターンに基づき電話番号を示す文字列を判定して、マスキング処理を行う。
なお、上記各判定部202〜206は、互いに独立して動作することが可能なものとする。
氏名接頭辞辞書300は、分割された電子文書中から個人名を抽出するための接頭辞を示す文字列を格納したものであり、例えば、氏名の苗字として用いられる「鈴木」「佐藤」「田中」等が該当する。
氏名接尾辞辞書400は、分割された電子文書中から個人名を抽出するための接尾辞を示す文字列を格納したものであり、例えば、氏名の後に付く「様」「殿」「さん」等が該当する。
企業名接頭辞辞書500は、分割された電子文書中から企業名を抽出するための接頭辞を示す文字列を格納したものであり、企業名の前に付く「(株)」「株式会社」「(財)」「財団法人」等が該当する。
企業名接尾辞辞書600は、分割された電子文書中から企業名を抽出するための接尾辞を示す文字列を格納したものであり、例えば、企業名の後に付く「社」「(株)」「株式会社」等が該当する。
地名接尾辞辞書700は、分割された電子文書中から住所を抽出するための接尾辞を示す文字列を格納したものであり、例えば、地名の後に付く「都」「道」「府」「県」等が該当する。
地名辞書800は、住所に関連してマスキング対象となる文字列(地名)を格納したものである。本例では、各地名について、図7に示す地名接尾辞辞書700に格納した文字を除いた文字列としている。例えば、「北海道」をマスキング対象とした場合には、地名接尾辞辞書700に「道」を格納し、地名辞書800に「道」を除いた「北海」の文字列を格納する。
電話番号判定辞書900は、電話番号としてマスキング対象となる文字列(数字)を示す桁数901と、各桁数に対応した数字及びハイフンの配置パターンを示す正規表現902との各データ項目を有する。
例えば、7桁の数字に対する正規表現「¥d{7}」と「¥d{2}−¥d{4}」は、それぞれ「○○○○○○○(7桁の数字)」と「○○−○○○○(2桁の数字,ハイフン,4桁の数字)」を定義している。
単位辞書1000は、複数桁数の数字の配列について、電話番号以外の文字列の場合にマスキング対象から除外するための接尾辞(単位)を格納したものである。
例えば、「m」「km」「円」等が該当し、単位辞書1000に格納された文字列が数字の後ろに付加されている場合には、電話番号以外の文字列を示すものとしてマスキング対象から除外する。
氏名判定部202は、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S1101)。
次に、読み込んだ文字からm文字前までの文字列が個人名の接頭辞に該当するか否かを判定する(S1102、S1103)。具体的には、氏名接頭辞辞書300に格納されている文字列と一致するか否かを判定する。ここで「m」は、0からMAXまでループするものとし、MAXは図3の氏名接頭辞辞書300に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S1103:Yes)には、接頭辞に該当すると判定された文字列の後ろの文字列について、個人名の接尾辞に該当するか否かの判定処理を繰り返す(S1104〜S1107)。一方、ステップS1103の判定の結果、一致しない場合(S1103:No)には次の文字列について処理を繰り返す。
判定の結果、一致した場合(S1106:Yes)には、接頭辞と、接頭辞と接尾辞の間の文字列をマスキング対象に設定して、伏字(●●●等)に置き換える(S1107)。
一方、ステップS1106の判定の結果、一致しない場合(S1106:No)には次の文字列について処理を繰り返す。
以上の処理を、分割した電子文書に含まれる全ての文字について行った後、処理を終了する。
氏名判定部202は、図11に示す処理と同様に、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割された電子文書の最後の文字まで、以下の処理を繰り返す(S1201)。
次に、読み込んだ文字からm文字前までの文字列が個人名の接尾辞に該当するか否かを判定する(S1202、S1203)。具体的には、氏名接尾辞辞書400に格納されている文字列と一致するか否かを判定する。ここで「m」は、0からMAXまでループするものとし、MAXは図4の氏名接尾辞辞書400に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S1203:Yes)には、接尾辞に該当すると判定された文字列の前の文字列について、個人名に該当するか否かの判定処理を繰り返す(S1204〜S1207)。一方、ステップS1203の判定の結果、一致しない場合(S1203:No)には次の文字列について処理を繰り返す。
判定の結果、一致した場合(S1206:Yes)には、ステップS1205で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換える(S1207)。
一方、ステップS1206の判定の結果、一致しない場合(S1206:No)には次の文字列について処理を繰り返す。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
企業名判定部203は、図11に示す処理と同様に、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S1301)。
次に、読み込んだ文字からm文字前までの文字列が企業名の接頭辞に該当するか否かを判定する(S1302、S1303)。具体的には、企業接頭辞辞書500に格納されている文字列と一致するか否かを判定する。ここで「m」は、0からMAXまでループするものとし、MAXは図5の企業接頭辞辞書500に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S1303:Yes)には、接頭辞に該当すると判定された文字列の後ろの文字列について、企業名に該当するか否かの判定処理を繰り返す(S1304〜S1307)。一方、ステップS1303の判定の結果、一致しない場合(S1303:No)には次の文字列について処理を繰り返す。
判定の結果、一致した場合(S1306:Yes)には、ステップS1305で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換える(S1307)。
一方、ステップS1306の判定の結果、一致しない場合(S1306:No)には次の文字列について処理を繰り返す。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
企業名判定部203は、図11に示す処理と同様に、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S1401)。
次に、読み込んだ文字からm文字前までの文字列が企業名の接尾辞に該当するか否かを判定する(S1402、S1403)。具体的には、企業接尾辞辞書600に格納されている文字列と一致するか否かを判定する。ここで「m」は、0からMAXまでループするものとし、MAXは図6の企業接尾辞辞書600に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S1403:Yes)には、接尾辞に該当すると判定された文字列の前の文字列について、企業名に該当するか否かの判定処理を繰り返す(S1404〜S1407)。一方、ステップS1403の判定の結果、一致しない場合(S1403:No)には次の文字列について処理を繰り返す。
判定の結果、一致した場合(S1406:Yes)には、ステップS1405で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換える(S1407)。
一方、ステップS1406の判定の結果、一致しない場合(S1406:No)には次の文字列について処理を繰り返す。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
住所判定部204は、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S501)。
次に、読み込んだ文字が地名に付く接尾辞であるか否かを判定する(S1502)。具体的には、地名接尾辞辞書700に格納された文字列と一致するか否かを判定する。判定の結果、一致する場合(S1502:Yes)には、後述する地名マスキング処理により地名をマスキングする(S1503)。
一方、一致しない場合(S1502:No)には、読み込んだ文字列が郵便番号に付く接頭辞「〒」か否かを判定する(S1504)。判定の結果「〒」である場合(S1504:Yes)には、後述する郵便番号マスキング処理により郵便番号をマスキングする(S1505)。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
地名マスキング処理では、接尾辞の前n文字を読み込み(S1601、S1602)、読み込んだ文字列が地名辞書800に格納された文字列と一致するか否かを判定する(S1603)。ここで「n」は、1〜MAXまでループするものとし、MAXは地名辞書800に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S1603:Yes)には、ステップS1602で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換え(S1604)、地名マスキング処理を終了する。この場合のマスキング対象には、接尾辞として設定された文字列(例えば、「都」「道」「府」「県」等)が含まれるものとする。
一方、ステップS1603の判定の結果、一致しない場合(S1603:No)には次の文字列について処理を繰り返す。
郵便番号マスキング処理では、接頭辞の後ろ8文字を読み込み(S1701)、読み込んだ文字列が郵便番号を示す文字列の配列パターンに合致するか否かを判定する(S1702)。具体的には、8文字の文字列が郵便番号の形式(配列パターン)に合致するか否かで判定を行う。ここで郵便番号の形式(配列パターン)とは「数字3桁+ハイフン+数字4桁」の形式とする。
判定の結果、郵便番号の形式に合致した場合(S1702:Yes)には、ステップS1701で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換え(S1703)、郵便番号マスキング処理を終了する。
一方、ステップS1702の判定の結果、郵便番号の形式(配列パターン)に合致しない場合(S1702:No)には郵便番号マスキング処理を終了する。
メールアドレス判定部205は、まず、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S1801)。
次に、読み込んだ文字が「@」であるか否かを判定する(S1802)。
判定の結果、「@」である場合(S1802:Yes)には、後述するメールアドレスマスキング処理を行う(S1803)。
一方、ステップ1802の判定の結果、「@」以外の文字の場合(S1802:No)には、次の文字について処理を繰り返す。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
メールアドレスマスキング処理では、まず、「@」から分割された電子文書の先頭まで1文字ずつ読み込み(S1901)、読み込んだ文字が英数字及び記号以外の文字であるか否かを判定する(S1902)。
判定の結果、英数字,記号以外の場合(S1902:Yes)には、それまでに読み込んだ文字列がメールアドレスの「@」より前の部分を構成するものとしてマスキング対象に設定し、伏字(●●●等)に置き換える(S1903)。
一方、読み込んだ文字が英数字又は記号の場合(S1902:No)には、次の文字を読み込む。
次に、「@」から分割された電子文書の末尾まで1文字ずつ読み込み(S1904)、読み込んだ文字が英数字及び記号以外の文字であるか否かを判定する(S1905)。
判定の結果、英数字,記号以外の場合(S1905:Yes)には、それまでに読み込んだ文字列がメールアドレスの「@」より後の部分を構成するものとしてマスキング対象に設定し、伏字(●●●等)に置き換え(S1906)、メールアドレスマスキング処理を終了する。
一方、読み込んだ文字が英数字又は記号の場合(S1905:No)には、次の文字を読み込む。
電話番号判定部206は、まず、文分割部201が分割した電子文書を取得して、その電子文書を構成する文字列を1文字ずつ読み込み、分割した電子文書の最後の文字まで、以下の処理を繰り返す(S2001)。
次に、読み込んだ文字が数字であるか否かを判定する(S2002)。
判定の結果、数字である場合(S2002:Yes)には、読み込んだ文字(数字)から後ろにn文字目の文字を読み込み(S2003、S2004)、読み込んだ文字が数字及び記号(ハイフン)以外の文字であるか否かを判定する(S2005)。この場合、n+1(ステップS2001で読み込んだ文字を含む文字数)が、電話番号判定辞書900の桁数901に設定された数字となるように、nが5〜12に設定されている。
判定の結果、数字又は記号(ハイフン)以外の文字である場合(S2005:Yes)には、後述する電話番号マスキング処理により電話番号をマスキングする(S2006)。
一方、ステップS2005の判定の結果、読み込んだ文字が数字又は記号の場合(S2005:No)には、次の文字について処理を繰り返す。
以上の処理を、分割された電子文書に含まれる全ての文字について行った後、処理を終了する。
電話番号マスキング処理では、読み込んだn文字目までの文字列が電話番号判定辞書900の正規表現902と合致するか否かを判定する(S2101)。
具体的には、n+1の桁数901に対応する正規表現902の定義情報を取得して、文字列との比較を行う。
判定の結果、正規表現902の定義情報に合致する場合(S2101:Yes)には、文字列の接頭辞(m文字)又は接尾辞(m文字)が、単位辞書1000に格納された文字列と一致するか否かを判定する(S2103)。ここで「m」は、0〜MAXまでループするものとし、MAXは単位辞書1000に格納された文字列の最大文字数とする。
判定の結果、一致した場合(S2103:Yes)には、その文字列は電話番号以外を示すものとして、マスキング対象から除外して電話番号マスキング処理を終了する。
一方、ステップS2103の判定の結果、一致しない場合(S2103:No)には、S2004で読み込んだ文字列をマスキング対象に設定して、伏字(●●●等)に置き換えて電話番号マスキング処理を終了する(S2104)。
従って、電子文書の論理構造の解析等が不要となり、高速にマスキング処理を行うことが可能となる。
Claims (1)
- 苗字を示す文字列を接頭辞として格納した氏名接頭辞辞書と、
個人名を抽出するための接尾辞を示す文字列を格納した氏名接尾辞辞書と、
電子文書に含まれる文字列が、前記氏名接頭辞辞書に格納されている苗字を示す文字列と一致するか否かを判定する氏名接頭辞判定手段と、
前記氏名接頭辞判定手段によって一致すると判定された場合に、前記苗字を示す文字列の後ろの所定の文字数の文字列の中に前記氏名接尾辞辞書に格納されている接尾辞を示す文字列と一致する文字列があるか否かを判定する氏名接尾辞判定手段と、
前記氏名接尾辞判定手段によって一致する文字列があると判定された場合に、前記電子文書の中の前記苗字を示す文字列、および前記苗字を示す文字列と前記接尾辞を示す文字列の間の文字列を伏字に置き換えるマスキング手段と、
を備えることを特徴とする電子文書マスキングシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010262282A JP5586435B2 (ja) | 2010-11-25 | 2010-11-25 | 電子文書マスキングシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010262282A JP5586435B2 (ja) | 2010-11-25 | 2010-11-25 | 電子文書マスキングシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012113530A JP2012113530A (ja) | 2012-06-14 |
JP5586435B2 true JP5586435B2 (ja) | 2014-09-10 |
Family
ID=46497675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010262282A Expired - Fee Related JP5586435B2 (ja) | 2010-11-25 | 2010-11-25 | 電子文書マスキングシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5586435B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101282705B1 (ko) * | 2012-07-30 | 2013-08-23 | 주식회사 한글과컴퓨터 | 전자 문서에 포함된 개인 정보 유출 방지 장치 및 방법 |
WO2024070153A1 (ja) * | 2022-09-28 | 2024-04-04 | 富士フイルム株式会社 | 機密情報処理装置、その作動方法、及びデータ送受信システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3371761B2 (ja) * | 1997-06-19 | 2003-01-27 | 富士通株式会社 | 氏名読み音声合成装置 |
JP2007058380A (ja) * | 2005-08-23 | 2007-03-08 | Hitachi Software Eng Co Ltd | 電子文書マスキングシステム |
JP5251099B2 (ja) * | 2007-12-06 | 2013-07-31 | 日本電気株式会社 | 用語共起度抽出装置、用語共起度抽出方法及び用語共起度抽出プログラム |
-
2010
- 2010-11-25 JP JP2010262282A patent/JP5586435B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012113530A (ja) | 2012-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101313300B (zh) | 本地搜索 | |
US8938461B2 (en) | Method for organizing large numbers of documents | |
JP2007058380A (ja) | 電子文書マスキングシステム | |
Galleti et al. | An updated survey of globular clusters in M 31-I. Classification and radial velocity for 76 candidate clusters | |
US8224839B2 (en) | Search query extension | |
US20170308517A1 (en) | Automatic generation of templates for parsing electronic documents | |
CN104239570B (zh) | 论文的搜索方法及装置 | |
CN107203526A (zh) | 一种查询串语义需求分析方法及装置 | |
JP5586435B2 (ja) | 電子文書マスキングシステム | |
Corcino et al. | Asymptotic estimates for r‐Whitney numbers of the second kind | |
CN106156342A (zh) | 一种数据批量导入方法 | |
JP2013003653A (ja) | 検索プログラム、検索方法、検索装置、およびノード | |
CN105930534B (zh) | 一种基于云存储服务价格的数据碎片减少方法 | |
Geier et al. | The catalogue of radial velocity variable hot subluminous stars from the MUCHFUSS project (Corrigendum) | |
JP2016018279A (ja) | 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法 | |
JP2008210229A (ja) | 知的財産情報検索装置、知的財産情報検索方法及び知的財産情報検索プログラム | |
US20170169079A1 (en) | Method and apparatus for secured information storage | |
JP2012155681A (ja) | フォントサーバ | |
Rodwald | An Analysis of Data Hidden in Bitcoin Addresses | |
JP6044422B2 (ja) | 略称生成方法および略称生成装置 | |
JP2009199254A (ja) | 電子メール送信システム、情報処理装置、電子メール送信方法、プログラム、及び記録媒体 | |
JP4069093B2 (ja) | 読替パターン生成装置、方法及びプログラム | |
Crosas Armengol | W right, F rank L loyd | |
KR100784286B1 (ko) | 문자 입력 패턴을 이용한 스팸 검출 방법 및 시스템 | |
KR101079185B1 (ko) | 구독자 프로파일을 이용한 문서의 제공 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130729 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140314 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140509 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140701 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140722 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5586435 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |