(57)【要約】データベースからのタームの分類を決定することが可能である。該決定された分類が該タームを見るための該ユーザのための許可をを含まない場合、該タームをユーザに提示するのを阻止する。該タームは、該ユーザにより入力された未完成のクエリの残りを提案することが可能なものである。【選択図】図２
2017534128.tif 000002
【特許請求の範囲】
【請求項１】
データベースからのタームの分類を決定する分類ユニットと、
ユーザが該タームを見るための許可を該決定された分類が含まない場合に該ユーザに該タームが提示されるのを阻止するフィルタユニットとを備えており、
該タームが、該ユーザにより入力された未完成のクエリの残りを提案するものである、
装置。
【請求項２】
前記分類ユニットが、ルール及び機械学習の少なくとも一方に基づいて前記タームを分類する、請求項１に記載の装置。
【請求項３】
前記分類ユニットが、機械学習に基づいて前記タームを分類し、
該機械学習が、文法推定及び確率的分類器の少なくとも一方を含む、
請求項２に記載の装置。
【請求項４】
前記確率的分類器が、ベイズ分類器（Bayesian classifier）を含み、
前記文法推定が、試行錯誤による推論、遺伝的アルゴリズム、貪欲（greedy）アルゴリズム、分散（distributional）学習アルゴリズム、及びパターン学習アルゴリズムの少なくとも１つを含む、
請求項３に記載の装置。
【請求項５】
前記分類ユニットが、前記ルールに基づいて前記タームを分類し、
該ルールが、該タームの数字、文字、及び構文の少なくとも１つについて実行すべき操作を示すものであり、
前記分類ユニットが、該ルールを使用して該タームを所定のテンプレート及びパターンの少なくとも一方と突き合わせする、
請求項２に記載の装置。
【請求項６】
前記分類ユニットが、前記タームについて算術演算を実行し、
前記フィルタユニットが、該算術演算の結果が前記ルールを満たす場合に、前記タームを前記ユーザへ提示することを許可する、
請求項５に記載の装置。
【請求項７】
前記決定された分類が、前記ユーザが前記タームを見るための許可を含む場合に、前記フィルタユニットが、該タームを該ユーザへ提示することを許可し、
複数の異なるタイプのユーザが、複数の異なるタイプの分類に対応する、
請求項１に記載の装置。
【請求項８】
前記分類ユニットが、前記データベースに含まれる複数のタームに基づいて複数の異なるタイプの複数の分類を決定し、
該データベースの該複数のタームが、サーチエンジンに索引付けされたデータから取り出される、
請求項７に記載の装置。
【請求項９】
前記複数のタイプの前記複数の分類が、複数の異なる機密情報取扱許可に関するものであり、
該複数の分類の少なくとも１つが、別の分類のサブセットである、
請求項８に記載の装置。
【請求項１０】
前記タームが、名前、住所、及び社会保障番号の少なくとも１つを含み、
前記決定された分類が、前記ユーザが該タームを見るための許可を含まない場合に、該決定された分類が、敏感な情報及び個人を特定できる情報の少なくとも一方を示す、
請求項１に記載の装置。
【請求項１１】
前記分類ユニットが、複数のタームの複数の分類を同時に決定し、
前記フィルタユニットが、該複数のタームの阻止及び許可の少なくとも一方を同時に行う、
請求項１に記載の装置。
【請求項１２】
ユーザのクエリの一部に関するタームであって該クエリの残りを提案するタームをデータベースから受信し、
ルール及び機械学習の少なくとも一方に基づいて該タームを分類し、
該タームの分類が該タームを見るための許可を該ユーザに提供しない場合に該タームが提案されるのを阻止し、
該タームの分類が該タームを見るための許可を該ユーザに提供する場合に該タームが提案されるのを許可する、
方法。
【請求項１３】
前記機械学習が、前記タームを分類するための文法推定及び確率的分類器の少なくとも一方を含み、
前記ルールが、前記タームを所定のテンプレート及びパターンの少なくとも一方と突き合わせて該タームを分類する、
請求項１２に記載の方法。
【請求項１４】
命令を格納した持続性コンピュータ読み取り可能記憶媒体であって、該命令が、装置のプロセッサにより実行された際に、
データベースからのタームを解析して分類を決定し、該タームがクエリの一部に関するものであって該クエリの残りを提案するものであり、
該解析されたタームの分類に基づいて、前記クエリに応じて該タームを阻止すべきか否かを決定する
ことを前記プロセッサに行わせるものであり、該分類が、ルール及び機械学習の少なくとも一方に基づいて決定される、持続性コンピュータ読み取り可能記憶媒体。
【請求項１５】
前記解析された分類に対する許可を前記ユーザが有さない場合に前記タームが提示されるのを阻止し、
前記解析された分類に対する許可を前記ユーザが有する場合に前記タームが提示されるのを許可する、
請求項１４に記載の持続性コンピュータ読み取り可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
装置又はシステムは、オートコンプリート又はワード補完と呼ばれる機能を提供することが可能である。オートコンプリートは、ユーザがタイプしたいワード又はフレーズを、該ユーザが実際に完全にタイピングすることなく該装置又はシステムが予測することを伴うものである。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
メーカー、ベンダ、及び／又はサービスプロバイダは、一層良好にユーザを支援するための改善されたオートコンプリート技術を提供することが要求されている。
【課題を解決するための手段】
【０００３】
本実施形態の完全な理解を提供するために以下の説明では特定の細部について説明するが、本実施形態はかかる特定の細部なしでも実施可能であることが理解されよう。例えば、不必要な細部により本実施形態が曖昧なものとならないように本システムをブロック図で示すことが可能である。他の例では、本実施形態が曖昧なものとならないように不必要な細部と伴うことなく周知のプロセス、構造、及び技術を示すことが可能である。
【０００４】
オートコンプリートダイアログは、入力したテキストの断片から提案をユーザへ提供することが可能である。例えば、「capit」をオートコンプリートして「capital」又は「capitulate」とすることが可能である。オートコンプリートは、例えば、ウェブブラウザ、電子メールプログラム、サーチエンジンインタフェイス、ソースコードエディタ、データベースクエリツール、ワードプロセッサ、及びコマンドラインインタプリタを介して実施することが可能である。
【０００５】
実施形態によっては、辞書又はサーチエンジンの何れか一方を使用することが可能である。サーチエンジンは、幾つかのエントリが存在しない可能性のある辞書とは対照的に、サーチエンジンに索引付けされた関連アイテムを返す提案のみを提供することが可能である。しかし、場合によっては、その索引付けされたデータは、敏感な（慎重に扱うべき）情報を含む可能性がある。例えば、診療記録のサーチ索引は、患者名又はその社会保障番号を含む可能性がある。敏感な情報のオートコンプリートは望ましくないが、敏感でない情報の補完はサーチ操作者にとって有益なものである。
【０００６】
重み付け又は何らかの人気／閾値パラメータ（タームを含む文書の数）を用いたデータのフィルタリングは、敏感な情報の漏洩を阻止するための十分にきめ細かい制御を提供することができないものである。更に、提案のための明示的なブラックリストの提供は、厳密なタームの一致をフィルタリング除去するものとなる。しかし、有用に適用される可能性の低いところまで一定レベルのきめ細かな制御を手作業で提供し及び／又は更新することは、法外な費用を要するものとなる。
【０００７】
本実施形態では、見ることが許容される情報だけがユーザに提示されるように分類技術を使用してオートコンプリート提案をフィルタリングすることが可能である。一実施形態による装置は、データベースからのタームの分類を決定することが可能である。該装置は、該決定された分類が、特定のユーザが該タームを見るための許可を含まない場合に、該ユーザへの該タームの提示を阻止する。該タームは、ユーザにより入力された未完成のクエリの残りを提案することが可能なものである。
【０００８】
このため、本実施形態は、単純な重み／閾値パラメータと比較して、フィルタリングされる要素に関する一層細かい制御を可能とする。更に、本実施形態は、手作業で維持される厳密なターム／フレーズ／エントリのブラックリスト又はホワイトリストと比較して、一層迅速な配備と一層少ないメンテナンスを可能にするものである。
【図面の簡単な説明】
【０００９】
【図１】タームがユーザへ提示されるのを阻止する装置の例示的なブロック図である。
【図２】タームがユーザへ提示されるのを阻止する装置のもう１つの例示的なブロック図である。
【図３】所与のタームの分類に基づいて該タームを阻止する命令を含むコンピューティング装置の例示的なブロック図である。
【図４】所与のタームの分類に基づいて該タームを阻止するための方法の例示的なフローチャートである。
【発明を実施するための形態】
【００１０】
ここで図１を参照する。同図は、所与のタームがユーザへ提示されるのを阻止するための装置100の例示的なブロック図である。該装置100は、マイクロプロセッサ、コントローラ、メモリモジュール又はデバイス、ノートブックコンピュータ、デスクトップコンピュータ、オールインワンシステム、サーバ、ネットワーク装置、ワイヤレス装置、又はデータベースと対話し及び／又はネットワークに沿ったメッセージを傍受することができる任意の他のタイプの装置とすることが可能である。
【００１１】
装置100は、分類ユニット110及びフィルタユニット120を含むよう図示されている。該分類ユニット110及びフィルタユニット120は、例えば、以下で説明する機能を実施するための電子回路（例えば、制御ロジック及び／又はメモリ）を含むハードウェア装置を含むことが可能である。追加的に又は代替的に、分類ユニット110及びフィルタユニット120は、マシン読み取り可能記憶媒体上にエンコードされ及びプロセッサにより実行される一連の命令として実施することが可能である。
【００１２】
分類ユニット110は、データベースからの所与のタームの分類112を決定することが可能である。該タームは、物を説明するため又は概念を表現するために使用されるワード又はフレーズ（例えば、名前、住所、及び社会保障番号）とすることが可能である。タームは、ユーザにより入力された未完成のクエリの残りを提案することが可能である。分類112は、様々なタイプのターム（例えば、機密ターム及び非機密ターム）を識別するための体系（system）に関するものとすることが可能である。
【００１３】
フィルタユニット120は、決定された分類112が、ユーザが特定のタームを見るための許可122を含まない場合に、該タームを該ユーザへ提示するのを阻止することが可能である。例えば、決定された分類112が、ユーザがタームを見るための許可を含まない場合、該決定された分類112は、敏感な情報及び個人を特定できる情報の少なくとも一方を示す可能性がある。フィルタユニット120は、決定された分類112が、ユーザがタームを見るための許可122を含む場合に、該タームを該ユーザに提示することが可能である。
【００１４】
ユーザは、（例えば、コンピュータ又はネットワークサービスを使用することにより）クエリを入力している任意の者とすることが可能であり、この場合、データベースがそのタームをオートコンプリートすることが可能である。ユーザは、ユーザアカウントを有することが可能であり、並びに／又はユーザ名及び／若しくはパスワードにより識別されることが可能である。許可122は、タームを見る、タームにアクセスする、又はタームを修正するための権利をユーザが有するか否かに関するものとすることが可能である。ここで、許可122は、ユーザのクエリに応じてデータベースによりトリガされたタームをユーザが見ることが可能であるか否かに関するものとすることが可能である。
【００１５】
例えば、タームの分類112に基づいて該タームを見るための許可をユーザが有さない場合、フィルタユニット120は、該タームが該ユーザへ送信されるのを阻止することにより、及び／又は該タームへのアクセスを拒否することにより、該タームを阻止することが可能である。決定された分類112は、（例えば、メタデータを介して）データベース、分類ユニット110、及び／又はフィルタユニット120において格納し及び／又はタームに関連付けることが可能である。分類ユニット110及びフィルタユニット120については、図２に関して以下で一層詳細に説明する。
【００１６】
図２は、タームがユーザへ提示されるのを阻止するための装置200のもう１つの例示的なブロック図である。装置200は、マイクロプロセッサ、コントローラ、メモリモジュール又はデバイス、ノートブックコンピュータ、デスクトップコンピュータ、オールインワンシステム、サーバ、ネットワーク装置、ワイヤレス装置、又はデータベースと対話し及び／又はネットワークに沿ったメッセージを傍受することができる任意の他のタイプの装置とすることが可能である。
【００１７】
装置200は、データベース230と接続されるよう図示されている。該データベース230は、情報を収容し又は格納する任意の電子的、磁気的、光学的、又はその他の物理的な記憶装置（例えば、RAM（Random Access Memory）、EEPROM（Electrically Erasable Programmable Read-Only Memory）、ハードディスクドライブ（storage drive）、CD-ROM（Compact Disc Read Only Memory））とすることが可能である。例えば、データベース230は、サーチエンジンから索引付けされた最も人気のあるサーチターム232-1〜232-n（nは自然数）を含むことが可能である。例えば、該サーチターム232-1〜232-nの少なくとも幾つかは、診療記録、名前、社会保障番号といった個人を特定できる情報（PII：Personally Identifiable Information）を含む可能性がある。
【００１８】
図２の装置200は、少なくとも図１の装置100の機能及び／又はハードウェアを含むことが可能である。例えば、図２の装置200の分類ユニット210は、少なくとも図１の装置100の分類ユニット110の機能及び／又はハードウェアを含むことが可能であり、図２の装置200のフィルタユニット220は、少なくとも図１の装置100のフィルタユニット120の機能及び／又はハードウェアを含むことが可能である。
【００１９】
上述のように、分類ユニット210は、データベース230からのターム232の分類212を決定することが可能である。該ターム232の分類212は、ユーザ250に関して変化し得るものである。例えば、ターム232は、第１のユーザについては機密として分類し、第２のユーザについては非機密と分類することが可能である。このため、分類ユニット210は、ターム232の分類212を決定する際に、ユーザ250のタイプ又は識別を考慮することが可能である。ユーザ250の異なるタイプは、分類212の異なるタイプに対応することが可能である。例えば、ユーザ250のアカウントを使用して該ユーザのタイプ（例えば、該ユーザ250がシステムにログインするとき）を識別することが可能である。
【００２０】
また、上述のように、フィルタユニット220は、決定された分類212が、ユーザ250がターム232を見るための許可222を含まない場合に、該ターム232を該ユーザ250へ提示するのを阻止することが可能である。フィルタユニット220は、決定された分類212が、ユーザ250がターム232を見るための許可222を含む場合に、該ターム232が該ユーザ250へ提示されるのを許可することが可能である。
【００２１】
分類ユニット210は、ルール214及び機械学習216の少なくとも一方に基づいてターム232の分類を行うことが可能である。１つのルール214を示すが、本実施形態は複数のルールを含むことが可能である。該ルール214は、ターム232の数字、文字、文法、句読点、及び／又は構文について実行すべき操作を示すことが可能である。分類ユニット210は、該ルール214を使用して、ターム232をテンプレート及びパターンの少なくとも一方と突き合わせすることが可能である。例えば、分類ユニット210は、ルール214を使用して、ターム232が該ルール214により示される社会保障番号のための特定パターンと一致する場合に、該ターム232を社会保障番号として分類することが可能である。フィルタユニット220は、ターム232が社会保障番号として分類された場合に、該ターム232がユーザ250に提示されるのを阻止することが可能である。
【００２２】
別の実施形態では、分類ユニット210は、ターム232について算術演算を行うことが可能である。次いで、フィルタユニット220は、該算術演算の結果がルール214を満たす場合に、タームをユーザ250に提示するのを許可することが可能である。例えば、分類ユニット210は、クレジットカードの複数の数字のチェックサム又は乗算の結果に応じてターム232をクレジットカード番号として分類することが可能であり、又は、ターム232の範囲及び／又は構文をテンプレートと比較することにより該ターム232を日付として分類することが可能である。ここで、フィルタユニット220は、ターム232がクレジットカード番号又は禁止日（prohibited day）に該当する日付として分類された場合に、該ターム232をユーザ250へ提示するのを阻止することが可能である。
【００２３】
機械学習216は、データから学習することができるアルゴリズムの構築及び学習に関係することが可能である。かかるアルゴリズムは、複数の入力に基づいてモデルを構築し、及び（明示的にプログラムされた命令だけに従うのではなく）該モデルを使用して予測又は決定を行うことにより、機能させることが可能である。機械学習216の技術は、例えば、文法推定（grammar induction）及び／又は確率的分類器（probabilistic classifier）を含むことが可能である。例えば、確率分類手段は、ベイズ分類器（Bayesian classifier）とすることが可能である。文法推定は、例えば、試行錯誤による推論、遺伝的アルゴリズム、貪欲（greedy）アルゴリズム、分散（distributional）学習アルゴリズム、及びパターン学習アルゴリズムを含むことが可能である。分類ユニット210は、ルール214を介して容易に識別することができないターム232のタイプ（例えば、アドレス又はスパム）を機械学習を使用して分類することが可能である。
【００２４】
上述のように、分類ユニット210は、データベース230に含まれる複数のターム232-1〜232-nに基づいて、複数の異なるタイプの分類212を決定することが可能である。該分類212のタイプは、様々な機密情報取扱許可（security clearance）に関係するものとすることが可能である。更に、複数の分類212の少なくとも１つは、別の分類212のサブセットとすることが可能である。このため、フィルタユニット220は、ユーザ250の識別をターム232の分類212と比較して、該ユーザの機密情報取扱許可が該ユーザが該ターム232のサブセットを見ることしか許可していないか否かを決定することが可能である。ユーザ250が機密情報取扱許可を有さない場合には、フィルタユニット220は、該ターム232を該ユーザ250へ提供しないことが可能であり、これは、該ユーザ250のクエリに応じてデータベースにより提案される。
【００２５】
分類ユニット210は、複数のターム232の複数の分類212を同時に決定することが可能である。沿うように、フィルタユニット220は、複数のターム232を同時に阻止し及び／又は許可することが可能である。このため、本実施形態は、ユーザ250へ提示されるべきでないものとして分類されたターム232を該ユーザ250への提案から除外し又は阻止することが可能である。更に、PII（個人を特定できる情報）は、フィルタユニット220によりフィルタリングすることができるタイプ分類の単なる一例である。本実施形態は、ターム232を拒否するのに適しているとみなされる任意のタイプの基準に基づいて、ターム232の分類212を決定することが可能である。
【００２６】
図３は、タームの分類に基づいて該タームを阻止するための命令を含むコンピューティング装置300の例示的なブロック図である。同図の実施形態では、コンピューティング装置300は、プロセッサ310及びマシン読み取り可能記憶媒体320を含む。該マシン読み取り可能記憶媒体320は、タームの分類に基づいて該タームを阻止するための命令322,324を含む。
【００２７】
コンピューティング装置300は、例えば、マイクロプロセッサ、コントローラ、メモリモジュール又はデバイス、ノートブックコンピュータ、デスクトップコンピュータ、オールインワンシステム、サーバ、ネットワーク装置、ワイヤレス装置、又は命令322,324を実行することができる任意の他のタイプの装置に含めること又はその一部とすることが可能である。特定の実施形態では、コンピューティング装置300は、メモリやコントローラといった更なる構成要素を含むこと又はそれらに接続することが可能である。
【００２８】
プロセッサ310は、少なくとも１つの中央処理装置（CPU）、少なくとも１つの半導体ベースのマイクロプロセッサ、少なくとも１つのグラフィクス処理装置（GPU）、マイクロコントローラ、マイクロコードにより制御される専用論理ハードウェア若しくはマシン読み取り可能記憶媒体320に格納された命令の読み出し及び実行に適したその他のハードウェア装置、又はそれらの組み合わせとすることが可能である。プロセッサ310は、命令321,323,325,327,329をフェッチし、デコードし、及び実行して、タームの分類に基づく該タームの阻止を実施することが可能である。命令の読み出し及び実行に代えて又はそれに加えて、プロセッサ310は、少なくとも１つの集積回路（IC）、その他の制御ロジック、その他の電子回路、又は命令322,324の機能を実行するための複数の電子的な構成要素を含むそれらの組み合わせを含むことが可能である。
【００２９】
マシン読み取り可能記憶媒体320は、実行可能命令を収容し又は格納する任意の電子的、磁気的、光学的、又はその他の物理的な記憶装置とすることが可能である。このため、該マシン読み取り可能記憶媒体320は、例えば、RAM（Random Access Memory）、EEPROM（Electrically Erasable Programmable Read-Only Memory）、ハードディスクドライブ（storage drive）、CD-ROM（Compact Disc Read Only Memory）等とすることが可能である。このため、該マシン読み取り可能記憶媒体320は、持続性のものとすることができる。以下で詳述するように、マシン読み取り可能記憶媒体320には、タームの分類に基づいて該タームを阻止するための一連の実行可能命令をエンコードすることが可能である。
【００３０】
更に、命令322,324は、プロセッサにより（例えば、該プロセッサの１つの処理要素又は複数の処理要素により）実行された際に、複数のプロセス（例えば、図４の複数のプロセス）を該プロセッサに実行させることが可能である。例えば、解析命令322をプロセッサ310により実行して、データベース（図示せず）からの所与のタームを解析してその分類を決定することが可能であり、該タームは、所与のクエリの一部に関するものであって該クエリの残りを提案するためのものである。決定命令324をプロセッサ310により実行して、前記解析されたタームの前記分類に基づき、該タームを前記クエリに応じて阻止すべきであるか否かを決定することが可能である。該分類は、ルール及び機械学習の少なくとも一方に基づいて決定することが可能である。例えば、解析された分類に対する許可をユーザが有さない場合にタームの提示を阻止することが可能である。解析された分類に対する許可をユーザが有する場合には、タームの提示を許可することが可能である。
【００３１】
図４は、タームの分類に基づいてタームを阻止するための方法を示す例示的なフローチャートである。以下では、装置200に関して方法400の実行について説明するが、該方法400を実行するために他の適当な構成要素（例えば、装置100）を使用することも可能である。更に、該方法400を実行するための構成要素は、複数の装置（例えば、入力装置及び出力装置と通信可能な状態にある処理装置）にわたって実施することが可能である。場合によっては、互いに協調して動作する複数の装置を単一の装置とみなして該方法400を実行することが可能である。該方法400は、マシン読み取り可能記憶媒体（例えば、記憶媒体320）上に格納された実行可能命令という形で、及び／又は電子回路という形で実施することが可能である。
【００３２】
ブロック410で、装置200は、ユーザ250のクエリの一部に関するターム232をデータベース230から受信する。該ターム232は、該クエリの残りを提案することが可能なものである。ブロック420で、装置200は、ルール214及び機械学習216の少なくとも一方に基づいて該タームを分類することが可能である。該機械学習216は、ターム232を分類するための文法推定及び確率的分類器の少なくとも一方を含むことが可能である。前記ルール214は、所与のテンプレート及びパターンの少なくとも一方と前記タームを突き合わせて該ターム232を分類することが可能である。
【００３３】
ブロック430で、装置200は、ターム232の分類212が該ターム232を見るための許可222をユーザ250に提供しない場合に、該ターム232の提案を阻止する。ブロック440で、装置200は、ターム232の分類212が該ターム232を見るための許可222をユーザ250に提供する場合に、該ターム232の提案を許可する。
【図１】
2017534128.tif 000003
【図２】
2017534128.tif 000004
【図３】
2017534128.tif 000005
【図４】
2017534128.tif 000006
【国際調査報告】
2017534128.tif 000007
2017534128.tif 000008