(57)【要約】【課題】サイバー空間に真正な個人情報を残しながら個人情報を保護する。【解決手段】クライアント１１がサイバー空間１５の文字入力支援サーバ２１、音声入力支援サーバ３１またはＷｅｂサーバ４１にアクセスする。アバタ１００は、サイバー空間に真正な個人情報を提供する。真正な個人情報はそれぞれ、クライアントにユーザが入力した入力文字列、音声のテキスト、オブジェクトに対するユーザの選択操作に対応するデータとすることができる。真正な個人情報に関連する擬似的な個人情報を生成する。擬似的な個人情報はそれぞれ、入力文字列の一部を変更して生成した擬似文字列、テキストを読み上げた合成音声、ユーザが選択操作しないオブジェクトに対する擬似的な選択操作に対応するデータとすることができる。サイバー空間に擬似的な個人情報を提供し、アクセス先から真正な個人情報に対する応答を受け取る。【選択図】図１
2018011262.tif 000002
【特許請求の範囲】
【請求項１】
クライアントがサイバー空間に提供する個人情報を保護する方法であって、
前記サイバー空間に真正な個人情報を提供するステップと、
前記真正な個人情報に関連する擬似的な個人情報を生成するステップと、
前記サイバー空間に前記擬似的な個人情報を提供するステップと、
前記サイバー空間から前記真正な個人情報に対する応答を受け取るステップと、
を有する方法。
【請求項２】
前記真正な個人情報と前記擬似的な個人情報の提供先が文字入力支援サービスで、前記真正な個人情報が前記クライアントにユーザが入力した入力文字列である請求項１に記載の方法。
【請求項３】
前記擬似的な個人情報が、前記入力文字列の一部を変更して生成した擬似文字列である請求項２に記載の方法。
【請求項４】
前記個人情報を生成するステップが、
前記入力文字列から単語を抽出するステップと、
前記抽出した単語を同じ概念の単語で置換して前記擬似文字列を生成するステップと
を含む請求項３に記載の方法。
【請求項５】
前記単語を抽出するステップが、あらかじめユーザが隠蔽レベルを設定した隠蔽クラスに帰属する単語を抽出するステップを含む請求項４に記載の方法。
【請求項６】
前記真正な個人情報と前記擬似的な個人情報の提供先が音声入力支援サービスで、前記真正な個人情報が前記クライアントにユーザが入力した音声のテキストである請求項１に記載の方法。
【請求項７】
前記擬似的な個人情報が、前記テキストを読み上げた合成音声である請求項６に記載の方法。
【請求項８】
前記擬似的な個人情報を提供するステップが、
前記音声入力支援サービスにユーザの会話ごとに異なる音質でテキストを読み上げた合成音声を提供するステップを含む請求項７に記載の方法。
【請求項９】
前記真正な個人情報と前記擬似的な個人情報の提供先がＷｅｂサイトで、前記真正な個人情報が前記Ｗｅｂサイトのオブジェクトに対するユーザの選択操作を示すデータである請求項１に記載の方法。
【請求項１０】
前記擬似的な個人情報が、前記Ｗｅｂサイトのユーザが選択操作をしないオブジェクトに対する選択操作を示すデータである請求項９に記載の方法。
【請求項１１】
クライアントに対する入力文字列の入力に関連する個人情報を保護する電子機器であって、
前記入力文字列をサイバー空間に出力し、前記サイバー空間から受け取った前記入力文字列に対する変換候補を前記クライアントに出力する入出力部と、
前記入力文字列の一部を修正した擬似文字列を生成して前記サイバー空間に出力する代理処理部と
を有する電子機器。
【請求項１２】
前記代理処理部が、相互に異なる複数の前記擬似文字列を出力する請求項１１に記載の電子機器。
【請求項１３】
前記入力文字列から隠蔽単語を抽出する隠蔽単語抽出部と、
前記隠蔽単語を置換する擬似単語を取得して前記代理処理部に渡す擬似単語取得部と
を有する請求項１２に記載の電子機器。
【請求項１４】
前記隠蔽単語のクラスを定義したクラス設定部を有し、
前記隠蔽単語抽出部は前記クラス設定部に設定されたクラスに属する単語を前記隠蔽単語として抽出する請求項１３に記載の電子機器。
【請求項１５】
ユーザが音声で入力した会話に関連する個人情報を保護する電子機器であって、
前記会話の音声データを認識してテキスト・データを生成する音声認識部と、
前記テキスト・データを読み上げる合成音声を生成する音声合成部と、
前記合成音声のデータをサイバー空間に出力し、前記サイバー空間から応答パケットを受け取る入出力部と
を有する電子機器。
【請求項１６】
前記音声合成部が、前記会話ごとに音質が異なる合成音声を生成する請求項１５に記載の電子機器。
【請求項１７】
Ｗｅｂサイトに対するアクセスが可能な電子機器であって、
前記Ｗｅｂサイトが提供する選択可能な複数のオブジェクトを表示するディスプレイと、
前記オブジェクトのなかから選択した対象オブジェクトに入力操作をする入力デバイスと、
前記入力操作に応じて他のオブジェクトに擬似的な入力操作をする擬似操作部と
を有する電子機器。
【請求項１８】
前記擬似操作部は、前記対象オブジェクトと同じ概念の前記Ｗｅｂサイトが提供する複数のオブジェクトに前記擬似的な入力操作をする請求項１７に記載の電子機器。
【請求項１９】
コンピュータに、
サイバー空間にアクセスするための真正な個人情報データを作成する機能と、
前記サイバー空間に蓄積される前記真正な個人情報データを隠蔽する擬似的な個人情報データを作成する機能と、
前記サイバー空間に前記真正な個人情報データと前記擬似的な個人情報データを提供する機能と
を実現させるためのコンピュータ・プログラム。
【請求項２０】
請求項１９に記載のコンピュータ・プログラムを記憶した記憶装置を有する電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サイバー空間に提供する個人情報を保護する技術に関する。
【背景技術】
【０００２】
近年、ユーザがクラウドからさまざまなサービスの提供受けるようになってきた。たとえば、Amazon（登録商標）社では、Echoという音声認識応答装置と、さらにはロジスティックスとしてのドローン技術を組み合わせて、ユーザが話しかけるだけで、物品を購入できるサービスを開始している。また、特定のＷｅｂブラウザやＷｅｂメール・サービスの利用に応じて、訪問したサイトやメールの内容から当該ユーザの嗜好を推測して関連する広告を提供するサービスも存在する。さらに、さまざまな店舗でポイント・カードを利用して商品を購入することでポイントを貯めることができる。
【０００３】
クラウドのサービスを利用するためにユーザは、個人情報をサイバー空間に提供する必要がある。個人情報はさまざまな状態でサイバー空間に保存され、さらに散在していた断片的な個人情報が結合されて財産的な価値を生み、ユーザが意識しないままに転用、転売されたり、盗用されたりする危険を有する。たとえば、特定の物品を購入すると関連する物品の広告が、Ｗｅｂブラウザに表示されたり、Ｗｅｂメールで送られてきたりする背景には第３者による個人情報の収集がある。
【０００４】
特許文献１は、利用者が自己の個人情報を取引ごとにその相手方である販売店に開示しないでネットワークで取引をすることを可能にし、かつ、販売店は利用者の個人情報を必要としないで安全な取引を行う電子商取引システムを開示する。同システムは、利用者装置と販売店装置の間に介在する取引仲介サーバを利用する。特許文献２は、オンライン・サービスにおいて個人情報を匿名化する方法を開示する。同文献には、社員の情報を企業が個人情報を匿名化する初期ＩＤと、カウンセリングに関する個人情報を匿名化するログインＩＤと、ＩＤ管理業者のＩＤ管理サーバとで匿名化することを記載する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１１７２６４号公報
【特許文献２】特開２００４−３３４４３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サイバー空間のサービスの利用には、個人情報の提供による情報漏洩のリスクという代償を伴う。ユーザにとってサイバー空間に提供する個人情報をサービスに必要な最小限の範囲に留めることができれば個人情報を保護する上で都合がよい。一般的に、提供する個人情報が少ないほど、受け取るサービスの質が低下する。したがって、できるだけサービスが低下しないようにしながら個人情報を保護する必要がある。またユーザが自ら、受け取るサービスの質と個人情報の保護の程度を調和させることができれば一層都合がよい。また、個人情報の保護は、ユーザが意識しないで実現できることが望ましい。本発明の目的はこのような課題を解決することにある。
【課題を解決するための手段】
【０００７】
本発明は、クライアントがサイバー空間に提供する個人情報の保護に関する。サイバー空間に真正な個人情報を提供する。さらに、真正な個人情報に関連する擬似的な個人情報を生成してサイバー空間に提供する。さらに、サイバー空間から真正な個人情報に対する応答を受け取る。一例において真正な個人情報と擬似的な個人情報の提供先を文字入力支援サービスとしたときに、真正な個人情報はクライアントにユーザが入力した入力文字列とすることができる。
【０００８】
このとき擬似的な個人情報が、入力文字列の一部を変更して生成した複数の擬似文字列とすることができる。このとき、擬似文字列は、入力文字列から抽出した単語を同じ概念の単語で置換して生成することができる。このとき単語は、あらかじめユーザが隠蔽レベルを設定したクラスに帰属する単語のなかから抽出することができる。
【０００９】
他の例において真正な個人情報と擬似的な個人情報の提供先を音声入力支援サービスとしたときに、真正な個人情報をクライアントにユーザが入力した音声のテキストとすることができる。このとき、擬似的な個人情報を、テキストを読み上げた合成音声とすることができる。さらに、音声入力支援サービスに、ユーザの会話ごとに異なる音質でテキストを読み上げた合成音声を提供することができる。さらに他の例において真正な個人情報と擬似的な個人情報の提供先をＷｅｂサイトとしたときに、真正な個人情報をＷｅｂサイトのオブジェクトに対するユーザの選択操作を示すデータとすることができる。このとき擬似的な個人情報を、Ｗｅｂサイトのユーザが選択操作しないオブジェクトに対する選択操作を示すデータとすることができる。
【発明の効果】
【００１０】
本発明により、以下の１つまたは複数の効果を奏することができた。本発明により、サイバー空間に真正な個人情報を提供しながら、個人情報を保護することができた。本発明により、サイバー空間のサービスを利用しながら、個人情報を保護することができた。本発明によりユーザが、受け取るサービスの質と個人情報の保護の程度を調和させることができた。本発明により、ユーザに意識させないで個人情報を保護することができた。
【図面の簡単な説明】
【００１１】
【図１】本発明の実行環境１０の一例を説明するための図である。
【図２】文字入力支援サーバ２１に提供する個人情報を保護するためのアバタ２００の構成を示す概略の機能ブロック図である。
【図３】アバタ２００が入力文字列１５１を処理するときの様子を説明するための図である。
【図４】クラス・テーブル１０７ａのデータ構造の一例を説明するための図である。
【図５】アバタ２００の動作を説明するためのフローチャートである。
【図６】入力文字列１５１が含む個人情報を擬似文字列１６１〜１６７が希釈化する様子を概念的に説明するための図である。
【図７】音声入力支援サーバ３１に提供する個人情報を保護するためのアバタ３００の構成を示す概略の機能ブロック図である。
【図８】アバタ３００の動作を説明するためのフローチャートである。
【図９】Ｗｅｂサーバ４１に提供する個人情報を保護するためのアバタ５００の構成を説明するための機能ブロック図である。
【図１０】アバタ５００の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１２】
［個人情報］
最初に個人情報について説明する。個人特定情報（personal identifiable information）は、社会的または物理的な存在としての人物の特定に有用な情報をいう。個人特定情報は、一例として、顔写真、指紋、および声紋などの生体情報、ＩＰアドレス、ＭＡＣアドレス、サービス・アカウント、およびユーザ・エージェントなどのユーザが専用に使用する情報端末に付随する情報、および住所、氏名、生年月日、電話番号、およびメール・アドレスなどの人物の特定に有用な周辺情報などを挙げることができる。個人特定情報は、情報が多いほど特定の精度が向上する。
【００１３】
プライバシー情報は、趣味、嗜好などの属人的な情報、現在の滞在場所、取引銀行、口座番号、パスワードなどのセキュリティに関する情報、および家族構成、生活環境、および所属団体などの周辺情報などを含む他人に知られたくない一切の情報をいう。個人に関する情報には、個人特定情報とプライバシー情報のいずれの範疇にも入るものが存在する。個人に関する情報は、個人特定情報とプライバシー情報が結びついたときに財産価値が生じてくるとともに保護が必要になる。本明細書では、個人特定情報とプライバシー情報が結合された情報を個人情報という。
【００１４】
サイバー空間にアクセスするユーザは、無意識な場合も含めて通常何らかの個人情報を提供する。サイバー空間に提供する個人情報を少なくすることは、個人情報を保護する上で有益である。しかし、提供する個人情報が多いほどサイバー空間からより有益なサービスを受けることができるため、ユーザはリスクを念頭におきながらサイバー空間に対して相応の個人情報を提供している。また、サイバー空間のさまざまな場所に断片的に残る複数の個人情報は、正当な方法または不正な方法で第３者により結合される可能性もある。
【００１５】
このことは、個人情報がサイバー空間に提供する量を少なくするだけでは十分に保護できないことを物語る。個人情報が個人特定情報とプライバシー情報の結合体であることを鑑みたときに、サイバー空間に提供する個人特定情報とプライバシー情報の結びつきを弱める方法が考えられる。たとえば、電子取引で商品を購入するために住所や氏名などの個人特定情報の提供が必要な場合は、同時に第３者にプライバシー情報を取得されないようにすることは有効である。
【００１６】
プライバシー情報を少なくすることは、取得されないようにすることの１つの方法であるが、ここでは、正確な個人特定情報に結合された正確なプライバシー情報だけが保護する価値があることに着目する。ユーザが生成した真正なプライバシー情報は、同時にサイバー空間に提供する擬似的なプライバシー情報で隠蔽することができる。サイバー空間に真正な個人特定情報に関連付けられた真正なプライバシー情報が残っていても、同時に同じ真正な個人特定情報に関連付けられた擬似的なプライバシー情報も残っていると、真正なプライバシー情報が希釈化される。個人特定情報も同様に擬似的な情報で希釈化することができる。
【００１７】
［実行環境］
図１は、本発明の実行環境１０の一例を説明するための図である。複数のクライアント１１は、ラップトップ型パーソナル・コンピュータ、デスクトップ型パーソナル・コンピュータ、スマートフォン、またはタブレット端末などの、インターネットを含むサイバー空間１５にアクセスが可能な情報端末装置である。アバタ１００は、クライアント１１とサイバー空間１５を中継してユーザの個人情報を保護する。各クライアント１１をそれぞれ特定のユーザが所有する場合、クライアント１１のＩＰアドレスやＭＡＣアドレスは個人特定情報になる。
【００１８】
一例としてアバタ１００は、複数のクライアント１１の個人情報を保護するようにクライアント１１の外に設けることができる。この場合のアバタ１００は、イントラネットやＶＰＮ（Virtual Private Network）でクライアント１１とセキュアに接続したサーバとすることができる。他の例においてアバタ１００をソフトウェアで構成して、各クライアント１１に実装することができる。アバタ１００がクライアント１１の内部に構築されていれば、ユーザは個人情報を保護する上で最も安心できる。
【００１９】
クライアント１１に設けるソフトウェアは、クライアント１１の記憶装置に格納してもよいし実行時にネットワークを通じてダウンロードしてもよい。アバタ１００は、サイバー空間１５にユーザの真正な個人情報を提供してサービスを享受できるようにしながら、当該真正な個人情報を擬似的な個人情報で隠す。アバタ１００は、クライアント１１にとって個人情報が漏えいする恐れがない信頼できる存在である。
【００２０】
データ・ベース・サーバ１３は、単語を意味上の概念で階層化して分類したシソーラスのような辞書を格納する。データ・ベース・サーバ１３は、クライアント１１にとって個人情報が漏えいする恐れがない信頼できる存在である。データ・ベース・サーバ１３は、クライアント１１に実装してもよい。サイバー空間１５は、一例として、それぞれクライアント１１が個人情報を提供してアクセスする文字入力支援サーバ２１、音声入力支援サーバ３１およびＷｅｂサーバ４１を含んでいる。
【００２１】
［文字入力支援サーバへの適用］
クライアント１１が、文字入力支援サーバ２１を利用するときの個人情報の保護について説明する。文字入力支援サーバ２１は、Ｗｉｎｄｏｗｓ（登録商標）１０の日本語ＩＭＥ（Input Method Editor）のような予測変換サービスをクラウド環境で行う。文字入力支援サーバ２１は、クライアント１１から受け取った先行するいくつかの入力文字（入力文字列）から、後続の文字列を含めたユーザが入力しようとするさらに長い文字列を予測して予測変換候補を返答する。
【００２２】
いまクライアント１１が、アバタ２００を経由しないで、メールの作成やＷｅｂサイトの検索をする場合を説明する。クライアント１１が入力した文字列は、文字入力支援サーバ２１に送られる。文字入力支援サーバ２１は、ユーザごとに適切な予測変換候補を探すために過去の履歴を蓄積している。通常、文字入力支援サーバ２１を運営する企業は、個人情報を公開しないことを約束するが、文字入力支援サーバ２１に入力文字列の履歴が残ることは個人情報が漏洩するリスクになる。
【００２３】
文字入力支援サーバ２１の学習の精度が高まるほど、ユーザは一部の文字列を入力するだけで、意図する正確な文字列を予測変換候補として受け取ることができる。たとえば、文字入力支援サーバ２１のサービスを利用しながら、「わたしのこどもはりんごとみかんがすきだ。」という文字列を入力して「私の子供はリンゴとみかんが好きだ。」という文を作成すると、つぎに「わたしは」と入力するだけで、同じ回答の文が予測変換候補として返答されてくる。
【００２４】
文字入力支援サーバ２１は、ユーザごとに入力履歴を学習して記憶するため、同じ入力文字列を受け取ってもユーザごとに適した予測変換候補を返答することができる。文字入力支援サーバ２１の学習が進むほどユーザにとって利便性が高まるが、ユーザの趣味や嗜好などに関するプライバシー情報と個人特定情報が結びついた状態で蓄積される。
【００２５】
図２は、アバタ１００の一例であるアバタ２００の構成を示す概略の機能ブロック図である。図３は、アバタ２００が入力文字列１５１を処理するときの様子を説明するための図である。アバタ２００は、クライアント１１とサイバー空間１５の間に位置する。アバタ２００は、クライアント１１に導入するソフトウェアで実現することもできる。入出力部１０１は、有線または無線でクライアントおよびサイバー空間１５と接続するインターフェースを含む。
【００２６】
アバタ１００をクライアント１１に実装する場合は、入出力部１０１はクライアント１１のネットワーク・インターフェースを利用することができる。外部に設けたアバタ１００において入出力部１０１は、文字入力支援サーバ２１のサービスを受けるためのソフトウェアを含む。入出力部１０１は、クライアント１１から受け取ったパケットが含む入力文字列１５１を抽出する。入出力部１０１は、抽出した入力文字列１５１を含む自らのパケットを生成して文字入力支援サーバ２１に出力する。
【００２７】
入力処理部１０１は、さらに、入力文字列１５１を隠蔽単語抽出部１０５に渡す。一例において隠蔽単語抽出部１０５は、入力文字列１５１からクラス設定部１０７を参照して隠蔽単語を抽出する。隠蔽単語は、個人情報を構成する可能性がある単語に相当する。クラス設定部１０７は、ユーザが個人情報の隠蔽レベルを設定するための隠蔽クラスを定義したクラス・テーブル１０７ａを備える。
【００２８】
図４にクラス・テーブル１０７ａのデータ構造の一例を示す。クラス・テーブル１０７ａには、ユーザＩＤごとに個人情報を階層化した隠蔽クラスが定義されている。隠蔽クラスは、概念的に類似する個人情報のグループに相当する。ユーザはあらかじめアバタ２００が設定したレベル１〜３のいずれかの選択により、または自らによる隠蔽クラスごとの選択により隠蔽レベルを設定することができる。
【００２９】
隠蔽単語抽出部１０５は、隠蔽レベルで設定された隠蔽クラスに属する単語を隠蔽単語と認定する。クラス・テーブル１０７ａでは、隠蔽レベルが高いほど入力文字列１５１からより多くの隠蔽単語が抽出されるようになっている。隠蔽単語抽出部１０５は、隠蔽単語に制御コードSEQを付した入力文字列１５３を生成して擬似単語取得部１０７に転送する。
【００３０】
擬似単語取得部１０７は、制御コードSEQで特定された隠蔽単語を置換するための擬似単語をデータ・ベース・サーバ１３から取得して、入力文字列１５３とともに各代理処理部１２１に転送する。代理処理部１２１は、一例として４つの代理処理部１２１ａ〜１２１ｄで構成しているが、代理処理部１２１の数は特に限定しない。各代理処理部１２１ａ〜１２１ｄは、入力文字列１５３の制御コードSEQに、擬似単語取得部１０７から受け取った擬似単語を挿入して生成した相互に異なる擬似文字列１６１〜１６７を、入出力部１０１から文字入力支援サーバ２１に出力する。
【００３１】
図５は、アバタ２００の動作を説明するためのフローチャートである。ブロック２０１で、クライアント１１は文字入力支援サーバ２１を利用するソフトウェアを実行する。ユーザがクライアント１１に、メール、書類の作成、Ｗｅｂサイトの検索などをするために文字列を入力する。入力文字列１５１は、単語、文節、または文を単位とする複数の文字で構成される。ここではユーザが、「わたしのこどもはりんごとみかんがすきだ。」という文の入力文字列１５１を入力して変換キーを押す場合を例示して説明する。変換キーは、単語、または文節の単位で押下される場合もあるが同様の手順で処理できる。
【００３２】
クライアント１１が出力する入力文字列１５１のパケットは、一例としてユーザが変換キーを押下するたびにクライアント１１のＩＰアドレス、ＭＡＣアドレス、およびユーザ・エージェントなどの個人特定情報とともにアバタ２００に送られる。ブロック２０３で入出力部１０１は、入力文字列１５１のパケットを受信して入力文字列１５１を隠蔽単語抽出部１０５に渡す。このとき入出力部１０１は、クライアント１１の送信元ＩＰアドレス、およびＭＡＣアドレスを記憶する。
【００３３】
ブロック２０５で入出力部１０１は、一例において、入力文字列１５１を含む自ららのパケットを生成して、文字入力支援サーバ２１に出力する。入出力部１０１は送出するパケットから、クライアント１１のＩＰアドレス、ＭＡＣアドレス、およびユーザ・エージェントなどの個人特定情報を削除する。さらにクライアント１１から受け取ったパケットが、文字入力支援サーバ２１からクライアント１１が受け取っていたクライアント１１の識別子や位置情報を含む場合は送出するパケットからそれらも削除する。
【００３４】
この時点で、アバタ２００は、クライアント１１に成り代わるため、文字入力支援サーバ２１からはクライアント１１の個人特定情報がみえない。ただし、入力文字列は、ユーザの真正な個人情報として文字入力支援サーバ２１に送られる。ブロック２０７で文字入力支援サーバ２１は、アバタ２００を宛先とするパケットで入力文字列１５１に対する予測変換候補を返送する。アバタ２００は受け取ったパケットのペイロードを自らのパケットに含めてクライアント１１に送る。
【００３５】
ブロック２０９で隠蔽単語抽出部１０５は、入力文字列１５１から隠蔽単語の候補を抽出する。一例において、隠蔽単語抽出部１０５は、自然言語の文字列から品詞を特定する形態素解析（Morphological Analysis）により入力文字列１５１から名詞や動詞を抽出する。このとき隠蔽単語抽出部１０５は、サイバー空間１５のＷｅｂサービスが提供するテキスト分類（Text Classification）のような自然言語処理の手法を利用して、入力文字列１５１から名詞や動詞に相当する単語を抽出することもできる。
【００３６】
隠蔽単語抽出部１０５は一例において、入力文字列１５１から、「わたし」、「こども」、「りんご」、「みかん」という名詞の単語を隠蔽単語の候補として抽出する。隠蔽単語抽出部１０５は、動詞の単語だけあるいは名詞の単語に加えて動詞の単語を隠蔽単語の候補として抽出するようにしてもよい。ブロック２１１で隠蔽単語抽出部１０５は、抽出した単語が帰属するクラス・テーブル１０７ａの隠蔽クラスを調べる。このとき隠蔽単語抽出部１０５は、データ・ベース・サーバ１３を参照して抽出した単語が帰属する隠蔽クラスを特定することができる。また隠蔽単語抽出部１０５は、入力文字列１５１から、「すきだ」という動詞を抽出して名詞の単語が帰属する隠蔽クラスの認識に利用することができる。
【００３７】
たとえば、「りんご」という単語は、入力文字列が「送金する」といった動詞を含む場合はセキュリティの隠蔽クラスに属すると判断し、「おいしい」という動詞を含む場合は嗜好の隠蔽クラスに属すると判断することができる。隠蔽単語抽出部１０５は、抽出した単語が帰属する隠蔽クラスがクラス・テーブル１０７ａに隠蔽レベルとして設定されている場合は、当該単語を隠蔽単語と認定する。ここでは、「りんご」、と「みかん」が設定された隠蔽クラスに属する隠蔽単語であると想定する。
【００３８】
ブロック２１３で隠蔽単語抽出部１０５は、隠蔽単語に制御コードSEQ01、SEQ02付した文字列１５３を疑似単語生成部１０７に送る。疑似単語生成部１０７は、制御コードSEQ01、SEQ02で特定された隠蔽単語に概念が類似する擬似単語の組を代理処理部１２１の数だけ取得する。一例において擬似単語は個人情報を希釈化するために、上位概念が同一のグループに属する単語の範囲から選択することができる。擬似単語取得部１０７は、隠蔽単語の上位概念が含む複数の単語を、データ・ベース・サーバ１３またはサイバー空間１５から取得することができる。
【００３９】
一例において擬似単語取得部１０７は、隠蔽単語の「りんご」、および「みかん」の上位概念を果物と認識し、同じ上位概念に含まれかつ隠蔽単語とは異なる「かき」、「もも」などの複数の擬似単語を取得する。擬似単語取得部１０７は、文字列１５３と隠蔽単語に対応する制御コードSEQ01、SEQ02付した擬似単語の組を代理処理部１２１に送る。このとき擬似単語取得部１０７は、各代理処理部１２１が異なる擬似文字列を作成できるように相互に異なる擬似単語の組を送ることができる。
【００４０】
ブロック２１５で代理処理部１２１ａ〜１２１ｄは、それぞれ受け取った擬似単語を入力文字列１５３の制御コードSEQで指定された位置に挿入して一例として擬似文字列１６１〜１６７を生成する。ブロック２１７で代理処理部１２１ａ〜１２１ｄは、入出力部１０１を通じて擬似文字列１６１〜１６７を送信する。入出力部１０１は、先に送信した入力文字列１５１と区別するために必要に応じて擬似文字列１６１〜１６７に識別子を付加することができる。ブロック２１９で文字入力支援サーバ２１は、アバタ２００を宛先として擬似文字列１６１〜１６７に対する予測変換候補を出力する。ブロック２２１で入出力部１０１は、擬似文字列１６１〜１６７に対応する予測変換候補を破棄し、ブロック２０１に戻って後続の入力文字列を処理する。
【００４１】
上記の手順によれば、クライアント１１は、入力文字列１５１に対する予測変換候補を受け取りながら、文字入力支援サーバ２１に残す個人情報の希釈化を図ることができる。アバタ２００は、クライアント１１に代わってアバタ２００の端末情報を文字入力支援サーバ２１に送るため、文字入力支援サーバ２１に残るクライアント１１の個人特定情報を少なくすることができる。また、複数のクライアント１１によってアバタ２００を共有するため、文字入力支援サーバ２１に残る情報がアバタ２００の背後に存在する特定のクライアントの個人情報として認識されにくくなる。
【００４２】
隠蔽単語は、入力文字列１５１が含むすべての名詞とすることもできるが、本実施の形態では、ブロック２１１で説明したように隠蔽クラスに対して設定した隠蔽レベルにより数を選択することができる。隠蔽単語は異なる複数の擬似単語で置換されるため、隠蔽単語が多くなるほど予測変換候補のヒット率が低下する。このとき、嗜好に関するプライバシーを気にしないユーザが、その隠蔽クラスを隠蔽単語から除外すると、嗜好に関する予測変換候補のヒット率は向上する。したがって、ユーザごとの事情で隠蔽レベルを設定して、個人情報の保護の程度と利便性を調和させることができる。
【００４３】
また、擬似文字列１６１〜１６７を、隠蔽単語に概念が類似する擬似単語で構成することで、入力文字列１５１が含む個人情報を有効に隠すことができる。図６は、入力文字列１５１が含む個人情報を擬似文字列１６１〜１６７が希釈化する様子を概念的に説明するための図である。幹２５１は、入力文字列１５１が含む真正な個人情報に対応する。文字入力支援サーバ２１を利用するために、ユーザはサイバー空間１５に幹２５１を提供する。
【００４４】
枝葉２５３は、擬似文字列１６１〜１６７に相当する。枝葉２５３は幹２５１を覆い隠すように文字入力支援サーバ２１に残る。すなわち、文字入力支援サーバ２１は、「わたしは」という入力文字列１５１に対する予測変換候補を、擬似単語に対する予測変換候補も含めて保存する。枝葉２５５は、隠蔽レベルを増加させた状態を示している。隠蔽レベルを増加させると、擬似文字列１６１〜１６７において、より多くの隠蔽単語が擬似単語で置換されるため枝葉２５５は広くなっている。擬似文字列の数を増やすことも枝葉２５５を広げることに相当する。
【００４５】
枝葉２５５が広くなると個人情報が一層希釈化されて保護が強化されるが、他方で変換効率が低下する。このときユーザはクラス設定部１０７に隠蔽レベルを設定して枝葉２５３の大きさを調整することができる。枝葉２５７ａ〜２５７ｃは、擬似単語を隠蔽単語とは上位概念が異なる単語で構成した場合を示している。たとえば、擬似単語を「SEQ01:船」、「SEQ02:飛行機」といった乗り物を上位概念とする単語にした場合は、幹２５１が意味する概念から離れるため、巧妙な分析に対して幹２５１を有効に隠すことができない場合もあり得る。ただし、上位概念が異なる単語を擬似単語に選択する場合も本発明に含む。
【００４６】
アバタ２００は文字入力支援サーバ２１に対してトランスペアレントに動作することができる。ユーザは、アバタ２００の存在を意識することはない。アバタ２００をクライアント１１にインストール可能なプログラムで構成すれば、アバタ２００から個人情報が流出する危険を低下させることができる。隠蔽単語を擬似単語で置換して擬似文字列１６１〜１６７を作成する例を説明したが、入力文字列１５１に対してなんらかの単語、文節、または文を先頭、中間、または後尾にノイズとして挿入した擬似文字列を作成するようにしてもよい。このとき進化した文字入力支援サーバ２１により、文全体の意味から不自然なノイズが無視される可能性がある場合は、意味のあるノイズを挿入することが望ましい。
【００４７】
［音声入力支援サーバへの適用］
つぎにクライアント１１が、音声入力支援サーバ３１を利用するときの個人情報の保護について説明する。音声入力支援サーバ３１は、一例としてｉＯＳに導入されたＳｉｒｉや、Ｗｉｎｄｏｗｓ（登録商標）１０に導入されたＣｏｒｔａｎａのようにクライアント１１に対して音声認識応答サービスを提供する。一例において音声入力支援サーバ３１は、クライアント１１に話しかけたユーザの音声データを受け取って音声を認識しかつ意味内容を理解して、音声で応答するとともに問いかけを処理する実行コマンドをクライアント１１に返送する。
【００４８】
クライアント１１は、受け取ったコマンドを実行して、クライアントの動作の制御やサイバー空間１５に対するアクセスをすることができる。たとえば、ユーザが「今日の天気は？」とクライアント１１に問いかけると、クライアント１１は音声入力支援サーバ３１から「今日の天気です」とう音声データでの返答を受け取り、同時に受け取ったコマンドを実行して画面にその地域の天気予報を表示する。音声データは、声紋、口調、抑揚などの個人特定情報と会話の内容（テキスト）としての個人情報を含む。
【００４９】
たとえば、音声入力支援サーバ３１は、ユーザの音声データを声紋および口調などで特定してユーザＩＤを付与し、当該ユーザＩＤについて会話の内容を示すテキストを蓄積することができる。通常の音声入力支援サーバ３１は人工知能を導入しているため、ユーザは人間と話しているような感覚で多くの個人情報を伝える。そして、ユーザＩＤごとに多くの個人情報が蓄積されると、やがて、正確な個人特定情報が明らかにされる可能性がでてくる。
【００５０】
図７は、アバタ１００の一例であるアバタ３００の構成を示す概略の機能ブロック図である。アバタ３００は、クライアント１１とサイバー空間１５の間に位置する。アバタ３００は、クライアント１１に導入するソフトウェアで実現することもできる。ユーザはクライアント１１を通じて、音声入力支援サーバ３１と会話する。会話は、ユーザからの問いかけに対する音声入力支援サーバ３１からの応答という形式で行われる。
【００５１】
一例としてユーザは「こんにちは」、または、「ここから自宅までのルートを教えて」といった問いかけの会話をする。会話の単位は、時間の長短とは無関係である。音声入力支援サーバ３１は、音声データの受信が終了して一定時間が経過したときにユーザの会話を認識することができる。入出力部３０１は、有線または無線でクライアントおよびサイバー空間１５と接続するインターフェースに相当する。アバタ３００をクライアント１１に実装する場合は、入出力部３０１はクライアント１１のネットワーク・インターフェースを利用することができる。入出力部３０１は、クライアント１１から受け取ったパケットが含むユーザの会話の音声データを音声認識部３０３に転送する。
【００５２】
音声認識部３０３は、音声データを認識してテキスト・データを生成する。音声認識部３０３は一例において、音声データからユーザの性別、年齢層、口調、およびトーンなどの特徴データを生成する。音声認識部３０３は、テキスト・データと特徴データを選択部３０５に送る。一例において選択部３０５は、特徴データに基づいて会話ごとに利用する音声合成部３２１を選択することができる。他の例において選択部３０５は、会話ごとにランダムに利用する音声合成部３２１を選択することができる。選択部３０５は、選択した音声合成部３２１にテキスト・データを送る。音声合成部３２１は、一例として４つの音声合成部３２１ａ〜３２１ｄで構成しているが、音声合成部３２１の数は特に限定しない。
【００５３】
各音声合成部３２１は、受け取ったテキスト・データを読み上げる合成音声を生成するスピーチ・シンセサイザー機能を備える。各音声合成部３２１は、性別、年齢、明瞭さ、流ちょうさ、イントネーションなどの音質が相互に異なる合成音声を生成する。複数の音声合成部３２１のなかで、選択部３０５により選択された音声合成部だけが対応する会話に対して動作する。
【００５４】
図８は、アバタ３００の動作を説明するためのフローチャートである。ブロック４０１で、ユーザはクライアント１１と対話を開始する。ブロック４０３で、入出力部３０１がクライアント１１から会話の音声データを受け取る。ブロック４０５で音声データ認識部３０３は、音声データを認識してテキスト・データと特徴データを生成する。ブロック４０７で選択部３０５は、今回の会話に利用する音声合成部３２１を選択してテキスト・データを送る。
【００５５】
いずれの音声合成部３２１も音声の特徴がユーザと異なるため、選択部３０５はいずれの音声合成部３２１を選択してもよい。選択部３０５は、たとえば、音声合成部３２１ａを選択する。ブロック４０９で音声合成部３２１ａはテキスト・データを読み上げる合成音声を生成する。ブロック４１１で入出力部３０１は、合成音声のパケットを音声入力支援サーバ３１に出力する。このとき、入出力部３０１は、音声入力支援サーバ３１からクライアント１１が受け取っていたクライアント１１の識別子や位置情報がある場合は出力するパケットからそれらを削除する。また、アバタ３００がクライアント１１に実装されている場合は、出力のたびにＩＰアドレスをダイナミックに変更することができる。
【００５６】
ブロック４１３で入出力部３０１は、音声入力支援サーバ３１から受け取った応答パケットのペイロードを自らのパケットに組み込んでクライアント１１に転送する。応答パケットには一例として、問いかけに対して応答する音声データと問いかけに対する処理を実行するコマンドを含む。ブロック４１５で選択部３０５は、続く会話がある場合はブロック４０３に戻る。所定時間以上会話が途絶えたときはブロック４１７で処理を終了する。
【００５７】
ブロック４０３に続くブロック４０７で選択部３０５は、ユーザのつぎの会話に対する音声合成部３２１を選択する。音声合成部３２１ａが生成する合成音声が、ユーザの音声の特徴と異なる限り、ユーザの直接的な個人特定情報は提供されない。しかし、特定の音声合成部３２１ａの合成音声に対して多くのプライバシー情報や他の個人特定情報が結びつけられることは好ましくない。一例において、選択部３２１は、会話ごとにランダムに音声合成部３２１を選択することができる。
【００５８】
ところで、知能レベルが進化した音声入力支援サーバ３１は、音声からユーザの性別や年齢などを推察しそれに応じた応答をする。このような応答はユーザにとって好ましい場合もある。選択部３０５は、ユーザが大人の女性だと判断したときに、女性の声の特徴を備える音声合成部３２１を選択するようにしてもよい。このとき音声合成部３２１が、大人の女性のさまざまな音質の合成音声を生成するように構成することができる。
【００５９】
上記手順によれば、個人情報を構成する会話の内容は、プライバシー情報としてまたは個人特定情報として音声入力支援サーバ３１に残るが、音質または声紋で特定できるユーザの音声の特徴としての個人特定情報は音声入力支援サーバ３１に残らない。また、ユーザに似た合成音声を選択することで音声入力支援サーバ３１の応答性に関する質の低下を防ぐことができる。また、特定の音声合成部３２１ａが、ユーザの会話のテキストと、それとは異なる会話のテキストを読み上げた複数の合成音声を生成して出力するようにしてもよい。
【００６０】
［Ｗｅｂサーバへの適用］
つぎに、クライアント１１が、Ｗｅｂサーバ４１にアクセスするときの個人情報の保護について説明する。一例において、Ｗｅｂサーバ４１は、書籍の販売業者が宣伝および電子取引のために運営する。書籍を購入するユーザは、Ｗｅｂサーバ４１のサイトから意図する書籍を選んで購入する。ユーザは書籍を購入するために、届け出先として住所、氏名、メール・アドレスなどの真正な個人特定情報をＷｅｂサーバ４１に送る必要がある。
【００６１】
また、Ｗｅｂサーバ４１のサイトには、さまざまな書籍が紹介されている。ユーザは購入する意図がなくても、興味本位で特定のジャンルの書籍の概要を知るために、当該書籍のオブジェクトを画面でクリックして選択する場合がある。ユーザが選択した書籍は、ユーザの趣味や嗜好などのプライバシー情報となり、ＩＰアドレスやメール・アドレスと関連付けられてＷｅｂサーバ４１に残る。Ｗｅｂサーバ４１は、ユーザの趣味や嗜好を把握して、ユーザが当該サイトを訪問すると、それらの書籍のオブジェクトを表示する。これを便利である反面、プライバシー毀損のリスクにもなる。
【００６２】
図９は、アバタ５００の構成を説明するための機能ブロック図である。アバタ５００は、クライアント１１の外に設けて複数のクライアントにサービスを提供することもできるが、本実施の形態ではアバタ５００を実現するソフトウェアをクライアント１１に組み込んだ例を説明する。クライアント１１は、ディスプレイ５０１、システム５０５、ネットワーク・インターフェース５０３、入力デバイス５０７、およびアバタ５００を含んでいる。
【００６３】
ディスプレイ５０１には、書籍のタイトルを示す複数のオブジェクト５１３を含むＷｅｂサーバ４１のサイト画面５１１が表示されている。システム５０５は、ＣＰＵ、システム・メモリ、およびＩ／Ｏチップセットのようなハードウェアとデバイス・ドライバ、ＯＳ、およびＷｅｂブラウザのようなアプリケーション・プログラムなどで構成している。ネットワーク・インターフェース５０３は、クライアント１１を有線または無線でサイバー空間１５に接続する。入力デバイス５０７は、タッチパネル、マウス、およびキーボードのようなユーザがシステム５０５に入力するためのデバイスに相当する。アバタ５００は、ユーザがＷｅｂサーバ４１にアクセスする際に提供する個人情報の希釈化を図る。
【００６４】
図１０は、アバタ５００の動作を説明するためのフローチャートである。ブロック６０１で、ユーザがＷｅｂサイトにアクセスするとディスプレイ５０１にサイト画面５１１が表示される。システム５０５は、サイト画面５１１を構成するソース・データ（HTTP）を保有する。ブロック６０３で、アバタ５００は、ソース・データからハイパーリンクが設定された画像や文字などのオブジェクト５１３を認識する。
【００６５】
ブロック６０５で、ユーザが書籍の内容の確認のために対象オブジェクト５１３ａを入力デバイス５０７でクリックすると、選択を示すデータが真正なプライバシー情報としてＷｅｂサーバ４１に送られる。Ｗｅｂサーバ４１は、対象オブジェクト５１３ａへのアクセスに対する応答パケットをクライアント１１に送る。クライアント１１は、ユーザが対象オブジェクト５１３ａを選択した結果を予定どおり受け取ることができる。
【００６６】
ブロック６０７でアバタ５００は、一例において対象オブジェクト５１３ａが選択される直前のサイト画面５１１に存在するハイパーリンクが設定された対象オブジェクト５１３ａ以外の複数の擬似オブジェクトを選択する。あるいはアバタ５００は、対象オブジェクト５１３ａをクリックしたあとのサイト画面が含む他のオブジェクトのなかから擬似オブジェクトを選択してもよい。さらにアバタ５００は、擬似オブジェクトを操作したことを示すパケットに応答してＷｅｂサーバ４１が送ってきたサイト画面のソース・データが含む擬似オブジェクトを選択してもよい。
【００６７】
このときアバタ５００は、擬似オブジェクトの操作に応答してＷｅｂサーバ４１が送ってきたサイト画面のデータをシステム５０５に渡さない。したがって、擬似オブジェクトの選択は、バックグランドで行われる。アバタ５００は、対象オブジェクト５１３ａの文字または画像を認識して、同じサイトが含む対象オブジェクト５１３ａと同じカテゴリーの他のオブジェクトのなかからランダムに所定数の擬似オブジェクトを選択することができる。
【００６８】
たとえばアバタ５００は、対象オブジェクト５１３ａの内容をテキストとして解釈し、そのテキストの上位概念に含まれるいずれかのオブジェクトを擬似オブジェクトに選択することができる。具体的にアバタ５００は、サイト画面５１１を解釈して対象オブジェクト５１３ａの意味を書籍の名称と認識すれば、他の名称の書籍のオブジェクトを擬似オブジェクトとして選択し、写真と認識すれば他の写真を擬似オブジェクトとして選択することができる。
【００６９】
アバタ５００は対象オブジェクト５１３ａと意味内容が無関係なたとえばキャンペーンの紹介や他のページに移動するためのオブジェクトなどは選択しない。他の方法として、アバタ５００は、書籍のジャンルを小説、ミステリー、漫画などといったクラスに分類して、各クラスのなかから均等に擬似オブジェクトを選択することもできる。ブロック６０９でアバタ５００は、擬似オブジェクトを選択したことを示すデータを擬似的なプライバシー情報としてＷｅｂサーバ４１に出力する。
【００７０】
擬似オブジェクトを選択したことを示すデータは、ユーザが選択したことを示す真正なデータを隠蔽する。その結果Ｗｅｂサーバ４１は、ユーザが実際に選択した書籍だけでなく、他のジャンルの書籍にも興味をもっていると認識するため、ユーザの興味を絞り込むことが困難になる。ユーザが実際に書籍を購入するために個人特定情報を提供しても、Ｗｅｂサーバ４１は、ユーザがアクセスした他の書籍の名称を個人特定情報に結びつけることが困難になる。よって、ユーザは個人情報を保護しながら当該Ｗｅｂサイトから書籍を購入することができる。
【００７１】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００７２】
１５  サイバー空間
１１  クライアント
１００、２００、３００、５００  アバタ
１０７ａ  クラス・テーブル
１５１  入力文字列
１６１〜１６７  擬似文字列
【図１】
2018011262.tif 000003
【図２】
2018011262.tif 000004
【図３】
2018011262.tif 000005
【図４】
2018011262.tif 000006
【図５】
2018011262.tif 000007
【図６】
2018011262.tif 000008
【図７】
2018011262.tif 000009
【図８】
2018011262.tif 000010
【図９】
2018011262.tif 000011
【図１０】
2018011262.tif 000012
【手続補正書】
【提出日】平成29年9月19日(2017.9.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
文字入力支援サーバが蓄積する個人情報を保護する方法であって、
ユーザが入力した入力文字列をクライアントがアバタに送るステップと、
前記アバタが前記入力文字列を前記文字入力支援サーバに送るステップと、
前記アバタが前記文字入力支援サーバから受け取った前記入力文字列に対する変換候補を前記クライアントに送るステップと、
前記アバタがあらかじめユーザが隠蔽レベルを設定した隠蔽クラスに帰属する単語を前記入力文字列から抽出して同じ概念の単語で置換し前記入力文字列に対する擬似文字列を生成するステップと、
前記アバタが前記擬似文字列を前記文字入力支援サーバに送るステップと、
を有する方法。
【請求項２】
クライアントに対する入力文字列の入力に関連する個人情報を保護する電子機器であって、
前記入力文字列をサイバー空間に出力し、前記サイバー空間から受け取った前記入力文字列に対する変換候補を前記クライアントに出力する入出力部と、
ユーザが前記個人情報の隠蔽レベルを設定するための隠蔽クラスを定義したクラス設定部と、
前記入力文字列から前記隠蔽レベルで設定された隠蔽クラスに属する単語を隠蔽単語として抽出する隠蔽単語抽出部と、
前記隠蔽単語に概念が類似する擬似単語を取得する擬似単語取得部と、
前記隠蔽単語を前記擬似単語で修正した擬似文字列を生成して前記サイバー空間に出力する代理処理部と
を有する電子機器。
【請求項３】
前記代理処理部が、相互に異なる複数の前記擬似文字列を出力する請求項２に記載の電子機器。
【請求項４】
クライアントおよび文字入力支援サーバと通信が可能なコンピュータに、
前記クライアントから受け取った入力文字列を前記文字入力支援サーバに送る機能と、
前記文字入力支援サーバから受け取った前記入力文字列に対する変換候補を前記クライアントに送る機能と、
あらかじめユーザが隠蔽レベルを設定した隠蔽クラスに帰属する単語を前記入力文字列から抽出して同じ概念の単語で置換し前記入力文字列に対する擬似文字列を生成する機能と、
前記擬似文字列を前記文字入力支援サーバに送る機能と
を実現させるためのコンピュータ・プログラム。
【請求項５】
請求項４に記載のコンピュータ・プログラムを記憶した記憶装置を有するコンピュータ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
入出力部１０１は、さらに、入力文字列１５１を隠蔽単語抽出部１０５に渡す。一例において隠蔽単語抽出部１０５は、入力文字列１５１からクラス設定部１０７を参照して隠蔽単語を抽出する。隠蔽単語は、個人情報を構成する可能性がある単語に相当する。クラス設定部１０７は、ユーザが個人情報の隠蔽レベルを設定するための隠蔽クラスを定義したクラス・テーブル１０７ａを備える。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
ブロック２１３で隠蔽単語抽出部１０５は、隠蔽単語に制御コードSEQ01、SEQ02付した文字列１５３を擬似単語取得部１０７に送る。擬似単語取得部１０７は、制御コードSEQ01、SEQ02で特定された隠蔽単語に概念が類似する擬似単語の組を代理処理部１２１の数だけ取得する。一例において擬似単語は個人情報を希釈化するために、上位概念が同一のグループに属する単語の範囲から選択することができる。擬似単語取得部１０７は、隠蔽単語の上位概念が含む複数の単語を、データ・ベース・サーバ１３またはサイバー空間１５から取得することができる。