特許第6298583号(P6298583)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

特許6298583個人情報の保護方法、電子機器、およびコンピュータ・プログラム
<>
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000002
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000003
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000004
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000005
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000006
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000007
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000008
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000009
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000010
  • 特許6298583-個人情報の保護方法、電子機器、およびコンピュータ・プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6298583
(24)【登録日】2018年3月2日
(45)【発行日】2018年3月20日
(54)【発明の名称】個人情報の保護方法、電子機器、およびコンピュータ・プログラム
(51)【国際特許分類】
   H04L 9/14 20060101AFI20180312BHJP
   H04L 9/32 20060101ALI20180312BHJP
   G06F 21/62 20130101ALI20180312BHJP
   G06F 3/16 20060101ALI20180312BHJP
【FI】
   H04L9/00 641
   H04L9/00 673C
   G06F21/62 345
   G06F3/16 690
   G06F3/16 650
【請求項の数】5
【全頁数】16
(21)【出願番号】特願2016-140413(P2016-140413)
(22)【出願日】2016年7月15日
(65)【公開番号】特開2018-11262(P2018-11262A)
(43)【公開日】2018年1月18日
【審査請求日】2016年7月15日
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
(72)【発明者】
【氏名】河野 誠一
【審査官】 青木 重徳
(56)【参考文献】
【文献】 国際公開第2012/127987(WO,A1)
【文献】 特開2011−221237(JP,A)
【文献】 特開2015−200972(JP,A)
【文献】 秋山 陽一郎,今だからこそ! 日本語IMEを見直そう,漢字文▲献▼情報▲処▼理研究,日本,株式会社好文出版,2008年10月 1日,第9号,pp.52−60
【文献】 今田 美幸 ほか,ソーシャルネットワーキングサービスを前提としたプライバシー侵害検出,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,2008年10月16日,Vol.108、No.258,pp.71−76
【文献】 村本 俊祐 ほか,背景知識を用いた推測を困難にしデータ歪曲度を極小化するプライバシー保護手法,電子情報通信学会 第19回データ工学ワークショップ論文集,日本,電子情報通信学会データ工学研究専門委員会,2008年 4月 7日,C1−4,pp.1−8
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/14
G06F 3/16
G06F 21/62
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
文字入力支援サーバが蓄積する個人情報を保護する方法であって、
ユーザが入力した入力文字列をクライアントがアバタに送るステップと、
前記アバタが前記入力文字列を前記文字入力支援サーバに送るステップと、
前記アバタが前記文字入力支援サーバから受け取った前記入力文字列に対する変換候補を前記クライアントに送るステップと、
前記アバタがあらかじめユーザが隠蔽レベルを設定した隠蔽クラスに帰属する単語を前記入力文字列から抽出して同じ概念の単語で置換し前記入力文字列に対する擬似文字列を生成するステップと、
前記アバタが前記擬似文字列を前記文字入力支援サーバに送るステップと
を有する方法。
【請求項2】
クライアントに対する入力文字列の入力に関連する個人情報を保護する電子機器であって、
前記入力文字列をサイバー空間に出力し、前記サイバー空間から受け取った前記入力文字列に対する変換候補を前記クライアントに出力する入出力部と、
ユーザが前記個人情報の隠蔽レベルを設定するための隠蔽クラスを定義したクラス設定部と
前記入力文字列から前記隠蔽レベルで設定された隠蔽クラスに属する単語を隠蔽単語として抽出する隠蔽単語抽出部と
前記隠蔽単語に概念が類似する擬似単語を取得する擬似単語取得部と、
前記隠蔽単語を前記擬似単語で修正した擬似文字列を生成して前記サイバー空間に出力する代理処理部と
を有する電子機器。
【請求項3】
前記代理処理部が、相互に異なる複数の前記擬似文字列を出力する請求項2に記載の電子機器。
【請求項4】
クライアントおよび文字入力支援サーバと通信が可能なコンピュータに
前記クライアントから受け取った入力文字列を前記文字入力支援サーバに送る機能と
前記文字入力支援サーバから受け取った前記入力文字列に対する変換候補を前記クライアントに送る機能と、
あらかじめユーザが隠蔽レベルを設定した隠蔽クラスに帰属する単語を前記入力文字列から抽出して同じ概念の単語で置換し前記入力文字列に対する擬似文字列を生成する機能と、
前記擬似文字列を前記文字入力支援サーバに送る機能と
を実現させるためのコンピュータ・プログラム。
【請求項5】
請求項4に記載のコンピュータ・プログラムを記憶した記憶装置を有するコンピュータ
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サイバー空間に提供する個人情報を保護する技術に関する。
【背景技術】
【0002】
近年、ユーザがクラウドからさまざまなサービスの提供受けるようになってきた。たとえば、Amazon(登録商標)社では、Echoという音声認識応答装置と、さらにはロジスティックスとしてのドローン技術を組み合わせて、ユーザが話しかけるだけで、物品を購入できるサービスを開始している。また、特定のWebブラウザやWebメール・サービスの利用に応じて、訪問したサイトやメールの内容から当該ユーザの嗜好を推測して関連する広告を提供するサービスも存在する。さらに、さまざまな店舗でポイント・カードを利用して商品を購入することでポイントを貯めることができる。
【0003】
クラウドのサービスを利用するためにユーザは、個人情報をサイバー空間に提供する必要がある。個人情報はさまざまな状態でサイバー空間に保存され、さらに散在していた断片的な個人情報が結合されて財産的な価値を生み、ユーザが意識しないままに転用、転売されたり、盗用されたりする危険を有する。たとえば、特定の物品を購入すると関連する物品の広告が、Webブラウザに表示されたり、Webメールで送られてきたりする背景には第3者による個人情報の収集がある。
【0004】
特許文献1は、利用者が自己の個人情報を取引ごとにその相手方である販売店に開示しないでネットワークで取引をすることを可能にし、かつ、販売店は利用者の個人情報を必要としないで安全な取引を行う電子商取引システムを開示する。同システムは、利用者装置と販売店装置の間に介在する取引仲介サーバを利用する。特許文献2は、オンライン・サービスにおいて個人情報を匿名化する方法を開示する。同文献には、社員の情報を企業が個人情報を匿名化する初期IDと、カウンセリングに関する個人情報を匿名化するログインIDと、ID管理業者のID管理サーバとで匿名化することを記載する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−117264号公報
【特許文献2】特開2004−334433号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
サイバー空間のサービスの利用には、個人情報の提供による情報漏洩のリスクという代償を伴う。ユーザにとってサイバー空間に提供する個人情報をサービスに必要な最小限の範囲に留めることができれば個人情報を保護する上で都合がよい。一般的に、提供する個人情報が少ないほど、受け取るサービスの質が低下する。したがって、できるだけサービスが低下しないようにしながら個人情報を保護する必要がある。またユーザが自ら、受け取るサービスの質と個人情報の保護の程度を調和させることができれば一層都合がよい。また、個人情報の保護は、ユーザが意識しないで実現できることが望ましい。本発明の目的はこのような課題を解決することにある。
【課題を解決するための手段】
【0007】
本発明は、クライアントがサイバー空間に提供する個人情報の保護に関する。サイバー空間に真正な個人情報を提供する。さらに、真正な個人情報に関連する擬似的な個人情報を生成してサイバー空間に提供する。さらに、サイバー空間から真正な個人情報に対する応答を受け取る。一例において真正な個人情報と擬似的な個人情報の提供先を文字入力支援サービスとしたときに、真正な個人情報はクライアントにユーザが入力した入力文字列とすることができる。
【0008】
このとき擬似的な個人情報が、入力文字列の一部を変更して生成した複数の擬似文字列とすることができる。このとき、擬似文字列は、入力文字列から抽出した単語を同じ概念の単語で置換して生成することができる。このとき単語は、あらかじめユーザが隠蔽レベルを設定したクラスに帰属する単語のなかから抽出することができる。
【0009】
他の例において真正な個人情報と擬似的な個人情報の提供先を音声入力支援サービスとしたときに、真正な個人情報をクライアントにユーザが入力した音声のテキストとすることができる。このとき、擬似的な個人情報を、テキストを読み上げた合成音声とすることができる。さらに、音声入力支援サービスに、ユーザの会話ごとに異なる音質でテキストを読み上げた合成音声を提供することができる。さらに他の例において真正な個人情報と擬似的な個人情報の提供先をWebサイトとしたときに、真正な個人情報をWebサイトのオブジェクトに対するユーザの選択操作を示すデータとすることができる。このとき擬似的な個人情報を、Webサイトのユーザが選択操作しないオブジェクトに対する選択操作を示すデータとすることができる。
【発明の効果】
【0010】
本発明により、以下の1つまたは複数の効果を奏することができた。本発明により、サイバー空間に真正な個人情報を提供しながら、個人情報を保護することができた。本発明により、サイバー空間のサービスを利用しながら、個人情報を保護することができた。本発明によりユーザが、受け取るサービスの質と個人情報の保護の程度を調和させることができた。本発明により、ユーザに意識させないで個人情報を保護することができた。
【図面の簡単な説明】
【0011】
図1】本発明の実行環境10の一例を説明するための図である。
図2】文字入力支援サーバ21に提供する個人情報を保護するためのアバタ200の構成を示す概略の機能ブロック図である。
図3】アバタ200が入力文字列151を処理するときの様子を説明するための図である。
図4】クラス・テーブル107aのデータ構造の一例を説明するための図である。
図5】アバタ200の動作を説明するためのフローチャートである。
図6】入力文字列151が含む個人情報を擬似文字列161〜167が希釈化する様子を概念的に説明するための図である。
図7】音声入力支援サーバ31に提供する個人情報を保護するためのアバタ300の構成を示す概略の機能ブロック図である。
図8】アバタ300の動作を説明するためのフローチャートである。
図9】Webサーバ41に提供する個人情報を保護するためのアバタ500の構成を説明するための機能ブロック図である。
図10】アバタ500の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【0012】
[個人情報]
最初に個人情報について説明する。個人特定情報(personal identifiable information)は、社会的または物理的な存在としての人物の特定に有用な情報をいう。個人特定情報は、一例として、顔写真、指紋、および声紋などの生体情報、IPアドレス、MACアドレス、サービス・アカウント、およびユーザ・エージェントなどのユーザが専用に使用する情報端末に付随する情報、および住所、氏名、生年月日、電話番号、およびメール・アドレスなどの人物の特定に有用な周辺情報などを挙げることができる。個人特定情報は、情報が多いほど特定の精度が向上する。
【0013】
プライバシー情報は、趣味、嗜好などの属人的な情報、現在の滞在場所、取引銀行、口座番号、パスワードなどのセキュリティに関する情報、および家族構成、生活環境、および所属団体などの周辺情報などを含む他人に知られたくない一切の情報をいう。個人に関する情報には、個人特定情報とプライバシー情報のいずれの範疇にも入るものが存在する。個人に関する情報は、個人特定情報とプライバシー情報が結びついたときに財産価値が生じてくるとともに保護が必要になる。本明細書では、個人特定情報とプライバシー情報が結合された情報を個人情報という。
【0014】
サイバー空間にアクセスするユーザは、無意識な場合も含めて通常何らかの個人情報を提供する。サイバー空間に提供する個人情報を少なくすることは、個人情報を保護する上で有益である。しかし、提供する個人情報が多いほどサイバー空間からより有益なサービスを受けることができるため、ユーザはリスクを念頭におきながらサイバー空間に対して相応の個人情報を提供している。また、サイバー空間のさまざまな場所に断片的に残る複数の個人情報は、正当な方法または不正な方法で第3者により結合される可能性もある。
【0015】
このことは、個人情報がサイバー空間に提供する量を少なくするだけでは十分に保護できないことを物語る。個人情報が個人特定情報とプライバシー情報の結合体であることを鑑みたときに、サイバー空間に提供する個人特定情報とプライバシー情報の結びつきを弱める方法が考えられる。たとえば、電子取引で商品を購入するために住所や氏名などの個人特定情報の提供が必要な場合は、同時に第3者にプライバシー情報を取得されないようにすることは有効である。
【0016】
プライバシー情報を少なくすることは、取得されないようにすることの1つの方法であるが、ここでは、正確な個人特定情報に結合された正確なプライバシー情報だけが保護する価値があることに着目する。ユーザが生成した真正なプライバシー情報は、同時にサイバー空間に提供する擬似的なプライバシー情報で隠蔽することができる。サイバー空間に真正な個人特定情報に関連付けられた真正なプライバシー情報が残っていても、同時に同じ真正な個人特定情報に関連付けられた擬似的なプライバシー情報も残っていると、真正なプライバシー情報が希釈化される。個人特定情報も同様に擬似的な情報で希釈化することができる。
【0017】
[実行環境]
図1は、本発明の実行環境10の一例を説明するための図である。複数のクライアント11は、ラップトップ型パーソナル・コンピュータ、デスクトップ型パーソナル・コンピュータ、スマートフォン、またはタブレット端末などの、インターネットを含むサイバー空間15にアクセスが可能な情報端末装置である。アバタ100は、クライアント11とサイバー空間15を中継してユーザの個人情報を保護する。各クライアント11をそれぞれ特定のユーザが所有する場合、クライアント11のIPアドレスやMACアドレスは個人特定情報になる。
【0018】
一例としてアバタ100は、複数のクライアント11の個人情報を保護するようにクライアント11の外に設けることができる。この場合のアバタ100は、イントラネットやVPN(Virtual Private Network)でクライアント11とセキュアに接続したサーバとすることができる。他の例においてアバタ100をソフトウェアで構成して、各クライアント11に実装することができる。アバタ100がクライアント11の内部に構築されていれば、ユーザは個人情報を保護する上で最も安心できる。
【0019】
クライアント11に設けるソフトウェアは、クライアント11の記憶装置に格納してもよいし実行時にネットワークを通じてダウンロードしてもよい。アバタ100は、サイバー空間15にユーザの真正な個人情報を提供してサービスを享受できるようにしながら、当該真正な個人情報を擬似的な個人情報で隠す。アバタ100は、クライアント11にとって個人情報が漏えいする恐れがない信頼できる存在である。
【0020】
データ・ベース・サーバ13は、単語を意味上の概念で階層化して分類したシソーラスのような辞書を格納する。データ・ベース・サーバ13は、クライアント11にとって個人情報が漏えいする恐れがない信頼できる存在である。データ・ベース・サーバ13は、クライアント11に実装してもよい。サイバー空間15は、一例として、それぞれクライアント11が個人情報を提供してアクセスする文字入力支援サーバ21、音声入力支援サーバ31およびWebサーバ41を含んでいる。
【0021】
[文字入力支援サーバへの適用]
クライアント11が、文字入力支援サーバ21を利用するときの個人情報の保護について説明する。文字入力支援サーバ21は、Windows(登録商標)10の日本語IME(Input Method Editor)のような予測変換サービスをクラウド環境で行う。文字入力支援サーバ21は、クライアント11から受け取った先行するいくつかの入力文字(入力文字列)から、後続の文字列を含めたユーザが入力しようとするさらに長い文字列を予測して予測変換候補を返答する。
【0022】
いまクライアント11が、アバタ200を経由しないで、メールの作成やWebサイトの検索をする場合を説明する。クライアント11が入力した文字列は、文字入力支援サーバ21に送られる。文字入力支援サーバ21は、ユーザごとに適切な予測変換候補を探すために過去の履歴を蓄積している。通常、文字入力支援サーバ21を運営する企業は、個人情報を公開しないことを約束するが、文字入力支援サーバ21に入力文字列の履歴が残ることは個人情報が漏洩するリスクになる。
【0023】
文字入力支援サーバ21の学習の精度が高まるほど、ユーザは一部の文字列を入力するだけで、意図する正確な文字列を予測変換候補として受け取ることができる。たとえば、文字入力支援サーバ21のサービスを利用しながら、「わたしのこどもはりんごとみかんがすきだ。」という文字列を入力して「私の子供はリンゴとみかんが好きだ。」という文を作成すると、つぎに「わたしは」と入力するだけで、同じ回答の文が予測変換候補として返答されてくる。
【0024】
文字入力支援サーバ21は、ユーザごとに入力履歴を学習して記憶するため、同じ入力文字列を受け取ってもユーザごとに適した予測変換候補を返答することができる。文字入力支援サーバ21の学習が進むほどユーザにとって利便性が高まるが、ユーザの趣味や嗜好などに関するプライバシー情報と個人特定情報が結びついた状態で蓄積される。
【0025】
図2は、アバタ100の一例であるアバタ200の構成を示す概略の機能ブロック図である。図3は、アバタ200が入力文字列151を処理するときの様子を説明するための図である。アバタ200は、クライアント11とサイバー空間15の間に位置する。アバタ200は、クライアント11に導入するソフトウェアで実現することもできる。入出力部101は、有線または無線でクライアントおよびサイバー空間15と接続するインターフェースを含む。
【0026】
アバタ100をクライアント11に実装する場合は、入出力部101はクライアント11のネットワーク・インターフェースを利用することができる。外部に設けたアバタ100において入出力部101は、文字入力支援サーバ21のサービスを受けるためのソフトウェアを含む。入出力部101は、クライアント11から受け取ったパケットが含む入力文字列151を抽出する。入出力部101は、抽出した入力文字列151を含む自らのパケットを生成して文字入力支援サーバ21に出力する。
【0027】
入出力部101は、さらに、入力文字列151を隠蔽単語抽出部105に渡す。一例において隠蔽単語抽出部105は、入力文字列151からクラス設定部107を参照して隠蔽単語を抽出する。隠蔽単語は、個人情報を構成する可能性がある単語に相当する。クラス設定部107は、ユーザが個人情報の隠蔽レベルを設定するための隠蔽クラスを定義したクラス・テーブル107aを備える。
【0028】
図4にクラス・テーブル107aのデータ構造の一例を示す。クラス・テーブル107aには、ユーザIDごとに個人情報を階層化した隠蔽クラスが定義されている。隠蔽クラスは、概念的に類似する個人情報のグループに相当する。ユーザはあらかじめアバタ200が設定したレベル1〜3のいずれかの選択により、または自らによる隠蔽クラスごとの選択により隠蔽レベルを設定することができる。
【0029】
隠蔽単語抽出部105は、隠蔽レベルで設定された隠蔽クラスに属する単語を隠蔽単語と認定する。クラス・テーブル107aでは、隠蔽レベルが高いほど入力文字列151からより多くの隠蔽単語が抽出されるようになっている。隠蔽単語抽出部105は、隠蔽単語に制御コードSEQを付した入力文字列153を生成して擬似単語取得部107に転送する。
【0030】
擬似単語取得部107は、制御コードSEQで特定された隠蔽単語を置換するための擬似単語をデータ・ベース・サーバ13から取得して、入力文字列153とともに各代理処理部121に転送する。代理処理部121は、一例として4つの代理処理部121a〜121dで構成しているが、代理処理部121の数は特に限定しない。各代理処理部121a〜121dは、入力文字列153の制御コードSEQに、擬似単語取得部107から受け取った擬似単語を挿入して生成した相互に異なる擬似文字列161〜167を、入出力部101から文字入力支援サーバ21に出力する。
【0031】
図5は、アバタ200の動作を説明するためのフローチャートである。ブロック201で、クライアント11は文字入力支援サーバ21を利用するソフトウェアを実行する。ユーザがクライアント11に、メール、書類の作成、Webサイトの検索などをするために文字列を入力する。入力文字列151は、単語、文節、または文を単位とする複数の文字で構成される。ここではユーザが、「わたしのこどもはりんごとみかんがすきだ。」という文の入力文字列151を入力して変換キーを押す場合を例示して説明する。変換キーは、単語、または文節の単位で押下される場合もあるが同様の手順で処理できる。
【0032】
クライアント11が出力する入力文字列151のパケットは、一例としてユーザが変換キーを押下するたびにクライアント11のIPアドレス、MACアドレス、およびユーザ・エージェントなどの個人特定情報とともにアバタ200に送られる。ブロック203で入出力部101は、入力文字列151のパケットを受信して入力文字列151を隠蔽単語抽出部105に渡す。このとき入出力部101は、クライアント11の送信元IPアドレス、およびMACアドレスを記憶する。
【0033】
ブロック205で入出力部101は、一例において、入力文字列151を含む自ららのパケットを生成して、文字入力支援サーバ21に出力する。入出力部101は送出するパケットから、クライアント11のIPアドレス、MACアドレス、およびユーザ・エージェントなどの個人特定情報を削除する。さらにクライアント11から受け取ったパケットが、文字入力支援サーバ21からクライアント11が受け取っていたクライアント11の識別子や位置情報を含む場合は送出するパケットからそれらも削除する。
【0034】
この時点で、アバタ200は、クライアント11に成り代わるため、文字入力支援サーバ21からはクライアント11の個人特定情報がみえない。ただし、入力文字列は、ユーザの真正な個人情報として文字入力支援サーバ21に送られる。ブロック207で文字入力支援サーバ21は、アバタ200を宛先とするパケットで入力文字列151に対する予測変換候補を返送する。アバタ200は受け取ったパケットのペイロードを自らのパケットに含めてクライアント11に送る。
【0035】
ブロック209で隠蔽単語抽出部105は、入力文字列151から隠蔽単語の候補を抽出する。一例において、隠蔽単語抽出部105は、自然言語の文字列から品詞を特定する形態素解析(Morphological Analysis)により入力文字列151から名詞や動詞を抽出する。このとき隠蔽単語抽出部105は、サイバー空間15のWebサービスが提供するテキスト分類(Text Classification)のような自然言語処理の手法を利用して、入力文字列151から名詞や動詞に相当する単語を抽出することもできる。
【0036】
隠蔽単語抽出部105は一例において、入力文字列151から、「わたし」、「こども」、「りんご」、「みかん」という名詞の単語を隠蔽単語の候補として抽出する。隠蔽単語抽出部105は、動詞の単語だけあるいは名詞の単語に加えて動詞の単語を隠蔽単語の候補として抽出するようにしてもよい。ブロック211で隠蔽単語抽出部105は、抽出した単語が帰属するクラス・テーブル107aの隠蔽クラスを調べる。このとき隠蔽単語抽出部105は、データ・ベース・サーバ13を参照して抽出した単語が帰属する隠蔽クラスを特定することができる。また隠蔽単語抽出部105は、入力文字列151から、「すきだ」という動詞を抽出して名詞の単語が帰属する隠蔽クラスの認識に利用することができる。
【0037】
たとえば、「りんご」という単語は、入力文字列が「送金する」といった動詞を含む場合はセキュリティの隠蔽クラスに属すると判断し、「おいしい」という動詞を含む場合は嗜好の隠蔽クラスに属すると判断することができる。隠蔽単語抽出部105は、抽出した単語が帰属する隠蔽クラスがクラス・テーブル107aに隠蔽レベルとして設定されている場合は、当該単語を隠蔽単語と認定する。ここでは、「りんご」、と「みかん」が設定された隠蔽クラスに属する隠蔽単語であると想定する。
【0038】
ブロック213で隠蔽単語抽出部105は、隠蔽単語に制御コードSEQ01、SEQ02付した文字列153を擬似単語取得部107に送る。擬似単語取得部107は、制御コードSEQ01、SEQ02で特定された隠蔽単語に概念が類似する擬似単語の組を代理処理部121の数だけ取得する。一例において擬似単語は個人情報を希釈化するために、上位概念が同一のグループに属する単語の範囲から選択することができる。擬似単語取得部107は、隠蔽単語の上位概念が含む複数の単語を、データ・ベース・サーバ13またはサイバー空間15から取得することができる。
【0039】
一例において擬似単語取得部107は、隠蔽単語の「りんご」、および「みかん」の上位概念を果物と認識し、同じ上位概念に含まれかつ隠蔽単語とは異なる「かき」、「もも」などの複数の擬似単語を取得する。擬似単語取得部107は、文字列153と隠蔽単語に対応する制御コードSEQ01、SEQ02付した擬似単語の組を代理処理部121に送る。このとき擬似単語取得部107は、各代理処理部121が異なる擬似文字列を作成できるように相互に異なる擬似単語の組を送ることができる。
【0040】
ブロック215で代理処理部121a〜121dは、それぞれ受け取った擬似単語を入力文字列153の制御コードSEQで指定された位置に挿入して一例として擬似文字列161〜167を生成する。ブロック217で代理処理部121a〜121dは、入出力部101を通じて擬似文字列161〜167を送信する。入出力部101は、先に送信した入力文字列151と区別するために必要に応じて擬似文字列161〜167に識別子を付加することができる。ブロック219で文字入力支援サーバ21は、アバタ200を宛先として擬似文字列161〜167に対する予測変換候補を出力する。ブロック221で入出力部101は、擬似文字列161〜167に対応する予測変換候補を破棄し、ブロック201に戻って後続の入力文字列を処理する。
【0041】
上記の手順によれば、クライアント11は、入力文字列151に対する予測変換候補を受け取りながら、文字入力支援サーバ21に残す個人情報の希釈化を図ることができる。アバタ200は、クライアント11に代わってアバタ200の端末情報を文字入力支援サーバ21に送るため、文字入力支援サーバ21に残るクライアント11の個人特定情報を少なくすることができる。また、複数のクライアント11によってアバタ200を共有するため、文字入力支援サーバ21に残る情報がアバタ200の背後に存在する特定のクライアントの個人情報として認識されにくくなる。
【0042】
隠蔽単語は、入力文字列151が含むすべての名詞とすることもできるが、本実施の形態では、ブロック211で説明したように隠蔽クラスに対して設定した隠蔽レベルにより数を選択することができる。隠蔽単語は異なる複数の擬似単語で置換されるため、隠蔽単語が多くなるほど予測変換候補のヒット率が低下する。このとき、嗜好に関するプライバシーを気にしないユーザが、その隠蔽クラスを隠蔽単語から除外すると、嗜好に関する予測変換候補のヒット率は向上する。したがって、ユーザごとの事情で隠蔽レベルを設定して、個人情報の保護の程度と利便性を調和させることができる。
【0043】
また、擬似文字列161〜167を、隠蔽単語に概念が類似する擬似単語で構成することで、入力文字列151が含む個人情報を有効に隠すことができる。図6は、入力文字列151が含む個人情報を擬似文字列161〜167が希釈化する様子を概念的に説明するための図である。幹251は、入力文字列151が含む真正な個人情報に対応する。文字入力支援サーバ21を利用するために、ユーザはサイバー空間15に幹251を提供する。
【0044】
枝葉253は、擬似文字列161〜167に相当する。枝葉253は幹251を覆い隠すように文字入力支援サーバ21に残る。すなわち、文字入力支援サーバ21は、「わたしは」という入力文字列151に対する予測変換候補を、擬似単語に対する予測変換候補も含めて保存する。枝葉255は、隠蔽レベルを増加させた状態を示している。隠蔽レベルを増加させると、擬似文字列161〜167において、より多くの隠蔽単語が擬似単語で置換されるため枝葉255は広くなっている。擬似文字列の数を増やすことも枝葉255を広げることに相当する。
【0045】
枝葉255が広くなると個人情報が一層希釈化されて保護が強化されるが、他方で変換効率が低下する。このときユーザはクラス設定部107に隠蔽レベルを設定して枝葉253の大きさを調整することができる。枝葉257a〜257cは、擬似単語を隠蔽単語とは上位概念が異なる単語で構成した場合を示している。たとえば、擬似単語を「SEQ01:船」、「SEQ02:飛行機」といった乗り物を上位概念とする単語にした場合は、幹251が意味する概念から離れるため、巧妙な分析に対して幹251を有効に隠すことができない場合もあり得る。ただし、上位概念が異なる単語を擬似単語に選択する場合も本発明に含む。
【0046】
アバタ200は文字入力支援サーバ21に対してトランスペアレントに動作することができる。ユーザは、アバタ200の存在を意識することはない。アバタ200をクライアント11にインストール可能なプログラムで構成すれば、アバタ200から個人情報が流出する危険を低下させることができる。隠蔽単語を擬似単語で置換して擬似文字列161〜167を作成する例を説明したが、入力文字列151に対してなんらかの単語、文節、または文を先頭、中間、または後尾にノイズとして挿入した擬似文字列を作成するようにしてもよい。このとき進化した文字入力支援サーバ21により、文全体の意味から不自然なノイズが無視される可能性がある場合は、意味のあるノイズを挿入することが望ましい。
【0047】
[音声入力支援サーバへの適用]
つぎにクライアント11が、音声入力支援サーバ31を利用するときの個人情報の保護について説明する。音声入力支援サーバ31は、一例としてiOSに導入されたSiriや、Windows(登録商標)10に導入されたCortanaのようにクライアント11に対して音声認識応答サービスを提供する。一例において音声入力支援サーバ31は、クライアント11に話しかけたユーザの音声データを受け取って音声を認識しかつ意味内容を理解して、音声で応答するとともに問いかけを処理する実行コマンドをクライアント11に返送する。
【0048】
クライアント11は、受け取ったコマンドを実行して、クライアントの動作の制御やサイバー空間15に対するアクセスをすることができる。たとえば、ユーザが「今日の天気は?」とクライアント11に問いかけると、クライアント11は音声入力支援サーバ31から「今日の天気です」とう音声データでの返答を受け取り、同時に受け取ったコマンドを実行して画面にその地域の天気予報を表示する。音声データは、声紋、口調、抑揚などの個人特定情報と会話の内容(テキスト)としての個人情報を含む。
【0049】
たとえば、音声入力支援サーバ31は、ユーザの音声データを声紋および口調などで特定してユーザIDを付与し、当該ユーザIDについて会話の内容を示すテキストを蓄積することができる。通常の音声入力支援サーバ31は人工知能を導入しているため、ユーザは人間と話しているような感覚で多くの個人情報を伝える。そして、ユーザIDごとに多くの個人情報が蓄積されると、やがて、正確な個人特定情報が明らかにされる可能性がでてくる。
【0050】
図7は、アバタ100の一例であるアバタ300の構成を示す概略の機能ブロック図である。アバタ300は、クライアント11とサイバー空間15の間に位置する。アバタ300は、クライアント11に導入するソフトウェアで実現することもできる。ユーザはクライアント11を通じて、音声入力支援サーバ31と会話する。会話は、ユーザからの問いかけに対する音声入力支援サーバ31からの応答という形式で行われる。
【0051】
一例としてユーザは「こんにちは」、または、「ここから自宅までのルートを教えて」といった問いかけの会話をする。会話の単位は、時間の長短とは無関係である。音声入力支援サーバ31は、音声データの受信が終了して一定時間が経過したときにユーザの会話を認識することができる。入出力部301は、有線または無線でクライアントおよびサイバー空間15と接続するインターフェースに相当する。アバタ300をクライアント11に実装する場合は、入出力部301はクライアント11のネットワーク・インターフェースを利用することができる。入出力部301は、クライアント11から受け取ったパケットが含むユーザの会話の音声データを音声認識部303に転送する。
【0052】
音声認識部303は、音声データを認識してテキスト・データを生成する。音声認識部303は一例において、音声データからユーザの性別、年齢層、口調、およびトーンなどの特徴データを生成する。音声認識部303は、テキスト・データと特徴データを選択部305に送る。一例において選択部305は、特徴データに基づいて会話ごとに利用する音声合成部321を選択することができる。他の例において選択部305は、会話ごとにランダムに利用する音声合成部321を選択することができる。選択部305は、選択した音声合成部321にテキスト・データを送る。音声合成部321は、一例として4つの音声合成部321a〜321dで構成しているが、音声合成部321の数は特に限定しない。
【0053】
各音声合成部321は、受け取ったテキスト・データを読み上げる合成音声を生成するスピーチ・シンセサイザー機能を備える。各音声合成部321は、性別、年齢、明瞭さ、流ちょうさ、イントネーションなどの音質が相互に異なる合成音声を生成する。複数の音声合成部321のなかで、選択部305により選択された音声合成部だけが対応する会話に対して動作する。
【0054】
図8は、アバタ300の動作を説明するためのフローチャートである。ブロック401で、ユーザはクライアント11と対話を開始する。ブロック403で、入出力部301がクライアント11から会話の音声データを受け取る。ブロック405で音声データ認識部303は、音声データを認識してテキスト・データと特徴データを生成する。ブロック407で選択部305は、今回の会話に利用する音声合成部321を選択してテキスト・データを送る。
【0055】
いずれの音声合成部321も音声の特徴がユーザと異なるため、選択部305はいずれの音声合成部321を選択してもよい。選択部305は、たとえば、音声合成部321aを選択する。ブロック409で音声合成部321aはテキスト・データを読み上げる合成音声を生成する。ブロック411で入出力部301は、合成音声のパケットを音声入力支援サーバ31に出力する。このとき、入出力部301は、音声入力支援サーバ31からクライアント11が受け取っていたクライアント11の識別子や位置情報がある場合は出力するパケットからそれらを削除する。また、アバタ300がクライアント11に実装されている場合は、出力のたびにIPアドレスをダイナミックに変更することができる。
【0056】
ブロック413で入出力部301は、音声入力支援サーバ31から受け取った応答パケットのペイロードを自らのパケットに組み込んでクライアント11に転送する。応答パケットには一例として、問いかけに対して応答する音声データと問いかけに対する処理を実行するコマンドを含む。ブロック415で選択部305は、続く会話がある場合はブロック403に戻る。所定時間以上会話が途絶えたときはブロック417で処理を終了する。
【0057】
ブロック403に続くブロック407で選択部305は、ユーザのつぎの会話に対する音声合成部321を選択する。音声合成部321aが生成する合成音声が、ユーザの音声の特徴と異なる限り、ユーザの直接的な個人特定情報は提供されない。しかし、特定の音声合成部321aの合成音声に対して多くのプライバシー情報や他の個人特定情報が結びつけられることは好ましくない。一例において、選択部321は、会話ごとにランダムに音声合成部321を選択することができる。
【0058】
ところで、知能レベルが進化した音声入力支援サーバ31は、音声からユーザの性別や年齢などを推察しそれに応じた応答をする。このような応答はユーザにとって好ましい場合もある。選択部305は、ユーザが大人の女性だと判断したときに、女性の声の特徴を備える音声合成部321を選択するようにしてもよい。このとき音声合成部321が、大人の女性のさまざまな音質の合成音声を生成するように構成することができる。
【0059】
上記手順によれば、個人情報を構成する会話の内容は、プライバシー情報としてまたは個人特定情報として音声入力支援サーバ31に残るが、音質または声紋で特定できるユーザの音声の特徴としての個人特定情報は音声入力支援サーバ31に残らない。また、ユーザに似た合成音声を選択することで音声入力支援サーバ31の応答性に関する質の低下を防ぐことができる。また、特定の音声合成部321aが、ユーザの会話のテキストと、それとは異なる会話のテキストを読み上げた複数の合成音声を生成して出力するようにしてもよい。
【0060】
[Webサーバへの適用]
つぎに、クライアント11が、Webサーバ41にアクセスするときの個人情報の保護について説明する。一例において、Webサーバ41は、書籍の販売業者が宣伝および電子取引のために運営する。書籍を購入するユーザは、Webサーバ41のサイトから意図する書籍を選んで購入する。ユーザは書籍を購入するために、届け出先として住所、氏名、メール・アドレスなどの真正な個人特定情報をWebサーバ41に送る必要がある。
【0061】
また、Webサーバ41のサイトには、さまざまな書籍が紹介されている。ユーザは購入する意図がなくても、興味本位で特定のジャンルの書籍の概要を知るために、当該書籍のオブジェクトを画面でクリックして選択する場合がある。ユーザが選択した書籍は、ユーザの趣味や嗜好などのプライバシー情報となり、IPアドレスやメール・アドレスと関連付けられてWebサーバ41に残る。Webサーバ41は、ユーザの趣味や嗜好を把握して、ユーザが当該サイトを訪問すると、それらの書籍のオブジェクトを表示する。これを便利である反面、プライバシー毀損のリスクにもなる。
【0062】
図9は、アバタ500の構成を説明するための機能ブロック図である。アバタ500は、クライアント11の外に設けて複数のクライアントにサービスを提供することもできるが、本実施の形態ではアバタ500を実現するソフトウェアをクライアント11に組み込んだ例を説明する。クライアント11は、ディスプレイ501、システム505、ネットワーク・インターフェース503、入力デバイス507、およびアバタ500を含んでいる。
【0063】
ディスプレイ501には、書籍のタイトルを示す複数のオブジェクト513を含むWebサーバ41のサイト画面511が表示されている。システム505は、CPU、システム・メモリ、およびI/Oチップセットのようなハードウェアとデバイス・ドライバ、OS、およびWebブラウザのようなアプリケーション・プログラムなどで構成している。ネットワーク・インターフェース503は、クライアント11を有線または無線でサイバー空間15に接続する。入力デバイス507は、タッチパネル、マウス、およびキーボードのようなユーザがシステム505に入力するためのデバイスに相当する。アバタ500は、ユーザがWebサーバ41にアクセスする際に提供する個人情報の希釈化を図る。
【0064】
図10は、アバタ500の動作を説明するためのフローチャートである。ブロック601で、ユーザがWebサイトにアクセスするとディスプレイ501にサイト画面511が表示される。システム505は、サイト画面511を構成するソース・データ(HTTP)を保有する。ブロック603で、アバタ500は、ソース・データからハイパーリンクが設定された画像や文字などのオブジェクト513を認識する。
【0065】
ブロック605で、ユーザが書籍の内容の確認のために対象オブジェクト513aを入力デバイス507でクリックすると、選択を示すデータが真正なプライバシー情報としてWebサーバ41に送られる。Webサーバ41は、対象オブジェクト513aへのアクセスに対する応答パケットをクライアント11に送る。クライアント11は、ユーザが対象オブジェクト513aを選択した結果を予定どおり受け取ることができる。
【0066】
ブロック607でアバタ500は、一例において対象オブジェクト513aが選択される直前のサイト画面511に存在するハイパーリンクが設定された対象オブジェクト513a以外の複数の擬似オブジェクトを選択する。あるいはアバタ500は、対象オブジェクト513aをクリックしたあとのサイト画面が含む他のオブジェクトのなかから擬似オブジェクトを選択してもよい。さらにアバタ500は、擬似オブジェクトを操作したことを示すパケットに応答してWebサーバ41が送ってきたサイト画面のソース・データが含む擬似オブジェクトを選択してもよい。
【0067】
このときアバタ500は、擬似オブジェクトの操作に応答してWebサーバ41が送ってきたサイト画面のデータをシステム505に渡さない。したがって、擬似オブジェクトの選択は、バックグランドで行われる。アバタ500は、対象オブジェクト513aの文字または画像を認識して、同じサイトが含む対象オブジェクト513aと同じカテゴリーの他のオブジェクトのなかからランダムに所定数の擬似オブジェクトを選択することができる。
【0068】
たとえばアバタ500は、対象オブジェクト513aの内容をテキストとして解釈し、そのテキストの上位概念に含まれるいずれかのオブジェクトを擬似オブジェクトに選択することができる。具体的にアバタ500は、サイト画面511を解釈して対象オブジェクト513aの意味を書籍の名称と認識すれば、他の名称の書籍のオブジェクトを擬似オブジェクトとして選択し、写真と認識すれば他の写真を擬似オブジェクトとして選択することができる。
【0069】
アバタ500は対象オブジェクト513aと意味内容が無関係なたとえばキャンペーンの紹介や他のページに移動するためのオブジェクトなどは選択しない。他の方法として、アバタ500は、書籍のジャンルを小説、ミステリー、漫画などといったクラスに分類して、各クラスのなかから均等に擬似オブジェクトを選択することもできる。ブロック609でアバタ500は、擬似オブジェクトを選択したことを示すデータを擬似的なプライバシー情報としてWebサーバ41に出力する。
【0070】
擬似オブジェクトを選択したことを示すデータは、ユーザが選択したことを示す真正なデータを隠蔽する。その結果Webサーバ41は、ユーザが実際に選択した書籍だけでなく、他のジャンルの書籍にも興味をもっていると認識するため、ユーザの興味を絞り込むことが困難になる。ユーザが実際に書籍を購入するために個人特定情報を提供しても、Webサーバ41は、ユーザがアクセスした他の書籍の名称を個人特定情報に結びつけることが困難になる。よって、ユーザは個人情報を保護しながら当該Webサイトから書籍を購入することができる。
【0071】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0072】
15 サイバー空間
11 クライアント
100、200、300、500 アバタ
107a クラス・テーブル
151 入力文字列
161〜167 擬似文字列
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10