ここに開示する方法、システム、及び製品は、既存のエージェント作成ツールと、オントロジー言語及びオントロジー構成ツールを含むナレッジ表現用の様々な利用可能な手法とを用いて、及び将来のエージェント及びナレッジ表現ツールを用いて、実施できる。請求項の発明は特定のナレッジ表現には限定されないが、好ましい形体は、セマンティックネットワークと呼ばれるタイプのオントロジーである。セマンティックネットワークは多くのソースで説明されているが、特にその中でもPeter Sweeneyらによる米国特許出願第12/671,846号(発明の名称「Method, System, And Computer Program For User-Driven Dynamic Generation Of Semantic Networks And Media Synthesis」)がある。この文献はここに参照援用する。
セマンティックネットワークは、ナレッジ表現の形体として用いられることもある。セマンティックネットワークは、概念を表す頂点と概念間のセマンティックな関係を表す辺とから構成され、コンピュータ読み取り可能記憶媒体の対応するデータ構造にエンコードされた有向グラフとして表すことができる。セマンティックネットワークはナレッジ表現の形体として広く利用されている。機械読み取り可能データとして、人工知能、ソフトウェアオートメーション及びエージェント、エキスパートシステム、及びナレッジマネージメントなどの多数の高度なテクノロジーを支持することができる。また、セマンティックネットワークは、多様な形体のメディアに(すなわち、他のナレッジ表現に)変換できる。言い換えると、セマンティックネットワークの合成や生成により、そのセマンティックネットワークから追加的価値を抽出する幅広いメディアの合成を支持できる。
例えば、Primal Fusion Inc.(カナダ、オンタリオ州、ウォータールー市、www.primal.com)から入手できる思考ネットワーキングとセマンティック合成は、ドメインに対するユーザのナレッジを表す、ユーザ指図セマンティックネットワークを生成するよい方法とシステムを提供する。セマンティック合成は、ユーザの思考や意図をエンコードするセマンティックネットワークを構成する。これらの思考と意図は、組織化されたデータ構造のデータとしてエンコードされ、例えば、エージェントベースのシステムを支持するコンピューティング目的に利用できる。
思考ネットワークは、ナレッジネットワークとしても知られているが、(エンドユーザとは対照的な情報のプロデューサにより作成されたセマンティックネットワークとは対照的に)一種のユーザ指図セマンティックネットワークを指す。ユーザの嗜好を相互接続された概念として表す。この格子状の構造は、概念がデータとしてどう表され、具体化されているかを示す。しかし、理想的には、ユーザは自分の思考ネットワークとインターラクトする際、この深い構造は知らないままでいる。
上記のように、思考ネットワーキングは、以前はユーザの嗜好と意図をキャプチャするために利用されている。しかし、思考ネットワーキングを用いて、ソフトウェアエージェントへの入力として用いられるセマンティックネットワークを作ることも可能である。同様に、これらのエージェントは、これらの(又は追加的な)セマンティックネットワークへの変更を出力できる。ドメインナレッジベースがセマンティックネットワークにキャプチャされ、ユーザとエージェントが、互いに直接インターラクトするのではなく、両方ともセマンティックネットワークとインターラクトする場合、ユーザがそのエージェントと直接インターラクトする必要はまったく又はほとんど無くすことができる。エージェントの機能を減らし、直接的なユーザインタフェースを無くし、機能を複製する必要を減らし、異なるタイプの複数のエージェントの集合的アクションから現れる振る舞いを許すことにより、エージェントを単純化できる。異なる機能の適切な複数のエージェントが利用でき、所望のタスクのセットを達成できることを前提に、エージェント機能をもっと減らして単機能としてもよい。
インターラクションするエージェントやエージェント群の集まりは、「エージェントエコシステム」と呼ばれる。人がセマンティックネットワーキング環境の変化に直接影響できるようにすると、個々のソフトウェアエージェントとソフトウェアエージェントエコシステムの開発に係わるコストと複雑性が低下する。
(セマンティックデータに)思考のランドスケープを構築することにより、人(ユーザ)がかかるシステムに寄与し、比較的単純なエージェント(場合によっては多数のエージェント)がユーザインテリジェンスのランドスケープ上で機能して仕事を行う。エージェントは、ランドスケープ上を歩き回り、そのランドスケープのアーキテクト(すなわちユーザ)により課された環境内で互いに協力する蟻と似ているかも知れない。さらに、ユーザとエージェントは、両方ともランドスケープを改変することにより動作でき、ユーザがそのエージェントを直接的に制御しなくても、エージェントの動作に影響を与えることができる。エージェントインターラクションからユーザインターラクションを切り離すことにより、新しいアプリケーション/デザインパターンが得られる。異なるタイプのエージェント(例えば、サーチエージェントとハーベスティングエージェント)が協働して、複雑なタスクを実行できる。すなわち、あるタイプのエージェントが、他のタイプのエージェントにアクションを取らせることができ、その結果のアクションがよければ、個々のエージェントの機能以上のものを達成できる。例えば、あるエージェントが情報を集めて、セマンティックネットワークにこの情報を加える。第2のエージェントは、自立的に動作し、単にセマンティックネットワークの変化のレポートを作成する。各エージェントは、ランドスケープがどのように作成されたかを、又はナレッジランドスケープとのエージェント又はユーザインターラクションとして現れる高次の振る舞いを理解する必要なく、ナレッジランドスケープの環境に応答できる。
図1を参照するに、上記の態様の一部を実施する基本的なシステム例のコンポーネントを示す。セマンティックネットワーク(オントロジ)構成ツール10は、ユーザ20に用いられ、コンピュータネットワークアクセス可能メモリ40中のセマンティックネットワーク30を構成する。このメモリは、ローカルメモリでも、リモートメモリでも、インターネットなどに分散したメモリのような分散メモリであってもよい。セマンティックネットワーク構成ツールは、必要な入力をユーザが与えた時に、セマンティックネットワークを生成するように好適に(ソフトウェアなどにより)構成された任意のコンピュータ(ハードウェアとソフトウェア)である。ソフトウェアエージェント501−50Nは、セマンティックネットワークにアクセスできるところにあるコンピュータ(図示せず)上で実行され、セマンティックネットワークとインターラクトし、ネットワーク中のデータにそれぞれの機能を行う。図示したように、少なくとも1つのエージェント、例えば50Nは、出力機能を有し、ユーザ20に出力を提供するものとする。しかし、ユーザがタスクの完了だけを欲し、タスクに関する報告は必要としないアプリケーションでは、エージェントインターラクションの結果はユーザに出力される必要はない。
セマンティックネットワークが存在すると、ユーザ20は、インタフェースツール60を用いてネットワークに変更を及ぼすことができる。インタフェースツールは、セマンティックネットワークを(例えば、グラフィカルユーザインタフェースで)ユーザに示し、ネットワークへの変更をユーザに入力させる任意の好適なエディタである。変更には、データ値の変更、セマンティックネットワークへのエントリーの追加又は削除が含まれる。マインドマップソフトウェアやオントロジビルダなどのツールはユーザインターラクションのこれらの側面に向いている。
留意点として、エージェントが展開されると(すなわち、開始されると)、ユーザはエージェントと直接インターラクトする必要がない。もちろん、誰かが各エージェントを展開しなければならず、そのためにはシステム中のどのエージェントが寄与するか特定する必要がある。
エージェントはパーソナルなものであってもよいし、エージェントはユーザの識別情報に関して知らなくてもよい。よって、ショッピングエージェントはあるユーザのパーソナルエージェントであってもよし、必要とするユーザならだれでも利用できるものであってもよい。
ソフトウェアエージェントが動作するセマンティックネットワークランドスケープにより、ネットワークを明示的に編集することにより、及びクションの組合せからエージェントにユーザの意図を推論させることにより、ユーザは自分を表現することができる。エージェントは、機能が制限された単純なもの(plain and simple)であってもよい。明白に、ユーザ・ネットワーク間インターラクションとエージェント・ネットワーク間インターラクションは、ユーザとソフトウェアエージェントとの間の直接対話は行わない。このように直接対話が無いことは、本システムと方法の特徴である。人は、(セマンティックデータ中に)自分の思考のランドスケープを構築することにより寄与し、一方多数の単純なエージェントがその非常に個人的なランドスケープ上で動作して(すなわち、インターラクトして)、仕事を行う。異なるタイプのエージェント(例えば、サーチエージェントとハーベスティングエージェント)が協働して、一般的に1つのタイプのエージェントだけでは提供できないタスクを実行できる。
単純なセマンティックネットワーク30′とその利用の例を図2に示した。ユーザが、関心ドメインに適したナレッジベース12を有する(又はそれにアクセスできる)セマンティックネットワーク合成ツール(ビルダ又はエンジンとも呼ぶ)10にクエリを発するものと仮定する。1つ以上のエージェント50′(例えば、サーチ、フィルタ、及びレポーティングエージェント)は、ネットワーク30′を介して自立的に(及び独立に)動作する。結果は、(参照符号19で示したように)モジュール14,16及び18により、ユーザに又はネットワークにフィードバックされる。モジュール14,16及び18によりユーザはエージェントに命令でき、又はエージェントの条件、パラメータ、機能、又は状態を変更できる。ナレッジベースに示したように、ユーザのナレッジのランドスケープにわたる単純なインターラクションから複雑なナレッジが得られる。
図3は、ユーザ20が合成エンジンにより利用されるナレッジベース12を編集できることも示す。例えば、ビジュアルエディタ60が利用できる(これは図示したようにエンジンの一部でもよいし、エンジンの外部にあってもよい)。このように、ユーザとエージェントのアクションの組合せにより結果が得られる。
合成ターム(term)の選択により、例えば、エンティティ曖昧性除去やエンティティ解決ができる。このように、「ニュートリエント(nutrient)」との用語は、植物学者には、フィットネスファンとは違った意味を有する。結果は、例えば、インテリジェントランキングにより、ユーザに提示される。かかるランキングは、以下に示した、「嗜好誘導データ探索に関するシステムと方法」との名称のリファレンスAに開示された教示により決定できるユーザの嗜好による。さらに、以下に示した、「アトミックセマンティクスに適用される嗜好誘導データ探索のシステム及び方法」との名称のリファレンスBに開示された教示を適用することにより、基礎となるセマンティックネットワーク30′は、ユーザ嗜好に基づき、ある概念又はトピックを他のものより大きく重み付けする。エージェント機能は、ユーザにより強く関係する概念にフォーカスされたネットワークに適用される。かかる重み付けと嗜好ランキングは、ユーザが明示的に編集や補正をしなくても、セマンティックネットワークに影響するユーザのクリックパターン、ブラウザ履歴、合成概念の選択などに基づき決定される。
ここに開示された教示が示された我々のシナリオは、ユーザが自分の家を引っ越しして、新しい場所に興味を有している場合である。従来のユーザ・エージェント方法を用いると、ユーザは、近所のイベントを通知するハイパーローカルニュースなどのロケーションベース情報を提供するすべてのエージェントを修正しなければならない。ユーザベースのセマンティックネットワークを、ハーベスト、サーチその他のタイプのエージェントでレバレッジすると、ユーザは、ナレッジベースを修正できるだけで、セマンティックネットワークを修正し、更新された都市、国その他の関心のある場所を反映させる。各エージェントは、この更新されたロケーション情報に基づき動作し、どのエージェントが更新されたロケーション情報を必要とするかユーザが判断する必要性を無くし、各エージェントを更新されたロケーション情報でユーザが直接修正しなくても、さらに正確にユーザにサービスする。エージェントは、さらに、新しいロケーションのカウンティ、州や、国際的引っ越しのばあいには国を含めるなど、新しい関心ロケーションに関連概念を加えることにより、セマンティックネットワークを修正するように動作する。
他の例では、肉体的なフィットネスに関心を有するユーザは、ハーベスティングエージェントに、栄養に関する記事やトレーニングルーチンなどの関連コンテンツを配信させたり、ショッピングエージェントに関連ジム用品を通知させたりすることができる。そのユーザが肩を故障すると、従来のアプローチでは、ユーザが各エージェントを修正しなければならないだろう。ここに開示の教示を用いると、ユーザは、セマンティックネットワークを編集して、肩に関するリハビリテーションや具体的な情報のユーザへの新しい関係を反映する替わりに、直接的なユーザ・エージェントインターラクションが無くても、適宜あつらえられたエージェントに、関心のある記事、ルーティン、及び用具を配信させることができる。リハビリテーションなどの概念を含めるセマンティックネットワークの修正は、ユーザが明示的にそれを組み込まなくても、行える。ユーザが単に「けが」と入力すると、ネットワークは、参照コーパスを用いて、「リハビリテーション」に関連した概念として識別できる。また、けがやリハビリテーションに関連する記事をクリックするだけで、かかるコンテンツに関するユーザの関心が分かり、セマンティックネットワークが適宜修正される。ネットワークは、動的であり、けがや肩のリハビリテーションに関連した概念に対する重み付けを小さくし、嗜好を弱くするように、時間とともに変化する。これは、かかるコンテンツをユーザが選択する頻度が減少するにつて、生じ、ユーザの肩が回復したことを示唆する。
さらに、ユーザ依存の概念に関係する命令を有する従来のエージェントは、修正を必要とする。例えば、「ヒーロー」を選択すると、8歳の子供にはマンガ本のキャラクタを意味するが、65歳のシニアには市民権運動のリーダを魅する。宗教は、非常にユーザ依存性が高い概念の他の一例である。「宗教」の概念と関連コンテンツは、熟練した神父と若い仏教徒とでは大きく異なる。従来のユーザ・エージェントインターラクションは、宗教やヒーローの概念について動作するすべてのエージェントが、ユーザにより識別され、ユーザの特定の主観的な見方、経験、または関心を反映するように修正されることを必要とする。それでも、セマンティックネットワークにおける「宗教」や「ヒーロー」といった概念を強化することにより、エージェントは、そのユーザの意味により動作する。結果として、ユーザの手間やエージェントの複雑性が低減される。
エージェントは、タンデムで動作し、互いに情報をレバレッジできる。ロケーションベースの情報を実行するエージェントは、サーチエンジンにより検索されたコンテンツに基づいてそうすることができる。肩のリハビリテーションの場合にサーチエージェントにより検索された記事は、治療としてある種のヨガや水中治療を示唆し、セマンティックネットワークを修正する。ロケーションベースのエージェントは、セマンティックネットワークから治療が関連すると判断して、その地方でかかる治療を実施する施設を特定する。あるいは、ショッピングエージェントは、記事に記載された治療を行うのに使用できる製品を特定する。
上記の場合のすべてにおいて、従来のエージェントを利用すると、ユーザはその人にサービスしている各エージェントを修正しなければならず、またはユーザに正しくサービスし、変化するタスクを実行する複雑なエージェントを構成する必要がある。ここに開示する教示は、図4に列記したもののように、サーチ、ハーベスト、組織化、接続、トラッキング、協働、又は報告などの一般的なタスクを、プロフェッショナルな関心、個人的ニュース、旅行、ファイナンス、ローカルサーチ、教育、趣味、または健康問題などのパーソナルナレッジに関連する態様に組み込み、ユーザに多数の方法でサービスすることができる。
図5は、ここに教示するエージェントエコシステムの実施形態の潜在的なシステムコンポーネントの非限定的な実施形態例を示す。例えば、タブレットコンピュータ70に「ハーベスト」インタフェースを設けることができる。かかるユーザインタフェースは、そのコンピュータに設けられた、又はそのコンピュータの、1つ以上の「ネイティブ」アプリケーションプログラム(例えば、従来のオペレーティングシステム及びブラウザソフトウェア)を利用して、エージェントタスクを支援できる。例えば、従来のブラウザソフトウェアを用いて、関心サイトを見つけて、そのサイトから語句をクリッピングし、例えば、既存のネットワークデータ構造にノードを追加することにより、このマテリアルをセマンティックネットワークに追加できる。(図5に示した装置はタブレットコンピュータ70であるが、クライアントPC、ラップトップ、モバイルデバイス、PDA、又は関連コンピューティングシステムなどの好適なコンピューティングシステムを用いることができる。)ブラフィックスをサポートできるブラウザやワードプロセッシングプログラムなどの従来のアプリケーションを用いて、エージェント動作の結果を表示できる。デザイナ80を示したが、これは、エージェントデザイン、ネットワークデザイン、及びそのどちらかの変更を更新する他のソフトウェアの使用をできるエージェントシステムの拡張性を示す、任意的な補足的アプリケーションソフトウェアツールとして示したものである。ユーザモデル90は、エージェントのコレクションのネットインパクトは、反復的なユーザインターラクションとクエリの必要性が大きく削減され、エージェントが、ユーザが所望するサービスの設計図を提供するメカニズムになるように、ユーザの関心と意図をキャプチャすることである。
コアエージェントタスク100は、インターネットコンテンツ及びサービス上で動作し、上記のハーベスト、接続、報告などを含む。コンテンツ/サービス・アプリケーションプログラミングインタフェース(API)110とクローラは、インターネットへのインタフェースとして動作する。
個々のエージェント又は(それぞれが専用の機能を有する)エージェントのコレクションは、ユーザのアシスタントとして機能し、及び考えることができる。かかるアシスタントは複数のユーザにサービスできる。確かに、それらの機能に適していれば、アシスタントも複数のユーザにより収益化できる。例えば、第1のユーザが、デベロッパーではないが、技術を用いて物を作りたいとする。第1のユーザは、ここに空き次のエージェントフレームワークを用いてアシスタントを作れる。そうするため、ユーザは、アシスタントデザイナアプリケーションを立ち上げる。このアプリケーションは、個々のエージェントをデザインし、タスクに対してエージェントのグループをアセンブルする役割と、及び各種のエージェントにリソースを割り当てる役割を実行する。(ここで、エージェントへのリソースの割り当てとは、そのエージェントが入力として受け取り、出力として供給するデータの画定を意味する。)一般的にユーザは、自分のアシスタントの目的すなわちその機能を指定するようにも要求できる。
デザイナアプリケーションを設定して、デフォルトで、選択で、又はその両方で、あるエージェントをアシスタントに含めてもよい。デフォルトエージェントは、例えば、ドメインにわたる新しい接続を合成する接続エージェント(下記参照);関連アブストラクトなどの検索されたコンテンツノードから用語を抽出するハーベストエージェント;(新しいレストランがアシスタントの目的であれば、その識別情報などの)あるコンテクストに対して利用可能な情報の状態を提供する報告エージェントを含む。
「接続エージェント」は、単に、セマンティックネットワークの概念ノードを、他のドメインで特定した別の概念で強化できるエージェントを指すのに用いる言葉である。すなわち、接続エージェントは、クロスドメイン接続、又はブリッジ、リンクを確立する。接続は、参照コーパス(例えば、1つ以上のウェブサイト、文書など)又は参照セマンティック用語集(例えば、WordNet、類語辞典、辞書など)で確認されたものである(WordNetはプリンストン大学の認識科学研究所で作成され維持されている、英語の用語データベースである)。エージェントは、セマンティックネットワークを参照して、シード概念を受け取ることにより動作する。そして、参照コーパス/用語集からの関連のあるセマンティックに関係する用語でシード概念を増強する。エージェントは、概念ノードを含む用語を特定することにより、概念ノードを分析し、文言的及びセマンティックな一致を求めて関係ドメインを分析する。
接続エージェントとハーベストエージェントは両方ともセマンティックネットワークのノードを補強し、接続エージェントは他のノードへのリンク又はアタッチメントの加えることによりその補強を行い、一方ハーベストエージェントは、セマンティックネットワークの1つ以上のノードに基づき、参照コーパスから情報を収集し、収集情報をアタッチすることにより、その1つ以上のノードを補強する。ハーベストエージェントによりアタッチされる補強情報は、一般的に、「データの断片」、「コンテンツのチャンク」、「パラグラフアブストラクト」などの有限量の情報である。
コンテクストの一例としてレストランの特定の話しを続けるが、エージェントデザイナアプリケーション(ソフトウェアツール)その他の選択メカニズムを用いて、ユーザは、様々な既存のエージェントから、アシスタントに含めるものを選択する。これらには、例えば、個人のセマンティックネットワーク中のコンテクストから取得した用語を用いて複数のソースからレストランのレビューを検索する機能を有するレビュー収集エージェント;個人のセマンティックネットワーク内のコンテクストから用語をサーチするウェブサーチエージェント;及び個人のセマンティックネットワーク中のアクセス可能メッセージから情報を検索するテキストメッセージマイニングエージェントが含まれる。
一具体例として、レストランエージェントは、ユーザの都市にある、最近6ヶ月間に、出版物やウェブサイトなどのリストでレビューされた、ある種の食事を提供し、5つ星中少なくとも3つのレーティングがされたすべてのレストランをユーザに通知するように構成できる。エージェントは、かかるレストランを特定すると、そのレストランをユーザのセマンティックネットワークの「行ってみたい新しいレストラン」と呼ぶノードに追加する。通知エージェントは、ネットワークにレストランが加えられたことを知ると、ネットワークにレストランが追加されたことを示すメッセージ(テキスト、電子メールその他のサービス)を送信し、又はユーザが時々チェックする「新しいレポート」キューに追加する。ユーザはそのレストランを試し、良くないと思うかも知れない。他のエージェントは、(例えば、ユーザのクレジットカードの明細をモニターして)そのユーザがそのレストランに行ったことを知り、また1年が経過し、ユーザはそのレストランを再訪していないことを知る。その結果、エージェントは、ユーザの好きなレストランリストからそのレストランを自動的に削除するか、そのレストランを保存するか削除するかユーザに確認する。
これらは、エージェントがユーザと、セマンティックネットワークと、及び他のエージェントとインターラクトして、ユーザのアシスタントとして動作して、さもなければ時間がかかるタスクをエージェントが実行して、そのタスクからそのユーザを開放する方法の簡単な例である。
ある実施形態では、構成されたアシスタントを収益化してもよい。例えば、ライセンシングメカニズムを設定して、エージェントの再使用を測定し、再使用に課金し、その再使用関してある金額を元のデザイナにクレジットする。例えば、個人があるアシスタントに状態レポートを発行させるたびに一定の金額、例えば$0.02を課金する。この課金は、一部がアシスタントの構成者にクレジットされ、一部がエージェントエコシステムを支援するホストシステムにクレジットされる。ある実施形態では、課金金額は、広告などの他の収益源の使用により相殺又は減額される。
かかるエージェントのライセンシングと再使用を促進するため、エコシステムは、クリエータが作成したエージェントとアシスタントにそのクリエータがネーミングして、(所望に応じて)公開するようにラベル/指定をできるエージェントネーミングモジュールを含むことが好ましい。(例えば、この目的のために、かかるエージェントを公開登録して、クリエータは自分のエージェントを登録できる。一般的に登録は、クリエータの識別情報、エージェント名、その機能、入出力、及びライセンシング条件(関連するエージェントの使用/コピー/修正に対する課金など)を含む。)第2のユーザがエージェント又はアシスタントの再使用のライセンスを受けることに加えて、第2のユーザは、自分が有利なようにエージェントの選択を変更することなどにより、アシスタントのクローンを作り及び修正する(場合によっては、料金の支払いを条件に)許可を得ることができる。例えば、第2のユーザは、レストランを料理の種類により識別するエージェントのみを含んだレストランアシスタントに、ロケーションフィルタリングエージェントを追加できる。ある実施形態では、第2のユーザは、新しく修正されたアシスタントにより実行される報告タスクごとに課金をし、それを登録して公開する。元のデザイナはその結果得られる収益を分配にあずかってもよい。
このように、ユーザ指図セマンティックネットワーキングをコンピュータ化したエージェント、典型的には多数の単純なエージェントと組み合わせ、ユーザとエージェントがセマンティックネットワークとインターラクトし、ユーザは明示的かつ直接的にエージェントを制御する必要がない新しい方法とシステムを示したことが分かるであろう。
本発明の上記の実施形態は、多くの方法で実施できる。例えば、実施形態は、ハードウェア、ソフトウェア、又はこれらの組合せを用いて実施できる。一実施形態又はその要素をソフトウェアで実施した場合、ソフトウェアコードは、1つのコンピュータに設けられているか、複数のコンピュータ間に分散しているかに係わらず、任意の好適なプロセッサ又はプロセッサの集まりで実行できる。言うまでもなく、上記の機能を実行する任意のコンポーネント又はコンポーネントの集まりは、上記の機能を制御する1つ以上のコントローラと見なすことができる。1つ以上のコントローラは、専用ハードウェア、上記の機能を実行するマイクロコード又はソフトウェアを用いてプログラムされた汎用ハードウェア(例えば、1つ以上のプロセッサ)などを用いて、多くの方法で実施できる。
この点に関して、言うまでもなく、本発明の様々な実施形態の実施は、1つ以上のコンピュータその他のプロセッサにより実行された時に、本発明の様々な実施形態及びその要素の上記の機能を実行する、1つ以上のコンピュータプログラム(すなわち、複数の命令)でエンコードされた、少なくとも1つの有体の、非一時的なコンピュータ読み取り可能記憶媒体(例えば、コンピュータメモリ、フロッピーディスク(登録商標)、コンパクトディスク、光ディスク、磁気テープ、フラッシュメモリ、フィールドプログラマブルゲートアレイ中の回路構成、その他の半導体デバイスなど)を含む。コンピュータ読み取り可能記憶媒体は、それに保存されたプログラムが、ここに説明する本発明の様々な態様を実施する任意のコンピュータ資源にロードできるように、持ち運び可能であってもよい。また、言うまでもなく、実行時に上記の機能を実行するコンピュータプログラムと言っても、ホストコンピュータ上で動くアプリケーションプログラムに限定されるものではない。むしろ、コンピュータプログラムとの用語は、ここでは、プロセッサを本発明の上記の態様を実施するようにプログラムするのに利用できる任意のタイプのコンピュータコード(例えば、ソフトウェアやマイクロコード)を指す広い意味で使っている。ここに説明する実施形態のセマンティックネットワーク要素は、1つ以上の非一時的なコンピュータ読み取り可能記憶媒体の1つ以上のデータ構造を有する。この媒体は、上記の1つ以上のコンピュータプログラムでエンコードされたものと同じ記憶媒体でも異なるものでもよい。
エンドユーザアプリケーションは、クライアントPC、ラップトップ、タブレット、モバイルデバイス、PDA、又は関連コンピューティングシステムにあってもよい。さらに、ある実施形態は、これらのコンピューティングシステム上のウェブブラウザやアプリケーション(apps)などのネイティブアプリケーションを活用してもよい。
図6は、本開示の様々な発明態様を実施できるコンピュータ1100を示す。コンピュータ1100は、プロセッサ又は処理ユニット1101と、揮発性及び/又は不揮発性メモリを含むメモリ1102を含む。コンピュータ1100は、システムメモリ1102に加え、記憶部1105(例えば、1つ以上のディスクドライブ)も含む。メモリ1102及び/又は記憶部1105は、処理ユニット1101にここに説明する機能のいずれかを実行させるようにプログラムする、1つ以上のコンピュータ実行可能命令を格納している。記憶部1105は、任意的に、必要に応じて1つ以上のデータセットを格納していてもよい。
ここでコンピュータと言うとき、プログラムされたプロセッサを有する任意のデバイスを含み、ラックマウントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、又は一般的にはコンピュータと見なされない多くのデバイスであって、プログラムされたプロセッサを含むものが含まれる。
一例のコンピュータ1100は、図6に示したデバイス1106と1107のように、1つ以上の入力デバイス及び/又は出力デバイスを有する。これらのデバイスを用いて、なかんずく、ユーザインタフェースを提示する。ユーザインタフェースを提供するのに用いることができる出力デバイスの例には、出力の視覚的提示のためのプリンタやディスプレイ、及び出力の聴覚的提示のためのスピーカその他の発音デバイスが含まれる。ユーザインタフェースに用いることができる入力デバイスの例には、キーボードや、マウス、タッチパッド、デジタル化タブレットなどのポインティングデバイスが含まれる。他の例として、コンピュータは、音声認識により又はその他の可聴フォーマットで入力情報を受け取る。
図6に示したように、コンピュータ1100は、様々なネットワーク(例えば、ネットワーク1120)を介して通信を可能とする1つ以上のネットワークインタフェース(例えば、ネットワークインタフェース1110)も含む。ネットワークの例には、ローカルエリアネットワークや、エンタープライズネットワーク及びインターネットなどのワイドエリアネットワークを含む。かかるネットワークは、好適な技術に基づき、好適なプロトコルにより動作し、無線ネットワーク、有線ネットワーク、又は光ファイバーネットワークが含まれる。
リファレンスA:参照誘導データ探索の方法と装置
サーチエンジンやデータベース管理システムなどのデータ探索システムは、多量の情報を管理する。結果として、(例えば、一組のキーワードの形式の)サーチクエリに応じてユーザの関心情報を見つけることは困難である。
サーチに対する従来のアプローチは、関心情報の発見の負担をユーザにシフトすることが多い。例えば、すべての潜在的に関連する結果を、サーチクエリに応じて、ユーザに提示する。その後、ユーザは、最も関心のある情報を見つけるために、これらの結果を手作業で調べて、及び/又はランク付けしなければならない。潜在的に関連のある結果の数が多い場合、こういう場合が多いのであるが、ユーザは困ってしまい、探している情報を見つけられないかも知れない。
この問題を解決する従来の方法は、ユーザの嗜好をサーチプロセスに組み込むことである。ユーザの嗜好にしたがってサーチ結果を提示することにより、ユーザが探している情報を見つける役に立つ。しかし、ユーザの嗜好を指定する従来のアプローチは、ユーザの嗜好が指定される方法を非常に制限してしまう。
例えば、多くのサーチサービスに使われており、図7に示したデータ探索モデルを考える。クエリインタフェース12を用いて、キーワード及び/又は属性値の形式のクエリ述語(例えば、「トヨタの中古」で価格が[$2000−$5000])を収集する。クエリ結果は、メジャーソート/マイナーソートとして1つ以上の属性の値でソートされる(例えば、価格の次にレーティングで並べられ)。ユーザは、ソートされたクエリアンサーをスキャンし(16)、関心アイテムを見つけ、クエリ述語をリファインし、探索サイクルを繰り返す(18)。この「クエリ、ソート、そしてスキャン」モデルは、嗜好仕様の柔軟性を制約し、次の例でハイライトしたように、融通の利かないデータ探索方式になってしまう。
例1
エミィはカメラを買おうとオンラインカタログをサーチしている。エミィは、色が好ましくはシルバーで、黒やグレイではなく、レビューに「高品質」とのキーワードが含まれている、手頃な価格のカメラを探している。エミィは倹約家であり、第1の問題は価格パフォーマンスを満たすことであり、その次に色とレビューについての好みを満たすことである。
図7のデータ探索モデルにより、エミィは、価格の昇順に結果をソートできる。エミィは、結果をスキャンして、色を比較し、レビューを調べ、欲しいカメラを見つける必要がある。エミィがサーチ結果を探索するためにたどる経路は、主に彼女の価格嗜好によって決まるものであり、一方その他の嗜好はエミィの努力により探索タスクに組み入れられている。これにより、彼女の要求によく一致したアイテムを見つけられる可能性が制限される。
ユーザの嗜好を指定する従来のアプローチには、異なるタイプの嗜好を同時に支援しない点に加えて、その他の多くの欠点もある。例えば、嗜好仕様は互いに一貫性がない。典型例は、1次嗜好の中の嗜好にサイクルがあり(価格やブランドに基づきある自動車を他の自動車より好むようなアイテムの属性における嗜好)、これは嗜好の非移行性(non-transitivity)を示唆する。例えば、あるユーザは、トヨタよりホンダが好ましく、日産よりトヨタが好ましく、ホンダより日産が好ましいと言う場合がある。1次嗜好に一貫性があったとしても、2次嗜好(ブランド嗜好などの1次嗜好中の嗜好は、価格嗜好よりも重要である)に別の問題がある場合がある。例えば、一組の部分的順序の優先的合成によっては、一般的に、結果として得られる順序に移行特性を維持できない。データ探索の従来システムは、嗜好仕様に一貫性が無いと、サーチ結果をランク付けできない。
従来のデータ探索システムにおける嗜好の不適切な組み込みは、これらのシステムが異なるタイプの嗜好を組み込めないことに少なくとも部分的には起因する。例えば、上記の例において、嗜好は、全価格での順序(「全順序」嗜好)、色の間の順序(「部分順序」嗜好)、レビュー中に「高品質」との言葉があることによるブーリアン述語、及び他の嗜好より価格が重要であることの表示を含む。
他のタイプの嗜好を指定することが有用である他の状況は、ユーザが一ドメインについての大量のナレッジを有しているため、そのドメインにおける情報に対してユーザが嗜好を有している状況である。かかる正確な嗜好は、例えば1つ以上のスコアリング関数の形式で、指定され得る。しかし、同じユーザは、他のドメインについて大量のナレッジを有していないため、他のドメインの情報に対して不正確な嗜好を有することもある。この場合、嗜好は、例えば属性値の1つ以上の部分的順序の形式で、指定され得る。以下の例2に示すように、ユーザが両タイプの嗜好(すなわち、スコアリング関数の使用及び部分的順序の使用)を指定する必要がある場合が多い。
例2
アリスは買う自動車をサーチしている。アリスは、スポーツカーに関する嗜好を有し、SUVに関する嗜好はもっとゆるい。アリスはデータ探索システムにスポーツカーをランキングするスコアリング関数と、SUVの嗜好をエンコードする一組の部分的順序とを与える。アリスは、彼女の嗜好によってランキングされたレポート結果を期待している。
異なる嗜好タイプを統合し、ユーザ指定の嗜好により、ユーザクエリに応じてサーチ結果をランキングできるデータ探索システムは、従来のアプローチの上記の欠点のいくつかを解決できる。しかし、すべての実施形態がこれらの欠点のすべてを解決できるのではなく、ある実施形態はこれらの欠点のどれも解決しない。このように、言うまでもなく、本発明の実施形態は、これらの従来のアプローチの上記の欠点のすべて又はどれかを解決するものに限定されない。
したがって、ある実施形態では、アイテム間の異なるタイプのユーザ嗜好を指定するための嗜好言語を設ける。データ探索システムは、ユーザが嗜好言語を用いて嗜好を指定するのを支援する。指定された嗜好を用いて、一般嗜好モデルを構成し、次にそれを用いて、ユーザの嗜好に応じてアイテムのランキングをする。
アイテムは、どんなものであってもユーザが嗜好を示すアイテムであればよい。ある例では、アイテムは生産され、販売され、及び/又は購入されたどんなアイテムであってもよい。例えば、アイテムは自動車や航空券でもよい。ユーザ(例えば、コンシューマ)は、ある自動車よりも別の自動車に対する嗜好を有し、及び/又はある航空券より別の航空券を好むことがある。ある例では、アイテムは情報を含む。ユーザは、そのアイテムが含んでいる情報に少なくとも部分的に基づいて、あるアイテムよりも別のアイテムを好むかも知れない。例えば、コンテンツ(例えば、映画、音楽、画像、ウェブページ、テキスト、サウンドなど)をサーチしている時に、ユーザはあるコンテンツより他のコンテンツを好むかも知れない。例えば、あるユーザは、自転車に関する情報を含むウェブページよりも、自動車に関する情報を含むウェブページを見ることを好む。
あるアイテムは、1つ以上の属性を有し、又は関連付けられている。アイテムの属性は、そのアイテムに関連し、そのアイテムの特徴である。アイテムの属性は、そのアイテムを記述する特徴である。例えば、あるアイテムが購入したものである場合、そのアイテムの一属性はそのアイテムに関連する価格である。アイテムの属性は、そのアイテムを識別する特徴である。例えば、あるアイテムの特徴はそのアイテムの識別子(例えば、名称、シリアル番号、モデル番号)である。
属性は数値属性であってもよく、カテゴリー分けされた属性であってもよい。数値属性は1つ以上の値を有する。例えば、ある数値属性は、ある数字(例えば、5)であり、又はある範囲の値(例えば、1乃至1000)である。カテゴリー分けされた属性も1つ以上の値を有する。例えば、カテゴリー「色」のカテゴリー分けされた値は、ある色(例えば、赤)又は一組の色(例えば、{「赤」、「緑」}である。しかし、言うまでもなく、属性値は数及び/又はカテゴリーには限定されず、他のどんなタイプの値であってもよい。例えば、値は英字のストリングや英数字のストリングである。
あるアイテムは、それに関連する1つ以上の属性の値を有する1つ以上のチュープル(tuple)によりあらわされる。ある場合には、アイテムを表すチュープルは、そのアイテムに関連する各属性の値を有する。他の場合には、アイテムを表すチュープルは、そのアイテムに関連する属性の一部のみの値を有する。
図8は、一組のアイテムの例を示す。各アイテムは、それの属性の値を有するチュープル(tuple)により表されている。図8に示した例では、各アイテムは自動車であり、6つの属性、すなわち「ID」、「メーカ」、「モデル」、「色」、「価格」、「デポジット」に関連付けられている。この例では、すべてのアイテムが同じ属性を有しているが、これは本発明の限定ではない。異なるアイテムは互いに異なる属性を有してもよく、ある属性は未知の値であってもよい。各アイテムは属性値のチュープル(すなわち、集合)により表される。したがって、第1のアイテムは第1の組の属性値により示される特徴を有する。例えば、第1のアイテムは、図8に示した表の第1行のチュープルにより洗わされる。図示したように、この第1のアイテムは、識別子「t1」で識別される$1800の赤のホンダシビックである。この自動車を購入するには$500のデポジットが必要である。
ユーザは、一組のアイテム中、あるアイテムより別のアイテムに対する嗜好を示す。ユーザの嗜好は任意の好適なタイプであり、1次のユーザ嗜好、2次のユーザ嗜好、さらに高次のユーザ嗜好であり得る。
1次の嗜好は、アイテムの属性に関連する嗜好である。1次の嗜好はアイテムの属性の値に基づく。例えば、1次の嗜好は、あるアイテムの他のアイテムに対する、その2つのアイテムのもう1つの属性の値に基づく嗜好を表す。例えば、1次嗜好は、(属性「価格」の値である)価格が低いアイテムが、価格が高いアイテムより好まれることを示す。他の例では、1次の嗜好は、(属性「色」の値)赤いアイテム(例えば、自動車)が青いアイテムより好まれることを示す。
2次の嗜好は、1次の嗜好にわたる嗜好である。2次の嗜好は、どの1次嗜好がユーザにとってより重要かを示す。例えば、1次嗜好Aは、ある属性(例えば、「価格」)の値に基づき、1次嗜好Bは、他の属性(例えば、「色」)の値に基づく。2次の嗜好は、1次嗜好Aより1次嗜好Bの方が好ましい(すなわち、価格より色が重要である)ことを示す。
異なる多数のタイプの1次嗜好と2次嗜好があり、これらの嗜好のタイプは、第1と第2の嗜好のその他の側面とともに、セクションIIとセクションIIIでそれぞれより詳しく説明する。
データ探索システムは、データ、情報、又はナレッジを探索する任意のシステムである。データ探索システムによりユーザはシステムにクエリをすることができる。例えば、データ探索システムは、インターネットサーチエンジンやドメインスペシフィックサーチエンジン(例えば、会社や機関のイントラネットなどの特定の情報ドメイン、又はある主題の情報リポジトリをサーチするように作成されたサーチエンジン)などのサーチエンジンである。他の例では、データ探索システムは、ユーザクエリができるデータベースシステムである。
ユーザによりデータ探索システムに入力されるクエリは、いかなるタイプのクエリであってもよい。例えば、クエリは、ユーザが求めているものを示す1つ以上のキーワードである。ある場合には、クエリはユーザ嗜好である。しかし、言うまでもなく、ユーザ嗜好はユーザクエリとは別に、及び/又は独立に、指定されてもよい。例えば、ユーザは、複数のユーザクエリに当てはまる嗜好を指定できる。指定される嗜好は、1次及び/又は2次のユーザ嗜好など、いかなる好適なタイプの嗜好であってもよい。
ユーザが指定したい嗜好のタイプにかかわらず、データ探索システムは、ユーザが嗜好を指定するのを支援する。データ探索システムは、例えば、ユーザが嗜好言語を用いて嗜好を指定するのを支援する。データ探索システムが、ユーザが嗜好を指定するのをいかに支援するかに関するアプローチ例は、セクションIと以下のVIにさらに詳しく説明する。
(ユーザが指定したクエリ又はその他の好適なソースから)ユーザ指定嗜好が得られると、これらの嗜好から嗜好モデルが構成される。嗜好モデルは、異なるタイプの嗜好から構成してもよく、異なるタイプの1次嗜好及び/又は異なるタイプの2次嗜好から構成してもよい。
嗜好モデルは、嗜好モデルをエンコードするデータ構造により表される。データ構造は、嗜好モデルを表すのに必要な任意のデータを有し、例えば、嗜好モデルに関連する任意のパラメータを有する。
嗜好モデルをエンコードしているデータ構造は、任意の有体のコンピュータ読み取り可能記憶媒体に格納できる。コンピュータ読み取り可能記憶媒体は、任意の好適なコンピュータ読み取り可能記憶媒体であり、そのデータ構造によりエンコードされた嗜好モデルを用いる任意の物理的コンピューティングデバイスによりアクセスできる。
ある実施形態では、嗜好モデルは、グラフベースの嗜好モデルであり、嗜好モデルをエンコードしたデータ構造は、グラフベースの嗜好モデルを特徴付ける、嗜好グラフと呼ばれるグラフをエンコードする。嗜好グラフは、一組のノード(頂点)と、その一組のノード中のノードを接続する一組のエッジとを有する。エッジは有向エッジでも無向エッジでもよい。したがって、嗜好グラフをエンコードしたデータ構造は、そのグラフの頂点とエッジをエンコードすることにより、その嗜好グラフをエンコードする。グラフをエンコードする多数のデータ構造が、本技術分野では知られており、嗜好グラフをエンコードするのに使うことができる。本発明はこの点で限定されていないからである。
ある実施形態では、グラフのノードはアイテムに関連付けられる。例えば、グラフのノードは、アイテムを表すチュープルに関連付けられる。グラフは、クエリ中の1つ以上のキーワードに関するアイテムを表す。例えば、一組のアイテムが、ユーザが提供したクエリに応じて選択される。
あるアイテムの、他のアイテムに対する1次嗜好は、グラフ中のエッジとして表され、チュープルに関連するノードを接続するエッジは2つのアイテムに関連している。重みがグラフの各ノードに関連付けられ、そのエッジの終点のノードの1つに対する嗜好の程度を示す。重みは、1次嗜好及び/又は2次嗜好に基づき計算できる。グラフベース嗜好モデルの態様は、かかる嗜好モデルがユーザ指定嗜好からいかに構成できるかを含み、以下のセクションIVでより詳細に説明する。
嗜好モデルを用いて、一組のアイテム中のアイテムのランキングを求める。例えば、グラフベースの嗜好モデルを用いて、かかるランキングを構成する。グラフベースの嗜好モデルを用いて、多数の任意の方法で、かかるランキングを構成する。例えば、完全有向グラフがグラフベース嗜好モデルから得られ、アイテムのランキングが完全有向グラフに基づき得られる。他の一例として、マルコフ連鎖ベースのアルゴリズムをグラフベース嗜好モデルに適用して、アイテムのランキングを求める。一組のアイテム中のアイテムのランキングを求めるこれらの及びその他のアプローチは、以下のセクションVにさらに詳しく説明する。
言うまでもなく、嗜好グラフは便利な抽象化であり、ユーザ嗜好に関する推論にとって役に立つが、実際には、嗜好グラフは、その嗜好グラフをエンコードしたデータ構造を介して物理的システムで実施される。同様に、以下に説明する多くの構成(例えば、関係、スコープ、スコープコンパレータなど)は、コンピュータサイエンスなど様々な分野で使われる便利な抽象化であるが、各構成は、実際には、その構成を特徴付けるデータを表すデータ構造により、及び/又はその構成に関連した機能を実行するプロセッサ実施可能命令により実現される。かかるデータ構造とプロセッサ実施可能命令は、任意の好適な有体のコンピュータ読み取り可能記憶媒体上にエンコードできる。
したがって、読みやすさのため、(例えば、グラフ、関係、スコープ、スコープコンパレータなどの)構成は、その構成をエンコーディングしたデータ構造、及び/又はプロセッサにより実行された時、その構成に関連する機能を実行するプロセッサ実行可能命令を指す。かかるデータ構造やプロセッサ実行可能命令を毎回明示的に言うのは面倒だからである。
また、言うまでもなく、本発明の上記の実施形態は、多くの方法で実施できる。例えば、実施形態は、ハードウェア、ソフトウェア、又はこれらの組合せを用いて実施できる。ソフトウェアで実施した場合、ソフトウェアコードは、格納されたプログラム命令であって、1つのコンピュータに設けられていようが、複数のコンピュータに分散していようが、任意の好適なプロセッサ又はプロセッサの集まり(例えば、1つ又は複数のマイクロプロセッサ)で実行できるプログラム命令として実施できる。
プログラム命令を有するソフトウェアモジュールは、実施形態に応じて任意の多数のタスクを実行するように設けられる。例えば、嗜好モデルを構成する1つまたは複数のソフトウェアモジュールが設けられる。他の例として、嗜好モデル(を表すデータ構造)に基づく一組のアイテムのランキングを行うソフトウェアモジュールを設ける。他の一例として、データ探索システムに関連する多くの機能を実施する命令を有するソフトウェアモジュールを設ける。しかし、言うまでもなく、上記の例は限定するものではなく、上記の例に加え、又はその替わりに、いかなる機能を実行するソフトウェアモジュールを提供してもよい。
I.設計目標
ある実施形態では、ユーザ嗜好を利用するデータ探索システムは、以下の設計目標の一部又は全部を反映する:
−ガイダンス:システムはユーザを支援してユーザの嗜好を定式化させる。システムはインターラクティブ性能管理を支援する。例えば、システムは、ユーザに情報を提供し、ユーザが嗜好を指定し及び/又は修正するのに役に立つ。一具体例として、システムは、ユーザの嗜好をいかに修正するかに関する情報を提供し、ユーザのサーチの範囲を広く又は狭くする。他の一具体例として、システムは、ユーザに提示されたアイテムのランキングが修正されるように、ユーザの嗜好をいかに修正するかに関する情報を提供する。しかし、これらは単なる例であり、システムはユーザを支援して、セクションVIにより詳しく説明するように、いろいろな方法でユーザの嗜好を定式化する。
−柔軟性:アイテムの任意の一部に対する異なるタイプの嗜好の仕様をサポートする。これは「コンテクスト」と呼ばれることもある。システムは、嗜好の自然な記述を受け入れ、これらの記述を嗜好構成にマッピングする。
−起源:システムは、生成された結果を入力された嗜好に関係づけることにより、いかにサーチ結果を生成し、ランキングするかの正当性を提供できる。
図9は、上記の設計目標を反映する嗜好をモデル化するプロセス例を示すフローチャートである。図9に示したように、データ探索システムは、1人以上のユーザからクエリを受け取るシステムである。例えば、このシステムは、データベースシステムやサーチエンジンであり、クエリは1つ以上のキーワードを含む。
ガイダンス目標に向けて、システムはユーザを支援して嗜好を指定させる。ある実施形態では、かかる支援は、データ探索をガイドするのに用いられる様相の形式で、事前に計算されたサマリーに基づく。各様相は、ある数字に関連付けられ、その数字は、ユーザに、予想される結果の数に関する推定を提供する。したがって、様相により、ユーザは、基礎となる一組のアイテム及び/又はドメインと、サーチ結果が嗜好のチューニングによりいかに影響を受けるかとに関する素早い粗いビューを得ることができる。
例えば、システムは、複数のチュープル(各チュープルは1つ以上の属性の1つ以上の値を有することを思い出して欲しい)を格納するように構成されたメモリを有し、ユーザから属性の所望の値の範囲を受け取る。それに応じて、システムは、値がその範囲内にある属性の値を含むチュープルの数を示す整数を出力する。一例として、カテゴリー化された属性の場合、様相(facet)は可能な属性値(例えば、「色=赤」)を有し;数値属性の場合、様相は可能な値の範囲を有する(例えば、「[$1000乃至$5000]の範囲の価格」)。さらに、ユーザは、複数の属性に対してブーリアン条件として、カスタム様相(例えば、「色=赤AND価格<$5000」)を定義できる。システムは、これらの様相の夫々に数字を関連付ける。その数字は、これらの様相と一貫性のある期待されるチュープルの数を示す。
柔軟性目標に向けて、システムは、コンテクスト化した嗜好の概念を受け入れる。この場合、ユーザは、アイテムの異なるサブセット(コンテクスト)に対して、異なる嗜好仕様を割り当てられる。ユーザは、所定の様相を用いて、又はカスタム様相を定義して、コンテクストを定義できる。セクションIIとIIIで説明するように、ユーザは、コンテクスト内で及びコンテクストにわたり、1次嗜好と2次嗜好を表す柔軟性を有する。また、コンテクスト化した嗜好は、ユーザのプロファイルの一部であり、ここに開示した、また2009年9月8日に出願した米国非仮出願第12/555,293号(発明の名称「コンシューマにより提供されたコンテクストを用いた同期メッセージング」)に開示された手法のどれかにより実現できる。この文献はここに参照援用する。このように、ユーザの要求に基づき、ロードされ、保存され、及び/又はリファインされる。
起源目標に向けて、図9に示したデータ探索システムは、入力された嗜好のうちどの嗜好が、最終結果のランキングでアイテムの各ペアの相対的な順序に影響するかに関する情報を維持する。この機能は、異なるシナリオにおける嗜好の分析とリファインメントに有用である。例には、結果のランキングに独占的な効果を有する嗜好構成の発見、ある嗜好構成の影響の増減、ある嗜好構成の削除の効果の理解が含まれる。
データ探索システムがユーザを支援して、嗜好を入力させる別の方法は、セクションVIで説明する。
II.1次嗜好
ある実施形態では、嗜好言語は異なる粒度レベルでのペアの嗜好のキャプチャに基づく。アイテムの記述が関係モデルに続き、各アイテムはチュープルとして表される。嗜好は、既知のスキーマを有する関係Rに対して入れられる。
我々の第1の構成を用いて、1次嗜好を表すコンテクストを定義する。
定義1[スコープ]:スコープRiはR中のチュープルの任意のカラでないサブセットである。
スコープは、すべての可能なチュープルの空間を、嗜好関係を構成するのに関心のあるチュープルのサブセットに制限するブーリアンメンバーシップ特性を定義する。かかるメンバーシップ特性は、Rに対して提起されたSQLクエリを用いて定義される。例えば、図10は、図8に示した関係「自動車」中の6つの異なるスコープR1...R6を示す。ここで、スコープはSQLクエリを用いて定義されている。しかし、言うまでもなく、かかるメンバーシップ特性は、他の多くの方法を用いて定義できる。一例として、SQL以外のデータベース言語を用いてかかるメンバーシップ特性を定義してもよい。他の一例として、メンバーシップ特性は、一組の変数を用いて定義でき、データベース言語は必要ない。
図10に示したように、スコープは交差しても良い。このように、関係Rのチュープルは、ゼロ個、1個、2個、またはそれ以上のスコープに属す。どのスコープにも属さないチュープルは、嗜好仕様の点で面白くない。よって、明確性のため、今後のすべての説明で、チュープルは少なくとも1つのスコープに属するものとする。
定義2[スコープコンパレータ]:RiとRjをR中の2つのスコープとする。スコープk音波レータfijは、区別できるチュープルのペア(1つはRiから、もう1つはRjから)を取る関数であり、(Riのチュープルが好ましい場合)例えば1の第1の値を返し、(Rjのチュープルが好ましい場合)例えば例えば−1の第2の値を返し、又は(嗜好が無い場合)ヌル値「⊥」を取る。
スコープコンパレータは、1次嗜好を定義する嗜好言語構成である。ある場合には、スコープコンパレータはユーザにより定義される。しかし、他の例では、スコープコンパレータはコンピュータにより自動的に定義される。さらに、他の実施形態では、スコープコンパレータは、手動及び自動の手法の組合せにより定義される。
スコープコンパレータに対する一般的インタフェースは、2つのチュープルを受け取り、あるチュープルの他のチュープルに対する嗜好か、又は嗜好がないかを返す。チュープルtiごチュープルtjより常に好む時、tiはtjより優位に立つと言い、
外1
図11は、図10に示したスコープに定義された5つの異なるスコープコンパレータを示す。図11において、スコープコンパレータf3,4とf1,5は無条件である(すなわち、スコープ定義によりキャプチャされた条件を越えるいかなる条件もテストせずに、1次嗜好を生成する)。他方、スコープコンパレータf1,2、F5,6、f6,2は、条件付きである(すなわち、ある論理により条件付けられた嗜好関係を生成する)。
アルゴリズム1 スコアベース嗜好
条件付きスコープコンパレータにより、スコープ定義及び/又はコンパレータロジック(例えば、f6,2は価格とメーカーの属性における合成嗜好を定義する)で与えられた複数の属性にわたる合成嗜好を定義できる。
スコープ定義と嗜好コンパレータの一般性により、異なるタイプの嗜好を、異なるセマンティックによりエンコードできる。以下、上記の言語構成を用いて、異なるタイプの嗜好をエンコードするテンプレートを与える。
テンプレート1[スコアベース嗜好]
嗜好は、スコアリング関数Sを用いて定義される。この場合、スコアがよいチュープルが好まれる。一般性を失わず、限定をせずに、スコアが高い方がよいと仮定し、アルゴリズム1により、テンプレートを用いて、スコアベースの嗜好を指定できる。
(関係R全体でもよい)スコアRiの全順序を、アルゴリズム1のテンプレートを用いてコンパレータfi,jを定義することにより、エンコードできる。
テンプレート2[部分順序嗜好]属性xに対して、Pxをxのドメイン上で定義された部分順序であるとする。部分順序は、xのドメインの値viとvjの集合Px={(vi>vj)}として表せる。Pxは:
外2
部分順序ベース嗜好は、アルゴリズム2により与えられるテンプレートを用いてエンコードできる。
テンプレート3[スカイライン嗜好]
一組の属性Aがあるとして、空でないサブセットX⊆A、ここで∀x∈X:ti,xがtj,xより好まれる、があれば、チュープルtjよりチュープルtiが好まれる。一方、他の属性x′∈A−Xについて、ti,x′とtj,x′には嗜好はない。 スカイライン嗜好は、アルゴリズム3により与えられるテンプレートに示したようにエンコードされる。
アルゴリズム2 部分順序嗜好
テンプレート4[同時分析嗜好]一組の属性Aが与えられたとき、同時分析により、Aの属性値間の嗜好を同時にエンコードされる。これは、A中の値の各組合せを一意的なランクにマッピングする関数CAとして表せる。関数CAはA中の値のすべての可能な組合せのドメインの一部分である。よって、CA下でランクにマッピングされないAの値の組合せがある。CAに基づく同時分析嗜好は、アルゴリズム4により与えられるテンプレートを用いて表される。
次の例は、同時分析嗜好を指定し管理する一例である。
例3:
自動車に関するアリスの嗜好は、図12に示したように、属性ペア(メーカ、色)及び(メーカ、価格)により同時に表される。各セルの値は、属性値の各組合せに割り当てられたランクである。
同時分析は、属性値の組合せに割り当てられるランクを用いて、各属性値の効用(部分価値)を求めるのに用いられる加算的効用モデルに基づく。目的は、属性値の効用の合計が与えられたランキングを再構成することである。図12において、例えば、「ホンダ」には効用値40が割り当てられ、「赤」には効用値50が割り当てられている。よって、「ホンダ、赤」のスコアは90であり、メーカ・色嗜好において割り当てられたランク1になる。効用値は回帰を用いて計算できる。例えば、線形回帰を用いて計算できる。留意点として、属性値とランクの組合せの間のマッピングはモデル化される。
III.2次嗜好
2次嗜好を定義する主な言語構成は、嗜好順序(POrder)であり、以下に定義する:
定義3[POrder]:一組のスコープコンパレータFが与えられたとき、POrderはF中のコンパレータの置換である。
POrderは、その相対的な重要性に基づくスコープコンパレータの順序を表す。POrderは、以下にセクションIVでより詳細に説明するように、2次嗜好のセマンティックに基づき、異なる1次嗜好の強さを定量化する。
定義4[POrderプロジェクション]:Aを、コンパレータFのセットにより定義されたPOrderであるとする。F′⊂Fの場合、
外3
でAにより順序付けられたF′のコンパレータの全順序を示す。すなわち、
外4
アルゴリズム4 同時分析嗜好
例えば、POrderA=<f1,f2,f3>、コンパレータのサブセットF′={f1,f3}である場合、
外5
POrderプロジェクションA′とすると、スコープコンパレータfa∈A′に対して、fa(ti,tj)=1である場合、
外6
外7
であり、fb(ti,tj)=−1である場合、他のスコープコンパレータfb∈A′は無い。
異なるタイプの2次嗜好をPOrderを用いてエンコードできる。
−優先順序付き嗜好合成この場合、2次嗜好は、コンパレータの全順序
外8
として定義される。これは、fiに対応する1次嗜好がfi+1に対応する1次嗜好より重要であることの要求である。嗜好の優先順序付き合成は、Oにより与えられる同じコンパレータを有する単一のPOrderとして定式化される。
−部分順序嗜好スコープコンパレータのセット上の部分順序POは、異なるスコープコンパレータの相対的重要性に関する部分的情報をエンコードする。ΩをPOと一貫性のあるコンパレータ順序とする。ここで、順序ωは、ω中の任意の2つのスコープコンパレータの相対的順序がPOと矛盾しないとき、POと一貫性がある。集合ΩはPOの線形延長の集合と呼ばれる。例えば、図13は、4つのコンパレータについて定義された部分順序と、対応する線形延長の集合を示す。線形延長の集合は、POグラフに単純な反復アルゴリズムを用いて得られる。部分順序嗜好は、Ωにより与えられるPOrderの集合として定式化できる。
−ペア嗜好:スコープコンパレータにおける一組のペア2次嗜好
外9
外10
は、fiに対応する1次嗜好がfjに対応する1次嗜好より重要であるとの要求を表す。ペア2次嗜好PWは、一組のPOrder
外11
−パレート嗜好合成すべてのスコープコンパレータの重要性は等しい。少なくとも1つのスコープコンパレータが
外12
外13
外14
が作られる。パレート嗜好合成は、各POrderは単一コンパレータよりなる一組のシングルトンPOrderとして定式化される。
−嗜好アグリゲーション:スコープコンパレータは嗜好関係に関する投票者として動作する。少なくとも1つのスコープコンパレータが
外15
外16
が作られる。嗜好合成は、各POrderは単一コンパレータよりなる一組のシングルトンPOrderとして定式化される。
IV.編集
一組のスコープとスコープコンパレータがあるとき、嗜好グラフと呼ぶ、嗜好のグラフベース表現を求める。このセクションでは、与えられた一組のスコープとスコープコンパレータ(1次嗜好)を「編集」するアルゴリズムを説明する。嗜好グラフは形式的には次のように定義される:
定義5[嗜好グラフ]:有向グラフ(V,E)であり、VはRにおける一組のチュープルであり、(ti,tj)に適用でき1を返す、又は(tj,ti)に適用可能であり−1を返す少なくとも1つのコンパレータがあるとき、エッジeij∈Eはチュープルtiをチュープルtjに接続する。エッジeijのラベルは、l(eij)と記し、tiのtjに対する嗜好を誘導するコンパレータのセットである。
編集アルゴリズムをアルゴリズム5で説明する。このアルゴリズムは、すべての入力スコープに含まれるチュープルの交わりを用いて、嗜好グラムのノードとも呼ばれる一組の頂点を構成する。言い換えると、嗜好グラフの各ノードは一チュープルに関連付けられている。したがって、嗜好グラフの各ノードは、一アイテムを表す。区別できるチュープルの各ペアに対して、適用可能なスコープコンパレータのセットを見つけ、グラフエッジとそのラベルの計算に用いる。したがって、嗜好グラフ中のエッジは、1次嗜好に対応し、そのエッジの端のノードにより表される2つのアイテムの一方のユーザ嗜好を示す。
嗜好グラフのエッジは、有向エッジであり、そのエッジに関連する1次嗜好により示される好ましいデータアイテムと関連するノードに向いている。しかし、ある実施形態では、エッジは無向であり、エッジの端にあるノードのどちらが好ましいかの表示が別に設けられる。例えば、かかる表示は、負の重みが一方のノードに対する好みを示し、性の重みが他方のノードに対する好みを示す符号付き重みを用いて与えられる。
図14は、編集アルゴリズムの出力の例を示す。具体的に、図14は、図10を参照して説明した一組のスコープコンパレータ{f1,2、f3,4、f5,6、f6,2、f1,5}から得た嗜好グラフを示す。各エッジは一組の支援コンパレータでラベル付けされている。例えば、エッジe2,6について、l(e2,6)={f1,2、f6,2}である。スコープコンパレータf1,2とf6,2によると、チュープルt2はチュープルt6より好まれるからである。
スコープは交差し、任意のスコープコンパレータロジックが許容されるので、誘導される嗜好グラムはサイクリックグラフである。例えば、図中、f6,2によるとt1はt6より好まれ、f1,2によるとt6がt1より好まれるので、f1−t6サイクルがある。アルゴリズム5により嗜好グラフの構成は、グラフエッジの移行性を保証しない。例えば、図14において、エッジe2,6とe6,1の存在は、エッジe2,1の存在を示すものではない。
アルゴリズム5 嗜好編集
嗜好グラフの構成と処理の計算複雑性は、チュープルの数の2乗である。嗜好グラフの表現力と実施のスケーラビリティとの間にはトレードオフの関係がある。しかし、ある実施形態では、嗜好は非常に「選択的」であり、そのため嗜好グラフは希薄である。
嗜好グラフのサイズによるスケーラビリティ問題は、多くの方法で解決できる。一アプローチは、嗜好グラフの保存と管理がクラウド中の複数のノードにわたり分散しているクラウド環境における分散処理の利用である。例えば、セクションV.Aで説明するランキングアルゴリズムは、クラウド環境における機能に容易に合わせられる。他のアプローチは、近似処理を行うことにより、または管理される嗜好に閾値を設けて、弱い嗜好を早期に切り捨てることにより、嗜好クエリ結果の精度を犠牲にして、嗜好グラフのサイズを削減することを含む。
嗜好グラフにより、統一的なグラフィカル表現を用いて、異種のユーザ嗜好がエンコードされる。しかし、ある実施形態では、かかる表現を用いてクエリ結果のランキングを計算するには、嗜好の強さの追加的定量化が必要である。嗜好の強さは、1次嗜好と2次嗜好のセマンティックに基づき定量化され、嗜好グラフによりエンコードされた嗜好情報が保存される。嗜好の強さは、嗜好グラフのエッジの重みにより表される。
嗜好グラフG(V,E)が与えられると、グラフエッジEのセットはペアの1次嗜好を表す。具体的に、エッジeijは、1つ以上のスコープコンパレータにより、チュープルtjよりチュープルtiが嗜好されることを表す。ある例では、重みwijがエッジeijに関連付けられる。重みwijは、第2ノードより第1ノードが嗜好される程度を示す重みである。より強い嗜好はより大きい重みで示される。ある例では、重みは0以上1以下であり、重みwijとwjiの和は1である。嗜好グラフにおいて接続されていない頂点は、その対応するチュープルが互いに嗜好の点で違いがないことを示す。
ある実施形態では、重みの計算では、アイテムAのアイテムBに対する1次嗜好の数を、アイテムAのすべての嗜好を(嗜好しないことも含め)示すすべての1次嗜好の数で割る。
例えば、Fを、嗜好グラフに関連するすべてのスコープコンパレータの集合とする。Aを、選択された2次嗜好のセマンティックによる、FのPOrderの集合とする。Fij=l(eij)∪l(eji)とする。すなわち、Fijは、チュープルtiとtjの間の嗜好関係を示すスコープコンパレータの集合である。Aijを、Fijに基づくAのPOrderの空でないプロジェクションのマルチセット(multiset)であるとする。
外17
外18
であるPOrderプロジェクションの集合であるとし、同様に、
外19
外20
であるPOrderプロジェクションの集合であるとする。すると、
外21
外22
すなわち、wijは、エッジ(ti,tj)に関するコンパレータに基づき計算されるPOrderプロジェクションの集合中、
外23
であるPOrderプロジェクションの大きさに対応する。重みwjiは同様に集合
外24
を用いて定義される。wij+wji=1となる。パレート合成の場合、嗜好グラフには、2つのエッジeijとejiのうち多くても1つがある。そうでなければ、tiとtjが比較できないからである。したがって、パレート合成では、エッジejiがある時はすねにグラフエッジeijは削除する。
次に、2次嗜好の異なるセマンティックの下でいかに嗜好重みを計算するか例示する例を説明する。
例4
図15は、図14の嗜好グラフに対応する、異なる2次嗜好のセマンティックスの下で作られた、3つの重み付け嗜好グラフを示す。2次嗜好のセマンティックスが異なるため、エッジ重みが異なり、及び/又は元の嗜好グラフの一部のエッジが削除される。
−優先順序付けしたコンパレータの下では、e1,6は削除される。図示したコンパレータの優先順位に基づくと、
外25
となるからである。
−部分的順序付けされたコンパレータの下では、w23=w32=.5である。関連するコンパレータ(t2,t3)の集合は{f5,6、f1,5}であり、与えられた部分的順序から4つのPOrderプロジェクション{<f1,5、f5,6>、<f1,5、f5,6>、<f5,6、f1,5>、<f5,6、f1,5>}となる。ここで、2つのPOrderプロジェクション<f5,6、f1,5>、<f5,6、f1,5>の下では
外26
であり、他の2つのPOrderプロジェクション<f1,5、f5,6>、<f1,5、f5,6>の下では
外27
である。
−ペア嗜好の下では、w5,6=0:33である。<f6,2>に基づき
外28
だからである。<f6,2>は3つのPOrderプロジェクション{<f5,6>、<f6,2>、<f5,6>}のうちの1つである。
V.ランキング
セクションIVで説明したグラフベースの嗜好モデルを用いて、一組のアイテム中のアイテムのランキング(全順序)を求める。これは多くの方法で行える。セクションV.Aに説明するアプローチは、オーソリティベースランキングアルゴリズムに基づくランキングを求める。セクションV.Bに説明する他の一アプローチは、確率的アルゴリズムであり、グラフベース嗜好モデルから、トーナメントと呼ばれる一組の完全有向グラフを求め、その一組から少なくとも1つのトーナメントのランキングを計算することに基づく。
A.重要性フローランキング
アイテムの全順序(または、等価的に、これらのアイテムを表すチュープル)は、重み付けされた嗜好グラフによりエンコードされた嗜好重みを用いて、各チュープルの重要性の尺度を推定することにより求められる。ページランク重要性フローモデルに関する手法を用いてかかる重要性の尺度を計算できる。ページランクモデルでは、ランダムサーfaがウェブページを訪問する頻度に基づき、そのウェブページにスコアが割り当てられる。ページはこのスコアによりランキングされる。直感的には、多くの重要なページにより参照(pointedto)されているページはやはり重要である。
ページランク重要性フローモデルは、本来、アイテム間のバイナリ関係に基づきランキングを計算する必要がある問題に適している。嗜好の場合には、このモデルの適用は、他の多くの重要なアイテムより嗜好されるアイテムは重要であるとの考えに基づく。
G=(V,E)を支配的グラフ(すなわち、エッジeijが
外29
を意味する有向グラフ)とし、L(ν)とU(ν)をそれぞれνにより支配されたノードのセット、及びνを支配するノードのセットとする。α∈[0,1]をダンピングファクタと呼ばれる実数とする。ページランクアルゴリズムは、本技術分野で知られているように、ノードνiのページランクスコア、γiと記す、を
ノードνのページランクスコアは、νにより支配されたすべてのノードv′のページランクスコアを合計し、v′を支配しているノードの数で規格化することにより決まる。式(2)がマルコフ連鎖の静的分布に対応する場合、
外30
であり、連鎖が削減できず(すなわち、支配的グラフが強く接続されている)、非周期的である場合、一意的な静的分布があることが知られている。入ってくるエッジを有さないノード(すなわち、他のノードにより支配されていないノード)は、マルコフ連鎖のシンクになり、連鎖が削除できなくなる。この問題は、シンクノードに自己ループを追加することにより、又はマルコフ連鎖にシンク状態から他のすべての状態への(一様な)遷移を追加することにより処理できる。ダンピング係数αは、各ノードは他のすべてのノードから到達できなければならないとの要求をキャプチャするものである。αの値は、グラフのエッジをたどるのをやめて、新しいランダムノードからマルコフ連鎖を開始する確率である。これは、グラフの他の部分へのエッジを有さないノード間のサイクルにトラップされることを避ける役に立つ。
したがって、ある実施形態では、ページランクベースのアルゴリズムを用いて、重み付けした嗜好グラフから、アイテムの全順序を計算する。ここで、ページランクベースのアルゴリズムは、グラフに対して定義されたマルコフ連鎖の特徴に基づき、グラフから値を計算することに基づくアルゴリズムを指す。上記の重み付け嗜好グラフと、ページランクアルゴリズムが従来適用されるグラフとの間の違いは、重み付け嗜好グラフがエッジに関連する嗜好重みを有することである。嗜好重みは、ある状態から他の状態への遷移(フロー)の確率に、重み値によりバイアスをかける。対照的に従来の場合には、遷移は一様に定義される。
ページランクベースアルゴリズムは次のように進行する。重み付け嗜好グラフの開始チュープルt0が与えられた場合、ランダムサーファーが、エッジ重みによりバイアスをかけられた、t0を支配している一組のチュープルのうちの次のチュープルt1にジャンプする。直感的には、これは、チュープルが、(ある嗜好の点で)より望ましいチュープルにより常に置き換えられるプロセスに対応する。留意点として、チュープルへの訪問は、エッジの反対方向で行われる(ジャンプは支配されているチュープルから支配しているチュープルである)。よって、このプロセスにより、より頻繁に訪問されるチュープルは、訪問頻度が低いチュープルより望ましいと言える。チュープルをその訪問頻度によりランキング(ページランクベーススコア)すると、そのグローバルな望ましさに対応する順序を画定できる。
重み付け嗜好グラフは、正方行列Mを用いて表される。ここで、各チュープルはMの行と列に対応する。Ejを、重み付け嗜好グラフにおけるチュープルtjに入るエッジのセットとする。エントリーM[i,j]は
よって、Mの各列のすべてのエントリーの和は、その列に対応するチュープルに入るエッジがない限り、1.0である。すべてのエントリーが非負であり、すべての列のエントリーの和が1.0である行列は、列確率行列と呼ばれる。確率行列は、静的分布が、我々がランキングする必要がある重要性尺度のセットであるマルコフ連鎖を画定する。連鎖の削除不能性を維持するため、シンク(嗜好グラフにおいて入ってくるエッジを有さないノード)を無くす必要がある。各シンクノードに重み1.0の自己ループを追加することにより、シンクの問題を処理する。
Γをページランクスコアベクトルとする。そして、前の行列表示に基づき、ページランクスコアは式Γ=M・Γを解くことにより得られる。これは、固有値1に対応するMの固有ベクトルを見つけることと同じである。実際にページランクスコアの計算に用いられる解は、反復パワー法を用いるものである。ここで、最初に初期ベクトルΓ0を選択し、次に次のベクトルΓ1=M・Γ0を求めて、Γを計算する。 このプロセスを繰り返し、繰り返しT−1において求めたベクトルΓT−1を用いて、繰り返しTにおいてベクトルΓTを生成する。収束について、各繰り返しTにおいて、ΓTのエントリーは合計が1.0になるよう規格化される。実際には、パワー法が収束するために必要な繰り返し回数は、好適であれば何回でもよい。例えば、数十ないし数百の繰り返しを使用できる。
図16は、図15に示した優先順位付けしたコンパレータを有する重み付け嗜好グラフのページランク行列を示す。t4が、入ってくるエッジが無いシンクノードである(すなわち、t4は他に支配的チュープルがない)。したがって、t4に、重み1.0の自己ループを追加する。これは行列のエントリーM[4,4]により表される。ダンピング係数αの典型的な値は、例えば0.15であるが、0乃至0.5の間の任意の値でもよい。
B.確率的ランキング
アイテムの全順序(またはトップランクのアイテム)は、嗜好モデルから求めた完全有向グラフから求められる。完全有向グラフ(トーナメントとしても知られる)からアイテムの全順序を計算することは、トーナメントの解を見つけることである。この問題は次のように言うことができる。集合に再帰的でない、非対称な完全バイナリ関係が与えられたとき、この集合の最大要素の集合を求めよ。トーナメントの解を求める方法の例としては、ケンドールスコアを計算し、コンドルセウィナーを見つける方法がある。
しかし、言うまでもなく、セクションIVで説明した嗜好グラフは必ずしもトーナメントでなくてもよい。具体的には、嗜好グラフは対称的で不完全であってもよい。
−対称性:嗜好グラフには両方のエッジeijとejiがある、
−不完全性:両方のエッジeijとejiが嗜好グラフには無い。
対称性問題は、あるペアの嗜好が異なる重みを有することを示唆し、不完全性は、あるペア嗜好が未知であることを意味する。
ある実施形態では、嗜好グラフからランキングを求める確率的アプローチを用いても良い。かかるアプローチは、嗜好グラフから1つ以上のトーナメントを求めることに依存する。各トーナメントは確率に関連付けられる。そのため、重み付け嗜好グラフは、可能性のあるトーナメントの空間のコンパクトな表現とみることができる。各トーナメントは、対称で完全な有向グラフを求めるように嗜好グラフを直すことにより求める。トーナメントを構成するため、嗜好グラフに2つのリペア動作を行う。
−エッジの削除この動作を行うと、関連するエッジの1つを削除することにより、2レングス(2-length)サイクルを削除する。
−エッジの追加この動作を行うと、失われたエッジを追加することにより、グラフを増強できる。
前述の通り、重みwijの値は、(ti,tj)に関連するすべてのPOrderの集合中の、
外31
であるPOrderを選択する確率を表す。wijを、チュープルtjよりチュープルtiが嗜好される確率として解釈する。さらに、異なるチュープルペアのwij値の独立性を仮定する。各チュープルペア(ti,tj)について、wij>0かつwji>0であれば(すなわち、tiとtjが2レングスサイクルに含まれていれば)、動作「remove edge」により確率wjiでエッジejiが削除され、さもなければエッジwjiが削除される。あるいは、wij=0かつwji=0であれば(すなわち、tiとtjが2レングスサイクルに含まれていれば)、動作「add edge」により、同じ確率0.5でエッジeij又はejiの一方が追加される。
上記の確率的プロセスに基づき、重み付け嗜好グラフのリペアにより、確率が残りのすべてのグラフエッジの確率の積により与えられるトーナメント(非再帰的、非対称な完全有向グラフ)が生成される。cを嗜好グラフ中の2レングスサイクルの数とし、dを接続されていないチュープルペアの数とする。すると、可能なトーナメントの数は2c+dである。
図17は、重み付け嗜好グラフと、それに対応する可能なトーナメント{T1,...,T8}とを示す。図示した嗜好グラフは2つの2レングスサイクル(t1−t2及びt2−t3)と、接続されてないチュープル(t2,t4)のペアとを有し、それゆえ可能なトーナメントの数は8である。各トーナメントの確率は、そのエッジに関連する確率の積により与えられる。例えば、T1の確率は0.09であり、これはw2,1、w2,3、及びw4,2を表す0.3、0.6、及び0.5の積である。
トーナメントTとチュープルOの全順序とが与えられたとき、Oにおいて
外32
外33
であるとき、(ti,tj)の相対的順序に対して、OがTに違反すると言う。トーナメントの違反を最小数にしてチュープルの全順序を計算する問題は、NP困難として知られている。トーナメントから全順序を計算する複数のヒューリスティック解法が提案されている。我々は、ケンドールスコアを用いて全順序を計算することにフォーカスする。チュープルtのケンドールスコアは、そのトーナメントによりtにより支配されたチュープルの数である。
可能なトーナメントの空間により、確率的ランキング尺度のどれによっても、チュープルの全順序を計算できる。2つの具体的な尺度を以下に説明する。
−最も可能性の高いトーナメントランキング確率が最も高いトーナメントに基づいてチュープルの全順序を計算する。
−期待ランキングすべての可能性のあるトーナメントの空間における期待ランキングに基づきチュープルの全順序を計算する。
最も可能性の高いトーナメントの発見は、嗜好グラフにおいて各2レングスサイクルに対して、大きな重みを有するエッジを維持し、接続されていないチュープルの各ペアの任意のエッジを加えることにより行う。この方法によれば、すべての可能性のあるトーナメントにおける確率が最も高い複数のトーナメントがある。これらのトーナメントのどれかの下で計算された全順序が、要求されたランキングである。図17の例では、トーナメントT2とT6が最も可能性が高いトーナメントであり、それぞれ確率0.21である。ケンドールスコアを用いたT2のチュープルの全順序は、<t1,t4,t2,t3>であり、一方、T6のチュープルの全順序は<t1,t2,t3,t4>である。nを嗜好グラフ中のチュープルの数とすると、アルゴリズムの複雑性はO(n)である。嗜好グラフのすべてのエッジを訪問する必要があるからである。
期待ランキングの発見は、可能なトーナメントの空間を用いて各チュープルの期待ケンドールスコアを計算することにより行う。チュープルtiのスコアを、可能なトーナメントの空間により分布が与えられるランダム変数siとしてモデル化する。図17に示した例では、t1は確率合計0.3で{T1,T3,T5,T7}中の一チュープルを支配し、確率合計0.7で{T2,T4,T6,T8}中の2つのチュープルを支配する。よって、ランダム変数siは、確率0.3で値1を取り、確率0.7で値2を取る。よって、期待値は、1×0.3+2×0.7=1.7である。
各チュープルの厳密な期待スコアを計算するには、可能性のあるトーナメントの空間を求めなければならないが、これは可能性のあるトーナメントの数が指数関数的に増加するので、不可能である。そこで我々は、各チュープルtiのsiの期待値を近似して、推定した期待スコアに基づきチュープルをランキングするサンプリングベースアルゴリズムを提案する。L(ti)を、重み付け嗜好グラフにおいて、tiにより支配されたチュープルのセットとする。
チュープルt′について、確率wijで、Zに各チュープルtj∈L(ti)を加えることにより、サンプルZが生成される。すべてのサンプルは独立に生成される。よって、si分布からのスコアサンプルは|Z|により与えられる。siの期待値は生成されたスコアサンプルの平均として推定される。周知であるが、サンプル平均は、非常に多数の独立なサンプルのセットから計算すると、真の分布平均のバイアスがかかっていない推定である。nを嗜好グラフのチュープルの数とし、mを各チュープルのサンプル数とすると、アルゴリズムの複雑性はO((nm)2)である。各チュープルの支配されたセットにm回アクセスして、m個のスコアサンプルを生成するからである。
VI.インターラクティブ嗜好仕様
データ探索システムはユーザが嗜好を指定するのに役に立つ。ある実施形態では、嗜好はインターラクティブに指定される。システムは、一連のプロンプト、ディスプレイ、及び/又はユーザがシステムに供給する入力タイプの表示により、ユーザとインターラクトする。本システムは、ユーザが嗜好を指定するのを支援する情報をユーザに提供する。
データ探索システムはユーザがシステムにクエリをするのに役に立つ。この点、データ探索システムはユーザが嗜好を指定するのを支援し、ユーザに、指定された嗜好によりランキングされたクエリ結果を出力する。
図18は、ユーザがデータ探索システムにクエリをするのを支援するプロセス1200を示すフローチャートである。プロセス1200は、ユーザがクエリに関するユーザ嗜好を指定するのを支援するのに用いられ、ユーザがクエリ中の1つ以上のキーワードに関する属性に関連する嗜好を指定するのを支援する。
プロセス1200は、ユーザクエリが入力される段階1202ではじまる。入力されたユーザクエリは、任意の好適なクエリであり、テキストクエリであってもよい。入力されるクエリは、例えば、オーディオ入力デバイスにより受け取られ、適切な音声認識/音声・ツー・テキストソフトウェアを用いてテキストに変換されるマルチメディアクエリであってもよい。入力されるクエリは1つ以上のキーワードを含む。クエリは、例えば、購入するアイテムに対するクエリであっても、及び/又はユーザが望む情報を含むアイテムに対するクエリであってもよい。例えば、クエリはキーワード「自動車」を含むクエリであり、ユーザは自動車に関するアイテムを見ることに興味を有することを示す。他の一例として、ユーザは、インターネットサーチエンジンにクエリ「テレビジョン」を入力する。これは、ユーザが、テレビジョンに関する情報を含むウェブページを見ることに興味を有していることを示す。しかし、クエリは、本技術分野で知られているように、任意の好適なクエリでよい。
プロセス1200の段階1204において、ユーザクエリを受け取ると、そのクエリに関する1つ以上の属性が特定される。属性は、そのクエリに含まれる1つ以上のキーワードに関するものである。例えば、属性は、クエリ中のキーワードの特徴である。属性は任意の好適なタイプのものでよい。例えば、属性はカテゴリー的属性や数値的属性であってもよい。例えば、「自動車」のクエリが段階1202で入力された場合、自動車に関する属性は、属性「メーカ」、「色」、「価格」、その他、図8に示した属性などの自動車の属性である。クエリに含まれる1つ以上のキーワードに関する属性は、本技術分野で知られた任意の好適な方法で特定できる。コンピュータで自動的に特定しても、手作業で指定してもよい。
段階1204において、属性が特定される方法にかかわらず、段階1206において、ユーザはこれらの属性を提示される。ユーザは、これらの属性を含むディスプレイスクリーンを用いてこれらの属性を視覚的に表示される。ディスプレイスクリーンは、属性のテキスト表現など、属性の表現を含む任意の好適なスクリーンである。
ユーザは、1つ以上の提示された属性を選択するように促され、ユーザが選択された属性に関連する嗜好を指定するのをシステムが支援する。例えば、ユーザは、キーワード「自動車」に関連する上記の属性のリストを提示され、属性「価格」と「色」を選択する。段階1208において、ユーザにより選択された属性が受け取られる。
選択した属性を受け取ると、ユーザは、段階1210において、1つ以上の選択された属性に関連する1次嗜好を指定するように促される。ユーザは、各属性について、任意の好適なタイプの1次嗜好を指定できる。例えば、ユーザは、セクションIIを参照して説明したように、スコアベースの嗜好、部分的順序嗜好、スカイライン嗜好、及び/又は同時分析嗜好を指定できる。
ユーザは、いろいろな方法で上記の1次嗜好を指定するのを支援される。ある実施形態では、グラフィカルユーザインタフェースが使われる。グラフィカルユーザインタフェースにより、ユーザは、(例えば、嗜好を描画して)1次嗜好をグラフィカルに表すことができる。ある実施形態では、ユーザは、1次嗜好を指定するのに必要な情報を取得するように設計された一連のプロンプトを供給される。
1次嗜好を受け取ると、ユーザは、段階1212において、受け取った1次嗜好中の2次嗜好を指定するように促される。ユーザは、任意の好適なタイプの2次嗜好を指定できる。例えば、ユーザは、セクションIIIを参照して説明したように、優先順序付けされた嗜好合成嗜好、部分的順序嗜好、ペア嗜好、及び/又はパレート嗜好合成嗜好を指定できる。
1次嗜好の場合と同様に、ユーザは、いろいろな方法で上記の2次嗜好を指定するのを支援される。ある実施形態では、グラフィカルユーザインタフェースが使われる。グラフィカルユーザインタフェースにより、ユーザは、2次嗜好をグラフィカルに表すことができる。ある実施形態では、ユーザは、2次嗜好を指定するのに必要な情報を取得するように設計された一連のプロンプトを供給される。1次嗜好と2次嗜好が指定されると、プロセス1200は完了する。
本発明の上記の実施形態は、多くの方法で実施できる。例えば、実施形態は、ハードウェア、ソフトウェア、又はこれらの組合せを用いて実施できる。ソフトウェアで実施した場合、ソフトウェアコードは、格納されたプログラム命令であって、1つのコンピュータに設けられていようが、複数のコンピュータに分散していようが、任意の好適なプロセッサ又はプロセッサの集まり(例えば、1つ又は複数のマイクロプロセッサ)で実行できるプログラム命令として実施できる。
言うまでもなく、コンピュータは、ラックマウントコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ又はタブレットコンピュータなど、いろいろな形式で実施できる。また、コンピュータは、パーソナルデジタルアシスタント(PDA)、スマートフォン、タブレット、リーダ、その他の好適なポータブル又は固定電子デバイスを含む、一般的にコンピュータとは見なされないが、好適な処理機能を有するデバイスで実施できる。
また、コンピュータは1つ以上の入力デバイスと出力デバイスを有する。これらのデバイスを用いて、なかんずく、ユーザインタフェースを提示する。ユーザインタフェースを提供するのに用いることができる出力デバイスの例には、出力の視覚的提示のためのプリンタやディスプレイ、及び出力の聴覚的提示のためのスピーカその他の発音デバイスが含まれる。ユーザインタフェースに用いることができる入力デバイスの例には、キーボードや、マイクロホンや、マウス、タッチパッド、デジタル化タブレットなどのポインティングデバイスが含まれる。
かかるコンピュータは、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などのネットワークや、エンタープライズネットワークや、インテリジェントネットワーク(IN)やインターネットなどのネットワークを含む、任意の好適な形式の1つ以上のネットワークにより相互接続されている。かかるネットワークは、好適な技術に基づき、好適なプロトコルにより動作し、無線ネットワーク、有線ネットワーク、又は光ファイバーネットワークが含まれる。
このように、一実施形態では、複数のアイテムを管理するデータ探索システムにクエリをする方法が提供される。該方法は、前記複数のあいテム中のユーザの嗜好を示す複数の1次ユーザ嗜好と、前記複数の1次ユーザ嗜好中の1次ユーザ嗜好間のユーザの嗜好を示す2次ユーザ嗜好とを含むクエリで、前記データ探索システムにクエリする段階と、前記複数の1次ユーザ嗜好と2次ユーザ嗜好を表す嗜好グラフをエンコードしたデータ構造に少なくとも部分的に基づいて、前記複数のアイテム中の一アイテムのランキングを、プロセッサで計算する段階と、前記ランキングにより前記ユーザに前記複数のアイテムの少なくともサブセットを出力する段階とを有する。
一実施形態では、前記ランキングを計算する段階は、前記嗜好グラフをエンコードする前記データ構造にページランクベースアルゴリズムを適用して前記ランキングを計算する段階を有する。
他の一実施形態において、前記嗜好グラフはそれぞれがアイテムを表す複数のノードを有し、前記ランキングを計算する段階は前記複数のノード中の一ノードのページランクスコアを計算する段階を有する、
他の一実施形態において、前記ランキングを計算する段階は、前記嗜好グラフから求めた完全有向グラフ中の、それぞれがアイテムを表すノードの全順序を計算する段階を有する。
他の一実施形態において、前記全順序を計算する段階は、前記完全有向グラフ中の一ノードのケンドールスコアを計算する段階を有する。
他の一実施形態において、前記嗜好グラフは、それぞれが前記複数のアイテム中の一アイテムに対応する複数のノードと、それぞれが前記複数の1次嗜好中の一1次嗜好に対応する複数のエッジとを有し、前記1次嗜好は前記エッジの端にあるノードにより表される前記2つのアイテムのうちの一方に対するユーザの嗜好を示す。
他の一実施形態において、各エッジは対応する1次嗜好により示された嗜好されるアイテムに関連するノードに向かう有向エッジである。
他の一実施形態において、前記嗜好グラフ中の第1ノードと第2ノードの間のエッジに重みが関連付けられ、前記重みは前記第1ノードの前記第2ノードに対する嗜好の程度を示す。
他の一実施形態において、前記複数のアイテム中の各アイテムは、前記アイテムの複数の属性を含むチュープルとして表される。
他の一態様では、嗜好グラフをエンコードするデータ構造と、プロセッサに実行されると前記プロセッサに下記の段階を実行させる複数のプロセッサ実行可能命令と命令とを格納したコンピュータ読み取り可能記憶媒体が提供される:複数のアイテムにおけるユーザ嗜好を示す複数の1次ユーザ嗜好を受け取る段階と、前記複数の1次ユーザ嗜好中の1次嗜好間のユーザ嗜好を示す2次ユーザ嗜好を受け取る段階と、前記複数の1次ユーザ嗜好と2次ユーザ嗜好に基づき前記嗜好グラフのエッジの重みを計算する段階であって、前記エッジは第1のアイテムに関連する第1ノードと第2のアイテムに関連する第2ノードとを接続し、前記重みは前記第1のアイテムの前記第2のアイテムに対する嗜好の程度を示す段階と、前記嗜好グラフにより前記複数のアイテムのうち少なくとも2つを出力する段階とを有する。
一実施形態では、前記嗜好グラフは、前記複数のアイテム中の各アイテムのノードと、前記複数の1次嗜好中の一1次嗜好により関係付けられたアイテムに関連するすべてのノードのペアのエッジとを有する。
他の一実施形態において、前記重みを計算する段階は、前記第2のアイテムに対する前記第1のアイテムへのユーザの嗜好を示す複数の1次ユーザ嗜好中の1次ユーザ嗜好の第1の数を計算する段階と、前記第1のアイテムに関連するいずれかの嗜好を示す複数の1次ユーザ嗜好中のすべての1次ユーザ嗜好の第2の数を計算する段階と、前記第2の数で割った前記第1の数に基づいて前記重みを設定する段階とを有する。
他の一実施形態において、前記複数の1次ユーザ嗜好を受け取る段階は、ユーザから1次嗜好を受け取る段階を有する。
他の一実施形態において、前記複数のアイテム中の各アイテムは、複数の属性値を含むチュープルとして表され、前記複数の1次ユーザ嗜好中の各1次ユーザ嗜好は、前記一アイテムを表す第1のチュープルの属性値と、前記他のアイテムを表す第2のチュープルの属性値とに少なくとも部分的に基づき、一アイテムへの他のアイテムに対するユーザ嗜好を示す。
他の一実施形態において、前記複数の1次ユーザ嗜好は、スコアベース嗜好、部分順序嗜好、スカイライン嗜好、及び同時分析嗜好から選択した少なくとも2つのタイプの1次嗜好を含む。
他の一実施形態において、前記2次ユーザ嗜好は、優先順位付け嗜好合成、部分順序嗜好、ペア嗜好、及びパレート嗜好合成よりなる群から選択した少なくとも2つのタイプの2次嗜好を含む複数の2次ユーザ嗜好を有する。
他の一態様では、データベースシステムが提供される。該データベースシステムは、複数のチュープルとユーザ嗜好を表す嗜好グラフをエンコードしたデータ構造とを格納するように構成されたメモリであって、前記ユーザ嗜好はチュープル間のユーザ嗜好を表す複数の1次嗜好と、前記複数の1次嗜好中の1次嗜好間のユーザ嗜好を表す2次ユーザ嗜好とを有するメモリと、前記メモリのコンテンツにアクセスして、前記嗜好グラフをエンコードしたデータ構造に基づき前記複数のチュープル中の一チュープルのランキングを計算するように構成されたプロセッサとを有する。
他の一態様では、インターラクティブ嗜好管理のためのシステムが提供される。該システムは、それぞれが複数の属性のうち少なくとも1つの値を有する複数のチュープルを格納するように構成されたメモリと、ユーザから複数の属性中の一属性の値の範囲を受け取り、前記値が前記値の範囲内にあるように、前記属性の値を有するチュープルの数を示す整数を出力するように構成された少なくとも1つのプロセッサとを有する。
他の一態様では、インターラクティブ嗜好管理のためのコンピュータ実施の方法が提供される。該方法は、キーワードを含むクエリをユーザから、プロセッサで受け取る段階と、前記ユーザに、前記キーワードに関係する1つ以上の属性に関連する複数の1次嗜好を提供するように促す段階と、前記複数の1次嗜好を受け取ると、前記ユーザに、前記複数の1次嗜好中の1次嗜好間の2次嗜好を提供するように促す段階とを有する。
一実施形態では、前記ユーザに複数の1次嗜好を提供するように促す段階は、前記キーワードに関係する属性のリストを前記ユーザに提示する段階と、前記属性のリスト中の属性の選択を前記ユーザから受け取る段階と、前記ユーザに、前記選択された属性に関連する1次嗜好を指定するように促す段階とを有する。
参照文献B:原始的セマンティックスに適用される嗜好誘導データ探索のシステムと方法
概して、ナレッジ表現は、機械ベースの格納・管理・推論システムをサポートするために、抽象的なナレッジを、具体的なデータ構造として、明示的にする行為である従来の方法とシステムには、分類学やシソーラスや様相分類などの構造化制御ボキャブラリ、セマンティックネットワークやオントロジなどの形式的仕様、自然言語に基づく文書などの非構造化形式を含む様々なタイプのナレッジ表現モデルにより構成されたナレッジ表現(KR)を利用するものがある。
上記ナレッジ表現モデル、及び一般的にナレッジ表現は、人間の知識を、明示的な概念とその概念間の関係とによりモデル化し、ナレッジを要する様々なタスクを実行するために、その知識をコンピュータなどの機械にとってアクセス可能なものにするツールである。そのため、人間のユーザとソフトウェア開発者は、従来、自分たち人間の知識を用いてKRデータ構造を構成し、できたKRデータ構造を機械読み取り可能な形式に手作業でエンコードし、機械のメモリに格納し、様々な機械実行機能によりアクセスできるようにしている。
従来のナレッジ表現の構築に対する非自動的なアプローチには多くの問題があることが分かった。例えば、データサイズの増大に合わせたスケーリングができないこと、複雑かつ大規模なデータ構造を処理できないこと、ドメインエキスパートに依存すること、大規模なデータの記憶と処理にはコストがかかること、統合及び相互運用が困難であることなどの問題がある。
従来のアプローチの上記の欠点を解消するために、ナレッジ表現の自動的構築方法が必要であることが分かった。したがって、本開示のある実施形態は、ナレッジ表現を生成するプロセスを自動化するナレッジ生成規則をエンコードし、確率的方法を利用して、ナレッジ生成規則の適用の結果得られたデータ構造のセマンティックコヒーレンスをチェックするシステムを提供する。
ナレッジ表現の生成を自動化するためにナレッジ生成規則を用いる多くのアプローチが可能である。例えば、ナレッジ生成規則に基づきナレッジ表現の生成を自動化する方法が、2010年 6月22日出願の米国仮出願第61/357,266号(発明の名称「複雑なナレッジ表現を分析及び合成するシステムと方法」)に開示されている。
上記のアプローチのある実施形態は、ドメイン中のすべてのナレッジを明示的なデータとしてモデル化するのではなく、圧縮された(原子的)データセットを、基礎となるナレッジ生成をエンコードする一組の生成規則と組み合わせる。新しいナレッジを生成してデータとして明示的に表す必要がある又は望ましい場合には、実施形態のシステムによりかかる規則が適用される。かかる手法の利点は、少なくともある状況では、格納されるデータをより効率的に表現することにより、システムに格納されるデータ量を大幅に減らせること、及び新しいナレッジの機械ベースの生成(合成)をする新しい機能とアプリケーションを提供することである。
KRに、ナレッジ生成の規則を組み込むことにより、システム中のデータ量は低減され、データ管理システムがより経済的になり、ナレッジ管理のまったく新しいアプリケーションが提供できる。このように、ある実施形態では、データが、必要になるまで生成されないようにして、データスケーラビリティという負担を軽減することにより、KRシステムの製造とメンテナンスのコストが低減される。ある実施形態において、一旦生成されると、複雑なナレッジをモデル化するデータ構造は、手元のタスクに関係しないデータを記憶する必要がないという点で、従来のシステムと比較して小さくなる。そしてこれにより、これらのナレッジモデル上で動作する推論エンジンやデータマイニングツールなどの下流アプリケーションのコストが下がる。
ナレッジ生成規則の適用により生じるナレッジ表現データ構造のセマンティックコヒーレンスをチェックする方法が必要であることが分かった。例えば、ある実施形態では、生成されたデータ構造が既存のナレッジモデルにあるかについてのエビデンスを集める。これらの既存ナレッジモデルは、(複雑なナレッジ表現データ構造として)システムの内部にあっても、(セマンティックウェブ上にエンコードされたナレッジモデルのように)外部にあってもよい。ある実施形態では、サーチエンジンを用いて、得られたデータ構造の概念に関連する言葉(記号又はラベル)が外部のナレッジ表現(文書など)にあるか調べる。用語・文書頻度(例えば、サーチエンジンのヒット数)は、得られたナレッジ表現データ構造のセマンティックコヒーレンスの尺度の一例となる。
さらに、セマンティックネットワークを合成する確率的方法を用いて、ナレッジ生成規則の適用により生じるナレッジ表現データ構造のセマンティックコヒーレンスをチェックできることが分かった。
セマンティックネットワークは、あるタイプのナレッジ表現であり、概念を表す頂点と、概念間のセマンティックな関係を表すエッジよりなる有効グラフである。セマンティックネットワーキングは、これらのグラフを作るプロセスであり、ナレッジをモデル化して格納する方法を提供し、それによってコンピュータ実施プログラムがナレッジを処理して使えるようにする。セマンティックグラフを作る重要部分は、文書や非構造化テキストなどの既存のナレッジ表現に基づいて概念定義と概念関係を準備することである。
ナレッジ表現中の一組の概念間のセマンティックコヒーレンスは、これらの概念を含み、セマンティックネットワーク中の任意の2つの概念(頂点)間の関係(エッジ)の存在に関する不確実性の程度を示すセマンティックネットワークを構成することにより、確認できることが分かった。統計的グラフィカルモデルとそれに関連する方法は、セマンティックネットワークのこの確率的表現を提供するのに一意的に適していることが分かった。これは、特に、関連する推論方法の計算的複雑性が、セマンティックネットワークのサイズに応じて有利にスケールし、計算効率の高い方法とシステムとなるからである。グラフィカルモデルの統計的推論方法を用いて、概念のセット間に関係があるか決定でき、かかる関係のそれぞれに関連する不確実性を定量化できることが分かった。
ある実施形態では、概念間の依存的構造に関するアプリオリな仮定を考慮しつつ、統計的推論手法を用いて、グラフ中のすべての概念の同時確率分布を効率的に計算できる。例えば、ある概念は独立であることが知られており、またある概念は強く相関していることが知られている。グラフ中のすべての概念の同時確率分布を用いて、そのグラフに含まれる任意の概念間の関係に関する任意のクエリに答えられる。例えば、2つの概念が関係しセマンティックにコヒーレントである程度、又はある概念が他の概念に関連しているかどうかは、適切な限界事後確率(marginal posterior probabilities)を計算することにより得られる。
ある実施形態では、ナレッジ生成規則(すなわち、要素セマンティックス)と概念間のセマンティックコヒーレンスを評価する確率的方法を適用して構成されたナレッジ表現は、ユーザフィードバックにより、さらにリファインできる。
本開示の実施形態は、さらに、図19に示したナレッジ表現構成システムにより理解できる。KR構成システムの入力ユニット(1)は、第1の複雑なナレッジ表現を受け取るように構成されている。第1の複雑なナレッジ表現は複雑なボキャブラリを有する。複雑なボキャブラリは、用語集及び上位オントロジを含んでも良い。分析エンジン(2)は、入力されたナレッジ表現を、ナレッジ生成規則を用いて、原子的レベルのセマンティックユニットに分解する。結果として得られた原子的レベルのセマンティックユニットは、後で合成動作において用いるため、原子的セマンティックスデータベース(3)に格納される。
規則データベース(4)は、複雑なセマンティックスの合成(synthesis)と分解(analysis)のために、ナレッジ生成規則を格納する。より複雑なセマンティックスの形成における原子的概念間のコヒーレンスの統計的エビデンスを提供する統計的グラフィカルモデルは、統計的モデルデータベース(5)に、原子的セマンティックカーネルとして格納される。統計的グラフィカルモデルは、ナレッジドメイン内の参照コーパスをサンプリングすることにより構成される。
合成遠因(6)は、統計的グラフィカルモデルにより提供される原子的レベルのセマンティックユニット間のコヒーレンスの統計的エビデンスを考慮して、原子的レベルセマンティックユニットにナレッジ生成規則を適用することにより、第2の複雑なナレッジ表現を合成する。合成されたナレッジ表現は、任意の好適なナレッジ表現フォーマットで出力され、後で使用するため、ユーザモデル(7)として格納される。例えば、合成されたナレッジ表現は、モニタ、モバイルデバイスの画面、その他の好適なインタフェースなどのユーザインタフェースに出力される。フィードバックエンジン(8)は、複雑性適応的フィードバックループを用いて、構成された複雑なナレッジ表現のメンテナンスと品質向上を容易にするように構成されている。出力される複雑なセマンティックスは再分析とリファインメントのために返される。
図20に示したように、他の一態様は、嗜好ランキングエンジン(9)の組み込みを含む。嗜好ランキングエンジン(9)は、Ihab F. Ilyas及びMohamed A. Soliman著「PrefEx: Preference Guided Data Exploration」に記載されている。一般的に、嗜好ランキングエンジン(9)により、属性に関係するユーザの嗜好の統合ができる。図20に示されたAKRMの場合、入力に基づくユーザ意図がランキングされる。ユーザ意図は、属性に関するユーザの嗜好であり、言い換えると、ユーザがいろいろな重要性のレベルにおいて発見しようと意図しているものである。
ユーザにより受け取られるクエリは、ラベルを含み、そのラベルとして説明できるが、システム内で(概念と概念関係としての)セマンティック表現に変換される。これはラベル・ツー・概念変換又はLCTとしても知られている。嗜好ランキングエンジン(9)は、そのユーザ嗜好アプローチを利用して、LCTの概念に重みを割り当てる。この重みを、セマンティック表現のトポロジとタイミングに影響する、合成動作の基礎として用いることができる。(例えば、重みが大きい概念は、重みが小さい概念より、その周りに合成される、より多くの追加的概念を有する。また、重みが大きい概念は、重みが小さい概念より前に概念を合成され、時間的に優先される。)
また、嗜好ランキングエンジン(9)は、出力の順序付けにも態様を追加する。合成エンジンは、複雑なセマンティック表現を合成し出力し、別の言い方をすると、合成された概念と概念関係とを出力する。これらのセマンティック表現は、ユーザ又はユーザモデルに直接表示されずに、嗜好ランキングエンジン(9)に入力され得る。ユーザの属性に対する嗜好に基づきオブジェクトを順序付ける嗜好ランキングエンジン(9)の能力に基づき、嗜好ランキングエンジンに入力される合成されたセマンティック表現は、ユーザ嗜好に基づき順序付けできる。その結果の順序付けられた概念と概念関係とは、ユーザ又はセマンティックユーザモデル(7)に出力できる。
よって、一態様により、システムが提供される。該システムは:ユーザ意図に基づき属性嗜好を確立するように構成された嗜好ランキングコンポーネントと、クエリに基づき検索されたセマンティック表現に重みを割り当てるように構成された合成エンジンと、を有し、前記割り当てられる重みは前記属性嗜好ユーザ意図に基づき、前記嗜好ランキングコンポーネントは、前記ユーザ意図に基づくランクにより合成され出力されたセマンティック表現を構成し、前記合成され出力されるセマンティック表現は、ユーザインタフェース又はユーザモデルに送られる。
一実施形態では、重みがより大きい概念には、より多くの追加的概念が合成される。
他の一実施形態において、重みが大きい概念には、より早く追加的概念が合成される。
他の一実施形態において、方法は少なくとも1つのコンピュータの少なくとも1つのハードウェアプロセッサで実行されるソフトウェアに実装される。
本発明の様々な態様は、単独で、組合せで、又は上記の実施形態で具体的には指定していない様々な構成で用いることができ、上記の説明で説明した又は図面に示した詳細やコンポーネントの構成に限定されない。例えば、一実施形態で説明した態様は、他の実施形態で説明した態様と任意の方法で組合せできる。
ここで定義し用いたすべての定義は、辞書の定義、参照援用した文献における定義、及び/又は定義された用語の通常の意味で用いられていると理解すべきである。
ここで用いる用語は、説明を目的としたものであり、限定するものと解すべきではない。「including」、「comprising」「having」、「containing」、「involving」、及びこれらの変形は、その後に列挙された追加的アイテムを含むことを意味する。
また、本発明の実施形態は、例を挙げた1つ以上の方法として実施できる。その方法の一部として実施される段階は、いかなる好適な方法で順序付けられてもよい。したがって、説明したのとは異なる順序で段階が実行される実施形態を構成してもよい。例示した実施形態では順次的段階として示したが、ある段階を同時に実行することも含まれる。
請求項の要素を修飾するために「第1の」、「第2の」、「第3の」などの順序を示す言葉を用いたが、これは優先順位、先後関係、ある要素の他の要素よりの順序、又は方法の段階が実行される時間的順序を示すものではない。かかる言葉は、ある名前を有する一要素を同じ名前の他の一要素と区別するラベルとして用いただけである(順序を示す言葉として用いたものではない)。
不定冠詞「a」と「an」は、ここでは、特段の断りがなければ、「少なくとも1つの」を意味するものと理解すべきである。
ここで用いたように、1つ以上の要素のリストを参照して「少なくとも1つの」とは、その要素のリスト中の1つ以上の任意の要素から選択された少なくとも1つの要素を意味し、必ずしも、その要素のリスト中に具体的にリストされたすべての要素を少なくとも1つずつ含むことは意味せず、その要素のリスト中の要素の任意の組合せを排除するものではない。また、この定義により、「少なくとも1つの」というフレーズが参照する要素のリストで具体的に特定された要素以外の要素が、その具体的に特定された要素に関係するしないにかかわらず、任意的にあってもよい。このように、非限定的な例として、「AとBのうち少なくとも1つ」とは、一実施形態では、少なくとも1つの、任意的に2つ以上のAを含み、Bを含まず、(また任意的にB以外の要素を含み)、他の一実施形態では、少なくとも1つの、任意的に2つ以上のBを含み、Bを含まず、(また任意的にB以外の要素を含み)、さらに他の一実施形態では、少なくとも1つの、任意的に2つ以上のAを含み、少なくとも1つの、任意的に2つ以上のBを含み、(また任意的にその他の要素を含む)。
「及び/又は」とは、ここでは、接続された要素の「どちらか一方」または「両方」を意味する。すなわち、ある場合には要素が結合的にあり、他の場合には要素が非結合的にある。「及び/又は」でリストされた複数の要素は、同様に解釈されるべきであり、すなわち「1つ以上の」要素が結合される。「及び/又は」で具体的に特定された要素以外の他の要素が、その具体的に特定された要素に関係してもしなくても、任意的あってもよい。このように、非限定的な例として、「comprising」などのオープンエンドの言葉とともに使われたとき、「A及び/又はB」と言ったとき、一実施形態では、Aのみを意味し(任意的にB以外の要素を含み)、他の一実施形態では、Bのみを意味し(任意的にA以外の要素を含み)、さらに他の一実施形態では、AとBの両方を意味し(任意的にその他の要素を含む)。
ここで、「又は」とは、上記「及び/又は」と同じ意味であると理解すべきである。例えば、リスト中のアイテムに使う時、「又は」と「及び/又は」は包含的に、すなわち複数の又はリストの要素のうち1つ少なくとも1つを含み、また2つ以上を含むものと解釈しなければならない。
本発明の実施形態を詳細に説明したが、当業者には、様々な修正や改良が容易に分かるであろう。かかる修正や改良は本発明の精神と範囲内にある。したがって、上記の説明は単なる例であって、限定をする意図ではない。本発明は、以下の特許請求の範囲とその等価範囲によってのみ決まる。