(57)【特許請求の範囲】
【請求項１】
データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出する処理と、
抽出された前記第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成する生成処理と、
前記１又は複数の第２の数値と前記複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、前記データ格納部に格納する処理と、
を含む処理を、コンピュータが実行する情報処理方法。
【請求項２】
前記生成処理が、
抽出された前記第１の数値を異なる有効桁数で表した複数の第２の数値を生成する処理
である請求項１記載の情報処理方法。
【請求項３】
前記生成処理が、
抽出された前記第１の数値を含む所定の数値範囲の上限値及び下限値である複数の第２の数値を特定する処理と、
前記第１の数値と前記下限値との差と、前記第１の数値と前記上限値との差とを算出し、前記データ格納部に格納する処理と、
を含む請求項１記載の情報処理方法。
【請求項４】
前記生成処理が、
抽出された前記第１の数値と、数値を分類するための数値範囲の設定とから、前記第１の数値を代表する１又は複数の第２の数値を特定する処理と、
前記１又は複数の第２の数値と、前記第１の数値との差を算出し、前記データ格納部に格納する処理と、
を含む請求項１記載の情報処理方法。
【請求項５】
前記生成処理が、
抽出された前記第１の数値を、指示された有効桁数で表した第２の数値を１つ生成する処理
である請求項１記載の情報処理方法。
【請求項６】
前記複数個の特徴語の同義語を抽出する処理と、
前記同義語の秘匿化を行って秘匿化データを生成し、前記データ格納部に格納する処理と、
を前記処理がさらに含む請求項１乃至５のいずれか１つ記載の情報処理方法。
【請求項７】
第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信する処理と、
複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている前記案件データブロックの各々について、前記第１の秘匿化データ値と前記第３の秘匿化データ値とから算出される、数値についての第１の類似度と、前記第２の秘匿化データ値と一致する前記第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれる前記データブロックと前記検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する算出処理と、
前記第３の類似度が閾値を超えた案件データブロックの識別情報又は前記第３の類似度が上位所定数の案件データブロックの識別情報を、前記検索要求の送信元に送信する処理と、
を含む処理を、コンピュータが実行する情報処理方法。
【請求項８】
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には前記第１の類似度を１に設定し、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在しない場合には前記第１の類似度を０に設定する処理
を含む請求項７記載の情報処理方法。
【請求項９】
前記第１の秘匿化データ値が、前記第１の数値の元の数値についての代表値の秘匿化データ値であり、
前記検索要求には、前記第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含み、
前記複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、
前記データブロックには、前記第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と前記上限値との差である第３の補助数値とをさらに含み、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には、前記第１の秘匿化データ値についての前記第１の補助数値と、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値についての前記第２の補助数値又は前記第３の補助数値との差を算出する処理と、
前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値との差が、前記近似判定のための範囲内であれば、前記第１の類似度を１に設定し、前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値との差が、前記近似判定のための範囲内でない場合には前記第１の類似度を０に設定する処理と、
を含む請求項７記載の情報処理方法。
【請求項１０】
前記第１の数値の第１の秘匿化データ値が複数前記データブロックに含まれ、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値の個数に応じた類似度を前記第１の類似度に設定する処理
を含む請求項７記載の情報処理方法。
【請求項１１】
前記第１の秘匿化データ値が、前記第１の数値の元の数値についての代表値の秘匿化データ値であり、
前記検索要求には、前記第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含み、
前記複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、
前記データブロックには、前記第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と前記上限値との差である第３の補助数値とをさらに含み、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には、前記第１の秘匿化データ値についての前記第１の補助数値と、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値についての前記第２の補助数値又は前記第３の補助数値との差を算出する処理と、
前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値と、前記近似判定のための範囲を表す数値と、の差に応じた類似度を前記第１の類似度に設定する処理と、
を含む請求項７記載の情報処理方法。
【請求項１２】
データ格納部と、
前記データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出し、抽出された前記第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成し、前記１又は複数の第２の数値と前記複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、第２のデータ格納部に格納する生成部と、
を有する情報処理装置。
【請求項１３】
第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信する受信部と、
複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている前記案件データブロックの各々について、前記第１の秘匿化データ値と前記第３の秘匿化データ値とから算出される、数値についての第１の類似度と、前記第２の秘匿化データ値と一致する前記第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれる前記データブロックと前記検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する検索処理部と、
前記第３の類似度が閾値を超えた案件データブロックの識別情報又は前記第３の類似度が上位所定数の案件データブロックの識別情報を、前記検索要求の送信元に送信する送信部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、秘匿化データの検索技術に関する。
【背景技術】
【０００２】
クラウドの広がりと共に、情報をクラウドに預けてクラウド本来の特徴を生かした情報共有及び活用が進んでいる。その中で、クラウドでの協業や分業における機密データの活用が期待されている。例えば、個人が健康に関する情報をクラウドに預け、これを信頼できる公的機関などに分析及び整理してもらうというような利用方法が考えられる。
【０００３】
こういった場面では、数値を含むテキストデータが共有される。例えば、医療関係では体温や血圧など患者の検査データに数値が含まれることになる。このようなデータを共有することは、関係者には有用である。
【０００４】
一方で、セキュリティとプライバシ保護のため、このようなデータは秘匿化してからクラウドに預けるのは一般的である。そうすると、セキュリティとプライバシが守られるが、データの活用という面では制限が生ずる。すなわち、秘匿化データは、従来の分析アプリケーションや検索サービスでは適切に処理できない。例えば、患者の症状と類似する診療例を検索したい場合であっても、診療データが秘匿化されていると、単純な検索では適切な診療例を見つけることが難しい。
【０００５】
なお、文書を検索キーワードで検索して、検索キーワードが出現すると当該文書内で検索キーワードに関連する数値と、検索キーワードと共に指定された数値とを比較するような技術が存在している。しかしながら、データを秘匿化することは考慮されていないので、秘匿化すると適切なデータを検索で抽出することは難しい。
【０００６】
また、検索対象のデータを秘匿化してサーバに保持しておき、検索時にも検索条件を同じように秘匿化して検索を行う技術も存在している。しかしながら、暗号化やハッシュ値算出を行うと、完全一致するデータのみしか抽出できないという問題がある。
【０００７】
さらに、検索条件入力データとして、数値範囲を指定することができ、数値範囲に少なくとも一致するデータを抽出する技術も存在している。しかしながら、暗号化やハッシュ値算出を行うことは考慮されていない。
【０００８】
また、秘匿化したデータを一旦安全な場所で復元し、検索条件とマッチング処理を行う技術も存在している。マッチング処理は平文の状態で行われるので、類似するデータをも抽出できるが、検索条件についても平文で入力するので、マッチング処理を行うサーバには検索条件は知られてしまう。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１１００１号公報
【特許文献２】特開２００７−５２６９８号公報
【特許文献３】特開２００５−２４２７４０号公報
【特許文献４】特開２００２−１０８９１１号公報
【特許文献５】特開２００４−２１３６４９号公報
【特許文献６】特開平１−５８０１９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、本技術の目的は、一側面としては、秘匿化したまま類似するデータを抽出できるようにするための技術を提供することである。
【課題を解決するための手段】
【００１１】
本技術の第１の形態に係る情報処理方法は、（Ａ）データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出するステップと、（Ｂ）抽出された第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成する生成ステップと、（Ｃ）１又は複数の第２の数値と複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、データ格納部に格納するステップとを含む。
【００１２】
本技術の第２の技術に係る情報処理方法は、（Ａ）第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信するステップと、（Ｂ）複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている案件データブロックの各々について、第１の秘匿化データ値と第３の秘匿化データ値とから算出される、数値についての第１の類似度と、第２の秘匿化データ値と一致する第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれるデータブロックと検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する算出ステップと、（Ｃ）第３の類似度が閾値を超えた案件データブロックの識別情報又は第３の類似度が上位所定数の案件データブロックの識別情報を、検索要求の送信元に送信するステップとを含む。
【発明の効果】
【００１３】
本技術の一側面によれば、秘匿化したまま類似するデータを抽出できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施の形態のシステム構成図である。
【図２】図２は、登録装置の機能ブロック図である。
【図３】図３は、管理装置の機能ブロック図である。
【図４】図４は、検索装置の機能ブロック図である。
【図５】図５は、登録時の処理フローを示す図である。
【図６】図６は、ＦＰ生成処理の処理フローを示す図である。
【図７】図７は、機密データの一例を示す図である。
【図８Ａ】図８Ａは、データブロック（第１の方式）の一例を示す図である。
【図８Ｂ】図８Ｂは、データブロック（第２の方式）の一例を示す図である。
【図９Ａ】図９Ａは、データブロック（第１の方式）の他の例を示す図である。
【図９Ｂ】図９Ｂは、データブロック（第２の方式）の他の例を示す図である。
【図１０】図１０は、管理装置のＤＢに蓄積されるデータの一例を示す図である。
【図１１】図１１は、検索時の処理フローを示す図である。
【図１２】図１２は、第２ＦＰ生成処理の処理フローを示す図である。
【図１３】図１３は、検索条件となる機密データの一例を示す図である。
【図１４Ａ】図１４Ａは、検索ＦＰデータ（第１の方式の第１の例）の一例を示す図である。
【図１４Ｂ】図１４Ｂは、検索ＦＰデータ（第１の方式の第２の例）の一例を示す図である。
【図１５Ａ】図１５Ａは、検索ＦＰデータ（第２の方式の第１の例）の一例を示す図である。
【図１５Ｂ】図１５Ｂは、検索ＦＰデータ（第２の方式の第２の例）の一例を示す図である。
【図１６】図１６は、検索処理の処理フローを示す図である。
【図１７】図１７は、類似度算出処理の処理フローを示す図である。
【図１８】図１８は、第１の方式を採用した場合における数値のハッシュ値の比較について説明するための図である。
【図１９】図１９は、第２の方式を採用した場合における数値のハッシュ値の比較について説明するための図である。
【図２０】図２０は、類似度算出処理の処理フローを示す図である。
【図２１】図２１は、類似度算出処理の処理フローを示す図である。
【図２２】図２２は、出力例を示す図である。
【図２３】図２３は、ＦＰ生成処理の他の例を示す図である。
【図２４】図２４は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
本技術の実施の形態に係るシステムの構成例を図１に示す。図１に示すように、例えばインターネットであるネットワーク１には、登録装置３と、管理装置５と、検索装置７とが接続されている。登録装置３は、以下で述べる処理を行って機密データを秘匿化して、管理装置５に登録する装置であり、登録装置３の数に制限はない。また、検索装置７は、以下で述べる処理を行って検索条件に係る機密データを秘匿化して、秘匿化データと他の検索条件とを含む検索要求を管理装置５に送信し、管理装置５から検索結果を受信する装置であり、検索装置７の数に制限はない。登録装置３と検索装置７は、専用の装置であっても良いし、秘匿化データを登録する際には登録装置３として機能し、検索を行う際には検索装置７として機能する装置であっても良い。
【００１６】
図２に、登録装置３の機能ブロック図を示す。登録装置３は、入力部３１と、機密データ格納部３２と、ＦＰ（Finger Print）生成部３３と、ＦＰルールデータ取得部３４と、ＦＰルールデータ格納部３５と、ＦＰデータ格納部３６と、送信部３７とを有する。入力部３１は、ユーザからの指示に応じて、機密データ格納部３２に、管理装置５に格納すべきデータを格納したり、ユーザから機密データの選択指示を受け付け、当該選択指示をＦＰ生成部３３に出力する。ＦＰ生成部３３は、ＦＰルールデータ格納部３５に格納されているＦＰルールデータに従ってＦＰデータを生成して、ＦＰデータ格納部３６に格納する。なお、ＦＰルールデータ格納部３５にＦＰルールデータが格納されていない場合には、ＦＰ生成部３３は、ＦＰルールデータ取得部３４に対して管理装置５からＦＰルールデータを取得するように指示する。ＦＰルールデータ取得部３４は、ＦＰ生成部３３からの指示に応じて、管理装置５からＦＰルールデータを取得して、ＦＰルールデータ格納部３５に格納する。送信部３７は、ＦＰデータ格納部３６に格納されているＦＰデータを、管理装置５に送信する。
【００１７】
図３に、管理装置５の機能ブロック図を示す。管理装置５は、ＦＰルールデータ格納部５１と、ＦＰルールデータ配布部５２と、ＦＰ登録部５３と、データベース（ＤＢ）５４と、検索処理部５５と、検索要求受信部５６と、検索結果送信部５７とを有する。ＦＰルールデータ配布部５２は、ＦＰルールデータ格納部５１に格納されているＦＰルールデータを、要求に応じて配信する。ＦＰ登録部５３は、登録装置３からＦＰデータを受信し、ＤＢ５４に格納する。検索要求受信部５６は、検索装置７から、検索要求を受信し、受信した検索要求のデータを検索処理部５５に出力する。検索結果送信部５７は、検索処理部５５から検索結果を受信すると、検索要求の送信元の検索装置７へ検索結果を送信する。検索処理部５５は、ＦＰルールデータに従って、検索要求受信部５６から受け取った検索要求に含まれる秘匿化データ及び検索条件などを用いた検索処理を実施して、検索結果を検索結果送信部５７に出力する。
【００１８】
図４に、検索装置７の機能ブロック図を示す。検索装置７は、入力部７１と、機密データ格納部７２と、ＦＰ生成部７３と、ＦＰルールデータ取得部７４と、ＦＰルールデータ格納部７５と、検索条件データ格納部７６と、ＦＰデータ格納部７７と、検索要求部７８と、出力部７９とを有する。入力部７１は、ユーザからの指示に応じて、機密データ格納部７２に、検索のための機密データを格納したり、ユーザから機密データの選択指示を受け付け、当該選択指示をＦＰ生成部７３に出力する。また、入力部７１は、ユーザから検索条件のデータを受け付け、検索条件データ格納部７６に格納する。
【００１９】
ＦＰ生成部７３は、ＦＰルールデータ格納部７５に格納されているＦＰルールデータに従ってＦＰデータ等を生成して、ＦＰデータ格納部７７に格納する。なお、ＦＰルールデータ格納部７５にＦＰルールデータが格納されていない場合には、ＦＰ生成部７３は、ＦＰルールデータ取得部７４に対して管理装置５からＦＰルールデータを取得するように指示する。ＦＰルールデータ取得部７４は、ＦＰ生成部７３からの指示に応じて、管理装置５からＦＰルールデータを取得して、ＦＰルールデータ格納部７５に格納する。検索要求部７８は、ＦＰデータ格納部７７に格納されているＦＰデータ等と、検索条件データ格納部７６に格納されている検索条件データとを読み出して検索要求を生成して、管理装置５に送信する。また、検索要求部７８は、管理装置５から検索結果を受信すると、出力部７９に出力して、例えば表示装置などに検索結果を表示する。
【００２０】
次に、図１乃至図４に示した装置の処理内容について説明する。まず、図５乃至図１０を用いて、ＦＰデータの登録処理について説明する。まず、入力部３１は、ＦＰ生成対象の機密データの指定を受け付ける（図５：ステップＳ１）。例えば、機密データ格納部３２に格納されている機密データを列挙して選択させるようにしても良いし、指定された機密データを他のコンピュータなどから取得して機密データ格納部３２に格納するようにしても良い。そして、入力部３１は、指定された機密データをＦＰ生成部３３に通知する。
【００２１】
ＦＰ生成部３３は、ＦＰルールデータ格納部３５にＦＰルールデータが格納されているか確認する（ステップＳ３）。ＦＰルールデータが格納されていない場合には（ステップＳ５：Ｎｏルート）、ＦＰ生成部３３は、ＦＰデータ取得部３４に、ＦＰルールデータを取得させ、ＦＰルールデータ格納部３５に格納させる（ステップＳ７）。
【００２２】
一方、ＦＰルールデータがＦＰルールデータ格納部３５に格納されている場合（ステップＳ５：Ｙｅｓルート）、又はステップＳ７の後に、ＦＰ生成部３３は、ＦＰルールデータに従って、ユーザにより指定された機密データのＦＰ生成処理を実施する（ステップＳ９）。ＦＰ生成処理については、後に詳しく述べる。これによって、生成されたＦＰデータは、ＦＰデータ格納部３６に格納される。
【００２３】
そして、送信部３７は、ＦＰデータ格納部３６に格納されているＦＰデータを、管理装置５に送信する（ステップＳ１１）。これに対して、管理装置５のＦＰ登録部５３は、登録装置３からＦＰデータを受信すると、当該受信したＦＰデータ及び識別情報などを、ＤＢ５４に格納する（ステップＳ１３）。識別情報は、例えば登録装置３の登録者ＩＤと、登録日とを含み、ＦＰ登録部５３が発行したＦＰＩＤをも含む。
【００２４】
このような処理を繰り返すことで、ＤＢ５４にＦＰデータが蓄積されてゆく。
【００２５】
次に、図６乃至図９を用いて、ＦＰ生成処理について説明する。ＦＰ生成部３３は、指定された機密データに対して正規化処理を実施する（図６：ステップＳ２１）。本実施の形態における機密データは、数値を含むテキストデータである。しかしながら、数値は、半角数字、全角数字、漢数字、アラビア数字などで表されている場合があり、さらに単位の違いも含まれる可能性がある。本実施の形態における正規化処理では、このような異なる表現を統一させる処理である。例えば、全角で「７０００」を、半角の「7000」へ、「１万円」を半角数字の「10000」に変換する。この正規化処理についてはよく知られているので、これ以上述べない。
【００２６】
その後、ＦＰ生成部３３は、指定された機密データ中の数値及び特徴語を抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ２３）。例えば、機密データのテキストを形態素解析により形態素に分解し、さらにその中から数値及び特徴語（例えば一般名詞、固有名詞など）を抽出する。
【００２７】
例えば、図７に示すようなテキストを処理する場合を考える。この例では、「患者」「基本」「情報」「主訴」「朝」「体温」「３８．５」「発熱」「症状」「検査」「心拍数」「測定」「結果」「８５」「以上」「値」「血液検査」．．．「治療」「方針」などが抽出される。
【００２８】
次に、ＦＰ生成部３３は、抽出された数値のうち未処理の数値を１つ特定する（ステップＳ２５）。そして、ＦＰ生成部３３は、ＦＰルールデータ格納部３５に格納されているＦＰルールデータに従って、特定された数値から、ＦＰのための数値を生成し、メインメモリなどの記憶装置に格納する（ステップＳ２７）。本実施の形態では、数値の近似を判断できるようにするために、単純に数値を秘匿化するのではなく、例えば２つの方式のいずれかで、特定された数値を展開する。
【００２９】
第１の方式では、複数の有効桁数で、特定された数値を表すようにする。例えば、「３８．５」であれば、有効桁数が１であれば「３×１０1」、有効桁数が２であれば「３．８×１０1」、有効桁数が３であれば「３．８２×１０1」というように表現を変更する。使用すべき有効桁数についてのデータは、ＦＰルールデータに含まれている。これによって、近似判断の幅を表す数値を生成している。
【００３０】
第２の方式では、予め定められた数値の範囲のいずれに、特定された数値が属するかを判断し、特定された数値が属する範囲の上限値及び下限値を特定する。なお、補助データとして、下限値からの差及び上限値からの差をさらに算出する。例えば、１０刻みで範囲が規定されている場合には、「３８．２」の場合、３０乃至４０という範囲に属するので、上限値「４０」及び下限値「３０」が特定される。補助データは、下限値からの差「８．２」と上限値からの差「−１．２」が算出される。ＦＰルールデータには、数値の範囲についての定義が含まれる。このようにして、近似判断の幅を表す数値とその補助数値とが生成される。
【００３１】
そして、ＦＰ生成部３３は、生成されたＦＰのための数値における秘匿部分に対するハッシュ値を生成し、メインメモリなどの記憶装置に格納する（ステップＳ２９）。ハッシュ値ではなく、暗号化であっても良い。鍵を用いる場合には、登録装置３及び検索装置７で共通の鍵を用いる。第１の方式の場合には、有効桁数が１乃至３であれば、「３×１０1」、「３．８×１０1」及び「３．８２×１０1」のそれぞれについてハッシュ値を算出する。第２の方式の場合には、特定された数値が属する範囲の上限値及び下限値のそれぞれについてハッシュ値を算出する。補助データについてはハッシュ値を算出しない。
【００３２】
このように、ＦＰデータの登録処理の場合には、複数の数値に対して複数のハッシュ値が算出される。単純に数値のハッシュ値を１つだけ算出するだけでは、数値が完全一致するか否かしか判断できない。しかしながら、第１の方式によれば、１桁一致、２桁一致、３桁一致といったように、有効桁数の範囲で一致不一致を判断できるため、近似する数値の有無を判断できる。第２の方式によれば、特定された数値が属する範囲の上限値又は下限値が一致する場合を特定でき、以下で述べるように実際に数値の差をも判断できるため、近似する数値の有無も判断できる。
【００３３】
ＦＰ生成部３３は、特定された数値の周辺における特徴語を所定個数特定する（ステップＳ３１）。所定個数は、例えばＦＰルールデータに規定されている。そして、ＦＰ生成部３３は、特定された各特徴語についてハッシュ値を算出し、メインメモリなどの記憶装置に格納する（ステップＳ３３）。
【００３４】
そして、ＦＰ生成部３３は、数値のハッシュ値等（補助データがある場合には当該補助データ）と特徴語のハッシュ値とを含むデータブロックを、ＦＰデータ格納部３６に格納する（ステップＳ３５）。
【００３５】
ここまで処理すると図８Ａに示すようなデータブロックが、ＦＰデータ格納部３６に格納される。図８Ａの例では、数値の周辺４個の特徴語についてハッシュ値を算出するようになっている。なお、図８Ａは、第１の方式を採用した場合の例を示している。また、Ｈａｓｈ（Ｘ）は、Ｘのハッシュ値を表す。一方、第２の方式を採用した場合には、図８Ｂに示すようなデータブロックが生成される。
【００３６】
その後、ＦＰ生成部３３は、機密データから抽出された数値の中で未処理の数値が存在するか判断する（ステップＳ３７）。未処理の数値が存在している場合には処理はステップＳ２５に戻る。一方、未処理の数値が存在していない場合には呼び出し元の処理に戻る。図７の機密データを第１の方式で処理すると、図９Ａに示すようなもう一つデータブロックが生成される。一方、第２の方式で処理すると、図９Ｂに示すようなもう一つのデータブロックが生成される。このように、ＦＰデータは、１又は複数のデータブロックを含む。
【００３７】
一般的には、管理装置５のＤＢ５４は、例えば図１０に示すようなデータが蓄積される。図１０の例では、ＦＰＩＤと、登録者ＩＤと、登録日と、ＦＰデータとが登録されるようになっている。ＦＰデータは、データブロックのＩＤであるブロック番号と、数値部分と、特徴語部分とを含む。各データブロックの数値部分には、複数の数値のハッシュ値（ＮＵＭ（１，１），ＮＵＭ（１，２）など）と、補助データがある場合には補助データ（ＡＵＸ１など）とを含む。さらに特徴語部分には、複数の特徴語のハッシュ値（ＫＷ（１，１），ＫＷ（１，２）などＭ個の特徴語のハッシュ値）を含む。図１０の例では、Ｎ個のデータブロックが含まれ、各データブロックの特徴語はＭ個である例を示している。
【００３８】
次に、検索時に行われる処理について図１１乃至図２１を用いて説明する。まず、検索装置７の入力部７１は、ユーザから検索に係る機密データの指定を受け付け、ＦＰ生成部７３に機密データの指定を出力する（図１１：ステップＳ４１）。機密データ格納部７２に格納されていない場合には、例えば他のコンピュータから、指定された機密データを取得して、ＦＰ生成部７３に出力するようにしても良い。
【００３９】
また、入力部７１は、ユーザから検索条件の入力を受け付け、検索条件データ格納部７６に格納する（ステップＳ４３）。以下で具体的な検索処理において用いられるパラメータを、ユーザが指定する。例えば、類似度の閾値や結果の出力数などが指定される。どのパラメータを指定すべきかは、例えばＦＰルールデータに含まれる場合もある。また、ＦＰデータを生成する上で用いられるパラメータについては、ＦＰ生成部７３に出力される。
【００４０】
そして、ＦＰ生成部７３は、ＦＰルールデータ格納部７５に、ＦＰルールデータが格納されているか判断する（ステップＳ４５）。ＦＰルールデータがＦＰルールデータ格納部７５に格納されていない場合には（ステップＳ４７：Ｎｏルート）、ＦＰ生成部７３は、ＦＰデータ取得部７４に、ＦＰルールデータを取得させ、ＦＰルールデータ格納部７５に格納させる（ステップＳ４９）。
【００４１】
一方、ＦＰルールデータがＦＰルールデータ格納部７５に格納されている場合（ステップＳ４７：Ｙｅｓルート）、又はステップＳ４９の後に、ＦＰ生成部７３は、ＦＰルールデータに従って、ユーザにより指定された機密データの第２ＦＰ生成処理を実施する（ステップＳ５１）。第２ＦＰ生成処理については、図１２乃至図１５Ｂを用いて説明する。
【００４２】
ＦＰ生成部７３は、指定された機密データに対して正規化処理を実施する（図１２：ステップＳ７１）。ステップＳ２１と同様である。
【００４３】
その後、ＦＰ生成部７３は、指定された機密データ中の数値及び特徴語を抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ７３）。ステップＳ２３と同様である。
【００４４】
例えば、図１３に示すようなテキストを処理する場合を考える。この例では、「患者」「基本」「情報」「主訴」「体温」「３８」「測定」「発熱」「判定」「検査」「心拍数」「測定」「値」「８０」「正常値」．．．「治療」「方針」などが抽出される。
【００４５】
次に、ＦＰ生成部７３は、抽出された数値のうち未処理の数値を１つ特定する（ステップＳ７５）。そして、ＦＰ生成部７３は、ＦＰルールデータ格納部７５に格納されているＦＰルールデータに従って、特定された数値から、ＦＰのための１又は複数の数値を生成し、メインメモリなどの記憶装置に格納する（ステップＳ７７）。本ステップについてもステップＳ２７と基本的には同様である。
【００４６】
但し、本実施の形態では、第１の方式を採用する場合には、有効桁数の指定が検索条件に含まれる場合がある。その場合には、ＦＰのための数値について、複数の数値を生成するのではなく、指定された有効桁数の数値を生成する。
【００４７】
図１３の例の場合、「３８」については、指定された有効桁数が「２」であれば、「３．８×１０1」というような表現の数値が生成される。
【００４８】
また、第２の方式を採用する場合には、上で述べた方法と同様の方法を採用しても良い。例えば、１０刻みで数値の範囲が規定されている場合には、「３８」の場合、３０乃至４０という範囲に属するので、上限値「４０」及び下限値「３０」が特定される。補助データは、下限値からの差「８」と上限値からの差「−２」が算出される。この場合、下限値及び上限値が代表値としてハッシュ値の算出対象数値として取り扱われる。
【００４９】
但し、第２の方式の場合、検索条件として近似と判断する範囲を指定するため、この近似と判断する範囲に基づき、特定された数値を展開してもよい。例えば、プラスマイナス１の範囲が近似と判断する範囲として指定された場合、特定された数値が「３８」であれば「３７」から「３９」までであれば近似していると判断される。従って、特定された数値が属する数値の範囲を超えて近似と判断されることがないので、所属範囲の下限値「３０」を代表値として特定し、当該代表値からの差「８」が補助データとして特定される。一方、特定された数値が「４１」である場合に、プラスマイナス３の範囲が近似と判断する範囲として指定されると、「３８」から「４４」までであれば近似していると判断される。従って、代表値としては、所属する範囲の１つ下の範囲の下限値「３０」と、所属する範囲の下限値「４０」を代表値として特定し、補助データとして、第１の下限値からの差「１１」と第２の下限値からの差「１」が算出される。
【００５０】
上で述べた例では、数値の範囲の刻みを超えて近似と判断される範囲が規定されないという前提があるが、このような前提が成り立たない場合には、以下のようにする。例えば、１０刻みで範囲が規定されているが、特定された数値が「１２３」で、プラスマイナス１５が近似と判断する範囲と指定された場合、「１０８」乃至「１３８」が近似と判断される。従って、「１００」「１１０」「１２０」「１３０」を代表値として特定し、それぞれとの差を補助データとして生成する。
【００５１】
そして、ＦＰ生成部７３は、生成された１又は複数の数値における秘匿部分に対するハッシュ値を生成し、メインメモリなどの記憶装置に格納する（ステップＳ７９）。ステップＳ２９と同様である。第２の方式の場合には、補助データはハッシュ値を算出しない。
【００５２】
このように、検索を行う場合には、特定された数値に対して、ＦＰのための数値として１又は複数の数値が生成される。但し、ＦＰ登録時と同様にＦＰデータを生成しても良い。上で述べたようなオプションについては、ＦＰルールデータに規定されているものとする。
【００５３】
ＦＰ生成部７３は、特定された数値の周辺における特徴語を所定個数特定する（ステップＳ８１）。所定個数は、例えばＦＰルールデータに規定されている。そして、ＦＰ生成部７３は、特定された各特徴語についてハッシュ値を算出し、メインメモリなどの記憶装置に格納する（ステップＳ８３）。
【００５４】
そして、ＦＰ生成部７３は、数値のハッシュ値等（補助データがある場合には当該補助データ）と特徴語のハッシュ値とを含むデータブロックを、ＦＰデータ格納部７７に格納する（ステップＳ８５）。ステップＳ３５と同様である。
【００５５】
その後、ＦＰ生成部７３は、機密データから抽出された数値の中で未処理の数値が存在するか判断する（ステップＳ８７）。未処理の数値が存在している場合には処理はステップＳ７５に戻る。一方、未処理の数値が存在していない場合には呼び出し元の処理に戻る。
【００５６】
例えば、図１３に示した機密データについて、単純な第１の方式を採用した場合には、図１４Ａに示すようなＦＰデータが生成される。また、第１の方式で有効桁数が「２」である場合には、例えば図１４Ｂに示したようなＦＰデータが生成される。一方、単純な第２の方式によれば、図１５Ａに示したようなＦＰデータが生成される。さらに、検索条件で近似と判断される範囲がプラスマイナス３であれば、図１５Ｂに示したようなＦＰデータが生成される。
【００５７】
このようにすれば、完全一致だけではなく数値が近似しているか否かを判定できるようになる。
【００５８】
図１１の処理の説明に戻って、検索装置７の検索要求部７８は、ＦＰデータ格納部７７に格納されているＦＰデータ（以下、区別するため検索ＦＰデータと呼ぶ）と検索条件データ格納部７６に格納されているデータとを含む検索要求を、管理装置５に送信する（ステップＳ５３）。
【００５９】
管理装置５の検索要求受信部５６は、検索装置７から、検索ＦＰデータ及び検索条件を含む検索要求を受信すると（ステップＳ５５）、検索要求のデータを検索処理部５５に出力する。検索処理部５５は、検索要求のデータを受け取ると、検索処理を実施する（ステップＳ５７）。この検索処理については、図１６乃至図２１を用いて説明する。
【００６０】
検索処理部５５は、ＦＰルールデータ格納部５１からＦＰルールデータを読み出す（図１６：ステップＳ９１）。そして、検索処理部５５は、類似すると判定されたＦＰについての識別情報を格納する類似ＦＰ配列を初期化する（ステップＳ９３）。さらに、検索処理部５５は、類似判定のための閾値Ｔを、ＦＰルールデータ又は検索条件から設定する（ステップＳ９５）。閾値は固定のこともあり、その場合にはＦＰルールデータに含まれる。
【００６１】
その後、検索処理部５５は、ＤＢ５４内の未処理のＦＰデータを特定する（ステップＳ９７）。そして、検索処理部５５は、特定されたＦＰデータと検索ＦＰデータとについて類似度算出処理を実施する（ステップＳ９９）。類似度算出処理については、図１７乃至図２１を用いて説明する。
【００６２】
まず、検索処理部５５は、数値の類似度に応じた特徴語の共通度合いの累計値を算出するための変数ｃ１及び特定されたＦＰデータに含まれるデータブロック数をカウントするための変数ｃ２を０に初期化する（図１７：ステップＳ１１１）。また、検索処理部５５は、検索ＦＰデータに含まれるデータブロックのうち未処理のデータブロックの数値データＮ１を特定する（ステップＳ１１３）。ハッシュ値が複数ある場合、補助データがある場合も、それらを含めてＮ１として特定する。
【００６３】
さらに、検索処理部５５は、特定されたＦＰデータに含まれるデータブロックのうち未処理のデータブロックの数値データＮ２を特定する（ステップＳ１１５）。ここでも、ハッシュ値が複数ある場合、補助データがある場合も、それらも含めてＮ２として特定する。
【００６４】
そして、検索処理部５５は、数値データＮ１と数値データＮ２とを比較して、数値類似度Ｓｉｍを設定する（ステップＳ１１９）。本実施の形態では、上で述べた２つの方式が存在する。最初に、単純な比較方式について説明する。
【００６５】
第１の方式の場合、数値データＮ１には１又は複数のハッシュ値が含まれ、数値データＮ２には複数のハッシュ値が含まれる。例えば、数値データＮ１に複数のハッシュ値が含まれる例を図１８に示す。図１８の例では、数値データＮ１の元の数値は３８．２で、有効桁数１乃至３の場合のハッシュ値が数値データＮ１に含まれる。一方、図１８には、元の数値が３８．２であるデータブロック（Ａ）の数値データＮ２と、元の数値が３８であるデータブロック（Ｂ）の数値データＮ２と、元の数値が３９であるデータブロック（Ｃ）の数値データＮ２とが比較対象として示されている。このように複数のハッシュ値が数値データＮ１に含まれる場合には、いずれかのハッシュ値が、比較対象の数値データＮ２に含まれるハッシュ値と一致すれば、Ｓｉｍに１を設定し、いずれのハッシュ値も、比較対象の数値データＮ２に含まれるハッシュ値と一致しなければ、Ｓｉｍに０を設定する。図１８の例では、データブロック（Ａ）乃至（Ｃ）のいずれも有効桁数「１」について一致するので、Ｓｉｍ＝１と設定される。
【００６６】
一方、数値データＮ１に、指定された有効桁数のハッシュ値が１つだけ含まれる場合には、その１つのハッシュ値に一致するか否かを判断する。例えば、数値データＮ１について有効桁数２である「３．８×１０1」のみが含まれる場合には、データブロック（Ａ）及び（Ｂ）については有効桁数２についてのハッシュ値が一致するが、データブロック（Ｃ）については一致するハッシュ値がないと判断される。
【００６７】
第２の方式の場合、数値データＮ１には１又は複数のハッシュ値及び対応する補助データとが含まれ、数値データＮ２には複数のハッシュ値及び対応する補助データが含まれる。図１９に、数値データＮ１と数値データＮ２との比較例を模式的に示す。例えば、元の数値「３８．２」の数値データＮ２には、Ｈａｓｈ（３０）及び補助データ「８．２」とＨａｓｈ（４０）及び補助データ「−１．８」とが含まれている。これに対して、元の数値「３９．１」の数値データＮ１には、Ｈａｓｈ（３０）及び補助データ「９．１」とＨａｓｈ（４０）及び補助データ「−０．９」とが含まれる。なお、検索条件として近似と判断する範囲のデータが指定され、ここではプラスマイナス１が指定されているものとする。
【００６８】
この場合、数値データＮ１に含まれるハッシュ値と、数値データＮ２に含まれるハッシュ値とを比較して一致するものがあるか判断する。図１９の例ではｈａｓｈ（３０）及びｈａｓｈ（４０）のいずれも一致すると判断される。そして、ｈａｓｈ（３０）の場合には、数値データＮ２の補助データ「８．２」と数値データＮ１の補助データ「９．１」との差が、指定された範囲内であるか否かを判断する。この場合、｜９．１−８．２｜＝０．９であるから、指定された範囲内であるので、本実施の形態では、数値類似度Ｓｉｍ＝１に設定する。もし、補助データの差が、指定された範囲を超えている場合には、数値類似度Ｓｉｍ＝０に設定する。ｈａｓｈ（４０）については同じ値が得られるので、処理しなくとも良い。
【００６９】
次に、数値の類似度合いに応じて数値類似度Ｓｉｍを０から１までの実数を設定する方式について説明する。第１の方式の場合には、図１８に示すように、数値データＮ１に複数のハッシュ値が含まれ、数値データＮ２にも複数のハッシュ値が含まれる。従って、同一の有効桁数のハッシュ値同士を比較して、一致する回数をカウントする。例えばデータブロック（Ａ）の場合、元の数値が一致するので、３回一致する。データブロック（Ｂ）の場合、有効桁数２まで一致するので、２回一致する。データブロック（Ｃ）については、有効桁数１まで一致するので、１回一致する。従って、データブロック（Ａ）については、Ｓｉｍ＝３回／３（＝有効桁数の種類数）＝１を設定し、データブロック（Ｂ）については、Ｓｉｍ＝２回／３＝０．６７を設定し、データブロック（Ｃ）については、Ｓｉｍ＝１回／３＝０．３３を設定する。
【００７０】
一方、第２の方式の場合、上で述べたように補助データの差が算出されるので、（指定された範囲−補助データの差の絶対値）／（指定された範囲）で算出する。上で述べた例では、Ｓｉｍ＝｜１−０．９｜／１＝０．１と算出される。
【００７１】
その後、検索処理部５５は、数値類似度Ｓｉｍが０を超えているか判断する（ステップＳ１２１）。数値類似度Ｓｉｍが０である場合には、端子Ｂを介して図２１のステップＳ１３７に移行する。これは、数値類似度Ｓｉｍとの乗算によってそのデータブロックについての類似度が決定されるので、数値類似度Ｓｉｍ＝０であれば、当該データブロックについて比較を行っても全体で０となってしまうためである。一方、数値類似度Ｓｉｍ＞０であれば、端子Ａを介して図２０のステップＳ１２３の処理に移行する。
【００７２】
図２０の処理の説明に移行して、検索処理部５５は、数値データＮ１に対応するデータブロックに含まれる特徴語のうち未処理の特徴語のハッシュ値ＫＷ１を特定する（ステップＳ１２３）。また、検索処理部５５は、数値データＮ２に対応するデータブロックに含まれる特徴語のうち未処理の特徴語のハッシュ値ＫＷ２を特定する（ステップＳ１２５）。そして、検索処理部５５は、ハッシュ値ＫＷ１とハッシュ値ＫＷ２とを比較する（ステップＳ１２７）。
【００７３】
なお、本実施の形態では同一のＦＰデータについて類似度を算出した場合には、１になることを前提としている。しかし、一般的には、数値について同一のハッシュ値が異なるデータブロックで出現する場合がある。この場合、異なる特徴語のハッシュ値が対応付けられている場合には特に問題ないが、同一の特徴語のハッシュ値が対応付けられている場合には同一のＦＰデータについて類似度を算出すると全体として類似度が１を超えてしまう。そこで、数値についてのハッシュ値と特徴語についてのハッシュ値との組み合わせが既に出現していたことが判明した場合には、その比較結果を類似度に反映しないようにする。
【００７４】
従って、検索処理部５５は、ＫＷ１＝ＫＷ２であって且つ数値データＮ１とＫＷ１の組み合わせが初出であるか判断する（ステップＳ１２９）。ＫＷ１とＫＷ２とが一致しない場合、又は数値データＮ１とＫＷ１の組み合わせが既出である場合には、ステップＳ１３３に移行する。
【００７５】
一方、ＫＷ１＝ＫＷ１であって且つ数値データＮ１とＫＷ１の組み合わせが初出である場合、検索処理部５５は、変数ｃ１に数値類似度Ｓｉｍを加算して新たな変数ｃ１の値として設定する（ステップＳ１３１）。数値類似度Ｓｉｍが０又は１の場合には、変数ｃ１には、共通する特徴語の数が設定される。一方、数値類似度Ｓｉｍが０から１までの値で変化する場合には、変数ｃ１には、データブロック毎に数値類似度Ｓｉｍで重み付けされた共通特徴語の数が累積される。
【００７６】
そして、検索処理部５５は、数値データＮ２に対応するデータブロックに未処理の特徴語のハッシュ値ＫＷ２が存在するか判断する（ステップＳ１３３）。未処理の特徴語のハッシュ値が存在する場合にはステップＳ１２５に戻る。一方、未処理の特徴語のハッシュ値が存在しない場合には、検索処理部５５は、数値データＮ１に対応するデータブロックに未処理の特徴語が存在するか判断する（ステップＳ１３５）。未処理の特徴語のハッシュ値が存在する場合にはステップＳ１２３に戻る。一方、未処理の特徴語のハッシュ値が存在しない場合には、端子Ｂを介して図２１のステップＳ１３７に移行する。
【００７７】
図２１の処理の説明に移行して、検索処理部５５は、変数ｃ２を１インクリメントする（ステップＳ１３７）。検索処理部５５は、特定されたＦＰデータに含まれるデータブロックに未処理のデータブロックがあるか判断する（ステップＳ１３９）。特定されたＦＰデータに未処理のデータブロックが存在している場合には、処理は端子Ｃを介して図１７のステップＳ１１５に戻る。一方、特定されたＦＰデータに未処理のデータブロックが存在しない場合には、検索処理部５５は、検索ＦＰデータに含まれるデータブロックに未処理のデータブロックが存在するか判断する（ステップＳ１４１）。検索ＦＰデータに未処理のデータブロックが存在する場合には、処理は端子Ｄを介して図１７のステップＳ１１３に戻る。一方、検索ＦＰデータに未処理のデータブロックが存在しない場合には、検索処理部５５は、ｃ１／（ｃ２×ブロックサイズ）により類似度を算出し、ＦＰデータの識別情報に対応付けて例えばメインメモリなどの記憶装置に格納する（ステップＳ１４３）。ブロックサイズは、１データブロックに含まれる特徴語の数である。そして呼び出し元の処理に戻る。
【００７８】
このような処理を実施することで、数値をベースに特徴語も類似する機密データを秘匿性を保持しつつ検索することができる。数値についても近似しているか否かを秘匿化したままで判断できる。さらに検索ＦＰデータについても秘匿化されており、管理装置５に対しても、どのような検索を行っているのかについて秘密が保持されている。
【００７９】
なお、ステップＳ１４３で計算される類似度については、特定されたＦＰデータにフォーカスし、そのデータに含まれるブロック数ｃ２を類似度計算式に入れた。そのほかに、検索ＦＰデータに含まれるブロック数ＮQをｃ２の代わりに使い、特徴語の共通度合いｃ１が検索ＦＰデータのサイズ（ブロック数ＮQ×ブロックサイズ）のどの程度の割合を占めるかを表す類似度も考えられる。その計算式は以下の式で表される。同様に、利用場面によっては、ｃ２とＮQの大きい方ｍａｘ(ｃ２, ＮQ)、または小さい方ｍｉｎ(ｃ２, ＮQ)をｃ２の代わりに使うことも考えられる。
【００８０】
【数１】
0005720536.tif 000002
【００８１】
ここでＱが検索ＦＰデータを表し、Ｄが比較対象のＦＰデータを表す。そして、Block_sizeは、上で述べたブロックサイズであり、ＮQは、検索ＦＰデータのデータブロック数を表す。ＮｕｍQiは、検索ＦＰデータにおけるｉ番目のデータブロックの数値データを表し、ＮｕｍDjは、比較対象のＦＰデータにおけるｊ番目のデータブロックの数値データを表す。Ｓｉｍ（ＮｕｍQi，ＮｕｍDj）は、検索ＦＰデータにおけるｉ番目のデータブロックの数値データと、比較対象のＦＰデータにおけるｊ番目のデータブロックの数値データとの類似度Ｓｉｍを表す。ＢQi∩ＢDjは、検索ＦＰデータにおけるｉ番目のデータブロックに含まれる特徴語のハッシュ値と、比較対象のＦＰデータにおけるｊ番目のデータブロックに含まれる特徴語のハッシュ値とで共通するハッシュ値の個数を表す。
【００８２】
図１６の処理の説明に戻って、検索処理部５５は、算出した類似度が、検索条件で指定された閾値Ｔを超えているか判断する（ステップＳ１０１）。類似度が閾値Ｔを超えている場合には、検索処理部５５は、特定されたＦＰデータの識別情報（図１０におけるＦＰＩＤ、登録者ＩＤ及び登録日など）を含む書誌データを、類似ＦＰ配列に追加する（ステップＳ１０３）。検索者の参照のため、類似度の数値自体を書誌データに含めるようにしても良い。一方、類似度が閾値Ｔ以下である場合には、ステップＳ１０５に移行する。
【００８３】
ステップＳ１０１で類似度が閾値Ｔ以下であると判断された場合又はステップＳ１０３の後に、検索処理部５５は、ＤＢ５４内に未処理のＦＰデータが存在しているか判断する（ステップＳ１０５）。未処理のＦＰデータが存在している場合には処理はステップＳ９７に戻る。一方、未処理のＦＰデータが存在していない場合には、検索処理部５５は、類似ＦＰ配列のデータを検索結果送信部５７に出力する（ステップＳ１０７）。そして呼び出し元の処理に戻る。なお、登録者の詳細データについて追加した形で、検索結果送信部５７に出力するようにしても良い。
【００８４】
このようにして完全一致だけではなく類似するＦＰデータを特定して、当該ＦＰデータに関連するデータが抽出される。
【００８５】
図１１の処理の説明に戻って、検索結果送信部５７は、検索処理部５５から受け取った検索結果のデータを、検索要求の送信元である検索装置７に送信する（ステップＳ５９）。検索装置７の検索要求部７８は、検索結果を管理装置５から受信し、出力部７９に出力する（ステップＳ６１）。そして、出力部７９は、検索結果を表示装置などに出力する。例えば、図２２に示すようなデータが表示装置に表示される。図２２の例では、ＦＰＩＤと、登録者と、登録日と、類似度とが表示される。このように類似度が高い順にソートされた結果が提示されるようにしても良い。
【００８６】
これによって、検索者は、類似するＦＰデータの登録者を特定できるので、当該登録者に具体的な情報提供を依頼することができるようになる。
【００８７】
例えば、診療データについてＦＰデータを登録する場合には、診療データそのものを開示することがないので、プライバシ保護やセキュリティ保護の観点で問題が生じず、管理装置５へのＦＰデータ登録が促進される。一方、検索側でも患者のデータは秘匿化されたままであり、プライバシ保護やセキュリティ保護の観点で問題は無いので、利用の促進も図られる。そして、具体的に類似する症例の存在が確認できれば、別途問い合わせを行うことで、治療法などの情報を早期に取得でき、患者にも有効である。
【００８８】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機密データから特徴語を特定するような処理を実施していたが、これに加えて、図２３に示すような処理フローを実施しても良い。ステップＳ２０１乃至Ｓ２０５以外は、図６と同様である。ＦＰ生成部３３は、特定された特徴語の同義語を辞書から抽出し（ステップＳ２０１）、各特徴語及び各同義語についてハッシュ値を算出する（ステップＳ２０３）。又、ＦＰ生成部３３は、特徴語に加えて同義語のハッシュ値をも含むデータブロックをＦＰデータ格納部３６に格納する（ステップＳ２０５）。このようにして、同義語についてのハッシュ値をもＦＰデータに含めるようにしても良い。
【００８９】
さらに、上では閾値Ｔを検索条件に含める例を示したが、例えば類似度が高い順で上位指定個数のＦＰデータを抽出するようにしても良い。
【００９０】
さらに、上で示した機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。さらに、処理フローについても、処理結果が変わらない限り処理ステップの順番を入れ替えたり、並列実行するようにしても良い。
【００９１】
また、ＦＰルールデータは、管理装置５以外で管理しても良い。
【００９２】
なお、上で述べた登録装置３、管理装置５及び検索装置７は、コンピュータ装置であって、図２４に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９３】
以上述べた本実施の形態をまとめると、以下のようになる。
【００９４】
本実施の形態の第１の形態に係る情報処理方法は、（Ａ）データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出する処理と、（Ｂ）抽出された第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成する生成処理と、（Ｃ）１又は複数の第２の数値と複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、データ格納部に格納する処理とを含む。
【００９５】
このように第２の数値を生成して当該第２の数値の秘匿化データを生成すれば、完全一致だけではなく近似する数値についても検出できるようになる。なお、第２の数値を１つだけ生成するのではなく複数生成すれば、より近似する数値を検出し易くなる。これはデータ登録時でもデータ検索時でも同様である。なお、第１の数値と類似するか否かを判断する上で基準となる数値は、近似判断の幅を表す数値とも言える。
【００９６】
また、上で述べた生成処理が、抽出された第１の数値を異なる有効桁数で表した複数の第２の数値を生成する処理である場合もある。このようにすれば、有効桁数によって近似の精度を調整できる。
【００９７】
さらに、上で述べた生成処理が、抽出された第１の数値を含む所定の数値範囲の上限値及び下限値である複数の第２の数値を特定する処理と、第１の数値と下限値との差と、第１の数値と上限値との差とを算出し、データ格納部に格納する処理とを含むようにしても良い。このようにすれば、検索の際に、元の数値との差を計算しやすくなる。
【００９８】
さらに、上で述べた生成処理が、抽出された第１の数値と、数値を分類するための数値範囲の設定とから、第１の数値を代表する１又は複数の第２の数値を特定する処理と、１又は複数の第２の数値と、第１の数値との差を算出し、データ格納部に格納する処理とを含むようにしても良い。例えば、検索のためのデータを生成する際には、近似と判断する範囲なども加味して第２の数値を生成すれば、検索時に近似する数値についての秘匿化データを正確に特定できるようになる。
【００９９】
また、上で述べた生成処理が、抽出された第１の数値を、指示された有効桁数で表した第２の数値を１つ生成する処理である場合もある。検索時にはこのように有効桁数を指定することで、所望の精度で近似を判断できるようになる。
【０１００】
さらに、本実施の形態の第１の形態に係る情報処理方法は、複数個の特徴語の同義語を抽出する処理と、同義語の秘匿化を行って秘匿化データを生成し、データ格納部に格納する処理とをさらに含むようにしても良い。これによれば、類似する秘匿化データを抽出し易くなる。
【０１０１】
本実施の形態の第２の態様に係る情報処理方法は、（Ａ）第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信する処理と、（Ｂ）複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている案件データブロックの各々について、第１の秘匿化データ値と第３の秘匿化データ値とから算出される、数値についての第１の類似度と、第２の秘匿化データ値と一致する第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれるデータブロックと検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する算出処理と、（Ｃ）第３の類似度が閾値を超えた案件データブロックの識別情報又は第３の類似度が上位所定数の案件データブロックの識別情報を、検索要求の送信元に送信する処理とを含む。
【０１０２】
このようにすれば、データ格納部に格納されている案件データブロックも、検索要求に含まれるデータブロックについても秘匿された状態で、数値についての類似度も特定でき、全体としての類似度も算出できる。従って、より類似度の高い案件データブロックを特定できるようになる。
【０１０３】
なお、上で述べた算出処理が、第１の秘匿化データ値に一致する第３の秘匿化データ値が存在する場合には第１の類似度を１に設定し、第１の秘匿化データ値に一致する第３の秘匿化データ値が存在しない場合には第１の類似度を０に設定する処理を含むようにしても良い。例えば元の値の近似判断を表す複数の第２の数値について第３の秘匿化データ値を用意しておけば、近似する数値の存在を検出しやすくなる。
【０１０４】
また、上で述べた第１の秘匿化データ値が、第１の数値の元の数値についての代表値の秘匿化データ値である場合もある。そして、上で述べた検索要求には、第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含む場合もある。そして、複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、上で述べたデータブロックには、第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と上記上限値との差である第３の補助数値とをさらに含むようにしてもよい。このような場合、上で述べた算出処理が、第１の秘匿化データ値に一致する第３の秘匿化データ値が存在する場合には、第１の秘匿化データ値についての第１の補助数値と、第１の秘匿化データ値に一致する第３の秘匿化データ値についての第２の補助数値又は第３の補助数値との差を算出する処理と、第１の補助数値と第２の補助数値又は第３の補助数値との差が、近似判定のための範囲内であれば、第１の類似度を１に設定し、第１の補助数値と第２の補助数値又は第３の補助数値との差が、近似判定のための範囲内でない場合には第１の類似度を０に設定する処理とを含むようにしても良い。
【０１０５】
さらに、第１の数値の第１の秘匿化データ値が複数データブロックに含まれる場合には、上で述べた算出処理が、第１の秘匿化データ値に一致する第３の秘匿化データ値の個数に応じた類似度を第１の類似度に設定する処理を含むようにしても良い。このようにすれば、０又は１だけではない第１の類似度を設定できるようになる。
【０１０６】
また、第１の秘匿化データ値が、第１の数値の元の数値についての代表値の秘匿化データ値であり、検索要求には、第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含むようにしても良い。さらに、上で述べた複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、上で述べたデータブロックには、第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と上記上限値との差である第３の補助数値とをさらに含むようにしても良い。そして、上で述べた算出処理が、第１の秘匿化データ値に一致する第３の秘匿化データ値が存在する場合には、第１の秘匿化データ値についての第１の補助数値と、第１の秘匿化データ値に一致する第３の秘匿化データ値についての第２の補助数値又は第３の補助数値との差を算出する処理と、第１の補助数値と第２の補助数値又は第３の補助数値と、近似判定のための範囲を表す数値と、の差に応じた類似度を第１の類似度に設定する処理とを含むようにしても良い。このようにすれば０又は１だけではない第１の類似度が設定できるようになる。
【０１０７】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【０１０８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）
データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出する処理と、
抽出された前記第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成する生成処理と、
前記１又は複数の第２の数値と前記複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、前記データ格納部に格納する処理と、
を含む処理を、コンピュータが実行する情報処理方法。
【０１１０】
（付記２）
前記生成処理が、
抽出された前記第１の数値を異なる有効桁数で表した複数の第２の数値を生成する処理
である付記１記載の情報処理方法。
【０１１１】
（付記３）
前記生成処理が、
抽出された前記第１の数値を含む所定の数値範囲の上限値及び下限値である複数の第２の数値を特定する処理と、
前記第１の数値と前記下限値との差と、前記第１の数値と前記上限値との差とを算出し、前記データ格納部に格納する処理と、
を含む付記１記載の情報処理方法。
【０１１２】
（付記４）
前記生成処理が、
抽出された前記第１の数値と、数値を分類するための数値範囲の設定とから、前記第１の数値を代表する１又は複数の第２の数値を特定する処理と、
前記１又は複数の第２の数値と、前記第１の数値との差を算出し、前記データ格納部に格納する処理と、
を含む付記１記載の情報処理方法。
【０１１３】
（付記５）
前記生成処理が、
抽出された前記第１の数値を、指示された有効桁数で表した第２の数値を１つ生成する処理
である付記１記載の情報処理方法。
【０１１４】
（付記６）
前記複数個の特徴語の同義語を抽出する処理と、
前記同義語の秘匿化を行って秘匿化データを生成し、前記データ格納部に格納する処理と、
を前記処理がさらに含む付記１乃至５のいずれか１つ記載の情報処理方法。
【０１１５】
（付記７）
第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信する処理と、
複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている前記案件データブロックの各々について、前記第１の秘匿化データ値と前記第３の秘匿化データ値とから算出される、数値についての第１の類似度と、前記第２の秘匿化データ値と一致する前記第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれる前記データブロックと前記検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する算出処理と、
前記第３の類似度が閾値を超えた案件データブロックの識別情報又は前記第３の類似度が上位所定数の案件データブロックの識別情報を、前記検索要求の送信元に送信する処理と、
を含む処理を、コンピュータが実行する情報処理方法。
【０１１６】
（付記８）
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には前記第１の類似度を１に設定し、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在しない場合には前記第１の類似度を０に設定する処理
を含む付記７記載の情報処理方法。
【０１１７】
（付記９）
前記第１の秘匿化データ値が、前記第１の数値の元の数値についての代表値の秘匿化データ値であり、
前記検索要求には、前記第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含み、
前記複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、
前記データブロックには、前記第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と前記上限値との差である第３の補助数値とをさらに含み、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には、前記第１の秘匿化データ値についての前記第１の補助数値と、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値についての前記第２の補助数値又は前記第３の補助数値との差を算出する処理と、
前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値との差が、前記近似判定のための範囲内であれば、前記第１の類似度を１に設定し、前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値との差が、前記近似判定のための範囲内でない場合には前記第１の類似度を０に設定する処理と、
を含む付記７記載の情報処理方法。
【０１１８】
（付記１０）
前記第１の数値の第１の秘匿化データ値が複数前記データブロックに含まれ、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値の個数に応じた類似度を前記第１の類似度に設定する処理
を含む付記７記載の情報処理方法。
【０１１９】
（付記１１）
前記第１の秘匿化データ値が、前記第１の数値の元の数値についての代表値の秘匿化データ値であり、
前記検索要求には、前記第１の数値の元の数値についての代表値との差である第１の補助数値と、近似判定のための範囲のデータとをさらに含み、
前記複数の第２の数値が、元の数値が属する値域の下限値及び上限値であり、
前記データブロックには、前記第２の数値の元の数値が属する値域の下限値と当該元の数値との差である第２の補助数値と当該元の数値と前記上限値との差である第３の補助数値とをさらに含み、
前記算出処理が、
前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値が存在する場合には、前記第１の秘匿化データ値についての前記第１の補助数値と、前記第１の秘匿化データ値に一致する前記第３の秘匿化データ値についての前記第２の補助数値又は前記第３の補助数値との差を算出する処理と、
前記第１の補助数値と前記第２の補助数値又は前記第３の補助数値と、前記近似判定のための範囲を表す数値と、の差に応じた類似度を前記第１の類似度に設定する処理と、
を含む付記７記載の情報処理方法。
【０１２０】
（付記１２）
データ格納部と、
前記データ格納部に格納されており且つ第１の数値を含むテキストデータから、第１の数値及び当該第１の数値の周辺に存在する複数個の特徴語を抽出し、抽出された前記第１の数値から、当該第１の数値と近似するか否かを判断する上で基準となる１又は複数の第２の数値を生成し、前記１又は複数の第２の数値と前記複数個の特徴語との各々について秘匿化処理を行って秘匿化データを生成し、第２のデータ格納部に格納する生成部と、
を有する情報処理装置。
【０１２１】
（付記１３）
第１の数値の第１の秘匿化データ値と複数個の第１の特徴語の第２の秘匿化データ値とを含む１又は複数の検索データブロックを含む検索要求を受信する受信部と、
複数の第２の数値の第３の秘匿化データ値と複数個の第２の特徴語の第４の秘匿化データ値とを含む１又は複数のデータブロックと識別情報とを含む案件データブロックを複数格納するデータ格納部に格納されている前記案件データブロックの各々について、前記第１の秘匿化データ値と前記第３の秘匿化データ値とから算出される、数値についての第１の類似度と、前記第２の秘匿化データ値と一致する前記第４の秘匿化データ値の個数とから、処理対象の案件データブロックに含まれる前記データブロックと前記検索データブロックとの各組み合わせについての第２の類似度の合計値である第３の類似度を算出する検索処理部と、
前記第３の類似度が閾値を超えた案件データブロックの識別情報又は前記第３の類似度が上位所定数の案件データブロックの識別情報を、前記検索要求の送信元に送信する送信部と、
を有する情報処理装置。
【符号の説明】
【０１２２】
３  登録装置
３１  入力部
３２  機密データ格納部
３３  ＦＰ生成部
３４  ＦＰルールデータ取得部
３５  ＦＰルールデータ格納部
３６  ＰＦデータ格納部
３７  送信部
５  管理装置
５１  ＦＰルールデータ格納部
５２  ＦＰルールデータ配布部
５３  ＰＦ登録部
５４  ＤＢ
５５  検索処理部
５６  検索要求受信部
５７  検索結果送信部
７  検索装置
７１  入力部
７２  機密データ格納部
７３  ＦＰ生成部
７４  ＦＰルールデータ取得部
７５  ＦＰルールデータ格納部
７６  検索条件データ格納部
７７  ＦＰデータ格納部
７８  検索要求部
７９  出力部
【図１】
0005720536.tif 000003
【図２】
0005720536.tif 000004
【図３】
0005720536.tif 000005
【図４】
0005720536.tif 000006
【図５】
0005720536.tif 000007
【図６】
0005720536.tif 000008
【図７】
0005720536.tif 000009
【図８Ａ】
0005720536.tif 000010
【図８Ｂ】
0005720536.tif 000011
【図９Ａ】
0005720536.tif 000012
【図９Ｂ】
0005720536.tif 000013
【図１０】
0005720536.tif 000014
【図１１】
0005720536.tif 000015
【図１２】
0005720536.tif 000016
【図１３】
0005720536.tif 000017
【図１４Ａ】
0005720536.tif 000018
【図１４Ｂ】
0005720536.tif 000019
【図１５Ａ】
0005720536.tif 000020
【図１５Ｂ】
0005720536.tif 000021
【図１６】
0005720536.tif 000022
【図１７】
0005720536.tif 000023
【図１８】
0005720536.tif 000024
【図１９】
0005720536.tif 000025
【図２０】
0005720536.tif 000026
【図２１】
0005720536.tif 000027
【図２２】
0005720536.tif 000028
【図２３】
0005720536.tif 000029
【図２４】
0005720536.tif 000030