(57)【特許請求の範囲】
【請求項１】
クライアントコンピュータと通信するサーバコンピュータがトレンディ語を特定する同定方法であって、
前記サーバコンピュータが、複数の言葉を含むタイムスタンプが付されているコンテンツを受信するステップと、
前記サーバコンピュータが、減衰関数に少なくとも部分的に基づいて前記複数の言葉に属する各言葉についてトレンドスコアを計算するステップと、
前記サーバコンピュータが、計算された前記トレンドスコアに基づいてトレンディ語として特定された１つ以上の言葉に基づく結果を出力するステップと、
前記サーバコンピュータが、前記クライアントコンピュータから第１の検索文字列を受信するステップと、
前記サーバコンピュータが、第１の検索文字列に含まれる言葉の概念に関連する第１のホームページ上のＲＳＳフィードに現れる複数の言葉を取得するステップと、
前記サーバコンピュータが、第１の検索文字列に含まれる言葉の概念に関連する第２のホームページ上のＲＳＳフィードに現れる複数の言葉を取得するステップと、
前記サーバコンピュータが、第１の検索文字列に含まれる言葉の概念に関連するリファレンスコーパス上のＲＳＳフィードに現れる複数の言葉を取得するステップと、
前記サーバコンピュータが、第１のホームページ上で取得した前記複数の言葉を前記リファレンスコーパス上で取得した前記複数の言葉と比較して、第１の一致する複数の言葉を取得するステップと、
前記サーバコンピュータが、第２のホームページ上で取得した前記複数の言葉を前記リファレンスコーパス上で取得した複数の言葉と比較して、第２の一致する複数の言葉を取得するステップと、
前記サーバコンピュータが、第１の一致する複数の言葉と第２の一致する複数の言葉とから共通する言葉を取得するステップと、
前記サーバコンピュータが、前記共通する言葉を前記クライアントコンピュータに提示するステップと、
を含む同定方法。
【請求項２】
前記タイムスタンプが付されているコンテンツは、ブログ及び／又はインターネットストリームからのコンテンツを含む、請求項１に記載の同定方法。
【請求項３】
前記トレンドスコアを計算するステップにおいて、
前記サーバコンピュータが、前記タイムスタンプが付されているコンテンツに登場する言葉の出現頻度と前記タイムスタンプが付されているコンテンツに登場する他の言葉の出現頻度とを計算し、
前記サーバコンピュータが、前記減衰関数に基づいて前記言葉の出現頻度を修正する、請求項１に記載の同定方法。
【請求項４】
前記減衰関数は減衰速度パラメータに少なくとも部分的に基づいて規定されている、請求項１に記載の同定方法。
【請求項５】
前記特定の際に、前記サーバコンピュータが、計算された前記トレンドスコアに基づいて前記複数の言葉に属する言葉をランキングし、１つ以上の上位にランキングされた言葉をトレンド語として特定する、請求項１に記載の同定方法。
【請求項６】
前記サーバコンピュータが、平均ユニコードポイント値に基づいて前記タイムスタンプが付されているコンテンツの言語を判定するステップを更に含む、請求項１に記載の同定方法。
【請求項７】
前記サーバコンピュータが、前記複数の言葉に属しかつ所定の範囲内のトレンドスコアを有する言葉をセマンティック語彙に追加するステップを更に含む、請求項１に記載の同定方法。
【請求項８】
前記クライアントコンピュータが、前記複数の言葉に属しかつ所定の範囲内のトレンドスコアを有する言葉を選択するステップと、
前記サーバコンピュータが、ユーザが指定した１つ以上の文字列に属する言葉の出現頻度に少なくとも部分的に基づいて前記言葉の第２のトレンドスコアを計算するステップと、
前記サーバコンピュータが、第２のトレンドスコアに少なくとも部分的に基づいて、選択された言葉を分類するステップと、
を更に含む、請求項１に記載の同定方法。
【請求項９】
前記サーバコンピュータが、前記の分類に基づいて、選択された前記言葉を広告用キーワードとして取得するステップを更に含む、請求項８に記載の同定方法。
【請求項１０】
前記サーバコンピュータが、請求項１に記載の前記同定方法の前記共通する言葉を、請求項１に記載の同定方法の減衰関数に少なくとも部分的に基づいてトレンドスコアを計算し、該共通の言葉について計算した１つ以上のトレンドスコアに少なくとも部分的に基づいて、複数のカテゴリのうちの１つ以上に分類するステップと、
前記サーバコンピュータが、前記共通の言葉が分類された前記複数のカテゴリのうちの１つ以上のカテゴリに基づいて、前記共通の言葉に関する広告処理を行うステップと、
を有する
広告方法。
【請求項１１】
前記カテゴリは収益化カテゴリを表す、請求項１０に記載の広告方法。
【請求項１２】
前記広告処理は、
前記サーバコンピュータが、
広告主が入手すべき効果的な言葉として、前記共通する言葉を示唆すること
を行う、請求項１０に記載の広告方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願により開示される発明は一般にコンテンツのセマンティック検索(semantic  search)を実行するための技術分野に関連する。
【背景技術】
【０００２】
インターネットは、膨大な情報を含む相互に接続されたコンピュータネットワークのグローバルシステムである。ワールドワイドウェブ(WWW)はインターネット上で行われる情報共有モデルであり、特定のプロトコル(例えば、ハイパーテキストトランスファプロトコル及びその派生プロトコル)を用いて、相互にリンクしたハイパーテキスト文書のシステムにアクセスする。
【０００３】
WWW及びインターネットを介して利用可能な情報は膨大な量に上ることに起因して、及び利用可能な情報は、膨大な数に及ぶ独自に所有及び運営されているネットワーク及びサーバを介して分散していることに起因して、WWW及びインターネット上で所望のコンテンツを発見することは必ずしも容易でない。
【０００４】
ユーザがインターネット上で所望のコンテンツを発見することを支援する目的でサーチエンジンが開発されている。サーチエンジンは、ユーザが望むコンテンツを表す検索文字列又はサーチクエリ(search  query)を(例えば、一群のキーワードの形式で)ユーザから受信しかつユーザの検索文字列に関連していることがサーチエンジンにより判定された情報及び/又はその情報に対するハイパーリンクを返すコンピュータプログラムである。
【０００５】
サーチエンジンは、一般的には、自動的にウェブを閲覧するウェブクローラ(WebCrawler)と呼ばれるコンピュータプログラムを用いて多数のWWWウェブページ及び/又はその他のコンテンツを抽出することで機能する(例えば、閲覧したウェブページ各々の中で発見した全てのハイパーリンクが後に続いている)。取得されたウェブページ及び/又はコンテンツは分析され、そのウェブページ又はコンテンツについての情報がインデックスに保存される。ユーザがサーチエンジンに対して検索文字列を発行した場合、サーチエンジンは、そのインデックスを用いて、ユーザの検索文字列に最も合致すると判定されたウェブページ及び/又はコンテンツを特定又は同定し、最も合致するウェブページ及び/又はコンテンツと共に結果のリストを返す。しばしば、このリストは、ユーザの検索文字列に最も合致すると判定されたウェブページ及び/又はコンテンツに至る一群のハイパーリンクが含まれている1つ以上のウェブページの形式を有する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
開示される発明の課題は、改善されたセマンティック検索を実行できるようにする装置及び方法等を提供することである。
【課題を解決するための手段】
【０００７】
一実施形態による方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さを減らす曖昧性除去語を取得するステップと、
プロセッサが、前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有するセマンティック検索方法である。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態によるセマンティック検索を実行する方法を示すフローチャート。
【図２】ユーザの検索文字列をサーバに提供する本発明の実施の形態によるクライアント/サーバアーキテクチャを示すブロック図。
【図３】検索文字列の1つ以上の意味表現を生成する本発明の実施の形態による方法を示すフローチャート。
【図４】本発明による実施の形態を実現するのに使用されるクライアント/サーバアーキテクチャを示すブロック図。
【図５】一群の曖昧性除去語をユーザに提示するのに使用される本発明の実施の形態によるディスプレイを示す図。
【図６】本発明の実施の形態が使用されるコンピュータ装置のブロック図。
【図７】セマンティック検索を実行する本発明の実施の形態によるシステムを示す図。
【図８Ａ】実際の概念に関連する概念を分類する本発明の実施の形態による方法を示す図。
【図８Ｂ】実際の概念に関連する概念を分類する本発明の実施の形態による方法を示す図。
【図８Ｃ】実際の概念に関連する概念を分類する本発明の実施の形態による方法を示す図。
【図８Ｄ】実際の概念に関連する概念を分類する本発明の実施の形態による方法を示す図。
【図９】本発明の実施の形態による収益化評価カテゴリ(monetization  categories)のマトリクスを示す図。
【図１０】宣伝広告を行う本発明の実施の形態による方法を示すフローチャート。
【図１１】結果のランキング/注釈を決定する本発明の実施の形態による方法を示すフローチャート。
【発明を実施するための形態】
【０００９】
＜要約＞
（A）  一実施形態では、セマンティック検索方法が与えられる。本方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さをなくす曖昧性除去語を取得するステップと、
前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有する方法である。
【００１０】
（B）  一実施形態では、セマンティック検索システムが与えられる。本システムは、検索方法を実行するプロセッサを有し、検索方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さをなくす曖昧性除去語を取得するステップと、
前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有するシステムである。
【００１１】
（C）  一実施形態では、コンピュータで読み取ることが可能な記憶媒体が与えられる。本記憶媒体は、セマンティック検索方法をプロセッサに実行させる命令(ソフトウェア又はコンピュータプログラム)を保存し、セマンティック検索方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さをなくす曖昧性除去語を取得するステップと、
前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有する記憶媒体である。
【００１２】
（D）  一実施形態では、トレンディ語を同定する方法が与えられる。本方法は、
複数の言葉を含むタイムスタンプが付されているコンテンツを受信するステップと、
プロセッサが、減衰関数(decay  function)に少なくとも部分的に基づいて前記複数の言葉に属する各々の言葉についてトレンドスコアを計算するステップと、
計算された前記トレンドスコアに基づいてトレンディ語として同定された1つ以上の言葉に基づく結果を出力するステップと
を有する方法である。
【００１３】
（E）  一実施形態では、宣伝広告を行う方法が与えられる。本方法は、
プロセッサが、情報コンテンツの本体に登場する言葉を、該言葉について計算した1つ以上のトレンド語に少なくとも部分的に基づいて、複数のカテゴリのうちの1つ以上に分類するステップと、
前記言葉が分類された前記複数のカテゴリのうちの1つ以上のカテゴリに基づいて、前記言葉に関する宣伝広告を行うステップと
を有する方法である。
【００１４】
（F）  一実施形態では方法が提供される。本方法は、
第1の検索文字列を受信するステップと、
プロセッサが、前記第1の検索文字列の意味表現(semantic  representation)を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果のランキングを決定する又は注釈を付けるステップと
を有する方法である。
【００１５】
（G）  一実施形態では、システムが提供される。本システムは、ある方法を実行するプロセッサを有し、その方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味表現(semantic  representation)を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果のランキングを決定する又は注釈を付けるステップと
を有するシステムである。
【００１６】
（H）  一実施形態では、コンピュータで読み取ることが可能な記憶媒体が提供される。本記憶媒体は、ある方法をプロセッサに実行させる命令(ソフトウェア又はプログラム)を保存し、その方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味表現(semantic  representation)を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果のランキングを決定する又は注釈を付けるステップと
を有する記憶媒体である。
【００１７】
＜詳細な説明(原理)＞
多くの従来のインターネットサーチエンジンは、ユーザの検索文字列に含まれている文字通りの言葉と、インデックスが付けられているコンテンツ(インデックスコンテンツ)内の文字通りの言葉との間でパターンマッチング又はパターンの照合を単に行うことによって、コンテンツのどの部分がユーザの検索文字列に関連しているかを決定していることを、発明者等は考察した。そのようなサーチエンジンは、一般に、ユーザの検索文字列の意味(semantic  meanings)を表現しようとはせず、むしろインデックスコンテンツ内の用語、言葉及び語句の意味に着目していることに、発明者等は着目した。従って、意味が曖昧である言葉と共にユーザが検索文字列を入力すると、サーチエンジンは、ユーザが意図している言葉の意味と全く関連のない結果を返す傾向がある。
【００１８】
例えば、ユーザが「bark」という検索文字列を与えたとすると、犬が発する声に関する情報、木の外皮に関する情報、3本マストの小型帆船(barque)に関する情報又は「bark」に関する何らかの他の意味に関する情報の何れをユーザが探しているのか明確でない。ほとんどのサーチエンジンは、「bark」という言葉について可能性のあるいくつもの意味を特定し、それら可能性のある意味が混ざった結果を返す。
【００１９】
ユーザの検索文字列の意味を判定することで、ユーザが意図している情報を含む可能性が高い検索結果を取得して返せるかもしれないことに、発明者等は着目した。例えば、ユーザが「bark」という検索文字列を与えた場合に、その検索文字列におけるユーザの意図が、木に関する「bark」の情報の発見であることが判明している場合、木に関する「bark」に関連するコンテンツを返す一方、「bark」という言葉を含んではいるが「bark」の他の意味に関連する他のコンテンツ(例えば、犬や3本マストの小型帆船に関するコンテンツ)を返さないことが望ましい。
【００２０】
所定の言葉が単に登場しているだけでなくコンテンツ内の言葉の意味に基づいて、検索文字列に合致するコンテンツを同定しようとする多くの「セマンティック検索(semantic  search)」技術が開発されている。しかしながら、これらの技術は、一般に、検索する大量の情報をなす文書又はコンテンツ各々の意味表現(semantic  representation)を作成することを前提としている。
【００２１】
検索する大量のコンテンツをなす文書又はコンテンツ緒の大野の意味表現を生成することに基づくセマンティック検索技術は、いくつかの欠点を有することに、発明者等は着目した。具体的に言えば、WWW上にあるコンテンツは膨大な量に及ぶことに起因して、文書又はコンテンツ各々の意味表現を生成することは実用的ではない。この問題は、WWWで公開されている多数のコンテンツが直ぐに使用されるように意図されている(リアルタイムウェブとして言及される)という事実によって、悪化する。従って、そのようなコンテンツは、意味表現が生成される時点では古くなっている(又は陳腐化している)かもしれない。
【００２２】
コンテンツに意味のある注釈を付ける(semantic  annotation)この問題は、ウェブスケールのリアルタイムセマンティック検索についての最も深刻かつコスト高となってしまう障壁の1つである。ユーザが入力したクエリ又は文字列の意味表現及びコンテンツを求める意図を提供することによって、検索されるコンテンツに事前に意味の注釈を付ける必要はなくなり、そのような方法は体系化されていないコンテンツソースでも効果的に機能することに、発明者等は着目した。
【００２３】
いくつもの実施の形態はセマンティック検索を実行する技術に関連する。これらの実施の形態の内のいくつかは従来の検索方法に関する上記の問題に対処するものであるが、全ての実施の形態が上記の問題の全てに対処するわけではなく、実施の形態によっては上記の問題の何れにも対処しないかもしれない。従って、本発明は従来の検索方法について議論された上記の全て又は何れかの問題に対処していることに限定されない点が、理解されるべきである。
【００２４】
＜詳細な説明(具体例)＞
図1は、本発明の実施の形態によるセマンティック検索を実行する方法100のフローチャートを示す。図1に示す方法はステップ101から始まり、ユーザが与えた検索文字列又は検索文字列を受信する。本方法は次にステップ103に続き、ユーザの検索文字列についての1つ以上の意味表現を生成する。例えば、以下において詳細に説明するように、ステップ103では1つ以上の概念定義(concept  definition)が生成され、概念定義の各々はユーザの検索文字列についての可能性のある1つの意味(semantic  meanings)を表す。
【００２５】
本方法はステップ105に続き、ステップ103で生成された意味表現から、ユーザの検索文字列で意図されている意味に関連する可能性のある一群の曖昧性除去語(disambiguation  term)を生成する。この一群の言葉はユーザに提供され、ユーザの(彼又は彼女の)検索文字列で意図されている意味に関連する言葉、語句又はフレーズをユーザが選択できるようにする。言葉(term)は1つ以上のワード又は1つ以上の語句(又はフレーズ)を含んでよいことが理解されるべきである。本方法はステップ107に続き、ユーザが彼又は彼女の検索文字列に関連しているものとしてユーザが指定した曖昧性除去語を受信し、ユーザが選択したその曖昧性除去語に基づいて、検索文字列でユーザが意図している意味を取得できると思われるユーザの検索文字列の意味表現が、選択される。本方法はステップ109に続き、選択された意味表現について合成処理(synthesis  operation)が実行される。この合成処理の結果として、拡張されたセマンティックネットワーク又は拡張された意味網(expanded  semantic  network)が生成されてもよい。本方法はステップ111に続き、拡張されたセマンティックネットワーク又は意味網に基づいて1つ以上の検索文字列が発行し、その1つ以上の検索文字列についての結果が受信されかつユーザに提示する一群の検索結果を生成するためにランキング及び/又は選別される。本方法は次にステップ113に続き、これらの検索結果がユーザに表示される。図1に示す方法の各ステップは任意の様々な方法で実行されてもよく、様々な実施の形態でこれらのステップを実行する方法の具体例が以下において詳細に説明される。
【００２６】
図1に示されている方法100及びその任意の変形例は、任意の多数の方法で実現されてもよい。例えば方法100はハードウェア、ソフトウェア又はそれらの組み合わせを用いて実現されてもよい。ソフトウェアで実現される場合、そのソフトウェアは適切な任意のプロセッサ又は一群のプロセッサで実行される。ソフトウェアはプロセッサで実行可能な命令及びコンフィギュレーションパラメータとして保存され、そのようなソフトウェアはコンピュータで読み取ることが可能な記憶媒体に保存される。
【００２７】
方法100を実行するソフトウェアは適切な任意の方法で構築されてよい。例えば、図7に示されているような複数のソフトウェアモジュールを含むソフトウェアシステム700として構築されてもよい。図示の具体例の場合、各々のソフトウェアモジュールは方法100の1つ以上のステップの少なくとも一部を実行する。しかしながら、実施の形態において、ソフトウェアシステム700の1つ以上のソフトウェアモジュールは方法100のステップに関連していない機能を発揮してもよく、本発明は図示の例に限定されない。
【００２８】
図示のソフトウェアシステム700は多数のソフトウェアモジュールを有し、ラベル-概念変換モジュール701、ユーザインターフェースモジュール702、セマンティック合成モジュール703、選別抽出エージェントモジュール705、セマンティック注釈モジュール707、情報抽出サービスモジュール709、時間的用語抽出モジュール711及び語彙モジュール713を含む。一実施形態では、方法100のステップ101、107及び113はユーザインターフェースモジュール702により実行され、方法100のステップ103及び105はラベル-概念変換モジュール701により実行され、方法100のステップ108はセマンティック合成モジュール703により実行され、方法100のステップ111は、選別抽出エージェントモジュール705及び情報抽出サービスモジュール709により実行されてもよい。
【００２９】
以下の説明は次の観点から行われる。
【００３０】
I.ユーザが生成した検索文字列を受信する
II.検索文字列について1つ以上の意味表現を生成する
III.曖昧性除去語のリストを生成する
IV.選択された曖昧性除去語に基づいて意図されている概念定義を特定する
V.拡張されたセマンティックネットワークを合成する
VI.検索文字列を発行し、結果を選別する
VII.検索結果をユーザに表示する
VIII.新たな言葉を抽出する
IX.トレンディ語を用いて実際の概念に関連する概念を特定する
X.セマンティック語彙を更新する
XI.トレンド語を用いた評価方法
XII.追加的な詳細
＜I.ユーザが生成した検索文字列を受信する＞
上述したように、方法100のステップ101では、人間のユーザが提供したサーチ空襟が受信される。図示のソフトウェアシステム700の場合、ステップ101はユーザインターフェースモジュール702により実行されてもよい。検索文字列は可能な任意の様々な方法で受信されてよい。例えば、一実施形態では、検索文字列は、ユーザのクライアントコンピュータから、方法100を実行するためのソフトウェアコードを実行するサーバコンピュータに提供されてもよい。すなわち、例えば、図2に示すように、ユーザはアプリケーションプログラム205を実行するクライアントコンピュータを操作してもよい。サーバ203は方法100を実行するコンピュータである。ユーザは検索文字列をアプリケーションプログラム205に入力し、アプリケーションプログラム205がその検索文字列をサーバ203に送信してもよい。こうして、サーバ203はクライアント201で動作しているアプリケーションプログラム205から検索文字列を受信する。
【００３１】
アプリケーションプログラム205は、サーバ203に情報を送信すること及びサーバ203から情報を受信することが可能な任意の様々なタイプのアプリケーションプログラムであってよい。例えば、一実施形態におけるアプリケーションプログラム205はインターネット又はWWWブラウザであってよい。
【００３２】
図2に示す例の場合、アプリケーションプログラム205はユーザが提供した検索文字列をサーバ203に直接的に送信するように示されている。しかしながらそれはユーザの検索文字列がクライアント201からサーバ203へどのように送信されるかを簡易に表現しているに過ぎず、ユーザの検索文字列がクライアント201からサーバ203へ直接的に創始されることは必須でないことが、理解されるべきである。例えば一実施形態ではユーザの検索文字列はネットワークを介してサーバ203に送信される。ネットワークはLAN、WAN又はインターネットのような適切な任意のネットワークであってよい。
【００３３】
＜II.検索文字列について1つ以上の意味表現を生成する＞
上述したように、方法100のステップ103において、ユーザの検索文字列に関する1つ以上の意味表現が生成される。図7に示す例示的なソフトウェアシステムの場合、この処理はラベル-概念変換モジュール702により実行されてもよい。意味表現の各々は、ユーザの検索文字列について可能性のある1つの意味に対応する。ユーザの検索文字列の意味表現を生成するために、多種多様な可能な任意の技法が使用されてよい。一実施形態で使用されてよいそのような技法の具体例が図3の方法300に示されている。図3に関連して以下で説明される具体例の場合、ユーザの検索文字列についての「概念定義(concept  definition)」と呼ばれる複数の意味表現がセマンティック語彙(semantic  lexicon)又は語彙データベースを用いて生成される。
【００３４】
米国特許出願番号第12/671,846号で説明されているように、概念又はコンセプト(concept)は、他の言葉との関連性による複合的な抽象度(compound  levels  of  abstract)の観点から、及びキーワードや形態素(morpheme)のような他の多くの基礎的な情報表現要素  (more  fundamental  knowledge  representation  entity)の観点から構造的に決定されてもよい。そのような構造は「概念定義」と言及される。要するに、概念を含むキーワード及び形態素のようなより多くの基礎的な情報表現要素は、概念の属性と言及される。
【００３５】
セマンティック語彙は、ワード間の意味上の関連性を含むワードの集合である。実施の形態で使用されてよいセマンティック語彙の一例は、プリンストン大学のワールドネットセマンティック語彙(WorldNet  semantic  lexicon)である。図7に示すソフトウェアシステムの場合、セマンティック語彙は語彙モジュール713により示されている。
【００３６】
一実施形態において、セマンティック語彙の概念は時間が経過しても同じままである。しかしながら他の実施の形態の場合、以下のセクションVIII、IX及びXで説明されているように、セマンティック語彙の概念は時間経過と共に変化する。例えば、ワードがセマンティック語彙に追加される或いはワードがセマンティック語彙から削除される。
【００３７】
一実施形態において、セマンティック語彙は、複数のノード及びノード間のエッジ(edge)を有するグラフにより表現されてもよい。グラフはノードを1つ以上の言葉に関連付けることで語彙を表現する。2つのノード間のエッジは、それらのノードに関連する言葉同士の間の関連性を示す。例えば、関連性は、「〜は〜により規定される(defined-by)」という関係や、「〜は〜である(is-a)」という関係であってもよい。概念定義は、1つ以上のトークン化された言葉を含む隣接するノードに関連する言葉に基づいていてもよい。例えば、そのような隣接するノードは、1つ以上のトークン化された言葉を含むノードについて「define-by」又は「is-a」という関係を有する言葉を含む。
【００３８】
図3に示す方法300は、検索文字列(例えば、ユーザが入力したフリーテキスト検索文字列(free  text  search  query))に関する1つ以上の概念定義(すなわち、意味表現)を生成する。本方法はステップ301から始まり、ユーザのクエリ(の文字列)が個々のワードにトークン化又は分割され、個々のワード各々がトークンとなる。例えば、「ラブアンドウォー(Love  and  war)」というユーザのクエリは、(1)「ラブ(Love)」、(2)「アンド(and)」及び(3)「ウォー(war)」という3つのトークンに分割される。
【００３９】
本方法は次にステップ303に進み、ストップワード又は停止語ではないトークンの各々について、そのトークンを含むセマンティック語彙の中のキーワードが特定される。ストップワードは、方法300において選別又は無視されるワード(例えば、「アンド(and)」や、「その(the)」等)である。
【００４０】
本方法は次にステップ305に進み、ステップ303で特定されたキーワードがランキングされ、特定されたキーワードの内の一部又はサブセットが、概念定義の生成に使用するために選択される。例えば、語彙は、「Love」というワードを使用している9000個のキーワードを有していてもよい。ステップ305では、それらのうちの全部又は一部(例えば、上位5％、或いは他の適切な一部分)が、概念定義の生成に使用するために選択される。
【００４１】
多種多様な可能性のある任意の方法又は基準が、特定されたキーワードをランキング、順序付け又は等級化するのに使用されてもよい。実施の形態で使用されてもよい基準の具体例は、以下の(a)−(c)の基準を含んでもよい。(a)複数のトークン化されたワードに厳密に一致するキーワードが、そうでないキーワードよりも高くランキングされる。例えば、トークン化されたワードが、「アメリカの(American)」及び「アルバム(Albums)」であったとすると、「アメリカのアルバム(American  Albums)」というキーワードが、「アメリカの」というキーワードや、「アルバム」というキーワードよりも高くランキングされる。(b)トークン化されたワードに厳密に一致するキーワードが、そうでないキーワードよりも高くランキングされる。例えば、「Love」というワードの場合、「Love  in  politics」というキーワードよりも、「Love」というキーワードの方がより一致している。(c)1つより多いトークン化されたワードを使用するキーワードが、そうでないキーワードよりも高くランキングされる。例えば、トークン化されたワードが「アメリカの(American)」、「ポップ(Pop)」及び「アルバム(Albums)」であったとすると、「ポップアルバム(Pob  Albums)」というキーワードは、「ポップ(Pop)」のみを含むキーワードや、「アルバム(Albums)」のみを含むキーワードよりも高くランキングされる。(a)−(c)の基準の各々は、他の任意の基準と任意の組み合わせで使用されてよい。
【００４２】
ステップ305の後に、本方法はステップ307に続き、ステップ305で選択されたキーワードに基づいて概念定義が生成される。例えば、ステップ103で生成されるキーワードは、愛(love)、戦争(war)、ラブソング(love  song)、戦争と平和(war  and  peace)、軍事政治(war  politics)、愛と皮肉(love  and  satire)、ある愛の詩(love  story)、恋と愛(romance  and  love)、兵器(war  machine)、軍艦(ships  of  war)、軍事会議(war  council)、軍事大臣(war  minister)、ラブバラード(love  ballad)、戦争文学(war  literature)、三角関係(love  triangle)である。
【００４３】
概念定義はキーワード表現の関連性として生成されてもよい。或いは、概念定義は、ステップ305で登場した一群のキーワードを構文解析し、構文解析されたキーワードの関連するコンポーネントを結合し直すことで生成されてもよい。コンポーネントは、キーワードが、同じトークンから由来して構文解析されたものであるか否かに関連する。目下の例でキーワードから生成された概念定義は、(戦争(war)、平和(peace)、政治(politics))、(愛(love)、歌(songs))、(愛(love)、恋(romance)、バラード(ballad)、物語(story)、三角関係(triangle))、(戦争(war)、兵器(machine)、船(ships))、(戦争(war)、政治(politics)、会議(council)、大臣(minister))等を含む。上述したように、概念定義の各々はユーザの検索文字列について可能性のある意味の1つに対応する。
【００４４】
一実施形態では、概念定義の各々は、個々のトークンの中の唯一のキーワード(ただし、ストップワードや、キーワードが存在しないワードを除く)を有し、概念定義の各々は(たとえそれが複数のトークンに対応付けられていたとしても)高々1回各キーワードを使用する。
【００４５】
一実施形態において、ユーザのテキストクエリ又は検索文字列が1つ以上の未知のワード(すなわち、語彙に含まれているキーワードが存在しない何らかのワード）を含んでいた場合、ユーザのフルテキストクエリ(完全な検索文字列)と共にラベルとして新たなキーワードが生成されてもよい。新たなキーワードは如何なる祖先(ancestor)(由来したもの)も子孫(descendant)(由来するもの)も有していない。新たなキーワードは、変換処理の最後に破棄される、或いは将来の処理のためにセマンティック語彙に追加される。
【００４６】
例えば、ユーザのクエリが「German  blitzkrieg」であった場合において、「blitzkrieg」というワードが現在の範囲内の如何なるキーワードによっても使用されていなかった場合、システムは「German  blitzkrieg」というラベルと共に新たなキーワードを生成し、この単位で未知の意味を表現する。その後、クエリに関する概念定義は、「German    blitzkrieg」というラベルの新たなキーワードと共に、語彙の中の既知のキーワードで構築される。或いは、新たなキーワード又は未知のワードを生成せずに、方法300はその未知のワードを無視してもよい。
【００４７】
ステップ307で生成された概念定義の各々はセマンティックネットワーク又は意味網の基礎となってもよい。セマンティックネットワーク又は意味網は有向グラフの形式をとる或る種の情報表現であり、概念を表す頂点(vertex)と、頂点同士の間のエッジ(edge)とを有し、エッジは概念同士の間の意味上の関係(semantic  relation)を表現する。
【００４８】
例えば、「愛と戦争(love  and  war)」というクエリから得られた概念定義［愛(love)、戦争(war)、小説(novel)］という概念定義は、あるセマンティックネットワーク又は意味網と考えられ、セマンティックネットワークでは、「愛(love)」、「戦争(war)」、「愛と戦争(love  and  war)」及び「小説(novel)」の各々が頂点を表し、1つ以上の頂点を結ぶ有向エッジがある。概念定義は、グラフィカル語彙(graphical  lexicon)であるセマンティック語彙を利用して生成されてもよい。グラフィカル語彙は、「愛と戦争(love  and  war)」というキー和戸に関連するノードを有する(なお、これらのキーワードは、関心のある2つのトークンに正確に一致するので、高くランキングされる傾向にある)。隣接ノードは「小説(novel)」という言葉を含む。
【００４９】
従って、［愛(love)、戦争(war)、小説(novel)］という概念定義は或るセマンティックネットワークと考えられ、セマンティックネットワークは、「愛と戦争(love  and  war)」のノードに関する1つの頂点と、「小説(novel)」に関する別の頂点とを有する。任意の所与のノードに関し、個々のトークン化された言葉及び構成要素の言葉は、「愛(love)」に関する頂点及び「戦争(war)」に関する頂点のような追加的な頂点を設定するための基礎となってもよい。
【００５０】
セマンティックネットワーク内の頂点はルートの頂点(root  vertex)として指定されてもよい。目下の例の場合、「愛と戦争(love  and  war)」の頂点がルートの頂点として指定される。「愛と戦争(love  and  war)」は、セマンティック語彙の中で特定された最初のノードであるのでルートの頂点として指定され、セマンティック語彙は、隣接ノードからの「小説(novel)」を含むための基礎であり、かつ初期ノード及び対象のトークン化された言葉の構成要素として「愛(love)」及び「戦争(war)」を含む基礎である。概念定義のセマンティックネットワークでは、他の全ての頂点は、ルートの頂点から発せられ、ルートの頂点に直接的に隣接している。
【００５１】
＜III.曖昧性除去語のリストを生成する＞
上述したように、方法100のステップ105において、ステップ103で生成された意味表現又は概念定義が、ユーザに提供される一群の曖昧性除去語(disambiguation  term)を生成するのに使用され、ユーザは、彼又は彼女が検索文字列で意図している意味に関連する曖昧性除去語を選択する。従って、曖昧性除去語は、検索文字列の意味の曖昧性を除去するために使用される。図示のソフトウェアシステム700では、ステップ105はラベル-概念変換モジュール701により実行されてもよいが、適切な他の任意のモジュールで実行されてよい。すなわち、例えば、ユーザのクエリが「bark」であった場合に、概念定義を使用して一群の曖昧性除去語を提供し、ユーザは「bark」というワードで彼又は彼女が意図している意味についての曖昧性を除去するために、一群の曖昧性除去語の中から選択する。
【００５２】
曖昧性除去語は適切な如何なる方法で生成されてもよい。例えば、ステップ103で生成された概念定義に含まれている1つ以上のキーワードが、曖昧性除去語としてユーザに提供されてもよい。一実施形態では、提供される曖昧性除去語はユーザの検索文字列内の何れのトークンにも一致していなくてもよいが、他の実施の形態では、提供されるキーワードは検索文字列内のトークンに一致している。
【００５３】
曖昧性除去語は、可能な様々な任意の方法でユーザに提供されてもよい。例えば、図4に示されているように、その言葉はサーバ203(すなわち、方法100を実行するコンピュータ)からクライアント201のアプリケーションプログラム205に提供され、ユーザはそのクライアントから検索文字列を発行している。
【００５４】
アプリケーションプログラム205がインターネット又はWWWブラウザである実施の形態の場合、曖昧性除去語はウェブページの形式で提供されてもよい。図5は「bark」というユーザクエリについての概念定義から生成された言葉を含むウェブページの一例を示す。図5の要素503に示されているように、ユーザは、「bark」という言葉について彼又は彼女が意図している意味の曖昧性を除去するために1つ以上の言葉を選択してよい。
【００５５】
＜IV.選択された曖昧性除去語に基づいて意図されている概念定義を特定する＞
上述したように、方法100のステップ107において、ユーザは一群の曖昧性除去語の中から1つ以上を選択し、ユーザが選択した曖昧性除去語を示す指標又はインジケータが受信される。例えば、ステップ105において生成された言葉のリストを受信したアプリケーションプログラムは、1つ以上の言葉を選択するユーザからの入力を受け入れ、ユーザが選択した言葉のインジケータを、方法100を実行するサーバに送信する。図示のソフトウェアシステム700の場合、ステップ107の一部分(例えば、ユーザからの入力を受け入れること)は、ユーザインターフェースモジュール702により実行されてもよい。
【００５６】
ユーザが選択した言葉に基づいて、ステップ103で生成された概念定義は、検索文字列についてユーザが意図している意味を示す概念定義として選択される。これは様々な任意の方法で行われてよい。例えば、一実施形態では、ユーザが選択した何れかの言葉を含む概念定義の各々が特定され、特定された概念定義を表現する複数のセマンティックネットワークは、検索文字列についてユーザが意図している意味を最良に示す概念定義として機能する1つのセマンティックネットワークに統合される。
【００５７】
概念定義の複数のセマンティックネットワークは多数の任意の方法で統合又は併合されてもよい。図形又はグラフを用いていないセマンティック語彙を使用する場合、選択された複数の概念定義であって共通する1つの言葉を共有する複数の概念定義が、1つのセマンティックネットワークを構築するために使用されてもよい。単一のセマンティックネットワークは複数の概念定義に基づいて個々のセマンティックネットワークを統合することで形成されてもよく、セマンティックネットワークの各々は共通する言葉を表す頂点の概念定義を表現する。
【００５８】
図形又はグラフを利用するセマンティック語彙を利用する場合、2つの異なる概念定義が、セマンティック語彙の中の個々のノードから導出され、単独のセマンティックネットワークに統合されてもよい。「愛(love)、戦争(war)、小説(novel)」の1つの概念定義は、「愛と戦争(love  and  war)」のノード及びそれに隣接する「小説(novel)」のノードから導出されてもよい。「愛(love)、戦争(war)、映画(movie)」の第2の概念定義は、「愛と戦争(love  and  war)」のノード及びそれに隣接する「映画(movie)」のノードから導出されてもよい。個々のセマンティックネットワークにより最初に表現されるこれらの概念定義は、「愛と戦争(love  and  war)」の頂点付近において、隣接する頂点である「小説(novel)」及び「映画(movie)」と一緒に統合されてもよい。従って、ユーザにとってカスタマイズされた新たなセマンティックネットワークが形成されてもよい。
【００５９】
＜V.拡張されたセマンティックネットワークを合成する＞
上述したように、方法100のステップ109において、セマンティックネットワークは、ステップ107で特定された概念定義を用いて、検索文字列についてユーザが意図した意味を示す概念定義として合成されてもよい。図7に示すソフトウェアシステム700の場合、このステップはセマンティック合成モジュール703により実行されてもよい。この場合において、(例えば、ユーザ入力に少なくとも部分的に基づいて)ステップ107で特定された概念定義は、合成処理(synthesis  process)に関する実際の概念定義(active  concept  definition)と考えられてもよい。
【００６０】
ステップ109における合成処理は、実際の概念定義で規定される概念に関する概念を特定し、実際の概念定義で規定される概念についての拡張されたセマンティックネットワークを生成する。すなわち、例えば、合成処理は、実際の概念定義内の言葉に関連する言葉を特定し、実際の概念定義中の言葉と関連する言葉との双方を含む拡張されたセマンティックネットワークを生成する。
【００６１】
合成された拡張されたセマンティックネットワークの概念は、ステップ101で受信したユーザが提供した検索文字列から導出される1つ以上の検索文字列の基礎として機能する。拡張されたセマンティックネットワークは、ユーザのクエリ又は意図に合う大規模な一群の関連用語を提供し、体系的及び非体系的なコンテンツソース双方によるダウンストリーム検索処理を促進する。
【００６２】
セマンティックネットワークは任意の様々な方法で実行されてもよい。一実施形態で使用されてよいセマンティックネットワークを合成する可能な方法の1つが以下において説明される。この方法の場合、実際の概念定義により規定される概念に関する候補の一群の概念(又は一群の概念候補)が生成される。一群の概念候補は、実際の概念定義内のキーワード及びセマンティック語彙の中のキーワードを用いて生成されてもよい。上述したように、セマンティック語彙は、一群のキーワードをキーワード間の関連性(例えば、親子関係)と共に含む。この意味において、セマンティック語彙はキーワードの階層と考えられてもよい。図7に示すソフトウェアシステム700の場合、セマンティック語彙は語彙モジュール713により示されている。
【００６３】
一実施形態では、使用されるセマンティック語彙は、概念定義を生成する際にステップ103で使用したのと同じセマンティック語彙であってもよいが、別の実施形態では、異なるセマンティック語彙が使用されてもよい。上述したように、セマンティック語彙は修正又は増強されてもよい。一実施形態において、セマンティック語彙は、いわゆる「トレンディ(trendy)」語(例えば、所定の閾値より高い範囲である所定の範囲内のトレンドスコアを有する言葉)と共に修正又は増強されてもよい。従って、セマンティックネットワークは、セマンティック語彙の中の言葉及び1つ以上の「トレンディ」語に少なくとも部分的に基づいて生成され、「トレンディ」語はそれらのトレンドスコアに基づいて選択される。トレンディ語を特定し、関連するトレンドスコアを計算する方法については、以下のセクションVIIIで詳細に説明される。
【００６４】
実際の概念定義中の一群のキーワードは、明示的に関連する祖先及び子孫のキーワード群を発見するために、セマンティック語彙内のキーワード階層と比較される。実際の概念定義を形成するキーワード群中の要素の部分集合であって及び/又は実際の概念定義を形成するキーワード群の明示的な祖先であるセマンティック語彙の中のキーワード群は、実際の概念定義に関するキーワード群の中での可能性のある先祖のキーワード群として考えられてよい。先祖のキーワード群各々において、各キーワードは自身の一群の意味的に関連する概念を有する。所与のキーワード群に属する異なるキーワードから得られたこれらの意味的に関連する概念の組み合わせは、キーワード群に合致する関心のある概念を生成するのに使用され、かつ候補の概念群に関する概念を生成するのに使用されてもよい。例えば、実際の概念としての「オレンジの木」は、ある祖先のキーワード群として「柑橘類の果樹園(citrus  orchard)」を有するかもしれない。更に「柑橘類の果樹園」は関連する概念として「ライムの茂み(lime  bush)」というキーワード群を有し、「ライム(lime)」は「柑橘類」から導出され、「茂み」は「果樹園」から導出されている。従って、「ライムの茂み」は関心のある又は対象の概念であり、実際の概念定義の「オレンジの木」のキーワード群に合致している。
【００６５】
同様な処理が、実際の概念定義に関するキーワード群について子孫キーワード群を特定するために使用されてもよい。例えば、実際の概念定義についてのキーワード群に属する子孫の言葉を明示的に表す要素であって及び/又は上位集合(superset)であるセマンティック語彙の中のキーワード群は、可能性のある子孫概念を表す。例えば、概念の候補群が、実際の概念に関連するキーワード群の組み合わせを含んでいてもよい。例えば、「実際の概念としての「オレンジの木」は、「オレンジの樹木作物の収穫高(orange  tree  crop  yield)」を子孫キーワード群として有し、「フロリダのオレンジの木」を別の子孫キーワード群として有していてもよい。「フロリダの樹木作物」のような「樹木作物」及び「フロリダ」の組み合わせは、関心のある対象でありかつ実際の概念定義の「オレンジの木」のキーワード群に合致している。更に、1つより多い子孫キーワード群の中で発見された言葉(例えば、複数のキーワード群の交わり)が、関心のあるもの又は対象であってもよい。1つより多い子孫キーワード群で生じるそのような言葉全ての統合又は取得された集まりは、一群の概念候補のキーワード群を表現する。
【００６６】
概念の階層形式でセマンティックネットワークを生成するために、ある一群の導出規則が、候補群の概念各々のキーワード群に適用されてもよい。実際の概念定義のキーワード群は、候補群の概念に関するキーワード群各々とペアをなすように関連付けられる。ペアの各々に関し、実際の概念定義に関するキーワード群を、ペアに関連付けられているキーワード群に変換する一連のキーワード群処理が導出されてもよい。「導出(derivation)」と言及されるこれらの処理は、候補の概念が実際の概念定義により規定される概念にどのように関連しているかを決定する。
【００６７】
任意の様々な可能な導出処理が実行されてよい。実施の形態で使用されてよい4つのタイプの導出処理の具体例が、以下に説明される表1に示されている。
【００６８】
表1：導出処理の類型
【００６９】
【表１】
0006416150.tif 000002
全てのキーワードの関連性の方向性(directionality)は、潜在的な概念の関係性のペアにおけるものに一致している必要があることに留意を要する。キーワード群のペアはそれらのキーワードの間で祖先の関係又は子孫の関係を有するが、双方は有しない。セマンティックネットワーク合成処理は、祖先の処理(p,d)又は子孫の処理(a,c)の何れかのみを適用することで(双方は適用しない)、その方向性を確保し、概念同士の間の関係性を設定する。これは、概念が、関連しない概念に対応するもので置換された全てのキーワードを有しないようにする。
【００７０】
例えば、実際の概念定義が｛A,B,C｝というキーワードを有し、一群の概念候補に属する候補概念が｛D,B,G,F｝というキーワードを有していたとすると、これら3つのキーワードに対応する実際の概念定義に関する3つの軸が存在する。概念同士の間に関連性があるか否かを判定するために、先ず明示的な関係を使用し、例えばAからその明示的な子孫Dへの明示的な関係と、Cからその明示的な子孫Gへの別の関係とを使用してよい。(これらは共にcの処理であり、キーワードを子孫のキーワードで置換する)。最後に、子孫キーワード(すなわち、F)を追加する黙示的な処理aを使用することで、候補の子孫に合致する実際の概念定義のキーワード群が得られる。従って、その候補を実際の候補定義の子孫とすることができる。
【００７１】
実際の群(active  set)及び候補のキーワード群をペアにする場合に、3つの可能なキーワード群が存在することを説明する。
【００７２】
・候補群のみに関連するもの(「候補のみ」のキーワード)
・候補群及び実際の群の双方に関連するもの(「双方」のキーワード)
・実際の群のみに関連するもの(「実際のみ」のキーワード)。
【００７３】
実際の群を候補群に変換することが、「実際のみ」のキーワードを除外する必要があった場合、その候補群は実際の群の祖先となる。実際の群が候補群と同数のキーワードを含みかつ如何なる候補キーワードとも親子関係を有していなかった場合、その候補群はその実際の群と兄弟姉妹の関係(sibling)にある。実際の群を候補群に変換することが「候補のみ」のキーワードを追加する必要があった場合、その候補群は実際の群の子孫になる。
【００７４】
2つの元々の群(original  set)が既に共通するキーワードを有しているか否かによらず、「実際のみ」のキーワードを削除しかつ「候補のみ」のキーワードを追加することの双方により実際の群を候補群に変換することは、有効ではない。そのようなペアは関連しない(unrelated)と考えられる。これについての例外は、「のみ」の群におけるキーワードが語彙のキーワード階層の中で関連している場合である。そのような場合、1つ以上の処理が実行されてよい。
【００７５】
・実際の群のキーワードを親のキーワードで置換すること(実際の群の祖先である候補群で置換)；又は
・実際の群のキーワードを子のキーワードで置換すること(実際の群の子孫である候補群で置換)。
【００７６】
従って、一群の概念候補内の概念の各々は、実際の概念定義に至る固有の導出系統(unique  derivation  series)を有する。合成処理における導出過程が保存される順序及び処理の順序は、結果の階層における概念の順序に影響を及ぼす。その階層における概念候補の優先度は、以下の表2に従って決定されてもよい。
【００７７】
表2：結果の階層を決定する際の導出の優先順位
【００７８】
【表２】
0006416150.tif 000003
導出規則及び優先度の適用の結果は、概念の階層形式による拡張されたセマンティックネットワークとなる。
【００７９】
＜VI.検索文字列を発行し、結果を選別する＞
上述したように、方法100のステップ111においては、ステップ109で生成されたセマンティックネットワークが、1つ以上の検索サービスのために与えられる1つ以上の検索文字列を生成するのに使用される。例えば、セマンティックネットワークにおける1つ以上の概念の各々が検索文字列として検索サービス部に対して発行される。図7に示すソフトウェアシステム700の場合、クエリは選別抽出エージェントモジュール705における抽出エージェントによって発行され、検索文字列は情報抽出サービスモジュール709によって使用される。
【００８０】
検索サービスは任意の汎用サーチエンジンを使用してもよい。例えば、検索サービスはインターネットを通じて公にアクセス可能であってもよい。そのような検索エンジンの具体例は、グーグル(Google)(登録商標)、ビン(Bing)(登録商標)及びヤフーサーチ(Yahoo！Search)(登録商標)等を含む。別の例として、検索サービスは、インターネット以外の何らかのコンピュータネットワークを通じてアクセス可能なサーチエンジンを使用してもよい。そのような検索エンジンの具体例は、企業イントラネットワーク又はその他の任意のプライベートネットワークでの検索に使用されるサーチエンジンを含む。
【００８１】
検索サービス部に対して発行される検索文字列又は一群の検索文字列は、任意の様々な可能な方法でセマンティックネットワークから生成されてよい。例えば、一実施形態では、セマンティックネットワークの概念階層におけるルートノードが、検索文字列として検索サービス部に対して発行されてもよい。概念階層における残りの概念は、後述するように、検索結果を選別、フィルタリング、ランキング及び/又は順序付けするために使用されてよい。別の例として、検索文字列は、概念階層における概念各々を「AND」の論理演算により一緒にすることで形成され、その検索文字列を検索文字列として発行してもよい。
【００８２】
検索文字列を生成するために実施の形態で使用されてよい他の方法の具体例は、概念階層の中でユーザが明示的に入力した各々の言葉(すなわち、ステップ101で受信した検索文字列からのトークン及びステップ107で受信した曖昧性除去語)を「AND」の論理演算で結合すること、又はそれらの言葉に関する言葉を「OR」の論理演算で結合することである。従って、例えば、元々はユーザが「愛と戦争」の文字列を入力し、一群の曖昧性除去語の中から「小説」という言葉を選択していた場合、「愛」、「戦争」及び「小説」の言葉が「AND」の論理演算により検索文字列の中で結合される。また、これらの言葉の各々が「OR」の論理演算によって関連する言葉に結合されてもよい。例えば、「愛」に関連する言葉が「愛情」及び「結婚」であり、「戦争」に関連する言葉が「戦闘」及び「争い」であり、「小説」に関連する言葉が「本」及び「文学」であることを概念階層が示していた場合、結果の検索文字列は、「(愛OR愛情OR結婚)AND(戦争OR戦闘OR争い)AND(小説OR本OR文学)」となってもよい。この種の複合的な文字列をエンドユーザが構築することは希である。これは、検索文字列の意味の詳細な表現を作成できる。拡張されたセマンティックネットワークと共に生成された複合的な検索文字列は、元々の検索文字列において不要な文字通りの言葉である検索サービスでインデックスが付されているコンテンツ内の文字通りの言葉には一致しないので、たとえコンテンツについて意味が分析される前であったとしても(すなわち、構造化、組織化又は体系化されていないコンテンツであったとしても)、有効なセマンティック検索を行うことができる。
【００８３】
1つ以上の検索文字列を検索サービス部に対して発行したことに応じて、一群の検索結果が検索サービス部から受信される。検索結果における文書又はコンテンツの文字列(又は文字列を分割したもの)が、ステップ109で生成されたセマンティックネットワーク内の概念定義と比較され、返される検索結果は、それらが概念定義にどの程度一致しているかに基づいてランキング及び/又は選別されてもよい。図7に示すソフトウェアシステム700の場合、検索結果の選別、フィルタリング及びランキングは、選別抽出エージェントモジュール705の選別エージェントによって実行されてよい。
【００８４】
ランキング又は選別を行う任意の様々な可能な方法が使用されてよく、本発明は特定の方法に限定されない。検索サービス部は、名称、概要、説明、タグ、ハイパーリンク等のようないくつものテキスト属性を検索結果で提供してもよい。これらのテキスト属性は、拡張されたセマンティックネットワークを通じて提供された言葉に対して検索結果を選別(フィルタリング)するためのテキスト分析に使用され、例えば、それらの言葉と検索結果のテキスト属性内のワードとが比較される。完全に又は部分的に一致する言葉が、個々の検索結果を重み付けするのに使用されてもよい。
【００８５】
更に、一実施形態では、セマンティックネットワークを用いて文書又はコンテンツの各々に意味に基づく注釈又はタグが付され、文書又はコンテンツの意味を記述するセマンティックメタデータが文書等にメタデータとして組み込まれるようにしてもよい。図7に示されているように、モジュール707は、ソフトウェアシステム700においてコンテンツに意味に基づく注釈付け(semantic  annotation)を行う。コンテンツに意味に基づく注釈を付ける任意の様々な方法が使用されてよい。例えば、一実施形態において、1つ以上のコンテンツノードがコンテンツ各々に対して特定され、コンテンツノードには、セマンティックネットワークに関して最も合致する概念定義と共にタグが付されてもよい。
【００８６】
更に、一実施形態では、ユーザが提供した文字列の意味を利用して、図11の方法例1100に示されているように検索結果をランキングする及び/又は注釈を付けてもよい。方法1100はステップ1102から始まり、ユーザが与えた検索文字列が受信される。本方法はステップ1104に続き、ユーザの検索文字列の意味表現が生成される。例えば、ユーザの検索文字列について可能性のある意味の1つを表す概念定義が、ステップ1104で生成される。
【００８７】
本方法はステップ1106に続き、ユーザが与えた検索文字列が発行され、ステップ1108において検索結果が受信される。次に、ステップ1110において、1つ以上の言葉が特定され、特定された言葉の各々が、検索結果とユーザの検索文字列の意味表現との双方に含まれるようにする。例えば、検索結果において検索サービス部が提供したテキスト属性は、ユーザの検索文字列の意味表現(例えば、概念定義)に含まれている言葉を有してもよい。
【００８８】
本方法はステップ1112に続き、ステップ1108で受信した検索結果が、ステップ1110で特定された言葉に少なくとも部分的に基づいてランキングされる。ランキングは、任意の適切なランキング方法を用いて実行されてよく、本発明は特定の方法に限定されない。例えば、検索結果は、検索文字列の意味表現と共通する言葉の数に比例してランキングされてもよい。追加的又は代替的に、検索結果に注釈が付けられてもよい。例えば、検索結果に関連するメタデータに、ステップ1110で特定された言葉に関する注釈が付けられてもよい。検索結果がランキングされ及び/又は注釈付けされた後、本方法1000は終了する。
【００８９】
一実施形態では、検索サービス部から返される検索結果が、特定されたコンテンツそのものを含んでおらず、コンテンツ各々自体ではなく、それらのコンテンツに至るハイパーリンクのリストを含んでいてもよい。そのような実施の形態の場合、むしろ、提示されたハイパーリンクを用いてコンテンツ各々を抽出し、ハイパーリンクのリストは、関連する抜粋部分を利用して選別又はランキングされ、その抜粋部分には意味に基づく注釈が付けられてもよい。
【００９０】
意味に基づいて注釈が付けられたコンテンツは汎用コンテンツストリーム部(例えば、意味に基づいて注釈が付けられたコンテンツのリポジトリ又は記憶部)に返され、コンテンツの意味情報が将来使用されてよいようにする。セマンティックウェブのような発明によれば、意味に基づいて注釈が付されたコンテンツを記憶及び抽出する手段を提供できる。
【００９１】
＜VII.検索結果をユーザに表示する＞
上述したように、方法100のステップ113では、検索結果が選別及び/又はランキングされると、検索結果がユーザに出力される(例えば、表示される)。例示のソフトウェアシステム700の場合、ステップ113はユーザインターフェースモジュール702により実行されてもよい。しかしながら別の実施の形態の場合、検索結果は、検索結果を取得した検索サービス部がユーザに出力してもよい。これは様々な方法で実行されてよい。例えば、一実施形態では、検索結果は、検索結果の中の文書又はコンテンツに至るハイパーリンクのリストを含むウェブページとしてユーザに表示されてもよく、そのリストはステップ111で決定されたランキングに基づいて並べられている。ユーザは、その対応するハイパーリンクを選択することで任意の文書又はコンテンツにアクセスできる。
【００９２】
＜VIII.新たな言葉を抽出する＞
一実施形態では、(セクションIIで説明したような)サーチクエリ又は検索文字列の意味表現を生成する場合及び(セクションVで説明したような)拡張されたセマンティックネットワークを合成する場合に使用されるセマンティック語彙(例えば、用語の語彙又は語彙データベース713)は、静的、不変的又は固定的であってもよいが、発明者等は、セマンティック語彙に新たな言葉を追加することで又はセマンティック語彙から言葉を削除することでセマンティック語彙を更新する処理は、よりいっそう関連する検索結果をユーザに提供することに寄与することを認識した。更に、さらに、リアルタイムウェブで言葉(例えば、キーワード)が頻繁に変化する環境の場合、最近使用頻度が増えた言葉を抽出することは、非常に流行っている言葉又はトレンド語(high-trending  term)を突き止めること及び/又は他の恩恵をもたらす現在の語彙群を維持することに寄与する。
【００９３】
一実施形態では、インターネットのようなネットワーク又は適切な他の任意のソースからのタイムスタンプコンテンツ(タイムスタンプが付いているコンテンツ)が、言葉を使用する傾向又はトレンドを判定するために分析されてもよい。例えば、ブログ(タイムスタンプブログエントリ(タイムスタンプが付いたブログのエントリ))及び/又は(例えば、RSSフィードのような)リアルタイムインターネットストリームのようなインターネット情報ストリームが、ある時間的な期間にわたる言葉の使用傾向を分析するのに使用されてもよい。
【００９４】
言葉の使用傾向(trends  in  term  use)は、時間の関数のようなターム頻度又は言葉の頻度(term  frequency)に基づいて判定されてもよい。例えば、言葉の使用頻度は、時間の関数のような言葉の頻度の変化率に基づいて判定されてもよい(例えば、時間の関数としての言葉の頻度を時間で微分したものに基づいて判定されてもよい)。
【００９５】
言葉の使用傾向を判定する際に、考察されている言葉各々のトレンドスコア(trend  score)を評価してもよい。言葉のトレンドスコアは、時間関数としてのその言葉の使用頻度に少なくとも部分的に基づいて算出されてもよい。一実施形態の場合、登場する言葉各々について、言葉の出現頻度が時間の関数として割り引かれる(discounted)又は低下させられる(decayed)ようにし、言葉が新しければそのトレンドスコアは高くなるが、言葉が主流になってくるとその言葉のトレンドスコアが減少するようにしてもよい。言葉の使用頻度が時間の関数として低下されられるので、言葉の使用頻度は時間の関数として変化し、任意の2つの時点において異なる値をとる。従ってトレンドスコアは時間tにおける「瞬時的な(instantaneous)」頻度に依存する。
【００９６】
言葉の使用頻度は、文書に含まれている言葉のトレンドスコアに基づいて文書の適時性(timeliness)を評価するのに使用されてもよい。ただし、言葉がコンテンツ(例えば、文書、フィード(feed)等)の中でどの程度頻繁に搭乗するかに基づいて文字列の傾向又はトレンドを検出することに加えて、何らかの時間に基づくデータの傾向が判定されもよいことが、認められるべきである。例えば、やり取りを行った時点がトレンドを検出するために使用されてもよく、例えば、1人又は何人ものユーザが文章中のリンクをクリックしたこと又はコンテンツに関する意図を通知したことが、トレンドを検出するのに使用されてもよい。ユーザがコンテンツに関する意図を通知する別の時間に基づく具体例は、ユーザが文字列を入力して検索を実行した時点である。
【００９７】
過去に高いトレンドスコアを持っていた言葉は、進行中の分析、又はコントロールされている言葉の語彙(例えば、上記のセマンティック語彙)に含めることについての歴史的根拠(historical  base)をもたらす。言葉は、コントロールされた言葉の語彙に対して評価されてもよいし或いは選別されてもよい。
【００９８】
一実施形態で使用されてよい使用される言葉のトレンドを判定する方法の1つが以下に説明される。本方法は、入力の中の言葉を特定するステップと、各々の言葉についてトレンドスコアを計算するステップとを有する。各言葉のトレンドスコアを評価するステップにおいて、多数の中間的な量(a  number  of  intermediate  quantities)を評価し、選択的に、言葉に関連する時間に少なくとも基づいて1つ以上の中間的な量の値を修正する。例えば、本方法は、言葉についての使用頻度値を計算するステップを有し、本方法は劣化関数(decay  function)に基づいて言葉の使用頻度値を修正するステップを有する。
【００９９】
一実施形態において、トレンド語を判定するために分析される文字列を生成する時間は既知である。例えば、文字列はタイムスタンプを有している。他の実施の形態では、文字列には、フィード(feed)が最初に生じた時間が分かるように、1つ以上のインターネット情報ストリームが与えられてもよい。図7に示すソフトウェアシステムの場合、トレンド語の判定は時間に基づく用語抽出モジュール711により実行されてもよい。
【０１００】
入力された文字列サンプルにおいて、複数のトークンは任意の様々な方法を利用して区切られ、言語依存法(language-dependent  manner)により区別されてもよい。言葉がスペース又は空白で区切られている言語の場合(例えば、英語、フランス語、スペイン語等の場合)、ワードは、ワード間の空白に基づいて文字列を分割することで判定されてもよい。分析される言語タイプを特定するために、ユニコードポイント値(Unicode  point  value)が使用されてもよい。ユニコードポイント値は、世界中の多くの表記法で表現される文字を、一貫した方法で符号化、表現及び処理するための標準使用に基づく値である。これらの値は分析された言語のタイプを判定するのに使用される。なぜなら、空白で区切られた文字列の長さは言語毎に異なるが、特定のカテゴリの言語の中では一致度が維持されるからである。従って、空白で区切られた特定の文字列についての平均的なユニコードポイント値が閾値を超えていた場合、それは表意文字(例えば、中国語、日本語等)を使用している言語であることが示唆される。従って、文字列はヌルストリング(null  string)に再び分割される或いは個々の文字に分割され、結果のトークンがワードとして処理される。
【０１０１】
1つの言葉、2つの言葉、3つの言葉及び4つの言葉による語句又はフレーズの各々が保存され、その後にトレンドスコアに基づいてランキングされる。ランキングはセマンティック語彙に追加する多数の言葉を特定するのに使用されてもよい。例えば、最上位にランクされた言葉(例えば、最上位の1つ、上位5個、上位10個、上位100個の言葉)がセマンティック語彙に追加されてもよい。場合によっては、トレンドスコアが所定の範囲内にある言葉(例えば、所定の閾値を超えている言葉)がセマンティック語彙に追加されてもよい。
【０１０２】
入力されたフレーズの出現総数に基づいて、nワードフレーズ(すなわち、n個のワードが含まれているフレーズ又は語句)の各々についてランニングカウントが維持されてもよい。従って、例えば、システムは、入力された文字列の中にある1ワードフレーズの総数のカウント値、入力された文字列の中にある2ワードフレーズの総数のカウント値、入力された文字列の中にある3ワードフレーズの総数のカウント値、及び入力された文字列の中にある4ワードフレーズの総数のカウント値を維持してもよい。更に、固有のフレーズ各々について、システムは、そのフレーズの出現総数のカウント値を維持してもよい。例えば、「特許(patent)」というフレーズが入力文字列の中に500回登場していた場合、システムはそのフレーズについて500回というカウント値を維持する。同様に、「特許出願(patent  application)」というフレーズが入力文字列の中に300回登場していた場合、システムは素のフレーズについて300回というカウント値を維持する。
【０１０３】
フレーズの各々について、システムは言葉の頻度又はターム頻度(term  frequency)を算出し、ターム頻度は、そのフレーズの出現総数をその長さのフレーズの総数で除算したものである。例えば、「特許(patent)」というフレーズが入力文字列の中に500回登場していた場合であって、入力文字列に登場した1ワードフレーズの総数が百万であった場合、ターム頻度は500を百万で除算したもの(0.0005)となる。同様に、「特許出願(patent  application)」というフレーズが入力文字列の中に300回登場していた場合であって、入力文字列に登場した2ワードフレーズの総数が500000であった場合、ターム頻度は300を500000で除算したもの(0.0006)となる。
【０１０４】
フレーズの総数のみに基づいてターム頻度を判定する場合、カウント数が大きくなるにつれて、特定のフレーズの新たな出現は、そのフレーズについてのターム頻度にほとんど影響しないことを、発明者等は認識した。この問題は、固有のフレーズ各々についてのカウント数及び総フレーズカウント数を適切に修正することで解決できることを、発明者等は認識した。特に、発明者等は総フレーズカウント数及び固有のフレーズカウント数はそれぞれ時間の関数として低下することを認識した。
【０１０５】
カウント数は適切な如何なる方法で低下させられてもよい。一実施形態では、低下(decay)は低下率パラメータ(rate  of  decay  parameter)の値の関数として規定されてもよい。低下率パラメータは指数関数的な低下率を示す。従って低下率パラメータ値は半減期パラメータ(half  life  parameter)であってもよい。1日、2日、3日、5日、1週間、2週間等のような又はその他の任意の適切な半減期の値が使用されてよい。一実施形態において、半減期パラメータの値は、入力文字列を与えるインターネットフィードから新た案文字列が受信されるレートに依存してもよい。
【０１０６】
低下させたターム頻度(decayed  term  frequency)は、低下させたフレーズのカウント値を、低下させたフレーズの総数で除算するようにして算出されてもよい。表3に示されているように、時間t1における低下させたカウント値は、時間t0における低下させたカウント値に、eのA乗を乗算したものに等しく、Aは時間t1マイナスt0に定数kを乗算したものである。この数式は、特定のフレーズについての低下したカウント数及びフレーズ総数についての低下した総カウント数を得るのに使用されてもよい。
【０１０７】
表3
【０１０８】
【表３】
0006416150.tif 000004
定数kは選択された半減期パラメータに基づいて決定され、kの値を決定するための数式は表4に示されている。以下の表4に示されているように、kの値は0.5の自然対数を選択された半減期(half)マイナスlifeの値で除算したものである。
【０１０９】
表4
【０１１０】
【表４】
0006416150.tif 000005
表3の数式では、特定の現時点の低下したカウント数は、より早期の時点における低下したカウント値に基づいて算出される。しかしながら、システムが起動した最初の時点では、現在の低下したカウント値を算出するための先行する低下した値が存在しない。従って一実施形態では最初の低下した値を計算する場合には「低下していない(undecayed)」ターム頻度(すなわち、如何なるカウント値も低下させずに算出される言葉の頻度)が、ある値dct0として使用される。
【０１１１】
上述したように、低下した頻度は、ワード各々から、そのワードについて低下したターム頻度を、低下したワードの総数で除算したものを利用することで算出されてよい。その後に、低下したターム頻度の合計値(SDTF)が、1ワードフレーズ、2ワードフレーズ、3ワードフレーズ及び4ワードフレーズの各々について算出される。フレーズ各々のSDTFの値は、フレーズ中の全てのワードの低下した頻度を合計することで算出される。フレーズが3つのワードを有していた場合、そのワードのSDTFは、フレーズ中の第1のワードの低下した頻度と、フレーズ中の第2のワードの低下した頻度と、フレーズ中の第3のワードの低下した頻度とを一緒に加算することで算出される。
【０１１２】
次に、マルコフスコア(Markof  Score)が各フレーズについて算出される。複数のワードフレーズについてのマルコフスコアは「インナーTF(innerTF)」/「エンドTF(endsTF)」に等しい。シングルワードフレーズの場合、マルコフスコアは1/「エンドTF」に等しい。
【０１１３】
「エンドターム頻度(ends  term  frequency)」又は「エンドTF」は、フレーズの最初のワードに先行する入力文字列中の固有の言葉の数と、フレーズの最後のワードの後に続く入力文字列中の固有の言葉の数との和である。例えば、2ワードフレーズがワードw1及びw2を有する場合、ワードw1に先行する入力文字列中に異なるワードがいくつ存在するか及びワードw2に続く入力文字列中に異なるワードがいくつ存在するかを判定する。「エンドTF」の値は、ワードw1に先行する入力文字列中に存在する異なるワードの数とワードw2に続く入力文字列中に存在する異なるワードの数との総和である。
【０１１４】
「インナーターム頻度(inner  term  frequency)」又は「インナーTF」はフレーズをワードのペアに分割することで判定される。この点に関し、1ワードフレーズは「インナーTF」の値を有しないことに留意を要する。マルチワードフレーズの場合、フレーズ中の各々のワードとそれに先行するワードとを組にすることで、ペアが生成される。例えば、ワードw1及びw2を含む2ワードフレーズの場合、(w1，w2)という唯一のペアが生成される。ワードw1、w2及びw3を含む3ワードフレーズの場合、生成されるペアは(w1，w2)及び(w2，w3)である。ワードw1、w2、w3及びびw4を含む4ワードフレーズの場合、生成されるペアは(w1，w2)、(w2，w3)及び(w3，w4)である。生成されるワードのペア各々について、入力文字列中にワードのペアが登場する回数が判定され、ワードのペア各々について出現回数を生成する。「インナーTF」の値を生成するために、フレーズ中の全てのペアについての出現カウント数が合計される。
【０１１５】
各フレーズについてのマルコフスコアに基づいて、以下に説明されるようにフェーズ各々についてマルコフスコア因子(Markov  Score  Factor：MSF)が算出される。あるフェーズについてのマルコフスコアが0であった場合、そのフェーズについてのMSFは、そのフレーズについてのSDTFに或る因子を乗算することで生成される。適切な任意の因子が使用されてよい。一実施形態では使用されるその因子は2である。しかしながら他の実施の形態では1-100の範囲内に含まれる任意の因子が使用されてよい。好ましくはその因子は10未満である。より好ましくはその因子は5未満である。
【０１１６】
フェーズについてのマルコフスコアが0でなかった場合、そのフェーズについてのMSFは、そのフェーズについてのSDTFに、以下の表5に示されているようなマルコフスコア(Markov  Score)のexp乗を乗算することで算出される。expは適切な値に設定される。一実施形態においては、expの値は1.5であってもよい。しかしながら他の実施の形態では1-100の範囲内の任意の値が使用されてよい。好ましくは、その値は10未満である。より好ましくはその値は5未満である。
【０１１７】
表5
【０１１８】
【表５】
0006416150.tif 000006
各フレーズについてのMSFは、以下に示すように、各フレーズについて「マルコフスコア因子ロングタームバイアス(Markov  Score  Factor  Long  Term  Bias：MSFLTB)を算出するために使用されてよい。あるフェーズについてのMSFLTBは、そのフェーズについてのMSFを、以下の表6に示されているようにそのフェーズ中のワード数nをexp乗したもので除算することによって算出され、nはMSFLTBが算出されているフェーズ内のワード数に等しい。expは適切な任意の値に設定される。一実施形態においては、expの値は2.5であってもよい。しかしながら他の実施の形態では1-100の範囲内の任意の値が使用されてよい。好ましくは、その値は10未満である。より好ましくはその値は5未満である。
【０１１９】
表6
【０１２０】
【表６】
0006416150.tif 000007
フェーズについてのトレンドスコアは、以下の表7に示されている数式を用いて算出され、ここでdfはそのフェーズについての低下したターム頻度であり、tcはそのフェーズについての平均化されたトレンドカウント値である(これについては表8に関連して後述される)。expは適切な任意の一定値である。一実施形態においては、expの値は3であってもよい。しかしながら他の実施の形態では1-100の範囲内の任意の値が使用されてよい。好ましくは、その値は10未満である。より好ましくはその値は5未満である。
【０１２１】
時刻t1における或るフェーズについての平均トレンドカウント値は、以下の表8に示されているように、時刻t0におけるそのフェーズの平均トレンドカウント値と、時刻t1におけるそのフェーズについての低下したターム頻度との重み付け加算値として算出される。図8に示されている数式の場合、zが重み付け因子である。適切な任意の重み付け因子が使用されてよい。例えば一実施形態ではzは0.85の値を有するが、0及び1の間に含まれる任意の因子が使用されてよい。
【０１２２】
表7
【０１２３】
【表７】
0006416150.tif 000008
表8
【０１２４】
【表８】
0006416150.tif 000009
表7の数式を用いて算出されたフェーズのトレンドスコアに基づいて、フェーズ各々がランキングされ、トレンドスコアが低いほど高いランキングとなる。そして、上位にランキングされる言葉がセマンティック語彙に含められてもよい。例えば、ランキングにおける上位15個のフレーズ或いは他の任意の適切なフレーズの部分が、セマンティック語彙に含められ、この点については以下のセクションXで説明される。
【０１２５】
＜IX.トレンディ語を用いて実際の概念に関連する概念を特定する＞
本発明による別の形態では、実際の概念に関する概念又はコンセプトが、様々な方法を用いて「トレンディ語又はトレンディターム(trendy  terms)」のデータベースの中で特定される(例えば、トレンディスコアで測定されるトレンディタームの流行性、普及度又は重要性は、時間と共に増加する)。トレンディ語を特定する方法は上記のセクションVIIIで説明されており、セクションVで説明されているように、実際の概念に関連する概念が、セマンティック語彙及び/又はセマンティックネットワークを改善するために使用されてもよい。
【０１２６】
リファレンスコーパス又はデータベース(例えば、ウィキペディア(登録商標)及び/又はリファレンスの他のソース)は、関連する概念を特定するために使用されてよい他のタイプのソースの具体例である。発明者等は、リファレンスコーパスが、「トレンディ語」データベース及び1つ以上のリファレンスコーパス双方を用いて関連する概念を特定するのに有用であることを認識した。更に、概念がトレンディ語データベース又はリファレンスコーパスから導出されているか否かに基づいて、実際の概念に関連していると判定される概念を分類し、関連する一群の概念をユーザに提示する場合に、関連する概念各々のカテゴリをユーザに通知することが有用であることを、発明者等は認識した。
【０１２７】
一実施形態は、「実際の概念又はアクティブ概念(active  concept)」と言及されるソース概念に関連する概念を判定する目的で使用される。一実施形態では、実際の概念は、ユーザが提供した検索文字列又はサーチクエリから導出されてもよい。上述したように、一実施形態では、関連する概念が特定され、その関連する概念がユーザに提示され、ユーザの検索文字列の曖昧性を排除、純化又は洗練するために使用される概念をユーザが選択できるようにし、その結果、ユーザが検索に意図しているものに非常に関連している傾向が強い検索結果をサーチエンジンが提示できるようにする。
【０１２８】
一実施形態では、実際の概念に関連する概念は、以下の(1)-(4)の4つのカテゴリの内の何れかに分類されてもよい：(1)リアルタイムデータ中に存在する非常に流行っている言葉であると判定された関連概念(「ページキャスト(pagecast)」カテゴリと言及される)、(2)リアルタイムデータ中に存在するが、何れのリファレンスコーパスにも存在しない流行っていない言葉であると判定された関連概念(「オフキャスト(offcast)」カテゴリと言及される)、(3)リアルタイムデータ及びリファレンスコーパス双方の中で判定される概念であって、背景の内容のように見える概念(「リキャスト(recast)」と言及される)及び(4)あるリファレンスコーパスの中で判定されるが、利ありタイムデータには含まれていない概念(「ディープキャスト(deepcast)」と言及される)。
【０１２９】
図8は、関連する概念を上記の4つのカテゴリの何れかに分類する方法を示す。図8A及び図8Bに示されているように、先ず、実際の概念又はアクティブ概念801が1つ以上のRSSフィードと比較される。1-12の番号が付いた各々のボックスは、リアルタイムデータ803を有すると考えられるRSSフィードを表す。実際の概念801内の各ラベルは一群のRSSフィードと比較され、合致するRSSフィードを判定する。この場合における合致(matching)は、RSSフィードが、実際の概念の中に見出される文字通りに又は意味的に関連する言葉を含んでいることを意味する。上記の例の場合、実際の概念に属する参照番号809で示されているラベル1は、参照番号805及び807でそれぞれ示されているRSSフィード＃6及びRSSフィード＃9の双方に合致している。図8Cでは12個のRSSフィードしか示されていないが、実際には、より多くのRSSフィードが分析され、実際の概念におけるラベルと比較される。関連する概念はリファレンスソース(例えば、Wiki)の中から特定されてもよい。
【０１３０】
次に、合致するRSSフィードからの属性が、リファレンスソースから特定された関連する概念からの属性と比較されてもよい。例えば、図8A及び図8Cに示されているように、参照番号807で示されているRSSフィード＃9からの属性が、Wiki811(すなわち、リファレンスコーパス)から取得された属性と比較される。同様に、参照番号805として示されているRSSフィード＃6からの属性が、Wiki811からの属性と比較される。
【０１３１】
図8Cに示されているように、属性x1，x2，x3，x4及びx5は合致するRSSフィード及びWiki811の双方に存在している。従ってこれらの属性は、リアルタイムデータ(例えば、RSSフィード)及びリファレンスコーパス(例えば、Wiki)から導出される関連する概念と考えられてよく、上記のカテゴリ(3)に分類される。属性x9及びx10はWiki811のみに存在し、何れのRSSフィードにも存在しておらず、従って上記のカテゴリ(4)に分類される。
【０１３２】
属性x6，x7，x8，x19及びx16はリファレンスコーパスには存在せず、合致するRSSフィードにのみ存在している。これらの属性は、それらが非常に高い値のトレンド語であると考えられるか否かに依存して、カテゴリ(1)又はカテゴリ(2)の何れかに分類されてもよい。上記のセクションVIIIで説明したトレンド評価方法を用いることで、言葉が流行っているか否かが判定されてもよい。非常に流行っている又は人気のある言葉は第1のレベルの言葉を形成するが、流行っていない又は共通していない(non-intersecting)言葉は、図8Dに示されているように第2のレベルをなす。
【０１３３】
以下、例示的な実際の概念(active  concept)として「グリーン技術(Green  Technology)」を使用する別の例を説明する。先ず、実際の概念が1つ以上のRSSフィード803と比較され、何れのRSSフィードが実際の概念であるかを判定する。実際の概念は以下の3つのRSSフィードに合致してよい。
【０１３４】
・レベル1：www.ecoseed.orgのエコシード(ソーラーパネル、エネルギ液化システム(devolatilization  system)、藻類バイオ燃料(algae  biofuel)、維持可能なバイオマス電力(sustainable  biomass  power)、水力発電力、電気自動車、地熱)。
【０１３５】
・レベル2：www.greenprogress.comのグリーンプログレス(ソーラーパネル、電気自動車、風力発電地帯、液体水素燃料セル、地熱、藻類バイオ燃料、維持可能な石膏ボード(sustainable  gypsum  board))。
【０１３６】
・レベル3：www.ecofriendsnews.comのエコフレンド(風力発電地帯、ソーラーパネル、太陽光温水ヒータ、バイオマス加熱システム、オーロラ藻類バイオディーゼル(Aurora  algae  biodiesel)、潮汐エネルギ、廃熱エンジン)。
【０１３７】
括弧内の言葉はRSSフィードに現れている言葉又はワードである。次に、リファレンスコーパス(例えば、Wiki)からの関連する属性が取得され、特定されたRSSフィードの属性と照合される。上記の例の場合、en.wikipedia.org/wiki/Environmental_Technology、Wikipediaの「グリーン技術(Green  Technology)」がリファレンスコーパスとして使用される。以下に示されているように、「ソーラーパネル」、「バイオマス」及び「電気自動車」という言葉がフィード1及びWikiの双方に登場している。「ソーラーパネル」、「電気自動車」及び「液体水素燃料セル」という言葉がフィード2及びWikiの双方に登場している。「ソーラーパネル」及び「バイオマス」という言葉はフィード3及びWikiの双方に登場している。
【０１３８】
・フィード1：エコシード(ソーラーパネル、エネルギ液化システム、藻類バイオ燃料、維持可能なバイオマス電力、水力発電力、電気自動車、地熱)。
【０１３９】
Wiki:グリーン技術(ソーラーパネル、電気自動車、空気浄化、水浄化、固体廃棄物管理、液体水素燃料セル、生物ろ過、脱塩、バイオマス)。
【０１４０】
・フィード2：グリーンプログレス(ソーラーパネル、電気自動車、風力発電地帯、液体水素燃料セル、地熱、藻類バイオ燃料、維持可能な石膏ボード)。
【０１４１】
Wiki:グリーン技術(ソーラーパネル、電気自動車、空気浄化、水浄化、固体廃棄物管理、液体水素燃料セル、生物ろ過、脱塩、バイオマス)。
【０１４２】
・フィード3：エコフレンド(風力発電地帯、ソーラーパネル、太陽光温水ヒータ、バイオマス加熱システム、オーロラ藻類バイオディーゼル(Aurora  algae  biodiesel)、潮汐エネルギ、廃熱エンジン)。
【０１４３】
Wiki:グリーン技術(ソーラーパネル、電気自動車、空気浄化、水浄化、固体廃棄物管理、液体水素燃料セル、生物ろ過、脱塩、バイオマス)。
【０１４４】
次に、4つのカテゴリの各々に属する属性が特定される。「ソーラーパネル」、「電気自動車」、「バイオマス」及び「液体水素燃料セル」という言葉はWiki及びリアルタイムフィードの双方に登場しているので、これらはカテゴリ(3)(「リキャスト」カテゴリ)に分類される。
【０１４５】
3つのフィードからの合致する属性：
・フィード1：エコシード  AND  Wiki：グリーン技術(ソーラーパネル、電気自動車、バイオマス)。
【０１４６】
・フィード2：グリーンプログレス  AND  Wiki：グリーン技術(ソーラーパネル、電気自動車、液体水素燃料セル)
・フィード3：エコフレンド  AND  Wiki：グリーン技術(ソーラーパネル、バイオマス)。
【０１４７】
この具体例の場合、「ソーラーパネル」という言葉は、この言葉が3つの合致するフィード全てに登場しているという観点からは、非常に流行っている言葉(トレンド語)と願が得られる。しかしながら、何れの言葉が非常に「流行っている(trendy)」かを判定するために上記のセクションVIIIで説明された方法が使用されてもよい。非常に流行っている言葉(トレンディ語)と考えられる「ソーラーパネル」は、この言葉が「リキャスト」カテゴリであるカテゴリ(3)から、「ページキャスト」カテゴリであるカテゴリ(1)に再分類されるようにする。
【０１４８】
Wikiの何れの属性にも合致しない及び/又は流行っていないフィード属性(すなわち、エネルギ液化システム、藻類バイオ燃料、水力発電力、地熱、風力発電、維持可能な石膏ボード、太陽光温水ヒータ、バイオマス加熱システム、オーロラ藻類バイオディーゼル、潮汐エネルギ、廃熱エンジン)は、「オフキャスト」カテゴリであるカテゴリ(2)に分類されてもよい。
【０１４９】
何れのRSSフィードにも登場していないWikiの属性(すなわち、空気浄化、水浄化、固体廃棄物管理、生物ろ過、脱塩)は、「ディープキャスト」カテゴリであるカテゴリ(4)に分類されてもよい。
【０１５０】
＜X.セマンティック語彙を更新する＞
一実施形態では、(セクションIIで説明したような)サーチクエリ又は検索文字列の意味表現を生成する場合及び(セクションVで説明したような)拡張されたセマンティックネットワークを合成する場合に使用されるセマンティック語彙は、静的、不変的又は固定的であってもよいが、発明者等は、新たな言葉と共にセマンティック語彙を更新する処理は、コンテンツ及びコンテンツを記述するのに使用される言葉の双方が素早く変化する動的なコンテンツ環境において有用であることを認識した。すなわち、一実施形態において、セマンティック語彙(例えば、用語の語彙又は語彙データベース713)は、上記のセクションVIIIにおける抽出方法を用いて「流行っている(trendy)」と判定された言葉を含めるように更新される。
【０１５１】
新たな言葉、語句又はフレーズが、任意の数の情報抽出方法(例えば、セクションVIIIで説明されたもの)により抽出され、任意の様々な方法でセマンティック語彙に追加されてもよい。例えば、セマンティック語彙に含まれる言葉又はフレーズの各々について、全部又は一部が共通するワードがセマンティック語彙の中で判定される。フレーズ及び関連するワードの間の関連性又は対応関係が、セマンティック語彙の中で形成されてもよい(例えば、セクションVで説明されたセマンティック合成処理を用いて行われてもよい)。一実施形態の場合、同一の文書の中に登場する又は同一のインターネット情報ストリームに由来する関連性又は対応関係はセマンティック語彙に追加可能なフレーズ同士の間の関係を規定してもよい。
【０１５２】
＜XI.トレンド語を用いた評価方法＞
本発明の他の形態は、提案される製品及び/又はサービスを促進する業務のためにインターネット宣伝広告が一般的な方法になりつつあるという事実に関連している。何らかのインターネットサーチエンジン及びその他のWWWサイトは広告主がキーワードを指定できるようにし、サーチエンジンのユーザが、広告主が指定したキーワードを有するサーチエンジンに検索文字列を提供した場合に、サーチエンジンが返す検索結果の一部として又はそれに加えて、広告主の広告が表示されるようにする。キーワードを含む検索文字列に応答して広告主の広告が表示される頻度と、検索結果を含むウェブページ上における広告主の広告の他の広告との位置関係とは、広告主がそのキーワードについて指定した金額と、他の広告主がそれらのキーワードについて指定した金額との関係に依存する。
【０１５３】
広告主にとって、指定するキーワードを何れにするかを効率的に選択することは、広告キャンペーンを成功させるのに重要な要因であることを、発明者等は認識している。「流行っている言葉又はトレンド語」(すなわち、頻繁に使用されるワード、言葉又はフレーズ)を指定すると、広告キャンペーンを効果的にする可能性が増えることを、発明者等は認めている。更に、言葉がピーク的な人気に到達する前に何れの言葉が使用頻度を増加させるかを予想し、人気のある言葉の人気が減少するのはいつかを予想することは、有用であることも、発明者等は認めている。そのような予想は、キーワードについて投じる金額を増やす又は減らす時期及び/又は新たなキーワードに投じる時期又は特定のキーワードに投じることを止める時期を広告主が決定するのに有用である。
【０１５４】
「流行(trendiness)」を測定する2つの異なる方法に基づいて言葉を評価し、それら2つの方法に基づいてその言葉を利用可能な4つのカテゴリの内の何れかに指定する方法を発明者等は開発した。
【０１５５】
図9は2行2列のマトリクスを示す。図示されているように、このマトリクスは4つのセルを有し、これらのセルの各々は、言葉を分類するために利用可能な４つのカテゴリのうちの1つに対応する。これら4つのカテゴリは、図9では、カテゴリM1-901、カテゴリM2-903、カテゴリM3-905及びカテゴリM4-907として示されている。各々の言葉は、インターネットで公表されている及び公にアクセス可能なコンテンツ(例えば、ブログ、インターネット公表物、RSSフィード等)の中の言葉の「流行(trendiness)」に基づいて、マトリクスの何れかの列に分類される。各々の言葉は、サーチエンジンのユーザが指定した検索文字列中の言葉の「流行」に基づいてマトリクスの何れかの行に分類される。時間と共に変化する流行の追跡方法については上記のセクションVIIIにおいて説明されている。
【０１５６】
従って、インターネットにおいて公開されかつ公にアクセス可能なコンテンツの中の言葉の流行に基づいて、各々の言葉に第1のトレンドスコアが指定されてもよい。この第1のトレンドスコアが第1の所定の閾値に合致する又は超える場合、その言葉は、マトリクスの左側の列に分類される一方、トレンドスコアが第1の閾値を下回る場合、その言葉はマトリクスの右側の列に分類されてもよい。
【０１５７】
ユーザが指定した検索文字列内の言葉の流行に基づいて、各々の言葉に第2のトレンドスコアが指定される。この第2のトレンドスコアが所定の第2の閾値に合致している又は超えている場合、その言葉はマトリクスの上位の行に分類され、第2のトレンドスコアが所定の第2の閾値未満であった場合、その言葉はマトリクスの下位の行に分類されてもよい。このように各々の言葉が4つのセルの内の何れか(すなわち、4つのカテゴリの内の何れか)に分類される。
【０１５８】
M1-901に該当する言葉は関心のある言葉である。なぜなら、その言葉について公表されている多数のコンテンツが存在し、かつユーザの文字列の流行から明らかであるようにその言葉について多大な関心があるからである。M2-903に該当する言葉は関心のある言葉である。なぜなら、その言葉について多大な関心があるが(すなわち、人々は文字列によりその話題について検索していないが)、その言葉についてはほとんど話されていない(すなわち、その言葉はコンテンツの中で流行度が低く、従ってその言葉について生成される新たな情報はほとんどない)。M2-903に該当する言葉は、好奇心が報われない言葉を表す。M3-905に該当する言葉は関心のある言葉である。なぜなら、その言葉について現在関心を有する人々はほとんどいないが(すなわち、人々は文字列によりその話題を検索していないが)、その言葉について話されていることが多い(すなわち、その言葉はコンテンツにおいて流行しており、その言葉について生成される新しい情報がたくさんある)。M4-907に該当する言葉にはほとんど関心がない。なぜなら、人々は検索を行っておらず、かつそれらの言葉について作成される新たな情報もないからである。上述したように、言葉が所属している現在のセルが関心の対象であるだけでなく、言葉が移動しつつある移動先のセル及び移動経路を横切るのに要する時間も、突き止められかつ関心の対象となってもよい。
【０１５９】
カテゴリM1-901に分類される言葉は、インターネットで公開されているコンテンツ及びユーザが指定した検索文字列の双方において流行っているので、その言葉は、最も収益化可能であり(monetizable)かつ広告主が指定する最良の言葉であると考えてよい。カテゴリM2-903に分類される言葉は、インターネット上で公開されているコンテンツでは流行していないと考えられるが、ユーザが指定した検索文字列では流行しており、その言葉は、2番目に収益化可能でありかつ広告主にとって指定することが望ましい。カテゴリM2-903に該当する言葉は、いくらか過去に生じたイベントに関連する言葉である。例えば、2011年1月においては、「2010年FIFAワールドカップ」という言葉は、インターネット上で公開されているコンテンツの中では流行していない。なぜなら、2010年FIFAワールドカップに関する新たなコンテンツが書き込まれる見込みは非常に少ないからである。しかしながら、この言葉についてユーザが検索文字列に指定する可能性は依然として多い。なぜなら、そのイベントで何が起こったかを知りたいユーザが多数存在するかもしれないからである。
【０１６０】
M3-905のカテゴリに分類される言葉は3番目に収益化できると考えられるが、ユーザが指定する検索文字列に頻繁には搭乗しないので、広告主が指定することは望まれない。このカテゴリに該当する言葉の具体例は、一般の人々にとっては高い関心がない現在のイベントに関連する言葉である。インターネット上で公開されているコンテンツの中でこれらの言葉の使用頻度は、イベントの発生に起因して大幅に増加するが、それについての関心はほとんどないので、そのイベントについて多くのユーザが検索文字列を指定することはない。
【０１６１】
M4-907に分類される言葉は、インターネット上で公開されているコンテンツでは流行しておらずかつユーザが指定した検索文字列でも頻繁には指定されておらず、この言葉は広告主にとって関心がないものである。言葉は、日、時、分又は秒毎にマトリクスのセルを移動する可能性があり、そのような言葉を指定すると同じ時間スケールに応じて変化が生じるかもしれない。
【０１６２】
言葉が分類されているカテゴリは、言葉が人気のあるセルに属するか否かに応じて時間と共に変化してもよい。時間と共に変化する言葉の流行又は人気は追跡され、言葉についての過去のスコアの変化は、それらの言葉のトレンドスコアの将来的な変化を予測するのに使用されてもよい。
【０１６３】
図9の参照番号909は位置B3から位置B1へ言葉が移動していることを示す。その言葉は位置B3にあった場合は文字列として流行っていなかったが、その後、流行っている文字列のゾーンである位置B1に移動している。流行を突き止めるための方法については、関連する米国特許出願第12/555222号、12/555293号及び12/555341号等に見受けられ、それらの各々は本願のリファレンスに完全に組み込まれる。更に、これらの出願は、販売促進対象の/販売促進非対称のコンテンツを事前に処理するために使用されてもよい。同様に、参照番号911に沿う近似的な遅れ時間を予測するために同様な方法が使用されてもよく、図示の例では、言葉が文字列としては流行しているがコンテンツの中では流行していない位置C2から、言葉が双方において流行している位置C1へ移動している。
【０１６４】
参照番号915は、A1、A3、A4の順に言葉が属するセルの位置が移動する様子を示し、その言葉は先ず流行しなくなり、その後、文字列及びコンテンツ双方に関して流行性が減少している。参照番号913はA1、A2、A4の順に言葉が属するセルの位置が移動する様子を示し、言葉はトレンド語として次第に消えてゆき、その後は検索文字列としても消えてゆく。言葉が4つのセルの内のセルM1からM2へ進む場合、その言葉の関心はなくなり、資金及び処理リソースを節約するため追跡は止められる。それらのステップを実行するために、米国特許出願第12/555222号、12/555293号及び12/555341号で説明されているデータ処理方法が使用されてもよい。
【０１６５】
更に、本願において「ボット(bot)」と呼ばれる自動化されたソフトウェアプログラムを使用して、ある言葉が上記のカテゴリの内の何れかに当初分類されていたが異なるカテゴリに分類し直されたことに応じて自動的に何らかの処理を実行してもよいことを、発明者等は認識している。
【０１６６】
例えば、言葉がカテゴリM1-901に分類されたことに応じて、ボット(bot)はその言葉についての販売促進コンテンツを自動的に蓄積してもよい。ボットは様々な方法で販売促進コンテンツを蓄積してもよい。例えば、ボットは、公開されたコンテンツ又はユーザ文字列において流行っている概念と共に広告を直接的に含めてもよい。そのような広告は、対象の言葉の流行性に基づく関連性を多く有する傾向があり、「バナー(banner)」広告の形式で第三者サイトで提示されてもよい。ボットは、検索エンジンのオペレータにとってどの言葉が収益を図るのに有用であるかについての情報を追加的又は代替的に提供し、それらのサーチエンジンのオペレータが、広告主が指定するのに望ましいと思われる有効なキーワードを広告主に示唆してもよい。更に、ボットはサーチエンジン又はその他の広告交換処理部(ad  exchange)から、流行っているキーワードを自動的に購入してもよい。
【０１６７】
一実施形態では、ある言葉がピーク的な高い評判に至る時点(例えば、カテゴリM1-901から他の何れかのカテゴリへ言葉が遷移すること)を予測することが可能であり、ボットは、その情報を用いて、特定のキーワードを指定するのに最良の時点を判定することができる。すなわち、言葉が図9の或るセル(すなわち、M1、M2、M3又はM4)から図9の何らかの別のセルへ移るのに要する時間又は期間の計算に基づいてもよい。例えば、ある言葉の評判が約2日後にピークに至ると判断された場合、ボットは2日後に表示するためにそのキーワードを購入する或いは広告を処理する。従ってこの方法は、言葉の評判が上昇する及び/又はピークに至る前に、最も人気のある及び最も検索される言葉又は概念を算出できるようにすることで、リアルタイムに行うだけでなく事前にもトレンド語に投資できるようにする。
【０１６８】
同様に、言葉の評判の減少も予測できるので、ボットは、言葉の評判の減少が生じると予想される時期についての情報を利用して、言葉に関連するキーワードの指定を減らす又は削除し、その言葉に関連する事前に購入された広告を表示することを止める。
【０１６９】
図10は実施の形態で使用されてよい広告処理を行う方法1000のフローチャートを示す。本方法1000はステップ1002から始まり、言葉が受信される。その言葉は情報コンテンツの本体又は本文に登場する言葉でもよいし、何らかの適切な方法で受信されたものでもよい。情報コンテンツの本体又は本文は、適切な任意の情報コンテンツを有し、公開されたインターネットコンテンツ及び/又は1つ以上のユーザが指定した検索文字列を含んでもよい。言葉を受信した後、本方法はステップ1004及び1006に進み、言葉の第1及び第2のトレンドスコアがそれぞれ算出される。第1のトレンドスコアは、公開されたインターネットコンテンツ内の言葉の出現頻度に少なくとも部分的に基づいて算出されてよい。第2のトレンドスコアはユーザが指定した1つ以上の文字列中の言葉の出現頻度に少なくとも部分的に基づいて算出されてよい。トレンドスコアはセクションVIIIで上述した方法を用いて算出されてもよい。
【０１７０】
本方法はステップ1008に続き、第1及び第2のトレンドスコアが1つ以上の閾値と比較される。例えば、第1のトレンドスコアは第1の所定の閾値と比較され、第2のトレンドスコアは第2の所定の閾値と比較されてもよい。本方法は、比較の一部として、第1のトレンドスコアが所定の第1の閾値を超えているか否か及び第2のトレンドスコアが所定の第2の閾値を超えているか否かを判定する。比較結果に基づいて、ステップ1010において、言葉は、複数の収益化カテゴリ(monetization  category)の内の1つ以上に分類される。
【０１７１】
本方法はステップ1012に続き、言葉が分類された1つ以上のカテゴリに基づいて広告処理が行われる。広告処理は言葉及び言葉の収益化カテゴリに関連する何らかの適切な広告処理である。例えば、広告処理は、検索エンジン又は広告処理部からその言葉を購入する時期を予測すること、検索エンジン又は広告処理部からその言葉を購入すること、検索エンジン又は広告処理部から広告主が購入するのに有効な言葉として、黙示的又は明示的に言葉を示唆すること等を含んでよい。広告処理が行われた後、方法1000は終了する。
【０１７２】
＜XII.追加的な詳細＞
上記のコンピュータ装置(例えば、図2及び図4に示されているクライアントコンピュータ及びサーバ)は、任意の様々な方法で実現されてよい。図6は上記の任意のコンピュータ装置を実現するのに使用されてよいコンピュータ装置600のブロック図を示す。
【０１７３】
コンピュータ装置600は1つ以上のプロセッサ601及び1つ以上の有形の一時的でないコンピュータ読み取り可能な記憶媒体(例えば、メモリ603)を含んでよい。メモリ603は、有形の一時的でないコンピュータ読み取り可能な記憶媒体に、上記の何れかの機能を実現するコンピュータ命令を保存する。プロセッサ601は、メモリ603に結合され、そのようなコンピュータ命令を実行し、その機能が実現及び実行されるようにする。コンピュータ装置600はネットワーク入力/出力(I/O)インターフェース605も有し、そのネットワークI/Oインターフェースを介してコンピュータ装置は(例えば、ネットワークを介して)他のコンピュータと通信する。一実施形態において、コンピュータ装置は1つ以上のユーザI/Oインターフェースも有し、ユーザI/Oインターフェースを介してコンピュータ装置はユーザに出力を提供しかつユーザから入力を受信する。ユーザI/Oインターフェースは、キーボード、マウス、マイクロフォン、表示装置(例えば、モニタ又はタッチスクリーン等)、スピーカ、カメラ及び/又は他の様々なタイプのI/O装置のような装置を含んでよい。
【０１７４】
本発明に関する上記の実施の形態は任意の様々な方法で実現可能である。例えば実施の形態はハードウェア、ソフトウェア又はそれらの組み合わせを用いて実現されてもよい。ソフトウェアで実現される場合、ソフトウェアコードは、単独のコンピュータ内に設けられるか又は複数のコンピュータに分散するかによらず、任意の適切なプロセッサ又は一群のプロセッサ(例えば、1つ又は複数のマイクロプロセッサ)で実行される保存されたプログラム命令として実現されてもよい。
【０１７５】
コンピュータは、ラックマウント式コンピュータ、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータのような任意の様々な形式で実現されてもよいことに留意すべきである。更に、コンピュータは、コンピュータとして一般的に言及されていないが、適切な処理能力を有する装置に組み込まれてもよく、そのような装置は例えばパーソナルディジタルアシスタント(PDA)、スマートフォン、タブレット、リーダ又は任意の他の適切な携帯装置又は固定電子装置等を含む。
【０１７６】
また、コンピュータは1つ以上の入力及び出力装置を有していてもよい。これらの装置は、特に、ユーザインターフェースを提供するように使用される。ユーザインターフェースを提供するのに使用されてよい出力装置の具体例は、出力の視覚的表示のためのプリンタ又は表示画面と、出力の聴覚的表現のためのスピーカ又はその他の音生成装置とを含む。ユーザインターフェースに使用されてよい入力装置の具体例は、キーボード、マイクロフォン及びポインティングデバイス(例えば、マウス、接触パッド、ディジタルタブレット等)等を含む。
【０１７７】
そのようなコンピュータは適切な任意の形態で1つ以上のネットワークにより相互に接続され、ネットワークは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)、企業ネットワーク、インテリジェントネットワーク又はインターネットのようなネットワークを含む。そのようなネットワークは、何らかの適切な技術に基づいており、適切な何らかのプロトコルに従って動作し、無線ネットワーク、有線ネットワーク及び/又は光ファイバネットワークを含んでよい。
【０１７８】
本願で説明された様々な方法又は処理は、任意の様々なオペレーティングシステム又はプラットフォームを使用する1つ以上のプロセッサで実行可能なソフトウェアとしてコード化されてもよい。また、そのようなソフトウェアは、任意の様々な適切なプログラミング言語及び/又はプログラミングツール又はスクリプトツールを用いて書かれてもよく、仮想マシン又は適切なフレームワークで実行可能なマシン言語コード又は中間コードとしてコンパイルされてもよい。
【０１７９】
この点に関し、様々な発明概念は1つ以上のプログラムと共にエンコードされた少なくとも1つの一時的でないコンピュータ読み取り可能な媒体(例えば、コンピュータメモリ、1つ以上のフロッピディスク、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ(FPGA)の回路配置、その他の半導体装置等)として実施されてもよく、1つ以上のプログラムは、1つ以上のコンピュータ又は他のプロセッサで実行された場合に、本発明の実施の形態による様々な処理を実行する。一時的でないコンピュータ読み取り可能な媒体又はメディアは携帯可能であってもよく、媒体に保存されている1つ以上のプログラムが任意の適切なコンピュータリソースにロードされ、上記の本発明による様々な形態を実現してもよい。
【０１８０】
「プログラム」又は「ソフトウェア」という用語は、本願においては、上記の様々な実施の形態を実行するようにコンピュータ又は他のプロセッサをプログラムするのに使用可能である任意のタイプのコンピュータコード又はコンピュータにより実行可能な命令群を指す般的な意味で使用されている。更に、一形態では、1つ以上のコンピュータプログラムは、本発明による方法を実行する場合に単独のコンピュータ又はプロセッサ上に常駐する必要はなく、本発明による様々な実施の形態を実現するために、様々な複数のコンピュータ又はプロセッサにモジュラ形式で分散されてもよいことが、理解すべきである。
【０１８１】
コンピュータで実行可能な命令は、1つ以上のコンピュータ又は他の装置で実行されるプログラムモジュールのような様々な形式をとってもよい。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型(abstract  data  type)を処理する、ルーチン、プログラム、アイテム、コンポーネント、データ構造等を含む。典型的には、プログラムモジュールの機能は様々な実施の形態で望まれるように結合又は分散されてもよい。
【０１８２】
また、データ構造は一時的なコンピュータ読み取り可能な記憶媒体製品に適切な任意の形式で保存されてもよい。簡明化のため、データ構造はデータ構造中の位置に関連したフィールドを有するものとしてよい。そのような関連性は、フィールド間の関連性を示す一時的でないコンピュータ読み取り可能な媒体においてロケーションと共にストレージのフィールドを指定することで、決定されてもよい。しかしながら任意の適切な手段がデータ構造のフィールドの情報同士の間の関連性を設定するのに使用されてよく、例えば、データ要素間の関連性を設定するポインタ、タグその他の手段を使用することが行われてもよい。
【０１８３】
また、様々な発明概念は具体例が示されていた1つ以上の方法として実現されてもよい。本方法の一部として実行される処理は適切な任意の順序で実行されてよい。従って、図示の例では一連の処理として示されていたとしても、実施の形態は、処理が図示の例とは異なる順序で(幾つかの処理を同時に行うことを含む)行われるように構築されてもよい。
【０１８４】
本願で規定及び使用されている全ての定義は、辞書による定義、リファレンスに組み込まれている文書での定義及び/又は規定された言葉の通常の意味を考慮するように理解されるべきである。
【０１８５】
「或る」及び「ある」というが、別段の定めがない限り、「少なくとも1つ」を意味するものとして理解されるべきである。
【０１８６】
本願で使用されているように、1つ以上の要素のリストを指す「少なくとも1つ」というフレーズは、要素のリスト中の任意の1つ以上の要素の中から選択された少なくとも1つの要素を意味するが、要素のリストに具体的に列挙されている要素各々の少なくとも1つ及び全てを含むことは必須でなく、かつ要素のリスト中の要素の任意の組み合わせを排除しないように理解されるべきである。この定義は、具体的に特定された要素に関連しているか否かによらず、「少なくとも1つ」というフレーズが付いている要素のリストの中で具体的に特定されている要素以外の要素が選択的に登場してよいことも許容する。例えば、非限定的な例として、「A及びBの少なくとも1つ」(あるいは、等価的に「A又はBの少なくとも1つ」あるいは等価的に「A及び/又はBの少なくとも1つ」)は、一例ではBが存在せずに(選択的にB以外の要素を含んでもよい)少なくとも1つのA(選択的に1つより多くを含んでもよい)を意味し、別の例ではAが存在せずに(選択的にA以外の要素を含んでもよい)少なくとも1つのB(選択的に1つより多くを含んでもよい)を意味し、更に別の例では少なくとも1つのA(選択的に1つより多くを含んでもよい)及び少なくとも1つのB(選択的に1つより多くを含んでもよい)等を意味する。
【０１８７】
本願で使用されている「及び/又は」というフレーズは、そのように結合される要素(すなわち場合によっては連続して現れる要素及び場合によっては別々に登場する要素)の「何れか又は双方」を意味するように理解されるべきである。「及び/又は」と共に登場する複数の要素は、結合される要素の「1つ以上の」と同様に解釈されるべきである。具体的に指定された要素に関連するか否かによらず、「及び/又は」の語で具体的に特定された要素以外の他の要素は選択的に登場してよい。例えば、非限定的な例として、「A及び/又はB」は、「有する(comprising)」のような非限定語(open-ended  language)と共に使用される場合、一例では、(B以外の要素を選択的に含んでよい)Aのみを示してよく、別の例では、(A以外の要素を選択的に含んでよい)Bのみを示してよく、更に別の例では(選択的に他の要素を含んでよい)A及びB双方を示してもよい。
【０１８８】
本願で使用されているように、「又は」は上記の「及び/又は」と同様な意味を有するように解釈されるべきである。例えば、リストの中で分離する言葉「又は」或いは「及び/又は」は、包含的であり、すなわちメンバ又は要素のリストの少なくとも1つを含むが、1つより多くを含んでもよく、選択的に、列挙されていない要素を含んでもよい。
【０１８９】
本願で使用されている言葉遣い及び使用法は、説明を目的としており、限定として解釈されるべきでない。「含む」、「備える」、「有する」、「包含する」、「取り込む」及び同様に使用される言葉は、列挙されている要素及び追加的な要素を包含することを意味する。
【０１９０】
以上、本発明の幾つかの実施の形態を詳細に説明してきたが、様々な変形例及び改善例も当業者にとって明らかであろう。そのような変形例及び改善例は本発明の精神及び範囲に属するように意図されている。従って、上記の説明は単なる一例を示しているに過ぎず、限定的に解釈してはならない。
【０１９１】
＜関連出願＞
本願は、「Method  and  Apparatus  for  Searching  of  Content  Using  Semantic  Synthesis」と題する西暦2010年6月22日付けで出願された米国仮出願番号第61/357,512号、「Method  and  Apparatus  for  Presenting  Concepts  Related  to  an  Active  Concept」と題する西暦2011年1月5日付けで出願された米国仮出願番号第61/430,138号、「Method  and  Apparatus  for  Identifying  Terms  for  Monetization」と題する西暦2011年1月5日付けで出願された米国仮出願番号第61/430,141号、「Methods  and  Apparatus  for  Taking  an  Advertising  Action  Using  a  Bot」と題する西暦2011年1月5日付けで出願された米国仮出願番号第61/430,143号に基づく優先的利益を享受し、それらの内容全体が本願のリファレンスに組み入れられる。本願は、本願の発明者及び/又は譲受人により出願された多くの先行する出願に開示されている概念を前提としており、先行する出願は例えば「Method  System,  and  Computer  Program  for  User-Driven  Dynamic  Generation  of  Semantic  Networks  and  Media  Synthesis」と題する西暦2010年2月2日付けで出願された米国出願番号第12/671,846号を含み、本発明に関する追加的な背景技術が説明されている。
【０１９２】
以下に、出願当初の特許請求の範囲に記載された内容を実施例として記載する。
［実施例１］
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さを減らす曖昧性除去語を取得するステップと、
プロセッサが、前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有するセマンティック検索方法。
［実施例２］
前記検索結果をランキング及び/又は選別するステップを更に有する実施例1に記載の検索方法。
［実施例３］
前記曖昧性除去語を取得するステップは、
セマンティック語彙を用いて前記第1の検索文字列の1つ以上の意味表現を特定又は決定するステップであって、前記1つ以上の意味表現の少なくともいくつかは前記第1の検索文字列の意味を示す、ステップと、
前記第1の検索文字列の意味を示す前記1つ以上の意味表現中の言葉を前記曖昧性除去語として特定するステップと
を有する、実施例1に記載の検索方法。
［実施例４］
前記特定するステップにおいて、
前記1つ以上の意味表現中の複数の言葉をユーザに提示し、
前記複数の言葉のうちの少なくとも1つを特定するユーザ入力を受信する、実施例3に記載の検索方法。
［実施例５］
前記1つ以上の意味表現に属する意味表現は概念定義であり、特定された言葉は前記概念定義の中のキーワードである、実施例3に記載の検索方法。
［実施例６］
前記セマンティック語彙に言葉を追加する及び/又は前記セマンティック語彙から言葉を除去するステップを更に有する実施例3に記載の検索方法。
［実施例７］
リアルタイムのインターネット情報ストリームから取得された言葉を前記セマンティック語彙に追加するステップを更に有する実施例6に記載の検索方法。
［実施例８］
前記第2の検索文字列を作成するステップにおいて、
前記曖昧性除去語に基づいて、前記第1の検索文字列について特定された意味を示す前記第1の検索文字列の意味表現を特定し、
前記意味表現に関連する概念の階層を含むセマンティックネットワークを生成又は特定するステップと、
前記セマンティックネットワーク内の少なくとも1つの概念を用いて前記第2の検索文字列を生成する、実施例1に記載の検索方法。
［実施例９］
情報コンテンツの本文に登場しかつ所定の閾値より高いトレンドスコアを有する言葉を
特定するステップと、
特定された前記言葉に基づいて前記セマンティックネットワークを生成するステップと
を更に有する実施例8に記載の検索方法。
［実施例１０］
前記セマンティックネットワークに基づいて前記検索結果に注釈を付けるステップを更に有する実施例8に記載の検索方法。
［実施例１１］
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された前記検索結果を出力する場合に、
前記第2の検索文字列を前記検索を行う検索サービス部に送信し、
送信に応答して、前記検索サービス部から前記検索結果を受信する、実施例1に記載の検索方法。
［実施例１２］
前記検索結果を出力する場合に、前記検索結果をユーザに表示する、実施例1に記載の検索方法。
［実施例１３］
プロセッサ及びメモリを有するセマンティック検索を行うシステムであって、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さをなくす曖昧性除去語を取得するステップと、
前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び/又は検索結果を出力する検索サービス部に前記第2の検索文字列を与えることを実行するステップと
を実行するシステム。
［実施例１４］
コンピュータで読み取ることが可能な記憶媒体であって、セマンティック検索方法をプロセッサに実行させる命令を保存し、前記セマンティック検索方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味の曖昧さをなくす曖昧性除去語を取得するステップと、
前記第1の検索文字列及び前記曖昧性除去語に少なくとも部分的に基づいて第2の検索文字列を作成するステップと、
前記第2の検索文字列に少なくとも部分的に基づいて行われた検索から取得された検索結果を出力すること、及び検索結果を出力する検索サービス部に前記第2の検索文字列を与えることのうちの少なくとも一方を実行するステップと
を有する、記憶媒体。
［実施例１５］
トレンディ語を特定する同定方法であって、
複数の言葉を含むタイムスタンプが付されているコンテンツを受信するステップと、
プロセッサが、減衰関数に少なくとも部分的に基づいて前記複数の言葉に属する言葉の各々についてトレンドスコアを計算するステップと、
計算された前記トレンドスコアに基づいてトレンディ語として特定された1つ以上の言葉に基づく結果を出力するステップと
を有する同定方法。
［実施例１６］
前記タイムスタンプが付されているコンテンツはブログ及び/又はインターネットストリームからのコンテンツを含む、実施例15に記載の同定方法。
［実施例１７］
前記トレンドスコアを計算する前記ステップにおいて、
前記タイムスタンプが付されているコンテンツに登場する言葉の出現頻度と前記タイムスタンプが付されているコンテンツに登場する他の言葉の出現頻度とを計算し、
前記減衰関数に基づいて前記言葉の出現頻度を修正する、実施例15に記載の同定方法。
［実施例１８］
前記減衰関数は崩壊速度パラメータに少なくとも部分的に基づいて規定されている、実施例15に記載の同定方法。
［実施例１９］
前記特定の際に、計算された前記トレンドスコアに基づいて前記複数の言葉に属する言葉をランキングし、1つ以上の上位にランキングされた言葉を前記トレンド語として特定する、実施例15に記載の同定方法。
［実施例２０］
平均ユニコードポイント値に基づいて前記タイムスタンプが付されているコンテンツの言語を判定するステップを更に有する実施例15に記載の同定方法。
［実施例２１］
前記複数の言葉に属しかつ所定の範囲内のトレンドスコアを有する言葉をセマンティック語彙に追加するステップを更に有する実施例15に記載の同定方法。
［実施例２２］
前記第1の検索文字列を受信するステップと、
前記複数の言葉に属しかつ所定の範囲内のトレンドスコアを有する言葉を選択するステップと、
選択された言葉及び前記第1の検索文字列の意味表現に基づいて第2の検索文字列を生成するステップと
を更に有する同定方法。
［実施例２３］
前記複数の言葉に属しかつ所定の範囲内のトレンドスコアを有する言葉を選択するステップと、
ユーザが指定した1つ以上の文字列に属する言葉の出現頻度に少なくとも部分的に基づいて前記言葉の第2のトレンドスコアを計算するステップと、
決定に少なくとも部分的に基づいて、選択された言葉を分類するステップと
を更に有する実施例15に記載の同定方法。
［実施例２４］
前記の分類に基づいて、選択された前記言葉を広告用キーワードとして取得するステップを更に有する実施例23に記載の同定方法。
［実施例２５］
プロセッサが、情報コンテンツの本体に登場する言葉を、該言葉について計算した1つ以上のトレンド語に少なくとも部分的に基づいて、複数のカテゴリのうちの1つ以上に分類するステップと、
前記言葉が分類された前記複数のカテゴリのうちの1つ以上のカテゴリに基づいて、前記言葉に関する広告処理を行うステップと
を有する広告方法。
［実施例２６］
前記情報コンテンツの本体は、公開されているインターネットコンテンツ及びユーザが指定した検索文字列を有する、実施例25に記載の広告方法。
［実施例２７］
1つ以上のトレンドスコアが、
前記公開されているインターネットのコンテンツに登場する言葉の出現頻度に少なくとも部分的に基づいて算出された第1のトレンドスコアと、
ユーザが指定した1つ以上の文字列に登場する言葉の出現頻度に少なくとも部分的に基づいて算出された第2のトレンドスコアと
を有する、実施例26に記載の広告方法。
［実施例２８］
前記分類するステップにおいて、
第1のトレンドスコアが所定の第1の閾値を超えているか否かを判定し、
第2のトレンドスコアが所定の第2の閾値を超えているか否かを判定し、
判定結果に少なくとも部分的に基づいて、言葉を1つ以上のカテゴリに分類する、実施例25に記載の広告方法。
［実施例２９］
前記カテゴリは収益化カテゴリを表す、実施例25に記載の広告方法。
［実施例３０］
前記広告処理が、
検索エンジン又は広告処理部から言葉を入手する時点を予測すること、
前記検索エンジン又は前記広告処理部から前記言葉を入手すること、及び/又は
前記検索エンジン又は前記広告処理部から広告主が入手する効果的な言葉として、黙示的又は明示的に言葉を示唆すること
のうちの少なくとも1つを行う、実施例25に記載の広告方法。
［実施例３１］
第1の検索文字列を受信するステップと、
プロセッサが、前記第1の検索文字列の意味表現を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果をランキングする又は注釈を付けるステップと
を有する検索方法。
［実施例３２］
プロセッサ及びメモリを有するシステムであって、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味表現を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果をランキングする又は注釈を付けるステップと
を実行するシステム。
［実施例３３］
コンピュータで読み取ることが可能な記憶媒体であって、検索方法をプロセッサに実行させる命令を保存し、前記検索方法は、
第1の検索文字列を受信するステップと、
前記第1の検索文字列の意味表現を作成するステップと、
前記第1の検索文字列に少なくとも部分的に基づいて行われた検索の検索結果を取得するステップと、
前記検索結果及び前記意味表現の双方に含まれている言葉に少なくとも部分的に基づいて前記検索結果をランキングする又は注釈を付けるステップと
を有する記憶媒体。
【図１】
0006416150.tif 000010
【図２】
0006416150.tif 000011
【図３】
0006416150.tif 000012
【図４】
0006416150.tif 000013
【図５】
0006416150.tif 000014
【図６】
0006416150.tif 000015
【図７】
0006416150.tif 000016
【図８Ａ】
0006416150.tif 000017
【図８Ｂ】
0006416150.tif 000018
【図８Ｃ】
0006416150.tif 000019
【図８Ｄ】
0006416150.tif 000020
【図９】
0006416150.tif 000021
【図１０】
0006416150.tif 000022
【図１１】
0006416150.tif 000023