(57)【特許請求の範囲】
【請求項１】
コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）スタック回帰方法を適用する前記コンピュータプロセッサによって、前記トレーニングセットの要素と関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素と関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
【請求項２】
コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）バイアス式方法を適用する前記コンピュータプロセッサによって、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
【請求項３】
コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）ノイズ除去方法を適用する前記コンピュータプロセッサにより、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
【請求項４】
コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）結果が平均化される複数のアルゴリズム的方法からなるコンピュータプロセッサアンサンブル方法により、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含み、
前記アンサンブル方法は、スタック回帰方法、バイアス式方法、ノイズ除去方法の少なくともいずれかを含む、コンピュータ実施方法。
【請求項５】
請求項４に記載のコンピュータ実施方法において、
前記アンサンブル方法は、前記スタック回帰方法を含む、コンピュータ実施方法。
【請求項６】
請求項４に記載のコンピュータ実施方法において、
前記アンサンブル方法は、前記バイアス式方法を含む、コンピュータ実施方法。
【請求項７】
請求項４に記載のコンピュータ実施方法において、
前記アンサンブル方法は、前記ノイズ除去方法を含む、コンピュータ実施方法。
【請求項８】
母集団セットのカテゴリー割合を算出するシステムにおいて、
メモリに連結されたトレーニングプロセッサを含むトレーニングモジュールであって、前記メモリは、ソフトウェア命令を含み、前記ソフトウェア命令により、前記トレーニングプロセッサは、
いくつかのトレーニングテキスト要素を含むトレーニングデータを受け取り、
前記トレーニングテキスト要素のうちの少なくともいくつかをユーザーに提示し、前記トレーニングテキスト要素が属するカテゴリーの表示を前記ユーザーから受け取り、前記トレーニングテキスト要素を、表示された前記カテゴリーでタグ付けし、
前記カテゴリーのタグが付いたトレーニングテキスト要素を記憶する、
トレーニングモジュールと、
メモリに連結された推定プロセッサを含む母集団セットカテゴリー推定モジュールであって、前記メモリはソフトウェア命令を含み、前記ソフトウェア命令により、前記推定プロセッサは、
いくつかの母集団テキスト要素を含む母集団データを受け取り、
前記トレーニングデータにおいて表示された各カテゴリーのコンテンツプロファイルを算出し、
前記母集団セットのコンテンツプロファイルを算出し、
前記トレーニングデータの前記トレーニングテキスト要素について表示された前記カテゴリーと関連する前記コンテンツプロファイル、および前記母集団セットの前記コンテンツプロファイルに基づいて、各カテゴリーに属する前記母集団セットの割合を算出する、
母集団セットカテゴリー推定モジュールと、
を含み、
前記割合を算出することは、スタック回帰方法、バイアス式方法、およびノイズ除去方法のうちの少なくとも１つを適用することを含む、システム。
【請求項９】
請求項８に記載のシステムにおいて、
前記割合を算出することは、アンサンブルの複数の算出方法を適用することと、種々の方法の結果を平均化することと、を含む、システム。
【請求項１０】
請求項８に記載のシステムにおいて、
前記割合を算出することは、前記スタック回帰方法を含む、システム。
【請求項１１】
請求項８に記載のシステムにおいて、
前記割合を算出することは、前記バイアス式方法を含む、システム。
【請求項１２】
請求項８に記載のシステムにおいて、
前記割合を算出することは、前記ノイズ除去方法を含む、システム。
【発明の詳細な説明】
【開示の内容】
【０００１】
〔関連出願〕
本出願は、「Systems and Methods for Calculating Category Proportions」の名称で、２０１２年５月２５日に出願された米国仮特許出願第６１／６５１，７０３号の優先権を主張するものであり、この仮特許出願は、参照により本明細書に組み込まれる。
【０００２】
〔分野〕
本発明は、データマイニングシステムの分野に関する。より具体的には、本発明は、構造化されていない原始データ、構造化された原始データ、または部分的にのみ構造化された原始データのソースを入力データとして利用して、一連のカテゴリーの中での、文書内容、または文書内容から得られる結論の分布を推定するためのシステムおよび方法に関する。
【０００３】
〔背景〕
テキスト、オーディオ、ビデオ、および他の通信媒体を含む文書およびファイルを含めた原始データを、所与のカテゴリーに分類することによって、それらの原始データから意味を引き出すための努力には、長い歴史がある。ウェブページ、ブログ、Ｅメール、デジタル化した書籍および記事、正式な政府報告書および立法府の審理（legislative hearings）および記録の電子版、特に、ツイッター、フェイスブック、およびリンクトイン（LINKEDIN）の投稿メッセージといったソーシャルメディアなどのデジタルコンテンツの量の増加は、有用な目的のためにそのような多量の情報源を取り出すことを望む人にとって、計算上の課題（computational challenges）を生じる。
【０００４】
この問題を単純化する１つのアプローチは、コンテンツを分類することである。すなわち、コンテンツのさまざまなピースをいくつかのカテゴリーに割り当てることである。そのようなカテゴリーにわたるコンテンツの分布を決定する従来的技術では、正しく分類される個々の要素のパーセンテージを増大させること、およびそのようにする技術、そして、個別に分類された要素の総合割合が、より大きな未検査要素母集団における分布を表わすことを前提とすること、に重点が置かれてきた。残念ながら、これらのような、総合割合における実質的なバイアスは、個々の要素の素晴らしい分類精度をもってしても残る場合があり、データセットのサイズおよび複雑さと共に課題が増大し、多くの適用にとって、これらの従来的技術が不適切なものとなる。したがって、自動分析または手作業による符号化（hand coding）によるものを含む、大規模な原始データの要素の個々の分類は、実行不可能である。
【０００５】
最初に、あるコンテンツプロファイルを有する文書のラベル付きセットを評価し、ラベル付きセット内の文書をカテゴリーに割り当て、その後、文書の母集団セットのコンテンツプロファイルから直接、文書の分布を算出する、改善されたアプローチが、Kingらにより、ＵＳ２００９／００３０８６２に開示されている（２００８年３月１９日出願、２００９年１月２９日公開の「System for Estimating a Distribution of Message Content Categories in Source Data」；２００８年３月に公開され、http://gking.harvard.edu/で利用可能な、Daniel HopkinsおよびGary Kingの「Extracting systematic social science meaning from text」も参照）。このアプローチにより、多量のデータを分析することが可能となったが、データを分類する際の精度の改善は、まだ行うことができる。
【０００６】
〔概要〕
本発明は、母集団セットにおいてカテゴリー割合を算出するためのシステムおよび方法を含む。第１の態様では、コンピュータ実施方法（computer-implemented method）が提供される。この態様では、コンピュータプロセッサが、要素のトレーニングセットを受け取る。このトレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連するコンテンツプロファイルを有する。コンピュータプロセッサは、要素の母集団セットをさらに受け取り、母集団セットの各要素は、コンテンツプロファイルを有する。コンピュータプロセッサ（computer process）は次に、トレーニングセットの要素と関連するコンテンツプロファイルおよびトレーニングセットの要素に割り当てられたカテゴリー、ならびに母集団セットの要素と関連するコンテンツプロファイルに基づき、スタック回帰方法（stacked regression method）を適用して、カテゴリーにわたる母集団セットの要素の分布を算出する。
【０００７】
本発明のさらなる態様では、バイアス式方法（bias formula method）が、第１の態様のスタック回帰方法の代わりに適用される。本発明の別の態様では、ノイズ除去方法が、第１の態様のスタック回帰方法の代わりに適用される。本発明のさらに別の態様では、結果が平均化される、複数のアルゴリズム的方法からなるアンサンブル方法（ensemble method）が、第１の態様のスタック回帰方法の代わりに適用される。
【０００８】
本発明のさらに別の態様では、母集団セットのカテゴリー割合を算出するシステムが提供される。このシステムは、トレーニングモジュールと、母集団セットカテゴリー推定モジュールとを有する。トレーニングモジュールは、メモリに連結されたトレーニングプロセッサを含み、このメモリは、ソフトウェア命令を含み、ソフトウェア命令により、トレーニングプロセッサは、（ｉ）いくつかのトレーニングテキスト要素を含むトレーニングデータを受け取り、（ｉｉ）トレーニングテキスト要素のうちの少なくともいくつかをユーザーに提示し、トレーニングテキスト要素が属するカテゴリーの表示をユーザーから受け取り、表示されたカテゴリーでトレーニングテキスト要素をタグ付けし、（ｉｉｉ）カテゴリーのタグが付いたトレーニングテキスト要素を記憶する。母集団セットカテゴリー推定モジュールは、メモリに連結された推定プロセッサ（estimating processor）を含み、メモリは、ソフトウェア命令を含み、ソフトウェア命令により、推定プロセッサは、（ｉ）いくつかの母集団テキスト要素を含む母集団データを受け取り、（ｉｉ）トレーニングセットで表示された各カテゴリーのコンテンツプロファイルを算出し、（ｉｉｉ）母集団セットのコンテンツプロファイルを算出し、（ｉｖ）トレーニングセット内の要素について表示されたカテゴリーと関連するコンテンツプロファイルおよび母集団セットのコンテンツプロファイルに基づいて、各カテゴリーに属する母集団セットの割合を算出する。その算出を行う際、母集団セットカテゴリー推定モジュールは、スタック回帰方法、バイアス式方法、およびノイズ除去方法のうちの少なくとも１つを適用する。
【０００９】
〔発明の詳細な説明〕
１つまたは複数のコンピュータサーバーおよびストレージ装置を用いて、データのコンテンツに基づき、構造化データ、非構造化データ、または部分的構造化データを分類するためのシステムおよび方法が提供される。これは、要素の第１の群を受け取ることを含み、第１の群の中の各要素は、複数のカテゴリーのうちの１つに割り当てられ、それと関連する複数のコンテンツプロファイルのうちの１つを有する。要素の第２の群が次に受け取られ、第２の群の中の各要素は、それと関連するコンテンツプロファイルのうちの１つを有する。次に、コンピュータプロセッサが、本明細書に記載されたアルゴリズムを使用し、第１の群の要素と関連するコンテンツプロファイルおよび第１の群の要素に割り当てられたカテゴリー、ならびに第２の群の要素と関連するコンテンツプロファイルに基づいて、それらのカテゴリーにわたる第２の群の要素の分布を算出する。
【００１０】
本発明により、ソーシャルメディア分析論における特定の用法を見つけることができ、この用法では、管理された機械学習アルゴリズムが、典型的には使用されて、投稿メッセージを、肯定的、否定的、および中立的な所感（sentiment）に分類する。このタイプの分類は、顧客サービスを提供するかまたはオンラインコミュニティを作ろうと努力して、これらの所感で意見を表現しようとする人と交流することを求める、ソーシャルメディア管理者にとっては有用となり得る。さらに、これらの所感のカテゴリーの割合が経時的にどのように変化するかを測定することにより、彼らは、自分たちの努力の有効性に関する洞察を得ることができる。
【００１１】
ソーシャルメディア、また、それに応じて、ソーシャルメディアの分析が、成熟してくるにつれて、分析者は、複雑な分析を求めている。所感カテゴリーは、分析者が判断を行うために必要としている、より深い洞察を分析者に与えることはできず、それは、大部分の商業的問題が、一般的な所感の観点で表現することができる答えを持たないためである。本発明は、以下に開示するように、進化したアルゴリズムおよびアルゴリズムの集合を用いて、これらの商業的問題に取り組むことができる。これらの技術を用いて、分析者は、自分たちのビジネスにとって重要であるカテゴリーを自分たちのために定義することができ、また、それらのカテゴリーの割合が経時的にどのように変化するのかを、正確に測定することができる。
【００１２】
すべての管理された機械学習アルゴリズムと同様に、本発明は、各カテゴリー内のラベル付きの投稿メッセージ例を用いて、所与のデータセットのモデルを構築することにより、機能し得る。このモデルは、その後、ラベル付きでない投稿メッセージを分析するのに使用される。大部分のソーシャルメディア分析論ツールでは、このラベル付けまたは「トレーニング」は、エンジニアによって行われる。本発明を用いると、分析者は自分たち自身のカテゴリーを定義するので、このトレーニングは分析者によって行われ得る。
【００１３】
加えて、時間の制約により、分析者は、自分たちのモデルをトレーニングする際、カテゴリー当たり数十個の投稿メッセージにラベル付けできるにすぎない。従来のアルゴリズムと共に使用されるトレーニングセットと比べ、このサイズのトレーニングセットが含む情報は非常に少ない。さらに、分析者によりトレーニングされたモデルは、分析されているラベル付きでない投稿メッセージが、トレーニングされた投稿メッセージとは大きく異なるカテゴリー割合を有する場合であっても、効果的に機能しなければならない。これは、機械学習において周知の問題である。このように割合が不均衡である場合、モデルにおけるあらゆる曖昧さが、エラーを引き起こす。少量のトレーニングが、モデルにおける曖昧さをほぼ保証するので、この小さなトレーニングセットと不均衡のデータとの組み合わせは、正確な分類とは相容れないもののようである。
【００１４】
本発明は、選別機ではないので、伝統的なアルゴリズムが作動しない場合に成功し得る。本発明は、進化したアルゴリズム、またはアルゴリズムの集合を使用して、投稿メッセージを全体として分析することができ、個々の投稿メッセージを分類しようとすることなく、カテゴリー割合を正確に測定することが可能となる。これにより、本発明は、モデルをトレーニングする上での時間の投資を比較的少なくして、分析者に関連する見識を明らかにすることができる。
【００１５】
ある例示的な実施形態は、本明細書に開示する方法、システムおよび装置の構造、機能、製造、および使用の原理の全体的な理解を提供するために、以下に記載される。これらの実施形態のうちの１つまたは複数の実施例は、添付図面に例示されている。本明細書に具体的に記載され、添付図面に例示される方法、システム、および装置が、非限定的な例示的実施形態であること、また、本発明の範囲が請求項によってのみ定められることを、当業者は理解するであろう。１つの例示的な実施形態と関連して例示または説明される特徴は、他の実施形態の特徴と組み合わせることができる。そのような改変および変形は、本発明の範囲内に含まれることが意図されている。
【００１６】
コンピュータプロセッサ
本明細書に開示するシステムおよび方法は、１つまたは複数のコンピュータシステム、例えば図１に示すコンピュータシステム１００の例示的な実施形態、を用いて実行され得る。図示のとおり、コンピュータシステム１００は、コンピュータシステム１００の動作を制御し得る１つまたは複数のプロセッサ１０２を含み得る。プロセッサ１０２は、プログラム可能で汎用の、または特殊用途のマイクロプロセッサおよび／もしくは登録商標があるか、または市販されているさまざまなシングルまたはマルチプロセッサシステムのいずれか１つを含む、任意のタイプのマイクロプロセッサまたは中央処理装置（ＣＰＵ）を含み得る。コンピュータシステム１００はまた、１つまたは複数のメモリ１０４を含んでよく、このメモリは、プロセッサ１０２により実行されるべきコード、または１もしくは複数のユーザー、ストレージ装置、および／もしくはデータベースから取得されるデータの一時記憶をもたらし得る。メモリ１０４は、読み取り専用メモリ（ＲＯＭ）、フラッシュメモリ、ランダムアクセスメモリ（ＲＡＭ）の１つまたは複数の変種（例えば、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、もしくはシンクロナスＤＲＡＭ（ＳＤＲＡＭ））、および／またはメモリテクノロジーの組み合わせ、を含み得る。
【００１７】
コンピュータシステム１００のさまざまな要素は、バスシステム１１２に連結され得る。例示されるバスシステム１１２は、適切なブリッジ、アダプタおよび／またはコントローラにより接続される、任意の１つまたは複数の別個の物理的バス、通信回線／インターフェース、および／またはマルチドロップもしくは二地点間接続を表わす、抽象的概念である。コンピュータシステム１００は、１つまたは複数のネットワークインターフェース１０６、１つまたは複数の入力／出力（ＩＯ）インターフェース１０８、および１つまたは複数のストレージ装置１１０も含み得る。
【００１８】
ネットワークインターフェース１０６は、コンピュータシステム１００がネットワークを通じて遠隔装置（例えば他のコンピュータシステム）と通信することを可能にすることができ、例えば、リモートデスクトップ接続インターフェース、イーサネットアダプタ、および／または他のローカルエリアネットワーク（ＬＡＮ）アダプタであってよい。ＩＯインターフェース１０８は、コンピュータシステム１００を他の電子機器と接続するために、１つまたは複数のインターフェース構成要素を含み得る。例えば、ＩＯインターフェース１０８は、高速データポート、例えばＵＳＢポート、１３９４ポートなどを含み得る。さらに、コンピュータシステム１００は、人間ユーザーにとってアクセス可能であってよいので、ＩＯインターフェース１０８は、ディスプレイ、スピーカー、キーボード、ポインティング装置、および／またはさまざまな他の動画、音声、もしくは英数字インターフェースを含み得る。ストレージ装置１１０は、不揮発性および／または非一時的な形で、データを記憶する任意の従来的媒体を含み得る。よって、ストレージ装置１１０は、持続的状態（persistent state）でデータおよび／または命令を保持することができる（すなわち、コンピュータシステム１００への電力の中断にもかかわらず、値が保持される）。ストレージ装置１１０は、１つまたは複数のハードディスクドライブ、フラッシュドライブ、ＵＳＢドライブ、光学ドライブ、さまざまなメディアカード、および／またはこれらの任意の組み合わせを含むことができ、コンピュータシステム１００に直接接続されるか、ネットワークを通じるなどして、これに遠隔接続されることができる。図１に示す要素は、単一の物理的機械の要素の一部またはすべてであってよい。加えて、例示される要素のすべてが、同じ物理的または論理的機械の上または中に位置する必要はない。むしろ、例示された要素は、例えばサーバーファームまたはクラウドベースのテクノロジーを用いて、事実上分布していてよい。例示的なコンピュータシステムは、従来のデスクトップコンピュータ、ワークステーション、ミニコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、ＰＤＡ、携帯電話などを含む。
【００１９】
本明細書には例示的なコンピュータシステムが描かれ説明されるが、これは、普遍化および便宜のためであることが、理解されるであろう。他の実施形態では、コンピュータシステムは、本明細書に図示し説明するものと、アーキテクチャおよび動作が異なり得る。
【００２０】
コンピュータシステム１００により実行されるさまざまな機能は、１つまたは複数のモジュールにより行われるものとして、論理的に説明され得る。このようなモジュールは、ハードウェア、ソフトウェア、またはそれらの組み合わせにおいて、実装され得ることが、理解されるであろう。ソフトウェアにおいて実装される場合、モジュールは、単一のプログラムまたは１つもしくは複数の別々のプログラムの一部であってよく、さまざまなコンテキストで（例えば、オペレーティングシステム、装置ドライバ、スタンドアローンのアプリケーション、および／またはそれらの組み合わせの一部として）実装され得ることが、さらに理解されるであろう。加えて、１つまたは複数のモジュールを具体化するソフトウェアは、信号ではなく、１つまたは複数の非一時的コンピュータ読み取り可能記憶媒体上で実行可能なプログラムとして記憶され得る。特定のモジュールにより実行されるものとして、本明細書に開示する機能は、任意の他のモジュールまたはモジュールの組み合わせにより実行されることもできる。
【００２１】
例示的なアーキテクチャ
本発明を実行する例示的なシステム１０が、図２に開示される。ここで、ソーシャルメディアコンテンツなどのコンテンツ１２、および、具体的に例示されるように、ツイッター、ブログ、ニュース、および他のソーシャルメディアからのコンテンツ、または他のコンテンツは、システム１０にインポートされ得る。個々のコンテンツアイテムは、本明細書では「文書」または「投稿メッセージ」と呼ばれることもある。概して、これらの投稿メッセージは、テキスト入力である、すなわち、それらは、非構造化データを含む。しかしながら、本発明は、構造化フォーマットでスプレッドシートもしくはデータベースに記憶されたデータなどの構造化データ、または、構造化データと非構造化データとの組み合わせにも、同じく適用され得る。コンテンツインポーター１４が、文書を受け取り、分析のためにそれらの文書を準備する。１つの例示的な事前分析工程では、文書は正規化され得る１６。正規化１６は、多様なソースからの文書すべてを、コンテンツ、日付、著者、タイトルなどといった、規格化されたフィールド群に変換することを含み得る。各データ提供者は、そのフィールドに対して異なる名称を有するか、または、データをフォーマットする異なる方法を有することができる。正規化の目的は、出所を気にせずに文書に対する分析を行うことができるように、すべてを一貫して（「正規」形で）記憶することである。正規化は、複製物を除去すること、スパムであるかもしくは偽のＵＲＬを有する投稿メッセージを除去すること、すべての日付をＧＭＴに変換することなどの事物を含むこともできる。コンテンツインポーターは、ジオロケーション１８データ（Geolocation 18 data）で投稿メッセージにタグを付けることもできる。すなわち、可能な場合には、コンテンツインポーターは、言語、ＩＰアドレス、タグ、もしくはジオロケーション基準を実際に含む投稿メッセージなどの事物に基づいて、投稿メッセージの場所を推定することができ、また、投稿メッセージにその場所でタグ付けすることができる。このように、分析は地理特異的（geo-specific）であってもよく、分析は、関連する地理的領域に基づいて、実行され得る。さらに、インポートサーバーは、所与の投稿メッセージについて言語を決定し、かつその投稿メッセージをその言語でタグ付けすることができる、言語選別機２０を適用することができる。場所と同じように、これにより、後の分析を、言語に基づいて分離することができる。加えて、本発明による分析の記憶前に、他のタイプの事前分析をコンテンツに対して行うことができる。
【００２２】
システム１０はまた、分析のためにインポート済みコンテンツを記憶するコンピュータストレージ２２も含み得る。一実施形態では、コンテンツは、それが生成された時間に従って記憶され得る（図２では、月に従って記憶されるものとして例示される）。分析がしばしば日付特異的となるような状況では、日付に従ってストレージにコンテンツを配列することにより、分析のために、コンテンツを便利かつ効果的に検索することができる。
【００２３】
システム１０は、分析セクション２４も含む。分析セクションにおいて、以下に記載するアルゴリズムがコンテンツを分析するために使用される。分析は、どれだけのコンテンツがIPHONE 5に言及する（references）かといった、容量分析を含み得る。この分析は、投稿者がIPHONE 5を好きか嫌いかといった、所感分析をさらに含み得る。この分析は好ましくは、分析者により選択されたカテゴリーに基づく投稿者意見を含む。分析セクションは、他のタイプの分析も含み得る。
【００２４】
システム１０は、図３に示すように、最初に、サンプリングされたいくつかの投稿メッセージ４０を人間ユーザー４２に提示することにより、動作し得る。人間ユーザーは、３つのカテゴリーとして図３に示す、ユーザー定義カテゴリー４４に、投稿メッセージを分類するが、任意の数のカテゴリーを使用することができる。人間ユーザーにより分類された投稿メッセージの集合体は、トレーニングセットと呼ばれることができる。システムにより分析されることになるであろう、残りの投稿メッセージは、母集団セットと呼ばれ得る。
【００２５】
次に、図４Ａに示すように、コンテンツプロファイルが、各投稿メッセージのために作成され得る。このプロファイルは、特徴の有無を示すことができ、ここで特徴とは、文字、記号、単語、語源（word roots）、またはこれらの事物の任意のものの組み合わせであってよい。好適な実施形態では、プロファイルは、単語もしくは語源の有無を示す。図４Ａで第１の投稿メッセージ４０に示すように、投稿メッセージは、Ａ、Ｃ、およびＤを含む。したがって、このチャートでは、Ａ、Ｃ、およびＤは、その投稿メッセージに存在するものとして示されるが、ＢおよびＥは存在しない。他の投稿メッセージ４０は、他の組み合わせを有する。より具体的な実施例では、ツイッターの投稿メッセージは、１組の語源の有無を示すように分析され得る。投稿メッセージのためのこのコンテンツプロファイルは、次に、以下に記載するさらなる分析で使用され得る。図４Ｂに示すように、分析のこの部分の終わりに、トレーニングセット内および母集団セット内の各文書は、プロファイルを有する。
【００２６】
次に図５Ａを参照すると、分析アルゴリズムが、単語もしくは語源の組み合わせといった、ランダムな特徴の組み合わせを選択し、母集団セット内、およびトレーニングセットの各カテゴリー内における、その順列のヒット率（frequency）を測定する。その後、このプロセスは、さまざまな単語の組み合わせおよび順列について、図５Ｂに示すように、繰り返される。これらの順列の組み合わせ発生率（combined incidences）は、母集団セットおよび各カテゴリーについて、独自のコンテンツプロファイルをもたらす。
【００２７】
母集団セットおよび各カテゴリーについてコンテンツプロファイルがあるので、アルゴリズムは、組み合わせられると母集団セットのものに近いコンテンツプロファイルを生じる、カテゴリー割合を求めることができる。図６の実施例により示される結果は、個別の各投稿メッセージを分析する必要なしに、各カテゴリーに該当する投稿メッセージのパーセンテージを提供する。
【００２８】
分析モジュール／アルゴリズム
前記に示したシステムおよび方法で有用なアルゴリズムを説明する。第一に、Kingらの米国特許出願公開第２００９／００３０８６２号に記載されるアルゴリズムは、特に異なるアルゴリズムの集合が以下に記載するように使用される場合に、このシステムと共に使用することができる。しかしながら、発明者らは、前述のシステムおよび方法に好ましくは適用され得る広範な状況において高度に正確な結果をもたらし得るアルゴリズムを作製した。
【００２９】
前述のように、分析を必要とする問題は、経時的な、言語資料の意見カテゴリー割合への定量化である。ユーザーは、トレーニング中に各カテゴリーに文書例を提供することにより、意見カテゴリー割合を定める（トレーニングセット）。カテゴリー割合を定量化するための２つの従来的解決策を、現状における問題を例示する目的で説明する。第１の従来的解決策は、回帰ベースであり、以下のように機能する：
【００３０】
第一に、トレーニング中にラベル付けされたテキスト文書および定量化されるべきものの双方が、検索語・文書行列（term-document matrix）に変えられ、この行列では、例えば図４Ａおよび図４Ｂに示すように、行が文書に対応し、列が検索語に対応し、セルが、文書内における検索語の有無に対応する。検索語・文書行列は、例えば図５Ａおよび図５Ｂに示すように、１組の単語をランダムにサンプリングし、すべての既存の順列の単語プロファイルヒット率（word-profile frequencies）を算出することにより、単語プロファイル分布にさらに変換され得る。
【００３１】
Ｘ＝Ｐ（Ｓ／Ｄ）を、トレーニング例から構築された意見カテゴリーを与えられた単語プロファイル分布とし、Ｙ＝Ｐ（Ｓ）を、定量化されるべき文書内の単語プロファイル分布とする。次に、カテゴリー割合  β＝Ｐ（Ｄ）を定量化することが、以下の式：
Ｙ＝Ｘβ
を解くタスクとなる。
【００３２】
独立変数Ｘが誤差なしで測定される場合、この式の解は、古典的な重回帰により達成され得る。われわれの課題において、独立変数は、サンプリングにより測定されるため、サンプリング誤差を含み、古典的な回帰アプローチは、バイアスのない結果をもたらすのに使用することはできない。
【００３３】
このバイアスは、以下のモデリングアプローチを使用することにより定量化され得る。
【００３４】
テストセットもしくは母集団セットでは、Ｙ＝Ｘβを有し、トレーニングセットでは、Ｙ＊＝Ｘ＊β＊を有する。ＸおよびＸ＊の双方は、同じカテゴリー特異的単語プロファイル分布に由来するが、それらの分布は、サンプルサイズに基づいて変化し、また、以下のように、正規近似でモデリングされ得る：
Ｘｊｋ〜Ｐｊｋ＋ｕｊｋ、ここで、ｕｊｋ〜Ｎ（０，Ｐｊｋ（１−Ｐｊｋ）／Ｎｋ）
Ｘ＊ｊｋ〜Ｐｊｋ＋ｅｊｋ、ここで、ｅｊｋ〜Ｎ（０，Ｐｊｋ（１−Ｐｊｋ）／ｎｋ）
【００３５】
いくつかの簡素化の仮定（simplifying assumptions）の下、古典的な重回帰の解
0006320997.tif 000002
は、真のカテゴリー割合（true category proportions）βの関数であるバイアス成分を有することが示され得る：
【数１】
0006320997.tif 000003
【００３６】
要するに、独立変数に誤差がある場合、回帰手順は、バイアスのある結果を生じることが知られている。ここでは、トレーニングセットの変換に由来する、独立変数は、サンプリングを通じて得られるので、これらは誤差を含む。発明の任意の特定の理論に縛り付けられることを望むわけではないが、これにより誤差が生じると、発明者らは考える。この問題を、本明細書では、「変数における誤差」と呼ぶ。
【００３７】
第２の従来的解決策は、ラベル付きの実施例（トレーニング）を用いて、目的のコーパス（テスト）に分類アルゴリズムを適用すること、および、予測される分類ラベルを単にカウントすることによりヒストグラムを構築することに基づく。このアプローチの根本的な問題は、分類アルゴリズムの精度が、実質的にトレーニングおよびテスト文書が同じ分布を有するかどうかによって決まることである。分類アルゴリズムは、テストおよびトレーニングの分布が異なる場合にバイアスをもたらす。しかしながら、テストおよびトレーニングの分布は、実質的に異なると予測されているので、分類に基づくヒストグラムのアプローチを使用することができない。
【００３８】
一態様では、本発明は、カテゴリー割合を予測するためにいくつかの異なる方法の平均を使用する集合型解決策（ensemble type solution）を含む。この態様では、１より多い任意の数の方法が使用され、平均をとられることができ、一実施形態では、カテゴリー割合を予測する５つの方法が、使用されて、平均をとられる。選択されるこれらの方法は、前記で参照したKingらの特許出願公開に記載されたもの、以下に記載する方法、または、本明細書もしくはKingらの公開に開示されていない他の方法、を含んでよい。
【００３９】
さらなる態様では、本発明は、カテゴリー割合を予測する３つの新規な方法のうちの少なくとも１つを含む。３つの方法のうちの第１の方法は、「スタック回帰（Stacked Regression）」方法と呼ばれる。スタック回帰は、前述した回帰方法の変形体である。３つの方法のうちの第２の方法は、「バイアス式」方法と呼ばれ、入力としてスタック回帰を使用する。３つの方法のうちの第３の方法は、「ノイズ除去」方法と呼ばれる。本発明は、カテゴリー割合を予測するためにこれらの方法のうちの１つを適用することを含んでよく、あるいは、任意の１つまたは複数を、集合アプローチにおける他の方法と共に使用するかまたは組み合わせることができる。
【００４０】
これらの方法のいずれも、例えば前述したようなモジュールを用いて、コンピュータシステム上のソフトウェアにおいて実行され得る。
【００４１】
スタック回帰：
先の回帰ベースの方法では、検索語・文書行列から単語プロファイル変換は、一つずつ実行され、結果として得られるデータ行は少数である。各回帰における少数のデータ行を補うために、数百回の回帰が行われ、平均をとられる。
【００４２】
代替的アプローチは、数百回の回帰で使用されるデータを「スタック」し、代わりに、同時にすべてのデータ行を使用して単一の回帰を実行することである。数学的には、スタッキングのみを行うことで、バイアスは取り除けない。これは、変数に誤差がある場合に、最小二乗推定値（least squares estimate）が矛盾した推定値であるためである。われわれは、スタックアプローチを、加重回帰と結びつけ、ここでは、各データ行の重さは、以下に示すように、その推定全分散（estimated total variance）の逆数である。
【数２】
0006320997.tif 000004
【００４３】
これらの重さを使用することにより、高分散の行（high variance rows）の影響を含むことができ、したがって、予測されるバイアスを減らすことができる。
【００４４】
バイアス式：
われわれは、ナイーブ推定値（naive estimate）から真のカテゴリー割合を推定するのに使用される統計的近似を用いるバイアス式を得た。バイアス補正は、ナイーブ最小二乗推定値
0006320997.tif 000005
を調節するために、以下の等式を使用する。
【数３】
0006320997.tif 000006
式中、Ａは、グラム-シュミットの正規直交化を用いて、以下のとおり（Ｒ様記法（R-like notation）で）得られる:
【数４】
0006320997.tif 000007
【００４５】
ノイズ除去：
われわれの課題において、
【数５】
0006320997.tif 000008
の双方（任意の所与のβ、ならびにテストおよびトレーニング分布のランダム変数
0006320997.tif 000009
それぞれについて）は、同じ平均（same mean）を有するが平方偏差が異なるランダム変数とみなされ得る。正規近似を用いてテストおよびトレーニングセットでノイズをモデル化する場合、以下を得る：
【数６】
0006320997.tif 000010
【００４６】
0006320997.tif 000011
との差を別のランダム変数：
【数７】
0006320997.tif 000012
として定義しよう。
【００４７】
この新しいランダム変数は、単にノイズであり、テストデータおよびトレーニングデータにおいて異なるサンプルサイズを用いた結果であり、２乗誤差計算の合計から、このノイズの予測値（平方）を減算したいと思う。さらに具体的には、
0006320997.tif 000013
を見出したいと考え、これは、以下の最小化問題：
【数８】
0006320997.tif 000014
に対する解である（太字の変数はランダム変数であり、装飾のない変数（plain variables）は、テストおよびトレーニングにおける、これらのランダム変数の実測値であることに注意されたい）。
【００４８】
【数９】
0006320997.tif 000015
の推定値は:
【数１０】
0006320997.tif 000016
であることが導き出される。
【００４９】
これは、以下のように、２乗誤差の合計の予測値が、Ｐｊｋの最良推定値を用いて推定され得ることを意味する：
【数１１】
0006320997.tif 000017
【００５０】
最適化手法を解決するために現在行っている数値的手法は以下の通りである：
0006320997.tif 000018
【００５１】
当業者は、前述した実施形態および目的に基づいて、本発明のさらなる特徴および利点を理解するであろう。したがって、本発明は、請求項または最終的にもたらされるもの（those ultimately provided）により示されるものを除き、具体的に図示および説明したことにより限定されるものではない。本明細書で引用したすべての刊行物および参考文献は、参照により全体として本明細書に明示的に組み込まれ、本発明は、上記および組み込まれる参考文献に含まれる特徴のすべての組み合わせおよび副組み合わせを明示的に含む。
【００５２】
〔実施の態様〕
（１）  コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）スタック回帰方法を適用する前記コンピュータプロセッサによって、前記トレーニングセットの要素と関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素と関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
（２）  コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）バイアス式方法を適用する前記コンピュータプロセッサによって、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
（３）  コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）ノイズ除去方法を適用する前記コンピュータプロセッサにより、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
（４）  コンピュータプロセッサにより実行される、コンピュータ実施方法において、
（ａ）前記コンピュータプロセッサにより、要素のトレーニングセットを受け取ることであって、前記トレーニングセットの各要素は、複数のカテゴリーのうちの１つに割り当てられ、それに関連する複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｂ）前記コンピュータプロセッサにより、要素の母集団セットを受け取ることであって、前記母集団セットの各要素は、それに関連する前記複数のコンテンツプロファイルのうちの１つを有する、ことと、
（ｃ）結果が平均化される複数のアルゴリズム的方法からなるコンピュータプロセッサアンサンブル方法により、前記トレーニングセットの要素に関連する前記コンテンツプロファイルおよび前記トレーニングセットの要素に割り当てられた前記カテゴリーと、前記母集団セットの前記要素に関連する前記コンテンツプロファイルと、に基づいて、前記カテゴリーにわたる前記母集団セットの要素の分布を算出することと、
を含む、コンピュータ実施方法。
（５）  実施態様４に記載のコンピュータ実施方法において、
前記アンサンブルは、スタック回帰方法を含む、コンピュータ実施方法。
【００５３】
（６）  実施態様４に記載のコンピュータ実施方法において、
前記アンサンブルは、バイアス式方法を含む、コンピュータ実施方法。
（７）  実施態様４に記載のコンピュータ実施方法において、
前記アンサンブルは、ノイズ除去方法を含む、コンピュータ実施方法。
（８）  母集団セットのカテゴリー割合を算出するシステムにおいて、
メモリに連結されたトレーニングプロセッサを含むトレーニングモジュールであって、前記メモリは、ソフトウェア命令を含み、前記ソフトウェア命令により、前記トレーニングプロセッサは、
いくつかのトレーニングテキスト要素を含むトレーニングデータを受け取り、
前記トレーニングテキスト要素のうちの少なくともいくつかをユーザーに提示し、前記トレーニングテキスト要素が属するカテゴリーの表示を前記ユーザーから受け取り、前記トレーニングテキスト要素を、表示された前記カテゴリーでタグ付けし、
前記カテゴリーのタグが付いたトレーニングテキスト要素を記憶する、
トレーニングモジュールと、
メモリに連結された推定プロセッサを含む母集団セットカテゴリー推定モジュールであって、前記メモリはソフトウェア命令を含み、前記ソフトウェア命令により、前記推定プロセッサは、
いくつかの母集団テキスト要素を含む母集団データを受け取り、
前記トレーニングセットにおいて表示された各カテゴリーのコンテンツプロファイルを算出し、
前記母集団セットのコンテンツプロファイルを算出し、
前記トレーニングセットの前記要素について表示された前記カテゴリーと関連する前記コンテンツプロファイル、および前記母集団セットの前記コンテンツプロファイルに基づいて、各カテゴリーに属する前記母集団セットの割合を算出する、
母集団セットカテゴリー推定モジュールと、
を含み、
前記割合を算出することは、スタック回帰方法、バイアス式方法、およびノイズ除去方法のうちの少なくとも１つを適用することを含む、システム。
（９）  実施態様８に記載のシステムにおいて、
前記割合を算出することは、アンサンブルの複数の算出方法を適用することと、種々の方法の結果を平均化することと、を含む、システム。
（１０）  実施態様８に記載のシステムにおいて、
前記割合を算出することは、前記スタック回帰方法を含む、システム。
【００５４】
（１１）  実施態様８に記載のシステムにおいて、
前記割合を算出することは、前記バイアス式方法を含む、システム。
（１２）  実施態様８に記載のシステムにおいて、
前記割合を算出することは、前記ノイズ除去方法を含む、システム。
【図面の簡単な説明】
【００５５】
【図１】コンピュータシステムの例示的な一実施形態の概略図である。
【図２】本発明のシステムの構造図である。
【図３】本発明によるカテゴリーへのトレーニングセットの分類を示している。
【図４Ａ】本発明による文書のコンテンツプロファイルの作成を示す。
【図４Ｂ】本発明による文書のコンテンツプロファイルの作成を示す。
【図５Ａ】本発明による母集団セットおよびカテゴリーのコンテンツプロファイルの作成を示す。
【図５Ｂ】本発明による母集団セットおよびカテゴリーのコンテンツプロファイルの作成を示す。
【図６】本発明による母集団セットにわたるカテゴリー割合の解を示す。
【図１】
0006320997.tif 000019
【図２】
0006320997.tif 000020
【図３】
0006320997.tif 000021
【図４Ａ】
0006320997.tif 000022
【図４Ｂ】
0006320997.tif 000023
【図５Ａ】
0006320997.tif 000024
【図５Ｂ】
0006320997.tif 000025
【図６】
0006320997.tif 000026