(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025044646
(43)【公開日】2025-04-02
(54)【発明の名称】秘匿化装置、推定装置、表示装置、推定システム、秘匿化方法、推定方法およびプログラム
(51)【国際特許分類】
G06F 40/151 20200101AFI20250326BHJP
G06F 40/56 20200101ALI20250326BHJP
G06F 40/279 20200101ALI20250326BHJP
G06F 16/90 20190101ALI20250326BHJP
【FI】
G06F40/151
G06F40/56
G06F40/279
G06F16/90 100
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023152346
(22)【出願日】2023-09-20
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(71)【出願人】
【識別番号】504171134
【氏名又は名称】国立大学法人 筑波大学
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】柿崎 和也
(72)【発明者】
【氏名】森 隼基
(72)【発明者】
【氏名】寺西 勇
(72)【発明者】
【氏名】荒木 俊則
(72)【発明者】
【氏名】佐久間 淳
【テーマコード(参考)】
5B109
5B175
【Fターム(参考)】
5B109QA12
5B109QB14
5B109TA11
5B175EA01
5B175GC02
(57)【要約】
【課題】文字列の入力に対して文字列による応答を出力するシステムに対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列にできるようにする。
【解決手段】秘匿化装置が、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する秘匿化プロンプト発行手段と、を備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する秘匿化プロンプト発行手段と、
を備える秘匿化装置。
【請求項2】
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段
を備える推定装置。
【請求項3】
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示する表示手段
を備える表示装置。
【請求項4】
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、前記秘匿化の対象に該当する部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を表示する表示手段
を備える表示装置。
【請求項5】
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、
前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段と、
を備える推定システム。
【請求項6】
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する、
ことを含む秘匿化方法。
【請求項7】
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する
ことを含む推定方法。
【請求項8】
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、
前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する、
ことを含む推定方法。
【請求項9】
コンピュータに、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成することと、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力することと、
を実行させるプログラム。
【請求項10】
コンピュータに、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する
ことを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、秘匿化装置、推定装置、表示装置、推定システム、秘匿化方法、推定方法およびプログラムに関する。
【背景技術】
【0002】
大規模言語モデルなど、文字列の入力に対して文字列による応答を出力するシステムが用いられる場合がある。
例えば、特許文献1には、大規模言語モデルに入力可能な文字数制限を超えない文字数で、大規模言語モデルに入力するためのプロンプトを生成する文章生成装置が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
文字列の入力に対して文字列による応答を出力するシステムに対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列とすることができることが好ましい。
【0005】
本発明の目的の一例は、上述の課題を解決することのできる秘匿化装置、推定装置、表示装置、推定システム、秘匿化方法、推定方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、秘匿化装置は、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する秘匿化プロンプト発行手段と、を備える。
【0007】
本発明の第2の態様によれば、推定装置は、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段を備える。
【0008】
本発明の第3の態様によれば、表示装置は、第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示する表示手段を備える。
【0009】
本発明の第4の態様によれば、表示装置は、第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、前記秘匿化の対象に該当する部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を表示する表示手段を備える。
【0010】
本発明の第5の態様によれば、推定システムは、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段と、を備える。
【0011】
本発明の第6の態様によれば、秘匿化方法は、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する、ことを含む。
【0012】
本発明の第7の態様によれば、推定方法は、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定することを含む。
【0013】
本発明の第8の態様によれば、推定方法は、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する、ことを含む。
【0014】
本発明の第9の態様によれば、プログラムは、コンピュータに、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成することと、前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力することと、を実行させるプログラムである。
【0015】
本発明の第10の態様によれば、プログラムは、コンピュータに、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定することを実行させるプログラムである。
【発明の効果】
【0016】
本発明によれば、文字列の入力に対して文字列による応答を出力するシステムに対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列とすることができる。
【図面の簡単な説明】
【0017】
【
図1】少なくとも1つの実施形態に係るシステムの構成の例を示す図である。
【
図2】少なくとも1つの実施形態に係る推定システムが行う処理の手順の例を示す図である。
【
図3】少なくとも1つの実施形態に係る秘匿化装置の構成の例を示す図である。
【
図4】少なくとも1つの実施形態に係る推定装置の構成の例を示す図である。
【
図5】少なくとも1つの実施形態に係る推定システムが、文字列の置き換えによって理想応答を推定する場合の、データの入出力の例を示す図である。
【
図6】少なくとも1つの実施形態に係る推定部が備えるニューラルネットワークの訓練を行う場合の、学習システムの構成の例を示す図である。
【
図7】少なくとも1つの実施形態に係る学習制御装置の構成の例を示す図である。
【
図8】少なくとも1つの実施形態に係る推定部が備えるニューラルネットワークの訓練を行う際の、学習システムにおけるデータの入出力の例を示す図である。
【
図9】少なくとも1つの実施形態に係る推定部が理想応答の推定を行う場合の、推定システムにおけるデータの入出力の例を示す図である。
【
図10】少なくとも1つの実施形態に係る応答装置に対する追加学習を行う場合の、学習システムの構成の例を示す図である。
【
図11】少なくとも1つの実施形態に係る応答装置に対する追加学習を行う場合の、学習システムにおけるデータの入出力の例を示す図である。
【
図12】少なくとも1つの実施形態に係る秘匿化装置の構成の、もう1つの例を示す図である。
【
図13】少なくとも1つの実施形態に係る推定装置の構成の、もう1つの例を示す図である。
【
図14】少なくとも1つの実施形態に係る表示装置の構成の例を示す図である。
【
図15】少なくとも1つの実施形態に係る表示装置の構成の、もう1つの例を示す図である。
【
図16】少なくとも1つの実施形態に係る推定システムの構成の例を示す図である。
【
図17】少なくとも1つの実施形態に係る秘匿化方法における処理の手順の例を示す図である。
【
図18】少なくとも1つの実施形態に係る推定方法における処理の手順の例を示す図である。
【
図19】少なくとも1つの実施形態に係る推定方法における処理の手順の、もう1つの例を示す図である。
【
図20】少なくとも1つの実施形態に係るコンピュータの構成の例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下では、マクロン(Macron)を付された文字を、その文字の後に上付きの「-」を付して示す場合がある。例えば、マクロンを付されたfをf-とも表記する。
【0019】
<第一実施形態>
図1は、少なくとも1つの実施形態に係るシステムの構成の例を示す図である。
図1に示す構成で、推定システム1は、秘匿化装置100と、推定装置200とを備える。
また、
図1には、応答装置910が示されている。
【0020】
応答装置910が、推定システム1の一部として構成されていてもよいし、推定システム1の外部の構成となっていてもよい。
また、秘匿化装置100と、推定装置200と、応答装置910と、またはこれらのうち何れか1つが、一体的に構成されていてもよい。例えば、秘匿化装置100と推定装置200とが1つの装置として構成されていてもよい。
【0021】
応答装置910は、文字列の入力を受けて文字列を出力する。応答装置910は、文字列の入力に対して文字列による応答を出力するシステムの例に該当する。
応答装置910に入力される文字列、または、応答装置910に入力される文字列の元となる文字列をプロンプトとも称する。ここでいう、応答装置910に入力される文字列の元となる文字列は、文字列に対してある処理が行われ、処理後の文字列が応答装置910に入力される場合の、処理が行われる前の文字列である。
応答装置910が出力する文字列を、応答とも称する。
応答装置910が、コンピュータを用いて構成されていてもよい。
【0022】
応答装置910が、大規模言語モデル(Large Language Model;LLM)として構成されていてもよい。大規模言語モデルは、言語モデルの一種である。
例えば、応答装置910が、自然言語による問合せの入力に対して、自然言語による回答を出力するように構成されていてもよい。また、応答装置910が、自然言語による文章の入力を受けて、その文章に示されている感情を回答するなど、応答装置910への入力が、問合せの形式になっていなくてもよい。また、応答装置910が、プログラム(ソースコード)を出力するなど、応答装置910への入力、または、応答装置910の出力、あるいはそれら両方が、自然言語による文字列に限定されていなくてもよい。
【0023】
ただし、応答装置910は、大規模言語モデルとして構成されているものに限定されない。文字列の入力を受けて文字列を出力し、かつ、入力される文字列に秘匿化の対象となっている部分文字列が含まれ得るいろいろなものを、応答装置910として用いることができる。
【0024】
秘匿化装置100は、プロンプトに対する秘匿化を行う。具体的には、秘匿化装置100は、プロンプトのうち秘匿化の対象となっている部分文字列を検出し、検出した部分文字列を他の部分文字列に置き換える。そして、秘匿化装置100は、置き換え後のプロンプトを応答装置910に入力する。
秘匿化装置100が、コンピュータを用いて構成されていてもよい。
【0025】
置き換え後のプロンプト(秘匿化の対象として検出された部分文字列が、他の部分文字列に置き換えられたプロンプト)を、秘匿化されたプロンプトとも称する。秘匿化されたプロンプトは、第二文字列の例に該当する。秘匿化されたプロンプトは、第六文字列の例にも該当する。
置き換え前のプロンプト(秘匿化の対象となっている部分文字列の置き換えが行われる前のプロンプト)を、秘匿化されていないプロンプトとも称する。秘匿化されていないプロンプトは、第一文字列の例に該当する。秘匿化されていないプロンプトは、第五文字列の例にも該当する。
【0026】
推定装置200は、秘匿化されたプロンプトに対する応答装置910の応答に基づいて、秘匿化されていないプロンプトに対する応答装置910の応答を推定する。
推定装置200が、コンピュータを用いて構成されていてもよい。
秘匿化されたプロンプトに対する応答装置910の応答は、第三文字列の例に該当する。秘匿化されたプロンプトに対する応答装置910の応答は、第七文字列の例にも該当する。
秘匿化されていないプロンプトに対する応答装置910の応答は、第四文字列の例に該当する。秘匿化されていないプロンプトに対する応答装置910の応答は、第八文字列の例にも該当する。
【0027】
図2は、推定システム1が行う処理の手順の例を示す図である。
図2の処理で、秘匿化装置100は、プロンプトを取得する(ステップS101)。秘匿化装置100がステップS101で取得するプロンプトは、秘匿化されていないプロンプトに該当する。
【0028】
次に、秘匿化装置100は、ステップS101で取得したプロンプトのうち、秘匿化の対象となっている部分文字列を他の部分文字列に置き換える(ステップS102)。具体的には、秘匿化装置100は、ステップS101で取得したプロンプトのうち、秘匿化の対象として指定されている文字列に該当する部分文字列を検出する。そして、秘匿化装置100は、検出した部分文字列を、他の部分文字列に置き換える。
そして、秘匿化装置100は、秘匿化されたプロンプトを応答装置910へ送信する(ステップS103)。
【0029】
秘匿化装置100からの秘匿化されたプロンプトを受信した応答装置910は、受信した、秘匿化されたプロンプトに対する応答を生成する(ステップS111)。
そして、応答装置910は、生成した応答を、推定装置200へ送信する(ステップS112)。応答装置910がステップS112で送信する応答は、秘匿化されたプロンプトに対する応答に該当する。
【0030】
応答装置910からの応答を受信した推定装置200は、受信した応答に基づいて、秘匿化されていないプロンプトに対する応答を推定する(ステップS121)。
そして、推定装置200は、推定した、秘匿化されていないプロンプトに対する応答を出力する(ステップS122)。推定された応答を、応答の推定値とも称する。
【0031】
図3は、秘匿化装置100の構成の例を示す図である。
図3に示す構成で、秘匿化装置100は、第一通信部110と、第一表示部120と、第一操作入力部130と、第一記憶部180と、第一制御部190とを備える。第一制御部190は、プロンプト取得部191と、秘匿化部192と、秘匿化プロンプト発行部193とを備える。
【0032】
第一通信部110は、第一制御部190による制御に従って、他の装置と通信を行う。例えば、第一通信部110が、秘匿化されたプロンプトを応答装置910へ送信するようにしてもよい。
第一表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネル等の表示画面を備え、第一制御部190による制御に従って、各種画像を表示する。例えば、第一表示部120が、秘匿化されていないプロンプトおよび秘匿化されたプロンプトを表示するようにしてもよい。
第一表示部は、表示手段の例に該当する。秘匿化装置100は、第一表示部120を備えている点で、表示装置の例に該当する。
【0033】
第一操作入力部130は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、第一操作入力部130が、プロンプトを入力するユーザ操作を受け付けるようにしてもよい。ここでのプロンプトは、秘匿化されていないプロンプトに該当する。
【0034】
第一記憶部180は、各種データを記憶する。第一記憶部180は、秘匿化装置100が備える記憶デバイスを用いて構成される。
例えば、第一記憶部180が、秘匿化の対象となっている部分文字列を検出するためのデータを記憶していてもよい。
【0035】
第一記憶部180が、秘匿化の対象となっている部分文字列を検出するためのデータとして、秘匿化の対象の部分文字列として検出すべき文字列のリストを記憶しておくようにしてもよい。秘匿化の対象の部分文字列として検出すべき文字列を、置き換え元の文字列とも称する。
【0036】
あるいは、第一記憶部180が、秘匿化の対象となっている部分文字列を検出するためのデータとして、置き換え元の文字列と、その文字列を置き換えるべき文字列とを示す置き換え規則を記憶しておくようにしてよい。置き換え元の文字列を置き換えるべき文字列を、置き換え先の文字列とも称する。
【0037】
第一制御部190は、秘匿化装置100の各部を制御して各種処理を行う。第一制御部190の機能は、秘匿化装置100が備えるCPU(Central Processing Unit、中央処理装置)が、第一記憶部180からプログラムを読み出して実行することで実行されてもよい。
【0038】
プロンプト取得部191は、プロンプトを取得する。プロンプト取得部191が取得するプロンプトは、秘匿化されていないプロンプトに該当する。
プロンプト取得部191がプロンプトを取得する方法は、特定の方法に限定されない。例えば、第一操作入力部130が、プロンプトを入力するユーザ操作を受け付け、プロンプト取得部191が、ユーザ操作に応じた文字列を生成することで、プロンプトを取得するようにしてもよい。あるいは、第一通信部110が、他の装置からプロンプトを受信し、プロンプト取得部191が、第一通信部110の受信データからプロンプトを抽出するようにしてもよい。
【0039】
秘匿化部192は、プロンプトの秘匿化を行う。具体的には、秘匿化部192は、プロンプト取得部191が取得したプロンプトのうち、秘匿化の対象となっている部分文字列を検出する。そして、秘匿化部192は、検出した部分文字列を、他の部分文字列に置き換える。
秘匿化部192は、秘匿化手段の例に該当する。秘匿化部192による置き換え後のプロンプトは、秘匿化されたプロンプトに該当する。
【0040】
秘匿化プロンプト発行部193は、秘匿化部192による置き換え後のプロンプトを、第一通信部110を介して応答装置910へ送信する。
【0041】
図4は、推定装置200の構成の例を示す図である。
図4に示す構成で、推定装置200は、第二通信部210と、第二表示部220と、第二操作入力部230と、第二記憶部280と、第二制御部290とを備える。第二制御部290は、応答取得部291と、推定部292と、理想応答出力部293とを備える。
【0042】
第二通信部210は、第二制御部290による制御に従って、他の装置と通信を行う。例えば、第二通信部210が、応答装置910から、秘匿化されたプロンプトに対する応答を受信するようにしてもよい。
第二表示部220は、例えば液晶パネルまたはLEDパネル等の表示画面を備え、第二制御部290による制御に従って、各種画像を表示する。例えば、第二表示部220が、秘匿化されたプロンプトに対する応答、および、秘匿化されていないプロンプトに対する応答の推定値を表示するようにしてもよい。
第二表示部220は、表示手段の例に該当する。推定装置200は、第二表示部220を備えている点で、表示装置の例に該当する。
【0043】
第二操作入力部230は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、第二操作入力部230が、秘匿化されていないプロンプトに対する応答の推定値の出力方法を指定するユーザ操作を受け付けるようにしてもよい。
【0044】
第二記憶部280は、各種データを記憶する。第二記憶部280は、推定装置200が備える記憶デバイスを用いて構成される。
例えば、推定装置200が、応答装置910からの応答のうち、秘匿化装置100による置き換え後の文字列に相当する部分文字列を、その置き換え後の文字列の置き換え前の文字列に置き換える場合、第二記憶部280が、置き換え後の文字列と、その文字列の置き換え前の文字列とを示すデータを記憶しておくようにしてもよい。
あるいは、推定装置200が、秘匿化されていないプロンプトに対する応答を、機械学習モデルを用いて推定する場合、第二記憶部280が、その機械学習モデルを記憶しておくようにしてもよい。
【0045】
第二制御部290は、推定装置200の各部を制御して各種処理を行う。第二制御部290の機能は、推定装置200が備えるCPUが、第二記憶部280からプログラムを読み出して実行することで実行されてもよい。
【0046】
応答取得部291は、秘匿化されたプロンプトに対する応答装置910の応答を取得する。例えば、第二通信部210が、応答装置910からの応答を受信し、応答取得部291が、第二通信部210の受信データから応答装置910の応答を抽出するようにしてもよい。
【0047】
推定部292は、応答取得部291が取得する、秘匿化されたプロンプトに対する応答に基づいて、秘匿化されていないプロンプトに対する応答を推定する。
推定部292は、推定手段の例に該当する。
秘匿化されていないプロンプトに対する応答を、理想応答とも称する。推定システム1のユーザが、秘匿化されていないプロンプトに対する応答として所望する応答を、理想応答として用いるようにしてもよい。あるいは、秘匿化されていないプロンプトに対する応答装置910の応答を取得可能である場合、応答装置910からの実際の応答を理想応答として用いるようにしてもよい。
【0048】
理想応答出力部293は、推定部292による理想応答の推定値を出力する。理想応答出力部293が、理想応答の推定値を出力する方法は、特定の方法に限定されない。例えば、理想応答出力部293が、理想応答の推定値を第二表示部220に表示させるようにしてもよい。あるいは、理想応答出力部293が、第二表示部220による理想応答の推定値の表示に加えて、あるいは代えて、第二通信部210に理想応答の推定値を他の装置へ送信させるようにしてもよい。
【0049】
推定システム1によれば、文字列の入力に対して文字列による応答を出力するシステムに対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列とすることができる。具体的には、推定システム1によれば、プロンプトに含まれる、秘匿化の対象となっている情報を秘匿化して応答装置910へ送信することができ、かつ、理想応答(情報の秘匿化をおこなっていないプロンプトに対する応答装置910の応答)を推定することができる。
【0050】
例えば、応答装置910がクラウド上で公開されている大規模言語モデルである場合など、応答装置910がクラウド上に設けられている場合、秘匿化すべき情報(秘匿化の対象となっている情報)を含むプロンプトをそのまま応答装置910に送信すると、情報が漏洩する可能性がある。
これに対し、推定システム1では、秘匿化装置100が、プロンプトに含まれる秘匿化すべき情報を秘匿化することで、情報が漏洩する可能性を低減させることができる。かつ、推定システム1では、推定装置200が、理想応答(情報の秘匿化をおこなっていないプロンプトに対する応答装置910の応答)を推定することで、理想応答を得られることが期待される。
【0051】
秘匿化の対象となっている情報を秘匿化情報とも称する。秘匿化情報は、特定の種類の情報に限定されない。例えば、個人情報などプライバシーに関する情報が秘匿化情報となっていてもよいし、企業秘密など企業活動に関する情報が秘匿化情報となっていてもよい。あるいは、プライバシーに関する情報、および、企業活動に関する情報の何れも、秘匿化情報となっていてもよい。
【0052】
秘匿化情報の秘匿化および理想応答の推定についてさらに説明する。
【0053】
(ハッシュ値を用いた秘匿化)
秘匿化部192が、秘匿化の対象となっている部分文字列を、その部分文字列のハッシュ値に置き換えるようにしてもよい。例えば、秘匿化部192が、プロンプトのうち秘匿化の対象として指定されている文字列に該当する部分文字列を検出する。そして、秘匿化部192は、検出した部分文字列をハッシュ関数に入力してハッシュ値を算出する。秘匿化部192は、プロンプトのうち検出した部分文字列を、その部分文字列のハッシュ値に置き換える。
【0054】
秘匿化部192がハッシュ値の計算に用いるハッシュ関数は、特定のハッシュ関数に限定されない。
また、ハッシュ値の表現形式は、特定の形式に限定されない。例えば、秘匿化部192が、16進数で示されているハッシュ値を用いるようにしてもよいし、10進数で示されているハッシュ値を用いるようにしてもよい。
【0055】
第三者がハッシュ値から元の部分文字列を復元することをより困難にするために、秘匿化部192が、秘匿化の対象となっている部分文字列に乱数による文字列を付加してからハッシュ値の計算を行うようにしてもよい。
例えば、「apple」が秘匿化の対象となっている部分文字列である場合、秘匿化部192が、「apple」の末尾に乱数「10」を付加した「apple10」をハッシュ関数に入力してハッシュ値を計算し、プロンプト内の「apple」をハッシュ値に置き換えるようにしてもよい。
【0056】
秘匿化部192が、秘匿化の対象となっている部分文字列に、乱数による文字列を付加する位置は、特定の位置に限定されない。例えば、秘匿化部192が、秘匿化の対象となっている部分文字列の末尾に、乱数による文字列を付加するようにしてもよい。あるいは、秘匿化部192が、秘匿化の対象となっている部分文字列の先頭に、乱数による文字列を付加するようにしてもよい。あるいは、秘匿化部192が、秘匿化の対象となっている部分文字列の1文字目と2文字目との間に、乱数による文字列を付加するなど、秘匿化の対象となっている部分文字列の中に、乱数による文字列を付加するようにしてもよい。
【0057】
秘匿化部192がプロンプトごとに、乱数による文字列を決定するようにしてもよい。この場合、同じ部分文字列に対してプロンプトごとに異なるハッシュ値が割り当てられ、これによって、秘匿化情報の漏洩の可能性を低減させることができる。また、この場合、1つのプロンプト内では、同じ部分文字列が同じハッシュ値に置き換えられる。これにより、応答装置910が、同じハッシュ値が同じ部分文字列を示すことを把握して、比較的高精度な応答を生成し出力することが期待される。また、応答装置910が、プロンプト内に示されているハッシュ値を応答内で用いる場合、推定装置200が、応答内のハッシュ値を元の部分文字列に変換することができる。この点で、推定装置200が、理想応答を比較的高精度に推定できることが期待される。
【0058】
あるいは、秘匿化部192が、秘匿化の対象となっている部分文字列を検出するごとに、乱数による文字列を決定するようにしてもよい。この場合、1つのプロンプト内でも同じ部分文字列に対して異なるハッシュ値が割り当てられ、これによって、秘匿化情報の漏洩の可能性をさらに低減させることができる。
【0059】
応答装置910によるハッシュ値の認識を補助するために、秘匿化部192が、ハッシュ値に特定の文字列を付加するようにしてもよい。
例えば、「apple」が秘匿化の対象となっている部分文字列である場合、秘匿化部192が、「apple」をハッシュ関数に入力してハッシュ値を計算し、得られたハッシュ値の先頭に文字列「Fruits:」を付加し、プロンプト内の「apple」を「Fruits:(ハッシュ値)」の形式の文字列に置き換えるようにしてもよい。
【0060】
応答装置910の訓練は、応答装置910の機械学習モデルのパラメータ値を更新するファインチューニングによって行われてもよい。例えば、応答装置910のファインチューニング機能が、ユーザに公開されていてもよい。
あるいは、応答装置910の訓練は、プロンプトのサンプルと、そのプロンプトに対する応答のサンプルとを応答装置910に送信する、In-Context Learning(またはFew-Shotとも称される)の手法で行われてもよい。
【0061】
秘匿化部192がハッシュ値に付加する文字列を、応答装置910に予め学習させておくことで、応答装置910が、その文字列とハッシュ値との組み合わせによる部分文字列を、より高精度に認識できることが期待される。これにより、応答装置910が、より高精度な応答を生成できることが期待される。
例えば、応答装置910は、学習によって、「Fruits:(ハッシュ値)」の形式の部分文字列が、「Fruits」のクラスに分類される部分文字列を示していると把握できることが期待される。
【0062】
秘匿化部192がハッシュ値に付加する文字列は、例えば機械学習モデルによるクラス分類など、機械学習モデルを用いて得られた文字列であってもよい。
例えば、秘匿化部192は、秘匿化の対象となっている部分文字列「apple」を機械学習モデルに入力してクラス分類結果「Fruits」を取得する。また、秘匿化部192は、部分文字列「apple」をハッシュ関数に入力してハッシュ値を計算する。そして、秘匿化部192が、得られたハッシュ値の先頭にクラス分類結果の文字列「Fruits」を付加して「Fruits:(ハッシュ値)」の形式の文字列を取得し、プロンプト内の「apple」を「Fruits:(ハッシュ値)」の形式の文字列に置き換える。
【0063】
(暗号化を用いた秘匿化)
秘匿化部192が、秘匿化の対象となっている部分文字列を、その部分文字列を暗号化した部分文字列に置き換えるようにしてもよい。
秘匿化部192が部分文字列の暗号化に用いる暗号化アルゴリズムは、特定の種類の暗号化アルゴリズムに限定されない。例えば、秘匿化部192が、共通鍵暗号方式に含まれる暗号化アルゴリズムを用いるようにしてもよいし、公開鍵暗号方式に含まれる暗号化アルゴリズムを用いるようにしてもよい。
【0064】
また、秘匿化部192が用いる暗号化アルゴリズムは、応答装置910が復号のための情報を有していないものであってもよい。
ハッシュ値を用いた秘匿化の場合と同様、秘匿化部192が、秘匿化の対象となっている部分文字列に乱数による文字列を付加してから暗号化を行うようにしてもよい。
【0065】
ハッシュ値を用いた秘匿化の場合と同様、秘匿化部192が、暗号化された部分文字列に特定の文字列を付加するようにしてもよい。この場合も、秘匿化部192が暗号化された部分文字列に付加する文字列は、応答装置910に予め学習させたものであってもよい。また、秘匿化部192が暗号化された部分文字列に付加する文字列は、例えば機械学習モデルによるクラス分類など、機械学習モデルを用いて得られた文字列であってもよい。
【0066】
(同じ品詞の単語への置き換えによる秘匿化)
秘匿化部192が、秘匿化の対象となっている単語を同じ品詞の単語に置き換えるようにしてもよい。
例えば、「apple」が秘匿化の対象となっている単語である場合、秘匿化部192は、プロンプト内の「apple」を、「apple」と同じく名詞である「car」に置き換える。
置き換え先の単語は、ユーザが予め指定しておくようにしてもよい。
あるいは、秘匿化部192が辞書を有し、秘匿化の対象となっている単語と同じ品詞の単語からランダムに、置き換え先の単語を選択するようにしてもよい。
秘匿化部192が、秘匿化の対象となっている単語を同じ品詞の単語に置き換えることで、応答装置910が、比較的正確にプロンプトを把握することができ、比較的高精度な応答を生成できることが期待される。
【0067】
(特徴ベクトルを利用した単語の置き換えによる秘匿化)
秘匿化部192が、特徴ベクトルを用いて置き換え先の単語を決定するようにしてもよい。
秘匿化部192が特徴ベクトルの抽出に用いる特徴量抽出モデルfの入出力は、式(1)のように表すことができる。
【0068】
【0069】
Wは、単語の集合を表す。Rdは、d次元の実数空間を示す。特徴量抽出モデルfは、単語w∈Wの入力を受けてd次元の実数ベクトルを出力する。
特徴量抽出モデルfでは、意味(Semantics)に似ている単語同士の特徴ベクトルの距離が近くなるように学習されているなど、特徴ベクトルの距離が近い単語ほど類似している単語として扱われるものとする。
【0070】
秘匿化部192は、秘匿化の対象となっている単語wsを、特徴ベクトルの距離dist(f(ws),f(w))の小さい順で上位K番目の単語w∈Wに置き換える。ここで、distは、2つのベクトルの距離を示す関数である。Kは、K≧1の整数である。Kの値はユーザによって設定されていてもよい。
【0071】
例えば、秘匿化の対象となっている単語が「apple」であり、「apple」の特徴ベクトルと「melon」の特徴ベクトルとの距離が最も小さく、「apple」の特徴ベクトルと「orange」の特徴ベクトルとの距離が2番目に小さいものとする。
K=1に設定されている場合、秘匿化部192は、プロンプト内の「apple」を「melon」に置き換える。一方、K=2に設定されている場合、秘匿化部192は、プロンプト内の「apple」を「orange」に置き換える。
【0072】
予め単語をクラスに分類しておき、秘匿化部192が、クラス内で単語の置き換えを行うようにしてもよい。
例えば、単語の集合Wを、式(2)のようにC個のクラスW1、W2、・・・、WCに分割しておく。
【0073】
【0074】
この分割を行う主体は、特定のものに限定されない。例えば、秘匿化部192が、この分割を行うようにしてもよい。あるいは、ユーザなど、秘匿化部192以外がこの分割を行うようにしてもよい。
また、式(3)に基づいて、各クラスの平均ベクトルf-
iを予め計算しておく。
【0075】
【0076】
iは、クラスを識別する識別番号を示す、1≦i≦Cの整数である。識別番号iで識別されるクラスをi番目のクラスとも称する。
|Wi|は、i番目のクラスWiに含まれる単語の個数を示す。
平均ベクトルの計算を行う主体は、特定のものに限定されない。例えば、秘匿化部192が、平均ベクトルの計算を行うようにしてもよい。あるいは、秘匿化装置100の外部の装置など、秘匿化部192以外が平均ベクトルの計算を行うようにしてもよい。
【0077】
単語の秘匿化を行う際、秘匿化部192は、クラスごとの平均ベクトルf-
1、f-
2、・・・、f-
Cのうち、秘匿化の対象となっている単語wsの特徴ベクトルf(ws)との距離dist(f-
i,f(ws))が最も小さい平均ベクトルf-
iを検出する。
【0078】
そして、秘匿化部192は、式(4)に基づいて、プロンプトのうち秘匿化の対象となっている単語wsを、検出した平均ベクトルf-
iとの特徴ベクトルの距離lが小さい順に上位K番目の単語w∈Wに置き換える。
【0079】
【0080】
第一記憶部180が、式(3)の計算の際に計算された各単語の特徴ベクトルf(w)を記憶しておくようにしてもよい。そして、秘匿化部192が、式(4)の計算の際に、第一記憶部180が記憶している各クラスの平均ベクトルf-
iおよび各単語の特徴ベクトルr(w)を用いるようにしてもよい。
【0081】
秘匿化部192が、式(4)に代えて式(5)に基づいて、プロンプトのうち秘匿化の対象となっている単語wsを、検出した平均ベクトルf-
iとの特徴ベクトルの距離lが小さい順に上位K番目の単語w∈Wに置き換えるようにしてもよい。
【0082】
【0083】
rは、特徴ベクトルの次元と同じd次元の乱数のベクトルである。
式(5)によれば、単語の選択の際に乱数を用いることで、上述したハッシュ値の計算の際に乱数を用いる場合と同様、第三者が、置き換え後の単語から元の単語を復元することがより困難になると期待される。
【0084】
上述したハッシュ値の計算の際に乱数を用いる場合と同様、秘匿化部192が、プロンプトごとに乱数のベクトルrの値を決定するようにしてもよい。あるいは、秘匿化部192が、秘匿化の対象となっている部分文字列を検出するごとに、乱数のベクトルrの値を決定するようにしてもよい。
【0085】
ユーザが各クラスの代表ベクトルを指定するなど、秘匿化部192が、クラスごとの代表ベクトルを、平均ベクトルを計算する方法以外の方法で取得するようにしてもよい。
例えば、ユーザが、各クラスの代表単語を予め指定しておくようにしてもよい。そして、秘匿化部192または他の主体が、予め、指定された代表単語の特徴ベクトルを算出し、代表ベクトルとして用意しておくようにしてもよい。
【0086】
単語の秘匿化の際、秘匿化部192は、上述したクラスごとの平均ベクトルに代えて、クラスごとの代表ベクトルを用いる。秘匿化部192は、秘匿化の対象となっている単語wsの特徴ベクトルf(ws)との距離が最も近い代表ベクトルを検出する。そして、秘匿化部192は、プロンプトのうち秘匿化の対象となっている単語wsを、検出した代表ベクトルとの特徴ベクトルの距離が小さい順に上位K番目の単語w∈Wに置き換える。
【0087】
秘匿化部192が、式(4)のクラスごとの平均ベクトルf-
iをクラスごとの代表ベクトルと読み替えた式を用いるようにしてもよい。あるいは、秘匿化部192が、式(5)のクラスごとの平均ベクトルf-
iをクラスごとの代表ベクトルと読み替えた式を用いるようにしてもよい。
【0088】
(プライバシーを保障する秘匿化)
秘匿化部192が、例えばローカル差分プライバシー(Local Differential Privacy;LDP)など、プライバシーの保護基準として定められている基準を満たすような、プロンプトの部分文字列の置き換えを採用するようにしてもよい。
例えば、秘匿化部192が、Metric Local Differential Privacy(MLDP)またはUtility-optimized MLDP(UMLDP)などのプライバシー保護基準に基づいて、これらのプライバシー保護基準を満たすためのアルゴリズムとして開示されているアルゴリズムを用いて、プロンプトの部分文字列の置き換えを行うようにしてもよい。
ただし、秘匿化部192が用いるプライバシーの保護基準は特定の基準に限定されない。
【0089】
(文字列の置き換えによる理想応答の推定)
推定部292が、応答装置910からの応答に含まれる部分文字列のうち、秘匿化部192による置き換え後の単語を、置き換え前の単語に変換するようにしてもよい。
ここでは、秘匿化部192による置き換え後の部分文字列が、応答装置910から応答でも、置き換え後の部分文字列のまま用いられる場合を想定している。
以下では、秘匿化部192および推定部292が、単語の置き換えを行う場合を例に説明する。ただし、秘匿化部192および推定部292が、例えば文節単位など単語以外の文字列を単位として置き換えを行うようにしてもよい。
【0090】
例えば、式(6)に示されるような、秘匿化部192による文字の置き換えを示す辞書dを用意し、秘匿化部192と推定部292とが辞書dを共有する。
【0091】
【0092】
wo
iは、i番目の置き換え元の単語を示す。
wr
iは、i番目の置き換え先の単語を示す。
推定部292が辞書dを用いる場合、wo
iが辞書の値に相当し、wr
iが辞書のキーに相当する。推定部292は、応答装置910からの応答に単語wr
iが含まれている場合、単語wr
iを単語wo
iに置き換える。
【0093】
辞書dが、予め生成されていてもよい。あるいは、秘匿化部192が所定の規則に従って置き換え先の単語を決定する場合など、秘匿化部192が辞書dを生成し、生成した辞書dを、第一通信部110および第二通信部210を介して推定部292へ送信するようにしてもよい。
【0094】
辞書dの中に、同じ単語wr
iが複数存在している場合、推定部292が、応答装置910からの応答に含まれている単語wr
iを、その単語wr
iに紐づけられている単語wo
iのうち何れか1つに置き換えるようにしてもよい。例えば、推定部292が、単語wr
iに紐づけられている複数の単語wo
iのうち何れか1つをランダムに選択するようにしてもよい。
【0095】
あるいは、推定部292が、応答装置910からの応答に含まれている単語wr
iを、その単語wr
iに紐づけられている複数のwo
iのリストに置き換えるようにしてもよい。この場合、ユーザは、複数のwo
iのうち何れかを選択することができる。
1つの単語wr
iに紐づけられている単語wo
iが複数ある場合、辞書dの中で、1つの単語wr
iと複数の単語wo
iのリストとが紐づけられていてもよい。
【0096】
秘匿化部192が秘匿化の対象となっている単語を暗号化する場合、wo
iは秘密鍵であってもよい。すなわち、推定部292が、暗号化された単語wr
iを、秘密鍵としてのwo
iを適用した暗号アルゴリズムに入力して復号するようにしてもよい。そして、推定部292が、応答装置910からの応答に含まれている暗号化された単語wr
iを、復号された単語に置き換えるようにしてもよい。
【0097】
図5は、推定システム1が、文字列の置き換えによって理想応答を推定する場合の、データの入出力の例を示す図である。
図5の例で、秘匿化装置100は、秘匿化されたプロンプトを応答装置910へ送信する。また、秘匿化装置100は、例えば辞書情報など、秘匿化装置100による部分文字列の置き換えに関する情報である置き換え情報を推定装置200へ送信する。
応答装置910は、秘匿化装置100からの秘匿化されたプロンプトに対する応答を生成し、生成した応答を推定装置200へ送信する。
推定装置200は、秘匿化装置100からの置き換え情報と、応答装置910からの応答とに基づいて、理想応答を推定する。
【0098】
(機械学習モデルを用いた理想応答の推定)
推定部292が、文字列の入力に対して文字列を出力する機械学習モデルを含んで構成されていてもよい。
以下では、推定部292が、ニューラルネットワークを含んで構成されている場合を例に説明する。ただし、推定部292が備える機械学習モデルは、特定の種類のものに限定されない。
【0099】
図6は、推定部292が備えるニューラルネットワークの訓練を行う場合の、学習システムの構成の例を示す図である。
図6の例で、学習システム2は、秘匿化装置100と、推定装置200と、学習制御装置300と、応答装置910とを備える。
図6の各部のうち、
図1の各部に対応して同様の機能を有する部分には同一の符号(100、200、910)を付し、ここでは詳細な説明を省略する。
【0100】
図7は、学習制御装置300の構成の例を示す図である。
図7に示す構成で、学習制御装置300は、第三通信部310と、第三表示部320と、第三操作入力部330と、第三記憶部380と、第三制御部390とを備える。第三制御部390は、訓練データ取得部391と、学習制御部392とを備える。
【0101】
学習制御装置300は、推定部292が備えるニューラルネットワークの訓練を制御する。
学習制御装置300が、コンピュータを用いて構成されていてもよい。
第三通信部310は、第三制御部390による制御に従って、他の装置と通信を行う。例えば、学習制御装置300が訓練データを蓄積する際、第三通信部310が、応答装置910へプロンプトを送信して応答を受信するようにしてもよい。
【0102】
第三表示部320は、例えば液晶パネルまたはLEDパネル等の表示画面を備え、第三制御部390による制御に従って、各種画像を表示する。例えば、第三表示部320が、ニューラルネットワークの訓練の進行状況など、訓練に関する各種情報を表示するようにしてもよい。
【0103】
第三操作入力部330は、例えばキーボードおよびマウス等の入力デバイスを備え、ユーザ操作を受け付ける。例えば、第三操作入力部330が、学習率など、訓練に関する設定を行うユーザ操作を受け付けるようにしてもよい。
【0104】
第三記憶部380は、各種データを記憶する。第三記憶部380は、学習制御装置300が備える記憶デバイスを用いて構成される。
例えば、第三記憶部380が、ニューラルネットワークの訓練のための訓練データを記憶していてもよい。
【0105】
第三制御部390は、学習制御装置300の各部を制御して各種処理を行う。第三制御部390の機能は、学習制御装置300が備えるCPUが、第三記憶部380からプログラムを読み出して実行することで実行されてもよい。
【0106】
訓練データ取得部391は、訓練データを取得する。
例えば、推定システム1のユーザが、式(7)に示されるような、プロンプトtcと、そのプロンプトtcに対する理想応答ycとのペアの集合を用意しておく。
【0107】
【0108】
そして、秘匿化装置100が、プロンプトtcに対して秘匿化をおこなったプロンプトを応答装置910へ送信する。
そして、訓練データ取得部391は、式(8)に示されるような訓練データを生成する。
【0109】
【0110】
ここで、Eは秘匿化部192による変換(部分文字列の秘匿化)を示す。E(tc)は、秘匿化部192による変換後のプロンプトを示す。fは、応答装置910による応答を示す。f(E(tc))は、秘匿化部192による変換後のプロンプトに対する応答装置910の応答を示す。
【0111】
concatは、文字列の結合を示す。concatでは、複数の文字列を結合して1つの文字列にまとめる。訓練データ取得部391が、concatを用いて文字列を結合する際、文字列の間に例えば「[SEP]」など、文字列の区切りを示す特定の文字(キャラクタ)を挿入するようにしてもよい。
yc
iは、理想応答ycに、データの識別番号iを明示したものである。
【0112】
学習制御部392は、訓練データ取得部391が取得した訓練データを用いて、ニューラルネットワークの訓練を行う。学習制御部392は、ニューラルネットワークに文字列concat(tc,E(tc),f(E(tc)))iを入力して、ニューラルネットワークが文字列yc
iを出力するように、ニューラルネットワークの訓練を行う。
推定部292が備えるニューラルネットワークが、例えば、大規模言語モデルよりも小規模な言語モデルなど、言語モデルとして構成されていてもよい。
【0113】
学習制御部392がニューラルネットワークの訓練に用いる学習アルゴリズムは、特定のものに限定されない。例えば、学習制御部392が誤差逆伝播(Backpropagation)を用いてニューラルネットワークの訓練を行うようにしてもよいが、これに限定されない。また、学習制御部392が、損失関数としてクロスエントロピー(Cross-Entropy)損失を用いてニューラルネットワークの訓練を行うようにしてもよいが、これに限定されない。
【0114】
図8は、推定部292が備えるニューラルネットワークの訓練を行う際の、学習システム2におけるデータの入出力の例を示す図である。
図8の例で、例えば、推定システム1のユーザが、プロンプトt
cと、そのプロンプトt
cに対する理想応答y
cとのペアの集合{(t
c,y
c)
i}
i=1
Nを用意しておく。そして、秘匿化装置100は、プロンプトt
cに対して秘匿化をおこなったプロンプトE(t
c)を応答装置910へ送信する。
また、秘匿化装置100は、プロンプトt
cと、プロンプトt
cに対して秘匿化をおこなったプロンプトE(t
c)と、プロンプトt
cに対する理想応答y
cとを学習制御装置300へ送信する。
【0115】
応答装置910は、秘匿化されたプロンプトE(tc)に対する応答f(E(tc))を生成し、学習制御装置300へ送信する。
学習制御装置300は、プロンプトtcと、プロンプトtcに対して秘匿化をおこなったプロンプトE(tc)と、プロンプトtcに対する理想応答ycと、プロンプトE(tc)に対する応答f(E(tc))とを用いて、訓練データ{concat(tc,E(tc),f(E(tc)))i,yc
i}i=1
Nを生成する。
学習制御装置300は、生成した訓練データ{concat(tc,E(tc),f(E(tc)))i,yc
i}i=1
Nを用いて、推定部292が備えるニューラルネットワークの訓練を行う。
【0116】
図9は、推定部292が理想応答の推定を行う場合の、推定システム1におけるデータの入出力の例を示す図である。
図9の例で、秘匿化装置100は、プロンプトt
cを取得し、プロンプトt
cに対して秘匿化をおこなったプロンプトE(t
c)を応答装置910へ送信する。
また、秘匿化装置100は、プロンプトt
cと、プロンプトt
cに対して秘匿化をおこなったプロンプトE(t
c)とを推定装置200へ送信する。
【0117】
応答装置910は、秘匿化されたプロンプトE(tc)に対する応答f(E(tc))を生成し、推定装置200へ送信する。
推定装置200では、推定部292が、プロンプトtcに対して秘匿化をおこなったプロンプトE(tc)と、秘匿化されたプロンプトE(tc)に対する応答f(E(tc))とを結合した文字列concat(tc,E(tc),f(E(tc)))を生成する。推定部292は、生成した文字列を学習済みのニューラルネットワークへ入力して、理想応答の推定値yc’を算出する。
【0118】
(学習済みの言語モデルを用いた理想応答の推定)
推定部292が、機械学習モデルとして学習済みの言語モデルを備えていてもよい。この場合、言語モデルの学習パラメータの更新は行わず、言語モデルの入出力の例を言語モデルに与えてIn-Context Learningの手法で、言語モデルに理想応答を推定させるようにしてもよい。
【0119】
この場合、推定部292は、文字列concat(t
c,E(t
c),f(E(t
c)))のサンプルと、そのプロンプトt
cに対する理想応答y
cのサンプルとのペアを何組か取得し、言語モデルに入出力のサンプルとして与える。
そして、
図9の例の場合と同様、推定部292は、理想応答の推定対象のプロンプトt
cと、秘匿化装置100がプロンプトt
cに対して秘匿化をおこなったプロンプトE(t
c)と、秘匿化されたプロンプトE(t
c)に対する応答装置910の応答f(E(t
c))とを結合した文字列concat(t
c,E(t
c),f(E(t
c)))を生成する。推定部292は、生成した文字列を言語モデルに入力して、理想応答の推定値y
c’を算出する。
【0120】
推定部292が、言語モデルの入出力の例を言語モデルに与えずに、Zero-Shotの手法で直接、理想応答の推定対象のプロンプトtcと、秘匿化装置100がプロンプトtcに対して秘匿化をおこなったプロンプトE(tc)と、秘匿化されたプロンプトE(tc)に対する応答装置910の応答f(E(tc))とを結合した文字列concat(tc,E(tc),f(E(tc)))を言語モデルに入力して、理想応答の推定値yc’を算出するようにしてもよい。
【0121】
(応答装置910の追加学習)
推定装置200による理想応答の推定値によって、推定システム1のユーザが所望する応答を得やすくするために、応答装置910に対する追加学習を行うようにしてもよい。
【0122】
図10は、応答装置910に対する追加学習を行う場合の、学習システムの構成の例を示す図である。
図10の例で、学習システム3は、秘匿化装置100と、学習制御装置300と、応答装置910とを備える。
図10の各部のうち、
図6の各部に対応して同様の機能を有する部分には同一の符号(100、300、910)を付し、ここでは詳細な説明を省略する。
【0123】
図11は、応答装置910に対する追加学習を行う場合の、学習システム3におけるデータの入出力の例を示す図である。
図11の例で、例えば、推定システム1のユーザが、プロンプトt
cと、そのプロンプトt
cに対する理想応答y
cとのペアの集合{(t
c,y
c)
i}
i=1
Nを用意しておく。
そして、秘匿化装置100が、プロンプトt
cおよび理想応答y
cのそれぞれに対して秘匿化をおこなって、秘匿化されたプロンプトE(t
c)および秘匿化された応答E(y
c)を生成し、学習制御装置300へ送信する。
【0124】
学習制御装置300の訓練データ取得部391は、秘匿化されたプロンプトE(tc)および秘匿化された応答E(yc)に基づいて、式(9)に示される訓練データDを取得する。
【0125】
【0126】
学習制御装置300の学習制御部392は、訓練データDを用いて応答装置910の訓練を行う。学習制御部392は、秘匿化されたプロンプトE(tc)を応答装置910に入力し、応答装置910が秘匿化された応答E(yc)を出力するように、応答装置910の学習パラメータを調整する。
【0127】
学習制御部392が行う応答装置910の追加学習は、応答装置910による応答の生成を、秘匿化装置100および推定装置200による部分文字列の置き換えに適合させるファインチューニングと捉えることができる。
学習制御部392が、応答装置910の訓練に用いる学習アルゴリズムは、特定のものに限定されない。例えば、学習制御部392が、LoRA(Low-Rank Adaptation)を用いて応答装置910の訓練を行うようしてもよいが、これに限定されない。
【0128】
学習システム3によれば、秘匿化情報が第三者には分からないような文字列に置き換えられた訓練データを用いて、応答装置910の追加学習を行うことができる。これにより、学習システム3では、秘匿化情報が第三者に漏洩する可能性を低減させることができ、かつ、応答装置910が、秘匿化情報に応じた応答を出力するように、応答装置910の訓練を行うことができる。
【0129】
特に、秘匿化装置100がプロンプトtcおよび理想応答ycの何れも秘匿化する。秘匿化装置100が、秘匿化されたプロンプトE(tc)および秘匿化された応答E(yc)を送信しても、秘匿化情報が第三者に漏洩する可能性は小さい。
かつ、秘匿化装置100は、プロンプトtcの秘匿化および理想応答ycの秘匿化で、秘匿化の対象となっている文字列に応じた文字列を、秘匿化されたプロンプトE(tc)および秘匿化された応答E(yc)に埋め込む。学習制御装置300が、秘匿化されたプロンプトE(tc)および秘匿化された応答E(yc)を用いて応答装置910の訓練を行うことで、応答装置910が、秘匿化情報に応じた応答を出力するように訓練を行うことができる。
【0130】
また、学習システム3によれば、応答装置910がプロンプトを把握できる可能性を高めることができ、この点で、応答装置910が、比較的高精度に応答を生成できると期待される。
例えば、秘匿化装置100が、プロンプトのうち秘匿化の対象となっている部分文字列をハッシュ値に置き換える場合、ハッシュ値の存在によって、応答装置910がプロンプトを解析する精度が低下することが考えられる。プロンプトを解析する精度の低下によって、応答装置910が、理想応答の推定が困難なようなプロンプトを出力することが考えられる。
これに対し、学習制御部392が、ハッシュ値を含むプロンプトおよび応答を用いて応答装置910の訓練を行うことで、応答装置910が、ハッシュ値を含むプロンプトに対する応答の生成をより高精度に行えるようになると期待される。
【0131】
応答装置910の追加学習に用いた秘匿化装置100を用いて、推定装置200を構築し、理想応答の推定の推定に用いるようにしてもよい。
ここで、推定装置200が行う処理は、秘匿化装置100が行う処理に依存する。例えば、推定装置200が部分文字列の置き換えによって理想応答を推定する場合、推定装置200が、秘匿化装置100が行う部分文字列の置き換えの逆変換に相当する部分文字列の置き換えを行うことが考えられる。
【0132】
そこで、秘匿化装置100と、推定装置200とが辞書を共有するなど、部分文字列の置き換えに関する情報を共有するようにする。秘匿化装置100が、訓練データの生成のためにおこなった、プロンプトtcから秘匿化されたプロンプトE(tc)への変換における部分文字列の置き換え、および、理想応答ycから秘匿化された応答E(yc)への変換における部分文字列の置き換えを、辞書に登録しておくようにしてもよい。
【0133】
また、推定部292が機械学習モデルを備える場合、機械学習に入力される文字列concat(tc,E(tc),f(E(tc)))の生成で、秘匿化装置100によって秘匿化されたプロンプトE(tc)を用いて、秘匿化装置100による処理を、推定装置200による処理に反映させる。
【0134】
以上のように、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた、秘匿化されたプロンプトを生成する。秘匿化プロンプト発行部193は、秘匿化されたプロンプトを、応答装置910に入力する。
【0135】
秘匿化装置100によれば、応答装置910に対するプロンプトを、秘匿化の対象となっている情報が秘匿化されたプロンプトとすることができる。これにより、秘匿化装置100によれば、秘匿化の対象となっている情報が漏洩する可能性を低減させることができる。かつ、秘匿化装置100によれば、秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられていることで、秘匿化の対象となっている情報に応じた応答を得られると期待される。
【0136】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換える。
秘匿化装置100によれば、ハッシュ関数を用いた比較的簡単な計算で、部分文字列の置き換え先の部分文字列をランダムな文字列に決定することができる。秘匿化装置100によれば、この点で、比較的簡単な計算で情報の秘匿化をより確実に行うことができる。
【0137】
また、秘匿化部192は、第一文字列のうち秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換える。
秘匿化装置100によれば、秘匿化の対象となっている情報が漏洩する可能性を、より低減させることができる。
【0138】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換える。
秘匿化装置100によれば、応答装置910によるハッシュ値の認識を補助することができる。特に、秘匿化装置100によれば、ハッシュ値に所定の文字列を付加することで、応答装置910に、ハッシュ値を認識するための情報を提供することができる。
【0139】
また、応答装置910が、ハッシュ値に付加する文字列について予め学習されている。
秘匿化装置100によれば、応答装置910が、ハッシュ値に付加されている文字列を用いて、ハッシュ値の認識を適切に行えると期待される。
【0140】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、所定の文字列を取得する。
秘匿化装置100によれば、機械学習モデルを用いて文字列を取得することで、置き換えの対象となっている部分文字列に関連している文字列を取得することができ、取得した文字列をハッシュ値に付加することができる。
【0141】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換える。
秘匿化装置100によれば、暗号化によって、部分文字列の置き換え先の部分文字列をランダムな文字列に決定することができる。秘匿化装置100によれば、この点で、情報の秘匿化をより確実に行うことができる。
【0142】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換える。
秘匿化装置100によれば、秘匿化の対象となっている情報が漏洩する可能性を、より低減させることができる。
【0143】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換える。
秘匿化装置100によれば、応答装置910による文字列の認識を補助することができる。特に、秘匿化装置100によれば、暗号化された文字列に所定の文字列を付加することで、応答装置910に、暗号化された文字列を認識するための情報を提供することができる。
【0144】
また、応答装置910が、暗号化された文字列に付加されている文字列について予め学習されている。
秘匿化装置100によれば、応答装置910が、暗号化された文字列に付加されている文字列を用いて、暗号化された文字列の認識を適切に行えると期待される。
【0145】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、所定の文字列を取得する。
秘匿化装置100によれば、機械学習モデルを用いて文字列を取得することで、置き換えの対象となっている部分文字列に関連している文字列を取得することができ、取得した文字列を暗号化された文字列に付加することができる。
【0146】
また、秘匿化部192は、秘匿化されていないプロンプトに含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換える。
秘匿化装置100によれば、単語の置き換え前と置き換え後とで同じ品詞となっている点で、応答装置910が、プロンプトを比較的高精度に把握でき、比較的高精度な応答を生成できると期待される。
【0147】
また、秘匿化部192は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択する。
秘匿化装置100によれば、部分文字列を、何らかの基準で比較的類似している部分文字列に置き換えることができる。これにより、秘匿化装置100では、応答装置910が、プロンプトを比較的高精度に把握でき、比較的高精度な応答を生成できると期待される。
【0148】
また、秘匿化部192は、秘匿化されていないプロンプトの部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用する。
秘匿化装置100によれば、プライバシーを保護することのできるプロンプトを得られる。
【0149】
また、応答装置910は、秘匿化されたプロンプトと、秘匿化されていないプロンプトに対する応答装置910の出力として所望されている応答に対して秘匿化部192が部分文字列の置き換えをおこなった文字列とを用いて訓練されている。
【0150】
秘匿化装置100によれば、秘匿化情報が第三者には分からないような文字列に置き換えられた訓練データを用いて、応答装置910の追加学習を行うことができる。これにより、学習システム3では、秘匿化情報が第三者に漏洩する可能性を低減させることができ、かつ、応答装置910が、秘匿化情報に応じた応答を出力するように、応答装置910の訓練を行うことができる。
また、秘匿化装置100によれば、応答装置910がプロンプトを把握できる可能性を高めることができ、この点で、応答装置910が、比較的高精度に応答を生成できると期待される。
【0151】
また、第一表示部120は、秘匿化されたプロンプトのうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた、秘匿化されたプロンプトを表示する。
秘匿化装置100によれば、ユーザは、秘匿化されたプロンプトを参照して情報の秘匿化が適切に行われているか確認することができる。
【0152】
また、推定部292は、秘匿化されていないプロンプトのうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた、秘匿化されたプロンプトに対する応答に基づいて、秘匿化の対象として検出された部分文字列の置き換えが行われていない、秘匿化されていないプロンプトに対する応答を推定する。
推定装置200によれば、秘匿化されたプロンプトを用いて応答装置910による応答を取得することができ、秘匿化情報が第三者に漏洩する可能性を低減させることができる。かつ、推定装置200によれば、秘匿化情報に応じた応答を推定することができる。
【0153】
また、推定部292は、秘匿化されたプロンプトに対する応答の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換える。
推定装置200によれば、秘匿化装置100が行う部分文字列の置き換えの逆変換に相当する置き換えを行うことができ、この点で、理想応答を高精度に推定できると期待される。
【0154】
また、推定部292は、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、秘匿化されたプロンプトに対する応答の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換える。
推定装置200によれば、秘匿化装置100による部分文字列の置き換えが一体一対応の関係にない場合でも、理想応答を推定することができる。
【0155】
また、推定部292は、秘匿化の対象として検出された部分文字列の置き換え前のプロンプトと、置き換え後のプロンプトと、そのプロンプトの入力に対する応答とを含むデータを入力データとし、秘匿化の対象として検出された部分文字列の置き換え前のプロンプトに対する応答を正解データとする訓練データを用いて訓練された機械学習モデルに、秘匿化の対象として検出された部分文字列の置き換え前のプロンプトと、置き換え後のプロンプトと、そのプロンプトの入力に対する応答とを含むデータを入力して、秘匿化の対象として検出された部分文字列の置き換え前のプロンプトに対する応答の推定値を取得する。
推定装置200によれば、機械学習モデルを用いて理想応答を推定することができる。これにより、推定装置200では、例えば、秘匿化装置100による文字列の置き換え規則を得られないような場合でも、理想応答を推定することができる。
【0156】
また、第二表示部220は、秘匿化されていないプロンプトのうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた、秘匿化されたプロンプトに対する応答に基づいて推定された、秘匿化の対象に該当する部分文字列の置き換えが行われていないプロンプトに対する応答を表示する。
推定装置200によれば、ユーザは、理想応答の推定値を参照することができる。
【0157】
<第二実施形態>
図12は、少なくとも1つの実施形態に係る秘匿化装置の構成の、もう1つの例を示す図である。
図12に示す構成で、秘匿化装置610は、秘匿化部611と、秘匿化プロンプト発行部612とを備える。
【0158】
かかる構成で、秘匿化部611は、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する。秘匿化プロンプト発行部612は、第二文字列を、第二文字列に対する応答を出力する装置に入力する。
秘匿化部611は、秘匿化手段の例に該当する。秘匿化プロンプト発行部612は、秘匿化プロンプト発行手段の例に該当する。
【0159】
秘匿化装置610によれば、第二文字列に対する応答を出力する装置に対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列とすることができる。これにより、秘匿化装置610によれば、秘匿化の対象となっている情報が漏洩する可能性を低減させることができる。かつ、秘匿化装置610によれば、秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられていることで、秘匿化の対象となっている情報に応じた応答を得られると期待される。
【0160】
秘匿化部611は、例えば、
図3の秘匿化部192等の機能を用いて実現することができる。秘匿化プロンプト発行部612は、例えば、
図3の秘匿化プロンプト発行部193等の機能を用いて実現することができる。
【0161】
<第三実施形態>
図13は、少なくとも1つの実施形態に係る推定装置の構成の、もう1つの例を示す図である。
図13に示す構成で、推定装置620は、推定部621を備える。
【0162】
かかる構成で、推定部621は、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、秘匿化の対象として検出された部分文字列の置き換えが行われていない第一文字列に対する応答である第四文字列を推定する。
推定部621は、推定手段の例に該当する。
【0163】
推定装置620によれば、秘匿化された第二文字列を用いて応答を取得することができ、秘匿化情報が第三者に漏洩する可能性を低減させることができる。かつ、推定装置620によれば、秘匿化の対象の情報に応じた応答を推定することができる。
推定部621は、例えば、
図4の推定部292等の機能を用いて実現することができる。
【0164】
<第四実施形態>
図14は、少なくとも1つの実施形態に係る表示装置の構成の例を示す図である。
図14に示す構成で、表示装置630は、表示部631を備える。
かかる構成で、表示部631は、第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示する。
【0165】
表示部631は、表示手段の例に該当する。
表示装置630によれば、ユーザは、第二文字列を参照して情報の秘匿化が適切に行われているか確認することができる。
表示部631は、例えば、
図3の第一表示部120等の機能を用いて実現することができる。
【0166】
<第五実施形態>
図15は、少なくとも1つの実施形態に係る表示装置の構成の、もう1つの例を示す図である。
図15に示す構成で、表示装置640は、表示部641を備える。
かかる構成で、表示部641は、第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、秘匿化の対象に該当する部分文字列の置き換えが行われていない第一文字列に対する応答である第四文字列を表示する。
【0167】
表示部641は、表示手段の例に該当する。
表示装置640によれば、ユーザは、推定された第四文字列を参照することができる。
表示部641は、例えば、
図4の第二表示部220等の機能を用いて実現することができる。
【0168】
<第六実施形態>
図16は、少なくとも1つの実施形態に係る推定システムの構成の例を示す図である。
図16に示す構成で、推定システム6590は、秘匿化部651と、推定部652とを備える。
【0169】
かかる構成で、秘匿化部651は、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する。推定部652は、第二文字列に対して応答された第三文字列に基づいて、秘匿化の対象として検出された部分文字列の置き換えが行われていない第一文字列に対する応答である第四文字列を推定する。
【0170】
推定システム650によれば、秘匿化された第二文字列を用いて応答を取得することができ、秘匿化情報が第三者に漏洩する可能性を低減させることができる。かつ、推定システム650によれば、秘匿化の対象の情報に応じた応答を推定することができる。
秘匿化部651は、例えば、
図3の秘匿化部192等の機能を用いて実現することができる。推定部652は、例えば、
図4の推定部292等の機能を用いて実現することができる。
【0171】
<第七実施形態>
図17は、少なくとも1つの実施形態に係る秘匿化方法における処理の手順の例を示す図である。
図17に示す秘匿化方法は、秘匿化を行うこと(ステップS611)と、秘匿化されたプロンプトを発行すること(ステップS612)とを含む。
【0172】
秘匿化を行うこと(ステップS611)では、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する。
秘匿化されたプロンプトを発行すること(ステップS612)では、コンピュータが、第二文字列を、第二文字列に対する応答を出力する装置に入力する。
【0173】
図17に示す秘匿化方法によれば、第二文字列に対する応答を出力する装置に対する入力文字列を、秘匿化の対象となっている情報が秘匿化された文字列とすることができる。これにより、
図17に示す秘匿化方法によれば、秘匿化の対象となっている情報が漏洩する可能性を低減させることができる。かつ、
図17に示す秘匿化方法によれば、秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられていることで、秘匿化の対象となっている情報に応じた応答を得られると期待される。
【0174】
<第八実施形態>
図18は、少なくとも1つの実施形態に係る推定方法における処理の手順の例を示す図である。
図18に示す推定方法は、推定を行うこと(ステップS621)を含む。
【0175】
推定を行うこと(ステップS621)では、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する。
【0176】
図18に示す推定方法によれば、秘匿化された第二文字列を用いて応答を取得することができ、秘匿化情報が第三者に漏洩する可能性を低減させることができる。かつ、
図18に示す推定方法によれば、秘匿化の対象の情報に応じた応答を推定することができる。
【0177】
<第九実施形態>
図19は、少なくとも1つの実施形態に係る推定方法における処理の手順の、もう1つの例を示す図である。
図19に示す推定方法は、秘匿化を行うこと(ステップS631)と、推定を行うこと(ステップS632)とを含む。
【0178】
秘匿化を行うこと(ステップS631)では、コンピュータが、第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する。
推定を行うこと(ステップS632)では、コンピュータが、第二文字列に対して応答された第三文字列に基づいて、秘匿化の対象として検出された部分文字列の置き換えが行われていない第一文字列に対する応答である第四文字列を推定する。
【0179】
図19に示す推定方法によれば、秘匿化された第二文字列を用いて応答を取得することができ、秘匿化情報が第三者に漏洩する可能性を低減させることができる。かつ、
図19に示す推定方法によれば、秘匿化の対象の情報に応じた応答を推定することができる。
【0180】
上述した秘匿化装置は、たとえば、患者の病状を表すカルテの情報から、患者に対して施す治療の方法や、患者に対して投与する薬を検索するシステムにおいても用いることができる。たとえば、カルテを電子的に管理している電子カルテシステムは、医者の指示によって、治療の方法や投与する薬を検索する検索システムに、電子カルテの情報を送信する。検索システムは、電子カルテの情報における文章を用いて、治療法や薬を検索するための第一文字列を作成し、作成した文字列を、上述したような推定システムに送信する。あるいは、検索システムは、上述したような推定システムを含んでいてもよい。検索システムは、推定システムから取得された第四文字列を、電子カルテステムに送信する。電子カルテシステムは、該第四文字列を受信し、受信した第四文字列を表示する。
【0181】
上述した秘匿化装置は、たとえば、ある犯罪体が起こした事件の推移を表す書類から、該犯罪体に対する量刑を検索するシステムにおいても用いることができる。たとえば、事件の推移を表す書類を電子的に管理している管理システムは、検察官、裁判官、弁護士の指示によって、量刑を検索する検索システムに、事件の推移を表す書類についての情報を送信する。検索システムは、事件の推移を表す書類における文章を用いて、量刑を検索するための第一文字列を作成し、作成した文字列を、上述したような推定システムに送信する。あるいは、検索システムは、上述したような推定システムを含んでいてもよい。検索システムは、推定システムから取得された第四文字列を、管理システムに送信する。管理システムは、該第四文字列を受信し、受信した第四文字列を表示する。
【0182】
上述した秘匿化装置は、たとえば、消費者の購入履歴から、該消費者に対して推奨する商品を検索するシステムにおいても用いることができる。たとえば、消費者の購入履歴を表す情報を電子的に管理している管理システムは、消費者に対して推奨する商品を検索する検索システムに、消費者の購入履歴の情報を送信する。検索システムは、消費者の購入履歴の情報における文章を用いて、消費者に対して推奨する商品を検索するための第一文字列を作成し、作成した文字列を、上述したような推定システムに送信する。あるいは、検索システムは、上述したような推定システムを含んでいてもよい。検索システムは、推定システムから取得された第四文字列を、管理システムに送信する。管理システムは、該第四文字列を受信し、受信した第四文字列を表示する。
【0183】
図20は、少なくとも1つの実施形態に係るコンピュータの構成の例を示す図である。
図20に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
【0184】
上記の秘匿化装置100、推定装置200、学習制御装置300、秘匿化装置610、推定装置620、表示装置630、表示装置640、および、推定システム650のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
【0185】
秘匿化装置100がコンピュータ700に実装される場合、第一制御部190およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0186】
また、CPU710は、プログラムに従って、第一記憶部180のための記憶領域を主記憶装置720に確保する。第一通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。第一表示部120による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。第一操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0187】
推定装置200がコンピュータ700に実装される場合、第二制御部290およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0188】
また、CPU710は、プログラムに従って、第二記憶部280のための記憶領域を主記憶装置720に確保する。第二通信部210による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。第二表示部220による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。第二操作入力部230によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0189】
学習制御装置300がコンピュータ700に実装される場合、第三制御部390およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0190】
また、CPU710は、プログラムに従って、第三記憶部380のための記憶領域を主記憶装置720に確保する。第三通信部310による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。第三表示部320による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。第三操作入力部330によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0191】
秘匿化装置610がコンピュータ700に実装される場合、秘匿化部611と、秘匿化プロンプト発行部612との動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0192】
また、CPU710は、プログラムに従って、秘匿化装置610が処理を行うための記憶領域を主記憶装置720に確保する。秘匿化装置610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。秘匿化装置610とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0193】
推定装置620がコンピュータ700に実装される場合、推定部621の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0194】
また、CPU710は、プログラムに従って、推定装置620が処理を行うための記憶領域を主記憶装置720に確保する。推定装置620と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。推定装置620とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0195】
表示装置630がコンピュータ700に実装される場合、表示装置630の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0196】
また、CPU710は、プログラムに従って、表示装置630が処理を行うための記憶領域を主記憶装置720に確保する。表示装置630と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示装置630とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0197】
表示装置640がコンピュータ700に実装される場合、表示装置640の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0198】
また、CPU710は、プログラムに従って、表示装置640が処理を行うための記憶領域を主記憶装置720に確保する。表示装置640と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示装置640とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0199】
推定システム650がコンピュータ700に実装される場合、秘匿化部651と、推定部652との動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0200】
また、CPU710は、プログラムに従って、推定システム650が処理を行うための記憶領域を主記憶装置720に確保する。推定システム650と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。推定システム650とユーザとのインタラクションは、インタフェース740が入力デバイスおよび出力デバイスを有し、CPU710の制御に従って出力デバイスにて情報をユーザに提示し、入力デバイスにてユーザ操作を受け付けることで実行される。
【0201】
上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
【0202】
なお、秘匿化装置100、推定装置200、学習制御装置300、秘匿化装置610、推定装置620、表示装置630、表示装置640、および、推定システム650が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0203】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0204】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0205】
(付記1)
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する秘匿化プロンプト発行手段と、
を備える秘匿化装置。
【0206】
(付記2)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換える、
付記1に記載の秘匿化装置。
【0207】
(付記3)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換える、
付記1に記載の秘匿化装置。
【0208】
(付記4)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換える、
付記1に記載の秘匿化装置。
【0209】
(付記5)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について学習されている、
付記4に記載の秘匿化装置。
【0210】
(付記6)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記4または付記5に記載の秘匿化装置。
【0211】
(付記7)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換える、
付記1に記載の秘匿化装置。
【0212】
(付記8)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換える、
付記1に記載の秘匿化装置。
【0213】
(付記9)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換える、
付記1に記載の秘匿化装置。
【0214】
(付記10)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について学習されている、
付記9に記載の秘匿化装置。
【0215】
(付記11)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記9または付記10に記載の秘匿化装置。
【0216】
(付記12)
前記秘匿化手段は、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換える、
付記1に記載の秘匿化装置。
【0217】
(付記13)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択する、
付記1に記載の秘匿化装置。
【0218】
(付記14)
前記秘匿化手段は、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用する、
付記1から付記13の何れか一つに記載の秘匿化装置。
【0219】
(付記15)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記1から付記14の何れか一つに記載の秘匿化装置。
【0220】
(付記16)
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段
を備える推定装置。
【0221】
(付記17)
前記推定手段は、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換える、
付記16に記載の推定装置。
【0222】
(付記18)
前記推定手段は、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換える、
付記17に記載の推定装置。
【0223】
(付記19)
前記推定手段は、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得する、
付記16に記載の推定装置。
【0224】
(付記20)
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示する表示手段
を備える表示装置。
【0225】
(付記21)
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、前記秘匿化の対象に該当する部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を表示する表示手段
を備える表示装置。
【0226】
(付記22)
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成する秘匿化手段と、
前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する推定手段と、
を備える推定システム。
【0227】
(付記23)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換える、
付記22に記載の推定システム。
【0228】
(付記24)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換える、
付記22に記載の推定システム。
【0229】
(付記25)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換える、
付記22に記載の推定システム。
【0230】
(付記26)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について学習されている、
付記25に記載の推定システム。
【0231】
(付記27)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記25または付記26に記載の推定システム。
【0232】
(付記28)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換える、
付記22に記載の推定システム。
【0233】
(付記29)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換える、
付記22に記載の推定システム。
【0234】
(付記30)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換える、
付記22に記載の推定システム。
【0235】
(付記31)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について学習されている、
付記30に記載の推定システム。
【0236】
(付記32)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記30または付記31に記載の推定システム。
【0237】
(付記33)
前記秘匿化手段は、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換える、
付記22に記載の推定システム。
【0238】
(付記34)
前記秘匿化手段は、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択する、
付記22に記載の推定システム。
【0239】
(付記35)
前記秘匿化手段は、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用する、
付記22から付記34の何れか一つに記載の推定システム。
【0240】
(付記36)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記22から付記35の何れか一つに記載の推定システム。
【0241】
(付記37)
前記推定手段は、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換える、
付記22から36の何れか一つに記載の推定システム。
【0242】
(付記38)
前記推定手段は、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換える、
付記22から37の何れか一つに記載の推定システム。
【0243】
(付記39)
前記推定手段は、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得する、
付記22から36の何れか一つに記載の推定システム。
【0244】
(付記40)
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力する、
ことを含む秘匿化方法。
【0245】
(付記41)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換える、
付記40に記載の秘匿化方法。
【0246】
(付記42)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換える、
付記40に記載の秘匿化方法。
【0247】
(付記43)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換える、
付記40に記載の秘匿化方法。
【0248】
(付記44)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について学習されている、
付記43に記載の秘匿化方法。
【0249】
(付記45)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記43または付記44に記載の秘匿化方法。
【0250】
(付記46)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換える、
付記40に記載の秘匿化方法。
【0251】
(付記47)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換える、
付記40に記載の秘匿化方法。
【0252】
(付記48)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換える、
付記40に記載の秘匿化方法。
【0253】
(付記49)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について学習されている、
付記48に記載の秘匿化方法。
【0254】
(付記50)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記48または付記49に記載の秘匿化方法。
【0255】
(付記51)
前記第二文字列を生成することでは、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換える、
付記40に記載の秘匿化方法。
【0256】
(付記52)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択する、
付記40に記載の秘匿化方法。
【0257】
(付記53)
前記第二文字列を生成することでは、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用する、
付記40から付記52の何れか一つに記載の秘匿化方法。
【0258】
(付記54)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記40から付記53の何れか一つに記載の秘匿化方法。
【0259】
(付記55)
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する
ことを含む推定方法。
【0260】
(付記56)
前記推定することでは、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換える、
付記55に記載の推定方法。
【0261】
(付記57)
前記推定することでは、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換える、
付記56に記載の推定方法。
【0262】
(付記58)
前記推定することでは、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得する、
付記57に記載の推定方法。
【0263】
(付記59)
コンピュータが、
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示すること
を含む表示方法。
【0264】
(付記60)
コンピュータが、
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、前記秘匿化の対象に該当する部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を表示すること
を含む表示方法。
【0265】
(付記61)
コンピュータが、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、
前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定する、
ことを含む推定方法。
【0266】
(付記62)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換える、
付記61に記載の推定方法。
【0267】
(付記63)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換える、
付記61に記載の推定方法。
【0268】
(付記64)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換える、
付記61に記載の推定方法。
【0269】
(付記65)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について学習されている、
付記64に記載の推定方法。
【0270】
(付記66)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記64または付記65に記載の推定方法。
【0271】
(付記67)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換える、
付記61に記載の推定方法。
【0272】
(付記68)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換える、
付記61に記載の推定方法。
【0273】
(付記69)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換える、
付記61に記載の推定方法。
【0274】
(付記70)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について学習されている、
付記69に記載の推定方法。
【0275】
(付記71)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得する、
付記69または付記70に記載の推定方法。
【0276】
(付記72)
前記第二文字列を生成することでは、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換える、
付記61に記載の推定方法。
【0277】
(付記73)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択する、
付記61に記載の推定方法。
【0278】
(付記74)
前記第二文字列を生成することでは、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用する、
付記61から付記73の何れか一つに記載の推定方法。
【0279】
(付記75)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記61から付記74の何れか一つに記載の推定方法。
【0280】
(付記76)
前記推定することでは、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換える、
付記61から75の何れか一つに記載の推定方法。
【0281】
(付記77)
前記推定することでは、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換える、
付記61から76の何れか一つに記載の推定方法。
【0282】
(付記78)
前記推定することでは、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得する、
付記61から77の何れか一つに記載の推定方法。
【0283】
(付記79)
コンピュータに、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成することと、
前記第二文字列を、前記第二文字列に対する応答を出力する装置に入力することと、
を実行させるプログラム。
【0284】
(付記80)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換えること、
を実行させる、付記79に記載のプログラム。
【0285】
(付記81)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換えること、
を実行させる、付記79に記載のプログラム。
【0286】
(付記82)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換えること、
を実行させる、付記79に記載のプログラム。
【0287】
(付記83)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について学習されている、
付記82に記載のプログラム。
【0288】
(付記84)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得すること、
を実行させる、付記82または付記83に記載のプログラム。
【0289】
(付記85)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換えること、
を実行させる、付記79に記載のプログラム。
【0290】
(付記86)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換えること、
を実行させる、付記79に記載のプログラム。
【0291】
(付記87)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換えること、
を実行させる、付記79に記載のプログラム。
【0292】
(付記88)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について予め学習されている、
付記87に記載のプログラム。
【0293】
(付記89)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得すること、
を実行させる、付記87または付記88に記載のプログラム。
【0294】
(付記90)
前記第二文字列を生成することでは、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換えること、
を実行させる、付記79に記載のプログラム。
【0295】
(付記91)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択すること、
を実行させる、付記79に記載のプログラム。
【0296】
(付記92)
前記第二文字列を生成することでは、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用すること、
を実行させる、付記79から付記91の何れか一つに記載のプログラム。
【0297】
(付記93)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記79から付記92の何れか一つに記載のプログラム。
【0298】
(付記94)
コンピュータに、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定すること
を実行させるプログラム。
【0299】
(付記95)
前記推定することでは、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換えること、
を実行させる、付記94に記載のプログラム。
【0300】
(付記96)
前記推定することでは、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換えること、
を実行させる、付記95に記載のプログラム。
【0301】
(付記97)
前記推定することでは、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得すること、
を実行させる、付記96に記載のプログラム。
【0302】
(付記98)
コンピュータに、
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列を表示すること
を実行させるプログラム。
【0303】
(付記99)
コンピュータに、
第一文字列のうち秘匿化の対象に該当する部分文字列が他の部分文字列に置き換えられた第二文字列に対する応答である第三文字列に基づいて推定された、前記秘匿化の対象に該当する部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を表示すること
を実行させるプログラム。
【0304】
(付記100)
コンピュータに、
第一文字列のうち秘匿化の対象として検出された部分文字列が他の部分文字列に置き換えられた第二文字列を生成し、
前記第二文字列に対して応答された第三文字列に基づいて、前記秘匿化の対象として検出された部分文字列の置き換えが行われていない前記第一文字列に対する応答である第四文字列を推定すること、
を実行させるプログラム。
【0305】
(付記101)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に置き換えること、
を実行させる、付記100に記載のプログラム。
【0306】
(付記102)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列が付加された文字列のハッシュ値に置き換えること、
を実行させる、付記100に記載のプログラム。
【0307】
(付記103)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列のハッシュ値に所定の文字列が付加された部分文字列に置き換えること、
を実行させる、付記100に記載のプログラム。
【0308】
(付記104)
前記第二文字列の入力を受けて前記応答を出力する装置が、ハッシュ値に付加する前記所定の文字列について予め学習されている、
付記103に記載のプログラム。
【0309】
(付記105)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得すること、
を実行させる、付記103または付記104に記載のプログラム。
【0310】
(付記106)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた部分文字列に置き換えること、
を実行させる、付記100に記載のプログラム。
【0311】
(付記107)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列に乱数による文字列を付加した文字列を暗号化して得られた部分文字列に置き換えること、
を実行させる、付記100に記載のプログラム。
【0312】
(付記108)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、その部分文字列を暗号化して得られた文字列に所定の文字列を付加した部分文字列に置き換えること、
を実行させる、付記100に記載のプログラム。
【0313】
(付記109)
前記第二文字列の入力を受けて前記応答を出力する装置が、暗号化された文字列に付加されている前記所定の文字列について予め学習されている、
付記100に記載のプログラム。
【0314】
(付記110)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列を、学習済みの機械学習モデルに入力して、前記所定の文字列を取得すること、
を実行させる、付記108または付記109に記載のプログラム。
【0315】
(付記111)
前記第二文字列を生成することでは、前記第一文字列に含まれている単語のうち秘匿化の対象として検出された単語を、その単語と同じ品詞の単語に置き換えること、
を実行させる、付記100に記載のプログラム。
【0316】
(付記112)
前記第二文字列を生成することでは、前記第一文字列のうち前記秘匿化の対象として検出された部分文字列の特徴ベクトルを生成し、生成した特徴ベクトルに基づいて、置き換え先の部分文字列の候補のうち何れかを選択すること、
を実行させる、付記100に記載のプログラム。
【0317】
(付記113)
前記第二文字列を生成することでは、前記第一文字列の部分文字列の置き換えとして、プライバシーの保護基準として定められている基準を満たすような置き換えを採用すること、
を実行させる、付記100から付記112の何れか一つに記載のプログラム。
【0318】
(付記114)
前記第二文字列に対する応答を出力する装置は、前記第二文字列と、前記第一文字列に対するその装置の出力として所望される文字列に対して前記秘匿化手段が部分文字列の置き換えをおこなった文字列とを用いて訓練されている、
付記100から付記113の何れか一つに記載のプログラム。
【0319】
(付記115)
前記推定することでは、前記第三文字列の部分文字列のうち、部分文字列の置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている部分文字列に置き換えること、
を実行させる、付記100から114の何れか一つに記載のプログラム。
【0320】
(付記116)
前記推定することでは、部分文字列の置き換え規則にて、置き換え先の1つの文字列に対して置き換え前の文字列が複数ある場合、前記第三文字列の部分文字列のうち、その置き換え規則にて置き換え先の文字列として指定されている部分文字列を、置き換え前の文字列として指定されている複数の文字列のうち何れか一つに置き換えること、
を実行させる、付記100から115の何れか一つに記載のプログラム。
【0321】
(付記117)
前記推定することでは、秘匿化の対象として検出された部分文字列の置き換え前の文字列である第五文字列と、置き換え後の文字列である第六文字列と、その第六文字列の入力に対する応答である第七文字列とを含むデータを入力データとし、その第五文字列に対する応答である第八文字列を正解データとする訓練データを用いて訓練された機械学習モデルに、前記第一文字列と、前記第二文字列と、前記第三文字列とを含むデータを入力して、前記第四文字列の推定値を取得すること、
を実行させる、付記100から116の何れか一つに記載のプログラム。
【符号の説明】
【0322】
1 推定システム
2、3 学習システム
100 秘匿化装置
110 第一通信部
120 第一表示部
130 第一操作入力部
180 第一記憶部
190 第一制御部
191 プロンプト取得部
192 秘匿化部
193 秘匿化プロンプト発行部
200 推定装置
210 第二通信部
220 第二表示部
230 第二操作入力部
280 第二記憶部
290 第二制御部
291 応答取得部
292 推定部
293 理想応答出力部
300 学習制御装置
310 第三通信部
320 第三表示部
330 第三操作入力部
380 第三記憶部
390 第三制御部
391 訓練データ取得部
392 学習制御部
910 応答装置