(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-09
(54)【発明の名称】データサーチ及び検索を強化するデータ処理システム及び強化されたデータストレージ
(51)【国際特許分類】
G06F 16/28 20190101AFI20220302BHJP
【FI】
G06F16/28
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021535158
(86)(22)【出願日】2020-01-23
(85)【翻訳文提出日】2021-08-11
(86)【国際出願番号】 US2020014829
(87)【国際公開番号】W WO2020154529
(87)【国際公開日】2020-07-30
(32)【優先日】2019-01-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521264637
【氏名又は名称】キーブ インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】クルタノヴィッチ,ジャド
(72)【発明者】
【氏名】グラ,コンラド
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA02
(57)【要約】
データ処理システムは、データ要求を増補するように構成される。データ処理システムは、クライアントデバイスからネットワークを介して、1つ又は複数のデータソースとのユーザ対話に関連する対話データを受信し、1つ又は複数のデータソースの少なくとも1つのリソースの1つ又は複数の部分を含む抽出データを生成するように構成される推奨エンジンを含む。抽出データは、対話データに基づいて生成される。データ処理システムは、抽出データをパースして、抽出データの1つ又は複数のメトリックを識別し、且つ1つ又は複数のデータソースから、メトリックに基づいて追加のデータを検索する。結果コンパイラは、クライアントデバイスからデータ要求を受信し、且つ要求に応答して、提示するために追加のデータをクライアントデバイスに送信するように構成される。
【特許請求の範囲】
【請求項1】
データ要求を増補するように構成されたデータ処理システムであって、
推奨エンジンであって、
クライアントデバイスからネットワークを介して、1つ又は複数のデータソースとのユーザ対話に関連する対話データを受信することと、
前記1つ又は複数のデータソースの少なくとも1つのリソースの1つ又は複数の部分を含む抽出データを生成することであって、前記抽出データは、前記対話データに基づいて生成される、生成することと、
前記抽出データをパースして、前記抽出データの1つ又は複数のメトリックを識別することであって、前記1つ又は複数のメトリックは、前記抽出データに関連する追加のデータを示す、識別することと、
前記1つ又は複数のデータソースから、前記メトリックに基づいて前記追加のデータを検索することと
を行うように構成された推奨エンジンと、
結果コンパイラであって、
前記クライアントデバイスからデータ要求を受信することと、
前記要求に応答して、前記クライアントデバイスによって提示するために前記追加のデータを前記クライアントデバイスに送信することと
を行うように構成された結果コンパイラと
を含むデータ処理システム。
【請求項2】
結果コンパイラは、
第三者サーチエンジンからサーチ結果を検索することであって、前記サーチ結果は、前記クライアントデバイスからの前記データ要求の1つ又は複数のキーワードに応答する、検索することと、
前記サーチ結果と共に提示するための、前記データ要求の前記1つ又は複数のキーワードに応答する前記追加のデータの部分を選択することと、
前記クライアントデバイスのユーザインターフェースの別個の領域に提示するために、前記クライアントデバイスに前記追加のデータの前記部分及び前記サーチ結果を送信することと
を行うように更に構成される、請求項1に記載のデータ処理システム。
【請求項3】
前記1つ又は複数のメトリックは、前記抽出データのデータタイプ、前記抽出データのデータソース、前記抽出データで表される1つ又は複数のトピック、前記抽出データで表される言語タイプ及び前記抽出データにおける追加のリソースへの1つ又は複数のリンクを含む、請求項1に記載のデータ処理システム。
【請求項4】
前記抽出データの前記データタイプは、画像を含み、前記抽出データをパースすることは、画像処理を前記画像に対して実行して、前記画像の特徴を抽出することを含み、前記特徴は、前記抽出データに関連する前記追加のデータを示す、請求項3に記載のデータ処理システム。
【請求項5】
前記対話データは、前記クライアントデバイスによって提示されるリソースの識別子、前記リソースが前記クライアントデバイスによって提示される時間の長さ、前記リソースの部分の選択、前記リソースにおける実行可能コードの実行、前記リソースにおけるメディアの再生、前記リソースのブックマーク及び前記リソースの前記部分のダウンロードの1つ又は複数を含む、請求項1に記載のデータ処理システム。
【請求項6】
プロファイルエンジンを更に含み、前記プロファイルエンジンは、
ユーザに関連する前記対話データ及び実行データをユーザプロファイルに記憶することと、
前記記憶された対話及び実行データの特徴セットを特定することであって、前記特徴セットは、他のトピックと比較して関連度が高い1つ又は複数のトピック、前記ユーザによって好まれる1つ又は複数のデータソース及び前記ユーザによって好まれる1つ又は複数のコンテンツタイプの少なくとも1つを示す、特定することと、
前記ユーザプロファイルの前記特徴セットへの閾値類似度内にある別の特徴セットを有する別のユーザプロファイルを特定することと、
前記クライアントデバイスに対して前記他のユーザプロファイルを識別することと
を行うように構成される、請求項1に記載のデータ処理システム。
【請求項7】
前記プロファイルエンジンは、
前記他のユーザプロファイルに記憶された1つ又は複数のリソースを識別することと、
前記1つ又は複数のリソースを前記クライアントデバイスに送信することと
を行うように更に構成される、請求項6に記載のデータ処理システム。
【請求項8】
テキスト分析エンジンを更に含み、前記テキスト分析エンジンは、
前記データ要求を前記クライアントデバイスから受信することと、
言語モデルを前記データ要求に適用して、1つ又は複数の追加のトピックを識別することと、
前記1つ又は複数の追加のトピックを前記推奨エンジンに送信することと
を行うように構成される、請求項1に記載のデータ処理システム。
【請求項9】
前記テキスト分析エンジンは、
前記要求を別の言語に翻訳することと、
前記翻訳された要求を使用して、前記1つ又は複数のデータソースからデータを要求することと
を行うように更に構成される、請求項8に記載のデータ処理システム。
【請求項10】
トレンド分析エンジンを更に含み、前記トレンド分析エンジンは、
前記推奨エンジンによって受信された複数のデータ要求を分析することと、
前記複数の要求から、前記クライアントデバイスによる将来のデータ要求を推測することと、
前記将来のデータ要求に応答して結果データを検索することと
を行うように構成される、請求項1に記載のデータ処理システム。
【請求項11】
前記1つ又は複数のデータソースのそれぞれについて、前記推奨エンジンは、
前記それぞれのデータソースのシンタックスに準拠するように前記データ要求を翻訳することと、
前記翻訳されたデータ要求を用いて前記1つ又は複数のデータソースから追加の応答データを要求することと、
前記追加のデータと、前記追加の応答データの前記要求に応答して前記1つ又は複数のデータソースから受信される前記追加の応答データを結合することと、
前記追加の応答データと結合された前記追加のデータを前記クライアントデバイスに送信することと
を行うように構成される、請求項1に記載のデータ処理システム。
【請求項12】
データ処理システムであって、
ユーザインターフェースであって、
1つ又は複数のデータソースからネットワークコンテンツを表示する提示パネルであって、前記ネットワークコンテンツは、1つ又は複数のリソースを含む、提示パネルと、
前記ネットワークコンテンツとの対話を可能にする1つ又は複数の制御手段と
を含むユーザインターフェースと、
データ処理エンジンと
を含み、前記データ処理エンジンは、
前記ユーザインターフェースから、前記ネットワークコンテンツの前記1つ又は複数のリソースのうちのリソースの少なくとも部分とのユーザ対話を示す信号を受信することと、
前記信号を受信することに応答して、前記ネットワークコンテンツから前記リソースの前記部分を抽出することと、
前記ネットワークコンテンツから抽出される前記リソースの前記部分をパースして、前記リソースの前記部分で表される1つ又は複数のキーワードを取得することと、
前記1つ又は複数のキーワードに関連する1つ又は複数のローカルリソースについて、前記データ処理エンジンにネットワーク接続される1つ又は複数のローカルデータソースの第1のサーチを実行することと、
前記1つ又は複数のキーワードに関連する1つ又は複数のリモートリソースについて、前記データ処理エンジンにネットワーク接続される1つ又は複数のリモートデータソースの第2のサーチを実行することと、
前記第1のサーチ及び前記第2のサーチを実行することに応答して、少なくとも1つのローカルリソース又は少なくとも1つのリモートリソースの一方又は両方を含む1つ又は複数のサーチ結果を受信することと、
前記提示パネルに前記1つ又は複数のサーチ結果を提示させることと
を行うように構成される、データ処理システム。
【請求項13】
前記ユーザインターフェースからの前記信号は、前記1つ又は複数の制御手段の選択、前記リソースの前記部分が閲覧される時間の長さを表すデータ、前記リソースの前記部分から別のリソースへのリンクの選択を示すデータ、前記リソースの前記部分の選択を示すデータ及び前記リソースの前記部分に含まれる実行可能コードの実行を示すデータの1つ又は複数を含む、請求項12に記載のデータ処理システム。
【請求項14】
前記信号は、前記リソースの前記部分のデータタイプ、前記リソースの前記部分の前にアクセスされる1つ若しくは複数の他のリソース又は前記リソースの前記部分のデータソースの1つ又は複数を示すメタデータを含む、請求項12に記載のデータ処理システム。
【請求項15】
前記第1のサーチを実行することは、
前記1つ又は複数のローカルデータソースのローカルデータソースにアクセスするための認可データを検索することと、
前記認可データを前記ローカルデータソースに提供することと、
前記ローカルデータソースからローカル結果データを受信することと
を含む、請求項12に記載のデータ処理システム。
【請求項16】
前記認可データは、ローカルストレージから検索される、請求項15に記載のデータ処理システム。
【請求項17】
前記第2のサーチを実行することは、
前記1つ又は複数のリモートソースのそれぞれのアプリケーションプログラミングインターフェース(API)に準拠するようにデータ要求を構成することと、
前記構成された要求を前記1つ又は複数のリモートデータソースのそれぞれに送信することと、
前記1つ又は複数のリモートデータソースから結果データを受信することと
を含む、請求項12に記載のデータ処理システム。
【請求項18】
前記1つ又は複数のリモートデータソースは、データソースのレジストリから前記信号を受信することに応答して識別される、請求項17に記載のデータ処理システム。
【請求項19】
前記リソースの前記部分は、画像を含み、前記リソースの前記部分をパースすることは、画像処理を前記画像に対して実行して、前記画像の1つ又は複数の特徴を抽出することを含み、前記1つ又は複数の特徴は、前記1つ又は複数のキーワードを示す、請求項12に記載のデータ処理システム。
【請求項20】
前記リソースの前記部分は、テキストの集合を含み、前記1つ又は複数のキーワードは、前記テキストの集合中の言葉である、請求項12に記載のデータ処理システム。
【請求項21】
前記1つ又は複数のサーチ結果は、特定のリソースの特定の部分を含み、前記特定の部分は、前記ネットワークコンテンツから抽出される前記リソースの前記部分に関連付けられた1つ又は複数のメトリックに基づく、請求項12に記載のデータ処理システム。
【請求項22】
前記1つ又は複数のメトリックは、データのタイプを含み、前記リソースの前記部分及び前記特定のリソースの前記特定の部分は、前記データのタイプを含む、請求項21に記載のデータ処理システム。
【請求項23】
前記提示パネルに前記1つ又は複数のサーチ結果を提示させることは、前記1つ又は複数のサーチ結果を、第三者サーチエンジンによって提供された1つ又は複数の他のサーチ結果と共に前記ユーザインターフェースに提示させることを含む、請求項12に記載のデータ処理システム。
【請求項24】
前記提示パネルに前記1つ又は複数のサーチ結果を提示させることは、前記1つ又は複数のサーチ結果を前記リソースの前記部分と共に提示させることを含む、請求項12に記載のデータ処理システム。
【請求項25】
前記1つ又は複数のサーチ結果の各サーチ結果は、それぞれのリソースを表し、及び前記提示パネルに前記1つ又は複数のサーチ結果を提示させることは、前記1つ又は複数のリソースのそれぞれの部分を提示することを含む、請求項12に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
優先権の主張
本願は、米国特許法第119条(e)の下、2019年1月23日付けで出願された米国仮特許出願第62/795,674号に対する優先権を主張するものであり、この内容全体は、参照により本明細書に援用される。
【0002】
技術分野
本開示は、データ処理に関し、より詳細には記憶及び検索のためのデータの強化に関する。
【背景技術】
【0003】
背景
サーチエンジンは、ユーザが、ネットワーク接続された計算システム中のデータにアクセスすることを可能にする。ユーザは、クライアント計算デバイスを通して、データ要求(例えば、サーチクエリ)を別の計算システムに提出し得る。サーチ要求を受信する計算システムは、通常、サーバシステム又は他のリモート計算システムを含むが、場合により、ユーザは、ローカルシステムからのデータを要求していることがある。他の計算システムは、要求を受信し、サーチ結果を識別し、クライアントデバイスを通してサーチ結果をユーザに提供する。
【0004】
ユーザは、通常、サーチを実行するリソースを選択し、サーチ結果は、通常、選択されたリソースが利用可能なデータに制約される。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
本明細書は、データサーチ及びデータ検索を強化し、データアクセスを促進するように強化されたデータ記憶を提供するデータ処理システムを記載する。多くの場合、従来のサーチシステムのユーザがコンテンツを見つけようとする(例えば、リサーチプロジェクトのために)場合、サーチは、使用中の特定のサーチシステムが利用可能な特定のリソースに制限される。リソースの完全サーチが行われたことを保証するために、ユーザは、一連のサーチシステム(例えば、プロプライエタリデータベース、サーチエンジン等)に順次アクセスする必要があり得る。ユーザが第1のリソースを使用してサーチを完了し、第2のリソースに進む場合、ユーザは、プロセスを繰り返し、多くの場合、冗長サーチを各システムで実行して、全てのリソースが見つけられたことを保証する。更に、ユーザは、サーチが関連する結果を返すことを保証するために、異なる各リソースに特定のシンタックスでサーチクエリを入力する必要があり得、これは、時間が掛かる恐れがある。
【0006】
更に、従来のサーチシステムでは、ユーザは、多くの場合、何れのタイプのサーチ結果をユーザが好むか及び何れのソースをユーザが好むか等、いかなる状況もサーチシステムに与えずにサーチする。ユーザは、多くの場合、サーチ実行前にサーチ結果のタイプa(例えば、ビデオ結果、ニュース結果、ショッピング結果等)を選択し、これは、受信される結果をサーチシステムによって決まる特定のカテゴリに制限する。カテゴリは、通常、特定のユーザの好みを考慮に入れずに設計される。
【0007】
一般に、サーチシステムは、多くの場合、リソースをユーザに提供するためにリソースを分類し、ときに結果のスニペットをユーザに示して、結果の幾らかの状況をユーザに提供する。しかしながら、示されるスニペットは、ユーザにより行われているリサーチプロジェクトに依存せず、且つサーチを実行しているユーザに依存しない。その結果、ユーザは、多くの場合、リソースアドレスを開き、リソースのテキストを手作業で読み、画像を見、ビデオを見る等により、リソースの関連するコンテンツを見つけなければならない。
【0008】
多くのサーチシステムでは、ユーザは、他のユーザにより実行された同様のリサーチからも恩恵を受けない。例えば、幾人かのユーザがユーザと同様の好みを有し得、したがって、ユーザは、サーチ実行時、それらの好みから恩恵を受けることができる。ユーザは、冗長リサーチタスクを実行するのではなく、同様のユーザのリサーチ努力に便乗し、リサーチ時間を短縮し、従来のサーチシステムの要求数(及びネットワークトラフィック)を低減することもできる。
【0009】
本明細書に記載されるデータ処理システムは、後述するように、これらの問題等に対処するように構成される。本データ処理システムは、既存のデータソース(例えば、データリポジトリ、サーチエンジン、ウェブサイト、出版社等)とインターフェースし、それらのデータソースからのデータのサーチ及び検索を強化するように構成されたデータ処理エンジンを含む。幾つかの実装形態では、データ処理システムは、用語をトピックに分類するトレーニングされた分類モデルを含むように予め構成される。トピックは、それぞれ生成されたマップ中の1つ又は複数のデータソースを関連付けることができる。
【0010】
データ処理エンジンは、クライアントデバイスのアプリケーションに追加することができるか、又はクライアントデバイスにおけるスタンドアロンアプリケーションであり得る。ユーザがデータ要求(例えば、サーチクエリ)を1つ又は複数のデータソースに送信すると、データ処理システムは、要求を分析し、予め処理し(例えば、スペル修正、フィルタ等)、要求をコンテキストデータ(例えば、追加のサーチ用語、キーワード等)で増補して、サーチ範囲を改良する。
【0011】
データ処理システムは、必要に応じて、異なるデータソースに向けてデータ要求をフォーマットすることによりユーザを支援する。例えば、異なるリポジトリは、それらのリポジトリに対してサーチを行うために異なるサーチシンタックス又は異なるアプリケーションプログラミングインターフェース(API)を有し得る。データ処理システムは、ユーザが利用可能な各データソースの要件に準拠するように要求をフォーマットし、それにより、ユーザは、1つのロケーションから包括的なリサーチを行い得(例えば、特定のサーチエンジンを使用して)、1つのサーチクエリを使用して、異なるリポジトリにわたりサーチを実行し得る。
【0012】
更に、データ処理システムは、ユーザによるデータ要求に応答して受信したデータ(例えば、要求に応答して受信したサーチ結果又は任意の他のコンテンツ)を記憶するように構成されたデータストレージを含む。データ処理システムは、データソースから受信した応答データをキュレートするように構成される。キュレーションは、ユーザがデータ要求を送信する際に自動的に、ユーザが応答データと対話する際に手動で又は自動キュレーション及び手動キュレーションの両方の組合せで行うことができる。キュレートされた応答データは、データコレクションとして記憶される。データコレクションには、ユーザにより実行されているリサーチが関連付けられ、データ処理システムの他の認可ユーザも利用可能である。データコレクションは、ユーザ(又は同様のユーザ)へのデータコレクションの有用性を改良するメタデータに関連付けられる。メタデータは、例えば、そのデータコレクションに識別されたリサーチトピックに特有のランクデータを含むことができる。
【0013】
データ処理システムは、データ処理システムとのユーザの対話に基づいてユーザをプロファイリングするように構成される。特定のデータソースへのユーザの好みが浮かび上がる(例えば、ユーザは、特定のリポジトリからの応答データを好み得る)と、データ処理システムは、何れの応答データがユーザに提示されるかを調整する。例えば、ユーザは、特定の作者又は組織からの結果、特定の時間期間からの結果、異なる言語からの結果等を好み得る。ユーザは、プロファイルを作成するため、同様のユーザは、互いを識別することができ(例えば、組織内で)、ユーザは、データコレクションを共有し得る。例えば、同じ企業で働いている2人の異なるユーザが特定のトピックをリサーチしている場合、ユーザは、互いに識別して、冗長リサーチを回避し得る。そのような識別は、少なくとも部分的にユーザプロファイルの特徴セット間の類似度に基づき得る。例えば、特定のユーザのプロファイルが別のユーザのプロファイルの特徴セットと閾値類似度内の特徴セットを有する場合、同様のユーザプロファイルを識別することができる。
【0014】
幾つかの実装形態では、データ処理システムは、データ要求を増補するように構成され、推奨エンジンを含む。推奨エンジンは、クライアントデバイスからネットワークを介して、1つ又は複数のデータソースとのユーザ対話に関連する対話データを受信するように構成される。推奨エンジンは、1つ又は複数のデータソースの少なくとも1つのリソースの1つ又は複数の部分を含む抽出データを生成するように構成され、抽出データは、対話データに基づいて生成される。推奨エンジンは、抽出データをパースして、抽出データの1つ又は複数のメトリックを識別するように構成され、1つ又は複数のメトリックは、抽出データに関連する追加のデータを示す。推奨エンジンは、1つ又は複数のデータソースから、メトリックに基づいて追加のデータを検索するように構成される。幾つかの実装形態では、データ処理システムは、結果コンパイラを含む。幾つかの実装形態では、結果コンパイラは、クライアントデバイスからデータ要求を受信するように構成される。結果コンパイラは、要求に応答して、クライアントデバイスによって提示するために追加のデータをクライアントデバイスに送信するように構成される。
【0015】
幾つかの実装形態では、結果コンパイラは、第三者サーチエンジンからサーチ結果を検索するように更に構成され、サーチ結果は、クライアントデバイスからのデータ要求の1つ又は複数のキーワードに応答する。結果コンパイラは、サーチ結果と共に提示するための、データ要求の1つ又は複数のキーワードに応答する追加のデータの部分を選択するように構成される。結果コンパイラは、クライアントデバイスのユーザインターフェースの別個の領域に提示するために、クライアントデバイスに追加のデータの部分及びサーチ結果を送信するように構成される。
【0016】
幾つかの実装形態では、1つ又は複数のメトリックは、抽出データのデータタイプ、抽出データのデータソース、抽出データで表される1つ又は複数のトピック、抽出データで表される言語タイプ及び抽出データにおける追加のリソースへの1つ又は複数のリンクを含む。
【0017】
幾つかの実装形態では、抽出データのデータタイプは、画像を含み、抽出データをパースすることは、画像処理を画像に対して実行して、画像の特徴を抽出することを含み、特徴は、抽出データに関連する追加のデータを示す。
【0018】
幾つかの実装形態では、対話データは、クライアントデバイスによって提示されるリソースの識別子、リソースがクライアントデバイスによって提示される時間の長さ、リソースの部分の選択、リソースにおける実行可能コードの実行、リソースにおけるメディアの再生、リソースのブックマーク及びリソースの部分のダウンロードの1つ又は複数を含む。
【0019】
幾つかの実装形態では、データ処理システムは、プロファイルエンジンを更に含み、プロファイルエンジンは、ユーザに関連する対話データ及び実行データをユーザプロファイルに記憶するように構成される。プロファイルエンジンは、記憶された対話及び実行データの特徴セットを特定するように構成され、特徴セットは、他のトピックと比較して関連度が高い1つ又は複数のトピック、ユーザによって好まれる1つ又は複数のデータソース及びユーザによって好まれる1つ又は複数のコンテンツタイプの少なくとも1つを示す。プロファイルエンジンは、ユーザプロファイルの特徴セットへの閾値類似度内にある別の特徴セットを有する別のユーザプロファイルを特定するように構成される。プロファイルエンジンは、クライアントデバイスに対して他のユーザプロファイルを識別するように構成される。
【0020】
幾つかの実装形態では、プロファイルエンジンは、他のユーザプロファイルに記憶された1つ又は複数のリソースを識別することと、1つ又は複数のリソースをクライアントデバイスに送信することとを行うように更に構成される。
【0021】
幾つかの実装形態では、データ処理システムは、テキスト分析エンジンを更に含み、テキスト分析エンジンは、データ要求をクライアントデバイスから受信するように構成される。テキスト分析エンジンは、言語モデルをデータ要求に適用して、1つ又は複数の追加のトピックを識別するように構成される。テキスト分析エンジンは、1つ又は複数の追加のトピックを推奨エンジンに送信するように構成される。
【0022】
幾つかの実装形態では、テキスト分析エンジンは、要求を別の言語に翻訳することと、翻訳された要求を使用して、1つ又は複数のデータソースからデータを要求することとを行うように更に構成される。
【0023】
幾つかの実装形態では、データ処理システムは、トレンド分析エンジンを更に含み、トレンド分析エンジンは、推奨エンジンによって受信された複数のデータ要求を分析することと、複数の要求から、クライアントデバイスによる将来のデータ要求を推測することと、将来のデータ要求に応答して結果データを検索することとを行うように構成される。
【0024】
幾つかの実装形態では、1つ又は複数のデータソースのそれぞれについて、推奨エンジンは、それぞれのデータソースのシンタックスに準拠するようにデータ要求を翻訳するように構成される。推奨エンジンは、翻訳されたデータ要求を用いて1つ又は複数のデータソースから追加の応答データを要求するように更に構成することができる。推奨エンジンは、追加のデータと、追加の応答データへの要求に応答して1つ又は複数のデータソースから受信される追加の応答データを結合するように構成することができる。推奨エンジンは、追加の応答データと結合された追加のデータをクライアントデバイスに送信するように構成することができる。
【0025】
別の態様では、データ処理システムは、ユーザインターフェースを含む。ユーザインターフェースは、1つ又は複数のデータソースからネットワークコンテンツを表示する提示パネルであって、ネットワークコンテンツは、1つ又は複数のリソースを含む、提示パネルと、ネットワークコンテンツとの対話を可能にする1つ又は複数の制御手段とを含む。データ処理システムは、データ処理エンジンを含み、データ処理エンジンは、ユーザインターフェースから、ネットワークコンテンツの1つ又は複数のリソースのうちのリソースの少なくとも部分とのユーザ対話を示す信号を受信するように構成される。データ処理エンジンは、信号を受信することに応答して、ネットワークコンテンツからリソースの部分を抽出するように構成される。データ処理エンジンは、ネットワークコンテンツから抽出されるリソースの部分をパースして、リソースの部分で表される1つ又は複数のキーワードを取得するように構成される。データ処理エンジンは、1つ又は複数のキーワードに関連する1つ又は複数のローカルリソースについて、データ処理エンジンにネットワーク接続される1つ又は複数のローカルデータソースの第1のサーチを実行するように構成される。データ処理エンジンは、1つ又は複数のキーワードに関連する1つ又は複数のリモートリソースについて、データ処理エンジンにネットワーク接続される1つ又は複数のリモートデータソースの第2のサーチを実行するように構成される。データ処理エンジンは、第1のサーチ及び第2のサーチを実行することに応答して、少なくとも1つのローカルリソース又は少なくとも1つのリモートリソースの一方又は両方を含む1つ又は複数のサーチ結果を受信するように構成される。データ処理エンジンは、提示パネルに1つ又は複数のサーチ結果を提示させるように構成される。
【0026】
幾つかの実装形態では、ユーザインターフェースからの信号は、1つ又は複数の制御手段の選択、リソースの部分が閲覧される時間の長さを表すデータ、リソースの部分から別のリソースへのリンクの選択を示すデータ、リソースの部分の選択を示すデータ及びリソースの部分に含まれる実行可能コードの実行を示すデータの1つ又は複数を含む。
【0027】
幾つかの実装形態では、信号は、リソースの部分のデータタイプ、リソースの部分の前にアクセスされる1つ若しくは複数の他のリソース又はリソースの部分のデータソースの1つ又は複数を示すメタデータを含む。
【0028】
幾つかの実装形態では、第1のサーチを実行することは、1つ又は複数のローカルデータソースのローカルデータソースにアクセスするための認可データを検索することと、認可データをローカルデータソースに提供することと、ローカルデータソースからローカル結果データを受信することとを含む。
【0029】
幾つかの実装形態では、認可データは、ローカルストレージから検索される。
【0030】
幾つかの実装形態では、第2のサーチを実行することは、1つ又は複数のリモートソースのそれぞれのアプリケーションプログラミングインターフェース(API)に準拠するようにデータ要求を構成することと、構成された要求を1つ又は複数のリモートデータソースのそれぞれに送信することと、1つ又は複数のリモートデータソースから結果データを受信することとを含む。
【0031】
幾つかの実装形態では、1つ又は複数のリモートデータソースは、データソースのレジストリから信号を受信することに応答して識別される。
【0032】
幾つかの実装形態では、リソースの部分は、画像を含み、リソースの部分をパースすることは、画像処理を画像にして実行して、画像の1つ又は複数の特徴を抽出することを含み、1つ又は複数の特徴は、1つ又は複数のキーワードを示す。
【0033】
幾つかの実装形態では、リソースの部分は、テキストの集合を含み、1つ又は複数のキーワードは、テキストの集合中の言葉である。
【0034】
幾つかの実装形態では、1つ又は複数のサーチ結果は、特定のリソースの特定の部分を含み、特定の部分は、ネットワークコンテンツから抽出されるリソースの部分に関連付けられた1つ又は複数のメトリックに基づく。
【0035】
幾つかの実装形態では、1つ又は複数のメトリックは、データのタイプを含み、リソースの部分及び特定のリソースの特定の部分は、そのデータのタイプを含む。
【0036】
幾つかの実装形態では、提示パネルに1つ又は複数のサーチ結果を提示させることは、1つ又は複数のサーチ結果を、第三者サーチエンジンによって提供された1つ又は複数の他のサーチ結果と共にユーザインターフェースに提示させることを含む。
【0037】
幾つかの実装形態では、提示パネルに1つ又は複数のサーチ結果を提示させることは、1つ又は複数のサーチ結果をリソースの部分と共に提示させることを含む。
【0038】
幾つかの実装形態では、1つ又は複数のサーチ結果の各サーチ結果は、それぞれのリソースを表し、及び提示パネルに1つ又は複数のサーチ結果を提示させることは、1つ又は複数のリソースのそれぞれの部分を提示することを含む。
【0039】
本明細書に記載されるデータ処理システムは、以下の利点を含む。ユーザのデータ要求は、ユーザに返送される応答において、最も関連するデータがデータソースにより捕捉されることを保証するように予め処理され増補される。例えば、データ処理システムは、コンテキストデータをユーザのサーチクエリに自動的に追加して、サーチクエリを強化することができる。追加されるコンテキストは、ユーザに特有であり得、したがって、データ要求に応答してユーザにより受信される結果データは、その特定のユーザにより関連する。例えば、データ処理システムは、同義語を追加し、他言語でサーチし、作成中のキュレートコレクションに関連するサーチにサーチキーワードを追加する等を行い得る。
【0040】
データ処理システムは、利用可能な全てのデータソースから個人化された結果データをユーザに提供する。ユーザは、異なるリポジトリに対してデータ要求(例えば、サーチクエリ)を繰り返す必要なく又は複数のデータソースが利用可能なことを認識する必要さえない。要求は、必要に応じて各データソースに向けてフォーマットすることができる。したがって、ユーザは、冗長であり得る、異なるデータサイロでのサーチを行わず、1つの包括的サーチを実行することができる。ユーザは、ローカルデータソース(ファイアウォール又は他のデータセキュリティレイヤの背後にあり得る)及びリモートソース(例えば、公開又は半公開リポジトリ)を同時にサーチすることができる。
【0041】
結果データは、大量のサーチ結果ではなく、高度に関連する結果のみが保存されるようにキュレートすることができる(例えば、ユーザサーチ時に自動的に、手動で又は両方で)。キュレートされた結果は、特定のコレクションに最も関連するデータが強調される(例えば、そのコレクションのサーチでの結果リストの最初に示される等)ような個人化されたランキングを有する。ユーザがリサーチを行うにつれて、ユーザプロファイルが作成され、受信する結果は、特定のユーザ及び実行中の特定のリサーチタスクに一層密接に関連する。データ処理システムは、同様のユーザ(例えば、組織内)を識別子、ユーザのデータコレクションの共有(例えば、データコレクションの統合)を提案して、トピックについての冗長リサーチを回避し、リサーチの効率を改善することができる。ユーザは、同様のユーザを認識する必要がない - データ処理システムは、同様のユーザを自動的に識別することができる。したがって、データ処理システムは、データソースからの応答データにおいて、本明細書を用いない場合にユーザに返されないことがあり得るデータの検索を可能にする。
【0042】
データ処理システムは、実行されている現在のリサーチプロジェクト及びユーザの識別情報に基づいて、結果データの最も関連する部分(例えば、スニペット)をユーザに提供する。例えば、データ処理システムは、リソース(例えば、ウェブページ)からビデオを抽出し、ビデオのみを結果としてユーザに提供することができ、ユーザが興味を持っていない結果中のデータを除去することによりユーザに送信されるデータ量を低減する。
【0043】
データ処理システムの1つ又は複数の実施形態の詳細を以下の添付図面及び説明において記載する。データ処理システムの他の特徴、目的及び利点が説明及び図面から並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0044】
図面の説明
【
図1】データ処理システムの一例のネットワーク化された計算環境を示す。
【
図4A】ユーザインターフェースとの一例の一連の動作を示す。
【
図4B】
図4Aのユーザインターフェースと対話する対応する動作の一例のプロセスを示す。
【
図5】クライアントデバイスの一例のユーザインターフェースを示す。
【
図7】
図2のデータ処理システムによる、クライアントデバイスからのデータ要求に応答する一例のプロセスを示す。
【
図8】クライアントデバイスの一例のユーザインターフェースである。
【
図9】クライアントデバイスの一例のユーザインターフェースである。
【
図10】クライアントデバイスの一例のユーザインターフェースである。
【発明を実施するための形態】
【0045】
種々の図面において、同様の参照符号は、同様の要素を示す。
【0046】
詳細な説明
データ処理システムは、データサーチ及びデータ検索を強化し、データアクセスを促進する強化されたデータストレージを提供する。データ処理システムは、ユーザが複数の異なるデータソースを同時にサーチし、ユーザに返され提示されるデータの関連度を上げられるようにするように、ユーザにより提供されたデータ要求を予め処理し、増補するように構成される。データ処理システムは、データ要求に応答して受信したデータをキュレートするに当たりユーザを支援し、キュレートされた結果を記憶する強化されたストレージをユーザに提供するように構成される。データ処理システムは、ユーザをプロファイリングして同様のユーザを識別し、ユーザが受信する結果データの関連度を上げ、応答データがどのようにキュレートされ記憶されるかを構成する。
【0047】
計算環境
図1は、データ処理システム200の一例のネットワーク化された計算環境100を示す。データ処理システム200は、データソース104とインターフェースするように構成されたデータ処理エンジン202(
図2に示される)を含む。データ処理システム200は、ユーザデバイス等のクライアントデバイス102で実行することができる。この例では、クライアントデバイス102は、データ処理システム200の論理を実行する。本明細書では、データがデータ処理システム200のユーザに送信される場合、データがユーザのクライアントデバイス102に送信されることを意味することが意図される。同様に、ユーザがデータ(例えば、データ要求)を別のデバイスに送信する場合、データ要求がユーザのクライアントデバイス102により別のデバイスに送信されていることを意味することが意図される。幾つかの実装形態では、データ処理システム200は、サーバシステム等、クライアントデバイス102からリモートのデバイスで実施される(例えば、
図1に示されるように)。ユーザは、ウェブポータル又はクライアントデバイス102上の他の手段を通してデータ処理システム200にアクセスする一方、サーバシステムは、実際には、データ処理システム200の論理を実行する。幾つかの実装形態では、データ処理システム200の論理の部分は、クライアントデバイス102により実行され、データ処理システム200の論理の別の部分は、サーバシステムにより実行される。
【0048】
プライベート、パブリック、プロフェッショナルデータリポジトリ
データ処理システム200のネットワーク化された計算環境100は、1つ又は複数のデータソース104を含む。データソース104は、ユーザにとって(例えば、ユーザのクライアントデバイス102にとって)ローカル及び/又はプライベートであるか、又はユーザにとってリモート及び/又はパブリックであるネットワーク化された計算環境における任意のデータソースを含むことができる。例えば、データソース104は、パブリック(例えば、ウェストロー、JSTOR、フォレスター等)又はプライベート(例えば、企業バージョン制御リポジトリ、シェアポイント、企業電子メールサーバ、企業クラウドストレージ等)のデータリポジトリの1つ又は複数を含むことができる。データソースは、ウェブクローラ、サーチエンジン、コンテンツパブリッシャ(例えば、ウェブサイト)、パブリック又はプライベートデータベース等を含むこともできる。
【0049】
リサーチセッション
ユーザがデータ要求(例えば、サーチクエリ)を1つ又は複数のデータソース104に送信すると、データ処理システム200は、更に詳細に後述するように、要求を分析し、コンテキストデータで要求を増補する。関連するデータ要求のグループは、本明細書ではリサーチセッション、サーチセッション、リサーチタスク等と呼ばれることもある。リサーチセッションのデータ要求は、明示的に関連する(例えば、「別段の指定がない限り、全てのサーチは、特定のデータコレクションに関連する」ことをユーザが示すことにより)か、又は黙示的に関連することができる(例えば、時間、トピック等に関連する)。例えば、閲覧セッションにおけるユーザのサーチの全て(例えば、ブラウザが開かれたときから閉じられるときまでの)は、関連するものとして識別することができる。別の例では、ユーザは、コレクションに関連するものとしてサーチを指定し得るか、又は特定のコレクションについてリサーチしている時間期間を示し得る(したがって、例えば、その時間期間中に行われたサーチは、関連するものとして識別され得る)。
【0050】
コンテキストデータは、時間の経過に伴うユーザの挙動(例えば、ユーザプロファイル)及びユーザに関連付けられた任意のデータコレクション106(例えば、ユーザによりアクセス可能であるか、又はユーザのプロファイルに関連付けられたものとしてタグ付けされる)を分析することにより生成される追加のサーチ用語、キーワード等の1つ又は複数を含むことができる。コンテキストデータは、データを要求しているユーザに特有であり得る。コンテキストデータは、ユーザにより完了されつつあるリサーチタスクに特有であり得る。
【0051】
シングルアクセス
幾つかの実装形態では、データ処理システム200は、必要に応じて、異なるデータソース104に向けてデータ要求をフォーマットすることによりユーザを支援する。例えば、異なるリポジトリは、それらのリポジトリでサーチを行うために異なるサーチシンタックス又は異なるアプリケーションプログラミングインターフェース(API)を有し得る。データ処理システム200は、ユーザが利用可能なデータソース104のそれぞれの要件に準拠するようにデータ要求をフォーマットし、それにより、ユーザは、1つのロケーションから包括的なリサーチを行い得る(例えば、特定のサーチエンジン、ウェブポータル等を使用して)。したがって、データ処理システム200は、リサーチタスクのコンテキストデータがデータ処理システム200に提供されることを所与として、データが利用可能な全てのデータソース104から検索され、検索されたデータが、現在のリサーチタスクに高度に関連することを保証することにより、ユーザによるデータ要求(例えば、サーチ)の範囲を改善する。
【0052】
データストレージ
更に、ネットワーク化された計算環境100は、ユーザによるデータ要求に応答して受信されるデータ(例えば、サーチ結果又は要求に応答して受信される任意の他のコンテンツ)を記憶するように構成されたデータストレージ106を含む。応答データの全てがデータストレージ106に記憶されるわけではなく、むしろ、データストレージ106は、データコレクション206にキュレートされたデータを記憶する。幾つかの実装形態では、データコレクション206を含むデータストレージは、データ処理システム200をホストするサーバシステム及び/又はクライアントデバイス102とは別個の計算システムである。幾つかの実装形態では、データストレージは、サーバシステム及び/又はクライアントデバイス102の一部である。幾つかの実装形態では、データストレージ106は、幾つかのネットワーク化された計算システムに分散する。幾つかの実装形態では、データストレージ106は、データ処理システム200を通してユーザがアクセス可能な1つの計算システムである。
【0053】
知識発見及び対話
データ処理システム200は、データソース104から受信した応答データをキュレートし、キュレートされたデータをデータストレージ106のデータコレクション206に記憶するように構成される。データキュレーションは、ユーザがデータ要求を送信する際に自動的に、ユーザが応答データと対話する際に手動で又は両方の組合せで行うことができる。キュレートされた応答データは、1つ又は複数のデータコレクション206として記憶される。データコレクション206は、リサーチの1つ若しくは複数のトピック等のユーザにより実行中の特定のリサーチ又はサーチセッションにユーザが指定したように関連付けられる。例えば、データコレクション206の1つ又は複数は、ユーザにより定義されたプロジェクトに関連付けることができ、データコレクション206の1つ又は複数は、所与の時間枠中の、特定のデータソース104からの、特定のクライアントデバイス102等からのユーザの全てのデータ対話を含む。このようにして、リサーチプロジェクトを構成するものの制限は、ユーザにより定義することができる。ユーザにより提供される(又はユーザ、企業等に向けてデータ処理システム200のデフォルト設定により指定される)定義内のユーザによるあらゆる活動は、分析され、データコレクション206のデータがどのようにキュレートされるかを決めるために使用される。例えば、特定のリサーチセッションでユーザが特定のデータソースからのデータを繰り返し選択する場合、そのデータソースからのデータは、その特定のリサーチセッションに関して強調することができる。この例では、ユーザは、そのデータソースからの応答データをより多く見ることができ、データ処理システム200は、他のデータソースからの応答データと比較して、データコレクション206への記録にそのデータソースからの応答データを重く重み付けされ得る。
【0054】
個人化ランキング
特定のデータソースの重み付けは、データ処理システム200及び/又はユーザによる定義されるように特定のリサーチセッションに個人化される。幾つかの実装形態では、特定のデータソースの重み付けは、複数のリサーチセッションにわたり1人のユーザに又はユーザの組(例えば、特定のデータソースを好む企業における)に向けて個人化することができる。例えば、関連するユーザ(例えば、特定の組織からの)が、通常、第2のデータソースよりも高頻度で第1のデータソースからの応答データを保存する場合、データ処理システム200は、その企業のユーザに対して、第2のデータソースからのデータよりも第1のデータソースからの応答データを重く重み付けすることができる。幾つかの実装形態では、制限されたデータソース104からのデータが応答データにおいてユーザに提供されないように、信頼できない、コストが掛かりすぎると思われるデータソース104等の特定のデータソースに対して制限を実施することができる。
【0055】
アクセス制御
データコレクション206にキュレートされたデータは、データ処理システム200の他の認可ユーザに提供することができる。他のユーザは、データコレクションが複数の認可ユーザの挙動に基づいてキュレートされるように、データコレクション206を見る/データコレクション206に追加する明示的な許可を有し得る。
【0056】
ユーザプロファイル
データ処理システム200の各ユーザは、ユーザに関連付けられたユーザプロファイルを作成することができる。ユーザプロファイルは、ユーザについてのデータを含む。ユーザプロファイルは、ユーザにより明示的に提供される両方のデータ(例えば、明示的なフィードバック、フォームへの答え等)を含む。ユーザプロファイルは、ユーザ活動のモニタリングに応答して、時間の経過に伴って黙示的に特定されるユーザの好み等のユーザについて学習されたデータを含む。ユーザプロファイルは、何れのデータコレクション206がユーザからアクセス可能であり、各データコレクションに関するそのユーザの特定の好みを示すメタデータを記憶することを指定する。幾つかの実装形態では、ユーザプロファイルは、ユーザプロファイルに関連付けられた各データコレクションへの異なる好みを示すことができる(例えば、ローカル嗜好)。幾つかの実装形態では、ユーザプロファイルは、ユーザにより完了された全てのリサーチタスクにとってグローバルな好みを示すことができる。ユーザがより多くのデータ要求を実行するにつれて、プロファイルは、そのリサーチタスクに関して(且つ該当する場合にはグローバルに)更に発達する。ユーザの好みが浮上すると(例えば、ユーザは、特定のリポジトリからの応答データを好み得る)、データ処理システム200は、何れの応答データがユーザに提示されるか及び/又は応答データがユーザにどのように提示されるかを調整する。例えば、データ処理システム200は、ある応答データを他の応答データよりも重く重み付けし、サーチ結果ページでその応答データをより高くより大きいフォントで示し、その応答データのより大きい部分を示し(例えば、ウェブページ又は記事のより大きい部分を提示し)、その応答データの特定の部分を提示する(例えば、テキストではなく画像を示す)ことができる等である。データ処理システム200は、発展しつつあるユーザプロファイルに従って応答データを自動的にキュレートすることができる。
【0057】
コネクタ
ユーザプロファイルは、データソースにアクセスするのに使用することができる任意のデータを更に含むことができる。例えば、ユーザプロファイルは、ユーザが結果データを閲覧している間、受動的に又はデータ要求の受信に応答してアクセスされるデータソースのレジストリを含むことができる。データ処理エンジン202は、追加のプロンプトがユーザに提示されることなくデータソースにアクセスすることができるように、登録されたデータソースのそれぞれに関連付けられた証明書データを記憶することができる。レジストリは、該当する場合、各データソースのAPIを記述するデータを含むこともできる。データ処理エンジン202は、記憶されたデータを使用して、各データソースのAPIに適切なシンタックスにデータ要求を翻訳することができる。
【0058】
知識コラボレーション
データ処理システム200は、同様のリサーチセッションを実行している同様のユーザを識別し得る。幾つかの実装形態では、データ処理システム200は、複数のユーザが各ユーザのデータコレクション206を1つのコレクションに結合し、データコレクション206のキュレートで一緒に作業することを示唆し得る。この場合、ユーザは、同様のリサーチタスクで作業している異なる複数のユーザであり得、データコレクション206の結合は、冗長リサーチ労力を低減することができる。幾つかの実装形態では、ユーザは、両方とも共通の組織(例えば、プライベート組織)からのものであり得、1つのコレクションは、機密情報を含むことができる。
【0059】
実施形態例:開発前
データ処理システム200の実際例について説明する。この例は、例示を目的とした特定の1つの実施形態であり、態様について以下に詳細に更に説明する。この実施形態例は、部分的に又は全体的に、本開示全体を通して説明される他の特徴と任意の組合せで組み合わせることができる。実施形態では、組織(例えば、企業)は、トピックの組からなる分類基準をデータ処理システム200に提供する。各トピックは、分類基準にシードするために使用される1つ又は複数の関連付けられた例を有する。データ処理システム200を種々のアプリケーション(例えば、クエリ及び応答)について個々のユーザ(例えば従業員)に提供する前に、データ処理システムは、各トピックの例を処理するように構成される。データ処理システム200は、各トピックの例を使用して、各トピックの各分類モデルを作成する。一例では、分類モデルは、DL4J又は他のディープニューラルネットワーク(DNN)等のそのようなDNNを使用して構築することができる。一例では、分類モデルは、各トピックについての優先語(PT)及び非優先語(NPT)の組を含む。一例では、優先語は、「ブロックチェーン」であり得る一方、非優先語は、「分散台帳」であり得る。
【0060】
データ処理システムは、ソース104の組を用いて上述したシングルアクセスサーチブローカーを統合する。上述したように、ソース104は、Google News、SQLデータベース、サーチエンジン等の問い合わせることができるリソースを含む。一般に、ソース104は、企業によりライセンス取得又は運営され、企業が購入したコンテンツへのサブスクリプションを提供する等である。ソース104は、決して互いに関連する必要はない。
【0061】
この例を続けると、ユーザによる使用に向けてデータ処理システム200を展開する前に、データ処理システム200は、定義された各トピックの最も一般的な優先語のサンプリングを使用して各データソース104に問い合わせるように構成される。一例では、問い合わせは、「AND」、及び/又は「OR」、及び/又はフレーズサーチを使用して、異なる結果を生成する同じクエリ等の複数の並列クエリであり得る。データ処理システム200は、(a)各クエリの結果数、(b)最新文書の年齢、及び(c)各クエリから返されたトップ文書の分類適合を収集する。データ処理システム200は、返された結果の数を使用して、所与のソースが所与のトピックについてどの程度関連するかを特定する。例えば、トピックモデルへの返された文書のコサイン類似度等の類似度関数を使用することができる。類似度関数は、鮮度ブースト又はペナルティ等の追加の重みを含むことができる。
【0062】
データ処理システム200は、トピック及び関連付けられたデータソース104のマップを生成する。データ処理システム200は、ベクトル空間及び/又はグラフ手法を使用してマップを生成することができる。幾つかの実装形態では、マップは、データソース104を各行に有し、トピックを列に有するテーブルである。この例では、任意のソースとトピックとが交わるセルに0~1の値等の正規化レーティングがあり、ここで、0は、トピックについての知識/データがないソースを示し、1は、そのトピックに優れていることを示す。幾つかの実装形態では、レーティングは、より粒度の細かい手法を使用してモデリングすることができ、1~5等の値を含むことができる。
【0063】
実施形態例:展開中
データ処理システム200は、続けて更に詳細に説明するように、データストレージ106に含まれる所与のデータリソースについてトピックを推奨するように構成される。この例を続けると、従業員(又は他のユーザ)は、リソース(例えば、文書)を収集し、文書についてのトピックを即座に選択しない。データ処理システム200は、全てのトピックについて生成されたマップ(例えば、モデル)と突き合わせてリソースを分類する。データ処理システム200は、各トピックについての類似度スコアのリストを生成する。この例では、任意のスコアが最小分類信頼閾値を超える場合、データ処理システム200は、それらのトピックの1つにそのリソースを配置することを推奨する。一例では、文書は、信頼スコア(0.91)を有するトピック番号3を推奨し得る。
【0064】
データ処理システム200は、続けて更に詳細に説明するように、所与のリソースにタグを推奨するように構成される。この例では、1つのトピックのみが推奨又は選択される場合、リソースの最上位合致の優先語又は非優先語がリソースのタグとして推奨される。例えば、文書#3の場合、データ処理システム200は、トピック#3に非優先語#7(スコア0.92を有する)を推奨する。
【0065】
データ処理システム200は、続けて説明するように、ユーザ収集情報を使用してトピックモデル有効性を改善するように構成される。この例では、従業員は、文書を収集し、トピック#3に配置する。データ処理システム200は、この配置を使用して、そのトピックに関連付けられたモデルを改良する。
【0066】
この例を続けると、データ処理システム200は、更に後述するように、サーチ機能を通して収集された情報を共有するように構成される。この例では、従業員#1は、トピック#3に文書D1、D2及びD3を収集した。データ処理システム200は、参照としてトピック#1及び従業員#1の両方下でD1、D2及びD3に含まれる全ての情報を索引付ける。ここで、D1、D2及びD3は、全ての従業員にとって可視である。この例では、従業員#2は、データ処理システム200を使用してクエリを発行する。クエリがD1、D2又はD3に合致する場合、データ処理システム200は、それらを結果セットにおいて返す。
【0067】
データ処理システム200は、続けて以下に更に詳細に説明するように、トピック合致により収集された情報を共有するように構成される。この例を続けると、従業員#2は、データ処理システム200を使用して第3のトピックについての第2のクエリを発行する。しかしながら、第2のクエリは、D1、D2又はD3に直接合致しない。データ処理システム200は、全てのトピックの全てのモデルと突き合わせて第2のクエリを分類する。これは、この場合、トピック#3(0.091)等の1つ又は複数のトピックと突き合わせた合致をもたらす。D1、D2及びD3は、トピック#3にリンクされている(先に述べたように)ため、データ処理システムは、第2のクエリに対する結果セットにおいてそれらを返す。
【0068】
この実施形態を続けると、データ処理システム200は、続けて説明するように、ユーザクエリに対して最良のデータソースを選択するように構成される。例えば、従業員#2は、データ処理システム200を使用して第3のクエリを発行する。データ処理システムは、上述したように、コレクション206と突き合わせて第3のクエリを解決する。データ処理システム200は、何れのデータソース104が第3のクエリに関連するかも特定する。これには、データ処理システム200がまず、1つ又は複数のトピックの分類信頼閾値を超える合致を取得する必要がある。これは、トピックマップ中の各ソースを調べることにより行われる。データ処理システム200は、全てのトピックの全てのモデルと突き合わせて第3のクエリを分類する。これにより、1つ又は複数のトピック(例えば、トピック#3(0.091)と突き合わせた合致がもたらされる場合、ソースマッピングは、以下のように使用される:有価値ソース閾値VST(恐らく0.8)を超えるソースがまずランクされ、最小ソース閾値MST(恐らく0.5)を超えるソースが次にランクされる。トピックと突き合わせた合致が見つからない場合、全てのソースが関連すると仮定される。
【0069】
実施形態例:展開の改良
この実施形態を続けると、各推奨について、データ処理システム200は、従業員#1及び#2等のユーザがフィードバックを提供できるようにするメカニズムを提供する。フィードバックは、二進数0/1又は1~5等の範囲であり得る。データ処理システム200は、機械学習を使用して、以下のようにこれらのフィードバックを使用して推奨を定期的に改善することができる:肯定的な各評価について、肯定ベースライントピックモデル(BT+N)と呼ばれるそのトピックのモデルに例が追加される。否定的な各評価について、データ処理システム200は、あらゆる否定的な例を追加する前に例をベースライントピックモデル(BT)と比較する。ベースライントピックモデルにおいて優先語ではない又は非優先語ではない例に固有の用語は、否定的特徴として新しく提案されるモデルである否定的ベースライントピックモデル(BT-N)に追加される。この例では、BT-N及びBT+Nは、データ処理システム200によりテストされて、新しい例を所与として両方ともBTよりも良好であることを保証する。両方ともBTよりも良好である場合、BT-N及びBT+Nは、BTNに統合され、BTNがBTよりも優れる場合、BTNに取って代わる。BTNがBTよりも優れない場合、人間エディタが派遣されて問題を分析し、データ処理システムに変更は、供給されない。これらの改善は、増補サーチ機能(後述)並びに生の精度及びリコールに関してデータ処理システム200の最良ソースアプリケーションの選択の両方に流れる。
【0070】
この実施形態を続けると、データ処理システム200は、以下に更に後述するように他の自己改善特徴を含むことができる。例えば、自己認識文書サービスを含めることができる。このサービスは、作成され既存のコレクション104を用いてトレーニングされると、開始、停止又はスケジュールされることなく、システムに含まれるトピック、項目及びユーザについての収集、エンリッチメント、共有及びコラボレーションを行うことにより全てのユーザに役立つように構成することができる。このサービスは、最終的に、オープンスタンダードを使用してシステムにおける接続を拡大するように構成される。
【0071】
この実施形態例では、サービスは、ユーザによりキュレートされた記事をそれぞれ有する予め存在するトピックコレクションによりインスタンス化される。任意選択的に、ユーザに、各ユーザに識別されたトピックを有するリストを与えることができる。サービスは、本明細書全体を通して記載されるデータ処理システム200のアプリケーション、記事本文検出、トピック分類、要約化等によりインスタンス化される。サービスは、サーチエンジン、メッセージングインターフェース、メッセージング及びパブリッシングシステム等の特定の外部サービスによりインスタンス化される。サービスは、タイプXは常に要約を見、タイプYは、常に写真及び見出しを取得する等のユーザ及びユーザの役割についてのルールによりインスタンス化される。
【0072】
この例では、サービスは、以下のように、所与のコレクションの拡大及び分散を追求するルーチンを支配する長期実行人工知能(AI)により駆動される:まず、ルーチンは、コレクションを適応的に全ての認可ユーザに表示するように構成される。ユーザは、ユーザが誰であるか及びデータ、サービスがそれらのユーザ又は役割について何を含むかに応じて、異なるコンテンツを異なるフォーマットで見得る。継続的に、ルーチンは、各トピックの新しいコンテンツを集める(例えば、「ユーザクエリに対して最良のソースを選択」と呼ばれるセクションで上述したように)。ルーチンは、ユーザが作成した新しいトピックを集め、それらのトピックに関連付けられるか、又は関心を持つユーザにデータを配信するように構成することもできる。この例では、ルーチンは、ユーザが記事についてコメントすることを求める。この例では、ルーチンは、コメントが掲示中であることを他のユーザに通知する。この例では、ルーチンは、トピックに関連付けられた上位、下位又はランダムなユーザにコメントするように求める。この例では、ルーチンは、トピックページに掲示するか、又はトレーニング例若しくは新たに集められた記事で見つけられた等のために新しいユーザを識別し、新しいユーザにコミュニティに参加するように求める。例えば、サービスは、招待状を新しいユーザに電子メール送信することができる - 恐らくルールテスト後、例えば許容可能若しくは非許容可能ドメインのリスト又はヒューマンクリアランスが得られた後。
【0073】
この例を続けると、ルーチンは、特に、要約又は概要のみを提供する有料ソースである場合、同じソースからの幾つかの記事がキュレートされるとき、新しいソースを識別する。ルーチンは、それ自体の管理スタッフにそのソースを追加し、販売/ライセンシングページのURLを提供する電子メールを送信することができる。ルーチンは、収集されたコンテンツの中からRSSフィード(又は他のソース)を発見し、オープンパブリッシングスタンダードをサポートする場合、それらに接続するか、又はRSSリンクを有する人間構築テンプレートであるコンテンツ提出電子メールを送信し、ルーチンの管理スタッフに電子メール送信し、及び/又は他の全てに失敗した場合、統合を要求することにより、新しいパブリッシングルートを識別することができる。ルーチンは、必要に応じて、恐らく予め定義されたルールの組により支配されるサービス計算及び記憶容量を自動的にスケーリングする。
【0074】
この例を続けると、ルーチンは、全ての新しいコンテンツ、ユーザ活動及びフィードバックを集計するように構成することができる。ルーチンは、機械学習を使用して、何れのユーザがコメント要求に応答するか及びルーチンが新たに出現したイベントをいつ検出するかを予測することによりエンゲージメントを改善し、サブトピック及び/又は関連トピックを推測、ユーザを用いたサンプリングによりテストし、時間の経過に伴って仮説を「証明済み」、「誤り」、「不確か」に分類する。ルーチンは、上述したように、ユーザフィードバックに基づいて上記の全てを改善する。
【0075】
増補サーチ
幾つかの実装形態では、新しいトピック及びユーザによりそのトピックに収集された3つの新しい文書例を所与として、データ処理システム200は、サーチ増補機能を提供するように構成することができる。例えば、データ処理システム200は、3つの文書から分類モデルを作成するように構成される。このモデルがあるトピックの既存のモデルと少なくとも同様である(例えば、有価値ソース閾値により判断される)場合、システムは、代わりにそのモデルを使用するように構成される。このモデルがあるトピックの既存のモデルと少なくとも同様ではない(例えば、有価値ソース閾値により判断される)場合、データ処理システム200は、上述した技法を使用して、トピックモデルのトップソースを識別する(VSTを介して)。この例では、データ処理システム200は、モデルに優先語を使用して各トップソースに問い合わせるように構成される(VSTを介して)。データ処理システム200は、上位N個の「最も関連する」用語及び上位N個の「最新情報」リソースを収集するように構成される。データ処理システム200は、結果を重複排除し、モデルと突き合わせて各文書の第1のセクションを分類し、少なくとも最小ソース閾値を有すると分類されないものを除去し、以下:リソース又は文書のタイトルにおける優先語、リソース又は文書のタイトルにおける非優先語、他の全てのリソース等に基づいて文書をランク付けしコレクションに追加するように構成される。
【0076】
データ処理システム
図2を参照すると、データ処理システム200の一例が示されている。示されるデータ処理システム200は、データ処理システム200の論理を実行するように構成されたデータ処理エンジン202を含む。データ処理エンジン202は、データストレージ106、クライアントデバイス102及び第三者サービス218と通信するように構成される。
図2はスタンドアロンエンジンとしてデータ処理エンジン202を示すが、データ処理エンジンは、クライアントデバイス102の別のアプリケーションの一部であり得るか、又はクライアントデバイス102のスタンドアロンアプリケーションであり得る。幾つかの実装形態では、データ処理システム200の各部分は、サーバシステム等の1つの計算システムでホストされるように構成される。幾つかの実装形態では、データ処理システム200は、分散計算システムのネットワークによりホストされるように構成される。例えば、データ処理エンジン202は、クライアントデバイス102でホストすることができる一方、データストレージ106は、サーバシステム(図示せず)でホストすることができる。幾つかの実装形態では、データ処理エンジン202は、例えば、ウェブポータル、ローカルにホストされるアプリケーション等を通してクライアントデバイス102から受信されるコマンドに応答して、サーバシステムにより実行される。
【0077】
データ処理エンジン202は、推奨エンジン204、プロファイルエンジン207、要約エンジン208、テキスト分析エンジン210、結果コンパイラ212及びトレンド分析エンジン214を含む。これらの各構成要素は、データ処理システム200の機能を実行するために、互いの1つ又は複数とデータを送受信するように構成される。例えば、データ処理エンジン202は、クロスリンガルサーチ及び推奨を実行し、コンテキスト化サーチを構成し(データストレージ106のようなローカルシステム又は1つ若しくは複数のデータソース104)、データコレクション206を構成し、追加のリソースを発見し、他のユーザ及びユーザプロファイルを発見し、ネットワーク化された計算環境100におけるユーザ行動をモニタして、ユーザプロファイルを作成するように構成される。データ処理エンジン202は、サブエンジン及び計算モジュールに分割されて示されているが、データ処理エンジン202のサブエンジン及びモジュールは、1つの論理プログラムとして機能することができる。
【0078】
推奨エンジン204は、他のデータコレクションからの結果データが現在のリサーチセッションに関連する場合、他のデータコレクション206からの結果データもユーザのデータコレクションに推奨する。
【0079】
データ処理エンジン202は、クライアントデバイス102からデータ要求を受信し、1つ又は複数のデータソース104から応答データを検索し、クライアントデバイス102のユーザによる閲覧のために、応答データをクライアントデバイス102に送信するように構成される。データ処理エンジン202は、ユーザ活動をモニタして、ユーザプロファイルを構築し、それと平行して、ユーザサーチを増補し、ユーザ活動により示されるユーザへの関連度がより大きい結果を含むようにクライアントデバイス102に返送される応答データを強化するようにも構成される。
【0080】
対話及び実行コンテキスト
データ処理エンジン202は、リサーチセッション中、ユーザ活動をモニタするように構成される。例えば、データ処理エンジン202は、サーチで使用されるキーワード(例えば、単語、用語、句等)をモニタするように構成される。データ処理エンジン202は、クライアントデバイス102のユーザにより入力されたキーワードの用語集を構築し、それらのキーワードを関連する用語で増補することができる。関連する用語は、同義語であり得るが、キーワードの1つ又は複数と同様の対象分野にある用語であり得る。例えば、ユーザが、車に関連する1つのブランド名(又は幾つかのブランド名)を入力する場合、データ処理エンジン202は、車の部品、車の企業、車の製造及びモデル等に関連する追加のキーワードでサーチを増補し得る。ユーザがリサーチセッションを続けるにつれて、増補は、定期的に(例えば、連続して、指定された時間間隔で、ユーザ行動に応答して等)、そのリサーチセッション(したがって関連するデータコレクション206)の用語集を更新する。サーチ増補の一部分は、後述するように、テキスト分析エンジン210により実行することができる。
【0081】
データ処理エンジン202は、対話コンテキストデータ250(本明細書ではときに一般に対話データ250と呼ばれる)を受信することができる。対話コンテキストデータ250は、ユーザに提示された(例えば、ユーザインターフェースにおいて)データとのユーザ対話を表すデータを含む。例えば、対話データ250は、結果データの提示に応答して、何れの結果データがクライアントデバイス102のユーザと対話及び/又はユーザにより選択されたかを示すことができる。対話コンテキストデータ250は、ユーザに提示されたデータに応答して、入力デバイス(例えば、マウスカーソル、タッチスクリーン等)がユーザによりどのように操作されたかを含むこともできる。対話データ250は、ユーザが対話したコンテンツについてのデータを含むことができる。例えば、対話データ250は、結果データから選択されたリンク、結果データの結果のランク付きリストにおけるリンクの位置、選択されたコンテンツのデータタイプ等を指定することができる。他の例には、クライアントデバイス102のユーザが応答データにおける結果をブックマークした、ビデオ(又はその部分、何れの部分等)を見たこと、画像を見たこと、コンテンツをダウンロードしたこと、アプレット又は他の実行可能コードを実行したこと、一連の結果にナビゲートされたこと(例えば、特定のサーチ結果を見ることの状況がどのようなものであったか)、通常、ウェブページ上のソース又は位置に対応する特定の順に結果をチェックすること、ユーザが結果又は一連の結果を見た時間長、ユーザが第1の結果に含まれたリンクから第2の結果にナビゲートするか否か等を示すことがある。
【0082】
図2では、対話データ250は、データ処理エンジン202に送信され、少なくとも推奨エンジン204により受信される。例えば、ユーザが、通常、リサーチセッション中に特定のタイプの結果データ(例えば、ビデオデータ)をクリックする場合、データ処理エンジン202は、ユーザのリサーチセッションでビデオ結果をより重く重み付けすることができる。別の例では、ユーザが、通常、特定の単語又は句(又は言語分析につき関連する単語又は句のグループ)を含む結果データを選択する場合、データ処理エンジン202は、他の結果データよりもそれらの単語又は句(又は関連する単語)を含む結果を重く重み付けすることができる。
【0083】
別の例では、ユーザが、比較的長い時間期間にわたり(例えば、閾値時間量よりも長い)結果データ中の特定の結果(例えば、本明細書ではリソースと呼ばれることがある)に留まる場合、データ処理エンジン202は、将来、そのサーチ結果に関連する結果をより重く重み付けすることができる。例えば、特定の結果と同じソースからの結果、特定の結果と同様のキーワードを含む結果及び/又は特定の結果と同じタイプの結果は、それぞれリサーチセッション中、ユーザによる将来のサーチにおいてより重く重み付けされ得る。これらの結果が対応するデータコレクション206にキュレートされる(例えば、手動で又は自動的に)場合、それらの結果は、ユーザがデータコレクション206を見るとき、より顕著に現れるように、データコレクション206中の他のキュレートされた結果よりも高くランク付けすることができる。
【0084】
リサーチセッション中、ユーザの活動をモニタするために、他のデータもデータ処理エンジン202により受信することができる。例えば、データ処理エンジン202は、ユーザの対話(例えば、対話データ250において表される対話)の環境を表す実行コンテキストデータ252を受信するように構成される。例えば、実行コンテキストデータ252は、コンテンツがユーザにより対話されるハードウェア及び/又はソフトウェア環境を記述するデータを含むことができる。例えば、実行コンテキストデータ252は、クライアントデバイス及び/又はサーバシステムのオペレーティングシステムの識別情報、ネットワークコンテンツにアクセスするのに使用されているブラウザの識別情報、クライアントデバイスの物理的場所についての詳細、クライアントデバイスの向き(例えば、タブレット、モバイルデバイス等で横向きモード又は縦向きモードでビデオを見ている)、クライアントデバイスのタイプ(例えば、タブレット、ラップトップ、携帯電話、ウェアラブル等)、クライアントデバイスのディスプレイ設定(例えば、輝度、音量、コントラスト等)等を含むことができる。実行コンテキストデータ252は、日時、表示言語設定等の対話についての他の情報を記述するデータを含むこともできる。
【0085】
コンテンツベースのサーチ
データ処理エンジン202により受信された対話データ250は、1つ又は複数のデータソース104(例えば、第三者サービス218からの)から追加データ要求を生成するために、少なくとも推奨エンジン204に送信される。追加のデータは、データソース104及びデータストレージ106から利用可能な任意のリソースを含むことができる。追加のデータは、対話データ250の複数のメトリックに基づいて対話データ250を追加のデータに関連付ける重み付けシステムに基づいて選択することができる。複数のメトリックは、対話データ250において識別された1つ又は複数のリソースの1つ又は部分(例えば、上述したようにユーザが対話した結果データの)を抽出することにより、データ処理エンジン202により識別される。対話データ250において識別されたリソースの1つ又は複数の部分は、結果データのリソースからのコンテンツの部分及び/又はリソースに関連付けられたメタデータを含むことができる。
【0086】
抽出データはパースされて、結果データに関連する追加のデータ(例えば、追加のリソース)にリソースを関連付けるために使用することができる抽出データの1つ又は複数のメトリックを識別する。リソースと追加のデータへの関係は、後述するように各メトリックに重みの組を作成することにより、時間の経過に伴って特定することができる(例えば、機械学習プロセスを使用して)。幾つかの実装形態では、1つ又は複数のメトリックは、特に、抽出データのデータタイプ、抽出データのデータソース、抽出データで表される1つ又は複数のトピック、抽出データで表される言語タイプ及び抽出データにおける追加のリソースへの1つ又は複数のリンクを含むことができる。
【0087】
個人化された推奨
応答データのリソース/結果に関してユーザによりとられた各行動又は行動の組合せについて、データ処理エンジン202はそのリソースに関連付けられた重み付けを調整することができる。幾つかの実装形態では、重みは、結果が、ユーザのリサーチセッションに対応するデータコレクション206に自動的に追加されるか否かの判断に使用することができる。例えば、重みは、ユーザがリソースと対話するにつれて徐々に増大することができ、重み値が閾値を超えるとき、リソースは、データコレクション206に追加することができる。そのような重み方式では、閾値は、プロファイルが発展するにつれて、結果が時間の経過に伴って追加及びコレクションから削除され、データコレクション206に最も関連する結果のみを保持するように動的であり得る。
【0088】
例えば、閾値は、項目の特定の割合がデータコレクション206に保持されるように変更され得る。新しい結果がデータコレクション206における既存の結果よりも関連するとき、新しい結果を追加することができ、古い関連度のより低い結果を削除することができる。例えば、時間の経過に伴ってアクセスされてこなかったデータコレクション206中の結果は、データ処理エンジン202により徐々に軽く重み付けすることができ、最終的にデータコレクション206から除去することができる。幾つかの実装形態では、データコレクション206に追加された結果は、ユーザがその結果をコレクションから肯定的に除去する(又はデータコレクションを全体的に削除する)まで含まれる。後述するように、幾つかの実装形態では、データコレクション206中の結果は、重み値に基づいて特定の順に提示することができる(例えば、重みが大きい結果ほど高くランク付けられ、閲覧時、コレクションのトップのより近くに出現する)。
【0089】
幾つかの実装形態では、閾値は、静的である。結果に関連付けられた重み値が閾値を超えるとき、結果は、データコレクション206に自動的に追加される。項目は、ユーザが項目を手動で除去するまでデータコレクションに残る。幾つかの実装形態では、データコレクション206は、特定のサイズ(例えば、データ記憶容量のサイズ及び/又はデータストレージ106に記憶される結果の数)に制限することができる。制限に達したとき、結果は、関連付けられた重み値に基づいて除去/置換することができる。
【0090】
幾つかの実装形態では、結果に割り当てられる重み値は、ユーザによる結果との対話のタイプに基づく。例えば、ユーザがビデオの一部分を見る場合、ビデオは重み値への増大を受け取ることができる。ユーザがビデオ全体を見る場合、ビデオは、ビデオのユーザ閲覧に関連する最大重みを受け取ることができ、重み値が閾値を超える場合、ビデオは、データコレクション206に追加される。この例では、ビデオ長の10%が閲覧されたビデオは、追加されず、長さの75%超が閲覧されたビデオは、データコレクション206に追加される。幾つかの実装形態では、閲覧されるビデオの部分は、セグメント化され、データコレクション206に追加され、ビデオは、ユーザが見始めた場所のタイムスタンプで開始するようにタグ付けされ得るか、又はデータコレクション206に記憶されるとき、何らかの他の変更をビデオに行うことができる。
【0091】
推奨エンジン204は、結果データに含まれる追加の結果を推奨する論理を含む。推奨エンジン204は、結果を推奨するために、関連項目データ256(上述した重み付けシステムにより何れの結果が関連するかを含む)、フレーズデータ264(キーワード及びフレーズ並びに関連付けられた重み値を示す)、トピックデータ262(キーワードの主題及び/又はグループ及びそれらに関連付けられた重み値を示す)及びプロファイルデータ266(プロファイルエンジン207により生成されるデータを含む)を使用することができる。
【0092】
ユーザ発見
推奨エンジン204は、クライアントデバイス102のユーザと同様のリサーチを行っている可能性がある他のユーザを推奨することもできる。推奨エンジン204は、同様のユーザ(例えば、組織内)のリストを含む関連ユーザデータ258を生成することができ、それにより、クライアントデバイス102のユーザは、コラボレーション又は何らかの他の目的で他のユーザに働きかけることができる。
【0093】
推奨エンジン204は、第三者サービス218と通信することができる。第三者サービス218は、サーチクエリに応答して結果データを提供する任意の第三者のリポジトリ、リサーチ組織、ウェブサイト、出版社等を含むことができる。推奨エンジン204は、第三者API228とインターフェースとして、第三者サービスから結果データを受信するように適宜フォーマットされたコマンドを第三者サービス218に送信することができる。例えば、第三者APIは、第三者サービス218のシステムでのサーチに求められる特定のクエリフォーマットを指定し得る。例えば、第三者サービス218は、サーチクエリのフォーマットに使用されるサーチAPI230を含むことができる。
【0094】
プロファイルエンジン207は、ユーザが結果コンパイラ212により提供された結果データと対話するにつれて、プロファイルデータ266を用いてユーザプロファイル(例えば、ユーザプロファイルデータ240)を更新するように構成される。プロファイルエンジン207は、増補されたサーチクエリが推奨エンジン204により生成されているとき、プロファイルデータ266を推奨エンジン204に提供することができる。例えば、上述したように、プロファイルエンジン207は、ユーザ活動を示すデータを受信し、何れの結果が他の結果よりもデータコレクション206への使用に関連するかを判断することができる。幾つかの実装形態では、別個のエンジン(例えば、バイオグラファーエンジン、図示せず)がユーザ活動を示すデータを受信し、データをプロファイルエンジン207に報告することができる。プロファイルエンジン207は、クライアントデバイス102から、結果とのユーザ対話を記述するデータ(本明細書では対話コンテキストデータ250と呼ばれる)を受信することができる。幾つかの実装形態では、プロファイルエンジン207は、ユーザプロファイルデータ240を構築するために、クライアントデバイス102からも対話データ250を受信する。幾つかの実装形態では、データ処理エンジン202の他の構成要素も対話データ250を受信し得る。プロファイルエンジン207は、ユーザプロファイルを管理し、ユーザプロファイルから推奨エンジン204にデータを送信して、増補された結果データをユーザに提供するに当たり推奨エンジンを支援することができる。
【0095】
テキストの要約及び分析
要約エンジン208は、テキスト分析エンジン210から受信したデータを要約するように構成される。
【0096】
テキスト分析エンジン210は、言語検出器220、言語翻訳器222及び1つ又は複数の言語モデル224を含む。テキスト分析エンジンは、互いに関連するキーワード、フレーズ等の組を特定するように構成される。例えば、キーワードは、主題により(例えば、トピックにより)、同義語として、反意語として、共通の結果又はリソースの一環等として関連することができる。例えば、テキスト分析エンジン210は、2つの特定の単語の出現が文書又は他のリソースにおいて相関することを突き止め、それらの2つの単語が関連するモデルを作成することができる。例えば、テキスト分析エンジン210は、単語「車」及び「Ford(登録商標)」が頻繁に一緒に出現することを突き止め得、したがって単語「車」に単語「Ford(登録商標)」を関連付け得る。
【0097】
クロスリンガルサーチ
言語検出器220は、ユーザが何れの言語を好むかを突き止めるように構成され、クライアントデバイス102のユーザにより使用されている1次言語以外の言語である、結果への増補されたサーチを開始し得る。
【0098】
言語翻訳器222は、データ要求(例えば、サーチクエリ)を1つ又は複数の追加の言語に翻訳するように構成される。更に、言語翻訳器222は、結果データをユーザ(又は結果データが記憶されるデータコレクション206を共有している他のユーザ)が好む言語に翻訳するように構成される。言語翻訳器は、サーチを実行し、データソース104からデータを検索するのに使用することができる。
【0099】
言語モデル
言語モデル224は、結果データのサーチ及び検索に使用されている言語の1つ又は複数のモデルを含む。言語モデル224は、ある言語での単語の互いとの関連付けを含むことができる。言語モデル224は、それぞれの言語のシンタックスルールを含むことができる。言語モデル224は、データ処理エンジン202がデータ要求をパースして、要求において指定された単語を単に含む結果ではなく、要求の意味を反映した結果データを返せるようにすることができる。
【0100】
結果コンパイラ
結果コンパイラ212は、クライアントデバイス102がアクセス可能なフォーマットに結果データをパッケージするように構成される。例えば、結果データは、クライアントデバイス102のハードウェア要件、クライアントデバイス102のソフトウェア要件(例えば、クライアントデバイス102がデータの送受信に何れの種類のブラウザ又はアプリケーションを使用しているか)、ネットワーク要件等に基づいてフォーマットすることができる。例えば、結果コンパイラ212は、クライアントデバイス102により受信され開かれるダウンロード可能なパッケージに結果データを編纂することができる。
【0101】
データストレージ
データストレージ106は、組織言語モデル232、一般言語モデル234、ドメイン言語モデル236、言語モデルデータ244、項目プロファイルデータ238、ユーザプロファイルデータ240、キャッシュ242、プロファイルデータ246及び推奨エンジンキャッシュ248を含む。データストレージ106は、各ユーザプロファイルのデータコレクション206を記憶する。
【0102】
組織言語モデル232は、組織(例えば、企業)に特定の言語モデルを含む。例えば、異なる単語は、その単語が一般に使用される企業の状況に基づいて異なる意味を有し得る。組織は、企業自体の単語及びデータ処理システム200において組織のメンバにより使用される用語間の関係を定義することができる。
【0103】
一般言語モデル234は、データ処理エンジン202の言語モデル224への相手方言語モデルを含む。一般言語モデル234は、データコレクション206の1人又は複数のユーザによる使用に基づいてキーワード及び用語を重み付けるドメイン言語モデル236の土台を形成することができる。例えば、ドメイン言語モデル236は、データコレクション206に特定のキーワード、フレーズ等間の関係を含む。ドメイン言語モデル236は、リサーチセッションが成熟するにつれて、時間の経過に伴って開発される。
【0104】
項目プロファイルデータ238は、データコレクション206に記憶される1つ又は複数の項目(例えば、結果)についてのデータを含む。項目プロファイルデータ238は、データコレクション206にキュレートされた異なる結果の重み値を含むことができる。項目プロファイルデータ238は、結果自体(又は結果のそれぞれの部分)のデータを含むことができる。
【0105】
ユーザプロファイルデータ240は、ユーザ対話から集められたデータ(例えば、対話データ250及び実行コンテキストデータ252)を含む。ユーザプロファイルデータ240は、上述したように、データコレクション206中の1つ又は複数の結果の重み値を生成するのに使用される。
【0106】
キャッシュ242及び推奨エンジンキャッシュ248は、それぞれ重み付けられているか、又は他の方法でデータ処理エンジン202により処理されている項目(例えば、結果)の記憶を提供する。例えば、ビデオスニペットが生成されている場合、ビデオは、クライアントデバイス102を通してユーザに提示されるように改変される前又はデータコレクション206に記憶される前、キャッシュ242に記憶することができる。
【0107】
知識トレンド
トレンド分析エンジン214は、ユーザ又は同様のユーザによる活動のトレンドを識別するか、結果データを重み付けするか、又は追加の結果データを示唆するように構成される。トレンド分析エンジン214は、多くのデータコレクション206にわたる多くのユーザによるリサーチでのギャップを識別し、そのギャップを埋める結果データを示唆することができる。ギャップは、先のデータ要求(例えば、先のサーチクエリ)、言語モデル及び他のデータを分析して、高度に関連するサーチ用語が省かれていたか否か、又は関連する可能性があるデータの部分がユーザにより無視又は見過ごされたか否かを判断することにより識別することができる。
【0108】
図3を参照すると、データ処理システム200の一例のアプリケーション300が示されている。ユーザ(例えば、クライアントデバイス102)は、1つ又は複数のアプリケーション302と対話する。アプリケーション302は、インターフェース308を含み、インターフェース308は、ブラウザプラグイン、ブラウザアプリケーション、ウェブポータル、モバイルアプリケーション、デスクトップアプリケーション又は他のユーザインターフェースの一部であり得る。アプリケーション302は、パブリッシングアプリケーション310の発見及び企業312の発見を含むことができ、これらは、一緒に、データ処理システム200のインテリジェンスクラウド314を形成する。
【0109】
クライアントデバイス102により実行される(例えば、直接又はネットワークを介して間接的に)アプリケーション302は、データ処理システム200の認知層304のAPIとインターフェースする。認知層304は、データ処理エンジン202における上述したコンテンツインテリジェンス320エンジン並びにフェデレーションインデックス又はグラフ318及び信用及びロバスト性モジュール322を含む。信用及びロバスト性モジュール322は、暗号化を含めた種々のセキュリティ対策を実施して、データコレクション206が不正ユーザからセキュアなままであることを保証することができる。
【0110】
コネクタ324は、認知層304を情報サイロ306として記されているデータソース104とインターフェースする。情報サイロ306は、離散データソース104を含み、離散データソース104は、互いに関係を有さなくてもよく、それぞれ異なるサーチシンタックス、API機能等を有し得る。
図3の例では、情報サイロ306は、内部ソース326及び外部ソース328の両方を含む。例えば、内部ソース326は、シェアポイント326a、コンフルエンス326b並びにデータコレクション206及び他のデータを組織内の他の人と共有中であり得る組織内部の任意の数326nの他のソースを含むことができる。外部ソース328は、フォレスター328a、ガートナー328b及び組織ネットワーク外の任意の数328nの他のデータソース104を含むことができる。
【0111】
図4Aは、ユーザインターフェース400との一連の行動を示し、
図4Bは、ユーザインターフェースと対話する対応する行動のプロセスを示す。ユーザインターフェース400は、ユーザに提示され(例えば、クライアントデバイス102において)、ユーザがデータ処理システム200からのコンテキスト化サーチ及び他のデータ要求を実行できるようにする。ユーザインターフェース400は、ユーザが対話(例えば、選択、クリック、アクティブ化等)して結果404(例えばコンテンツ)又はその部分をデータコレクション206に手動で追加することができる制御手段402を含む。結果404が手動で追加されるとき、その重みは、他の結果と比較して高い関連度を示す最大設定に設定することができる。
【0112】
ユーザは、制御手段402と対話することができ、制御手段402は、発見ウィンドウ406を表示するように促す。ユーザは、制御手段402を選択して、結果404全体をデータコレクション206に追加し、結果404は、アイコン408として、クライアントデバイス102でユーザにより閲覧中のコンテンツに重ねられる発見リスト410に表示される。ユーザは、結果404の部分を選択し(例えば、強調表示等により)、次に制御手段402を選択して、結果の部分をデータコレクション206に追加することができる。
【0113】
ユーザが幾つかの結果をデータコレクション206に追加した後又は上述したように幾つかの結果が自動的に追加された場合、発見リスト410は、結果404及びデータコレクション206に追加された他の結果へのリンクを含む。発見リスト410に示される他の結果は、最も新しく追加されたもの、最も関連するもの、これら2つの組合せであり得るか、又は何らかの他のメトリックに従って列記することができる。
【0114】
図4Bを参照すると、増補されたサーチの一例のプロセスが示されている。データ処理システム200は、ネットワークコンテンツ(例えば、結果404)がデータ要求(例えば、サーチトピック)に関連することの指示を受信する(412)。データ処理システム200は、キーワードについてネットワークコンテンツをパースする(414)。データ処理システム200は、パースされたキーワードに基づいてローカル及びリモートの両方のデータソース104のサーチを実行して、ローカル及びリモートデータソース104からサーチ結果を返す(416)。データ処理システム200は、増補された結果を生成し(418)、新しいページとして又は現在のネットワークコンテンツ(例えば、発見リスト410において)への差し込みとして結果を提示する(420)。発見リスト410に示される結果は、1つ又は複数のデータコレクション206に先に記憶された結果を含むことができる。
【0115】
幾つかの実装形態では、ローカルデータソースは、一般に、クライアントデバイス及びクライアントデバイスとの関係を有する他のクライアントデバイス(例えば、ローカルネットワークで接続された)によりアクセス可能であるが、ネットワーク化された環境におけるあらゆるクライアントデバイス(例えば、ローカルネットワークで接続されていないクライアントデバイス)によってアクセス可能でないデータソースを指す。例えば、ローカルデータソースは、ウェブメールサーバ、イントラネットリソース(例えば、企業、大学等の)、クライアントデバイスのローカルストレージ、ログインが必要なクラウドストレージ(例えば、Google doc、Dropboxアカウント等)、ローカルリポジトリ(例えば、バージョン制御リポジトリ)、ローカルカレンダー(例えば、企業カレンダー)等を含むことができる。ローカルデータソースは、ファイアウォール又は他のセキュリティ対策の背後にあることができ、したがって、リモートソースからアクセス可能でないことができる。幾つかの実装形態では、ローカルデータソースは、従来のサーチエンジン(例えば、公開サーチエンジン)によりインデックス付けられず、データ処理システムによりアクセス可能なソースである。ローカルデータソースは、データ処理システム200のデータ処理エンジン202によりサーチされて、関連する結果(例えば、リソース)を提供する。幾つかの実装形態では、ローカルデータソースは、データストレージ106の一部分であり得る。
【0116】
幾つかの実装形態では、リモートデータソースは、クライアントデバイス及びクライアントデバイスとの関係を有さない少なくとも幾つかの他のクライアントデバイス(例えば、ローカルネットワーク上のクライアントデバイスに接続されないクライアントデバイス)によりアクセス可能なデータソースを含むことができる。リモートデータソースは、必ずしもあらゆるクライアントデバイスによりアクセス可能であるわけではなく、必ずしもサーチエンジンによりインデックス付けられるわけではない。例えば、リモートデータソースは、半公開リポジトリ(例えば、JSTOR、フォレスター等)、認証を必要とする公開リポジトリ(例えば、U.S.P.T.O特許データベース)、サブスクリプションベースのリサーチリポジトリ(例えば、Westlaw)等を含むことができる。リモートデータソースは、サブスクリプションベース(例えば、NY Times、Economist)又は他のウェブサイト等のコンテンツのパブリッシャを含むこともできる。
【0117】
一般に、認証(例えば、セキュア化データソース)を必要とするリモート及びローカルソースでは、データ処理エンジン202は、クライアントデバイスから証明書を検索し、証明書を使用して、セキュア化データソースのリソースにアクセスすることができる。証明書は、データ要求前にデータ処理エンジン202により受信することができる(例えば、クライアントデバイスのアプリケーションを通して)か、又はデータ要求時に受信することができる(例えば、クライアントデバイスからのデータ要求と共に)。データ処理エンジン202は、非セキュア化データソースに加えてセキュア化データソースをサーチし、結果データを検索することが可能である。幾つかの実装形態では、証明書データは、ローカルストレージ中のユーザプロファイルに記憶することができる。証明書データは、ユーザがデータ要求を提出するとき、ローカルストレージから検索され、データ要求と共にクライアントデバイスからデータ処理エンジン202に送信することができる。幾つかの実装形態では、ユーザプロファイルのデータ及び証明書データは、データストレージ106に記憶される。
【0118】
幾つかの実装形態では、データ処理エンジン202は、必要に応じてデータ要求を翻訳して、1つ又は複数の第三者による結果を検索する。先に考察したように、データ要求を翻訳することは、リモート又はローカルデータソースであり得る1つ又は複数の第三者サービス218のAPIに準拠するようにデータ要求を構成することを含むことができる。
【0119】
図5を参照すると、クライアントデバイス102のユーザインターフェース500が示されている。ユーザインターフェース500は、クライアントデバイス102にインストールされたアプリケーションにより提示される。アプリケーションは、データ処理システム200の幾らか又は全てを含むことができる。
図4A及び
図4Bのプロセスと同様に、ユーザは、制御手段502を選択して、結果504をデータコレクション206に追加する。制御手段502が選択されるとき、結果504は、発見結果のリスト506に追加することができ、アイコン508として示すことができる。追加の結果がデータコレクション206に追加される場合、発見ペイン510は、上述した1つ又は複数の基準を使用して結果のリスト506を示すことができる。
【0120】
図6を参照すると、クライアントデバイス102が音声アシスタントを含む場合のデータ処理システム200との対話600が示されている。ユーザ602は、データ要求604を音声コマンドとして表現することができる。クライアントデバイス102は、音声/テキスト技術を使用して要求を解釈し、結果データ608をオーディオデータとして返すことができる。
【0121】
図7は、データ処理システム200による、クライアントデバイス102からのデータ要求に応答する一例のプロセスを示す。データ処理システム200は、1つ又は複数のデータソースとのユーザ対話を表すデータをクライアントデバイス102から受信する(702)。データ処理システム200は、1つ又は複数のデータソースとのユーザ対話に基づいて、追加の結果データ等の追加のデータがユーザに関連することを特定する(704)。データ処理システム200は、ユーザ対話に応答して、ローカルデータソース(例えば、データコレクション206)から追加のデータを検索する(706)。データ処理システム200は、追加のデータの受信についてのユーザの好み(例えば、提示様式及び/又はフォーマット等)を特定する(710)。データ処理システム200は、追加のデータをデータソースからのデータ(例えば、結果データ)に統合するか否かを判断する(712)。追加のデータが含まれるべき場合、データ処理システム200は、データソースからのデータと統合された(例えば、
図8及び
図9に示されるように発見ペインにおいて)追加のデータを提供する(714)。追加のデータがデータソースからのデータと統合されるべきではない場合、データ処理システム200は、データソースからのデータとは別個のものとして(例えば、
図10に示されるスニペットとして)追加のデータを提供する(716)。
【0122】
図8は、クライアントデバイス102の一例のユーザインターフェース800を示す。ユーザインターフェース800は、ブラウザウィンドウを含む。従来のサーチからのサーチ結果802をユーザインターフェース800の左側に示す。サーチバー808は、ユーザがデータ要求をブラウザに入力できるようにする。発見ペイン812は、データコレクション206と、サーチエンジンが返さない、リモート及びローカルの両方の他のデータソース104とからの増補された結果804を示す。増補された結果804は、上述したように、関連することが見つかった応答データを含む。ユーザは、制御手段810と対話して、より多くの増補された結果を見ることができる。ユーザは、制御手段806と対話して、サーチ結果自体の現在のページをデータコレクション206に追加することができる。
図8に示される例では、増補された結果804は、ユーザに関連する著者により更新された文書804a、ワンドライブ文書、ユーザの組織のローカル電子メールサーバによりホストされるカレンダー文書804b、アーカイブされた電子メール804c及びユーザがアクセス可能なフォレスターリポート804dを含む。6つの増補された結果が示されているが、他の数の結果を示すことも可能である。増補されたサーチ結果804は、サーチ結果802との併記であると言うことができる。幾つかの実装形態では、増補されたサーチ結果は、サーチ結果と一緒に混合されたものとして提示される。
【0123】
図9は、クライアントデバイス102の一例のユーザインターフェース900を示す。ユーザインターフェース900は、ブラウザウィンドウを含む。ユーザにより選択された記事904は、ユーザインターフェース900の左部分に示される。発見ペイン912は、ユーザが閲覧中の記事904に関連する、データコレクション206又はリモート及びローカル両方の他のデータソース104からの増補された結果906を示す。制御手段916は、ユーザが記事904をデータコレクション206に追加できるようにする。制御手段914は、ユーザが追加の記事を見られるようにする。
【0124】
増補された結果904は、上述したようにデータ処理システム200により特定された記事に関連する結果データを含む。例えば、記事は、ブロックチェーン技術についてである。増補された結果904は、シェアポイントファイル906a、ワンドライブからのスクリーンショット906b、アウトルック会合招待906c、記事906aと同じ著者により書かれたシェアポイント記事906d、ブロックチェーンベンダーについてのフォレスターリポート906e及びブロックチェーンについての電子メールメッセージ906fを含む。6つの結果906が示されるが、数は、必要に応じてより多数であり得るか又はより少数であり得る。
【0125】
図10は、結果データからの複数のスニペット1004を含むデータ処理システム200の一例のインターフェース1000を示す。スニペットは、上述したように、結果データとのユーザ対話、結果の関連データ及びユーザプロファイルデータに基づいて選択することができる。例えば、ユーザが各結果におけるビデオを見る場合、スニペットは、データコレクション206中のビデオ又はユーザが見た部分のみを含むことができる。スニペットは、結果データと対話している間、ユーザが見た又は滞在した記事のテキストの関連する集合(例えば、関連する段落)を示すことができる。各スニペット1004a~fは、自動的に生成される(例えば、キーワードを含む)か、又はユーザにより手動で生成されるスニペットのタイトルを含む見出し1002が付随することができる。
【0126】
スニペットを見るために、ユーザは、結果1008を発見リスト1010からユーザインターフェース1000の閲覧ペインにドラッグすることができる。発見リスト1010は、閲覧されたスニペットに関連する1つ又は複数の結果1006を含むことができる。結果1006a~dは、閲覧されたスニペットへの関連度に基づいて及び同様の基準を使用してランク付けすることができる。
【0127】
図11は、クライアントとして又はサーバ若しくは複数のサーバとして、本明細書で記載されるシステム及び方法を実施するのに使用し得る計算デバイス1100、1150のブロック図を含む。計算デバイス1100は、ラップトップ、デスクトップ、ワークステーション、個人情報端末、サーバ、ブレードサーバ、メインフレーム及び他の適切なコンピュータ等の種々の形態のデジタルコンピュータを表すことが意図される。計算デバイス1150は、個人情報端末、セルラ電話、スマートフォン及び他の同様の計算デバイス等の種々の形態のモバイルデバイスを表すことが意図される。更に、計算デバイス1100又は1150は、ユニバーサルシリアルバス(USB)フラッシュドライブを含むことができる。USBフラッシュドライブは、オペレーティングシステム及び他のアプリケーションを記憶し得る。USBフラッシュドライブは、別の計算デバイスのUSBポートに挿入し得る無線送信機又はUSBコネクタ等の入出力構成要素を含むことができる。ここに示される構成要素並びにそれらの接続、関係及び機能は、単なる例示が意図され、本明細書に記載され及び/又は特許請求の範囲に記載される趣旨の実装形態の限定を意味しない。
【0128】
計算デバイス1100は、プロセッサ1102、メモリ1104、記憶装置1106、メモリ1104及び高速拡張ポート1110に接続する高速インターフェース1108並びに低速バス1114及び記憶装置1106に接続する低速インターフェース1112を含む。構成要素1102、1104、1106、1108、1110及び1112は、それぞれ種々のバスを使用して相互接続され、共通のマザーボードに搭載し得るか、又は適宜他の様式で搭載され得る。プロセッサ1102は、メモリ1104又は記憶装置1106に記憶されて、高速インターフェース1108に結合されたディスプレイ1116等の外部入出力デバイスにGUIについてのグラフィカル情報を表示する命令を含め、計算デバイス1100内で実行される命令を処理することができる。他の実装形態では、複数のメモリ及び複数のタイプのメモリと共に複数のプロセッサ及び/又は複数のバスを適宜使用し得る。また、複数の計算デバイス1100を接続し得、各デバイスは必要な動作の部分を提供する(例えば、サーババンク、ブレードサーバの群又はマルチプロセッサシステムとして)。
【0129】
メモリ1104は、計算デバイス1100内の情報を記憶する。一実装形態では、メモリ1104は、1つ又は複数の揮発性メモリユニットである。別の実装形態では、メモリ1104は、1つ又は複数の不揮発性メモリユニットである。メモリ1104は、磁気ディスク又は光ディスク等の別の形態のコンピュータ可読媒体であり得る。
【0130】
記憶装置1106は、計算デバイス1100の大容量記憶装置を提供することが可能である。一実装形態では、記憶装置1106は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、テープデバイス、フラッシュメモリ若しくは他の同様の固体状態メモリデバイス又はストレージエリアネットワーク又は他の構成のデバイスを含めたデバイスのアレイ等のコンピュータ可読媒体であり得るか、又はコンピュータ可読媒体含み得る。コンピュータプログラム製品は、情報キャリアに有形に具現することができる。コンピュータプログラム製品は、実行されると、上述した等の1つ又は複数の方法を実行する命令を含むこともできる。情報キャリアは、メモリ1104、記憶装置1106又はプロセッサ1102におけるメモリ等のコンピュータ又は機械可読媒体である。
【0131】
高速コントローラ1108は、計算デバイス1100の帯域幅集約的動作を管理する一方、低速コントローラ1112は、帯域幅集約性の程度がより低い動作を管理する。機能のそのような割り振りは、単なる例示である。一実装形態では、高速コントローラ1108は、メモリ1104、ディスプレイ1116(例えば、グラフィックスプロセッサ又はアクセラレータを通して)及び種々の拡張カード(図示せず)を許容し得る高速拡張ポート1110に結合される。実装形態では、低速コントローラ1112は、記憶装置1106及び低速拡張ポート1114に結合される。低速拡張ポートは、種々の通信ポート(例えば、USB、Bluetooth、Ethernet、無線Ethernet)を含み得、例えばネットワークアダプタを通して、キーボード、ポインティングデバイス、スキャナ又はスイッチ若しくはルータ等のネットワーキングデバイス等の1つ又は複数の入出力デバイスに結合され得る。
【0132】
計算デバイス1100は、図に示されるように、幾つかの異なる形態で実施され得る。例えば、標準サーバ1120として又はそのようなサーバの群で複数回実施し得る。ラックサーバシステム1124の一部として実施することもできる。加えて、ラップトップコンピュータ1122等のパーソナルコンピュータで実施し得る。代替的に、計算デバイス1100からの構成要素は、デバイス1150等のモバイルデバイス(図示せず)における他の構成要素と結合され得る。そのようなデバイスの各々は、計算デバイス1100、1150の1つ又は複数を含み得、システム全体は、互いと通信する複数の計算デバイス1100、1150で構成され得る。
【0133】
計算デバイス1150は、構成要素の中でも特に、プロセッサ1152、メモリ1164、ディスプレイ1154等の入出力デバイス、通信インターフェース1166及び送受信機1168を含む。デバイス1150には、追加のストレージを提供する、マイクロドライブ又は他のデバイス等の記憶装置を提供することもできる。構成要素1150、1152、1164、1154、1166及び1168の各々は、種々のバスを使用して相互接続され、構成要素の幾つかは、共通のマザーボード又は適宜他の様式で搭載され得る。
【0134】
プロセッサ1152は、メモリ1164に記憶された命令を含め、計算デバイス1150内の命令を実行することができる。プロセッサは、別個の複数のアナログ及びデジタルプロセッサを含むチップのチップセットとして実施され得る。更に、プロセッサは、幾つかのアーキテクチャの何れかを使用して実施され得る。例えば、プロセッサ410は、CISC(複雑命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサ又はMISC(最小命令セットコンピュータ)プロセッサであり得る。プロセッサは、例えば、ユーザインターフェース、デバイス1150により実行されるアプリケーション及びデバイス1150による無線通信の制御等のデバイス1150の他の構成要素の調整を提供し得る。
【0135】
プロセッサ1152は、制御インターフェース1158及びディスプレイ1154に結合されたディスプレイインターフェース1156を通してユーザと通信し得る。ディスプレイ1154は、例えば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイ、OLED(有機発光ダイオード)ディスプレイ又は他の適切なディスプレイ技術であり得る。ディスプレイインターフェース1156は、ディスプレイ1154を駆動して、グラフィカル情報及び他の情報をユーザに提示するのに適切な回路を含み得る。制御インターフェース1158は、ユーザからコマンドを受信し、プロセッサ1152に提出するためにコマンドを変換し得る。加えて、外部インターフェース1162は、プロセッサ1152と通信して提供され、他のデバイスとのデバイス1150の近距離通信を可能にし得る。外部インターフェース1162は、例えば、幾つかの実装形態では有線通信又は他の実装形態では無線通信を提供し得、複数のインターフェースを使用することもできる。
【0136】
メモリ1164は、計算デバイス1150内に情報を記憶する。メモリ1164は、1つ若しくは複数のコンピュータ可読媒体、1つ若しくは複数の揮発性メモリユニット又は1つ若しくは複数の不揮発性メモリユニットの1つ又は複数として実施することができる。拡張メモリ1174を提供することもでき、拡張インターフェース1172を通してデバイス1150に接続し得、拡張インターフェース1172は、例えば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る。そのような拡張メモリ1174は、追加の記憶空間をデバイス1150に提供し得るか、又はデバイス1150のアプリケーション若しくは他の情報を記憶することもできる。特に、拡張メモリ1174は、上述したプロセスを実行又は補足する命令を含み得、セキュア情報を含むこともできる。したがって、例えば、拡張メモリ1174は、セキュリティモジュールとしてデバイス1150に提供され得、デバイス1150のセキュアな使用を可能にする命令をプログラムし得る。加えて、セキュアアプリケーションは、ハッキング可能でないようにSIMMカードに識別情報を配置する等、追加情報と共にSIMMカードを介して提供し得る。
【0137】
メモリは、例えば、後で考察するように、フラッシュメモリ及び/又はNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報キャリアに有形に具現される。コンピュータプログラム製品は、実行されると、上述した等の1つ又は複数の方法を実行する命令を含む。情報キャリアは、メモリ1164、拡張メモリ1174又は例えば、送受信機1168若しくは外部インターフェース862を介して受信し得るプロセッサ1152上のメモリ等のコンピュータ又は機械可読媒体である。
【0138】
デバイス1150は、必要に応じて、デジタル信号処理回路を含み得る通信インターフェース1166を通して無線通信し得る。通信インターフェース1166は、特に、GSMボイスコール、SMS、EMS又はMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000又はGPRS等の種々のモード又はプロトコル下での通信を提供し得る。そのような通信は、例えば、無線周波数送受信機1168を通して行われ得る。加えて、Bluetooth、Wi-Fi又は他のそのような送受信機(図示せず)を使用して近距離通信を行い得る。加えて、GPS(全地球測位システム)受信モジュール1170は、追加のナビゲーション及びロケーション関連の無線データをデバイス1150に提供し得、これらは、デバイス1150で実行中のアプリケーションにより適宜使用され得る。
【0139】
デバイス1150は、オーディオコーデック1160を使用して可聴的に通信することもでき、オーディオコーデック1160は、ユーザから発話情報を受信し、それを使用可能なデジタル情報に変換し得る。オーディオコーデック1160は、同様に、例えばデバイス1150のハンドセット内のスピーカ等を通してユーザへの可聴音を生成し得る。そのような音は、音声電話呼からの音を含み得、録音された音(例えば、ボイスメッセージ、音声ファイル等)を含み得、デバイス1150で動作中のアプリケーションにより生成された音を含むこともできる。
【0140】
計算デバイス1150は、図に示されるように、幾つかの異なる形態で実施され得る。例えば、セルラ電話1182として実施され得る。スマートフォン1180、個人情報端末又は他の同様のモバイルデバイスの一環として実施することもできる。
【0141】
本明細書に記載されたシステム及び技法の種々の実装形態は、デジタル電子回路、集積回路、特に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア及び/又はそれらの組合せで実現することができる。これらの種々の実装形態は、結合されて、ストレージシステム、少なくとも1つの入力デバイス及び少なくとも1つの出力デバイスとデータ及び命令をやりとりする、専用又は汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能及び/又は解釈可能な1つ又は複数のコンピュータプログラムでの実施を含むことができる。
【0142】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとしても知られている)は、プログラマブルプロセッサの機械命令を含み、高水準手続き型及び/又はオブジェクト指向型プログラミング言語及び/又はアセンブリ言語/機械語で実施することができる。本明細書で使用される場合、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含め、機械命令及び/又はデータをプログラマブルプロセッサに提供するのに使用される任意のコンピュータプログラム製品、装置及び/又はデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0143】
ユーザとの対話を提供するために、本明細書に記載されるシステム及び技法は、情報をユーザに表示するディスプレイデバイス(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供できるようにするキーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有するコンピュータで実施することができる。ユーザとの対話を提供するために、他の種類のデバイスも同様に使用することもできる:例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック又は触覚的フィードバック)であり得、ユーザからの入力は、音響、発話又は触覚的入力を含め、任意の形態で受信することができる。
【0144】
本明細書に記載されるシステム及び技法は、バックエンド構成要素(例えば、データサーバとして)を含むか、又はミドルウェア構成要素(例えばアプリケーションサーバ)を含むか、又はフロントエンド構成要素(例えば、ユーザが本明細書に記載されるシステム及び技法の実装形態と対話できるようにするグラフィカルユーザインターフェース若しくはウェブブラウザを有するクライアントコンピュータ)を含むか、又はそのようなバックエンド、ミドルウェア若しくはフロントエンド構成要素の任意の組合せを含む計算システムで実施することができる。システムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)により相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、ピアツーピアネットワーク(アドホック又は静的メンバを有する)、グリッドコンピューティングインフラストラクチャ及びインターネットがある。
【0145】
計算システムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に、互いからリモートであり、通常、通信ネットワークを通して対話する。クライアント及びサーバの関係は、それぞれのコンピュータで実行されており、互いにクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【0146】
記載された特徴は、デジタル電子回路で又はコンピュータハードウェア、ファームウェア、ソフトウェア又はそれらの組合せで実施される。装置は、情報キャリア、例えばプログラマブルプロセッサにより実行される機械可読記憶装置で有形に具現されるコンピュータプログラム製品で実施され、方法ステップは、入力データに対して動作し、出力を生成することにより、記載された実装形態の機能を実行する命令のプログラムを実行するプログマブルプロセッサにより実行される。記載された特徴は、有利には、結合されて、データ記憶システム、少なくとも1つの入力デバイス及び少なくとも1つの出力デバイスとデータ及び命令をやりとりする少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能な1つ又は複数のコンピュータプログラムで実施される。コンピュータプログラムは、特定の活動を実行又は特定の結果をもたらすために、コンピュータで直接又は間接的に使用される命令の組である。コンピュータプログラムは、コンパイル型又はインタープリタ型言語を含め、任意の形態のプログラミング言語で記述され、スタンドアロンプログラムとして又はモジュール、コンポーネント、サブルーチン若しくは計算環境での使用に適した他のユニットとしてのものを含め、任意の形態で展開される。
【0147】
命令のプログラムの実行に適したプロセッサには、例として、汎用及び専用両方のマイクロプロセッサ及びソロプロセッサ又は任意の種類のコンピュータの複数のプロセッサの1つがある。一般に、プロセッサは、命令及びデータを読み取り専用メモリ、ランダムアクセスメモリ又は両方から受信する。コンピュータの基本要素は、命令を実行するプロセッサ並びに命令及びデータを記憶する1つ又は複数のメモリである。一般に、コンピュータは、データファイルを記憶する1つ若しくは複数の大容量記憶装置も含むか、又はそれと動作可能に結合されて通信し、そのようなデバイスは、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、磁気光学ディスク及び光ディスクを含む。コンピュータプログラム命令及びデータを有形に具現するのに適した記憶装置は、例として、EPROM、EEPROM及びフラッシュメモリデバイス等の半導体メモリデバイス;内部ハードディスク及びリムーバブルディスク等の磁気ディスク;磁気光学ディスク;並びにCD-ROM及びDVD-ROMディスクを含む全ての形態の不揮発性メモリを含む。プロセッサ及びメモリは、ASIC(特定用途向け集積回路)で補足されるか又はASICに組み込まれる。
【0148】
ユーザとの対話を提供するために、特徴は、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ等の情報をユーザに表示するディスプレイデバイスと、ユーザが入力をコンピュータに提供できるようにする、キーボード及びマウス又はトラックボール等のポインティングデバイスとを有するコンピュータで実施される。
【0149】
特徴は、データサーバ等のバックエンド構成要素を含むか、又はアプリケーションサーバ若しくはインターネットサーバ等のミドルウェア構成要素を含むか、又はグラフィカルユーザインターフェース若しくはインターネットブラウザを有するクライアントコンピュータ等のフロントエンド構成要素又はそれらの組合せを含むコンピュータシステムで実施される。システムの構成要素は、通信ネットワーク等の任意の形態又は媒体のデジタルデータ通信により接続される。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、ピアツーピアネットワーク(アドホック又は静的メンバを有する)、グリッドコンピューティングインフラストラクチャ及びインターネットがある。
【0150】
計算システムは、クライアント及びサーバを含む。クライアント及びサーバは、一般に、互いからリモートであり、通常、記載された等の通信ネットワークを通して対話する。クライアント及びサーバの関係は、それぞれのコンピュータで実行されており、互いにクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【0151】
データ処理システム200の幾つかの実施形態について説明した。それにもかかわらず、本開示の趣旨及び範囲から逸脱せずに種々の変更形態がなされ得ることが理解されるであろう。したがって、他の実施形態も以下の特許請求の範囲内にある。
【国際調査報告】