以上の「図面の簡単な説明」は、添付の特許請求の範囲によって規定される本発明の非限定的な要約である。
添付の図面は一定の縮尺で描かれることを意図していない。同様の要素は、実際に同一又は類似の参照符号によって識別される。明瞭にするために、全ての構成要素が、必ずしも全ての図面においてラベル付けされているわけではない。
上述したように、本開示は、コンテキスト・マッチングのための環境入力の合成を使用して、群衆の中の個人に関連する販売促進コンテンツを配信するためのシステム及び方法に関する。一実施形態では、このシステム及び方法は、群衆の中の1つ以上のグループの個人に関連付けられた1つ以上のコンテキストを判定するために、リアルタイムで、或いはほぼリアルタイムで群衆に関する環境情報や他の周囲情報を合成する。これらの環境入力や他の周囲入力は、周囲環境の状況を知るとともに、群衆の中の異なるグループの個人の中で1つ以上のコンテキスト(例えば、共通のテーマや関心)を識別するために分析且つ合成され、それによって、この群衆に向けて、提案された活動、広告や販売促進コンテンツは、群衆の中のより多数の個人の注意を引き付けるために、よりダイナミックで、特定の群衆の個人の関心に焦点を当てるようにしている。
インターネット等の様々な情報プロビジョニング・ソースからの大量の情報の可用性は、どの様な情報が(群衆の中の1つ以上のグループの個人等の)ユーザに関心を起こさせるのか、どの様な情報をユーザに提示すべきであるかを決定することを困難にさせている。例えば、どの様な情報(例えば、ニュース、広告、他の人に関する最新情報等)が、群衆のコンテキストとして提示すべきかを判断するのは困難となることがある。
ユーザがどの様な情報に関心を示す可能性があるかについての明示的な指標(例えば、検索クエリ)を提供するような、オンライン検索等のシナリオであっても、そのような指標は、ユーザに提示することができる大規模セットのコンテンツの中からユーザに提示すべきコンテンツを正確に識別するのに十分でないことがある。大抵の従来の検索エンジンは、ユーザの検索クエリの文字通りの用語と、コンテンツのどの部分がユーザのクエリに関連しているかを判定するような検索エンジンによってインデックス付けされたコンテンツ内の文字通りの用語との間で単にパターンマッチングを行っていた。このように、ユーザの検索クエリの用語が、インデックス付けされたコンテンツ内の文字通りの用語と一致しない場合に、ユーザは、ユーザが捜し求めている情報の提供を受けないことがあった。また、意味が曖昧である用語を含む検索クエリをユーザが入力するときに、このユーザは、ユーザが意図した用語の意味とは全く無関係な情報の提供を受けることがある。このように、ユーザは、ユーザの関心に無関係な情報に圧倒されることがあった。
これらの設定及び他の設定では、セマンティック処理技術は、大規模セットのデジタルコンテンツの中からユーザが関心を示しそうな情報を識別するために使用することができる。具体的には、セマンティック処理技術をユーザに関連付けられた情報に適用することによって、ユーザが関心を示す可能性のある情報を識別するのに役立てることができる。以下でより詳細に説明するように、ユーザに関連付けられた情報は、ユーザに関する情報(例えば、人口統計情報、地理空間情報、ユーザの閲覧履歴等)及び/又はユーザによって提供された任意の情報(例えば、ユーザが提供した検索クエリや複数のクエリ、ユーザ構築オンライン・プロファイル等)を含むが、これらに限定されない。
セマンティック処理技術の態様は、マシンベースのストレージ、知識管理、及び推論システムをサポートするための知識表現の構築及び使用に関するものである。従来の方法及びシステムは、各種の知識表現モデルに従って構築された知識表現(KRs)を利用するために存在しており、このような知識表現は、分類法、シソーラス(thesauri)、及びファセット分類等の構造化され統制された語彙と、セマンティック・ネットワークやオントロジー等のフォーマル仕様と、自然言語に基づく文書等の非構造化フォームとを含む有形のデータ構造として実現することができる。
請求項に係る発明は、特定の知識表現に限定されるものではないが、好ましい形態は、セマンティック・ネットワークとして参照されるフォーマル仕様のタイプである。セマンティック・ネットワークは、多くの情報ソースにおいて説明されており、特に、Peter Sweeney et al.,による”Method, System, And Computer Program For User-Driven Dynamic Generation Of Semantic Networks And Media Synthesis”という表題の米国特許仮出願第12/671,846号明細書は特筆すべき文献であり、この文献は、参照により本明細書に組み込まれる。
セマンティック・ネットワークは、知識表現の一種として広範な有用性を有している。機械可読データとして、それらセマンティック・ネットワークは、人工知能、ソフトウェア自動化とソフトウェア・エージェント、エキスパートシステム、及び知識管理等の多数の高度な技術をサポートすることができる。さらに、それらセマンティック・ネットワークは、様々な形式の媒体(すなわち、他のKRs)に変換することができる。換言すれば、セマンティック・ネットワークの合成又は形成によって、セマンティック・ネットワークからの追加の値を抽出するように、媒体の広範囲の合成をサポートすることができる。
いくつかの実施形態では、セマンティック・ネットワークは、概念を表す頂点(vertices)又はノードと、概念同士の間のセマンティックな関係を表すエッジとを含む有向グラフを具現化するデータ構造として表すことができる。セマンティック・ネットワークを具現化するデータ構造は、非一時的な、有形のコンピュータ可読記憶媒体にエンコード化する(すなわち、インスタンス化する)ことができる。このように、セマンティック・ネットワークは、1つ以上の概念を含んでいると考えることができる。そのような概念の各々は、概念を表すセマンティック・ネットワーク内の1つ以上のノードに関連付けられた任意のデータを格納するデータ構造によって表現することができる。有向グラフのエッジは、このエッジが接続される2つのノードに関連付けられた概念同士の間の異なるタイプの関係のいずれかを表すことができる。例えば、セマンティック・ネットワークのエッジによって表される関係は、「〜によって規定された(defined-by)」関係か、「〜である(is-a)」関係である。例示的なセマンティック・ネットワークを示す図面(例えば、図5A〜5H等)において、「〜によって規定された」関係が、塗りつぶされた円で終端するエッジによって示されており、「〜である」関係が、矢印で終端するエッジによって示されている。例えば、参照符号808は、「〜によって規定された」関係を識別し、参照符号806は、「〜である」関係を識別する。
概念は、他のエンティティとの(それらの)関係を通じた抽象化の複合レベルの観点から、及びキーワードや形態素等の他のより基本的なKRエンティティの観点から構造的に規定することができる。このような構造は、概念規定と称することができる。総称して、概念を含むキーワードや形態素等のより基本的な知識表現エンティティは、概念の属性と称される。
米国特許仮出願12/671,846号明細書において説明されているように、概念は、他のエンティティと(それら)の関係を通じた抽象化の複合レベルの観点から、及びキーワードや形態素等の他のより基本的な知識表現エンティティの観点から構造的に規定することができる。このような構造は、「概念規定」と称することができる。
ユーザに関連付けられた情報は、どの様な情報がユーザにとって関心を起こさせるかを推察するために、セマンティック・ネットワーク等の少なくとも1つの知識表現と一緒に使用することができる。任意の適切な知識表現を使用することができる。例えば、どのサブセットがユーザにとって関心を起こさせるかについての、コンテンツに関連付けられた知識を表すセマンティック・ネットワークを使用することができる。このようなKRは、任意の適切な情報プロビジョニング・ソース及び語彙を含む多数のデータ・ソースのいずれかから構築することができる。
また、ユーザに関連付けられた情報は、ユーザに関連付けられた情報にセマンティック的に関連する概念を識別するために、1つ以上の知識表現と一緒に使用することができる。次に、識別された概念は、広範なアプリケーションにおいて、どの様な情報が、ユーザにとって関心を起こさせるかを決定するために使用することができる。例えば、ユーザの検索クエリ内の用語にセマンティック的に関連する概念を見つけることは、クエリのセマンティックな意味と、ユーザがどの様な情報を捜し求めているかとを判断するのに有用である。クエリは、次に、識別された概念から導出(派生)されキーワードで増大(拡張)させることができ、改善された検索結果を、ユーザに返すことができる。別の例として、ユーザのオンライン・プロファイルに含まれる情報にセマンティック的に関連するものとして識別される概念は、そのユーザがラインをオンにしているときにどの様な情報(例えば、広告、ニュース等)をユーザに提示すべきか決定するのに有用であり得る。
従って、いくつかの実施形態において、ユーザに関連付けられた情報にセマンティック的に関連する概念を識別するための方法が開示される。ユーザに関連付けられた情報の少なくとも一部を表す概念、「アクティブ概念」と称される概念が、識別され又は合成され(すなわち、生成される)、且つこのアクティブ概念にセマンティック的に関連する1つ以上の概念を取得することができる。いくつかの例では、アクティブ概念にセマンティック的に関連する概念は、セマンティック・ネットワーク内において識別することができるが、他の例では、アクティブ概念に関連する概念は、アクティブ概念とセマンティック・ネットワーク内の少なくとも1つの他の概念とを用いて合成することができる。アクティブ概念にセマンティック的に関連する概念は、セマンティック・ネットワークの構造に少なくとも部分的に基づいて識別及び/又は合成することができる。
いくつかの実施形態では、アクティブ概念にセマンティック的に関連する概念が取得された後に、この取得した概念は、スコアリングされる。スコアは、多数の方法のいずれかで計算することができ、例えば、セマンティック・ネットワーク(を具体化するグラフのデータ構造)の構造に少なくとも部分的に基づいて計算することができる。次に、スコアは、アクティブ概念にセマンティック的に関連した概念のサブセットを選択するために使用することができる。その後、選択された概念は、ユーザが関心を起こすような情報をユーザに提供するために使用することができる。
いくつかの実施形態では、1人以上のユーザに関連付けられた情報は、ユーザ(複数可)に対応するユーザ固有の知識表現を構築するために使用することができる。このユーザ固有の知識表現は、ユーザ(複数可)に関連付けられた情報と、セマンティック・ネットワーク等の少なくとも1つの知識表現とから構築することができる。その結果、ユーザ固有の知識表現は、ユーザ(複数可)に関連する情報をエンコード化することができる。任意の適切な知識表現は、ユーザ(複数可)がどのサブセットに関心を起こすかについての、コンテンツに関連付けられた知識を表す知識表現を含むが、この知識表現に限定されるものではない。得られたユーザ固有の知識表現は、ユーザ(複数可)が関心を起こすような情報に関連する概念を識別するために使用することができる。
有利には、いくつかの実施形態では、ユーザ固有の知識表現が格納され、複数回使用することができる。これによって、あるユーザについてのセマンティック処理は、そのユーザ及び/又は1人以上の他のユーザについて以前に実行されたセマンティック処理を活用することができる。例えば、ユーザ固有の知識表現が、グループのユーザ(例えば、会社Xの従業員)の1人のユーザに関連付けられた情報に基づいて生成された場合には、同じユーザ固有の知識表現は、同じグループ内の別のユーザ(例えば、会社Xの別の従業員)に関連付けられた情報にセマンティック的に関連する概念を識別するために使用することができる。
先に述べたように、ユーザが情報を検索する際に、大抵の場合、それらの検索クエリにおいて使用される用語は、検索対象のコンテンツに現れる用語に文字通り一致しない場合があり、その用語の両側は、同一又は類似の概念を別の用語で表現していることがある。このような場合には、返される検索結果は、もしあれば、実際に利用可能であるよりも低い品質の結果を含むことになる。結果的に、ユーザは、関連するコンテンツが存在する場合でも、このユーザが必要な全ての情報を見つけることは大抵の場合困難となる。
この状況の一例は、検索対象のコンテンツのセットにまれに現れる用語を使用する専門コンテンツのセット(例えば、特定のウェブサイト又は複数のウェブサイトや、特定のネットワーク、特定のポータル等を介してアクセス可能なコンテンツ)内の情報についてユーザが検索するときに発生することがある。例えば、ユーザは、医療従事者や研究者によって作成され且つこれら医療従事者や研究者用に意図された専門のコンテンツ内の医療ウェブサイトを介して情報を検索することがある。しかしながら、ウェブサイトのユーザは、医学的に訓練されていない場合があるので、それらの検索クエリは、関連する主題に係る医療記事に一般的に見受けられる多くの用語を使用していないことがある。従って、ユーザが提供した検索クエリ内にほんの数語の用語があれば、もしあれば、ウェブサイトを介してアクセス可能なコンテンツに表示されることがあるが、多くの潜在的に関連する項目が見逃される可能性がある。別の例は、ユーザが、顧客サポートコンテンツの情報を検索しようとするときである。ユーザは、技術的に精通していないが、それでもやはり、ユーザに役立つであろうコンテンツを見つけるために、特定の技術的な用語を使用する必要がある。他の多くの例が当業者には明らかであろう。
従来の検索方法の上述した欠点のうちのいくつかは、コンテンツの第1セット、すなわち「ターゲット」セットを検索しようとするユーザに返される検索結果の品質を改善するために、コンテンツの第2セット、すなわち「参照」セットを用いて対処することができる。コンテンツの第1のセットは、任意の適当なコンテンツのセットとすることができるが、例えば、特定のウェブサイト(例えば、電子商取引のウェブサイト、企業のウェブサイト、1つ以上のデータベースへのアクセスを提供するウェブサイト等)を介してアクセス可能なコンテンツであってもよい。コンテンツの第2セット、すなわち参照セットは、任意の適当なコンテンツのセットとすることができるが、例えば、任意の情報リポジトリ(repository)(例えば、ウィキペディア、WordNet等)、データベース、又はコンテンツ・プロビジョニング・ソース内のコンテンツであってもよい。これらは単なる例であることを認識すべきであるが、本発明の態様はこれに限定されるものではなく、コンテンツのターゲットセット及びコンテンツの参照セットは、任意の適当なコンテンツのセットとすることができる。
例として、上述の例では、公共圏で一般的に知られている病気に関する情報を含む参照ドメインが、医療用ウェブサイトでのユーザの検索クエリ内の用語を、そのウェブサイトを介してアクセス可能なコンテンツの用語に関連付けるのに役立つことがある。実際に、コンテンツの参照セットが、インフルエンザウイルス(Influenza Virus)のファミリーとして「オルソミクソウイルス科(Orthomyxoviridae)」を識別するような情報を含むとともに、そのインフルエンザが、「インフルエンザ(flu)」として一般的に知られている場合に、「インフルエンザウイルス(Flu Virus)」等のユーザの検索クエリを、関連するウイルスについての公的な分類のみを使用してウイルス性疾患を参照することができるような医療用ウェブサイトを通じてアクセス可能なコンテンツに容易に関連付けることができる。簡単に言えば、コンテンツの参照セットは、検索クエリに現れる用語を検索対象のコンテンツのターゲットセットに現れる用語に変換することを支援するために、一種の「中間層」又は「変換や解釈メディア」としての機能を果たすことができる。
セマンティック処理技術は、コンテンツのターゲットセットを検索したいと思うユーザに返される検索結果の品質を改善するために、コンテンツの参照セット内でコンテンツを使用するために用いることができる。従って、いくつかの実施形態では、参照知識表現と同様に、ターゲット知識表現も用いることができる。参照(ターゲット)知識表現は、セマンティック・ネットワーク等の任意の適切なタイプの知識表現であってもよく、コンテンツの参照(ターゲット)セット内のコンテンツに関連付けられた知識を表すことができる。参照(ターゲット)知識表現は、任意の適切な方法で構築することができ、例えば、コンテンツの参照(ターゲット)セット内のコンテンツに少なくとも部分的に基づいて構築することができる。
いくつかの実施形態では、参照知識表現及びターゲット知識表現は、結合(merge)された知識表現を形成するためにマージされてもよく、ユーザの検索クエリに関連付けられた1つ以上の用語(及び、随意に、ユーザに関連付けられたユーザコンテキスト情報に現れる用語)は、ユーザの検索クエリに関連付けられた用語(複数可)と、随意にユーザに関連付けられたユーザコンテキスト情報に現れる用語とにセマンティック的に関連するようなマージされた知識表現内の1つ以上の概念を識別又は合成するために使用することができる。次に、取得された概念は、検索を実行する前に、取得された概念に関連付けられた用語を用いてユーザの検索クエリを拡張(増大:augment)するために使用することができる。従って、参照知識表現に少なくとも部分的に基づいて取得された概念は、コンテンツのターゲットセット内のコンテンツについてユーザの検索クエリに応答して返される検索結果の品質を改善するために使用することができる。
なお、本明細書に説明される本発明の様々な態様は、多数の方法のいずれかで実装されてもよく、特定の実装技術に限定されるものではないことを理解されたい。特定の実装例が、説明のみを目的として以下に説明するが、本明細書に説明される本発明の態様は、これらの例示的な実装形態に限定されるものではない。さらに、特定のコンテキストから明らかに現れない限り、本明細書に説明される様々な特徴及びステップが、図示されている具体的な実施形態以外の方法で組み合わせることができ、且つそのような他の組み合わせは、本開示の範囲内であるとともに発明として企図されることが意図されている。
図1には、いくつかの実施形態で使用されるような知識表現に基づいて、大規模セットのデジタルコンテンツから選択されたデジタルコンテンツをユーザに提供するための例示的なプロセス100のフローチャートが示されている。図1の方法は、1人以上のユーザに関連付けられたユーザコンテキスト情報が取得されるような動作102で開始する。以下でより詳細に説明するように、ユーザコンテキスト情報は、ユーザ(複数可)に関連付けられた任意の適切な情報及び/又はユーザ(複数可)によって提供された任意の適切な情報とすることができる。ユーザコンテキスト情報を取得する方法も、以下でより詳細に説明する。
プロセス100は、次に、ユーザコンテキスト情報の少なくとも一部を表すアクティブ概念が、知識表現において識別されるように動作104に進む。この知識表現は、任意の適切な知識表現とすることができ、いくつかの実施形態では、ユーザ(複数可)に関連付けられたユーザ固有の知識表現とすることができる。しかし、知識表現は、ユーザ固有の知識表現に限定されるものではなく、プロセス100に利用可能な他の知識表現であってもよいことを認識されたい。いくつかの実施形態では、動作104の一部として、ユーザコンテキスト情報を表すアクティブ概念は、このアクティブ概念を含むユーザ固有の知識表現を構築する上で後続の使用のために生成することができる。
プロセス100は、アクティブ概念にセマンティック的に関連する1つ以上の概念が、このアクティブ概念を含む知識表現を使用することによって取得されるように動作106に進む。(実施例の関連する測定については後述する。)プロセス100は、次に、取得した概念(複数可)のうちの1つ以上が選択されるように動作108に進む。概念(複数可)は、この概念(複数可)の1つ以上が、関連する測定を用いて割り当られるようなスコアに少なくとも部分的に基づいて選択することができる。プロセス100は、次に、コンテンツが、動作104において識別され又は生成されたアクティブ概念と、動作108で選択された概念(複数可)とに少なくとも部分的に基づいて、1人以上のユーザに提供されるように動作110に進む。このようなコンテンツは、アクティブ概念と動作108で選択された概念(複数可)とを使用して大規模セットのコンテンツから選択することができる。図1のプロセスの動作の各々は、様々な方法のいずれかで実行してもよく、これらの動作が様々な実施形態で実施され得る方法のいくつかの例は、以下でより詳細に説明する。
プロセス100及びその変形形態のいずれかは、ハードウェア、ソフトウェア、又はそれらの任意の適切な組み合わせを用いて実装することができる。ソフトウェアに実装された場合に、ソフトウェアは、スタンドアロン式又はネットワーク式によらず、任意の適切なプロセッサ又はプロセッサの集合体で実行してもよい。ソフトウェアは、プロセッサ実行可能命令及び設定パラメータとして格納することができ、そのようなソフトウェアは、1つ以上の非一時的な、有形のコンピュータ可読記憶媒体に格納されてもよい。
ソフトウェア実装プロセス100は、任意の適切な方法で編成することができる。例えば、各ソフトウェアモジュールが、プロセス100の1つ以上の動作の少なくとも一部を実行することができるように、1つ以上のソフトウェアモジュールを含むソフトウェアシステムとして編成することができる。しかし、いくつかの実施形態では、このようなソフトウェアシステムの一以上のソフトウェアモジュールは、本発明の態様はこの態様に限定されるものではないが、プロセス100の動作に関連しない機能を実行することができる。
I.ユーザコンテキスト情報の取得
上述したように、プロセス100の動作102において、1人以上のユーザに関連付けられたユーザコンテキスト情報を取得することができる。ユーザコンテキスト情報は、ユーザ(複数可)が、どの様な情報を捜し求めているか及び/又はどの様な情報に関心を示すかを識別するために使用されるような任意の情報を含んでいてもよい。ユーザコンテキスト情報は、その後に情報をユーザに提供するために使用されるようなユーザ(複数可)のモデルを開発するために使用される情報も含んでいる。このように、ユーザコンテキスト情報は、任意の利用可能な情報ソース及び/又はユーザ(複数可)によって直接提供された任意の適切な情報から収集されるユーザ(複数可)に関連する適切な情報を含むことができるが、これらに限定されるものではない。
いくつかの実施形態では、ユーザに関連する情報は、ユーザに関する任意の適切な情報とすることができる。例えば、ユーザに関連する情報は、ユーザに関連付けられた人口統計情報(例えば、性別、年齢、教育レベル等)を含んでいてもよい。別の例として、ユーザに関連する情報は、ユーザのインターネット閲覧履歴の詳細を含んでもよい。そのような情報は、ユーザが閲覧した1つ以上のウェブサイトのリスト、閲覧した時間、及び/又はそのような閲覧を行った場所(すなわち、地理的位置)を含んでもよい。ユーザの閲覧履歴は、ユーザが検索した情報と、このような検索に応答してユーザが取得した検索結果を含むが、これに限定されない関連する閲覧情報をとさらに含むことができる。
別の例として、ユーザに関連する情報は、ユーザのコンピュータ装置上で又はユーザが閲覧した1つ以上のウェブサイト上で任意のユーザインタフェイスを介してユーザが提供した任意の情報を含むことができる。例えば、ユーザに関連する情報は、例えばソーシャル・ネットワーク・ウェブサイト、仕事投稿(掲載)ウェブサイト、ブログ、ディスカッション・スレッド等の任意のウェブサイト上でのユーザに関連付けられた任意の情報を含んでもよい。そのような情報には、ウェブサイト上のユーザプロファイル、ユーザプロファイルに対応したマルチメディア(例えば、画像、ビデオ等)に関連付けられた情報、及びウェブサイト上でユーザが入力した他の情報を含むが、それらに限定されない。さらに別の例として、ユーザに関連する情報は、2009年9月8日に出願された、”Synthesizing Messaging Using Content Provided by Consumers”という表題の米国特許仮出願第12/555,293号明細書に説明されており、この文献は、参照することにより本明細書に組み込まれる。
いくつかの実施形態では、ユーザに関連する情報は、地理空間情報を含んでもよい。例えば、地理空間情報には、ユーザ及び/又はユーザのコンピュータ装置の現在位置(例えば、ユーザの家、ユーザの地元の図書館、ユーザの仕事場、ユーザが旅した場所、及び/又はユーザのインターネットIPアドレスにより決定されるようなユーザのデバイスの地理的位置等)を含んでもよい。地理空間情報は、ユーザのコンピュータ装置の位置に関する情報と、ユーザのコンピュータ装置がその場所に又はその場所の近くにあったときに、ユーザが検索や閲覧したコンテンツとの間の関連付けを含むことができる。いくつかの実施形態では、ユーザに関連する情報は、時間的な情報を含むことができる。例えば、時間的な情報は、ユーザがコンピュータ装置上で特定のコンテンツを照会又は閲覧した時間を含むことができる。時間は、年の規模や、季節、月、週、日、時間、分、秒等の規模の任意の適切なスケールで指定することができる。
追加的に又は代替的に、1人以上のユーザに関連付けられたユーザコンテキスト情報は、ユーザ(複数可)によって提供された情報を含んでもよい。このような情報は、ユーザ(複数可)がどの様な情報に関心を示すのかを表す任意の適切な情報であってもよい。例えば、ユーザコンテキスト情報は、ユーザによって検索エンジン(例えば、インターネット検索エンジン、企業イントラネット等の特定のドメインを検索するために適合された検索エンジン)に入力された1つ以上のユーザの検索クエリを含んでもよい。別の例として、ユーザコンテキスト情報は、ユーザが関心を示す情報のタイプについての1つ以上のユーザ指定の指標を含むことができる。ユーザは、多数の方法のいずれかで指標(複数可)を提供することができる。ユーザは、自分の嗜好の指標を入力する又は口に出して言い、ウェブサイトやアプリケーションによって提供された1つ以上のオプションを選択し(例えば、ドロップダウンメニューから項目を選択し、チェックボックスをオンにする等)、ウェブサイト上又はアプリケーションにおいて、及び/又は任意の他の適切な方法で、ユーザに関心を起こさせるコンテンツの一部をハイライトする又は他の方法で選択する。例えば、ユーザは、あるトピック(複数可)に関連して更新されたニュース、1つ以上のタイプの製品(複数可)に関連する広告、ウェブサイト、ニュースレター、電子メールダイジェスト等の各種のいずれかの更新に関する情報、を受信したいことを示すために、ウェブサイト上の1つ以上のオプションを選択することができる。
ユーザコンテキスト情報は、動作102で、可能な様々な方法のいずれかで取得することができる。例えば、いくつかの実施形態では、ユーザコンテキスト情報は、ユーザのクライアント・コンピュータから、処理100を実施するソフトウェアコードを実行するような1つ以上のサーバ・コンピュータに提供することができる。例えば、図2に示されるように、ユーザは、アプリケーションプログラム204を実行するクライアント・コンピュータ202を動作させることができる。アプリケーションプログラム204は、プロセス100を実行するコンピュータである、サーバ・コンピュータ208にユーザコンテキスト情報206(例えば、ユーザによってアプリケーションプログラム204に入力された検索クエリ)を送信することができる。従って、サーバ208は、クライアント202上で実行するアプリケーションプログラム204からユーザコンテキスト情報206を受信することができる。
アプリケーションプログラム204は、直接又は間接的に、サーバ208に情報を送信するとともにサーバ208から情報を受信することができるアプリケーションプログラムの様々なタイプのいずれかであってよい。例えば、いくつかの実施形態において、アプリケーションプログラム204は、インターネットすなわちWWWブラウザ、インスタント・メッセージ・クライアント、又は他の任意の適切なアプリケーションであってもよい。
図2の例では、アプリケーションプログラム204は、ユーザコンテキスト情報をサーバ208に直接送信するものとして示されている。これは、ユーザコンテキスト情報が、クライアント202からサーバ208にどの様に送信されるかの簡略化した表現であり、ユーザコンテキスト情報を、クライアント202からサーバ208に直接送信する必要はないということを認識されたい。例えば、いくつかの実施形態では、ユーザの検索クエリは、ネットワークを介してサーバ208に送信することができる。ネットワークは、LAN、WAN、インターネット、又はネットワークの組み合わせ等の任意の適切なタイプのネットワークであってもよい。
また、ユーザのクライアント・コンピュータからユーザコンテキスト情報を受信することは、ユーザコンテキスト情報が、プロセス100の動作102の一部として、任意の他の適切な方法で取得することができるように、本発明の態様を限定しないことを認識されたい。例えば、ユーザコンテキスト情報は、1人以上のユーザに関連付けられたユーザコンテキスト情報を含むソースから又はこのユーザコンテキスト情報にアクセスして、要求する際に能動的に及び/又は受信する際に受動的に、取得することができる。
II.ユーザコンテキスト情報を表すアクティブ概念の識別又は生成
上述したように、プロセス100の動作104において、動作102の間に取得されたユーザコンテキスト情報の少なくとも一部を表すアクティブ概念は、ユーザ固有の知識表現或いは他の任意の適切な知識表現であるような知識表現において識別される概念、又はアクティブ概念を含むユーザ固有の知識表現を構築するために生成され且つ使用される概念のいずれかとすることができる。可能な様々な技術のいずれかが、ユーザコンテキスト情報を表すアクティブ概念を識別又は生成するために使用することができる。いくつかの実施形態では、使用できるそのような技術の一例が、図3のプロセス300に例示されている。
プロセス300は、ユーザコンテキスト情報の関連部分を識別するように、動作301において開始する。前述したように、ユーザコンテキスト情報は、ユーザに関する情報(例えば、ウェブサイト上のユーザのプロファイル、ユーザの閲覧履歴等)と、ユーザによって提供された情報(例えば、検索クエリ)とを含むが、これらに限定されない各種の情報のいずれかを含む。これにより、ユーザコンテキスト情報の様々な部分は、様々なシナリオで使用することができる。例えば、ユーザが情報を検索しているときに、ユーザコンテキスト情報の関連部分は、ユーザの検索クエリを含んでもよいが、ユーザが捜し求めている情報の検索に役立つかもしれない追加情報(例えば、ユーザの現在位置、ユーザの閲覧履歴等)を含むことができる。別の例として、1つ以上の広告をユーザに提示するときに、ユーザコンテキスト情報の関連部分は、ユーザが関心を示すような1つ以上の製品を表す情報を含んでもよい。別の例として、ニュース記事(又は任意の他の適切なタイプのコンテンツ)をユーザに提供するときに、ユーザコンテキスト情報の関連部分は、ユーザが関心を示す情報を含むことができる。(例えば、動作102において)取得されたユーザコンテキスト情報の関連部分は、ユーザコンテキスト情報の関連部分が識別される方法が、本発明の態様を限定しないような任意の適切な方法で識別することができる。また、いくつかの例では、ユーザコンテキスト情報の関連部分は、ユーザコンテキスト情報のサブセットを含むことができるが、他の実施形態では、この関連部分は、ユーザコンテキスト情報の全てを含んでもよく、本発明の態様は、これに限定されるものではないことを認識されたい。
動作301で識別されたユーザコンテキスト情報の関連部分は、多数の方法のいずれかで表すことができる。例えば、いくつかの実施形態では、ユーザコンテキスト情報の関連部分は、1つ以上の英数字の文字列として表されてもよい。英数字の文字列は、任意の適切な文字数(スペースを含む)、単語、数字、及び/又は多数の他のシンボルを含むことができる。英数字の文字列は、例えば、ユーザの検索クエリ及び/又はユーザがどの様な情報に関心を示すかを表す任意の適切な情報を表現することができる。しかし、多数の他のデータ構造のいずれかが、ユーザコンテキスト情報及び/又はそのユーザコンテキスト情報の一部を表すために使用されてもよいことを認識すべきである。
次に、処理300は、特定のユーザに関連付けられたユーザコンテキスト情報の関連部分が、知識表現内の概念と一致するかどうかが決定されるように、判定ブロック302に進む。任意の適切な知識表現を使用することができる。いくつかの例では、ユーザ又はこのユーザを含むユーザグループに関連付けられたユーザ固有の知識表現を使用することができる。しかしながら、任意の他の適切な知識表現を用いてもよく、例えば、任意の特定のユーザ又は複数のユーザに適合していない知識表現を用いてもよい。
いくつかの実施形態では、使用される知識表現は、セマンティック・ネットワークとすることができる。しかし、他の実施形態では、知識表現の他の各種のいずれか(例えば、非グラフィカル知識表現)を使用することができる。知識表現が構築及び/又は取得される方法が、説明された方法及びシステムの態様を限定しないように、知識表現は、任意の適切な方法で構築及び/又は取得される。
どの知識表現が判定ブロック302で使用されるかに拘わらず、ユーザコンテキスト情報の関連部分が、知識表現内の概念と一致するかどうかの判定は、任意の適切な方法で行うことができる。いくつかの実施形態では、ユーザコンテキスト情報の関連部分は、概念識別子と比較することができる。例えば、ユーザコンテキスト情報の関連部分が、英数字の文字列によって表されるときに、英数字の文字列は、一致が存在するか否かを判断するために、概念(時には「概念ラベル」と呼ぶ)を識別するある文字列と比較することができる。一致が、文字列の間で正確に一致する、又は特定の単語セット(例えば、「及び(and)」、「その(the)」、「〜の(of)」等の語)を除いた状態で全ての語が一致するように、実質的に正確に一致する。さらに、いくつかの実施形態では、文字列内の単語の順序は無視することができる。例えば、文字列「(The Board of Directors)取締役会」は、概念ラベル「(Board Directors)取締役」と、同様の概念ラベル「(Directors Board)重役」と一致していると判定することができる。
判定ブロック302において、ユーザコンテキスト情報の関連部分が、知識表現内の概念と一致すると判定された場合に、プロセス300は、知識表現内の複数の概念が関連部分と一致するかどうかを判定するために、判定ブロック304に進む。例えば、ユーザコンテキスト情報の選択された部分が、ユーザが関心を示した「ほえ声(bark)」に関する情報を示す英数字の文字列「ほえ声(bark)」かもしれない。しかしながら、ユーザが、犬のほえ声(bark)又は木の樹皮(bark)に関する情報のどちらに関心があるかどうかは明確でないかもしれない。知識表現内のこのような概念にそれぞれ関連する概念が存在する。
判定ブロック304において、ユーザコンテキスト情報の関連部分と一致する知識表現において、1つの概念のみが存在すると判定された場合には、この1つの概念は、アクティブ概念として識別され、プロセス300は、「いいえ」の分岐を経由して動作320に進み、ここで、例えばプロセス100の動作106〜110を参照しながら以下でより詳細に説明されるように、アクティブ概念が後続の処理のために返される。
一方で、ユーザコンテキスト情報の関連部分と一致する知識表現内に複数の概念が存在すると判定された場合に、プロセス300は、「はい」の分岐を経由して動作306〜308に進み、ここで、一致する概念のうちの1つがアクティブ概念として選択される。これは、任意の適切な方法で行うことができる。いくつかの実施形態では、複数の一致する概念のうちの1つは、曖昧性解消プロセスを用いて選択することができる。
任意の適切な曖昧性解消プロセスは、ユーザコンテキスト情報の関連部分に一致する複数の概念の中でアクティブ概念を識別するために用いることができる。このような曖昧性解消プロセスは、複数の概念の中でアクティブ概念を識別するために、1つ以上の曖昧性解消用語を使用することを含み、それによって、識別されたアクティブ概念は、ユーザが関心を示すような情報を表す可能性が生じる。曖昧性解消プロセスは、曖昧性解消用語の候補セットを生成するとともに、アクティブ概念を識別するために使用する1つ以上の候補曖昧性解消用語を選択することを含む。例えば、用語「犬(dog)」と「木(tree)」を含む曖昧性解消用語の候補セットを生成することができる。自動的に又はユーザの入力に少なくとも部分的に基づいて実行される、曖昧性解消用語「犬(dog)」のその後の選択によって、ユーザが「犬の吠え声(dog barking)」に関する情報に関心を示すように表される。このように、選択された曖昧性解消用語は、アクティブ概念を識別するために、動作304で識別された複数の概念の中でセマンティック的な曖昧性解消のために使用することができる。
従って、動作306において、曖昧性解消用語の候補セットを生成することができる。これは、任意の適切な方法で行うことができる。例えば、曖昧性解消用語の候補セットは、1つ以上のキーワード、形態素、及び/又はユーザコンテキスト情報の関連部分に一致する複数の概念の中で1つ以上の概念からなる他の任意の適切な知識表現エンティティを含むことができる。また、曖昧性解消用語の候補セットは、1つ以上のキーワード、形態素、及び/又はセマンティック・ネットワークの所定の分離度の範囲内に、複数の概念の中の1つの概念に接続された任意の概念からなる他の任意の適切なKRエンティティを含むことができる。任意の適切な分離度(例えば1,2,3,4,5等)を用いることができる。いくつかの実施形態において、曖昧性解消用語の候補セットは、ユーザコンテキスト情報の関連部分において用語のいずれかを含んでいないかもしれないが、他の実施形態では、曖昧性解消用語の候補セットは、ユーザコンテキスト情報の関連部分において1つ以上の用語を含んでもよい。
次に、プロセス300は、曖昧性解消用語の候補の1つ以上を選択するように、動作308に進む。選択は、任意の適切な方法で行ってもよいし、自動的に実行してもよく及び/又はユーザ入力に基づいて1つ以上の曖昧性解消用語を取得することを含むことができる。例えば、いくつかの実施形態では、1つ以上の候補曖昧性解消用語を、ユーザに提供することができ、それによって、ユーザは、ユーザが何に関心を示すかを表すこれらの候補曖昧性解消用語を選択できる。候補曖昧性解消用語は、可能な様々な方法のいずれかでユーザに提供することができる。例えば、いくつかの実施形態において、この用語は、サーバ208(すなわち、プロセス100を実行するコンピュータ)から、ユーザコンテキスト情報が取得されたクライアント202上のアプリケーションプログラム204に提供することができる。アプリケーションプログラム204が、イントラネット又はWWWブラウザである実施形態において、この用語は、ウェブページの形態として提供することができる。このように、ユーザは、ユーザが関心を示す情報のタイプを示すために、1つ以上の用語を選択することができる。
1つ以上の候補曖昧性解消用語がユーザに提供される方法にも拘わらず、1つ以上の曖昧性解消用語の選択を含むユーザ入力が、プロセス300の動作308の一部として受信される。例えば、動作306で生成された曖昧性解消用語の候補セットを受信したアプリケーションプログラム204は、1つ以上の用語を選択するユーザからの入力を受け付けることができ、プロセス100を実行するサーバにユーザが選択した用語(複数可)の指標を送信することができる。
いくつかの実施形態では、1つ以上の曖昧性解消用語は、いかなるユーザ入力も必要とせずに、曖昧性解消用語の候補セットから自動的に選択することができる。例えば、動作306で生成された曖昧性解消用語の候補セットからの1つ以上の用語は、ユーザコンテキスト情報(例えば、ユーザの閲覧履歴、オンライン・プロファイル、ユーザが選択した優先度(嗜好)、又は前述したユーザコンテキスト情報の他のタイプ)に基づいて選択することができる。例えば、ユーザが「ほえ声(bark)」を探している状況を考慮するが、ユーザが犬に関する様々な情報に関心を示していたことがユーザの閲覧履歴から明らかである。この場合には、ユーザは、「樹皮(tree bark)」ではなく「犬のほえ声(dog bark)」に関する情報を検索している可能性がある。従って、ユーザコンテキスト情報は、曖昧性解消用語の候補セット{「犬」と「木」}から用語「犬」を選択して使用することができる。別の例として、ソーシャル・ネットワーク・ウェブサイト上のユーザのオンライン・プロファイルは、ユーザが熱心な植物学者(又はユーザに関連付けられた地理空間情報が、ユーザが熱帯雨林に位置していることを示す場合)であるときに、ユーザは、「犬のほえ方(dog bark)」ではなく、「樹皮(tree bark)」に関する情報を検索している可能性が高い。しかし、曖昧性解消用語を選択するための上述した手法は、曖昧性解消用語が任意の他の適切な方法で選択することができるような、単なる例示として認識されたい。
動作308において、1つ以上の曖昧性解消用語が取得される方法にも拘わらず、取得された用語は、ユーザコンテキスト情報の関連部分に一致する複数の概念の中でアクティブ概念を識別するために使用することができる。従って、識別されたアクティブ概念は、1人以上のユーザが関心を示すような情報を表すことができる。動作308において、アクティブ概念が識別された後に、プロセス300は、アクティブなプロセスが後続の処理のために返され、且つプロセス300が完了するように、動作320に進む。
再び、プロセス300の判定ブロック302を検討する。判定ブロック302において、ユーザコンテキスト情報の関連部分が、知識表現のいずれの概念とも一致しないと判定された場合に(「いいえ」分岐に出力)、プロセス300は、ユーザコンテキスト情報の関連部分が、1つ以上の知識表現エンティティに分解されるように、動作310に進む。例えば、ユーザコンテキスト情報の関連部分は、個々の概念、キーワード、及び/又は形態素に分解することができる。これは、任意の適切な方法で行うことができる。例えば、ユーザコンテキスト情報の一部が、英数字の文字列で表現される場合に、この文字列は、より要素的な知識表現エンティティにトークン化又は分離することができる。「その(the)」や「及び(and)」等のストップワード(stop word)は、除外又は無視することができる。例えば、ユーザの検索クエリの英数字の文字列が、「BPの取締役会(The BP Board of Directors)」である場合に、このクエリは次のエンティティにトークン化される、「取締役会(Board of Directors)」、「BP役員会(BP Board)」、「BP取締役(BP Directors)」、「BP」、「役員会(Board)」、「取締役(directors)」等である。なお、他の多くの技術は、ユーザコンテキスト情報の関連部分を、セマンティック解析方法を含む知識表現エンティティに分離するように適用することができることを認識すべきであり、このような手法は、2011年6月21日に出願された、”Systems and Methods for Analyzing and Synthesizing Complex Knowledge Representations”という表題の米国特許仮出願第13/165,423号明細書に記載されており、この文献は、参照により本明細書に組み込まれる。
プロセス300は、動作310で導出されたKRエンティティをカバーする知識表現内の概念が識別されるように、動作312に進む。これは、任意の適切な方法で行うことができ、例えば、一致があるかどうかを確認するために、KRエンティティの各々をKR内の概念と比較することによって行うことができる。いくつかの実施形態では、KRエンティティに関連付けられた文字列は、KR内の概念のラベルと比較することができる。例えば、それぞれ「取締役会(Board of Directors)」、「役員会(Board)」とラベル付けされた概念402及び406を含む、図4Aに示すセマンティック・ネットワーク401を検討する。概念402及び406は、「〜によって規定される(defined-by)」エッジ404によって接続されている。明示的に示されていないが、「取締役会(Board of Directors)」とラベル付けされている概念に関連付けられたノードは、「〜によって規定される(defined-by)」エッジを介して「取締役(Directors)」とラベル付けされた概念に関連付けられたノードに接続することもできる。従って、セマンティック・ネットワーク401に存在するノードは、KRエンティティ「取締役会(Board of Directors)」、「取締役(Directors)」、及び「役員会(Board)」をカバーする。これらのKRエンティティは、プロセス300の動作310において英数字文字列「BPの取締役会(BP Board of Directors)」から導出されることに注意されたい。セマンティック・ネットワーク401は、「BPの取締役会(BP Board of Directors)」のラベルの付いた概念を含まないことに注意されたい。
プロセス300は、次に、ユーザコンテキスト情報の関連部分に対応するアクティブ概念が生成され、その後、このアクティブ概念を含むユーザ固有の知識表現を構築するために使用することができるように、動作314〜318に進む。最初に、動作314において、ユーザコンテキスト情報の関連部分に関連付けられたアクティブ概念が生成される。これは、任意の適切な方法で行うことができる。例えば、新しいノードは、知識表現に加えることができ、ユーザコンテキスト情報の関連部分と関連付けることができる。このように、ノードに、ユーザコンテキスト情報の関連部分を含む識別子(すなわち、概念ラベル)を割り当てることができる。例えば、図4Bに示されるように、生成されたアクティブ概念に関連付けられるとともに、「BPの取締役会(BP Board of Directors)」とラベル付けされたノード408は、セマンティック・ネットワーク403を形成するために、セマンティック・ネットワーク401に追加される。セマンティック・ネットワークのこの図及びその他の図において、アクティブ概念に対応するノードは、矩形によって示すことができる。
次に、動作316の一部として、新しいノードは、1つ以上の新たなエッジによって知識表現内に既に存在する1つ以上の概念に接続することができる。生成されたアクティブ概念を表す新しいノードは、知識表現内の任意の適切な概念に接続することができ、例えば、ユーザコンテキスト情報の関連部分から導出される知識表現エンティティをカバーするような知識表現内の1つ以上の概念に接続することができる。従って、「BPの取締役会(BP Board of Directors)」の例において、ノード408は、「取締役会(Board of Directors)」の概念に関連付けられたノードに、「役員会(Board)」の概念に関連付けられたノードに、及び/又は「取締役(Directors)」の概念に関連付けられたノードに接続される。
いくつかの実施形態では、新しいノードは、動作310において導出されたKRエンティティをカバーするような最も複雑な概念に関連付けられたノードに接続することもできる。概念の複雑さは、多数の方法のいずれかによって規定することができる。概念の複雑さは、「〜によって規定される(defined-by)」の概念である他の概念の数の指標であり、「〜によって規定される(defined-by)」の概念の数が多くなるほど、概念の複雑さはより増すことになる。従って、概念の複雑さは、その概念に対応するノードから外向きの「〜によって規定される(defined-by)」エッジの数に比例させることができる。セマンティック・ネットワーク401において、例えば、「取締役会(Board of Directors)」の概念は、「役員会(Board)」の概念よりもより複雑さを増している。別の例として、概念の複雑さは、概念のラベル内の単語の数で示すことができ、単語の数が多くなるほど、その複雑さはより増すことになる。従って、概念の複雑さは、概念ラベル内の単語の数に比例することになる。この場合では、概念「取締役会(Board of Directors)」は、「役員会(Board)」の概念よりもより複雑さを増している。従って、「BPの取締役会(BP Board of Directors)」の概念に関連付けられたノード408は、セマンティック・ネットワーク405において、新たな「〜によって規定される(defined-By)」エッジ410によって「取締役会(Board of Directors)」の概念に対応するノード402に接続される。
最後に、動作318において、知識表現は、この知識表現が、動作310において、ユーザコンテキスト情報の関連部分から導出されるKRエンティティの全てをカバーするような概念を含むようにさらに増大(拡張)させることができる。この目的を達成するために、新しいノードは、動作310で導出された各KRエンティティについての知識表現に追加することができるが、知識表現内に既存の概念によってカバーされていない。そのような各新しいノードは、知識表現内に存在する1つ以上の概念に接続することができ、及び、例えば「〜によって規定される(defined-by)」エッジを介して、生成されたアクティブ概念に関連付けられた概念に接続することができる。例えば、キーワード「BP」は、新たな概念「BPの取締役会(BP Board of Directors)」から導出されたが、セマンティック・ネットワーク401又は403における概念のいずれによってもカバーされていない。こうして、図4Cに示されるように、概念「BP」に関連付けられているノード416は、動作318において知識表現に追加してもよく、及び「〜によって規定される(defined-by)」エッジ414を介して、アクティブ概念に関連付けられたノード408に接続されてもよい。
このようにして、動作314〜318が実行された後に、新たなユーザ固有の知識表現が形成される。この形成された知識表現は、この形成された表現が、1人以上のユーザに関連付けられたユーザコンテキスト情報から導出された1つ以上の概念と、動作302において使用された知識表現とを含むので、ユーザに固有なものになる。図4A〜4Cの例において、セマンティック・ネットワーク405は、2つの概念(すなわち、ユーザコンテキスト情報から取得された「BP」と「BPの取締役会(BP Board of Directors)」と)をセマンティック・ネットワーク401に組み込むことによって形成される。しかし、図4A〜4Cの例は、単に例示であり、本発明の態様を限定するものではないことを認識されたい。次に、プロセス300は、動作314〜318で生成されたアクティブ概念が、後続の処理のために提供され、動作320の後で、プロセス300が完了するように、動作320に進む。
なお、ユーザ固有の知識表現が形成された後に、その形成された知識表現は、その後1人以上のユーザに関連付けられる任意の処理において使用されるために格納されてもよいことを理解されたい。例えば、ユーザ固有の知識表現が使用されてもよく、及び/又は常に更新されたプロセス100又は300が、ユーザ(複数可)に関連して実行されてもよい。ユーザ固有の知識表現は、任意の適切な方法で格納することができ、例えば、任意の適切なタイプの1つ以上の非一時的な、有形のコンピュータ可読記憶媒体を使用して格納することができる。
III.アクティブ概念に関連する概念の識別
上述したように、プロセス100の動作106において、アクティブ概念に関連する1つ以上の概念は、アクティブ概念を含む知識表現を使用することによって取得することができる。知識表現は、任意の適切な知識表現とすることができ、いくつかの例では、コンテキスト情報がプロセス100の動作102で取得されるそのユーザ(複数可)に関連付けられたユーザ固有の知識表現とすることができる。アクティブ概念は、知識表現内の任意の適当な概念とすることができ、例えば、プロセス300を使用して、又は任意の他の適切な方法でユーザコンテキスト情報に少なくとも部分的に基づいて識別することができる。
いくつかの実施形態では、アクティブ概念に関連する1つ以上の概念は、アクティブ概念を含む知識表現の構造に少なくとも部分的に基づいて取得することができる。例えば、知識表現がセマンティック・ネットワークであるときに、アクティブ概念に関連する1つ以上の概念は、セマンティック・ネットワークを表すグラフの構造に少なくとも部分的に基づいて取得することができる。グラフ構造の多数の態様のいずれかは、概念同士の間のセマンティックな関係を表すエッジの方向性と、このセマンティック関係が、「〜によって規定される(defined-by)」関係又は「〜である(is-a)」関係かどうかとを含むが、これらに限定されるものではない。追加的に又は代替的に、グラフの構造は、最初にセマンティック・ネットワーク中に存在しないような、アクティブ概念に関連する1つ以上の新しい概念を合成するために使用されてもよい。この場合には、合成された概念のいずれかは、セマンティック・ネットワークを増大(拡張)させるために利用されてもよい。
アクティブ概念を含むセマンティック・ネットワークのグラフ構造に基づいて、アクティブ概念に関連する概念を取得するための多数の手法のいずれかが、プロセス100の動作106において使用されてもよい。いくつかの実施形態では、アクティブ概念に関連する概念は、セマンティック・ネットワークのグラフ構造に対して1つ以上の種類の操作を実行することにより取得されてもよい。そのような3つの操作、すなわち、(1)検索操作、(2)加法操作、(3)置換操作を、以下でより詳細に説明する。これらの3つの操作は、単に例示であるが、セマンティック・ネットワークのグラフ構造に少なくとも部分的に基づいて、アクティブ概念に関連する概念を識別するための任意の他の適切な操作を、使用してもよい。簡潔にするために、以下の操作の説明において、明示的な区別は、概念を表すために使用されるグラフのノードと概念それ自体との間で行われていない。このようにして、2つの概念同士の間のエッジは、これら2つの概念を表すために使用されるセマンティック・グラフ内のノード同士間のエッジに対応する。
検索操作は、アクティブ概念に関連するセマンティック・ネットワーク内の概念を識別するために使用されてもよい。いくつかの実施形態では、検索操作は、アクティブ概念が識別及び/又は生成される前に、セマンティック・ネットワーク内で表されていた概念を識別するために使用されてもよい。しかし、他の実施形態では、検索操作は、アクティブ概念が(例えば、プロセス300の動作318において)生成されたときに、セマンティック・ネットワークに追加された概念を識別するために使用されてもよい。
いくつかの実施形態では、検索操作は、任意の適切なタイプの及び/又は方向の1つ以上のエッジによって、アクティブ概念に関連するある概念としてアクティブ概念に接続される概念を識別することができる。例えば、検索操作は、1つ以上の「〜である(is-a)」エッジによって、アクティブ概念に関連するある概念としてアクティブ概念に接続される概念を識別することができる。具体的な例として、検索操作は、アクティブ概念に向かう外向きの「〜である(is-a)」エッジを有する概念、又はアクティブ概念に関連するある概念としてアクティブ概念からの内向きの「〜である(is-a)」エッジを有する概念を識別することができる。
検索操作の簡単な例が図5Aに示されており、この図には、アクティブ概念「プレス(press)」(概念「プレス(press)」がアクティブであり、ここでは矩形で示されている)と別の概念「プッシュプレス(push press)」とを含むセマンティック・ネットワークが示されている。概念「プッシュプレス(push press)」は、外向きの「〜である(is-a)」関係を介してアクティブ概念に接続されている。従って、検索操作は、アクティブ概念に関連する概念として概念「プッシュプレス(push press)」を識別するように使用することができる。図5A〜5Hにおいて、アクティブ概念に関連する(複数の)概念として識別された(複数の)概念は、ひし形によって示されていることに注意されたい。
セマンティック・ネットワーク内の既存の概念の中のアクティブ概念に関連する概念を取得するために使用されるような検索操作とは対照的に、以下に説明される加法操作及び置換操作は、アクティブ概念とセマンティック・ネットワーク内の概念とに少なくとも部分的に基づいて新しい概念を合成することによって、アクティブ概念に関連する概念を取得するために使用することができる。5B〜5Hにおいて、新しい概念を合成するためにアクティブ概念に追加される概念は、六角形で示されていることに注意されたい。
加法操作は、アクティブ概念とセマンティック・ネットワーク内の少なくとも1つの他の概念とを使用して新しい概念を合成して、アクティブ概念に関連する概念として新しい概念を返すことができる。この新しい概念は、(1)属性の共規定(co-define)、(2)親類推(analogy-by-parent)、(3)兄弟類推(analogy-by-sibling)、(4)属性の共通性又はこれらの任意の適切な組み合わせ:を少なくとも含む多数の手法のいずれかを使用して合成することができる。
いくつかの実施形態では、加法操作は、属性の共規定手法を用いて新しい概念を合成するために使用することができる。セマンティック・ネットワーク内の第1の概念は、第1の概念が、第2の概念を規定する場合に、セマンティック・ネットワーク内の第2の概念の属性となる。これは、第2の概念から第1の概念への外向きの「〜によって規定される(defined-by)」エッジが存在する場合に、セマンティック・ネットワークを示すグラフから確定される。例えば、図5Bに示されるように、概念「ベンチ(bench)」、「プレス(press)」、及び「セット(sets)」は、概念「ベンチプレスセット(bench press sets)」の属性であり、概念「プレス(press)」、「セット(sets)」は、概念「プレスセット(press sets)」の属性である。アクティブ概念が、第1の概念の属性であり(すなわち、外向きの「〜によって規定される(defined-by)」エッジを介して第1の概念に接続される)、且つ第1の概念が、属性として1つ以上の他の概念を有している場合に、アクティブ概念と他の概念(複数可)とは、第1の概念を共規定する(co-define)と考えることができる。例えば、図5Bにおいて、「プレス(press)」は、アクティブ概念であり、概念「プレス(press)」、「ベンチ(bench)」、「セット(sets)」は、概念「ベンチプレスセット(bench press sets)」を共規定する。
属性の共規定手法において、新たな概念は、アクティブ概念を、このアクティブ概念を含むある概念を共規定するような他の概念のいずれかと組み合わせることによって合成することができる。例えば、図5Bに示されるように、概念「プレスセット(press sets)」は、「プレス(press)」と「セット(sets)」とを組み合わせることにより合成することができる。別の例(図5Bに図示せず)として、概念「ベンチプレス(bench press)」は、「プレス(press)」と「ベンチ(bench)」とを組み合わせることによって合成することができる。
いくつかの実施形態では、加法操作は、親類推手法を用いることによって新しい概念を合成するために使用することができる。セマンティック・ネットワークにおいて、第2の概念に対して外向きの「〜である(is-a)」エッジを有する第1の概念は、第2の概念からなる子概念として見なすことができる。別の言い方をすれば、第2の概念は、第1の概念の親概念であると見なすことができる。例えば、図5Cにおいて、概念「座席(seat)」は、アクティブ概念「リクライニングチェア(recliner)」の親概念である。親類推手法は、ある概念を親のアクティブ概念で共規定する属性がアクティブ概念に関連するような考えによって動機付けされている。より明確な言い方をすれば、親に関連する何か(概念)は、子に関連してもよい。
従って、親類推手法において、新しい概念は、親のアクティブ概念と一緒に、第3の概念を共規定(又は部分的に共規定)するように、アクティブ概念と任意の第2の概念とを使用することによって合成することができる。例えば、図5Cにおいて、「リクライニングチェア(recliner)」の親概念である概念「座席(seat)」と、「トイレ(toilet)」とが一緒に、概念「便座(toilet seat)」を共規定する。このようにして、概念「トイレ(toilet)」が、別の概念を(親のアクティブ概念で)共規定し、そうして、親のアクティブ概念に関連するとみなすことができる。従って、アクティブ概念「リクライニングチェア(recliner)」と概念「トイレ(toilet)」とが、新しい概念「リクライニング付きトイレ(recliner toilet)」を合成するために使用することができる。
いくつかの実施形態では、加法操作は、兄弟類推手法を用いることによって新しい概念を合成するために使用することができる。セマンティック・ネットワークにおいて、共通の(親)概念において終端する外向的の「〜である(is-a)」エッジを有する任意の2つの概念は、互いに兄弟概念と見なされてもよい。例えば、図5Dにおいて、概念「椅子(chair)」と「リクライニングチェア(recliner)」とは、兄弟概念として見なされてもよい。親類推手法は、ある概念を兄弟関係のアクティブ概念で共規定する属性がアクティブ概念に関連するというような考えによって動機付けられている。より明確な言い方をすれば、1つの兄弟に関連する何か(概念)は、別の兄弟へ関連することがある。
従って、親類推手法では、新たな概念は、兄弟関係のアクティブ概念と一緒に、第3の概念を共規定(又は部分的に共規定)するように、アクティブ概念と任意の第2の概念とを使用することによって合成することができる。例えば、図5Dにおいて、アクティブ概念「リクライニングチェア(recliner)」と兄弟関係である概念「椅子(chair)」と、「マッサージ(massage)」とが一緒に、概念「マッサージチェア(massage chair)」を共規定する。このようにして、概念「マッサージ(massage)」が、別の概念を(兄弟関係の概念で)共規定し、そうして、兄弟関係の概念「椅子(chair)」に関連するとみなすことができる。従って、アクティブ概念「リクライニングチェア(recliner)」と概念「マッサージ(massage)」とが、新しい概念「マッサージ付きリクライニングチェア(massage recliner)」を合成するために用いることができる。
用語「親」及び「兄弟」は、上述した操作のいくつかの背後の洞察力を提供するために使用され、且ついくつかの実施形態では、そのようなアトミック(原子のような核をなす)知識表現モデルのような概念は、文字通りの「親」と「兄弟」関係を含まないことがあることを認識すべきである。用語「兄弟」と「親」とは、複雑な知識表現内に分類学構造を提案する。対照的に、いくつかの実施形態では、アトミック知識表現モデルは、「〜である(is-a)」関係と「〜によって規定される(defined-by)」関係のみを含むことができる。
いくつかの実施形態では、加法操作は、属性の共通性手法を用いることによって新しい概念を合成するために使用することができる。セマンティック・ネットワークにおいて、(複数の)概念が互いに1つ以上の属性を共有する場合には、2つの概念は、「属性の共通性」を示すと考えることができる。例えば、図5Eに示されるように、概念「マッサージチェア(massage chair)」と「指圧療法マッサージチェア(shiatsu therapy massage chair)」とは、属性「マッサージ(massage)」と「椅子(chair)」とを共有しており、且つ、そのように、属性の共通性を示すと考えることができる。属性の共通性手法は、第1の概念が第2の概念と1つ以上の属性を共有する場合に、次に、第2の概念の他の任意の属性が第1の概念に関連するような考えによって動機付けられている。
従って、属性の共通性手法において、新たな概念は、アクティブ概念と、このアクティブ概念と1つ以上の属性を共有する第2の概念の任意の属性とを使用することにより合成することができる。例えば、図5Eに示されるように、アクティブ概念「マッサージチェア(massage chair)」と、この「マッサージチェア(massage chair)」と属性の共通性を有する概念「指圧療法マッサージチェア(shiatsu therapy massage chair)」の属性である「指圧(shiatsu)」とは、新しい概念「指圧マッサージチェア(shiatsu massage chair)」を合成するために使用されてもよい。別の例として、図5Eには示されていないが、アクティブ概念「マッサージチェア(massage chair)」と「療法(therapy)」とは、新しい概念「マッサージ療法チェア(massage therapy chair)」を合成するために使用されてもよい。
いくつかの実施形態では、属性の共通性手法は、アクティブ概念と、少なくとも1つの「〜である(is-a)」ブリッジを使用して識別される別の概念とを使用することによって、新しい概念を生成することを含んでもよい。セマンティック・ネットワークにおいて、2つの概念は、それら2つの概念が両方とも、共通(親)概念で終端する外向きの「〜である(is-a)」エッジを共有する場合に、「〜である(is-a)」ブリッジを介して接続される。例えば、図5Fにおいて、概念「ヨガ(yoga)」と「重量挙げ(weightlifting)」とは、「〜である(is-a)」ブリッジを介して概念「運動(exercise)」に接続されている。また、概念「マット(mat)」と「ベンチ(bench)」とが、「〜である(is-a)」ブリッジを介して概念「家具(furniture)」に接続されている。
属性の共通性手法では、新しい概念は、アクティブ概念と、「〜である(is-a)」ブリッジを介してアクティブ概念のある属性に接続された属性を有する第2の概念とを使用して合成されてもよい。いくつかの例では、新しい概念は、アクティブ概念と、「〜である(is-a)」ブリッジを介してアクティブ概念のある属性に接続されていない第2の概念の任意の属性とを使用して合成されてもよい。例えば、図5Fに示されるように、アクティブ概念「ヨガマット(yoga mat)」は、その属性として「ヨガ(yoga)」と「マット(mat)」とを有している。これらの属性の各々は、概念「吸汗性の重量挙げベンチ(sweat-absorbent weightlifting bench)」の属性に接続されている。従って、アクティブ概念「ヨガマット(yoga mat)」と属性「吸汗性(sweat-absorbent)」とは、新しい概念「吸汗性ヨガマット(sweat-absorbent yoga mat)」を合成するために用いることができる。
加法操作を行うための上述した手法は、アクティブ概念を別の概念と組み合わせることによって、アクティブ概念に関連するような概念として、新しい概念を合成することを含む。その結果、合成された概念は、アクティブ概念よりも未だ一般的となっていない又は「より狭い」概念となり得る。しかしながら、アクティブ概念に関連する概念は、アクティブ概念よりも一般的となっている必要があり、実際のところ、アクティブ概念よりもより一般的な又は「より広範な」概念であってもよいことを認識されたい。
従って、いくつかの実施態様において、アクティブ概念の1つ以上の属性は、アクティブ概念よりもより一般的であるような候補を生成するためにプルーニング(prune:余分なものを取り除く)されてもよい。これは、任意の適切な方法で行うことができる。例として、属性は、「逆」加法操作を実行することによってプルーニングされてもよく、ここで、アクティブ概念の属性は、上述した手法のいずれかに従って、属性が、プルーニングの結果「より広範な」概念と組み合わせられた場合に、取り除かれる。例えば、図5Eに示されるセマンティック・ネットワークにおいて、概念「指圧マッサージチェア(shiatsu massage chair)」が、アクティブ概念であって、且つ概念「マッサージチェア(massage chair)」が、ネットワーク内に存在しなかった場合に、次に、概念「マッサージチェア(massage chair)」は、属性「指圧(shiatsu)」をプルーニングすることによって形成することができる。いくつかの実施形態では、任意の好適な属性は、得られた概念がセマンティック・ネットワーク内に存在しない限り、プルーニングされてもよい。例えば、属性「マッサージ(massage)」は、概念「指圧チェア(shiatsu chair)」を得るためにプルーニングされることがある。
アクティブ概念に関連する1つ以上の概念を取得するために使用される別の操作は、置換操作である。置換操作は、アクティブ概念の1つ以上の属性を別の概念に置換することによって、新たな概念を合成するために使用され、その新たな概念は、置換前の属性よりも広い又は狭い概念であってもよい。置換を実行するには、検索操作又は加法操作のどちらかが、アクティブ概念の1つ以上の属性上で実行されてもよい。アクティブ概念の特定の属性上で実行されたときに、検索操作又は加法操作によって識別され又は生成された概念は、新しい概念を合成するために特定の属性を置換するように使用することができる。
例えば、図5Gに示されるセマンティック・ネットワークが、属性「厳しい(strict)」と「プレス(press)」とを含むアクティブ概念「厳しいプレス(strict press)」を含むことを検討してみる。図5Aを参照して前述したように、属性「プレス(press)」上で実行された検索操作が、(より狭い)概念「プッシュプレス(push press)」を識別するために使用することができる。置換手法によれば、このより狭い概念(「プッシュプレス(push press)」)は、新しい概念を合成するためにアクティブ概念(より狭い概念が導出された属性以外)の任意の属性又は複数の属性と組み合わせることができる。このようにして、概念「厳しいプッシュプレス(strict push press)」を合成してもよい。同様にして、検索操作を用いる置換は、その属性よりも広範な概念を有するアクティブ概念の属性を置換するように実行されてもよい。
図5Hは、属性の共規定手法に基づいて、加法操作を使用することによって置換操作を実行することを例示する。この例において、属性の共規定手法をアクティブ概念「プッシュプレス(push press)」の属性「プレス(press)」に適用することによって、図5Bを参照して前述したような概念「プレスセット(press sets)」を生じさせる。従って、概念「プレスセット(press sets)」は、新しい概念「プッシュプレスセット(push press sets)」を合成するために、概念「プッシュプレス(push press)」の属性「プレス(press)」を置換するように用いることができる。
同じ脈絡において、任意の他のタイプの加法操作(例えば、親類推、兄弟類推、及び属性の共通性)をアクティブ概念の1つ以上の属性上で使用する置換操作が、アクティブ概念に関連する1つ以上の概念を合成するために使用されてもよい。
IV.関連する測定や複数の測定を使用して識別された概念(複数可)をスコアリング及び選択する
アクティブ概念に関連する1つ以上の概念が、動作106において取得された後に、プロセス100は、取得された概念がスコアリングされ、且つ概念のサブセットがこの計算されたスコアに基づいて後続の使用のために選択されるように、動作108進む。動作106で取得された概念に関連するスコアは、多数の方法のいずれかで計算することができる。いくつかの実施形態では、スコアは、スコアリングされる概念がアクティブ概念にどの様に関連するかを示す1つ以上の関連する測定を使用することによって取得されてもよい。関連する測定は、スコアリングすべき概念とアクティブ概念とを含むセマンティック・ネットワークを表すようなグラフの構造に少なくとも部分的に基づいて計算される。
関連性の5つの測定法は、いくつかの変形形態とともに以下により詳細に説明される:すなわち、(1)生成確実性(generation certainty)、(2)概念の生産性(concept productivity)、(3)ジャカール(Jaccard)、(4)統計的コヒーレンス、及び(5)コサイン類似度である。これらの手法は、単なる例示であり、スコアを概念に割り当てるための任意の他の適切な手法が使用されてもよいことを認識されたい。以下でより詳細に説明されるように、例えば、上述した手法のいずれかは、動作106において取得された概念について統合されたスコアを計算するために組み合わせることができる。
IV.A 生成確実性手法
生成確実性手法において、概念のスコアは、概念を含むセマンティック・ネットワークの構造に少なくとも部分的に基づいて計算することができる。プロセス100の動作106において取得された概念のいずれかが、セマンティック・ネットワーク内に存在し、又はそれら概念が合成された後で、セマンティック・ネットワークに追加されることを思い出して下さい。特定の概念について計算された生成確実性スコアは、セマンティック・ネットワークの構造、並びにセマンティック・ネットワーク内の特定の概念の位置及びアクティブ概念に依存してもよい。スコアは、アクティブ概念と特定の概念との経路内のエッジの数、アクティブ概念と特定の概念との間の経路内のノードの数、アクティブ概念と特定の概念との間の経路内のエッジのタイプ、アクティブ概念と特定の概念との間の経路内のノードのタイプ、アクティブ概念と特定の概念との間の経路内のエッジの方向性、アクティブ概念と特定の概念との間の経路内のエッジに関連付けられる任意の重み付け、及びそれらの任意の好適な組み合わせを含むが、これらに限定されないようなセマンティック・ネットワークの構造の多数の態様のいずれかに依存する。セマンティック・ネットワークを表すグラフ構造が、アクティブ概念とスコアリングすべき概念との間に1つ以上の経路が存在してもよいことを認識されたい。
いくつかの実施形態では、例えば、特定の概念について計算された生成確実性スコアは、アクティブ概念とセマンティック・グラフ内の特定の概念とを分離するエッジ及び/又はノードの数に反比例してもよい。それに応じて、多数のエッジ及び/又はノードによってアクティブ概念から分離された概念について計算されたスコアは、より小さい数のエッジ及び/又はノードによってアクティブ概念から分離された概念について計算されたスコアよりも低くなってよい。
前述したように、いくつかの実施形態では、生成確実性スコアは、セマンティック・ネットワーク中のエッジに関連付けられた重み付けの関数として計算されてもよい。具体的には、生成確実性スコアは、アクティブ概念とスコアリングすべき概念との間の経路内におけるエッジのセットに関連付けられた重み付けの関数として計算されてもよい。この場合には、生成確実性スコアは、アクティブ概念からスコアリングすべき概念への経路内のエッジの重み付けの積を取ることによって計算されてもよい。
重み付けは、多数の方法のいずれかにおいて、セマンティック・ネットワーク内のエッジに割り当てることができる。いくつかの実施形態では、エッジに割り当てられた重み付けは、そのエッジを横切る(traversing)ように関連付けられた確実性の測定値に基づいて計算することができる。次に、エッジを横切るように関連付けられた確実性の総量は、エッジのタイプ(すなわち、「〜によって規定される(defined-by)」エッジ又は「〜である(is-a)」エッジである)及び/又は横断の方向性に依存し得る。いくつかの実施形態では、エッジに割り当てられた重み付けは、0と1の間の数であってもよいが、他の実施形態では、重み付けは、他の任意の適当な範囲内の数であってもよい。
例えば、「〜によって規定される(defined-by)」エッジの横断(traversal)によって、xの係数だけエッジを横断するように関連付けられた確実性を低減することができ、ここで、xは、0と1との間の任意の適当な数であってもよく、及び、例えば、0.25,0.5,0.75,0.9等に等しい又はより大きい任意の係数であってもよい。同様に、「〜である(is-a)」エッジの横断によって、yの係数だけエッジを横断するような確実性を低減することができ、ここで、yは、0と1との間の任意の適当な数であってもよく、及び、例えば、0.25,0.5,0.75,0.9等に等しいより大きい任意の係数であってもよい。いくつかの例では、係数xが係数yに等しくてもよいが、いくつかの例では、これらの係数は、エッジを横断するように関連付けられた確実性の総量が、横断すべきエッジのタイプに依存するように異なっていてもよい。
いくつかの実施形態では、エッジを横断するように関連付けられた確実性の総量は、エッジの方向性と、1つの概念から別の概念への経路内のそのエッジを横断するときに、エッジが横断される方向とに依存し得る。例えば、概念Aから概念Bへの移動(ここで、AがB「〜である(is-a)」とは、セマンティック・ネットワーク内において、概念Aに関連付けられたノードから概念Bに関連付けられたノードへの外向きの「〜である(is-a)」エッジがある)は、1つの係数(例えば、0.9)によって確実性の総量を低減する一方、「〜である(is-a)」エッジの方向に反対向きの移動は、異なる係数(例えば、0.8)によって確実性を低減することができる。
いくつかの実施形態では、概念に割り当てられた生成確実性スコアは、その概念が、検索操作を使用することによって取得された(すなわち、概念がセマンティック・ネットワーク内に既に存在していた)又は加法操作又は置換操作を使用して取得された(すなわち、概念が合成された)かどうかに依存してもよい。例えば、生成確実性スコアは、概念が合成されたときに、係数(例えば、0.25)よって低減することができる。
1つの例示として、生成確実性スコアを計算する非限定的な例が、図6Aに示されている。この場合では、候補「マッサージ付きリクライニングチェア(massage recliner)」の生成確実性は、アクティブ概念「リクライニングチェア(recliner)」から、合成された概念「マッサージ付きリクライニングチェア(massage recliner)」への経路内のエッジに関連付けられた重み付けの積として計算するようにしてもよい。図6Aに示されるように、経路に沿って「〜によって規定される(defined-by)」エッジのそれぞれに関連付けられた重み付けは、0.9であり、且つ経路に沿って「〜である(is-a)」エッジのそれぞれに関連付けられた重み付けは、0.75である。さらに、概念「マッサージ付きリクライニングチェア(massage recliner)」が、合成された概念であるので、全体的な生成確実性スコアは、0.25の係数によって調整される。このようにして、生成確実性スコア、Sgc、は以下の式に従って計算されてもよい:
Sgc = Edgerecliner-seat * Edgeseat-chair * Edgechair-massage chair * Edgemassage chair-massage * Nodemassage recliner
= Edgeis-a * Edgeis-a * Edgedefmed-by * Edgedefmed-by *Nodesynthesized
= 0.9 * 0.9 * 0.75 * 0.75 * 0.25 = 0.1139
いくつかの実施形態では、セマンティック・ネットワーク内のエッジに関連付けられた重み付けの数値が、手動で割り当てられてもよい(例えば、「〜である(is-a)」エッジに0.9の重み付けが割り当てられ、及び「〜によって規定される(defined-by)」エッジに0.75の重み付けが割り当てられる)ことを認識されたい。追加的に又は代替的に、重み付けの数値は、以下に説明され及び/又は以下の文献に開示される教示を用いて確率として計算される統計的コヒーレンスに基づくものであり、ここでその文献は、2011年1月7日に出願された、Probabilistic Approach for Synthesis of a Semantic Network”という表題の米国特許仮出願第61/430,810号明細書;2011年1月7日に出願された、”Constructing Knowledge Representations Using Atomic Semantics and Probabilistic Model”という表題の米国特許仮出願61/430,836号明細書;2011年9月8日に出願された、”Systems and methods for Incorporating User Model and Preferences into Analysis and Synthesis of Complex Knowledge Representation Model”という表題の米国特許仮出願第61/532,330号明細書;であり、ここにそれらの全体が参考として組み込まれる。
IV.B 概念の生産性スコア
概念の生産性手法において、概念のスコアは、概念が規定されるようなセマンティック・ネットワーク内の他の概念の数に基づいて計算することができる。例えば、ある概念の概念生産性スコアが、概念が有する内向きの「〜によって規定される(defined-by)」エッジの数に基づいて計算することができる。いくつかのさらなる例が、以下に提供される。
例えば、(例えば、プロセス100の動作106を参照して説明された)検索操作を用いて取得された概念に割り当てられた概念の生産性スコアは、その概念が規定する概念の数に基づいて計算してもよい。例えば、アクティブ概念が、「プレス(press)」であり、そして、このアクティブ概念は、概念「プッシュプレス(push press)」と内向きの「〜である(is-a)」関係と、概念「ダンベルプレス(dumbbell press)」と内向きの「〜である(is-a)」関係とを有している。このように、これらの概念の両方が、動作106においてアクティブ概念に関連する概念として検索することができる。しかし、概念「プッシュプレス(push press)」によって規定された概念の数が、概念「ダンベルプレス(dumbbell press)」によって規定された概念の数よりも大きい場合には、次に、概念「プッシュプレス(push press)」は、概念「ダンベルプレス(dumbbell press)」よりも高い概念の生産性スコアが割り当てられることになる。
別の例として、(例えば、プロセス100の動作106を参照して説明した)加法操作を用いて取得された概念に割り当てられた概念の生産性スコアは、合成された概念を生成するために、アクティブ概念に追加すべき概念によって規定された概念の数に基づいて計算してもよい。例えば、アクティブ概念は、「プレス(press)」であり、加法操作のいずれかを使用して合成された概念は、「プレスセット(press sets)」又は「プレスの動き(press movements)」となり得る。「動き(movements)」によって規定された概念の数が、「セット(sets)」によって規定された概念の数より大きい場合は、次に、概念「プレスの動き(press movements)」は、概念「プレスセット(press sets)」よりもより高い概念の生産性スコアが割り当てられることになる。
別の例として、置換操作を使用して取得された概念に割り当てられた概念の生産性スコアは、アクティブ概念の属性のいずれかについて置換された概念によって規定された概念の数に基づいて計算してもよい。例えば、アクティブ概念が、「プッシュプレス(push press)」であり、その属性「プレス(press)」は、概念「プレスセット(press sets)」や概念「プレスの動き(press movements)」で置換されてもよい。概念「プレスの動き(press movements)」によって規定された概念の数が、概念「プレスセット(press sets)」によって規定された概念の数より大きい場合に、次に、合成された概念「プッシュプレスの動き(push press movements)」は、合成された概念「プッシュプレスセット(push press sets)」よりもより高い概念の生産性スコアが割り当てられることになる。
IV.C ジャカールスコア
ジャカールスコア手法において、特定の概念のスコアは、アクティブ概念からの特定の分離度の範囲内にある、同様に特定の概念から同程度の分離度の範囲内にある概念の数に基づいて計算してもよい。例えば、分離度が1であるとき、特定の概念のジャカールスコアは、特定の概念とアクティブ概念との間に共通の近傍数(number of neighbors)に基づいて計算することができる。セマンティック・ネットワークにおいて、概念Aの近傍は、任意タイプのエッジを概念Aと共有するような概念である。それら近傍の概念は、エッジを共有するので、概念の近傍は、概念からの単一の分離度の範囲内にある。この場合に、アクティブ概念とスコアリングすべき概念との間に共通の近傍数が大きいほど、その概念に割り当てられるジャカールスコアはより高くなる。このように、ジャカールスコアは、2つの概念が、セマンティック・ネットワークにおいてどの様に相互接続されるかの指標を提供し、次にそれは2つの概念の関連性の指標となる。しかし、任意の分離度(例えば1,2,3,4,5,6,7等)を用いることができることを認識されたい。
ジャカール指数は、2つの集合A,B間の類似性を測定するための類似性尺度である。いくつかの例において、ジャカール指数は、以下に示されるように、集合AとBの積集合の大きさを、集合AとBの和集合の大きさで割った値として規定することができる。
ジャカール指数は、この場合に次のように適用されてもよい。集合Aは、アクティブ概念の近傍に存在する、すなわちセマンティック・ネットワークにおけるクティブ概念からの所定数の分離度の範囲内に存在する概念の集合を表す。集合Bは、スコアリングすべき概念の近傍に存在する、すなわちセマンティック・ネットワークにおけるスコアリングすべき概念からの所定数の分離度の範囲内に存在する概念の集合を表す。従って、上記式の分母は、アクティブ概念及び/又はスコアリングすべき概念の近傍に存在する(又は所定数の分離度の範囲内に存在する)概念の合計数を表す一方、分子は、アクティブ概念と評価対象の概念との近傍(又は所定数の分離度の範囲内に存在する)に両方とも存在する概念の合計数を表している。従って、ある概念のジャカールスコアは、ジャカール指数として計算することができる。
プロセス100の動作106で取得された概念についてのジャカールスコアを計算する実施例が図6Bに示されている。この例では、概念の近傍は、概念の分離度が2度の範囲内の概念を含むものとして選択されている。しかし、任意の適切な分離度に関連付けられた近傍(度)が使用されることを理解されたい。従って、アクティブ概念と、スコアリングすべき概念である概念602とのいずれかからの2度の範囲内の全ての概念は、それらの概念が、アクティブ概念と概念602との両方から分離度が2度の範囲内である限り、斜線で示されている。アクティブ概念と概念602との両方が2度の範囲内であるそのような概念は、垂直線で示されている。ジャカールスコアを計算するために、斜線又は垂直線のいずれかを有する概念の数は、ジャカールスコアの分母における概念の数(25個)であることが確認される。垂直線を有する概念の数(7個)は、ジャカールスコアの分子における概念の数である。従って、概念602のジャカールスコアは、7を25で割った値、すなわち0.28として計算される。
いくつかの実施形態では、図6Bに示された実施形態のように、アクティブ概念又はスコアリングすべき概念のいずれも、それ自体の又は互いの近傍に存在するとみなされない。しかしながら、他の実施形態では、アクティブ概念及び/又はスコアリングすべき概念は、それ自体及び/又は互いの近傍に存在するとみなすことができる。図6Bの例示では、例えばアクティブ概念と概念602とが、それ自体の及び互いの近傍に存在するとみなされた場合に、ジャカールのスコアは、9を27で割った値、すなわち0.333として計算される。
いくつかの実施形態では、ジャカールスコアは、ジャカールスコアが、概念AとBとの間に相違の尺度の指標となるように、1〜J(A,B)に係るジャカール指数の補数として計算されてもよい。この場合には、より低いスコア(より高いスコアというよりも)を有する概念は、プロセス100の動作108で選択されることを認識されたい。また、この場合に、より高いジャカールスコアを有する概念は、より低いスコアを有する概念よりもアクティブ概念とより弱い関係を有するとみなされる。
ジャカールスコアが、(例えば、動作106を参照して説明された)検索操作を使用して取得された概念について計算されるとき、ジャカールスコアは、上述した手法を検索された概念に適用することによって取得することができる。しかし、ジャカールスコアが、加法操作を介して合成された概念について計算されるとき、ジャカールスコアは、上述した手法を、合成された概念に適用するのではなく、むしろ合成された概念を生成するためにアクティブ概念と組み合わされた概念(例えば、図5Eに示した概念「指圧(shiatsu)」)に適用することによって取得することができる。同様に、ジャカールスコアが、置換操作を介して合成された概念について計算されるときに、ジャカールスコアは、上述した手法を、合成された概念に適用するのではなく、むしろアクティブ概念の属性を置換の一部として置換するために使用された概念(例えば、図5Hに示される概念「プレスセット(press sets)」)に適用することによって取得することができる。
IV.D 統計コヒーレンススコア
動作106で取得された概念についてスコアを計算するための別の手法は、いわゆる「統計的コヒーレンス」手法であり、ここで、特定の概念に割り当てられた統計的コヒーレンススコアは、1つ以上のテキストコーポラ(corpora)において、その概念とアクティブコンテキストとの共起(co-occurrence)頻度に依存することになる。このように、アクティブ概念とより頻繁に共起する概念は、アクティブ概念とほとんど共起しない概念よりもアクティブ概念により関連させることができる。
任意の適切なコーパス(corpus)又はコーポラは、プロセス100の動作106で取得された概念について統計的コヒーレンスのスコアを計算するために使用することができる。例えば、コーポラは、単一の情報ソース(例えば、文字列"wikipedia.org"を含むURLで見つかった全てのコンテンツ)又は複数の情報ソースからのものであってもよい。別の例として、被対象物固有(subject-specific)のコーポラは、政治、医療用品、スポーツ等に関するコンテンツを含むようなコーポラとして使用されてもよい。各コーパスは、任意の適切なタイプのものでもよく、例えば、テキストコーパス又は複数の種類のコンテンツを含むコーパスとすることができる。
コヒーレンススコアを計算するために使用されるコーポラの数及びタイプにも拘わらず、いくつかの実施形態では、アクティブ概念は、コーポラ内のコンテンツのサブセット(例えば、テキストコーパス内の文書の一部)を選択して、統計的コヒーレンススコアを計算するために使用される。これは、任意の適切な方法で行うことができる。例えば、アクティブ概念は、例えば、アクティブ概念のラベルを含むそのコンテンツのみが存在するように、アクティブ概念に関連するコンテンツを選択するために使用することができる。
いくつかの実施形態では、統計的コヒーレンス計算に使用されるコンテンツは、アクティブ概念と、セマンティック・ネットワーク内のアクティブ概念の近傍の少なくとも1つの概念とを含むそのコンテンツにさらに限定することができる。そのような近傍が、アクティブ概念から所定数(例えば1,2,3,4等)の分離度の範囲内に存在するようなセマンティック・ネットワーク内の全ての概念を含むことができることを思い出して下さい。追加の制限は、任意の適切な方法で達成することができるが、例えば、アクティブ概念のラベルとこのアクティブ概念の近傍の少なくとも1つの他の概念のラベルとを含むそのコンテンツのみを使用することによって達成することができる。アクティブ概念及びその近傍(の概念)に基づきコーポラを制限することは、アクティブ概念のラベルを含むが異なった意味に向けられているコンテンツが、統計的コヒーレンススコアを計算する際に考慮されていない、という点で有利となり得る。
例えば、アクティブ概念が、「バット(bat)」であり、アクティブ概念の近傍の範囲内に見つかった概念が、概念「野球のバット(baseball bat)」、「クラブ(club)」、「パドル(paddle)」、及び「バット(lumber)」を含む場合に、統計コヒーレンススコアを計算するために使用されるコンテンツは、アクティブ概念「バット(bat)」と、隣接する概念「野球のバット(baseball bat)」、「クラブ(club)」、「パドル(paddle)」、「バット(lumber)」の少なくとも1つとを含むコンテンツに限定してもよい。少なくとも1つのこれらの近傍の概念を含むことは、概念「バット(bat)」を含むが、哺乳動物の「コウモリ(bat)」に関連しない文書は、統計的コヒーレンススコアを計算する際に回避され、尤度(可能性)が増加する。
従って、いくつかの実施形態では、統計的コヒーレンススコアは、アクティブ概念、アクティブ概念の近傍の少なくとも1つの概念、及びスコアリングすべき概念を含む文書の数と、アクティブ概念及びこのアクティブ概念の近傍の少なくとも1つの概念を含む文書の数との比の関数として計算することができる。関数は、任意の適切な関数とすることができ、例えば、恒等関数又は任意の他の適切な単調増加関数(例えば、対数)とすることができる。このようにして計算されたときに、統計的コヒーレンススコアは、スコアリングすべき概念にも関連するようなアクティブ概念に関連する文書の総数に比例するように反映させることができる。よって、概念についての統計的コヒーレンススコアがより高くなるほど、この概念はアクティブ概念に関連してより適合する可能性がより多くなる。
いくつかの実施形態では、統計的コヒーレンススコアは、アクティブ概念、アクティブ概念の近傍の少なくとも1つの概念、スコアリングすべき概念、及びスコアリングすべき概念の近傍の少なくとも1つの概念を含む文書の数を(ここまで、分子)、アクティブ概念、及びこのアクティブ概念の近傍の少なくとも1つの概念を含む文書の数(ここまで、分母)、の比率の関数として計算することができる。統計的コヒーレンススコアをこのように計算することは、スコアリングすべき概念のラベルを含むが異なった意味に向けられているコンテンツが、統計的コヒーレンスのスコアを計算するときに考慮されない、という点で有利となる。
例えば、概念「フィールドゲーム(field game)」と「スポーツ(sport)」とが、候補「クリケット(cricket)」の近傍になり得る。概念「クリケット(cricket)」と、「フィールドゲーム(field game)」及び「スポーツ(sport)」の中からの少なくとも1つの概念とを含む文書のみについて統計的コヒーレンススコアを計算する際に使用される文書を制限することは、その概念「クリケット(cricket)」を含むが、昆虫「コオロギ(cricket)」が除かれる文書が、統計的コヒーレンススコアを計算するときに回避され、尤度が増加する。
いくつかの実施形態では、統計的コヒーレンススコアは、アクティブ概念、アクティブ概念の近傍の少なくとも1つの概念、スコアリングすべき概念、及び随意にスコアリングすべき概念の近傍の少なくとも1つの概念を含む文書のサブセットのみを使用することによって計算することができる。この場合には、統計的コヒーレンススコアは、上述した文書のサブセット内の1つ以上の文書において、スコアリングすべき概念のいわゆる用語出現頻度(TF:term frequency)スコアの関数として計算することができる。
いくつかの実施形態では、スコアリングすべき概念についてのTFスコアは、サブセット内の各文書について計算することができ、統計的コヒーレンススコアは、計算されたTFスコアの平均値又は中央値として計算することができる。或いは、統計的コヒーレンススコアは、計算された最大のTFスコアとして計算してもよい。スコアリングすべき概念が、統計的コヒーレンスのスコアを計算するために使用される文書のサブセット内の多数の文書にまれに現れる場合に、この状況では有利となり得る。
さらに別の実施形態では、統計的コヒーレンススコアは、逆文書頻度(IDF)スコアの関数として計算することができ、このスコアは、スコアリングすべき概念が、統計的コヒーレンススコアを計算するために使用される文書のセット内にどれ位の頻度で出現するかの頻度の逆数として計算することができる。さらに別の実施形態では、統計的コヒーレンススコアは、用語頻度と逆文書頻度スコアとの積に依存し得る。いくつかの実施形態では、統計的コヒーレンススコアを計算する過程で計算された値を正規化してもよいことを理解されたい。
ジャカールスコアを計算する場合のように、統計的コヒーレンススコアが計算される方法は、スコアリングすべき概念が、セマンティック・ネットワークから検索されたかどうかに依存してよく、又は代わりに、プロセス100の動作106の間に合成されたかどうかに依存してもよいことを理解されたい。スコアリングすべき概念が、加法操作を用いて合成される場合に、統計的コヒーレンススコアは、上述した手法を合成した概念に適用するのではなく、むしろ合成された概念を生成するために、アクティブ概念と組み合わせられた概念(例えば、図5Eに示した概念「指圧(shiatsu)」)に適用することによって取得することができる。同様に、統計的コヒーレンススコアが、置換操作を介して合成された概念について計算されているときに、統計的コヒーレンススコアは、上述した手法を合成された概念に適用するのではなく、アクティブ概念の属性を置換操作の一部として置換するために使用された概念(例えば、図5Hに示される概念「プレスセット(press sets)」)に適用することによって得ることができる。
IV.E コサイン類似度スコア
コサイン類似手法において、特定の概念のコサイン類似度スコアは、ペアの概念同士の間のセマンティック的な近接性を評価するためにコサイン類似度メトリックを用いて計算することができる。2つの概念AとBとの間のコサイン類似度メトリックを評価するために、概念の各々は、任意の適切な次元のユークリッド空間における2つのベクトルにマッピングされる。2つの概念同士の間のコサイン類似度は、2つのベクトルの間の内積とこの2つのベクトルの大きさの積との比として計算することができる。この比は、「コサイン類似度」を生じさせる、2つのベクトル同士の間の角度の余弦(cosine)を表わす。
概念は、任意の適切な方法で、ベクトルにマッピングすることができる。例えば、概念は、属性に関連付けられた数を含む各座標で、概念の属性の各々の座標を含むベクトルにマッピングすることができる。従って、概念Aが10個の属性を有している場合は、この概念は、各次元の数が対応する属性に関連付けられるように、10次元のベクトルにマッピングすることができる。属性に対応する番号(数)は、任意の適切な数であってもよく、例えば、用語頻度(TF)スコア又は属性に関連付けられたTF−IDFスコアであってもよい。
IV.F 統合スコア
前述したように、上述したスコアのタイプのいずれかは、プロセス100の動作106において取得された概念に割り当てられるような統合スコアを形成するように組みあわされてもよい。しかし、いくつかの実施形態では、スコアを組み合わせる必要はなく、前述のタイプのスコアのうちの1つだけを、動作106において取得された各概念に割り当ててもよい。
1つ以上のタイプのスコアが、統合スコアを形成するために組み合わされ得る実施形態において、スコアは、多数の方法のいずれかで組み合わせることができる。例えば、スコアは、統合スコアを計算するために重み付けされた線形結合のスコアを計算することによって組み合わせることができる。スコアを結合するために使用される重み付けは、任意の適切な重み付けであってもよく、その重み付けは、統合されたスコアにスコアを組み合わせる場合に、どのスコアがより重み付けされるべきかを反映するように増加又は減少させることができる。スコア及び/又は重み付けは、統合されたスコア内に組み合わせる前に、任意の適切な方法で正規化することができる。
スコアが、プロセス100の動作106において取得された概念に割り当てられた後に、1つ以上のスコアリングされた概念が、その計算されたスコアに基づいて、後続の使用のために選択することができる。スコアに基づく選択は、任意の適切な方法で行うことができる。いくつかの実施形態では、例えば、所定のしきい値を超えるスコアに関連付けられた概念は、後続の使用のために選択することができる。あるいはまた、上位スコアの概念の所定数又は所定パーセンテージの概念を選択することができる。しかし、1つ以上の概念を選択するためにスコアを利用する他の多くの方法が当業者には明らかであることを認識されたい。
V. アクティブ概念と選択された概念(複数可)とに基づいて、コンテンツをユーザ(複数可)に提供する
アクティブ概念に関連する1つ以上の概念が動作108において選択された後で、プロセス100は、情報が、動作104において識別又は生成されたアクティブ概念と、動作108において選択された関連する概念(複数可)とに少なくとも部分的に基づいて、動作102において取得したユーザコンテキスト情報に関連付けられたユーザ(複数可)に提供されるように、動作110に進む。この目的のために、ユーザ(複数可)に提示する情報は、アクティブ概念と動作108で選択された関連する概念(複数可)とを用いて大規模セットの情報の中から選択することができる。しかし、ユーザ(複数可)に提供された情報のタイプと情報がユーザ(複数可)に提供される方法とが、本明細書で説明された手法が適用されるような特定のシナリオに依存して変更し得ることを認識されたい。
前述したように、いくつかの実施形態では、動作102で取得したユーザコンテキスト情報は、ユーザが関心を示すような情報のタイプを示すような、ユーザによって提供された情報を含み得る。例えば、ユーザコンテキスト情報は、ユーザが捜し求める情報についてのユーザ要求を含んでもよい。そのような要求は、ユーザが、特定のトピック又は複数のトピックに関連して更新されたニュース、一種類以上の製品(複数可)に関連する広告、ウェブサイト、ニュースレター、電子メールダイジェスト等の各種のいずれかで今まさに更新される情報の受信を希望することを示すような、検索クエリ又は1つ以上の設定等の任意の適切な形態としてもよい。従って、要求に応答して、ユーザは、ユーザの要求から導出されたアクティブ概念と、動作108で選択されたアクティブ概念に対する関連概念とに少なくとも部分的に基づいて、ユーザに提示された大規模セットのコンテンツの中から、取得した情報の提示を受けることができる。
例えば、ユーザ要求が検索クエリを含んでいた場合には、アクティブ概念と動作108で選択された関連する概念とが、1つ以上の検索サービスに提供するべく、1つ以上の検索クエリを生成するために使用される。これは、任意の適切な方法で行うことができる。例えば、検索クエリは、アクティブ概念と、これらの概念と関連付けられたラベル及び属性を使用して選択された概念の任意の概念とから構成することができる。検索クエリは、「AND」及び「OR」等の様々なブール演算子を使用して、アクティブ概念と選択された概念の任意の概念とから、概念ラベルと属性とを接合して形成される。例えば、ユーザの検索クエリを表すアクティブ概念が、図5Fを参照して説明した「ヨガマット(yoga mat)」である場合に、概念「吸汗性ヨガマット(sweat-absorbent yoga mat)」が、動作108において選択され、検索クエリ『「ヨガマット(yoga mat)」AND「吸汗性(sweat-absorbent)」』を形成することができる。別の例として、ユーザの検索クエリを表すアクティブ概念が、図5Dを参照して説明した「リクライニングチェア(recliner)」である場合に、概念「マッサージ付きリクライニングチェア(massage recliner)」が、動作108で選択され、検索クエリ『「リクライニングチェア(recliner)」OR「マッサージ付きリクライニングチェア(massage recliner)」』が形成される。他のより複雑な検索クエリを形成してもよく、複数の選択された概念に関連付けられたキーワード、アクティブ概念を識別するために使用される任意の曖昧性解消用語、及び/又は任意の他のユーザコンテキスト情報を含むことができる。例えば、ユーザが、空港でレンタカーを借りるときに、イタリアンレストランを午後10時で探しているとする。アクティブ概念「イタリアンレストラン(Italian Restaurant)」は、ユーザコンテキスト情報から取得したユーザに関する地理空間情報を一緒に用いて、「ピザ(Pizza)」、「パスタ(Pasta)」、及び「炭水化物(carbs)」等の関連する概念を選択するために使用され、『「イタリアンレストラン(Italian Restaurant)」OR「ピザ(Pizza)」OR「パスタ(Pasta)」OR「炭水化物(carbs)」AND「ニューヨーク(New York)」AND「空港(Airport)」AND「午後10時以降も開いている(OPEN AFTER 10pm)」』等のクエリを構成するために使用されてもよい。
これらの複雑なタイプのクエリは、ユーザによってめったに構成されることはないであろう。このようなクエリは、コンテンツが事前に(例えば、コンテンツを構造化する前に)セマンティック的に分析されていない場合でも、このようなクエリは、検索サービスによってインデックス付けされたコンテンツにおいて、元のクエリにおいて必ずしも文字通りの用語が存在しないような文字通りの用語と一致するので、効果的なセマンティック検索を形成する。
検索サービスは、任意の汎用検索エンジンであってもよい。例えば、検索サービスはインターネットを介して公にアクセス可能な任意の検索エンジンであってもよい。別の例として、検索サービスは、インターネット以外の任意のコンピュータネットワークを介してアクセス可能な検索エンジンであってもよい。そのような検索エンジンの例としては、企業イントラネット又は他のプライベートネットワークを検索するために使用する検索エンジンを含む。
1つ以上の検索クエリを検索サービスに発行することに応答して、検索結果のセットを、検索サービスから受信することができる。検索結果内の文書又はコンテンツの一部からなるテキスト(或いはテキストの断片)は、アクティブ概念及び/又は動作108において選択された概念(複数可)と比較することができ、返された検索結果は、それら検索結果が、これらの概念規定とどれ位近接して一致しているかどうかに基づいて、ランク付け及び/又はフィルタリングすることができる。
様々な可能なランク付け又はフィルタリング手法のいずれかを使用することができるが、本発明はこの態様に限定されない。しかしながら、そのような手法は、ユーザには無関係な情報でユーザを圧倒することなく、ユーザへのコンテンツのプロビジョニングを可能にする。検索サービスは、これら検索結果にタイトル、要約、説明、タグ、ハイパーリンク等の多くのテキスト形式の機能を提供することができる。テキスト形式の機能は、例えば、検索エンジンの検索結果のテキスト形式の機能の単語に対して用語を比較することによって、動作108で選択された概念を介して提供された用語に対して検索エンジンの検索結果をフィルタリングするための手段としてテキスト分析を提供することができる。用語の全部又は部分的な一致は、個々の検索結果の関連性を重み付けするために使用することができる。いくつかの実施形態では、検索サービスから返される検索結果は、コンテンツそれ自体の識別された部分を含まず、むしろ、各コンテンツ部分の抜粋とともに、これらのコンテンツ部分へのハイパーリンクのリストを含むことができる。このような実施形態では、提供されたハイパーリンクを使用して各コンテンツ部分を検索するというよりも、ハイパーリンクのリストは、関連する抜粋を使用してランク付けするとともにフィルタリングすることができ、この抜粋は、セマンティック的な注釈を付けることができる。
いくつかの実施形態では、動作102で取得したユーザコンテキスト情報は、ユーザが関心を示す情報のタイプを示すようなユーザに関連する情報を含んでいてもよい。例えば、ユーザに関する情報は、人口統計情報、ユーザのインターネット閲覧履歴、ソーシャル・ネットワーク・ウェブサイト等の上のウェブサイトでユーザに関連付けられた任意の情報を含むことができることができ、地理空間情報は、ユーザの計算された現在位置等を含むことができる。従って、ユーザは、ユーザに関連する情報から導出されたアクティブ概念と選択された概念とに基づいて、少なくとも部分的に取得した情報の提示を受けることができる。
例えば、ユーザは、アクティブ概念と選択した概念とに基づいて、パーソナライズされた製品やサービスの推奨の提示を受けることができる。これにより、パーソナライズされた推奨は、1人以上のユーザの関心を反映させることができる。パーソナライズされた推奨は、製品及び/又はサービスの広告を含むが、これらに限定されるものではない販売促進コンテンツを含んでもよい。例えば、ユーザコンテキスト情報から導出されたアクティブ概念は、ユーザが「リクライニングチェア(recliners)」に関心あることを示している。これにより、ユーザは、「リクライニングチェア(recliners)」と、図5Dを参照して説明したようにアクティブ概念「リクライニングチェア(recliners)」に関連する概念である「マッサージ付きリクライニングチェア(massage recliners)」とに関連する広告の提示を受けることができる。このように、ユーザは、無関係の販売促進コンテンツの提示を受けることがない。
別の例として、ユーザは、このユーザが関心を示すような情報を取得するために、オンライン情報ソース(又は複数のウェブサイト)を使用することができる。オンライン情報ソースは、任意の適切な情報ソースであってもよく、例えば、インターネットポータル、イントラネットポータル、ニュースウェブサイト、ソーシャル・ネットワーク・ウェブサイト、マイクロブログサービス、ブログサービス、ブログリーダ(reader)、ショッピングウェブサイト、リアルタイム番組(feed)等であってもよい。このような各オンライン情報ソースは、ニュース、広告、コンテンツ推奨、リアルタイム更新(例えば、ツイート)等を含むが、これらに限定されないようなユーザへの多数の種類の情報のいずれかを提示するように構成することができる。このように、ユーザが、オンライン情報ソースを使用するときに、ユーザは、無関係なコンテンツに圧倒されなくなる。
従って、いくつかの実施形態では、アクティブ概念と選択された概念とが、ユーザに提示される情報を、ランク付け、優先順位付け及び/又はフィルタリングするために使用することができ、それによって、ユーザに提示される情報は、そのユーザの関心を反映させることができる。これは、任意の適切な方法で行うことができる。例えば、ウェブサイトがユーザに提示されるように構成された情報のいずれかは、1つ以上のテキスト形式の機能(例えば、タグ、テキスト、ハイパーリンク、説明、等)を含んでもよい。これらのテキスト形式の機能は、アクティブ概念と動作108で選択された概念とによって提供された任意のキーワードと比較することができる。全体又は部分的な一致は、個々の用語の関連性を重み付けするために使用することができる。
VI.コンテンツを個人/群衆に提供するコンテキストとして環境入力を使用する
近年では、様々な環境入力を感知することのできる技術は、より手頃な価格で広く利用可能になってきている。安価なデジタル自動露出(point-and-shoot)民生用カメラは、笑顔を検出すると、人間の顔の位置を見つけて、この人間の顔に焦点を当て、写真撮影するように設計された技術的を可能にしている。人体の動きや物理的なジェスチャを検出することができる運動センサ及び身体位置センサデバイスは、コンソールゲームシステムのための比較的安価な周辺機器として取り入れられている。様々な他のタイプのセンサは、無線携帯機器や、タッチパッド、ネットブック等の電子機器により広く利用可能になってきている。以下により詳細に説明されるように、本システム及び方法は、例えば広告及び販売促進をコンテキストに関連付けられたユーザに提供するために、環境入力と周囲の他の情報とをコンテキストとして考慮することができる。
電子メディアを介した広告は、インターネットの拡大と同調して成長し、最近の数年間で驚異的な成長を遂げている。ランダムに表示され受動的な広告から、ユーザの人口統計と心理学的プロファイルに基づいて特定の個人を対象とした広告に発展してきた。そのような技術の例は、米国特許第7,062,466号、米国特許第7,007,074、及び米国特許出願公開第2005/0216335号明細書、米国特許出願公開第2007/0038500号明細書、米国特許出願公開第2008/0243480号明細書、米国特許出願公開第2008/0228568号明細書、米国特許出願公開第2009/0070219号明細書に開示されている。これらのアプローチに共通していることは、広告の設定を提供するメディアやコンテンツに、特定の個人又は消費者グループをマッチングさせることである。
広告主が、群衆の個々のメンバの異なる関心を一致させるために適切な広告や販売促進を選択する必要があるときに、電子メディアを介した広告は、特に困難になることがある。説明のための例として、このような異種の群衆が集まる場所は、空港ラウンジ、ショッピングモール内のフードコートや、公共広場等の公共の場所がある。このような環境では、共通の問題は、販売促進コンテンツをより効果的に広告するために、群衆の個々のメンバのかなりの数の人々の注意をどの様に引き付けるかということある。群衆内の個人の通常多様な関心を考えると、1次元の、汎用的な販売促進コンテンツを提示することは、観衆の大部分が注意を遠ざける又は注意を向けない可能性がある。
一態様によれば、本システム及び方法は、知識表現を使用して、群衆の個人又はメンバによって自発的に行われる又は認可されるような入力を収集することによって、環境入力又は周囲入力に基づいて情報を提供するような1つ以上のメソッドを使用することができる。知識表現は、いくつかの態様によれば、ユーザに情報を提供するために、(上記でより詳細に説明したように)セマンティック操作を実行するために使用することができる。そのような入力は、図1に関して以前に説明し且つ図1に関連付けて記載されたように1つ以上の方法を実行するように動作可能なコンピュータ装置上で実行されるような、セマンティック操作の基礎を提供するユーザコンテキストとして活用することができる。
一実施形態では、セマンティック的な操作は、例えばWi−Fi接続が特定の動作範囲内で人々に利用可能であるようなローカルな領域内での、デジタルディスプレイ等のローカル電子メディアと、少なくとも1つの無線サービスとに統合することができる。実例として、空港ラウンジでは、1つ以上の電子ディスプレイの前に座っている群衆のメンバが、群衆に基づいた広告のために群衆の中の1つ以上のターゲット・グループのメンバとして参加することができる。
参加を奨励するために、メンバが、誰か特定できない情報の収集と引き換えに、端末のキャリアによって、無料のWi−Fi接続又は縮小データ転送速度等のインセンティブを提供されることがある。一実施形態では、収集された情報は、プライバシーが保持されるように、その情報が群衆の任意の個々のメンバの誰の個人情報かを識別できないようなものでもよい。
本発明のシステム及び方法は、その後、リアルタイムで、ターゲット群衆の個々のメンバがアクセスしている様々なウェブサイト、群衆のメンバが実行している検索結果、又は群衆のメンバによって投稿されたステータスの更新に関する情報を収集することができる。図1に関して上述したように、この情報は、ユーザに関連付けられたコンテキスト情報の一部とみなされてもよい。上記でより詳細に説明したように、合成操作又は検索操作は、その後、群衆に関連して知られている概念の範囲をセマンティック的に拡張するために、これらのユーザコンテキストから導出されるアクティブ概念で実行されてもよい。グループ中の共通部分の概念や最も普及している概念は、群衆の最大の顧客層にアピールする傾向がある領域とみなすことができる。
コンテンツは、その後、人々のグループに対してグローバルなアピールで関心を表す概念に基づいて、群衆に配信することができる。いくつかの実施形態では、関心は、セマンティック的操作により取得された概念とすることができるが、他の例において、概念は、そのような関心を導出するために使用されるようなさらなる操作についての出発点を提供してもよく、次に関連するコンテンツを識別するために使用することができることに留意されたい。このようなコンテンツは、上述したような目的の広い範囲を提供することができ、単に群衆を楽しませるために、或いは広告等のメッセージを生成すること等の特定の商業目的のために、又は、消費者による水平思考を促進する「より緩い」関連付けを具体化するようなドメインからのアイデアを提示することによって、新たなコンテンツの作成に影響を与えるために機能する。
VI.A ターゲット・グループの関心を識別する
一般的なメッセージを群衆に伝達するというよりも、本システム及び方法は、群衆の中の1人以上の個人から環境入力や周囲入力を受信し、群衆の中の1つ以上のターゲット・グループや個人に関連した1つ以上のコンテキストを生成する。これらの1つ以上のコンテキストは、ユーザコンテキスト情報を表す1つ以上のアクティブ概念についての基礎を形成することができ、各々のコンテキストは、上記でより詳細に説明したように、知識表現を利用して、関連する概念の複数セットを生成するように使用することができる。群衆の中の多数の個人についてのセマンティック的に関連する多数の概念を生成することは、群衆に関連する関心を全体として把握するために価値ある展望の情報を提示することができる。いくつかの実施形態では、これらの概念は、群衆内の個人の1つ以上のグループにより関連するような、1つ以上の販売促進メッセージ、又は他の密接に結び付いたコンテンツを選択するために使用することができる。
多数のユーザに幅広い様々な関心でアピールするような関連する概念と関心とを識別する能力は、広告や販売促進を提示するだけでなく、電子商取引ベースの活動を提案する際に費用対効果の高いアプローチとなり得る。例示的な実施形態では、これは、i)セマンティック的に関連する概念及び/又はグループや群衆内の個人の関心を識別することによって、群衆ベースの関心を発展させる、ii)各テーマや関心の後方に広告主をラインアップする、iii)広告主のキュー(queue:待ち行列)から群衆に点滅広告/販売促進コンテンツを配信する。
例示的な例として、図7を参照して、環境コンテキスト情報が個人から収集されるような別の例示的な実施形態が示されている。このような環境コンテキスト情報は、1つの態様に従って、群衆の設定として収集することができる。なお、本発明は、群衆が存在する環境から把握されるコンテキストにセマンティック的操作を適用することに限定されないことを理解されたい。実際、本発明者らは、セマンティック操作を実行し、ユーザの情報検索経験を向上させるための基礎として、マルチモーダル入力を活用することは、ユーザが他の人と存在するか、又はユーザ自身によって存在するか否で実行することができることを認識した。
別の例示的な例として、群衆に適用することができる本システム及び方法の態様では、手法及び方法は、スポーツスタジアムで見受けることができるような群衆の大規模な(mass)スケールに適用可能な関心を識別するために使用することができる。例えば、ホッケーの試合での群衆は、ホッケーの試合に夕方観戦しに行く道なりで様々なデジタル広告バナーを紹介される可能性がある。本発明のシステム及び方法に従って、多くの観衆内の個人からの情報が、関連する概念の大きなプールを生成するためにセマンティック的に拡張することができ、どの関心が共通部分となるか又は最も一般的であるかを識別することができる。群衆の大部分に適用される普及率(prevalence)は、上述したスコアリング手法のいずれかを用いて決定することができる。この情報は、リアルタイムで群衆に提示される広告を動的にカスタマイズするために使用することができる。このように、関心トレンドの任意のシフトが、広告についての対応する変化によって直ぐに対処することができる。
本発明のシステム及び方法は、所定の固定位置のしきい値距離内のターゲット観衆のメンバに関する情報を収集するように適合することができる。例えば、しきい値距離は、Wi−Fi接続に接続されるような動作距離によって決定することができる。別の態様では、しきい値距離は、広告の恩恵を受けるそれらの観衆のみからコンテキストの考察を確実にできるような、広告媒体が届く視覚的アクセス及び/又は音声アクセスの関数であってもよい。
あるいはまた、電子ディスプレイや広告媒体は、特定の群衆を対象として場所から場所へ移動させることができるような、広告看板付きトラック等の移動プラットフォームとして提供されてもよい。例えば、町の広場での野外コンサート又はストリート・フェスティバル・イベントに集合した群衆は、このようなプラットフォームによってターゲットとされ得る。別の実施形態では、大多数が静止している群衆(例えば、空港ラウンジでの群衆、又は競技場に座っている群衆等)のメンバをターゲットにするよりも、本システム及び方法はまた、例えば、自動車の運転手と乗客とが、道端の電子広告看板、歩道橋を横切ってスクロールする電子バナー等に近づくような、集団で移動しているメンバに関する情報を収集するように適合させることができる。これはまた、高い歩行者交通量を有する大通り等の、歩いている歩行者に適用することができる。電子ディスプレイやバナーに近づく群衆のメンバに関する情報を収集することによって、本発明のシステム及び方法は、電子掲示板やバナー上の関連するコンテンツや広告を修正するようにしてもよい。
上述したいずれかの状況で群衆内の個々のユーザコンテキストは、図1の動作102に関して例示されたアプローチと、上述したようなユーザコンテキストを識別するための他の教示とに基づいて識別することができる。同様に、各ユーザに対してセマンティック的に関連する概念を取得することは、動作104〜108の上述した概要及び上述したようなその他の方法を含むが、これらに限定されない多数の適切なアプローチによって達成される。上述したようにコンテキストを収集するための手法及びアプローチに加えて、環境入力は、以下に詳述するように、ユーザコンテキストを提供することができる。
VI.B 環境ベースの入力を受信する
前述したように、本開示はまた、ユーザ環境コンテキストで実行されたセマンティック的操作からの個人に関連すると認められる概念に基づいて、関心を識別するためのシステム及び方法に関する。本システム及び方法は、様々な実施形態において実施することができる。適切に構成されたコンピュータデバイス、及び関連する通信ネットワーク、装置、ソフトウェア及びファームウェアは、上述したように1つ以上の実施形態を可能にするプラットフォームを提供することができる。例示的なコンピュータ装置及びシステムの実施形態が、図7〜9に示されており、以下に詳述する。
図7及び図8に示されるように、本開示のシステム及び方法は、モバイル機器、又は群衆の中のメンバを個別に又は集合的に識別する他のタイプの無線技術を含むような無線ネットワーク動作環境内で実施することができる。例えば、限定するものではないが、そのようなモバイル機器又は無線技術は、高機能性携帯電話やスマートフォン、タッチパッド、ネットブック、ラップトップ、又は無線技術を組み込むとともにユーザコンテキスト情報をキャプチャ及び格納するように適合された他の任意のタイプの装置を含む。モバイル機器と無線技術とは、3G技術に基づいてもよいが、ユーザに関する情報をさらにより速く収集し且つ分析することを可能にする4G及び5G技術に基づいてもよい。使用することができる他のタイプの技術は、ターゲット群衆の中の様々なメンバによって携行され又は着用されてもよいような、例えば無線周波数識別(RFID)技術が挙げられる。
本発明のシステム及び方法はまた、1つ以上のコンピュータデバイスが本発明に従った方法の様々なプロセスの各ステップを実行することを可能にするようなコンピュータプログラムコードを含むコンピュータ可読/使用可能媒体として実装されてもよい。用語コンピュータ可読媒体又はコンピュータ使用可能媒体は、プログラムコードの任意のタイプの物理的な実施形態の1つ以上を含むことが理解される。具体的には、コンピュータ可読/使用可能媒体は、製品(例えば、光ディスク、磁気ディスク、テープ等)の1つ以上のポータブル記憶物品上に具体化されたプログラムコードを含むことができ、コンピュータ及び/又は記憶システムに関連付けられたメモリ等のコンピュータ装置に分配された1つ以上のデータ記憶装置で具体化されたプログラムコードを含むことができる。
センシングデバイスの多くの様々なタイプは、画像及びビデオの入力センサ、音響入力センサ、感圧センサ、動作感知や姿勢感知センサ、全地球測位や速度センサ、温度や湿度センサ、電界/磁界センサ、気相化学センサ等を含むが、これらに限定されないような環境入力を検出し、及び分析するために使用することができる。これらの入力の各々の、全て、又は任意の適切な組み合わせは、関連するテキストと共にプロセス100又はプロセス300の動作104に関して上述したように、アクティブ概念を識別又は生成するための基礎とすることができるラベルに変換することができる。
例えば、音響入力センサは、周囲の音楽を検出するために適用することができる。スマートフォン、タブレットデバイスで特に一般的な多数の商用アプリケーションのいずれかは、その後、歌、音楽のアーティストジャンルを識別するために使用され得る。音楽のジャンルは、次に、例えば、アクティブ概念を生成するためのコンテキストとして使用することができる。別の非限定的な例としては、カテゴリ化は、センサによって検出された湿度と温度が一定のレベルを超えたときに、「蒸し暑い(hot and humid)」のコンテキストが、ユーザコンテキストとして提供されるように、気象条件に割り当てることができる。特定の製品(例えば、ファン)、又は特定のトピックに関する文献(例えば、身体の水分補給)は、この設定において個人の関心となり得ることが想定される。このような製品広告や記事の提案は、ユーザコンテキスト(例えば、「蒸し暑い(hot and humid)」)から識別されたアクティブ概念で実行されたセマンティック的操作から導出された関連する関心や概念(例えば、「身体の水分補給」)から把握することができる。
各種センサは、収集した入力を分析するための1つ以上のアナライザに接続することができる。例えば、入力が、画像センサからのものである場合、分析は、周囲の雰囲気を決定するために光強度及び色の決定を含んでもよく、又は被写体が笑っているかどうかを判定し、さらには被写体が男性又は女性であるかどうかを推論する、顔認識技術の利用を含む。画像は、コンピュータアニメーション技術を利用することによって、又は画像のリポジトリ(repository)と比較するとともに、データベースに格納された1つ以上の画像からの全体又は一部の画像を識別することによって処理することができる。画像は、高解像度のネットワークに接続されたカメラや、ディスプレイのフレームに基づくカメラからキャプチャすることができる。
同様に、ビデオセンサは、動きや簡単なジェスチャを検出するために使用され、一致を見つけるために検出した動作やジェスチャを動作又はジェスチャリポジトリと比較することができる。ビデオ入力はまた、LAN上のローカル環境内やインターネットで表示されるか、又は放送されている映像である。これらのビデオ入力のいずれか又は全ては、次に、関連コンテンツ/メタタグ、及び/又はビデオ内の音声や、画像、テキストによって処理されてもよい。
環境入力は、音声又は他の音響入力等のオーディオ入力の他のタイプを含むことができる。オーディオ入力は、オブジェクトが生成したもの又は人間が生成したもの等に一般的に分類することができる。オブジェクト生成入力は、個々のユーザのプライバシーに干渉することなく、マルチメディア入力をキャプチャする方法を提供することができる。オブジェクト生成入力のいくつかの例は、お笑い、音楽、公示又はユーザのプライバシーに影響を与えないその他の公に利用可能な入力を含む。
実施形態では、オーディオ入力は、ユーザの音声が環境入力と見なされるときに、方言を区別することができ、この環境入力は、それらの方言に基づいてユーザのプロファイルを構築するために使用することができる。例えば、ケイジャン(Cajun)起源のものとして識別された方言は、アクティブ概念「ケイジャン(Cajun)」を識別又は生成するために用いることができる。図1に関して上述したような技術を用いるようなセマンティック的に関連する概念は、次に、その旨のローカルな食事施設の広告が提案されるように、ユーザに関連する概念として、「フランス料理」を得ることができる。口に出した言葉(speech)は、テキストに変換することができ、このテキストは、セマンティックな意味について分析され又は異なる言語に適宜翻訳される。
会話(speech)及び言語に加えて、感情又は雰囲気を表す他の音声入力は、さらなる合成のためにキャプチャされ、処理することができる。例えば、分析は、ユーザの雰囲気を判断するためにユーザの声の音量や強度を判定することを含むことができ、ユーザが群衆の中心に存在するか、又は静かな部屋に座っているかどうかを判断するために、周囲の雑音レベルを判定することを含むことができる。
別のタイプのセンサは、ユーザが、忙しい平日の間に忙しく動き回っているか、又は週末に自宅で快適にリラックスしているかどうかを判定するような、ユーザが現在どれ位アクティブであるかを判定する動作入力を受信することができる(このコンテキストは、1週間の曜日と曜日との実際の時間として時系列の入力に沿って考慮することができ、その時系列の入力はさらに、ユーザが従事することができる活動の種類を示唆している)。例えば、絶えずそわそわすることは、不安のコンテキストを示唆しており、次にアクティブ概念として「不安」や「落ち着きのなさ」を識別又は生成するために使用される。例えば図1において概説したアプローチは、「リラクゼーション法」等のユーザにとって関心を起こさせるようなセマンティック的に関連する概念を生成するために使用され得る。そのような関心の概念は、リラクゼーション法に関する記事等のコンテンツを検索してユーザに提示するために使用することができる。
上述したように、環境入力をキャプチャするために設計された単一のセンサを電子機器に組み込んでもよい。一実施形態では、一般的なコンピュータ装置は、例えば、スマートフォンやタッチパッド等のモバイル機器であってもよい。モバイル機器は、ジェスチャ入力、加速度計、位置データ用のGPS、映像と音声(又は音楽)センサ、内蔵カメラ、及び周囲環境からの入力を受信するための他のタイプのセンサを含むことができる。これらの様々なタイプの入力は、様々な方法で収集することができ、入力を収集するために、ユーザの参加を必要とすることがある。
複数入力が、同時にセンサによって受信された場合に、次に、全てのタイプのセンサからの複数入力は、周囲環境をより正確に測定するために考慮される。より一般的には、マルチメディアと運動センサ入力とが、リアルタイムで、或いはほぼリアルタイム受信され且つ分析され、この分析されたデータは、任意の特定の時点でユーザの周囲環境をより良く評価するために集約されてもよい。任意の時点でユーザの環境コンテキストをより包括的にキャプチャリングすることによって、より多数の、より高品質の関連する概念と関心とは、例えば、ユーザの周囲にマッチングする提案された活動、広告、又は販売促進を得ることができる。
別の態様では、マシンビジョンセンサ及び運動センサは、ユーザの活動又は雰囲気を判断するために、ユーザの動作又は姿勢を判定するために使用することができる。例えば、センサは、動き又はジェスチャの種類によって、その動きを予め記録された動きのデータバンクと比較することによってどの動き又はジェスチャが発生しているかを判定することができる。このような比較を行って、動きを分析することにより、マシンビジョンや運動センサ・アナライザは、この動きを意味のあるデータに変換することができる。例えば、ユーザの顔の特徴の検出は、テキスト又はグラフィックの等価物に変換されてもよい(すなわち、コンピュータ装置が、ユーザが笑っている又は特定の情動状態にあることを示唆するデータを受信した場合に、その状態の言語の列挙は、コンテキストを提供することができ、次に現在の情動状態によってユーザに特定の関心のあるセマンティック的に関連する概念を生成するために使用することができる)。
多数の異なる動き又はジェスチャが、同時に又は立て続けに発生している場合には、入力データは、それを識別することができる限りにおいて、支配的なタイプの動きを判断するために分析することができる。あるいはまた、異なるタイプのジェスチャ又は動きは、シーケンスであると考えてもよく、このシーケンスは、どの様なタイプの変化が、データ内の署名やパターンに基づいて発生しているかを検討するために使用することができる。
別の態様では、本システム及び方法は、ユーザによって着用することができる様々な物品に組み込むか、固定されたセンサベースの機能を利用することもできる。例えば、センサは、靴に内蔵されてもよいし、衣類のいくつかの品物に着用されてもよい。例えば、衣類や靴に組み込まれたセンサは、無線検出手段により検出され得る信号を送信することができる。このようなセンサは、ブルートゥース又は赤外線等の近距離通信プロトコルによってユーザのモバイル機器に接続することができる。従って、本システム及び方法は、複数の異なるタイプのセンサからの入力を受信することができ、それによって、ユーザ及びユーザの環境のより包括的なプロフィールを作成することができる。
任意の適切なコンピュータ装置は、入力の収集が、環境入力をピックアップするセンサに直接結合されている装置上でローカルに処理されるように使用されてもよい。あるいはまた、ローカルに入力を処理するのではなく、入力の一部又は全ては、コンピュータ装置によってローカルに収集することができるが、データは、図2に示されるように処理するための遠隔地に送信することができる。
なお、上述した様々な環境入力は例示であり、網羅的ではないように意図されていることを理解されたい。任意の適切な環境入力は、環境入力から導出されたマルチモーダルデータのいずれかに関連付けられた言語表現に基づいて、ユーザコンテキストをキャプチャするように考慮される。そのような環境入力は、図1の動作102に関して上述したアプローチに一致したユーザコンテキストの基礎としてもよく、及びこの明細書の開示で説明されたようなユーザコンテキストを識別するための他の教示の基礎としてもよい。同様に、各ユーザについてセマンティック的に関連する概念を取得することは、動作104〜108の上述したこれらの概要及び本明細書で説明したような他の方法を含むが、これらに限定されない多数の適切なアプローチによって達成され得る。従って、本システム及び方法は、ユーザが経験する情報及び/又はコンテンツのタイプを充実させるためにユーザの環境を考慮するための手段を提供する。
VII.追加の実装の詳細
上述のコンピュータ装置(例えば、図2A及び図2Bに示されるクライアント・コンピュータとサーバ)は、任意の様々な方法で実装することができる。図9は、上述のコンピュータ装置のいずれかを実施するために使用できるような例示的なコンピュータ装置1000のブロック図である。
コンピュータ装置1000は、1つ以上のプロセッサ(例えば、マイクロプロセッサ)1001と、1つ以上の有形の、非一時的なコンピュータ可読記憶媒体(例えば、メモリ1003)とを含むことができる。メモリ1003は、上述した機能のいずれかを実施する有形の、非一時的なコンピュータ可読記憶媒体にコンピュータ命令を格納してもよい。プロセッサ(複数可)1001は、メモリ1003に結合することができ、機能を実現し且つ実行させるようなコンピュータ命令を実行することができる。コンピュータ装置1000は、このコンピュータ装置が(例えば、ネットワークを介して)他のコンピュータと通信することができような、ネットワーク入力/出力(I/O)インタフェイス1005も含むことができる。いくつかの実施形態では、コンピュータ装置は、このコンピュータが、ユーザに出力を提供するとともにユーザからの入力を受信するような、1つ以上のユーザI/Oインタフェイスも含むことができる。ユーザI/Oインタフェイスは、キーボード、マウス、マイクロフォン、ディスプレイ装置(例えば、モニタ又はタッチスクリーン)、スピーカ、カメラ、及び/又は様々な他のタイプのI/Oデバイス等のデバイスを含むことができる。
本発明の上述した実施形態は、多数の方法のいずれかで実装することができる。例えば、実施形態は、ハードウェア、ソフトウェア、又はこれらの組合せを用いて実装することができる。ソフトウェアで実装する場合に、ソフトウェアコードは、単一のコンピュータに設けられたか又は複数のコンピュータ間に分散されたかによらず、任意の適切なプロセッサ又はプロセッサの集合体(例えば、1つのマイクロプロセッサ又は複数のマイクロプロセッサ)上で実行されるような、格納されたプログラム命令として具現化することができる。
なお、コンピュータは、例えばラックマウント方式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又はタブレットコンピュータ等の多数の形態のいずれかで具体化され得ることを理解されたい。また、コンピュータは、一般にコンピュータとはみなされない装置で具現化することができるが、パーソナル・デジタル・アシスタント(PDA)、スマートフォン、タブレット、リーダ、又は他の任意の適切なポータブルデバイス或いは固定の電子デバイスを含む適切な処理能力を有するコンピュータで具現化できる。
また、コンピュータは、1つ以上の入出力デバイスを有することができる。これらのデバイスは、ユーザインタフェイスを提示するために、特に、使用することができる。ユーザインタフェイスを提供するために使用することができる出力デバイスの例としては、出力を視覚的に提示するためのプリンタやディスプレイ画面と、出力を音声的に提示するためのスピーカ又は他の音響発生装置とを含む。ユーザインタフェイスに使用することができる入力デバイスの例には、キーボード、マイクロフォン、及びマウス、タッチパッド、並びにデジタル化タブレット等のポインティングデバイスを含む。
このようなコンピュータは、企業ネットワーク等のローカルエリアネットワーク(LAN)、又はインテリジェント・ネットワーク(IN)又はインターネット等のワイドエリアネットワーク(WAN)等のネットワークを含む、任意の適切な形態の1つ以上のネットワークによって相互接続することができる。そのようなネットワークは、任意の適切な技術に基づいてもよく、任意の適切なプロトコルに従って動作し、無線ネットワーク、有線ネットワーク、及び/又は光ファイバネットワークを含むことができる。
本明細書に概説した様々な方法又はプロセスは、様々なオペレーティングシステム又はプラットフォームのいずれかを用いる1つ以上のプロセッサ上で実行可能なソフトウェアとしてコード化することができる。さらに、このようなソフトウェアは、多くの適切なプログラミング言語及び/又はプログラミング又はスクリプトツールのいずれかを用いて記述することができるとともに、仮想マシン、又は適切なフレームワーク上で実行される実行可能な機械言語コード又は中間コードとしてコンパイルすることもできる。
この点に関して、様々な発明の概念は、少なくとも1つの非一時的な有形のコンピュータ可読記憶媒体(例えば、コンピュータメモリ、1つ以上のフロッピー(登録商標)ディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ等)として実現されてもよい。その媒体は、1つ以上のコンピュータ又は他のプロセッサ上で実行される場合に、1つ以上のプログラムでエンコード化された項目(複数可)が、本発明の様々なプロセスを実行する。非一時的なコンピュータ可読媒体又はこれらの複数の媒体は、その媒体上に格納されたプログラム又は複数のプログラムが、上述したように、本発明の様々な態様を実装するために、任意の適切なコンピュータリソースにロードされ得るように、可搬型としてもよい。
用語「プログラム」又は「ソフトウェア」は、上述したように実施形態の様々な態様を実施するコンピュータ又は他のプロセッサをプログラムするために使用することができるような、任意のタイプのコンピュータコード又はコンピュータ実行可能命令のセットを指すために、一般的な意味として本明細書で使用されている。さらに、一態様に従って、本発明の方法を実行する際の1つ以上のコンピュータ・プログラムは、単一のコンピュータ又はプロセッサ上に存在する必要はなく、本発明の様々な態様を実装するために様々なコンピュータ又はプロセッサの間でモジュール方式として分散されてもよいことを理解されたい。
コンピュータ実行可能命令は、1つ以上のコンピュータ又は他のデバイスによって実行されるプログラムモジュール等の多数の形態であってもよい。一般に、プログラムモジュールは、特定のタスクを実行するか又は特定の抽象データタイプを実装するルーチン、プログラム、アイテム、構成要素、データ構造等を含む。典型的に、プログラムモジュールの機能は、様々な実施形態において所望されるように、組み合わせる、又は分散させることができる。
また、データ構造は、任意の適切な形態で、非一時的な有形のコンピュータ可読記憶媒体物品に格納することができる。説明を簡単にするために、データ構造は、データ構造内の場所を介して関連するフィールドを有するように示され得る。そのような関係は、同様に、フィールド同士間の関係を伝える非一時的な有形のコンピュータ可読媒体の位置を、フィールドに対するストレージに割り当てることによって達成することができる。しかし、任意の適切な機構は、ポインタ、タグ又はデータ要素間の関係を確立する他の機構の使用を含むような、データ構造のフィールドの情報の間の関係を確立するために使用することができる。
また、様々な発明の概念は、複数の実施例(例えば、プロセス100,300)が提供された1つ以上の方法として具現化することができる。方法の一部として実行される動作は、任意の適切な方法で順序付けられてもよい。従って、実施形態は、例示的な実施形態においてシーケンシャルな動作として示される、又はその逆として示されるにもかかわらず、同時にいくつかの動作を実行することを含むような、図示とは異なる順序で実行される構成とすることができる。
本明細書中で使用され且つ規定される全ての規定は、辞書の規定、参照により組み込まれる文書の規定、及び/又は規定された用語の通常の意味を確立することを理解されたい。
本明細書で使用される不定冠詞「a」と「an」は、明確にそれに反する指示がない限り、「少なくとも1つ」を意味すると理解されるべきである。
本明細書で用いるように、1つ以上の要素のリストを参照する語句「少なくとも1つ」は、要素のリスト内の任意の1つ以上の要素から選択される少なくとも1種の要素を意味すると理解されるべきであり、必ずしも要素のリスト内に特に表示されたありとあらゆる要素のうちの少なくとも1つを含む必要はなく、要素のリスト内の任意の組み合わせの要素を排除するものではない。この規定はまた、特に識別されたこれらの要素に関連するか、関連しないかによらず、要素は随意に、語句「少なくとも1つ」が指す要素のリスト内で特に識別された要素以外に存在する他の可能性があることを規定する。従って、非限定的な例として、「A及びBの少なくとも1つ」(又は、等価的に、A又はBのうちの少なくとも1つ、或いは、等価的に、A及び/又はBの少なくとも1つ)は、一実施形態において、随意に1つ以上のAを含むが、Bが存在しない(及び、随意にB以外の要素を含む)ことを意味する。別の実施形態では、少なくとも1つは、随意に1つ以上のBを含むが、Aが存在しない(及び、随意にA以外の要素を含む)ことを意味する。さらに別の実施形態では、少なくとも1つは、随意に1つ以上のAを含み、及び随意に1つ以上のBを含む(及び、随意に他の要素を含む)ことを意味する。
本明細書で使用される語句「及び/又は」、そのように結合された要素の「どちらか又は両方」を意味すると理解されるべきである、すなわち、ある場合には論理積として存在し、他の場合には論理和として存在する。「及び/又は」と共に記載されている複数の要素は、同じように解釈すべきである、すなわち、そのように結合された要素の「1つ以上」を意味する。特に識別されたこれらの要素に関連するか、関連しないかによらず、他の要素は、随意に、「及び/又は」節によって特に識別された要素以外に存在することができる。従って、非限定的な例として、「及び/又はB」の意味は、「備える、有する、含む(comprising)」等のオープンエンド言語に関連して使用されるときに、一実施形態では、Aのみを意味する(随意に、B以外の要素を含む)。別の実施形態では、Bのみを意味する(随意に、A以外の要素を含む)。さらに別の実施形態では、AとBの両方を意味する(随意に、他の要素を含む)。
本明細書で使用される「又は」は、上記で規定したような「及び/又は」と同様な意味を有すると理解されたい。例えば、リスト内で項目を区切るときに、「又は」又は「及び/又は」は、包括的なものと解釈しなければならない、すなわち、少なくとも1つを含むが、多数の要素又は要素のリストの1つ以上を含み、そして、随意に、追加のリスト化されていない項目を含む。
本明細書で用いられる表現及び用語は、説明の目的のためであり、限定とみなされるべきではない。「含む(including)」、「備える(comprising)」、「有する(having)」、「包含する(containing)」、「含む(involving)」及びこれらの活用形の使用は、その後に列挙される項目及び追加の項目を包含することを意味する。
本発明のいくつかの実施形態を詳細に説明したが、様々な変更及び改良は、当業者に容易に想起される。このような変更及び改良は、本発明の精神及び範囲に含まれるものである。従って、上述した説明は単なる例示であり、限定を意図するものではない。