(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-15
(45)【発行日】2024-08-23
(54)【発明の名称】階層クラスタリングを使用する希少トピック検出
(51)【国際特許分類】
G06F 16/35 20190101AFI20240816BHJP
G06F 40/279 20200101ALI20240816BHJP
【FI】
G06F16/35
G06F40/279
(21)【出願番号】P 2022520298
(86)(22)【出願日】2020-09-29
(86)【国際出願番号】 IB2020059112
(87)【国際公開番号】W WO2021070005
(87)【国際公開日】2021-04-15
【審査請求日】2023-02-24
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】ガンチ、ラグー、キラン
(72)【発明者】
【氏名】スリバトサ、ムドハカル
(72)【発明者】
【氏名】スリランガムスリドハラン、シュリーランジャニ
(72)【発明者】
【氏名】リム、ヨン-スプ
(72)【発明者】
【氏名】アグラワル、ダクシー
【審査官】早川 学
(56)【参考文献】
【文献】米国特許出願公開第2011/0270830(US,A1)
【文献】米国特許出願公開第2013/0212110(US,A1)
【文献】米国特許出願公開第2003/0212679(US,A1)
【文献】米国特許出願公開第2008/0222140(US,A1)
【文献】米国特許第09697245(US,B1)
【文献】米国特許出願公開第2018/0032606(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
プロセッサによる階層トピック・モデリングを使用して希少トピック検出を提供するための方法であって、
前記方法が、
1つまたは複数のデータ・ソースから階層トピック・モデルを学習することと、
選択されたクラスタ内の1つまたは複数の支配的な語を、前記階層トピック・モデルを使用して反復的に除去することであって、前記支配的な語が、前記クラスタの1つまたは複数の主要なトピックと関係する、前記除去することと、
前記学習された階層トピック・モデルに、前記階層トピック・モデルを発展させるべく、1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、またはその組合せをシード設定することであって、前記除去された支配的な語が、前記シード設定が完了すると、復帰させられる、前記シード設定することと
を含
み、
前記方法が、
前記選択されたクラスタを、反復の各回において複数のクラスタに分割することと、
前記複数のクラスタから代替の選択されたクラスタを、前記代替の選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別することであって、前記代替の選択されたクラスタが、キング・クラスタであり、前記キング・クラスタが、前記複数のクラスタからの最大のクラスタである、前記識別することと
をさらに含む、
前記方法。
【請求項2】
プロセッサによる階層トピック・モデリングを使用して希少トピック検出を提供するための方法であって、
前記方法が、
1つまたは複数のデータ・ソースから階層トピック・モデルを学習することと、
選択されたクラスタ内の1つまたは複数の支配的な語を、前記階層トピック・モデルを使用して反復的に除去することであって、前記支配的な語が、前記クラスタの1つまたは複数の主要なトピックと関係する、前記除去することと、
前記学習された階層トピック・モデルに、前記階層トピック・モデルを発展させるべく、1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、またはその組合せをシード設定することであって、前記除去された支配的な語が、前記シード設定が完了すると、復帰させられる、前記シード設定することと
を含
み、
前記方法が、
複数のクラスタの各々の間の1つまたは複数の差を、反復の各回において前記選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別すること
をさらに含む
前記方法。
【請求項3】
1つまたは複数の語ベクトルを生成することと、前記1つまたは複数の語ベクトルの各々をスコアリングすることとをさらに含む、請求項1
又は2に記載の方法。
【請求項4】
前記1つまたは複数の語ベクトルから複数のクラスタを生成することをさらに含み、前記選択されたクラスタが、前記複数のクラスタから識別され、かつキング・クラスタであり、前記キング・クラスタが、前記複数のクラスタからの最大のクラスタである、請求項1
~3のいずれか1項に記載の方法。
【請求項5】
前記選択されたクラスタを、反復の各回において複数のクラスタに分割することと、
前記複数のクラスタから代替の選択されたクラスタを、前記代替の選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別することであって、前記代替の選択されたクラスタが、キング・クラスタであり、前記キング・クラスタが、前記複数のクラスタからの最大のクラスタである、前記識別することと
をさらに含む、請求項
2に記載の方法。
【請求項6】
前記階層トピック・モデルに既存のトピック・モデルをシード設定することをさらに含む、請求項1
又は2に記載の方法。
【請求項7】
1つまたは複数のクラスタ・モデルにより複数のクラスタの各々にシード設定することをさらに含む、請求項1
又は2に記載の方法。
【請求項8】
前記複数のクラスタの各々の間の1つまたは複数の差を、反復の各回において前記選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別することをさらに含む、請求項1に記載の方法。
【請求項9】
請求項1ないし
8の何
れか一項に記載の方法を実行するプロセッサを含むシステム。
【請求項10】
プロセッサに、請求項1ないし
8の何
れか一項に記載の方法を実行させるためのコンピュータ・プログラム。
【請求項11】
請求項
10に記載のコンピュータ・プログラムを記憶するコンピュータ読取可能記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、コンピューティング・システムに関し、より詳細には、コンピューティング・プロセッサを使用する階層クラスタリングを使用して希少トピック検出を提供するための様々な実施形態に関する。
【背景技術】
【0002】
コンピュータおよびネットワーキング技術の到来は、日々の活動を強化し、情報の共有を簡単にしながら、生活の質を高めることを可能にしてきた。情報技術の最近の進歩およびインターネットの益々の普及のため、膨大な量の情報が、現在、デジタル形態で利用可能である。情報のそのような利用可能性は、多くの機会をもたらしている。例えば、リアルタイムのコミュニケーション・メッセージングなどのデジタル情報およびオンライン情報が、近年、非常に普及している。技術における大躍進が実を結ぶにつれ、これらのシステムにおける進展を効率および向上のために有利にする必要性も大きくなっている。
【発明の概要】
【0003】
プロセッサによる階層トピック・モデリングを使用して希少トピック検出を提供するための様々な実施形態が、提供される。階層トピック・モデルが、1つまたは複数のデータ・ソースから学習されてよい。選択されたクラスタ内の1つまたは複数の支配的な語が、階層トピック・モデルを使用して反復的に除去されてよい。支配的な語は、クラスタの1つまたは複数の主要なトピックと関係してよい。学習された階層トピック・モデルには、階層トピック・モデルを発展させるべく、1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、またはその組合せがシード設定されてよく、除去された支配的な語は、シード設定が完了すると、復帰させられる。
【0004】
本発明の利点が直ちに理解されるようにするため、上記で簡単に説明した本発明のより詳細な説明が、添付の図面に例示される具体的な実施形態を参照して行われる。これらの図面は、本発明の典型的な実施形態を示すに過ぎず、したがって、本発明の範囲を限定するものと考えられるべきではないものと理解して、本発明について、添付の図面の使用を介してさらに具体的に、さらに詳細に説明され、解説される。
【図面の簡単な説明】
【0005】
【
図1】本発明の実施形態による例示的なクラウド・コンピューティング・ノードを示すブロック図である。
【
図2】本発明の実施形態による例示的なクラウド・コンピューティング環境を示すさらなるブロック図である。
【
図3】本発明の実施形態による抽象化モデル層を示すさらなるブロック図である。
【
図4】本発明の態様によるリアルタイム会話データを解析すること、およびメッセージ間の到着間時間を記録することを示すさらなる図である。
【
図5】本発明の態様による階層トピック・モデリングを使用する希少トピック検出を示すグラフである。
【
図6】やはり、本発明の態様が実現されてよい、プロセッサによる階層トピック・モデリングを使用して希少トピック検出を提供するための例示的な方法を示すフローチャートである。
【発明を実施するための形態】
【0006】
電子情報の量が増え続けるにつれ、より高度な情報アクセス・システムの需要もまた、増大する。デジタル・データまたは「オンライン」データは、リアルタイムの地球規模のコンピュータ・ネットワークを介して益々アクセス可能となっている。データは、科学、政治、行政、教育、ビジネス等々を含め、様々な組織およびグループまたは個人の多くの態様を反映することが可能である。協働的コミュニケーションおよび社会的コミュニケーションの使用の増加とともに、テキスト・ベースのコミュニケーションを介したコミュニケーションもまた、増加する。ビジネス目的とレクリエーション目的の両方で、リアルタイムのコミュニケーションメッセージ(例えば、リアルタイムのチャット談話)は、現代社会の欠かすことのできない一部である。しかし、サイズにかかわらず、様々なエンティティに関して、そのような協働的コミュニケーション手段および社会的コミュニケーション手段を使用することは、特に、大量のテキスト・ベースのデータが様々なアプリケーションおよび様々なサービスによって生成される場合、圧倒される体験であり得る。
【0007】
さらに、様々なタイプのエンティティ(例えば、ビジネス、組織、行政官庁、教育機関、およびそれに類するもの)が、「実用」テキストのコーパス(すなわち、集まり)において表現される言語の研究であるコーパス言語学に、しばしば携わる。コーパス言語学の中核の発想は、表現の解析が、表現の自然な使用の範囲内で最もうまく行われるということである。書かれたもののサンプルを収集することによって、研究者は、個々人が互いにどのように会話するのかを理解することができる。それ故、本発明は、メッセージ・ベースのデータを理解すること、および解釈することを支援する様々な技術を使用する。
【0008】
一態様において、トピック・モデリングが、テキスト・コーパス内で意味構造を発見すべく使用されてよい。トピック・モデリングは、テキスト・ベースの文書または談話、あるいはその両方におけるトピックおよび意味を推測すべく1つまたは複数の操作を用いてよい。トピック・モデリングおよびテキスト・マイニングが、様々なコミュニケーションについての洞察を得るべく使用されてよい。例えば、或るビジネスが、特定の製品またはサービスに関する顧客フィードバックをマイニングすることができる場合、この情報は、貴重であると判明することがある。テキスト・マイニング/トピック・モデリング技術を用いているときの推奨のうちの1つが、解析のために利用できるデータが多ければ多いほど、全体的な結果が良好となることである。しかし、大量のデータを使用してさえ、従事する人は、意味を推測するのに単一の会話または小さいテキスト・コーパスをテキスト・マイニングする要件を有することがある。
【0009】
さらに、コミュニケーション(例えば、テキスト形態(例えば、文書、電子メール、プレゼンテーション、その他)、またはオーディオ/ビデオ形態、あるいはその組合せの形態であってよい1名または複数名のユーザ間の会話)中、その会話/コミュニケーションを、そのようなコミュニケーション/会話のトピックに関する解釈、要約、または理解、あるいはその組合せを提供しながら、迅速に、かつ適応的に理解することが必要となる。
【0010】
例えば、一部の事例において、文書クラスタリングは、類似した文書を同一の暗黙のトピックに割り当てて、それらの文書をグループ化することである。文書クラスタリングは、情報検索の有効性を向上させる能力を提供する。潜在意味解析操作および凝集型階層的クラスタリング(agglomerative hierarchical clustering)が、類似性に基づいてオブジェクトをグループ化してクラスタリングするために最近、用いられている。例えば、潜在意味解析では、n個の文が与えられると、フレームワークが、それらの文中で参照される概念をリストアップする。すなわち、トピックが、「語のバッグ(bag of words)」であり、ここで、各文書は、多数のトピック(多項分布した)を有し、各トピックは、語(ディリクレ分布した)を有する。しかし、潜在意味解析が抱える課題は、トピックにおけるコミュニケーション/会話の(例えば、会話/口語英語の)語が、ディリクレ生成プロセスを満たすことができず、階層トピックの概念(例えば、データが、データ・プランのクラスであり、かつデータ・プランが、インターナショナル・データ・プランのクラスである)を有さないことである。
【0011】
凝集型階層的操作において、文書は、ボトムアップで再帰的にマージされて、再帰的に区分されるクラスタの決定ツリーをもたらす。類似性を見出すべく使用される距離測度は、単一リンクからより計算コストの高いものまで様々であるが、距離測度は、最近傍距離に密接に結び付けられている。凝集型階層的操作は、文書またはクラスタの単一の最良のペアを再帰的にマージすることによって機能し、数万の数になる文書の集まりの場合、計算コストを法外なものにする。すなわち、文書は、文書間の距離(例えば、ユークリッド距離)を有するベクトルとして表現される。しかし、距離計量は、「支配的な」語が、階層のより低いレベルにおけるベクトルから除去されない(例えば、データが、最高レベルにおいて支配的であり、会話の30%で生じ、「インターナショナル(international)」が1%だけにおいてしか生じない)場合、失敗する。それ故、コミュニケーション/会話(単なる文書と対比される)のコーパスのトピックへの要約を提供することに関する課題は、依然としてそのままである。
【0012】
したがって、プロセッサによる階層トピック・モデリングを使用して希少トピック検出を提供する様々な実施形態が、本明細書において例示される。階層トピック・モデルは、1つまたは複数のデータ・ソースから学習されてよい。選択されたクラスタ内の1つまたは複数の支配的な語が、階層トピック・モデルを使用して反復的に除去されてよい。支配的な語は、クラスタの1つまたは複数の主要なトピックと関係してよい。学習された階層トピック・モデルには、階層トピック・モデルを発展させるべく、1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、またはその組合せがシード設定されてよく、除去された支配的な語は、シード設定が完了すると、復帰させられる。
【0013】
一態様において、本発明は、多数のトピックにクラスタ化された呼の要約されたバージョン(例えば、顧客-エージェント対話の音声-テキスト転記)を提供することによって階層トピック・モデリングを可能にする。すなわち、階層トピック・モデリングは、任意のタイプのテキスト文書に対して機能し、長いテキスト文書は、通常、N-gramのセットである、要約に変換されてよい。
【0014】
N-gramの語の要約は、語ベクトルを生成すべく使用されてよく、語ベクトルは、1つまたは複数の割り当てられた点数により重み付けされてよい。K平均クラスタ操作が、語ベクトルをKのクラスタに要約することの反復の1回において使用されてよく、ここで、「K」は、正の整数または定義された値である。Kクラスタは、1つまたは複数の「キング・クラスタ」を含んでよい。一態様において、キング・クラスタは、全数のKクラスタからの最大のクラスタ(例えば、最も多くの文書または最も多くのデータ・ソースを包含するクラスタ)である。キング・クラスタは、その複数のクラスタの範囲内からの最大のクラスタであってよい。
【0015】
キング・クラスタである各クラスタに関して、階層トピック・モデリング操作は、先行するラン/実行から1つまたは複数の「関係のある」語(次の階層トピック・モデリングに関してもはや差別的ではない)を除去することによって実行を繰り返す。そのようにする際、1つまたは複数の希少トピックが、支配的な語が除去されるにつれ、漸進的ドリルダウン(progressive drilldown)操作(例えば、階層トピック・モデリング操作を反復的に実行することからの)を介して識別される。各代表的クラスタに関してN-gram、スニペット、および示唆されるトピック名が、識別されてよい。除去された/抑制された1つまたは複数の語が、1名または複数名のユーザに関して強化された可読性/解釈可能性を向上させ、提供すべくN-gram/スニペット識別のために使用されてよい。
【0016】
例えば、反復の第1回(例えば、反復「0」)において「アクセス」という語が除去される階層トピック・モデリング操作について考慮されたい。次の/後続の反復階層トピック・モデリング操作において、「vpn」という語、および「ルート」という語が、1つまたは複数の後続の反復階層トピック・モデリング操作(例えば、反復「1」または反復「N」、あるいはその組合せ)において除去されてよい。反復階層トピック・モデリング操作が終わると、例えば、「vpnにアクセスすることができません」または「ルート・アクセスに失敗しました」、あるいはその両方などの、1つまたは複数の人工知能(「AI」)操作を使用した解釈可能な説明(例えば、ユーザに理解可能な)を提供しながら、支配的な語が、復元されて/抑制解除されてよい。さらに、本発明は、例えば、反復の回数、「類似した」クラスタを識別する同義語を選択するように構成可能であるなど、反復階層トピック・モデリングのための自動化された構成を可能にする。また、階層クラスタリングを使用する希少トピック検出を提供するための操作は、1つまたは複数のクラスタを組み合わせるように、または分割するように後処理を可能にもし、ここで、各クラスタは、1名または複数名のユーザによって理解可能/解釈可能である。
【0017】
一態様において、インクリメンタル・トレーニング、および差を識別するために使用される1つまたは複数の階層トピック・モデルが、学習されてよい。学習された階層トピック・モデル(例えば、新たなツリー構造)は、既存の階層トピック・モデル(例えば、既存のツリー構造)を使用してシード設定されてよい。各ツリー・ノードにおける各クラスタリング・モデルは、既存の階層トピック・モデルに基づいてシード設定されてよい。階層トピック・モデルは、ツリー構造の形態であり、ここで、各ノードは、トピックを表すことに留意されたい。キング・クラスタに対応するノードは、反復の各回において細分される。インクリメンタル・トレーニングは、ゼロからトピック・モデルを訓練する代わりに、訓練手続きが、古いモデルから始まり、その後、新たなデータセットを用いて最適なモデルを見出す手続きを表す。学習された既存の階層トピック・モデルは、新たなデータセットで再訓練されてよく、先行するソリューションの近傍におけるクラスタリング問題のための最適なソリューションをインクリメンタルに探索することをもたらす。さらに例示すべく、データセット1で訓練されたトピック・モデル「v1」(例えば、既存のトピック・モデル)、およびデータセット2で訓練されたトピック・モデル「v2」(例えば、トピック・モデルv1をシード・モデルとする、データセット2で訓練された新たなトピック・モデル)を考慮されたい。データセット2は、新たなデータセットである。データセット2上で、本発明は、ゼロからトピック・モデルを学習することと比べて、トピック・モデルv1に近い最適のトピック・モデルを見出すこと、または識別すること、あるいはその両方を行う。基礎をなすK平均クラスタリングには、新たなトピック・モデルv2を獲得すべく古いトピック・モデルv1がシード設定される。シード・モデルは、特定の時間枠に関して訓練されたトピック・モデルであり、新たなモデルは、新たなデータセットを有する次の時間枠上で訓練される。
【0018】
一態様において、1つまたは複数の階層トピック・モデルは、(a)最も大きくドリフトしたクラスタ中心が、重要な変化候補として識別されること、(b)重要な差を有するクラスタ重み、(c)クラスタの凝集度が、大幅に変化したこと、および(d)変化したツリー構造を使用してクラスタにおける変化を識別すべく/検出すべく使用されてよい。すなわち、「変化検出」は、新たに訓練されたトピック・モデルが、シード・モデルとの関係でどのように変化したかを参照し、変化は、(a)~(d)において説明されるとおりに観察されてよい
【0019】
本開示は、クラウド・コンピューティングに関する詳細な説明を含むものの、本明細書に記載される教示の実装は、クラウド・コンピューティング環境に限定されないことをあらかじめ理解されたい。むしろ、本発明の実施形態は、現在、知られている、または後に開発される他の任意のタイプのコンピューティング環境と連携して実装されることが可能である。
【0020】
クラウド・コンピューティングは、最小限の管理作業またはサービスのプロバイダとの最小限の対話しか伴わずに迅速にプロビジョニングされ、リリースされることが可能である、構成可能なコンピューティング・リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有されるプールに対する便利な、オンデマンドのネットワーク・アクセスを可能にするためのサービス・デリバリのモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つの展開モデルとを含むことが可能である。
【0021】
特徴は、以下のとおりである。
オンデマンドのセルフ・サービス:クラウド消費者が、サービスのプロバイダとの人間対話を必要とすることなしに、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。
広いネットワーク・アクセス:能力が、ネットワークを介して利用可能であり、かつ異種のシン・クライアント・プラットフォームまたはシック・クライアント・プラットフォーム(例えば、モバイル電話、ラップトップ、およびPDA)による使用を促進する標準の機構を介してアクセスされる。
リソース・プーリング:プロバイダのコンピューティング・リソースが、マルチテナント・モデルを使用して多数の消費者に役立てられるようにプールされ、様々な物理リソースおよび仮想リソースが、デマンドに応じて動的に割り当てられ、かつ動的に再割当てされる。消費者が、提供されるリソースの厳密なロケーションを一般に支配することも、知ることもないが、抽象化のより高いレベル(例えば、国、州、またはデータセンタ)でロケーションを指定することができ得るという点でロケーション独立の感覚が存在する。
迅速な弾力性:能力は、急速にスケールアウトすること、および迅速にリリースされて、急速にスケールインすることが行われるように、迅速に、弾力的に、一部の事例においては自動的にプロビジョニングされることが可能である。消費者には、プロビジョニングのために利用可能な能力は、しばしば、無限であるように見え、任意の時点で任意の量で購入されることが可能である。
測定されるサービス:クラウド・システムが、サービスのタイプ(例えば、ストレージ、処理、帯域幅、および活性のユーザ・アカウント)に適切な抽象化の何らかのレベルで計測能力を活用することによってリソース使用を自動的に制御し、最適化する。リソース使用は、監視され、制御され、報告されて、利用されるサービスのプロバイダと消費者の両方に透明性をもたらすことが可能である。
【0022】
サービス・モデルは、以下のとおりである。
SaaS(Software as a Service):消費者に提供される能力は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。それらのアプリケーションは、ウェブ・ブラウザなどのシン・クライアント・インタフェース(例えば、ウェブ・ベースの電子メール)を介して様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ特有のアプリケーション構成設定を可能な例外として、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション能力さえ含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしない。
PaaS(Platform as a Service):消費者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびプログラミング・ツールを使用して作成された、消費者が作成した、または消費者が獲得したアプリケーションをクラウド・インフラストラクチャ上に展開することである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含め、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、展開されたアプリケーション、および、場合により、アプリケーション・ホスティング環境構成を支配する。
IaaS(Infrastructure as a Service):消費者に提供される能力は、消費者が、オペレーティング・システムと、アプリケーションとを含み得る任意のソフトウェアを展開して、実行することができる、処理、ストレージ、ネットワーク、および他の基本的な計算リソースをプロビジョニングすることである。消費者は、基礎をなすクラウド・インフラストラクチャを管理することも、制御することもしないが、オペレーティング・システム、ストレージ、展開されたアプリケーションを支配し、場合により、選定されたネットワーキング・コンポーネント(例えば、ホスト・ファイアウォール)の限られた支配を有する。
【0023】
展開モデルは、以下のとおりである。
プライベート・クラウド:クラウド・インフラストラクチャが、専ら組織のために運用される。クラウド・インフラストラクチャは、その組織によって管理されても、第三者によって管理されてもよく、敷地内に存在しても、敷地外に存在してもよい。
コミュニティ・クラウド:クラウド・インフラストラクチャが、いくつかの組織によって共有され、共有される関心(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンス配慮事項)を有する特定のコミュニティをサポートする。クラウド・インフラストラクチャは、その組織によって管理されても、第三者によって管理されてもよく、敷地内に存在しても、敷地外に存在してもよい。
パブリック・クラウド:クラウド・インフラストラクチャが、一般の公衆または大きい業界グループによる利用に供され、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、独自のエンティティであるままであるが、データ移植性およびアプリケーション移植性を可能にする標準化された技術もしくは独自の技術(例えば、クラウド間で負荷分散するためのクラウド・バースティング)によって一緒に結び付けられた2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の合成である。
【0024】
クラウド・コンピューティング環境は、ステートレスである性質、低結合、モジュール性、およびセマンティクスの相互運用性に焦点を合わせていて、サービス指向である。クラウド・コンピューティングの中核には、互いに接続されたノードのネットワークを備えたインフラストラクチャがある。
【0025】
次に、
図1を参照すると、クラウド・コンピューティング・ノードの実施例の概略図が示される。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一実施例に過ぎず、本明細書において説明される本発明の実施形態の用途または機能の範囲について限定を示唆することはまったく意図していない。いずれにせよ、クラウド・コンピューティング・ノード10は、前段で示される機能のいずれかとして実装されること、またはそのような機能のいずれかを実行すること、あるいはその両方が可能である。
【0026】
クラウド・コンピューティング・ノード10において、他の多数の汎用または専用のコンピューティング・システム環境またはコンピューティング・システム構成で動作可能である、コンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12と一緒に使用するのに適することがあるよく知られたコンピューティング・システム、コンピューティング環境、またはコンピューティング・システム構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルド・デバイスもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および前述のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびにそれに類するものを含むが、これらには限定されない。
【0027】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されている、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な脈絡で説明されてよい。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などを含んでよい。コンピュータ・システム/サーバ12は、タスクが、通信ネットワークを介して結び付けられた遠隔処理デバイスによって実行される、分散型クラウド・コンピューティング環境において実施されてよい。分散型クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカル・コンピュータ・システム記憶媒体と遠隔コンピュータ・システム記憶媒体の両方に配置されてよい。
【0028】
図1に示されるとおり、クラウド・コンピューティング・ノード10におけるコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたは処理装置16、システム・メモリ28、ならびにシステム・メモリ28を含む様々なシステム・コンポーネントをプロセッサ16に結合するバス18を含んでよいが、これらには限定されない。
【0029】
バス18は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスもしくはメモリ・コントローラ、周辺バス、アクセラレーテッド・グラフィックス・ポート、およびプロセッサ・バスもしくはローカル・バスを含む、いくつかのタイプのバス構造のいずれかの1つまたは複数を表す。例として、限定としてではなく、そのようなアーキテクチャは、インダストリ・スタンダード・アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、エンハンストISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト(PCI)バスを含む。
【0030】
コンピュータ・システム/サーバ12は、通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセス可能である任意の利用可能な媒体であってよく、そのような媒体は、揮発性媒体と不揮発性媒体、取外し可能な媒体と取外し可能でない媒体の両方を含む。
【0031】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30またはキャッシュ・メモリ32、あるいはその両方のなどの揮発性メモリの形態でコンピュータ・システム可読媒体を含むことが可能である。コンピュータ・システム/サーバ12は、他の取外し可能な/取外し可能でない、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含んでよい。単に例として、ストレージ・システム34が、取外し可能でない、不揮発性の磁気媒体(図示されず、通常、「ハードドライブ」と呼ばれる)から読み取ること、およびそのような磁気媒体に書き込むことを行うために備えられることが可能である。図示されないものの、取外し可能な、不揮発性の磁気ディスク(例えば、「フロッピ・ディスク」)から読み取ること、およびそのような磁気ディスクに書き込むことを行うための磁気ディスク・ドライブ、ならびにCD-ROM、DVD-ROM、または他の光媒体などの取外し可能な、不揮発性の光ディスクから読み取ること、またはそのような光ディスクに書き込むことを行うための光ディスク・ドライブが、備えられることが可能である。そのような事例において、各媒体は、1つまたは複数のデータ媒体インタフェースによってバス18に接続されることが可能である。後段でさらに示され、説明されるとおり、システム・メモリ28は、本発明の実施形態の機能を実行すべく構成されたプログラム・モジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含んでよい。
【0032】
例として、限定としてではなく、プログラム・モジュール42のセット(少なくとも1つ)を有するプログラム/ユーティリティ40、ならびにオペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データが、システム・メモリ28に記憶されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、あるいはその何らかの組合せの各々が、ネットワーキング環境の実装例を含んでよい。プログラム・モジュール42は、一般に、本明細書において説明される本発明の実施形態の機能または方法、あるいはその組合せを実行する。
【0033】
また、コンピュータ・システム/サーバ12は、ユーザがコンピュータ・システム/サーバ12と対話することを可能にする1つまたは複数のデバイスである、キーボード、ポインティング・デバイス、ディスプレイ24、その他、またはコンピュータ・システム/サーバ12が他の1つまたは複数のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデム、その他)、あるいは以上の組合せなどの1つまたは複数の外部デバイス14と通信してもよい。そのような通信は、入出力(I/O)インタフェース22を介して行われることが可能である。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図示されるとおり、ネットワーク・アダプタ20が、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されないものの、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネント、あるいはその組合せが、コンピュータ・システム/サーバ12と連携して使用されることも可能であることを理解されたい。例は、マイクロコード、デバイス・ドライバ、冗長な処理装置、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システム、その他を含むが、これらには限定されない。
【0034】
本発明の脈絡において、当業者には認識されるとおり、
図1に示される様々なコンポーネントは、移動する乗り物内に配置されてよい。例えば、例示される実施形態の機構に関連する処理能力およびデータ・ストレージ能力のいくらかは、ローカル処理コンポーネントを介してローカルで行われてよく、その一方で、同一のコンポーネントが、本発明の様々な目的を実現すべく遠隔に配置された、分散型コンピューティング・データ処理およびストレージ・コンポーネントにネットワークを介して接続される。この場合も、当業者によって認識されるとおり、この例示は、様々な発明の態様をひとまとめにして実現する分散型コンピューティング・コンポーネントの接続されたネットワーク全体であってよいものの単なるサブセットを伝えることを意図している。
【0035】
次に、
図2を参照すると、例示的なクラウド・コンピューティング環境50が示される。図示されるとおり、クラウド・コンピューティング環境50は、例えば、携帯情報端末(PDA)もしくはセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなどの、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが相手として通信してよい1つまたは複数のクラウド・コンピューティング・ノード10を備える。ノード10は、互いに通信してよい。ノード10は、前段で説明されるプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウドなどの1つまたは複数のネットワーク、またはその組合せにおいて、物理的に、または仮想でグループ化されて(図示せず)よい。このことは、クラウド・コンピューティング環境50が、クラウド消費者がそのためにローカル・コンピューティング・デバイス上にリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはソフトウェア、あるいはその組合せをサービスとして提供することを可能にする。
図2に示されるコンピューティング・デバイス54A~Nのタイプは、単に例示的であることが意図されること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワークまたはネットワーク・アドレス指定可能な接続、あるいはその両方を介して(例えば、ウェブ・ブラウザを使用して)任意のタイプのコンピュータ化されたデバイスと通信することができるものと理解される。
【0036】
次に、
図3を参照すると、クラウド・コンピューティング環境50(
図2)によって提供される機能抽象化層のセットが示される。
図3に示されるコンポーネント、層、および機能は、単に例示的であることが意図され、本発明の実施形態は、それに限定されないことをあらかじめ理解されたい。図示されるとおり、次の層および対応する機能が提供される。
【0037】
デバイス層55が、クラウド・コンピューティング環境50において様々なタスクを実行するエレクトロニクス、センサ、アクチュエータ、およびその他のオブジェクトを埋め込まれた、またはスタンドアロンのエレクトロニクス、センサ、アクチュエータ、およびその他のオブジェクトである、物理デバイスまたは仮想デバイス、あるいはその組合せを含む。デバイス層55におけるデバイスの各々が、そのデバイスから獲得された情報が他の機能抽象化層に提供されてよいように、または他の機能抽象化層からの情報がそのデバイスに提供されてよいように、あるいはその組合せが行われてよいように、他の機能抽象化層に対するネットワーキング能力を組み込む。一実施形態において、デバイス層55に含まれる様々なデバイスは、「モノのインターネット」(IoT)としてひとまとめにして知られるエンティティのネットワークを組み込んでよい。そのようなエンティティのネットワークは、当業者には認識されるとおり、極めて多種多様な目的を実現するデータの相互通信、収集、および配布を可能にする。
【0038】
図示されるデバイス層55は、図示されるとおり、センサ52と、アクチュエータ53と、組み込まれた処理エレクトロニクス、センサ・エレクトロニクス、およびネットワーキング・エレクトロニクスを有する「学習」サーモスタット56と、カメラ57と、制御可能な家庭用コンセント/レセプタクル58と、制御可能な電気スイッチ59とを含む。他の可能なデバイスは、様々なさらなるセンサ・デバイス、ネットワーキング・デバイス、電子デバイス(遠隔制御デバイスなどの)、さらなるアクチュエータ・デバイス、冷蔵庫または洗濯機/乾燥機などのいわゆる「スマート」器具、ならびに多種多様な幅広い他の可能な互いに接続されたオブジェクトを含んでよいが、これらには限定されない。
【0039】
ハードウェアおよびソフトウェア層60が、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーキング・コンポーネント66を含む。一部の実施形態において、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67と、データベース・ソフトウェア68とを含む。
【0040】
仮想化層70が、仮想エンティティの以下の例、すなわち、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよび仮想オペレーティング・システム74、ならびに仮想クライアント75が提供されてよい抽象化層を提供する。
【0041】
一実施例において、管理層80が、後段で説明される機能を提供することが可能である。リソース・プロビジョニング81が、クラウド・コンピューティング環境内でタスクを実行するのに利用される計算リソースおよび他のリソースの動的調達を提供する。計測および価格設定82が、クラウド・コンピューティング環境内でリソースが利用されるにつれてのコスト追跡、ならびにこれらのリソースの消費に関する料金請求もしくはインボイス送付を提供する。一実施例において、これらのリソースは、アプリケーション・ソフトウェア・ライセンスを備えてよい。セキュリティが、クラウド消費者およびタスクに関する識別情報検証、ならびにデータおよび他のリソースに関する保護を提供する。ユーザ・ポータル83が、クラウド・コンピューティング環境へのアクセスを消費者およびシステム管理者に提供する。サービス・レベル管理84が、要求されるサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割当ておよびクラウド・コンピューティング・リソース管理を提供する。サービス・レベル・アグリーメント(SLA)計画および履行85が、SLAにより将来の要件が予期されるクラウド・コンピューティング・リソースに関する事前取決め、およびそのようなリソースの調達を提供する。
【0042】
作業負荷層90が、クラウド・コンピューティング環境が利用されてよい機能の実施例を提供する。この層から提供されてよい作業負荷および機能の実施例は、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想教室教育デリバリ93、データ解析処理94、トランザクション処理95、ならびに本発明の例示される実施形態の脈絡において、階層クラスタリングを使用して希少トピック検出を提供するための様々な作業負荷および機能96を含む。さらに、階層クラスタリングを使用して希少トピック検出を提供するための様々な作業負荷および機能96は、データ解析などの操作(組織のデータベース、オンライン情報、知識ドメイン、データ・ソース、またはソーシャル・ネットワーク/メディア、あるいはその組合せ、およびその他のデータ・ストレージ・システムからのデータ収集およびデータ処理、ならびに予測機能およびデータ解析機能を含む)を含んでよい。階層クラスタリングを使用して希少トピック検出を提供するための様々な作業負荷および機能96は、本発明の例示される実施形態の様々な目的を実現すべく、ハードウェアおよびソフトウェア60、仮想化70、管理80、および他の作業負荷90(例えば、データ解析または代替可能性処理(fungibility processing)94、あるいはその組合せなどの)における部分などの、様々な抽象化層の他の部分と連携して機能してもよいことが当業者には認識されよう。
【0043】
次に、
図4を参照すると、ブロック
図400が、階層クラスタリングを使用して希少トピック検出を提供するためのコンピューティング・システムを示す。一態様において、
図1~
図3において示されるコンポーネント、モジュール、サービス、アプリケーション、または機能、あるいはその組合せのうちの1つまたは複数が、
図4において使用されてよい。例えば、処理装置16を組み込んだ
図1のコンピュータ・システム/サーバ12が、本発明の様々な態様による様々な計算処理、データ処理、およびその他の機能を実行すべく使用されてよい。
【0044】
図4に示されるとおり、システム400は、サーバ402と、1つまたは複数のネットワーク404と、1つまたは複数のデータ・ソース406とを含むことができる。サーバ402は、学習コンポーネント410、階層トピック・コンポーネント412、クラスタ・コンポーネント414、識別コンポーネント415、増強コンポーネント416、またはシード設定コンポーネント418、あるいはその組合せを含むことができる階層トピック・モデリング・コンポーネント408を含むことができる。また、サーバ402は、少なくとも1つのメモリ420を含むこと、またはそれ以外で少なくとも1つのメモリ420に関連付けられることも可能である。サーバ402は、階層トピック・モデリング・コンポーネント408および関連付けられたコンポーネント、メモリ420、またはプロセッサ424、あるいはその組合せを含むが、これらには限定されない様々なコンポーネントを結合することができるシステム・バス422をさらに含むことができる。サーバ402が
図4に示されるが、他の実施形態において、任意の数の異なるタイプのデバイスが、階層トピック・モデリング・コンポーネント408の一部として
図4に示されるコンポーネントに関連付けられること、または含められることが可能である。すべてのそのような実施形態が、想定される。
【0045】
階層トピック・モデリング・コンポーネント408は、1つまたは複数のデータ・ソース406から学習されてよい階層トピック・モデリングを使用する希少トピック検出を容易化することができる。データ・ソース406は、構造化データ、または非構造化データ、あるいはその両方を含んでよい。「非構造化データ」という術語は、制限されていない自然言語で提示され、人間による消費が意図されるデータを指すことができる。非構造化データは、1名または複数名のユーザを相手にした通信に関してコンピューティング・システム/アプリケーションに関連付けられた会話データ、1名または複数名のユーザによって行われた、ソーシャル・メディア・ポストもしくはソーシャル・メディア・コメント、またはその組合せ、および関連付けられたメタデータ、ニュース・ポストもしくはニュース・コメント、またはその組合せ、および関連付けられたメタデータ、または議論を促進する1つまたは複数のウェブサイト上のポストもしくはコメント、またはその組合せ、および関連付けられたメタデータ、あるいは以上の組合せを含むことができるが、これらには限定されない。非構造化データは、1つまたは複数のエンティティ(例えば、1名または複数名のユーザ)によって生成されることが可能であり、人間による消費が意図される非デジタル言語(例えば、口頭の言語)におけるコーパス(例えば、インターネット、ウェブサイト、ネットワーク、その他)に寄せられる情報を含むことができる。
【0046】
様々な実施形態において、1つまたは複数のデータ・ソース406が、直接に、または1つもしくは複数のネットワーク404(例えば、イントラネット、インターネット、または通信システム、あるいはその組合せ)を介してサーバ402がアクセス可能であるデータを含むことができる。例えば、1つまたは複数のデータ・ソース406が、ユーザによって生成されたデータを記憶することができるコンピュータ可読ストレージ・デバイス(例えば、一次ストレージ・デバイス、二次ストレージ・デバイス、三次ストレージ・デバイス、またはオフライン・ストレージ・デバイス)を含むことができる。別の実施例において、1つまたは複数のデータ・ソース406が、ユーザによって生成されたデータの共有を、ネットワーク(例えば、インターネット)を介して容易化するウェブサイトまたはアプリケーション、あるいはその両方を含むコミュニティ・ホストを含むことができる。
【0047】
階層トピック・モデリング・コンポーネント408と、1つまたは複数のデータ・ソース406とを含む1つまたは複数のサーバ402が、直接に、または1つもしくは複数のネットワーク404を介して接続され得る。そのようなネットワーク404は、セルラ・ネットワーク、ワイド・エリア・ネットワーク(WAN)(例えば、インターネット)またはローカル・エリア・ネットワーク(LAN)を含むが、これらには限定されない有線ネットワークおよび無線ネットワークを含むことができる。例えば、サーバ402が、例えば、セルラ、WAN、ワイヤレス・フィデリティ(Wi-Fi)、Wi-Max、WLAN、その他を含む、事実上、任意の所望される有線技術または無線技術を使用して、1つまたは複数のデータ・ソース406と通信することができる(また、データ・ソース406がサーバ402とそのように通信することもできる)。さらに、示される実施形態において、階層トピック・モデリング・コンポーネント408は、サーバ・デバイス402上で提供されるものの、システム400のアーキテクチャ上は、そのように限定されないことを認識されたい。例えば、階層トピック・モデリング・コンポーネント408、または階層トピック・モデリング・コンポーネント408の1つまたは複数のコンポーネントは、別のサーバ・デバイス、クライアント・デバイス、その他などの別のデバイスに配置され得る。
【0048】
一態様において、学習コンポーネント410は、1つまたは複数のデータ・ソース406から階層トピック・モデルを学習してよい。学習コンポーネント410は、例えば、自然言語処理(「NLP」)などの1つまたは複数の機械学習操作を実行してよい。トピック・モデル・データベース426は、トピック・モデル・データベース426を介してメモリ420に保存されて/記憶されてよい各階層トピック・モデル(新たに学習された各階層トピック・モデルを含む)を記憶してよく、保持してよく、かつそのような各階層トピック・モデルにアクセスしてよい。
【0049】
クラスタリング・コンポーネント414は、1つまたは複数のデータ・ソース406から獲得されたデータから1つまたは複数の語ベクトルを生成してよく、1つまたは複数の語ベクトルのそれぞれをスコアリングしてよい。また、クラスタリング・コンポーネント414は、1つまたは複数の語ベクトルから複数のクラスタを生成してもよい。選択されたクラスタが、その複数のクラスタから識別されてよく、キング・クラスタとして識別され/ラベル付けされる。すなわち、K平均クラスタリング操作が、語ベクトルをKのクラスタに要約することの反復の各回において用いられてよく、ここで、「K」は、正の整数または定義された値である。Kクラスタは、1つまたは複数の「キング・クラスタ」を含んでよい。一態様において、キング・クラスタは、全数のKクラスタからの最大のクラスタ(例えば、最も多くの文書または最も多くのデータ・ソースを包含するクラスタ)である。キング・クラスタは、その複数のクラスタからの最大のクラスタであってよい。
【0050】
クラスタリング・コンポーネント414は、選択されたクラスタを、反復の各回において複数のクラスタに分割してよい。クラスタリング・コンポーネント414、識別コンポーネント415と連携して、その複数のクラスタから代替の選択されたクラスタ(例えば、第2のキング・クラスタまたは代替のキング・クラスタ)を、その代替の選択されたクラスタから1つまたは複数の支配的な語を反復的に除去しながら識別してよい。すなわち、クラスタリング・コンポーネント414は、識別コンポーネント415と連携して、その複数のクラスタの各々の間の1つまたは複数の差を、反復の各回において、選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別してよい。一態様において、代替の選択されたクラスタはまた、キング・クラスタであってもよく、代替のキング・クラスタは、その複数のクラスタのクラスタリング反復の後続の回からの最大のクラスタである。
【0051】
階層トピック・コンポーネント412が、階層トピック・モデルを使用して、選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去してよい。一態様において、支配的な語は、クラスタの1つまたは複数の一次トピックと関係する。
【0052】
シード設定コンポーネント418が、階層トピック・モデルを発展させるべく、学習された階層トピック・モデルに1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、または以上の組合せをシード設定してよい。階層トピック・コンポーネント412は、シード設定コンポーネント418または増強コンポーネント416、あるいはその両方と連携して、シード設定が完了すると、除去された支配的な語を復帰させてよい。一態様において、シード設定コンポーネント418は、階層トピック・モデルに既存のトピック・モデルをシード設定してよい。また、シード設定コンポーネント418は、1つまたは複数のクラスタ・モデルにより複数のクラスタのそれぞれにシード設定してよい。
【0053】
それ故、階層トピック・モデリング・コンポーネント408は、トピックが分野の専門家によって解釈可能であってよい(例えば、トピックの記述が、ユーザによって可読である)説明可能性および解釈可能性を可能にする。階層トピック・モデリング・コンポーネント408は、マルチレベル要約(例えば、語、N-gram、スニペット、文書)を提供する。一態様において、語レベル表現およびN-gramレベル表現が、機械学習のために使用されてよく、N-gramレベル表現およびスニペット・レベル表現は、分野の専門家によるアナリスト消費のためであってよい。階層トピック・モデリング・コンポーネント408は、訓練が1つまたは複数のコーパスから行われてよく、階層トピック・モデルがリアルタイムで訓練されてよい、スケーラビリティおよびリアルタイムスコアリングを提供する(リアルタイムで)。
【0054】
それ故、本明細書において説明されるとおり、階層トピック・モデリング・コンポーネント408は、キング・クラスタ内の1つまたは複数の支配的な語を漸進的に除去する(例えば、抑圧する、または隠す)階層トピック・モデルを学習することを可能にする。キング・クラスタは、(a)サイズ(例えば、キング・クラスタは、クラスタのサイズによって決定される)、および(b)凝集性の欠如(例えば、大きいクラスタは、それらのクラスタがより疎らであるため、低い凝集性を有する傾向がある)によって識別されてよい。階層トピック・モデリング・コンポーネント408は、学習された階層トピック・モデルを人間が解釈可能な語、句、およびスニペットで増強することを可能にする。除去された語(例えば、抑制された語、または隠蔽された語)は、より高い説明可能性をもたらすべく階層に沿って復帰させられて(例えば、抑制解除されて、または隠蔽解除されて、あるいはその両方が行われて)よい。階層トピック・モデリング・コンポーネント408は、インクリメンタル・トレーニングのためにトピック・モデルのシード設定を介したトピック発展を可能にする。一揃いの計量が、差(例えば、サイズ、凝集度、重心の偏移、ツリー構造に対する変更)をキャプチャするために使用されてよい。一態様において、一揃いの計量は、例えば、1)サイズ(例えば、例えば、トピックに含まれる文書の数は、変化したか、などクラスタ(トピック)サイズがどのように変化したか)、2)凝集度(例えば、クラスタは、疎らになったか、または緊密になったか)、3)重心の偏移(例えば、クラスタ中心はどのように移動したか)、または4)ツリー構造に対する変更(例えば、トピック・モデルの全体的構造は、変化したか)、あるいは以上の組合せなどの新たなトピック・モデルと古いトピック・モデルの間の差をキャプチャするのに使用されてよい。
【0055】
次に、
図5を参照すると、
図500が、階層トピック・モデリングを使用する希少トピック検出を示す。すなわち、
図500は、文書特徴ベクトルが2次元(「2D」)空間に存在するものと想定して多数のクラスタを示す。一態様において、
図1~
図5において説明されるコンポーネント、モジュール、サービス、アプリケーション、または機能、あるいはその組合せのうちの1つまたは複数が、
図5において使用されてよい。本明細書において説明される他の実施形態において用いられる同様の要素、コンポーネント、モジュール、サービス、アプリケーション、または機能、あるいはその組合せのそれぞれの説明は、簡単にするために省略される。
【0056】
例えば、
図510(例えば、元の階層トピック・モデル510)が、クラスタ1から4を有する元の/既存のトピック・モデルを示す。
図520(例えば、新たな階層トピック・モデル520)が、階層トピック・モデリングを使用する希少トピック検出を提供することによってトピック・モデリングの発展を示す。すなわち、新たな階層トピック・モデル520は、元の階層トピック・モデル510にシード設定した後、獲得される。図示されるとおり、新たな階層トピック・モデル520のクラスタ1は、サイズが増加している。クラスタ2の中心は、偏移しており、新たな階層トピック・モデル520の中心は、サイズが縮小している。新たな階層トピック・モデル520のクラスタ3は、消滅している(例えば、除去されている)。クラスタ4は、サイズが減少している。階層トピック・モデル520は、例として使用されるに過ぎず、トピック・モデルが元のシード・モデルからどのように発展させられるかを例示していることに留意されたい。それ故、図示されるとおり、新たなデータセット上で階層トピック・モデル520にシード設定を行い、再訓練することに基づいて、クラスタリングのための1つまたは複数の最適なソリューションが、クラスタが1つまたは複数の異なる形状、サイズ、または存在にさえ、あるいはその組合せに発展して、インクリメンタルに識別される。
【0057】
次に、
図6を参照すると、例示される実施形態の様々な態様が実装されてよい、プロセッサによって階層トピック・モデリングを使用して希少トピック検出を提供するための方法600が、示される。すなわち、
図6は、本発明の実施例によるコンピューティング環境において階層トピック・モデリングを使用して希少トピック検出を提供することに関するさらなる例示的な方法600のフローチャートである。機能600は、機械上の命令として実行される方法として実装されてよく、ここで、命令は、少なくとも1つのコンピュータ可読媒体上、または1つの非一過性の機械可読記憶媒体上に含められる。機能600は、ブロック602で開始してよい。
【0058】
階層トピック・モデルは、ブロック604におけるとおり、1つまたは複数のデータ・ソースから学習されてよい。選択されたクラスタ内の1つまたは複数の支配的な語が、ブロック606におけるとおり、階層トピック・モデルを使用して反復的に除去されてよい。支配的な語は、クラスタの1つまたは複数の一次トピックと関係してよい。ブロック608におけるとおり、学習された階層トピック・モデルには、階層トピック・モデルを発展させるべく、1つもしくは複数の語、1つもしくは複数のN-gram、1つもしくは複数の句、1つもしくは複数のテキスト・スニペット、またはその組合せがシード設定されてよく、除去された支配的な語は、シード設定が完了すると、復帰させられる。機能600は、ブロック610において終了してよい。
【0059】
一態様において、
図6の少なくとも1つのブロックに関連して、またはその一部として、あるいはその両方で、600の操作は、以下の各々のうちの1つまたは複数を含んでよい。600の操作は、1つまたは複数の語ベクトルを生成してよく、1つまたは複数の語ベクトルの各々をスコアリングして、1つまたは複数の語ベクトルから複数のクラスタを生成してもよく、選択されたクラスタが、その複数のクラスタから識別されて、キング・クラスタであり、キング・クラスタは、その複数のクラスタからの最大のクラスタである。600の操作は、反復の各回において、選択されたクラスタを複数のクラスタに分割してよく、またはその複数のクラスタから代替の選択されたクラスタを、代替の選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら識別してよく、あるいはその両方を行ってよい。代替の選択されたクラスタは、キング・クラスタであり、キング・クラスタは、複数のクラスタからの最大のクラスタである。
【0060】
600の操作は、階層トピック・モデルに既存のトピック・モデルをシード設定すること、または1つまたは複数のクラスタ・モデルにより複数のクラスタの各々にシード設定すること、あるいはその両方を行うことである。
【0061】
600の操作は、その複数のクラスタの各々の間の1つまたは複数の差を、反復の各回において、選択されたクラスタ内の1つまたは複数の支配的な語を反復的に除去しながら、識別してよい。
【0062】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体(または複数の媒体)を含んでよい。
【0063】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用されるように命令を保持すること、および記憶することができる有形のデバイスであることが可能である。コンピュータ可読記憶媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または以上の任意の適切な組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能なプログラマブル読取り専用メモリ(EPROMもしくはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ・ディスク、命令が記録されているパンチカードもしくは溝の中の隆起構造などの機械的に符号化されたデバイス、および以上の任意の適切な組合せを含む。本明細書において使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝達媒体を介して伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、または配線を介して伝送される電気信号などの一過性の信号そのものであると解釈されるべきではない。
【0064】
本明細書において説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワーク、あるいはその組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードされることが可能である。ネットワークは、銅伝送ケーブル、伝送光ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インタフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶されるようにコンピュータ可読プログラム命令を転送する。
【0065】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(R)、C++、もしくはそれに類するものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくはそれに類似したプログラミング言語などの従来の手続き型プログラミング言語を含め、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されても、一部がユーザのコンピュータ上で実行されても、スタンドアロンのソフトウェア・パッケージとして実行されても、一部がユーザのコンピュータ上で、かつ一部が遠隔コンピュータ上で実行されても、全体が遠隔コンピュータもしくは遠隔サーバの上で実行されてもよい。全体が遠隔コンピュータもしくは遠隔サーバの上で実行されるシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または接続は、外部コンピュータに対して行われてもよい(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)。一部の実施形態において、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、本発明の態様を実行するために、電子回路をカスタマイズするようにコンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行してよい。
【0066】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照して本明細書において説明される。フローチャートまたはブロック図あるいはその両方の各ブロック、ならびにフローチャートまたはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施されることが可能であることが理解されよう。
【0067】
これらのコンピュータ可読プログラム命令は、そのコンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行されるそれらの命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含む製造品を備えるべく、コンピュータ可読記憶媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイス、あるいはその組合せに特定の様態で機能するように指示することができるものであってもよい。
【0068】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスの上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータによって実施されるプロセスを作り出すべく、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラマブル装置、または他のデバイスの上で一連の動作ステップを実行させるものであってもよい。
【0069】
図におけるフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を例示する。これに関して、フローチャートまたはブロック図における各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を備える、命令のモジュール、セグメント、または部分を表すことが可能である。一部の代替の実装形態において、ブロックに記載される機能は、図に記載される順序を外れて生じてよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてよく、またはそれらのブロックが、ときとして、関与する機能に依存して、逆の順序で実行されてよい。また、ブロック図またはフローチャートあるいはその両方の各ブロック、ならびにブロック図またはフローチャートあるいはその両方におけるブロックの組合せは、指定された機能もしくは動作を実行する、または専用ハードウェア命令とコンピュータ命令の組合せを実行する専用ハードウェア・ベースのシステムによって実施されることが可能であることにも留意されたい。