(57)【要約】【課題】  製品サポートのサービス要求をマイニングするシステムおよび方法を提供すること。【解決手段】  １つの態様において、構造化されていないサービス要求は、１つまたは複数の構造化された応答オブジェクトに変換される。構造化された個々の応答オブジェクトには、階層構造をとる過去の問題の診断データが含まれる。製品に関する問題の説明に鑑み、１つまたは複数の構造化された応答データオブジェクトの集合が識別される。集合内の構造化された個々の解決策データオブジェクトには、製品に関する問題の説明に関連する用語および／またはキーフレーズが含まれる。こうした集合内の階層構造をとる過去の問題の診断データがエンドユーザに提供され、製品に関する問題が診断される。【選択図】  図１
2005316998.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング装置によって構造化されていないサービス要求を１つまたは複数の階層構造をとる過去の問題の診断データを有する構造化された応答オブジェクトに変換するステップであって、製品に関する問題の説明に鑑み、
前記１つまたは複数の構造化された応答データオブジェクトの集合を識別するステップであって、前記集合内の各構造化された解決データオブジェクトは、前記製品に関する問題の説明に関連する用語および／またはフレーズを有するステップと、
前記集合内の階層構造をとる過去の問題の診断データを製品に関する問題を診断するためにエンドユーザに提供するステップと
を備えたことを特徴とする方法。
【請求項２】
前記問題の診断データは、製品に関する問題の説明、症状、原因、および解決策の１つまたは複数を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記問題の診断データは、製品に関するサポート記事へのリンクを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記変換するステップ、前記識別するステップ、および前記提供するステップの各ステップは、サーバコンピューティング装置によって実行され、前記方法は、
クライアントコンピューティング装置から前記製品に関する問題の説明を受け取るステップをさらに備え、
前記提供するステップは、
前記製品に関する問題の説明内の用語に一致する用語および／またはフレーズの索引を検索して、前記集合内の１つまたは複数の構造化された応答オブジェクトを識別するステップと、
前記集合を前記クライアントコンピューティング装置に通信して、トラブルシューティングウィザードでエンドユーザに表示するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記集合によって提供された情報から知識ベース記事を動的に生成するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項６】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、
前記構造化された応答オブジェクトから特徴を抽出するステップと、
前記特徴を分析して用語とフレーズを識別するステップと、
前記用語とフレーズに関連性の重みを割り当てるステップと、
前記用語とフレーズ内の用語（ｔｅｒｍｉｎｏｌｏｇｙ）を正規化するステップと
を備える索引を生成するステップをさらに備え、
前記識別するステップは、前記索引における情報に基づくことを特徴とする請求項１に記載の方法。
【請求項７】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、
前記構造化された応答オブジェクトのそれぞれを索引に基づいて、前記構造化された応答オブジェクトに関連するグループにクラスタリングするステップをさらに備え、および
前記提供するステップは、前記集合内に複数の構造化された応答オブジェクトがある場合、前記集合が構造化された前記応答オブジェクトの強化されたクラスタを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記クラスタリングするステップは、強化され、統一されたクラスタリング操作を含むことを特徴とする請求項７に記載の方法。
【請求項９】
製品に関する問題の説明を含む検索要求をサーバコンピューティング装置に通信するステップと、
前記検索要求の応答を受け取るのに応じて、前記応答の情報をトラブルシューティングウィザードに表示するステップとを備え、
前記情報は、階層構造をとる過去の問題の診断データを含み、前記過去の問題の診断データは、前記製品に関する問題の説明に関連する用語および／またはフレーズに関連することを特徴とする方法。
【請求項１０】
前記過去の問題の診断データは、階層構造をとる製品に関する問題の説明、症状、原因、および解決策の各情報の１つまたは複数を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記情報は、製品のサポートに関する記事へのリンクを含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記情報は、構造化された応答オブジェクトの集合を含むことを特徴とする請求項９に記載の方法。
【請求項１３】
前記構造化された応答オブジェクトのそれぞれは、相互に対応するサーバよって強化されたクラスタリング操作に基づくクラスタリングが行われることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記クラスタリングは、統一されたクラスタリング操作にさらに基づくことを特徴とする請求項１３に記載の方法。
【請求項１５】
コンピューティング装置によって構造化されていないサービス要求を１つまたは複数の構造化された応答オブジェクトに変換するステップであって、各構造化された応答オブジェクトは、階層構造をとる過去の問題の診断データを備え、
製品に関する問題の説明に鑑み、
前記１つまたは複数の構造化された応答オブジェクトの集合を識別するステップであって、前記集合内の各構造化された解決策データオブジェクトは、前記製品に関する問題の説明に関連する用語および／またはフレーズを含むステップと、
階層構造をとる過去の問題の診断データを、製品に関する問題を診断するために前記集合からエンドユーザに提供するステップと
を実行するコンピュータ実行可能命令を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１６】
前記問題の診断データは、製品に関する問題の説明、症状、原因、および解決策の１つまたは複数を含むことを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１７】
前記問題の診断データは、製品に関するサポート記事へのリンクを含むことを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１８】
前記変換するステップ、前記識別するステップ、および前記提供するステップの各ステップはサーバコンピューティング装置によって実行され、前記コンピュータ実行可能命令は、
クライアントコンピューティング装置から前記製品に関する問題の説明を受け取る命令をさらに備え、
前記提供するステップは、
前記製品に関する問題の説明内の用語に一致する用語および／またはフレーズの索引を検索し、前記集合内の１つまたは複数の構造化された応答オブジェクトを識別するステップと、
前記集合を前記クライアントコンピューティング装置に通信し、トラブルシューティングウィザードでエンドユーザに表示するステップと
をさらに含むことを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項１９】
前記コンピュータ実行可能命令は、前記集合によって提供された情報から知識ベース記事を動的に生成する命令をさらに含むことを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項２０】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、前記コンピュータ実行可能命令は、
前記構造化された応答オブジェクトから特徴を抽出するステップと、
前記特徴を分析して用語とフレーズとを識別するステップと、
前記用語とフレーズとに関連性の重みを割り当てるステップと、
前記用語とフレーズとの内の用語を正規化するステップと
を有する索引を生成する命令をさらに含み、
前記識別するステップは、前記索引における情報に基づくことを特徴とする請求項１５に記載のコンピュータ読み取り可能媒体。
【請求項２１】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、前記コンピュータ実行可能命令は、
前記構造化された応答オブジェクトのそれぞれを前記索引に基づいて、構造化された応答オブジェクトに関連するグループにクラスタリングする命令をさらに含み、
前記提供するステップは、前記集合内に複数の構造化された応答オブジェクトがある場合、前記集合が構造化された応答オブジェクトの強化されたクラスタを含むことを特徴とする請求項２０に記載のコンピュータ読み取り可能媒体。
【請求項２２】
前記クラスタリングするステップは、強化され、統一されたクラスタリング操作を含むことを特徴とする請求項２１に記載のコンピュータ読み取り可能媒体。
【請求項２３】
検索要求をサーバコンピューティング装置に通信し、前記検索要求は製品に関する問題の説明を有するステップと、
前記検索要求の応答を受け取るのに応じて、前記応答の情報をトラブルシューティングウィザードに表示するステップとをコンピュータ実行可能命令を備え、前記情報は、階層構造をとる過去の問題の診断データを含み、前記過去の問題の診断データは、前記製品に関する問題の説明に関連する用語および／またはフレーズに関連することを特徴とするコンピュータ読み取り可能媒体。
【請求項２４】
前記過去の問題の診断データは、階層構造をとる製品に関する問題の説明、症状、原因、および解決策の各情報の１つまたは複数を含むことを特徴とする請求項２３に記載のコンピュータ読み取り可能媒体。
【請求項２５】
前記情報は、製品のサポートに関する記事へのリンクを含むことを特徴とする請求項２３に記載のコンピュータ読み取り可能媒体。
【請求項２６】
前記情報は、構造化された応答オブジェクトの集合を含むことを特徴とする請求項２３に記載のコンピュータ読み取り可能媒体。
【請求項２７】
前記構造化された応答オブジェクトのそれぞれは、相互に対応するサーバによって強化されたクラスタリング操作に基づくクラスタリングが行われることを特徴とする請求項２６に記載のコンピュータ読み取り可能媒体。
【請求項２８】
前記クラスタリングは、統一されたクラスタリング操作にさらに基づくことを特徴とする請求項２７に記載のコンピュータ読み取り可能媒体。
【請求項２９】
製品に関する問題の分析と診断に使用する構造化された解決策要求データ構造を有するコンピュータ読み取り可能媒体であって、前記構造化された解決策要求データ構造は、
製品に関する問題の説明データフィールドと、
製品に関する問題の原因データフィールドと、
製品に関する問題の解決策データフィールドと
を備え、前記製品に関する問題の説明データフィールドは、前記製品に関する問題の原因データフィールドの親ノードであり、前記製品に関する問題の原因データフィールドは、前記製品に関する問題の解決策データフィールドの親ノードであることを特徴とするコンピュータ読み取り可能媒体。
【請求項３０】
前記構造化された解決策要求データ構造は、製品に関する問題の症状データフィールドをさらに含み、前記製品に関する問題の説明データフィールドは、前記製品に関する問題の症状データフィールドの親ノードであることを特徴とする請求項２９に記載のコンピュータ読み取り可能媒体。
【請求項３１】
プロセッサと、
前記プロセッサに接続するメモリとを備えたコンピューティング装置であって、前記メモリは、
コンピューティング装置により、構造化されていないサービス要求を階層構造をとる過去の問題の診断データを含む１つまたは複数の構造化された応答オブジェクトに変換するステップと、
製品に関する問題の説明に鑑み、
前記１つまたは複数の構造化された応答データオブジェクトの集合を識別するステップであって、前記集合内の各構造化された解決策データオブジェクトは前記製品に関する問題の説明に関連する用語および／またはフレーズを含むステップと、
前記集合内の階層構造をとる過去の問題の診断データを製品に関する問題を診断するためにエンドユーザに提供するステップと
の前記プロセッサで実行可能なコンピュータプログラム命令を含むことを特徴とするコンピューティング装置。
【請求項３２】
前記問題の診断データは、製品に関する問題の説明、症状、原因、および解決策の１つまたは複数を含むことを特徴とする請求項３１に記載のコンピューティング装置。
【請求項３３】
前記問題の診断データは、製品に関するサポート記事へのリンクを含むことを特徴とする請求項３１に記載のコンピューティング装置。
【請求項３４】
前記変換するステップ、前記識別するステップ、および前記提供するステップの各ステップはサーバコンピューティング装置によって実行され、前記コンピュータ実行可能命令は、
クライアントコンピューティング装置から前記製品に関する問題の説明を受け取るステップを実行する命令をさらに備え、
前記提供するステップは、
前記製品に関する問題の説明内の用語に一致する用語および／またはフレーズの索引を検索して、前記集合内の１つまたは複数の構造化された応答オブジェクトを識別するステップと、
前記集合を前記クライアントコンピューティング装置に通信し、トラブルシューティングウィザードでエンドユーザに表示するステップと
をさらに含むことを特徴とする請求項３１に記載のコンピューティング装置。
【請求項３５】
前記コンピュータ実行可能命令は、前記集合によって提供された情報から知識ベース記事を動的に生成する命令をさらに含むことを特徴とする請求項３１に記載のコンピューティング装置。
【請求項３６】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、前記コンピュータ実行可能命令は、
前記構造化された応答オブジェクトから特徴を抽出するステップと、
前記特徴を分析して用語とフレーズを識別するステップと、
前記用語とフレーズに関連性の重みを割り当てるステップと、
前記用語とフレーズ内の用語を正規化するステップと
を有する索引を生成する命令をさらに含み、
前記識別するステップは、前記索引における情報に基づくことを特徴とする請求項３１に記載のコンピューティング装置。
【請求項３７】
前記変換するステップの後で、前記識別するステップおよび前記提供するステップの前に、前記コンピュータ実行可能命令は、
前記構造化された応答オブジェクトのそれぞれを前記索引に基づいて、構造化された応答オブジェクトに関連するグループにクラスタリングするステップを実行する命令をさらに含み、
前記提供するステップは、前記集合内に複数の構造化された応答オブジェクトがある場合、前記集合が構造化された応答オブジェクトの強化されたクラスタを含むことを特徴とする請求項３６に記載のコンピューティング装置。
【請求項３８】
前記クラスタリングするステップは、強化され、統一されたクラスタリング操作を含むことを特徴とする請求項３７に記載のコンピューティング装置。
【請求項３９】
プロセッサと、
前記プロセッサに接続するメモリを備えるコンピューティング装置であって、前記メモリは、
製品に関する問題の説明を含む検索要求をサーバコンピューティング装置に通信するステップと、
前記検索要求の応答を受け取るのに応じて、前記応答の情報をトラブルシューティングウィザードに表示する前記プロセッサで実行可能なコンピュータプログラム命令を含み、前記情報は、階層構造をとる過去の問題の診断データを含み、前記過去の問題の診断データは、前記製品に関する問題の説明に関連する用語および／またはフレーズに関連することを特徴とするコンピューティング装置。
【請求項４０】
前記過去の問題の診断データは、階層構造をとる製品に関する問題の説明、症状、原因、および解決策の各情報の１つまたは複数を含むことを特徴とする請求項３９に記載のコンピューティング装置。
【請求項４１】
前記情報は、製品のサポートに関する記事へのリンクを含むことを特徴とする請求項３９に記載のコンピューティング装置。
【請求項４２】
前記情報は、構造化された応答オブジェクトの集合を含むことを特徴とする請求項３９に記載のコンピューティング装置。
【請求項４３】
前記構造化された応答オブジェクトのそれぞれは、相互に対応するサーバよって強化されたクラスタリング操作に基づくクラスタリングが行われることを特徴とする請求項４２に記載のコンピューティング装置。
【請求項４４】
前記クラスタリングは、統一されたクラスタリング操作にさらに基づくことを特徴とする請求項４３に記載のコンピューティング装置。
【請求項４５】
構造化されていないサービス要求を１つまたは複数の構造化された応答オブジェクトに変換する手段であって、各構造化された応答オブジェクトは、階層構造をとる過去の問題の診断データを含む手段と、
製品に関する問題の説明に鑑み、
前記１つまたは複数の構造化された応答データオブジェクトの集合を識別する手段であって、前記集合内の各構造化された解決策データオブジェクトは、前記製品に関する問題の説明に関連する用語および／またはフレーズを含む手段と、
製品に関する問題を診断するため、前記集合内の階層構造をとる過去の問題の診断データをエンドユーザに提供する手段と
を備えたことを特徴とするコンピューティング装置。
【請求項４６】
前記問題の診断データは、製品に関する問題の説明、症状、原因、および解決策の１つまたは複数を含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４７】
前記問題の診断データは、製品に関するサポート記事へのリンクを含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４８】
クライアントコンピューティング装置から前記製品に関する問題の説明を受け取る手段をさらに備え、
前記提供の手段は、
前記製品に関する問題の説明内の用語に一致する用語および／またはフレーズの索引を検索して、前記集合内の１つまたは複数の構造化された応答オブジェクトを識別する手段と、
前記集合を前記クライアントコンピューティング装置に通信して、トラブルシューティングウィザードでエンドユーザに表示する手段と
をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項４９】
前記集合によって提供された情報から知識ベース記事を動的に生成する手段をさらに含むことを特徴とする請求項４５に記載のコンピューティング装置。
【請求項５０】
検索要求をサーバコンピューティング装置に通信し、前記検索要求は製品に関する問題の説明を含む手段と、
前記検索要求の応答を受け取るのに応じて、前記応答の情報を表示する手段とを備え、前記情報は、階層構造をとる過去の問題の診断データを含み、前記過去の問題の診断データは、前記製品に関する問題の説明に関連する用語および／またはフレーズに関連することを特徴とするコンピューティング装置。
【請求項５１】
前記過去の問題の診断データは、階層構造をとる製品に関する問題の説明、症状、原因、および解決策の各情報の１つまたは複数を含むことを特徴とする請求項５０に記載のコンピューティング装置。
【請求項５２】
前記情報は、製品のサポートに関する記事へのリンクを含むことを特徴とする請求項５０に記載のコンピューティング装置。
【請求項５３】
前記情報は、構造化された応答オブジェクトの集合を含むことを特徴とする請求項５０に記載のコンピューティング装置。
【請求項５４】
前記構造化された応答オブジェクトのそれぞれは、相互に対応するサーバよってクラスタリングされることを特徴とする請求項５３に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明のシステムおよび方法は、データマイニングに関する。
【背景技術】
【０００２】
今日の高度先端技術企業では、一般に何らかの製品サポートを提供することで消費者やパートナーが技術投資の最大限の対価を確実に受けられるようにしている。例えば、個人消費者や企業向けのさまざまなサポートサービス（Ｓｕｐｐｏｒｔ  ｏｆｆｅｒｉｎｇｓ）や戦略的なＩＴコンサルティングサービスを提供して、顧客やパートナーのさまざまな必要性を満たすことができる。サポートサービスには、電話サポート、オンサイトサポート、Ｗｅｂベースのサポートなどがある。残念ながら、こうした製品サポートサービスは、金銭的な負担だけでなく、エンドユーザが直面する問題の解決策を見出すために必要な時間の点で、非常に費用がかかるものになる可能性がある。例えば、法人以外の消費者には個々の製品コンサルタントやトラブルシューティング専門家を雇うほどの余裕がないため、通常、オンサイトサポートサービスは非常にコストがかかる。
【０００３】
【非特許文献１】"A Comparative Study on Feature Selection in Text Categorization", 'Yang and Pederson, 1997
【非特許文献２】"Building a Web Thesaurus from Web Link Structure", SIGIR-03, July-August 2003
【非特許文献３】"CBC: Clustering Based Text Classification Requiring Minimal Labeled Data", by Hua-Jun Zeng et al., November 19-22, 2003, ICDM-03 (2003 IEEE International Conference on Data Mining), Melbourne, Florida, USA
【発明の開示】
【発明が解決しようとする課題】
【０００４】
さらに、サービスが自動化されている場合は（例えば、製品のへルプ（ハウツー（ｈｏｗ  ｔｏ））および／またはトラブルシューティングの記事を含む知識ベースのオンライン検索）、消費者が的確な（ｏｎ−ｐｏｉｎｔ）記事の集合を識別するには膨大な時間がかかる恐れがある。この１つの原因は、知識ベース記事が通常、専門技術のあるライタ、ベンダ、および／または同等の人によって作成されており、サポートを必要とする製品の日常のユーザが作成したものではないことである。こうした状況において、ユーザは的確なＫＢ（Ｋｎｏｗｌｅｄｇｅ  Ｂａｓｅ）記事の著者が使用した用語と完全に一致する用語を使用して検索照会を形成しないと、的確な知識ベースのトラブルシューティング情報を突き止めるのは非常に困難であり、時間がかかることに気付く。さらに悪いことに、ＫＢ記事は一般に１つの特定の原因による１つの特定の問題に固有であり、複数の問題の調査や診断に関する総合的な資料を欠いている。
【０００５】
したがって、さまざまな原因が考えられる問題について解決策に到達するために、ユーザは多くのＫＢ記事を突き止め、調査する必要がある。
【課題を解決するための手段】
【０００６】
製品サポートのサービス要求をマイニングするシステムおよび方法について説明する。１つの態様において、構造化されていないサービス要求が、１つまたは複数の構造化された応答オブジェクトに変換される。構造化された各応答オブジェクトには、階層構造をとる過去の問題の診断データが含まれる。製品に関する問題の説明に鑑み、１つまたは複数の構造化された応答データオブジェクトの集合が特定される。この集合内の構造化された各解決データオブジェクトには、製品に関する問題の説明に関連するキーワード、および／またはキーフレーズが含まれる。こうした集合内の階層構造をとる過去の問題の診断データは、製品に関する問題が診断のために、エンドユーザに提供される。
【０００７】
図で、コンポーネントの参照番号の最上位桁は、該当するコンポーネントを初めて図示する図面の番号を示している。
【発明を実施するための最良の形態】
【０００８】
（概要）
知識ベース（ＫＢ：Ｋｎｏｗｌｅｄｇｅ  Ｂａｓｅ）記事とへルプ（「ハウツー」）記事は、顧客が解決策を突き止めて製品に関する問題を解決／トラブルシューティングする際に支援するために作成されている。調査によって、エンドユーザが的確なＫＢ記事（顧客の疑問に直接対応する記事）を検索しやすく、取得しやすいほど、製品とそのサポートインフラストラクチャに関する顧客の満足度は高いことがわかっている。しかし、調査では、エンドユーザがＫＢ記事などのデータを収集し、トラブルシューティングの問題に関連する的確な記事を検出しようとして、おびただしい時間を費やしていることも示されている。この１つの原因は、従来の製品サポート基盤は多くの場合唯一の原因による問題を扱っており、製品に関する複数の原因による問題の診断情報を提供していないことである。この制限に対応するために、次のシステムおよび方法によって、構造化されたデータオブジェクトの相関クラスタ（ｉｎｔｅｒｒｅｌａｔｅｄ  ｃｌｕｓｔｅｒｓ）に基づいて製品サポートに関する構造化されていない製品サポートサービス（ＰＳＳ：ｐｒｏｄｕｃｔ  ｓｕｐｐｏｒｔ  ｓｅｒｖｉｃｅ）ログのサービス要求をマイニングし、分析し、さらに体系化する。構造化されたデータオブジェクトには、製品に関する過去の唯一および複数の問題の診断データが含まれる。
【０００９】
特に、ユーザが生成するコンテキストと製品サポート（ＰＳ：ｐｒｏｄｕｃｔ  ｓｕｐｐｏｒｔ）記事へのリンク／参照は、構造化されていないサービス要求のＰＳＳログから抽出される。
【００１０】
抽出された情報は、テキストについて分析され、特徴の関連性に基づいて相互に関連する構造化されたデータオブジェクトのクラスタに体系化される。例えば、リンク情報はその他のサービス要求の内容に比べて比較的簡潔である。ただし、２つのサービス要求が同じＫＢ記事を引用する場合、この２つのサービス要求は、同じ問題や原因に対応する可能性が高い。分析とクラスタリングを行うと、構造化されたオブジェクトには製品に関する問題の症状、原因、解決策、関連するＰＳ文書へのリンク／引用、その他の関連データオブジェクトへの参照のいくつかの組合せが含まれる。階層構造をとるデータオブジェクトのクラスタを使用して、トラブルシューティングウィザードが生成される。
【００１１】
トラブルシューティングウィザードによって、ユーザは特定の製品の症状や問題の説明に関連して、構造化されたデータオブジェクトと系統的に対話することで、問題を診断でき、解決できる。具体的に言えば、トラブルシューティングウィザードによって、エンドユーザは階層構造をとる過去のデータオブジェクトを系統的に利用して、製品に関する問題の症状や説明と対応する問題の原因および解決策とをマッチングし、または識別することができる。製品サポートのサービス要求をマイニングする本システムおよび方法のこうした態様、あるいはその他の態様について、ここで詳細に説明する。
【００１２】
（例示的なシステム）
図面を参照すると、本システムおよび方法の同じ参照番号は同様の要素を示しており、適切なコンピューティング環境に実装されるように示されている。要求ではないが、本発明について、パーソナルコンピュータで実行されるプログラムモジュールのように、コンピュータ実行可能命令の一般的な文脈で説明する。一般に、プログラムモジュールには、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などがあり、特定のタスクを実行するものや、特定の抽象データ型を実装するものもある。本システムおよび方法は前述のコンテキストで説明されているが、以下に説明する動作および操作はハードウェアにも実装できる。
【００１３】
図１に、製品サポートのサービス要求をマイニングする例示的なシステム１００を示す。この実装において、システム１００には通信ネットワーク１０４を介してクライアントコンピューティング装置１０６に接続する製品サポートサービス（ＰＳＳ）サーバ１０２が含まれる。ネットワーク１０４は、オフィスでは一般的である、企業規模のコンピュータネットワーク、イントラネット、インターネットなど、ローカルエリアネットワーク（ＬＡＮ）と一般的なワイドエリアネットワーク（ＷＡＮ）の通信環境の任意の組合せを含むことができる。ＰＳＳサーバ１０２は、ＰＳＳサービス要求（ＳＲ）ログ１０８、クラスタ化され、かつ階層的に構造化された応答データオブジェクト１１０、およびＫＢ記事１１２のデータリポジトリに接続する。クライアントコンピューティング装置１０６は、パーソナルコンピュータ、ラップトップ、サーバ、モバイル（例えば、携帯電話、携帯情報端末（ＰＤＡ）、ハンドヘルドコンピュータ）の各コンピューティング装置など、任意のタイプのクライアントコンピューティング装置である。
【００１４】
ＰＳＳサーバ１０２は、ＰＳＳサービス要求ログ１０８をマイニングし、階層構造をとる構造化された応答データオブジェクト（ＳＡＯ）１１０のクラスタを生成する。個々のＳＡＯ  １１０には、過去の唯一および／または複数の問題、製品に関する問題の診断データが含まれる。こうした診断データは、ＰＳＳサーバ１０２によって１つまたは複数の問題の説明／症状、結果、原因、解決策に関する診断データの関数として階層ツリーに体系化される（例えばコールアウト１１４）。後述するように、ＰＳＳサーバがクライアントコンピューティング装置１０６から問題の説明／症状の照会１１６を受信すると、直ちに前述の構造化された応答データオブジェクト１１０が応答メッセージ１１８の一部としてＰＳＳサーバ１０２によってクライアントコンピューティング装置１０６に送信される。クライアントコンピューティング装置１０６に送信される構造化された応答データオブジェクト１１０は、照会１１６の条件に対応する。クライアントコンピューティング装置１０６のエンドユーザは、トラブルシューティングウィザード１２０を使用して、送信された構造化された応答データオブジェクト１１０によってカプセル化された製品に関する過去の問題の診断データを系統的に表示し、および利用して、少なくとも問題の対応する原因とその解決策を識別する。トラブルシューティングウィザード１２０が問題を解決しようとするエンドユーザに対してこうした階層構造をとる過去の製品の問題の診断データをどう表示するかを説明する前に、まず構造化された応答データオブジェクト１１０がＰＳＳサーバ１０２によってどのように生成されるかを説明する。
【００１５】
（構造化された応答データオブジェクト）
ＰＳＳサービス要求ログ１０８に記録される各エントリは、エンドユーザと製品サポートエンジニア／スタッフが製品に関する問題を診断し、トラブルシューティングし、解決策を探るためのコミュニケーションプロセスの結果である。こうした製品に関する問題の診断および解決策に関するコミュニケーションは非公式で（つまり、製品の文書化を担当する専門技術のある記者またはベンダだけが生成した情報に基づいていない）、多くの場合に構造化されていない質問と応答の集合が含まれており、製品に関する問題の症状を絞り込むことで真の原因を特定できる。質問には、製品名、問題、状況（問題の説明、症状、原因、解決策など）の組合せが含まれてもよい。サポートエンジニア／スタッフの応答には、対応するシステムおよび製品に関する問題の診断／調査の質問、問題の原因、および／または解決策が含まれてもよい。サポート／スタッフの応答は、さらに特定の問題解決プロセスに関連するＰＳ記事（例えば知識ベース（ＫＢ）記事１１２）へのリンク／参照が含んでもよい。こうしたリンク／参照には、多くの場合、例えば実質的に一意の文書ＩＤ、ハイパーテキストリンク、ＵＲＩ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒｓ）、文書のタイトルなどが含まれる。こうしたエンドユーザと製品サポートエンジニア／スタッフとの非公式なコミュニケーションを、以下では構造化されていないサービス要求１２２と呼ぶ。
【００１６】
ＰＳＳサービス要求ログ１０８をマイニングするために、構造化された応答オブジェクト（ＳＡＯ）生成モジュール１２４は各構造化されていないサービス要求１２２から製品に関する問題の状況と解決策に関する情報を抽出する。こうして抽出された中間的なデータ形式の情報は、メタデータ１２６として表示され、例えば製品名、問題の説明、症状、原因、解決策、製品に関する問題の診断／調査のための質問、原因、解決策、１つまたは複数のＰＳ記事へのリンク／参照データなどのような問題の状況の任意の組合せが含まれる。ＳＡＯ生成モジュール１２４は、メタデータから関連の症状、結果、原因、解決策、質問／応答の対、関連のＫＢ記事などを配列して構造化された応答オブジェクト１１０を構成する。単一のサービス要求から単一のＳＡＯ  １１０が生成されるので、１つのＳＡＯ  １１０は１つの問題、１つの原因、１つの解決策の構造を表している。１つの問題、複数の原因、複数の解決策の階層は、後述するように、複数のＳＡＯ  １１０をまとめてクラスタリングすることによって得られる。
【００１７】
問題を説明する用語の集合に関してＳＡＯ  １１０全体で検索を実行できるようにするために、索引付けモジュール（ｉｎｄｅｘｉｎｇ  ｍｏｄｕｌｅ）１２８で索引１３０を作成する。このために、索引付けモジュール１２８はＳＡＯ  １１０から用語とキーフレーズを抽出し、統計的なセッションベースの特徴選択（ｆｅａｔｕｒｅ  ｓｅｌｅｃｔｉｏｎ）を実行して抽出された特徴に適切な重みを割り当て、ＳＡＯ  １１０内の用語を正規化する。具体的には、索引付けモジュール１２８の特徴抽出部が、構造化された応答オブジェクト１１０から用語、フレーズ、および／または文などの特徴を抽出する。統計情報を使用してこうした抽出を実行する。例えば、１つの実装において、ある単語が第１の文書（ＳＡＯ）に何度も出現するが、第２の（別の）文書にはほとんどあるいは全く出現しない場合は、この特定の単語が第１の文書の用語として決定する。相互情報は、キーフレーズの特定に使用する。例えば、文書内に２つの用語が互いに隣接した形で頻繁に出現する場合は、その２つの用語を組み合わせてフレーズを生成する。こうして抽出された用語とフレーズの特徴は、索引１３０の該当する部分で表される。１つの実装において、索引付けモジュール１２８は、抽出された１つまたは複数の特徴を症状などの意味のあるデータで拡張する。
【００１８】
次に、索引付けモジュール１２８は抽出された特徴の統計的およびセッションベースの選択（特徴選択）を実行し、実質的に最も重要なトークンに大きな重みを割り当てる。統計的な特徴選択では、文書をフラット構造、つまり単語のバッグ（ｂａｇ）として扱い、用語の度数（ｆｒｅｑｕｅｎｃｙ）などの単純な用語統計を実行する。セッションベースの特徴選択では、サービス要求の内部構造が利用される。例えば、サービス要求は、親ノードの応答メッセージとなる各ノードによる複数のメッセージのツリー構造として表示できる。こうしたツリー構造を使用して高度な特徴選択を行う。特徴選択操作の結果は、索引１３０の該当する部分で表される。
【００１９】
例示的な特徴選択アルゴリズムは、例えば非特許文献１に記載するように積極的な次元縮退（ａｇｇｒｅｓｓｉｖｅ  ｄｉｍｅｎｓｉｏｎａｌｉｔｙ  ｒｅｄｕｃｔｉｏｎ）に照準を合わせたＤＦ、ＩＧ、ＭＩ、ＣＨＩに基づいている。
【００２０】
次に、索引付けモジュール１２８は抽出された特徴を変換または正規化する。こうした正規化により、例えばエンジニア同士の間、および顧客とエンジニアとの間で矛盾のない形に用語を変換する。例えば、１つの実装において、「ｃｏｒｒｕｐｔ（破損）」という用語を「ｄａｍａｇｅｄ（損傷）」という用語に同義（ｓｉｍｉｌａｒ）としてマッピングしてもよい。あるいは「ＷＩＮＤＯＷＳ（登録商標）  ＸＰ」という用語を「Ｗｉｎ  ＸＰ」という用語にマッピングしてもよい。用語の正規化については、例えば非特許文献２で説明されており、参考のためにここに引用する。用語正規化の結果は、索引１３０の該当する部分で表される。
【００２１】
（ＳＡＯ  １１０を分類し、クラスタリングするための統一されたフレームワーク）
強化された（ｒｅｉｎｆｏｒｃｅｄ）クラスタリングモジュール１３２は、索引１３０の情報を使用し、コンテンツおよびリンク機能に基づいてＳＡＯ  １１０を意味上のクラスタに体系化する。例えば、他のＳＡＯ内容に比べてリンク情報が比較的少ない場合でも、複数のＳＡＯ  １１０で同じＫＢ記事１１２を引用する場合、こうした複数のＳＡＯ  １１０は同じ問題や原因に対応する可能性が高い。この状況で、強化されたクラスタリングモジュール１３２は複数のＳＡＯ  １１０を関連するものとして相互に参照する。具体的には、強化されたクラスタリングモジュール１３２が、共通の強化クラスタリングアルゴリズムを使用して各ＳＡＯの特徴を低次元の特徴空間に繰り返しクラスタリングし、２つのＳＡＯ  １１０（文書／オブジェクト）間の類似性を計算する。ＳＡＯ  １１０の類似性の計算は、用語／特徴の重みを正規化するよく知られた重み付けのアルゴリズムであるｔｆ＊ｉｄｆに基づいている。強化されたクラスタリングの例示的な技法については、「付録Ａ」として後述する「複合型（ｍｕｌｔｉ−ｔｙｐｅ）相関データオブジェクトの強化クラスタリング」で説明する。関連のＳＡＯ  １１０の分析とクラスタリングが終了すると、以下で説明するように、関連のＳＡＯ  １１０はトラブルシューティングウィザード１２０において同じクラスタに分類され、索引１３０に索引が格納される。
【００２２】
部分的に管理された（ｓｅｍｉ−ｓｕｐｅｒｖｉｓｅｄ）学習方法により、ラベル付きとラベルなしのトレーニングデータサンプルを使用して分類子を構築する。ラベルのないデータサンプルでも、トレーニングされたモデルの精度はある程度向上できるが、ラベル付きのデータが不十分であり、基礎を成すデータの分散に偏りがある場合、既存の方法では依然として問題が発生する。従来のクラスタリング方法のこうした制限に対処するために、１つの実装においてクラスタリングモジュール１３２は、強化されたクラスタリング操作を追加のクラスタリング分析（例えば人が手作業で生成したもの）と統一する。こうして、ＳＡＯ  １１０を分類およびクラスタリングするための統一されたフレームワークを構築する。
【００２３】
例えば、１つの実装において、強化されたクラスタリングモジュール１３２によるクラスタリングベースの分類（ＣＢＣ：ｃｌｕｓｔｅｒｉｎｇ  ｂａｓｅｄ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ）操作では、まずラベル付きとラベルなしの両方のデータを含むトレーニングデータをラベル付きデータのガイダンスによってクラスタリングする。これで、得られたクラスタに基づいてラベルのないデータサンプルの一部にラベルが付けられる。続いて、区別できる分類子が拡張されたラベル付きのデータセットでトレーニングされる。説明のために、こうしたトレーニングサンプル、拡張されたラベルのデータセット、クラスタなどは、その他のデータ１３４の該当する部分で表される。ＣＢＣを使用してこうした統一クラスタリングを実行する例示的な技法については、非特許文献３で説明されており、参考のためここに引用する。
【００２４】
（例示的な知識ベースの更新）
１つの実装において、知識ベース（ＫＢ）更新モジュール１３６は１つまたは複数のＳＡＯ  １１０からＫＢ記事１１２を動的に生成する。静的に生成されたＫＢ記事は、例えば人が手作業で生成したものである。動的に生成されたＫＢ記事１１２は、ＫＢ更新モジュール１３６で自動的に生成された記事であり、対応するＳＡＯ  １１０、すなわち製品のエンドユーザおよびサポートエンジニア／スタッフがＳＡＯ生成モジュール１２４でコンパイルした階層構造をとる過去の問題の診断データの記事の情報を備えている。複数のＳＡＯ  １１０を使用してＫＢ記事が作成された場合、複数のＳＡＯ  １１０は索引１３０に示すＳＡＯ  １１０の強化されたクラスタを表している。
【００２５】
より具体的には、前述のように、複数のＳＡＯ  １１０が同じ問題を説明する場合、グループにまとめられてトラブルシューティングウィザード１２０を生成する。このクラスタリングの度数は、トラブルシューティングウィザード１２０としてグループ化されたＳＡＯ  １１０の総数である。また、原因の同じＳＡＯ  １１０が、さらにサブグループにクラスタリングされる。各サブグループの度数は、それぞれのサブグループにクラスタリングされたＳＡＯ  １１０の総数である。「ウィザード」の大きさ（すなわちトラブルシューティングウィザード１２０の生成に使用されたＳＡＯの集合）、すなわちウィザード全体の度数が十分に大きく、すべてのサブグループの度数が特定の閾値を超える場合、新しい（拡張された）ＫＢ記事１１２が作成される。
【００２６】
（例示的な製品に関する問題のトラブルシューティングウィザード）
本実装において、クライアントコンピューティング装置１０６は、トラブルシューティングウィザード１２０を備えており、クライアントコンピュータ１０６のエンドユーザは、特定の製品に関する問題の症状や説明に関連して、構造化された応答データオブジェクト１１０内の構造化された過去の製品に関する問題の診断データを系統的に表示し、利用できる。こうした表示によって、エンドユーザは問題の対応する原因とその解決策を特定できる。このために、ユーザはコンピュータプログラムアプリケーションまたは製品（例えば、ブラウザ、ワードプロセッシングアプリケーションおよび／またはその他のコンピュータプログラミングアプリケーション）に関するテキストベースの症状や問題の説明１３８を、トラブルシューティングウィザード１２０に（例えばユーザインターフェース（ＵＩ）コントロールを介して）入力できる。トラブルシューティングウィザード１２０は、製品に関する問題の説明および／または症状１３８を記述した照会１１６を生成し、ＰＳＳサーバ１０２の検索プロバイダモジュール１４０にネットワーク１０４を介して照会１１６を送信する。
【００２７】
検索プロバイダ１４０は、照会１１６を受け取ると、索引１３０の全文検索を実行して照会１１６に関連する用語および／またはフレーズを含む１つまたは複数のＳＡＯ  １１０を識別する。１つの実装において、こうした用語および／またはフレーズは、照会で指定された用語に対するオブジェクトの関連性（重み）が十分に高く、１つのＳＡＯ  １１０が別のＳＡＯ  １１０より照会１１６に関連が深いと判断するのに利用できる。検索プロバイダ１４０は、対応する１つまたは複数のＳＡＯ  １１０を検出すると、例えば応答メッセージ１１８を介してこの１つまたは複数のＳＡＯ  １１０をクライアントコンピューティング装置１０６に返す。
【００２８】
トラブルシューティングウィザード１２０は、１つまたは複数のＳＡＯ  １１０を受け取ると、直ちに過去の単一および／または複数の問題の製品に関する問題の診断データをその１つまたは複数のＳＡＯ  １１０から抽出する。トラブルシューティングウィザード１２０では、クライアントコンピューティング装置１０６のエンドユーザに対して、この抽出された情報が例えば図２に示すように表示される。
【００２９】
図２は、製品に関する問題の診断について選択的に対話しようとするユーザに対して、ＳＡＯ  １１０の階層構造をとる過去の問題の診断データを表示するトラブルシューティングウィザードの例示的なユーザインターフェース２００を示している。ＵＩ  ２００に示すように、特定の製品に関する問題の症状／説明１３８では、ＵＩ  ２００は１つまたは複数の対応する症状、原因、解決策、および／またはその他の情報を表しており、それら各々は応答メッセージ１１８によってカプセル化された１つまたは複数のＳＡＯ  １１０から抽出されている。特定の症状に関連するＫＢ記事１１２は、その一部の原因／解決策の関連ＫＢ記事を集約したものであり、度数はそれぞれの合計である。
【００３０】
ＵＩ  ２００には、特定の数の症状、原因、および／または解決策の各データセットが表示されるが、対処すべき特定の問題１３８やＳＡＯ  １１０の内容に関する特徴などの任意の数のデータを表示してもよい。トラブルシューティングウィザード１２０は、応答１１８に埋め込みまれたＳＡＯ  １１０の内部データ表現を利用して、それぞれの階層ツリー構造内の個々の症状、原因、解決データセットを表示する。このツリーでは、個々の症状親ノード（ｓｙｍｐｔｏｍ  ｐａｒｅｎｔ  ｎｏｄｅ）が１つまたは複数の原因子ノード（ｃａｕｓｅ  ｃｈｉｌｄ  ｎｏｄｅｓ）を備えている。さらに、個々の原因ノードは、１つまたは複数の解決子ノードの親ノードである。ＵＩ  ２００で情報の表示方法を選択するために、本実装において個々の症状ノードと原因ノードの左に「＋」と「−」の区切り（ｐｕｎｃｔｕａｔｉｏｎ）マークが表示される。「＋」と「−」のマークは選択可能なＵｌオブジェクトであり、対応する構造化された応答オブジェクトノードに関連する情報を選択可能に展開したり折りたたんだりするように選択できる。
【００３１】
ユーザは、トラブルシューティングウィザード１２０により、特定の製品の症状や問題の説明１３８を考慮し、ＵＩ  ２００を介して応答１１８に含まれる過去の問題の診断データと系統的に対話することで、問題を診断し、解決することができる。こうして、トラブルシューティングウィザード１２０によって、エンドユーザは、階層構造をとる過去のデータオブジェクトを系統的に利用しながら、製品に関する問題の症状や説明と対応する問題の原因および解決策とをマッチング／特定しようとする。
【００３２】
（例示的な手順）
図３に、製品サポートサービスサーバが製品サポートのサービス要求をマイニングする例示的な手順３００を示す。説明のために、手順の操作を図１のコンポーネントに関連付けながら解説する（すべての参照番号は、該当する要素を初めて図示する図面の番号で始まっている）。ブロック３０２で、製品サポートサービス（ＰＳＳ）サーバ１０２（図１）は、ＰＳＳサービス要求ログ１０８の構造化されていないサービス要求１２２を１つまたは複数の構造化された応答オブジェクト１１０に変換する。ブロック３０４で、ＰＳＳサーバ１０２は、照会１１６に埋め込まれた製品に関する問題の説明１３８を受け取ると、製品に関する問題の説明１３８に関連する用語および／またはフレーズを含む構造化された応答オブジェクト１１０の集合を識別する。ブロック３０６で、ＰＳＳサーバ１０２は前述の集合内の階層構造をとる過去の問題の診断データをエンドユーザに提供し、エンドユーザは製品に関する問題を診断する。１つの実装では、応答メッセージ１１８をクライアントコンピューティング装置１０６に送信することでこの手順が実行される。別の実装では、知識ベース更新モジュール１３６が前述の集合内の情報から知識ベース記事１１２を動的に生成することでこの手順が実行される。
【００３３】
図４に、クライアントコンピューティング装置が構造化された応答オブジェクトをトラブルシューティングウィザードに表示し、エンドユーザに製品のサポートを提供する例示的な手順４００を示す。説明のために、手順の操作を図１のコンポーネントに関連付けながら解説する（すべての参照番号は、該当する要素を初めて図示する図面の番号で始まっている）。ブロック４０２で、クライアントコンピューティング装置１０６は検索要求（図１の照会１１６）をＰＳＳサーバ１０２に送信する。検索要求には、製品に関する問題の説明１３８が含まれる。ブロック４０４で、クライアントコンピューティング装置１０６は検索要求への応答メッセージ１１８を受け取ると、トラブルシューティングウィザード１２０を表示し、製品に関する問題の説明１３８に対処する階層構造をとる過去の問題の診断データを表示する。例示的な表示を図２に示す。
【００３４】
（例示的な動作環境）
図５に、製品サポートのサービス要求をマイニングするための、図１のシステム１００、図３と４の方法を全面的または部分的に実装できる適切なコンピューティング環境５００の例を示す。例示的なコンピューティング環境５００は、適切なコンピューティング環境の１つの例にすぎず、ここで説明するシステムおよび方法の使い方または機能の範囲に関するいかなる限定をも示すものでもない。また、コンピューティング環境５００は、コンピューティング環境５００に示すコンポーネントの１つまたは組合せに関して依存性も要件もないものとする。
【００３５】
ここで説明するシステムおよび方法は、他の非常に多くの汎用または専用のコンピューティングシステム環境または構成にも適用することができる。使用に適した周知のコンピューティングシステム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前述の任意のシステムまたは装置を含む分散コンピューティング環境などが含まれるが、これらに限定されない。本フレームワークのコンパクトまたはサブセットバージョンは、ハンドヘルドコンピュータなどのリソースを限定されたクライアントやその他のコンピューティング装置にも実装することができる。本発明は、通信ネットワークを介してリンクするリモート処理装置でタスクを実行する分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールはローカルとリモートの両方のメモリ記憶装置内に配置することができる。
【００３６】
図５を参照すると、製品サポートのサービス要求をマイニングする例示的なシステムに、コンピュータ５１０の形で汎用のコンピューティング装置が配置されている。以下に説明するコンピュータ５１０の態様は、クライアントコンピューティング装置であるＰＳＳサーバ１０２（図１）および／またはクライアントコンピューティング装置１０６の例示的な実装である。コンピュータ５１０のコンポーネントには、処理装置５２０、システムメモリ５３０、システムメモリを含むさまざまなシステムコンポーネントを処理装置５２０に接続するシステムバス５２１が含まれるが、それらに限定はされない。システムバス５２１は、さまざまなバスアーキテクチャの任意の１つを使用したメモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含む各種バス構造のいずれでもよい。こうしたアーキテクチャには、例として、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス（メザニン（Ｍｅｚｚａｎｉｎｅ）バスとも呼ばれる）が含まれるが、これらに限定されない。
【００３７】
コンピュータ５１０は、通常はさまざまなコンピュータ読み取り可能媒体を備えている。コンピュータ読み取り可能媒体は、コンピュータ５１０からアクセスできる任意の使用可能な媒体でよい。揮発性と不揮発性の両方、および取り外し可能と固定の両方の媒体が含まれる。例として、コンピュータ読み取り可能媒体にはコンピュータ記憶媒体および通信媒体を含めてもよいが、これらに限定されない。コンピュータ記憶媒体には、コンピュータ読み取り可能の命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶する任意の方法または技術で組み込まれた、揮発性と不揮発性の両方、および取り外し可能と固定の両方の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなどのメモリ技術、ＣＤ  ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）などの光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスクなどの磁気記憶装置、または必要な情報を格納でき、コンピュータ５１０からアクセスできる他の任意の媒体が含まれるが、これらに限定されない。
【００３８】
通信媒体は、搬送波やその他の搬送機構のような変調データ信号に含まれるコンピュータ読み取り可能の命令、データ構造、プログラムモジュール、またはその他のデータなどを具体化したものであり、任意の情報伝達媒体を含む。「変調データ信号」という用語は、信号に情報を符号化するように、１つまたは複数のその特性が設定または変更された信号を意味する。例として、通信媒体には、有線ネットワーク、直接ワイヤ接続などの有線媒体と、音、ＲＦ、赤外線などの無線媒体が含まれるが、これらに限定されない。上記の任意の組合せも、コンピュータ読み取り可能媒体の範囲内に含まれるものとする。
【００３９】
システムメモリ５３０には、読み取り専用メモリ（ＲＯＭ）５３１やランダムアクセスメモリ（ＲＡＭ）５３２のように揮発性および／または不揮発性メモリという形をとるコンピュータ記憶媒体が含まれる。起動時などにコンピュータ５１０内の要素間の情報転送を支援する基本ルーチンを含む基本入出力システム５３３（ＢＩＯＳ）は、通常はＲＯＭ  ５３１に格納される。ＲＡＭ  ５３２には、通常は処理装置５２０から直ちにアクセスできる、かつ／または処理装置５２０で現在操作しているデータおよび／またはプログラムモジュールが格納される。例として、図５にはオペレーティングシステム５３４、アプリケーションプログラム５３５、その他のプログラムモジュール５３６、およびプログラムデータ５３７が示されている。１つの実装において、コンピュータ５１０はＰＳＳサーバ１０２である。この状況では、アプリケーションプログラム５３５は、構造化された解決データオブジェクト生成モジュール（ｓｔｒｕｃｔｕｒｅｄ  ｓｏｌｕｔｉｏｎ  ｄａｔａ  ｏｂｊｅｃｔ  ｇｅｎｅｒａｔｉｏｎ  ｍｏｄｕｌｅ）１２４、強化されたクラスタリングモジュール１３２、索引付けモジュール１２８、検索プロバイダモジュール（ｓｅａｒｃｈ  ｐｒｏｖｉｄｅｒ  ｍｏｄｕｌｅ）１４０、知識ベース（ＫＢ）更新モジュール１３６を備えている。この同じ状況において、プログラムデータ５３７はメタデータ１２６、索引１３０、その他のデータ１３４、および応答メッセージ１１８を備えている。別の実装では、コンピュータ５１０は図１のクライアントコンピューティング装置１０６であり、アプリケーションプログラム５３５はトラブルシューティングウィザード１２０を備えている。この同じ状況において、プログラムデータ５３７は照会１１６と、製品に関する問題の症状／説明１３８を備えている。
【００４０】
コンピュータ５１０には、その他の取り外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体を含めてもよい。単に例として、図５に固定の不揮発性磁気媒体から読み出しまたは書き込みを行うハードディスクドライブ５４１、取り外し可能な不揮発性磁気ディスク５５２から読み出しまたは書き込みを行う磁気ディスクドライブ５５１、ＣＤ  ＲＯＭや他の光媒体のような取り外し可能な不揮発性光ディスク５５６から読み出しまたは書き込みを行う光ディスクドライブ５５５を示す。例示的なオペレーティング環境で使用できる上記以外の取り外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク（ＤＶＤ）、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、それらに限定されない。ハードディスクドライブ５４１は、通常はインターフェース５４０などの固定のメモリインターフェースを介してシステムバス５２１に接続し、磁気ディスクドライブ５５１と光ディスクドライブ５５５は、通常はインターフェース５５０などの取り外し可能なメモリインターフェースを介してシステムバス５２１に接続する。
【００４１】
図５に示す前述のドライブとこれに対応するコンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュールなど、コンピュータ５１０のデータを格納できる。例えば、図５を参照すると、ハードディスクドライブ５４１にオペレーティングシステム５４４、アプリケーションプログラム５４５、その他のプログラムモジュール５４６、およびプログラムデータ５４７が格納されている。ただし、こうしたコンポーネントは、オペレーティングシステム５３４、アプリケーションプログラム５３５、その他のプログラムモジュール５３６、およびプログラムデータ５３７と同じでもよいし、異なっていてもよい。ここでは、オペレーティングシステム５４４、アプリケーションプログラム５４５、その他のプログラムモジュール５４６、およびプログラムデータ５４７には異なる番号を付けて、少なくとも別の複製であることを示している。
【００４２】
ユーザは、キーボード５６２やポインティングデバイス５６１（一般に、マウス、トラックボール、またはタッチパッドと呼ばれる）を使用してコンピュータ５１０にコマンドや情報を入力することができる。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、衛生パラボラアンテナ、スキャナなどを含めてもよい。これらの入力装置および他の入力装置は、多くの場合にシステムバス５２１に接続されたユーザ入力インターフェース５６０を介して処理装置５２０に接続するが、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）のような他のインターフェースやバス構造によって接続してもよい。
【００４３】
モニタ５９１または他の種類の表示装置も、ビデオインターフェース５９０のようなインターフェースを介してシステムバス５２１に接続される。さらに、コンピュータには出力周辺インターフェース５９５を介してスピーカー５９７やプリンタ５９６など、モニタ以外の出力周辺装置を接続できる。
【００４４】
コンピュータ５１０は、リモートコンピュータ５８０のような１台または複数台のリモートコンピュータへの論理接続を使用してネットワーク環境で動作する。リモートコンピュータ５８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の一般のネットワークノードでよい。また、その特定の実装の機能として、コンピュータ５１０に関連して上述した要素の多くまたはすべてを含んでもよいが、図５にはメモリ記憶装置５８１のみを示す。図５に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）５７１とワイドエリアネットワーク（ＷＡＮ）５７３が含まれるが、他のネットワークを含めてもよい。このようなネットワーキング環境は、職場、企業規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００４５】
ＬＡＮネットワーキング環境で使用した場合、コンピュータ５１０はＬＡＮ  ５７１にネットワークインターフェースまたはアダプタ５７０を介して接続する。ＷＡＮネットワーキング環境で使用した場合、コンピュータ５１０は一般にインターネットなどのＷＡＮ  ５７３を介して通信を確立するためのモデム５７２またはその他の手段を備えている。モデム５７２（内蔵または外付け）は、ユーザ入力インターフェース５６０または他の適切な機構を使用してシステムバス５２１に接続できる。ネットワーク環境では、コンピュータ５１０またはその一部に関連して記述したプログラムモジュールをリモートメモリ記憶装置に格納できる。例として、図５にメモリ装置５８１に格納されたリモートアプリケーションプログラム５８５を示すが、これに限定されない。図示されたネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用してもよい。
【００４６】
（結び）
製品サポートのサービス要求をマイニングするシステムおよび方法を、構造上の特徴および／または方法論的な操作や動作に固有の言語において説明してきたが、添付の請求項が必ずしも前述の特定の特徴や操作に限定されないことは言うまでもない。例えば、図１のトラブルシューティングウィザード１２０は、クライアントコンピューティング装置１０６に関連するように示されているが、サーバコンピュータ１０２に実装してもよい。したがって、特定の特徴や操作は、請求の対象を実装する例示的な形態として開示されている。
【００４７】
［付録Ａ］
（例示的なクラスタリングのシステムおよび方法の背景）
クラスタリングは複数のオブジェクトをグループ分けする機能を備えており、検索エンジンや情報マイニングなどのアプリケーションで使用される。クラスタリングアルゴリズムは、オブジェクトの類似性に基づいてオブジェクトをグループ分けする。例えば、Ｗｅｂページオブジェクトはそれぞれのコンテンツ、リンク構造またはそのユーザアクセスログなどに基づいてクラスタリングされる。ユーザのクラスタリングは、ユーザが選択した項目に基づく。ユーザオブジェクトは、ユーザオブジェクトのアクセス履歴に基づいてクラスタリングされる。ユーザに関連付けられた項目のクラスタリングは、従来からそうした項目を選択したユーザに基づいている。さまざまなクラスタリングアルゴリズムが知られている。先行技術のクラスタリングアルゴリズムには、パーティショニングベースのクラスタリング、階層によるクラスタリング、および密度ベースのクラスタリングがある。
【００４８】
多くの場合、ユーザがアクセスしたＷｅｂページのコンテンツまたはアクセスパターンを使用して、ユーザプロファイルが構築され、Ｗｅｂユーザがクラスタリングされる。ここで、従来のクラスタリング技法が採用される。また、協調フィルタリング（ｃｏｌｌａｂｏｒａｔｉｖｅ  ｆｉｌｔｅｒｉｎｇ）では、より適切な勧告／予測ができるように、クラスタリングを使用してユーザまたは項目をグループ分けする。
【００４９】
こうした既存のクラスタリングアルゴリズムを使用するには、一般に何らかの制限がある。従来のクラスタリング技法は、オブジェクトの数、または異種オブジェクト間のリンクの数が非常に少ないために、オブジェクトの効果的なクラスタリングができないというデータ希薄（ｄａｔａ  ｓｐａｒｓｅｎｅｓｓ）の問題に直面することがある。同種のクラスタリングでは、分析するデータセットには同じ型のオブジェクトが含まれる。例えば、同種のクラスタリングがＷｅｂページとユーザに基づく場合に、Ｗｅｂページオブジェクトとユーザオブジェクトはそれぞれ別々にクラスタリングされる。同種のクラスタリングが項目とユーザに基づく場合に、項目オブジェクトとユーザオブジェクトはそれぞれ別々にクラスタリングされる。こうした同種のクラスタリングの実施形態において、同じ型のオブジェクトは他の型のオブジェクトを考慮に入れずに一緒にクラスタリングされる。
【００５０】
先行技術の異種オブジェクトのクラスタリングでは、オブジェクトセットは別々にクラスタリングされる。異種オブジェクトのクラスタリングでは、それぞれのオブジェクトノードを表す均一な特徴（ｆｌａｔ  ｆｅａｔｕｒｅｓ）としてのみリンクを使用する。先行技術の異種のクラスタリングでは、レイヤ内およびレイヤ間の全体的なリンク構造は、考慮されないかあるいは単に別々の特徴として扱われる。
【００５１】
（例示的なクラスタリングシステムおよび方法）
図６に、クラスタリングを使用することで恩恵をこうむるコンピュータ環境６００（汎用コンピュータ）の１つの実施形態を示す。コンピュータ環境６００には、メモリ６０２、プロセッサ６０４、クラスタリング部６０８、サポート回路６０６が含まれる。サポート回路には、ディスプレイ、入／出力回路部などの装置が含まれており、コンピュータ環境６００の個々のコンポーネントはこうした装置を使用して情報（すなわちデータオブジェクト）を転送できる。
【００５２】
クラスタリングはクラスタリング部６０８内で実行される。クラスタリング部６０８は、コンピュータ環境のメモリ６０２部とプロセッサ６０４部内に組み込まれていてもよい。例えば、プロセッサ６０４は、さまざまなオブジェクトをクラスタリングするクラスタリングアルゴリズム（メモリから取得される）を処理する。メモリ６０２（データベースなど）には、クラスタリングされたオブジェクト、関連のプログラム、クラスタリングアルゴリズムが格納されるので、クラスタリングされたオブジェクトが必要に応じて取得（および格納）できる。コンピュータ環境６００は、スタンドアロンのコンピュータ、ネットワークに接続されたコンピュータシステム、メインフレーム、あるいは既知のさまざまなコンピュータシステムのいずれとして設定してもよい。ここに開示する特定の実施形態では、コンピュータ環境への適用（コンピュータによるインターネットからＷｅｂページをダウンロード）について説明する。ここで説明する概念は、既知の任意の種類のコンピュータ環境６００に適用できることが想定される。
【００５３】
本明細書では、返された結果の信頼できると考えられる（すなわちユーザの照会に適用できる）割合が高くなるクラスタリング機構が提供される。クラスタリングは、検索ツール、情報マイニング、データマイニング、協調フィルタリングなどの技術分野に適用できる。検索ツールは情報に関するさまざまな必要性に対応でき、検索に関する性能を向上できることから注目を集めている。検索ツールは、Ｗｅｂページ、ユーザ、照会などのようなコンピュータの態様に関連付けられる。
【００５４】
本明細書では、データオブジェクトをクラスタリングするさまざまなクラスタリングアルゴリズムの実施形態を説明する。データオブジェクトのクラスタリングは、データオブジェクトの大規模な集合を（データオブジェクトの多くのクラスタの各々が、比較的少ないデータオブジェクトを含む）データオブジェクトの多くの集合またはクラスタにグループ分けする技術である。クラスタリングされたデータオブジェクトのグループに属する個々のデータオブジェクトには、何らかの類似性がある。したがって、クラスタリングの１つの態様は、複数のデータオブジェクトのグループ分けと考えることができる。
【００５５】
本明細書で説明する１つのクラスタリング機構は、図７に示すフレームワークグラフの１つの実施形態であるフレームワークグラフ７５０に関連する。統一されたクラスタリング機構の特定の実施形態が提供され、図７のフレームワークグラフ７５０に示されるように、タイプの異なるオブジェクトが異なるレベルまたはノードセットＰとＵの間でクラスタリングされている。本明細書で説明する概念は、本明細書で説明するように、２つのレイヤでなく、３つあるいはそれ以上のレイヤに適用できることも想定されている。ノードセットＰとＵは、それぞれレイヤと考えてもよい。本明細書では、「統一」されたクラスタリングという用語は、異種データのクラスタリング技法に適用される。ノードセットＰには、それぞれ同じデータ型である複数のデータオブジェクトｐ１、ｐ２、ｐ３、．．．ｐｉが含まれる。ノードセットＵには、それぞれ同じデータ型である複数のデータオブジェクトｕ１、ｕ２、ｕ３、．．．ｕｊが含まれる。各ノードセット（ＰまたはＵ）上でクラスタリングされるオブジェクトのデータ型は同一であり、したがって各ノードセット（ＰまたはＵ）内のデータオブジェクトは同種である。ノードセットＰにあるデータオブジェクトｐ１、ｐ２、ｐ３、．．．ｐｉの型は、ノードセットＵにあるデータオブジェクトｕ１、ｕ２、ｕ３、．．．ｕｊの型とは異なる。したがって、ノードセットＰとＵの別々のノードセットにあるデータオブジェクトの型は異なる、すなわち異種である。本明細書の１つの態様では、同種および異種のデータ型のオブジェクトからの入力（リンクに基づく）を使用するクラスタリングについて説明する。
【００５６】
本明細書では、リンクは２つのデータオブジェクトを結ぶ線で図示されている。リンクは、クラスタリングにおける２つのデータオブジェクト間の関係を表す。一例では、リンクがＷｅｂページオブジェクトからユーザオブジェクトに達し、ユーザがあるＷｅｂページを選択することを表すことができる。別の例では、リンクは、Ｗｅｂページオブジェクトから別のＷｅｂページオブジェクトに達し、異なるＷｅｂページ間の関係を表すこともできる。クラスタリングの特定の実施形態では、「リンク」は「エッジ」と呼ばれる。「リンク」という一般的な用語は、本明細書で使用する限り、１つのオブジェクトからもうひとつのオブジェクトへのリンク、エッジまたはオブジェクト間の関係を説明する任意のコネクタを表す。
【００５７】
（本明細書で説明するように）さまざまな型のリンクが存在し、リンクは型の異なるオブジェクトのクラスタリングに関連し、さらに個々のオブジェクト同士を関連付ける。この様子は、フレームワークグラフ７５０に示されている。リンクは、レイヤ間リンクとレイヤ内リンクに分類される。レイヤ内リンク７０３または７０５は、フレームワークグラフ７５０内のリンクの１つの実施形態であり、型の同じ別々のオブジェクト間の関係を表している。レイヤ間リンク７０４は、フレームワークグラフ７５０内のリンクの１つの実施形態であり、異なる型のオブジェクト間の関係を表している。図７に示すように、データオブジェクトｕ１、ｕ２、ｕ３、．．．ｕｊの特定の２つの間を結ぶレイヤ内の複数のリンク７０３が存在する。図７に示す実施形態では、データオブジェクトｐ１、ｐ２、ｐ３、．．．ｐｉの特定の２つのオブジェクト間を結ぶレイヤ内の複数のリンク７０５も存在する。図７に示す実施形態では、ノードセットＵ内のデータオブジェクトｕ１、ｕ２、ｕ３、．．．ｕｊの特定の１つとノードセットＰ内のデータオブジェクトｐ１、ｐ２、ｐ３、．．．ｐｉの特定の１つを結ぶレイヤ間の複数のリンク７０４も存在する。レイヤ間リンクを使用して、１つの型のオブジェクトのクラスタリングが別の型のオブジェクトによって影響されることがあることを認識する。例えば、Ｗｅｂページオブジェクトのクラスタリングはユーザオブジェクトの構成、状態、特性によって影響される可能性がある。
【００５８】
リンクの方向は（図７および図８のリンク７０３、７０４、７０５の矢印で示される）、データオブジェクト間の関係がいずれの方向にも向かうことができるので、双方向として示される。リンクは説明的なものと見なされ、範囲は限定されない。フレームワークグラフ７５０のグラフに示す特定のリンクは、一方向に向かう方が適切であるが、一般に矢印の方向はフレームワークの動作には影響を及ぼさない。フレームワークグラフ７５０は、ノ−ドセットＰ、ノードセットＵおよびリンクセットＬで構成される。フレームワークグラフ７５０で、ｐｉとｕｊは２つの型のデータオブジェクトを表している。ただし、ｐｉ∈Ｐ（ｉ＝１，．．．Ｉ）、ｕｊ∈Ｕ（ｊ＝１，．．．Ｊ）である。ＩとＪは、それぞれノードセットＰとＵの濃度である。
【００５９】
リンク（ｐｉ，ｕｊ）∈Ｌは、（２組として設定される）レイヤ間リンクであり、型の異なるオブジェクト間の参照文字７０４で示される。それぞれ７０５と７０３で参照されるリンク（ｐｉ，ｐｊ）∈Ｌと（ｕｉ，ｕｊ）∈Ｌは、同じ型のオブジェクト間を結ぶレイヤ内リンクである。簡単にするために、レイヤ間リンクセット（２０４）、およびレイヤ内リンクセット（５０３、７０５）として異なる参照文字を適用する。
【００６０】
統一されたクラスタリングを使用すると、オブジェクト間でリンクが完全に活用され、クラスタリングが改善される。異なるレイヤにおける型の異なるオブジェクトのクラスタリングは、効果的なクラスタリングによって強化される。オブジェクトが適正にクラスタリングされると、より適切なクラスタリング結果が得られるはずである。クラスタリングによって、データ分析に役立つ構造化された情報を提供できる。
【００６１】
フレームワークグラフ７５０は、複数型のオブジェクトのクラスタリングを示しており、各型のオブジェクトは、実質的に同じである（例えば、ある型は、Ｗｅｂページのグループ、ユーザのグループ、ドキュメントのグループなどを表す）。オブジェクトの各グループの型は一般に、フレームワークグラフ７５０内のオブジェクトの他のグループの型とは異なる。
【００６２】
開示されたクラスタリング技法は、クラスタリングの際に、異なる（異種の）オブジェクト型の入力を考慮して受信する。本明細書の１つの態様は本質的な相互の関係に基づいており、この関係によってクラスタリングされるオブジェクトから他のオブジェクトへのリンクが提供される。各オブジェクトに接続するリンクの特定の１つ（およびリンク先のオブジェクト）は、そのオブジェクトに対する関連性を反映するさまざまな重要度で重みを付けることができる。例えば、クラスタリングされるオブジェクトと同じ型のオブジェクトには、異なる型のオブジェクトより大きな重要度を割り当ててもよい。本明細書では、異なるオブジェクトまたは型の異なるオブジェクトにレベルが変動する重要度を割り当てることができる１つの機構を提供する。異なるオブジェクト（あるいは型の異なるオブジェクト）に異なるレベルの重要度を割り当てることを、本明細書では重要度を伴うクラスタリングと呼ぶ。異なるオブジェクトの重要度のレベルが変動することで、多くの場合に、クラスタリング結果が改善され、効率が上がる。
【００６３】
図７に示すように、異種オブジェクトをクラスタリングするためのフレームワークグラフ７５０の実施形態において、異なるノードセットＰまたはＵはそれぞれ異なるオブジェクト型を含む異なるレイヤを表す。フレームワークグラフ７５０の（ＰとＵが図示されている）複数のノードセットは、クラスタリングの基盤を提供する。２つのレイヤの有向グラフ７５０には、クラスタリングされるデータオブジェクトの集合が含まれる。（クラスタリングアルゴリズムに従ってクラスタリングされる）オブジェクト型の各型のオブジェクトは、「潜在的な」クラスの事例と考えられる。オブジェクトノードの特定のノード間を結ぶリンク７０３、７０４、７０５は、クラスタリングによって提供されるオブジェクトノード間の本来の関係を反映する。クラスタリングのための反復的な投影法（ｐｒｏｊｅｃｔｉｎｇ  ｔｅｃｈｎｉｑｕｅ）のいくつかの実施形態は本明細書で説明されているが、この技法は、異なるデータ型を含むオブジェクトの異なるクラスタリングを可能にし、クラスタリングプロセスに貢献する。
【００６４】
異種の型のオブジェクト（およびその関連リンク）は、ここで説明したように、反復的なクラスタリング技法を使用することによって強化される。反復的なクラスタリング投影法は、異なるレイヤに体系化され、各レイヤには同種型のオブジェクトが含まれる、異なる型のオブジェクトのクラスタリング情報の取得に依存する。リンク情報とノード情報を組み合わせて使用し、クラスタリングが収束するまで、（クラスタリングアルゴリズムがレイヤ間に提供される）クラスタリングの結果が反復的に投影され、反映される。１つの型のオブジェクトのクラスタリング結果を別の型のオブジェクトのクラスタリング結果に反復的に投影することで、データの希薄に関連するクラスタリングの問題を軽減できる。この反復的な投影によって、１つのレイヤのクラスタリングにおける類似量（ｓｉｍｉｌａｒｉｔｙ  ｍｅａｓｕｒｅ）が、別の型のクラスタの個々のグループの代わりにクラスタに関して計算される。
【００６５】
さまざまなノードおよびリンクの各型を調査して、クラスタリングに使用できる構造的な情報を取得する。構造的な情報は、例えば、異なるデータオブジェクトを接続するリンクの型（例えば、リンクがレイヤ間リンクかあるいはレイヤ内リンクか）を考慮して取得できる。各オブジェクトの型は、図７に示すように、そのノードセットＰまたはＵで示される。
【００６６】
図７の一般的なフレームワークグラフ７５０は、特定のクラスタリングアプリケーションに適用できる。すなわち、フレームワークグラフ７５０は、ユーザのグループに関連するインターネット上のＷｅｂページのグループを図示できる。ＷｅｂページレイヤはノードセットＰとしてグループ分けされる。オブジェクトのユーザレイヤはノードセットＵとしてグループ分けされる。フレームワークグラフ７５０は、２つのレイヤのフレームワークグラフ７５０の表示の中で、複数のＷｅｂページオブジェクトと複数のユーザオブジェクトとを統合する。フレームワークグラフ７５０は、リンク（例えば、エッジ）の関係７０３、７０４、７０５を使用して、（一般的な図７のフレームワークグラフで概説される）異なる型のオブジェクトのクラスタリングを容易にする。データセット全体のリンク構造は、クラスタリング手順で重要度のレベルの異なるノードを確認（ｌｅａｒｎ）する間に調べられる。ノードはクラスタリング手順におけるノードの重要度に基づいて重み付けされ、重要なノードがより合理的にクラスタリングされることを保証する。
【００６７】
本明細書の特定の実施形態において、リンクの中でクラスタ間のリンク７０３、７０４、７０５が予約される。予約されたリンクは、オブジェクト自体でなくオブジェクトのクラスタ同士を結ぶリンクである。例えば、１つの予約されたリンクは、（元のリンクのようにＷｅｂページオブジェクトとユーザオブジェクトを結ぶ代わりに）Ｗｅｂページクラスタとユーザクラスタとを結んでいる。特定の実施形態において、予約されたリンクはフレームワークグラフ７５０の勧告など、今後のさまざまなアプリケーションのために保持される。例えば、予約されたリンクによるＷｅｂページ／ユーザクラスタリングのクラスタリング結果は、ユーザのヒットの挙動の要約グラフとして示され、ユーザのヒットに関する予測が得られる。
【００６８】
個々のノードｐｉとｕｊのコンテンツは、それぞれベクトルｆｉとｇｊ（図７には図示せず）で表される。アプリケーションによって、個々のノードｐｉとｕｊはコンテンツ特徴を備えていても（または備えていなくても）よい。先行技術のクラスタリング技法では、ノードｐｉをノードｕｊとは無関係にクラスタリングする。一方、本明細書で説明するクラスタリングフレームワーク７５０では、ノードｐｉとノードｕｊは関連の重要度に基づいて依存しながらクラスタリングされる。ここで説明するクラスタリングアルゴリズムは、各クラスタ型のオブジェクト間の距離を測定する類似性の関数を利用してクラスタリングを行う。（１）に示す余弦類似性（ｃｏｓｉｎｅ−ｓｉｍｉｌａｒｉｔｙ）関数はクラスタリングに使用できる。
【００６９】
【数１】
2005316998.tif 000003
【００７０】
ｆｘ・ｆｙは、２つの特徴ベクトルの内積である。これは、ｆｘとｆｙの同じコンポーネントの重みの積の和に等しい。ｓｃは、類似性がコンテンツ特徴に基づくことを表す。ここで、ｆｘ（ｉ）とｆｙ（ｊ）は特徴ベクトルｆｘとｆｙのｉ番目のコンポーネントとｊ番目のコンポーネントである。ｋｘはそれぞれの特徴ｆｘの項目の数、ｋｙは特徴ｆｙの項目の数である。
【００７１】
本明細書では、ノードセットＰが例として使用され、ノードのレイヤ間リンク７０４とレイヤ内リンク７０３および７０５を示している。すべてのデータは、一連のノード対、すなわちレイヤ内の場合は例えばリンク７０３または７０５で接続されるノード対（ｐ（１），ｐ（１））、（ｐ（２），ｐ（２））、．．．［ただし、ｐ（１）とｐ（２）はｐｉと同じであり、対（ｐ（１），ｐ（１））、（ｐ（２），ｐ（２））はいずれも同種レイヤのノードを表す］、レイヤ間の場合は例えばリンク７０４で接続される対（ｐ（１），ｕ（１））、（ｐ（２），ｕ（２））、．．．などを構成することが想定される。こうして、ノードの対（ｐｉ，ｐｋ）または（ｐｉ，ｕｊ）間のリンクは、データ列の同等の対の１つまたは複数の出現を表す。リンクの重みはその出現度数に関連する。
【００７２】
本明細書において、２つの異なるベクトルは、それぞれの特定ノードのレイヤ間リンク７０４とレイヤ内リンク７０３および７０５の特徴を表している。例えば、レイヤ内リンク７０３、７０５の特徴は、コンポーネントが同じレイヤ内の他のノードに対応するベクトルを使用して表される。一方、レイヤ間リンク７０４の特徴は、コンポーネントが別のレイヤのノードに対応するベクトルを使用して表すことができる。各コンポーネントは、対応するノード間のリンクの重みを表す数値でもよい。例えば、（図７に示す）ノードｐ１とｐ２のレイヤ間リンク７０４の特徴は、それぞれ［１，０，０，．．．，０］Ｔおよび［１，１，１，．．．，０］Ｔと表すことができる。
【００７３】
このようにして、対応する類似性の関数は、上記のものと同様に余弦類似性と定義できる。レイヤ内リンク７０３、７０５の特徴の類似性関数ｓｌｘ（ｘ，ｙ）は、ノードｐ１とｐ２との類似性を決定し、適用される。これは、（３）で次のように説明される。
【００７４】
【数２】
2005316998.tif 000004
【００７５】
一方、レイヤ間リンク７０４特徴の類似性関数ｓｌｘ（ｘ，ｙ）は、ノードｐ１とｕ２との類似性を（４）で次のように決定する。
【００７６】
ｓｌｘ（ｘ，ｙ）＝ｃｏｓ（ｈｘ，ｈｙ）          （４）
ただし、ｓｌ１とｓｌ２はそれぞれ、類似性がそれぞれレイヤ内およびレイヤ間リンク特徴に基づいていることを表す。ｌｘとｌｙは、ノードｘとノードｙのレイヤ内リンク特徴ベクトルである。一方、ｈｘとｈｙは、ノードｘとノードｙのレイヤ間リンク特徴ベクトルである。
【００７７】
各ノードのリンクを集合として表し、Ｊａｃｃａｒｄ係数を適用するなど、リンク特徴の他の表現や類似性のその他の基準を使用することもできる。ここで説明する実施形態には複数の利点がある。１つの利点は、クラスタリングアルゴリズムの実施形態の１つは、重み付きのリンクに対応していることである。また、こうしたクラスタリングアルゴリズムは、ｋ平均クラスタリングアルゴリズムのようにクラスタリングの重心を計算できる。さらに、重心はクラスタリングされたオブジェクトの一般的な値または特性を示すためにさらに計算する上で有用である。
【００７８】
ノードｘとノードｙの全体的な類似性関数は、（５）に示すように、３つの重み付きの値α、β、γを含む３つの類似性の重み付きの和として定義される。３つの重み付きの値を割り当てるために、発見的方法とトレーニングによる方法の２つの技術が開示されている。例えば、調整データ（ｔｕｎｉｎｇ  ｄａｔａ）がない場合、重みは手動で望ましい値に割り当てられる（例えば、アルファ＝０．５、ベータ＝０．２５、ガンマ＝０．２５）。一方、いくつかの特別な調整データがある場合は、重みは、欲張り法や山登り法のアルゴリズム、あるいは他のローカルまたはグローバルな種類の改善または最適化のプログラムを使用して計算できる。欲張り法のアルゴリズムは、各ステップの各係数を改善しようとする種類の最適化アルゴリズムなので、最終的に改善された（かつ、特定の実施形態において最適化された）解決策に到達できる。 
ｓ（ｘ，ｙ）＝αｓｃ（ｘ，ｙ）＋βｓｌ１（ｘ，ｙ）＋γｓｌ２（ｘ，ｙ）    （５）
ただし、α＋β＋γ＝１である。
【００７９】
以上の計算を行い、ノードのコンテンツとノードの類似性を決定する。アプリケーションによって３つの変数を変更すると、クラスタリングアルゴリズムに関するさまざまな情報の価値が提供される。こうしたノードのコンテンツと類似性は、引き続き検索の基準として使用される。
【００８０】
多くの異種クラスタリングに共通する問題は、多くの場合、ノードの重要度が同等ではないことである。異種クラスタリングの例には、Ｗｅｂページ／ユーザのクラスタリング、協調フィルタリングの項目／ユーザクラスタリングなどがある。これらの適用例では、重要なオブジェクトはより合理的なクラスタリング結果を得る際に重要な役割を果たす。本明細書では、データセット全体のリンク構造を使用してノードの重要度が学習される。ノードセットＰとＵの各ノード、例えば、ｐｉとｕｊについて、重要度の重みｉｐｉとｉｕｊは、リンク構造によって計算され、クラスタリング手順で使用される。
【００８１】
クラスタリングの１つの態様は、リンク分析アルゴリズムに関連しており、その複数の実施形態が本明細書で説明されている。リンク分析アルゴリズムの１つの実施形態では、図８に示すようにハイブリッドネットモデル８００が構築される。ハイブリッドネットモデル８００を使用する上で、ユーザとＷｅｂページとは、２つの説明的なノードの型として使用される。Ｗｅｂページとユーザのオブジェクト型を含む図８のハイブリッドネットモデルの実施形態は、特にインターネット、イントラネット、または他のネットワークを含むクラスタリングの種類を対象としている。
【００８２】
リンクには、リンク８０５で示すＷｅｂページのハイパーリンク／対話、リンク８０４で示すユーザとＷｅｂページとのハイパーリンク／対話、リンク８０３で示すユーザ間のハイパーリンク／対話が含まれる。図８のハイブリッドネットモデル８００では、リンク８０３、８０４、８０５で図示されるユーザ間、Ｗｅｂページ間、およびユーザとＷｅｂページとの関係を示すことにより、これらのハイパーリンク／関係を詳しく説明する。
【００８３】
ユーザセット８１０内に含まれるユーザ８０８の特定のグループが指定された場合に、ユーザセット８１０の任意のノードが訪れたすべてのＷｅｂページによってＷｅｂページセット８１２が作成される。Ｗｅｂページセット８１２はルートＷｅｂページセットを検索エンジンに送信することによって確認され、ベースＷｅｂページセットが得られる。図８の矢印で表される３種類のリンクには異なる意味がある。Ｗｅｂページセット８１２内の矢印で表されるリンク８０５は、Ｗｅｂページ間のハイパーリンクを示す。ユーザセット８１０内の矢印で表されるリンク８０３は、ユーザ間の社会的関係を示す。ユーザセット８１０とＷｅｂページセット８１２を結ぶ矢印で表されるリンク８０４は、ユーザがＷｅｂページを訪問する動作を示す。矢印で表されるリンク８０４は、特定のＷｅｂページごとのユーザの評価を示すので、Ｗｅｂページのオーソリティ／ハブのスコアはより信頼できる。異なる型のリンク８０３、８０４、８０５は異なる関係を表す。各リンクは、例えば、リンクが何度アクセスされるか、またはリンクで接続されるノードの各対がどのように関連付けられるかなどにより、異なる重要度で重み付けできる。
【００８４】
図９は、インターネットを使用してクラスタリングを実行するよう構成されたコンピュータ環境６００の１つの実施形態を示している。こうしたクラスタリングの１つの態様には、（関連するレイヤ間リンクとレイヤ内リンクを含む）ユーザに基づくＷｅｂページのクラスタリングを含めてもよい。コンピュータ環境には、多くのＷｅｂサイト９５０、検索エンジン９５２、サーバ／プロキシ部９５４、モデリングモジュール９５６、コンピューティングモジュール９５８、提案／参照部９６０が含まれる。コンピュータ環境６００は、グラフィカルユーザインターフェース（ＧＵＩ）などでユーザ９６２とインターフェースする。コンピューティングモジュール９５８には、（クラスタリングアルゴリズムの特定の実施形態は反復演算に依存する）クラスタリングアルゴリズムを実行する反復演算部９８０が含まれる。モデリングモジュール９５６は、データの収集とデータの追跡（例えば、オブジェクトに関連するデータ）などの操作を行う。検索エンジンはユーザの照会に基づく検索結果を返す。Ｗｅｂサイト９５０は、ユーザに提供するデータを表示する。サーバ／プロキシは、クラスタリングの多くを実行するサーバに照会および同様のものを送信する。提案／参照部９６０によって、ユーザはクラスタリングアルゴリズムを変更または選択できる。
【００８５】
モデリングモジュール９５６には、先行する定式化部（ｆｏｒｍａｌｉｚａｔｉｏｎ  ｐｏｒｔｉｏｎ）９７０、Ｗｅｂページ抽出部９７２、ユーザ抽出部９７４が含まれる。９７０、９７２、９７４の各部は、事前に定式化される９７０データ、Ｗｅｂページから抽出されるデータ、またはユーザ９６２から抽出されるデータを提供かつ／または追跡するよう構成される。図９に示すように、コンピュータ環境の実施形態は、リンク分析アルゴリズムを提供するように構成される。このアルゴリズムの１つの実施形態は、本明細書で説明されている。
【００８６】
クラスタリングアルゴリズムの一実施形態は、２種類のページ、すなわちハブ、オーソリティ、ユーザを探すことでＷｅｂグラフを分析できる。ハブは、特定のトピックに関連する有効な情報を提供する多くの他のページにリンクするページである。オーソリティページは、多くのハブに関連するページと考えられる。ユーザは、オーソリティとハブのそれぞれの１つにアクセスする。ハブ、オーソリティ、ユーザの各対は、それによって相互に強化する関係を示す。クラスタリングアルゴリズムは、現在のリンク分析アルゴリズムの特定の実施形態で使用される３つのベクトルに依存する。Ｗｅｂページオーソリティはベクトルａに重みを付け、ハブはベクトルｈに重みを付け、ユーザはベクトルｕに重みを付ける。こうしたベクトルの特定の態様は、本明細書で説明されている。
【００８７】
以下の重みの計算に関連する以下の項（ｔｅｒｍｓ）のいくつかは、図９などの図には示されず、代わりに計算に関連付ける。１つの実施形態において、指定されたユーザｉについて、ユーザの重みｕｉはユーザの知識レベルを表す。Ｗｅｂページｊについて、ａｊとｈｊはオーソリティの重みとハブの重みとを示す。１つの実施形態において、３つのベクトル（ユーザの重みｕ、Ｗｅｂページのオーソリティの重みａ、ハブの重みｈ）は、それぞれ特定の値（１など）で初期化される。３つのベクトルｈ、ａ、ｕのすべては、それぞれ（６）、（７）、および（８）に示す以下の計算を考慮しながらインターネット利用率に基づいて反復的に更新される。
【００８８】
【数３】
2005316998.tif 000005
【００８９】
ここで、ｐとｑは特定のＷｅｂページを表し、ｒは特定のユーザを表す。開示されたネットワークの特定の実施形態には、２種類のリンク、すなわち、異なるページ間のリンク（ハイパーリンク）、およびユーザとページとの間のリンク（ブラウジングパターン）がある。Ａ＝［ａｉｊ］は３つのベクトル  ｈ、ａ、ｕのすべての基本セットの隣接マトリックスを表すものとする。ただし、ページｉがページｊにリンクする場合はａｉｊ＝１、それ以外の場合はａｉｊ＝０である。Ｖ＝［ｖｉｊ］は、ユーザセットからＷｅｂページセットへの訪問マトリックスである。ユーザｉがページｊを訪問する場合はｖｉｊ＝１、それ以外の場合はｖｉｊ＝０と考える。また、これを（８）、（１０）、（１１）に示す。
【００９０】
【数４】
2005316998.tif 000006
【００９１】
一実施形態において、（９）、（１０）、および（１１）に示すベクトルａ、ｈ、ｕの計算は、複数回繰り返すことで有効な結果が得られる。特定の実施形態において、繰り返しの前にベクトルａ、ｈ、ｕのそれぞれに無作為の値が割り当てられる。各繰り返しが終了すると、ａ、ｈ、ｕの値が変更され、正規化され、次の繰り返しの基盤を提供する。各繰り返しが終了すると、ａ、ｈ、ｕの繰り返しの値がそれぞれ特定の値に収束する傾向がある。ユーザの重みｕｉの大きいユーザ、オーソリティの重みａｊおよび／またはハブの重みｈｊの大きいＷｅｂページが報告される。好ましい実施形態において、特定の各ユーザオブジェクトまたはＷｅｂページオブジェクトには、他の各ユーザオブジェクトまたはＷｅｂページオブジェクトより大きな値が割り当てられる。値が大きいほど、そのオブジェクトに割り当てられる重要度が高くなる。
【００９２】
本明細書で説明するように、リンク分析アルゴリズムの実施形態は、クラスタリングを実行でき、Ｗｅｂページとユーザの両方からの反復的な入力に依存する。このように、ユーザから提供された重み付きの入力がＷｅｂページのクラスタリングアルゴリズムに適用される。重み付きのユーザ入力を使用してクラスタリングを行うと、検索結果の精度とクラスタリングアルゴリズムの実行速度が向上する。
【００９３】
本明細書で説明するリンク分析アルゴリズムは、ユーザに基づくＷｅｂページのクラスタリングのクラスタリングアルゴリズムに適用されているが、このアルゴリズムは任意の異種クラスタリングアルゴリズムに適用されることが想定されている。ここで説明するように、この重み付けによって１つにはクラスタリングにおいて重要度を考慮できるようになる。
【００９４】
オブジェクト型をクラスタリングするためのクラスタリングアルゴリズムのさまざまな実施形態について説明する。クラスタリングアルゴリズムは、クラスタリングされるデータオブジェクト間の類似性に基づくデータオブジェクトの自然のグループを発見しようとする。したがって、クラスタリングアルゴリズムはデータオブジェクト上でクラスタリング操作を実行する。クラスタリングアルゴリズムの特定の実施形態は、データセットのグループの重心を発見する。重心は、パラメータ値がクラスタのすべてのポイントのパラメータ値の平均であるポイントを表す。クラスタの帰属関係を確認するために、ほとんどのクラスタリングアルゴリズムは、点とクラスタ重心間の距離を評価する。クラスタリングアルゴリズムからの出力は、基本的に各クラスタのコンポーネント数によるクラスタ重心の統計的記述である。
【００９５】
クラスタアルゴリズムの複数の実施形態について本明細書で説明する。双方向のｋ平均クラスタアルゴリズムは、クラスタリングプロセスの相互の強化に基づいている。双方向のｋ平均クラスタアルゴリズムは、反復的なクラスタリングアルゴリズムである。双方向ｋ平均クラスタアルゴリズムでは、オブジェクトの重要性はまず（６）〜（８）または（９）〜（１１）で計算され、その結果はさらに後続の反復的なクラスタリング手順に適用される。クラスタリングアルゴリズムは、定義された類似性関数に基づいて各レイヤのオブジェクトをクラスタリングする。ｋ平均、ｋ−ｍｅｄｏｉｄ、集塊性の階層方式などの多くのクラスタリングアルゴリズムを使用できるが、本明細書ではｋ平均クラスタリングアルゴリズムの適用例について説明する。
【００９６】
ノードの計算された重要性のスコアを適用するにはいくつかの方法がある。１つには、基本のｋ平均クラスタリングアルゴリズムを「重み付き」のｋ平均アルゴリズムに修正する方法がある。修正されたｋ平均アルゴリズムにおいて、指定されたクラスタの重心は、重要度のスコアを決定する重みが設定された特徴の重み付きの和を使用して計算される。重要度または重みの大きなノードは、それによってコンテンツとリンクの特徴の両方のクラスタ重心を形成する際により重視される。別の実施形態では、重要度のスコアによってノードのリンクの重みが変更され、次に類似性関数の重み付きのリンク特徴を使用する。このように、ノードの重要度はクラスタリングプロセスのリンク特徴にのみ反映される。
【００９７】
図１０、図１１に、クラスタリングアルゴリズムの入力／出力の１つの実施形態を示す。クラスタリングアルゴリズムへの入力には、（ノードのコンテンツ特徴ｆｉとｇｊを含む）２つのレイヤを備えるフレームワークグラフ７５０が含まれる。クラスタリングアルゴリズムへの出力には、クラスタリングを反映する新しいフレームワークグラフ７５０が含まれる。新しいフレームワークグラフの特定の実施形態では、新しいノードの位置に変更された古いノードのそれぞれの変動を図示してもよい。
【００９８】
クラスタリングアルゴリズム１０５０の一実施形態を示すフローチャートの一実施形態は、図１０と図１１とに示されている。クラスタリングアルゴリズム１０５０において、ステップ１０５１で、（クラスタリングの各繰り返しが開始される前に）元のフレームワークグラフが入力される。ステップ１０５２では、考慮する各ノードの重要度が（６）〜（８）または（９）〜（１１）を使用して決定あるいは計算される。ステップ１０５４で、クラスタリングを行う任意のレイヤが選択される。選択されたレイヤのノードは、ステップ１０５５で適切な方法で（例えば、コンテンツ特徴に従って）クラスタリングされる。特定の実施形態では、望ましいフィルタリングアルゴリズム（図示せず）を使用してノードがフィルタリングされ、クラスタリングが改善される。ステップ１０５６では、各クラスタのノードが１つのノードにマージされる。例えば、フィルタリングに続いて２つの候補ノードが存在する場合、最も近い２つの候補ノードが例えば、２つの候補ノードのベクトル値を平均することによりマージされる。このマージにより、別々のノードが組み合わされるので、考慮する必要のあるノードの数を減らすことができる。このように、マージ操作を使用して複製および似通ったもの（ｎｅａｒｄｕｐｌｉｃａｔｅｓ）の発生を減少させることができる。
【００９９】
対応するリンクは、ステップ１０５７でのマージに基づいて更新される。ステップ１０５８で、クラスタリングアルゴリズムは、クラスタリングのために（任意に選択されたレイヤから）２番目のレイヤに切り替える。ステップ１１６０で、２番目のレイヤのノードは、それらのコンテンツ特徴と更新されたリンク特徴に従ってクラスタリングされる。ステップ１１６１では、各クラスタのノードが１つのノードにマージされる。
【０１００】
ステップ１１６２では、元のリンク構造と他のレイヤの元のノードが回復される。ステップ１１６４では、２番目のレイヤの各クラスタのノードがマージされ、対応するリンクが更新される。ステップ１１６６では、この反復的クラスタリングプロセスがコンピュータ環境内で継続される。ステップ１１６８では、フレームワークグラフ７５０の改訂版が出力される。
【０１０１】
最初のクラスタリングパスでは、コンテンツ特徴のみが使用される。多くの場合、リンク特徴は、開始時にクラスタリングに利用するには希薄すぎるためである。後続のクラスタリングパスでは、コンテンツ特徴とリンク特徴を組み合わせてクラスタリングの効率を上げる。コンテンツ特徴とリンク特徴を組み合わせることで、重みが異なる値で指定され、その結果が比較され、クラスタリングの精度が向上する。
【０１０２】
図１０および図１１に関連して説明したように、本クラスタリングアルゴリズムはクラスタリングの多くの実施形態に適用できる。より具体的には、ユーザがＷｅｂページにどのようにアクセスするかに基づくＷｅｂページのクラスタリングの一実施形態についてここで説明する。こうした種類のリンクがユーザレイヤのノードとＷｅｂページレイヤのノードを結合し、ｕｊからｐｉにリンクがある場合、ユーザｕｊは以前Ｗｅｂページｐｉを訪れたことがある。リンクの重みは、ユーザｕｊがページｐｉを特定の時刻に訪問する確率を意味し、Ｐｒ（ｐｉ｜ｕｊ）と表す。（１２）に示すように、これは観察データ内の数を数えることで簡単に計算できる。
【０１０３】
【数５】
2005316998.tif 000007
【０１０４】
ここで、Ｐ（ｕｊ）はユーザｕｊが以前に訪れたページの集合である。Ｃ（ｐｉ，ｕｊ）は、ユーザｕｊが以前にページｐｉを訪れた回数を表す。
【０１０５】
図１２のフレームワークグラフ７５０の実施形態に示すように、クラスタリングアルゴリズムの一実施形態には、概念レイヤすなわち隠しレイヤが含まれる。図１２では、簡単にするために、図７のフレームワークグラフに示すレイヤ内リンク７０３と７０５は表示されていない。図１２に示すように、フレームワークグラフ７５０の実施形態は、レイヤ内リンクとレイヤ間リンクの任意の組合せに依存でき、依然として本明細書の概念を逸脱しないことが想定される。
【０１０６】
（図１２に示されるようにフレームワークグラフ７５０の実施形態において）隠しレイヤ１２７０は、Ｗｅｂページレイヤとユーザレイヤ間にある。隠しレイヤ１２７５０は、（そこからノードセットのＰとＵのそれぞれにリンクする）追加の抽象概念のレイヤである。この追加のレイヤによって、元のノードセットＰとＵとの間のリンクに比べて、現実感のあるモデル化が可能になる。（隠しレイヤがない）図７に示すようなフレームワークグラフ７５０の実施形態のレイヤ間リンク７０４の１つは、図１２に示すようなフレームワークグラフ７５０の実施形態の隠しレイヤ間リンクの対としてモデル化してもよい。隠しレイヤ間リンクの１つが、ノードセットＰを含むＷｅｂページレイヤと隠しレイヤ１２７０との間に存在し、また隠しレイヤ間リンクの１つが、ユーザレイヤと隠しレイヤ１２７０との間に存在する。図１２に示す各隠しレイヤ間リンクの矢印の方向は、隠しレイヤのノードへの隠しレイヤ間リンクで接続されるノードセットＰおよびＵのそれぞれの特定のＷｅｂページやユーザと同様に、任意である。
【０１０７】
ノードセットＰを含むＷｅｂページレイヤと隠しレイヤ１２７０との間のリンク（すなわち、隠しレイヤ間リンク）は、Ｗｅｂページｐ１、ｐ２などが隠しレイヤ１２７０の特定概念ノードＰ（ｃ１）、Ｐ（ｃ２）などにどのように属しているかを示している。ユーザレイヤと隠しレイヤ１２７０との間に広がるリンク（すなわち、隠しレイヤ間リンク）は、ユーザノードｕ１、ｕ２などが隠しレイヤ１２７０内の特定概念ノードＰ（ｃ１）、Ｐ（ｃ２）などにどのように興味を持つかを示している。
【０１０８】
したがって、Ｗｅｂページレイヤと概念レイヤとのリンクは、それぞれＷｅｂページｐｉが概念カテゴリｃｋに分類される確率を意味し、Ｐｒ（ｐｉ｜ｃｋ）と表す。フレームワークグラフで具体化されるこのモデルは、ナイーブベイズ（Ｎａｉｖｅ  Ｂａｙｅｓｉａｎ）分類で使用される仮定を共有する。この仮定では、さまざまな単語が条件付きで独立と見なされる。したがって、概念ｃｋは正規分布、すなわち期待値がベクトル
【０１０９】
【数６】
2005316998.tif 000008
【０１１０】
、共分散がベクトル
【０１１１】
【数７】
2005316998.tif 000009
【０１１２】
で表すことができる。Ｐｒ（ｐｉ｜ｃｋ）は、次に示す（１３）に従って導くことができる。
【０１１３】
【数８】
2005316998.tif 000010
【０１１４】
ｗｌｉは、Ｗｅｂページｐｉにおけるｌ番目の単語の重みである。
【０１１５】
こうしたユーザレイヤと隠しレイヤ内のノードとのリンク（Ｐｒ（ｃｋ｜ｕｊ）と表す）は、概念を反映するカテゴリへのユーザの興味を表している。したがって、１つのベクトル（Ｉｊ１，Ｉｊ２，．．．，Ｉｊｎ），Ｉｊｋ＝Ｐｒ（ｃｋ｜ｕｊ）は各ユーザに対応する。ただし、ｎは隠し概念の数である。図１２に示すリンクは、ユーザのベクトルモデルと見なすことができる。このベクトルは、式（１４）に示すユーザの利用率のデータによって制限される。
【０１１６】
【数９】
2005316998.tif 000011
【０１１７】
したがって、Ｐｒ（ｃｋ｜ｕｊ）は（１３）の解を求めることで計算できる。
【０１１８】
簡単にするために、Ｐｒ（ｐｉ｜ｕｊ）＝Ｒｉ，ｊ、Ｐｒ（ｐｉ｜ｃｋ）＝Ｓｉ，ｋ、Ｐｒ（ｃｋ｜ｕｊ）＝Ｔｋ，ｊとする。ユーザｊは、（１５）に示すように単独で考察できる。
【０１１９】
【数１０】
2005316998.tif 000012
【０１２０】
ただし、「｜Ｐａｇｅ｜」はＷｅｂページの総数、「｜Ｃｏｎｃｅｐｔ｜」は隠し概念の総数である。｜Ｐａｇｅ｜＞＞｜Ｃｏｎｃｅｐｔ｜なので、Ｔｋ，ｊの最小二乗解は（１５）または（１６）から得られる。
【０１２１】
【数１１】
2005316998.tif 000013
【０１２２】
ただし、「｜Ｕｓｅｒ｜」はユーザの総数である。
【０１２３】
｜Ｕｓｅｒ｜＞＞｜Ｃｏｎｃｅｐｔ｜なので、Ｓｉ，ｋの最小二乗解は（１７）から得られる。
【０１２４】
【数１２】
2005316998.tif 000014
【０１２５】
期待値のベクトルが
【０１２６】
【数１３】
2005316998.tif 000015
【０１２７】
得られると、新しい共分散のベクトル
【０１２８】
【数１４】
2005316998.tif 000016
【０１２９】
を計算できる。図１２に示すフレームワークグラフ７５０の実施形態は、ノードセットＰとノードセットＵの間に展開するが、ノードセットの特定のコンテンツは本質的に説明でき、ノードセットの任意の集合に適用できることが想定される。
【０１３０】
Ｗｅｂページオブジェクトがユーザオブジェクトに基づいてクラスタリングされるクラスタリングアルゴリズムの１つの実施形態は、図１３の１３００に示すＷｅｂページクラスタリングアルゴリズムの１つの実施形態に比較して次のように概説できる。
【０１３１】
１．  ステップ１３０２で、ユーザのログ群を収集する。
【０１３２】
２．  ステップ１３０４で、ユーザｕｊがＷｅｂページｐｉを特定の時刻に訪問する確率Ｐｒ（ｐｉ｜ｕｊ）を式（１２）から計算する。
【０１３３】
３．  ステップ１３０６で、（図１２に示す）隠し概念レイヤのノードの数｜Ｃｏｎｃｅｐｔ｜を定義し、ステップ１３０８で期待値のベクトル
【０１３４】
【数１５】
2005316998.tif 000017
【０１３５】
の初期パラメータと共分散の初期ベクトル
【０１３６】
【数１６】
2005316998.tif 000018
【０１３７】
を無作為に割り当てる。
【０１３８】
４．  ステップ１３１０で、Ｗｅｂページｐｉが特定の概念カテゴリｃｋに分類される確率Ｐｒ（ｐｉ｜ｃｋ）を式（１３）から計算する。
【０１３９】
５．  ステップ１３１２で、導かれるユーザノードと隠しレイヤノードとのリンク内のユーザの興味を表すＰｒ（ｃｋ｜ｕｊ）を式（１５）から計算する。
【０１４０】
６．  ステップ１３１４で、Ｗｅｂページがステップ１３１０で式（１３）により指定したカテゴリに分類される確率Ｐｒ（ｐｉ｜ｃｋ）を更新する。
【０１４１】
７．  式（１３）に記載のＰｒ（ｐｉ｜ｃｋ）を使用して隠し概念ノードの各パラメータを再評価する。
【０１４２】
８．  ノードセットの値の何らかの基盤を提供するまで（または少なくともモデルが安定なノードセットベクトルの結果を表示するまで）、式（１３）から式（１５）までを複数回繰り返す。
【図面の簡単な説明】
【０１４３】
【図１】製品サポートのサービス要求をマイニングする例示的なシステムを示す図である。
【図２】製品に関する問題の診断についての選択的な対話を実現するために、構造化された応答データオブジェクトの階層構造をとる過去の問題の診断データをユーザに対して表示する、例示的なトラブルシューティングウィザードのユーザインターフェースを示す図である。
【図３】製品サポートサービスサーバが製品サポートのサービス要求をマイニングする例示的な手順３００を示す図である。
【図４】クライアントコンピューティング装置が構造化された応答オブジェクトをトラブルシューティングウィザードに表示し、エンドユーザに製品に関する問題のサポートを提供する例示的な手順を示す図である。
【図５】後述の製品サポートのサービス要求をマイニングするためのシステム、装置、方法を全面的または部分的に実装できる適切なコンピューティング環境を示す図である。
【図６】クラスタリングに利用できるコンピュータ環境の１つの実施形態を示すブロック図である。
【図７】異種オブジェクトをクラスタリングするフレームワークの１つの実施形態を示すブロック図である。
【図８】ハイブリッドネットモデルの１つの実施形態を示すブロック図である。
【図９】インターネットに照準を合わせたコンピュータ環境の別の実施形態を示すブロック図である。
【図１０】クラスタリングアルゴリズムの一実施形態を示す流れ図である。
【図１１】クラスタリングアルゴリズムの一実施形態を示す流れ図である。
【図１２】隠しレイヤを含む異種オブジェクトをクラスタリングするフレームワークの別の実施形態を示すブロック図である。
【図１３】クラスタリングアルゴリズムの別の実施形態を示す流れ図である。
【符号の説明】
【０１４４】
１００  例示的なシステム
２００  トラブルシューティングウィザードの例示的なインターフェース
３００  製品サポートのサービス要求をマイニングする例示的な手順
４００  エンドユーザに製品のサポートを提供する例示的な手順
５００  例示的なコンピューティング環境
５１０  コンピュータ
５４１  ハードディスクドライブ
５５１  磁気ディスクドライブ
５５５  光ディスクドライブ
５８１  メモリ装置
７０３、７０５  レイヤ内リンク
７０４  レイヤ間リンク
７５０  フレームワークグラフ
８０３、８０５  レイヤ内リンク
８０４  レイヤ間リンク
１０５０  クラスタリングアルゴリズム
１３００  Ｗｅｂページクラスタリングアルゴリズム
【図１】
2005316998.tif 000019
【図２】
2005316998.tif 000020
【図３】
2005316998.tif 000021
【図４】
2005316998.tif 000022
【図５】
2005316998.tif 000023
【図６】
2005316998.tif 000024
【図７】
2005316998.tif 000025
【図８】
2005316998.tif 000026
【図９】
2005316998.tif 000027
【図１０】
2005316998.tif 000028
【図１１】
2005316998.tif 000029
【図１２】
2005316998.tif 000030
【図１３】
2005316998.tif 000031
【外国語明細書】
2005316998000001.pdf