(57)【要約】本開示は、情報フィルタリングの方法、装置、およびシステムを含む。一実施形態例では、メッセージが受信され、そのメッセージからテキストが取得される。次いで、フィルタリングコンテナが、取得されたテキストに似ているサンプルを含むかどうかが判断される。判断結果が肯定の場合、取得されたテキストに対して新しいサンプルが作成され、そのサンプルがフィルタリングコンテナの帰属サンプルデータベースに追加されて、メッセージは伝送されない。判断結果が否定であれば、取得されたテキストに対して新しいサンプルが作成され、そのサンプルがフィルタリングコンテナの新しいサンプルデータベースに追加されて、メッセージが伝送される。本技術は、情報フィルタリングを逃す確率を減らして、情報フィルタリングの成功率を改善し、データ処理効率を改善する。
2014527669.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能命令とともに構成された１つまたは複数のプロセッサによって実行される方法であって、
メッセージを受信することと、
前記メッセージからテキストを抽出することと、
そのテキストが前記メッセージから抽出された前記テキストに似ているサンプルデータベース内のサンプルを、フィルタリングコンテナが含むかどうかを判断することと
を含み、
ｉ）そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含む場合、
前記メッセージから抽出された前記テキストに対して新しいサンプルを作成することと、
前記新しいサンプルを前記フィルタリングコンテナの帰属サンプルデータベースに追加することと、
前記メッセージの送信を拒否することとを含み、
ｉｉ）そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含まない場合、
前記メッセージから抽出された前記テキストに対して前記新しいサンプルを作成することと、
前記新しいサンプルを前記フィルタリングコンテナの新しいサンプルデータベースに追加することと、
前記メッセージを送信することとを含む、
方法。
【請求項２】
前記帰属サンプルデータベースが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを含む、サンプルデータベースである、請求項１に記載の方法。
【請求項３】
前記判断することが、ベクトルに基づく方法、最長共通文字列（ＬＣＳ）に基づく方法、またはベクトルとＬＣＳ法の組合せを使用して、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含むかどうかを判断することを含む、請求項１に記載の方法。
【請求項４】
前記ベクトルに基づく方法が、
前記メッセージから抽出された前記テキストのベクトルおよび前記フィルタリングコンテナの前記サンプルの前記テキストのベクトルを取得することと、
前記メッセージから抽出された前記テキストの前記ベクトルと、前記サンプルの前記テキストの前記ベクトルとの間の類似度が、類似度閾値より大きいか、または類似度閾値に等しいかを判断することと、
前記類似度が、類似度閾値より大きいかまたは類似度閾値に等しい場合、前記サンプルが、そのテキストが前記メッセージから抽出された前記テキストに似ている類似サンプルであると判断することと、
前記類似度が、類似度閾値より大きくないかまたは類似度閾値に等しくない場合、前記サンプルは、そのテキストが前記メッセージから抽出された前記テキストに似ている前記類似サンプルではないと判断することと
を含む、請求項３に記載の方法。
【請求項５】
前記ＬＣＳに基づく方法が、
前記メッセージから抽出された前記テキストと前記サンプルの前記テキストとの間のＬＣＳの長さが、文字列長閾値より大きいかまたは文字列長閾値に等しいかを判断することと、
前記メッセージから抽出された前記テキストと前記サンプルの前記テキストとの間の前記ＬＣＳの前記長さが、前記文字列長閾値より大きいかまたは前記文字列長閾値に等しい場合、前記サンプルが、そのテキストが前記メッセージから抽出された前記テキストに似ている類似サンプルであると判断することと、
前記メッセージから抽出された前記テキストと前記サンプルの前記テキストとの間の前記ＬＣＳの前記長さが、前記文字列長閾値より大きくなく、かつ、前記文字列長閾値に等しくない場合、前記サンプルが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記類似サンプルでないと判断することと
を含む、請求項３に記載の方法。
【請求項６】
ベクトルとＬＣＳ法の前記組合せが、
前記メッセージから抽出された前記テキストのベクトルおよび前記フィルタリングコンテナの前記サンプルの前記テキストのベクトルを取得することと、
前記メッセージから抽出された前記テキストの前記ベクトルと、前記サンプルの前記テキストの前記ベクトルとの間の類似度が、類似度閾値より大きいかまたは類似度閾値に等しいかを判断することであって、
前記類似度が、類似度閾値より大きくなく、かつ、類似度閾値に等しくない場合、前記サンプルが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記類似サンプルではないと判断し、
前記類似度が、類似度閾値より大きいかまたは類似度閾値に等しい場合、前記サンプルが第１の類似サンプル候補であると判断する、
前記ベクトル間の類似度を判断することと、
前記メッセージから抽出された前記テキストと前記第１の類似サンプル候補の前記テキストとの間のＬＣＳの長さが、文字列長閾値より大きいかまたは文字列長閾値に等しいかを判断することであって、
前記メッセージから抽出された前記テキストと前記第１の類似サンプル候補の前記テキストとの間のＬＣＳの長さが、前記文字列長閾値より大きいかまたは前記文字列長閾値に等しい場合、前記サンプルが、第２の類似サンプル候補であると判断し、かつ前記サンプルが前記類似サンプルであると判断し、
前記メッセージから抽出された前記テキストと前記第１の類似サンプル候補の前記テキストとの間のＬＣＳの長さが、前記文字列長閾値より大きくなく、かつ、前記文字列長閾値に等しくない場合、前記サンプルが、前記第２の類似サンプル候補でないと判断し、かつ前記サンプルが前記類似サンプルでないと判断する、
前記テキスト間のＬＣＳの長さを判断することと
を含む、請求項３に記載の方法。
【請求項７】
前記新しいサンプルを前記フィルタリングコンテナの前記帰属サンプルデータベースに前記追加することが、
前記帰属サンプルデータベース内に削除する必要のある１つまたは複数のサンプルが存在するかどうかを判断することと、
前記帰属サンプルデータベース内に削除する必要のある１つまたは複数のサンプルが存在しない場合、前記新しいサンプルを前記帰属サンプルデータベースに追加することと、
前記帰属サンプルデータベース内に削除する必要のある１つまたは複数のサンプルが存在する場合、前記新しいサンプルを前記帰属サンプルデータベースに追加し、前記１つまたは複数のサンプルを前記帰属サンプルデータベースから削除して、前記新しいサンプルを前記帰属サンプルデータベースに追加することと
を含む、請求項１に記載の方法。
【請求項８】
前記帰属サンプルデータベース内に削除する必要のある１つまたは複数のサンプルが存在するかどうかを前記判断することが、
前記帰属サンプルデータベース内のサンプルの総数が、前記新しいサンプルが前記帰属サンプルデータベースに追加される場合に事前設定の総サンプル数閾値より多いかどうかを判断することと、
前記帰属サンプルデータベース内のサンプルの前記総数が、前記新しいサンプルが前記帰属サンプルデータベースに追加される場合に前記事前設定の総サンプル数閾値より多い場合、前記帰属サンプルデータベース内に削除する必要のある前記１つまたは複数のサンプルが存在すると判断することと、
前記帰属サンプルデータベース内のサンプルの前記総数が、前記新しいサンプルが前記帰属サンプルデータベースに追加される場合に前記事前設定の総サンプル数閾値を上回らない場合、前記帰属サンプルデータベース内に削除する必要のある前記１つまたは複数のサンプルが存在しないと判断することと
を含む、請求項７に記載の方法。
【請求項９】
前記１つまたは複数のサンプルを前記帰属サンプルデータベースから前記削除することが、
前記帰属サンプルデータベース内の各サンプルの利用回数を取得することと、
各サンプルの前記利用回数に基づいて、前記１つまたは複数のサンプルを前記帰属サンプルデータベースから削除することと
を含む、請求項８に記載の方法。
【請求項１０】
前記新しいサンプルを前記フィルタリングコンテナの前記新しいサンプルデータベースに前記追加することが、前記フィルタリングコンテナ内に前記新しいサンプルデータベースを作成することを含む、請求項１に記載の方法。
【請求項１１】
前記新しいサンプルデータベースを前記作成することが、
前記フィルタリングコンテナ内に削除する必要のある１つまたは複数のサンプルデータベースが存在するかどうかを判断することと、
前記フィルタリングコンテナ内に削除する必要のある１つまたは複数のサンプルデータベースが存在しない場合、前記新しいサンプルデータベースを前記フィルタリングコンテナに追加することと、
前記フィルタリングコンテナデータベース内に削除する必要のある１つまたは複数のサンプルデータベースが存在する場合、前記１つまたは複数のサンプルデータベースを前記フィルタリングコンテナから削除し、かつ、前記新しいサンプルデータベースを前記フィルタリングコンテナに追加することと
を含む、請求項１０に記載の方法。
【請求項１２】
前記フィルタリングコンテナ内に削除する必要のある前記１つまたは複数のサンプルデータベースが存在するかどうかを前記判断することが、
前記フィルタリングコンテナ内のサンプルデータベースの総数が、前記新しいサンプルデータベースが前記フィルタリングコンテナに追加される場合に事前設定の総サンプルデータベース数閾値より多いかどうかを判断することと、
前記フィルタリングコンテナ内のサンプルデータベースの前記総数が、前記新しいサンプルデータベースが前記フィルタリングコンテナに追加される場合に前記事前設定の総サンプルデータベース数閾値より多い場合、前記フィルタリングコンテナ内に削除する必要のある前記１つまたは複数のサンプルデータベースが存在すると判断することと、
前記フィルタリングコンテナ内のサンプルデータベースの前記総数が、前記新しいサンプルデータベースが前記フィルタリングコンテナに追加される場合に前記事前設定の総サンプルデータベース数閾値を上回らない場合、前記フィルタリングコンテナ内に削除する必要のある前記１つまたは複数のサンプルデータベースが存在しないと判断することと
を含む、請求項１１に記載の方法。
【請求項１３】
前記１つまたは複数のサンプルデータベースを前記フィルタリングコンテナから前記削除することが、
前記フィルタリングコンテナ内の各サンプルデータベースの利用回数を取得することと、
各サンプルデータベースの前記利用回数に基づいて、前記１つまたは複数のサンプルデータベースを前記フィルタリングコンテナから削除することと
を含む、請求項１１に記載の方法。
【請求項１４】
前記メッセージを前記受信することが、ルーティング処理の前に前記メッセージを受信することを含み、かつ前記フィルタリングコンテナが、ルーティング処理の前の前記メッセージを対象とする、請求項１に記載の方法。
【請求項１５】
前記メッセージを前記受信することが、ルーティング処理の後に前記メッセージを受信することを含み、かつ前記フィルタリングコンテナが、前記メッセージに含まれる特定の受信者側ユーザー名を対象とする、請求項１に記載の方法。
【請求項１６】
メッセージを受信する受信モジュールと、
前記メッセージからテキストを抽出する抽出モジュールと、
そのテキストが前記メッセージから抽出された前記テキストに似ているサンプルデータベース内のサンプルを、フィルタリングコンテナが含むかどうかを判断する判断モジュールと、
前記判断モジュールが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含むと判断した後、前記メッセージから抽出された前記テキストに対して新しいサンプル作成し、前記新しいサンプルを前記フィルタリングコンテナの帰属サンプルデータベースに追加して、前記メッセージの送信を拒否する、第１の処理モジュールと、
前記判断モジュールが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含まないと判断した後、前記メッセージから抽出された前記テキストに対して前記新しいサンプル作成し、前記新しいサンプルを前記フィルタリングコンテナの新しいサンプルデータベースに追加して、前記メッセージを送信する、第２の処理モジュールと、
を備える装置。
【請求項１７】
前記判断モジュールが、
前記メッセージから抽出された前記テキストのベクトルおよび前記フィルタリングコンテナの前記サンプルの前記テキストのベクトルを取得することと、
前記メッセージから抽出された前記テキストの前記ベクトルと、前記サンプルの前記テキストの前記ベクトルとの間の類似度が、類似度閾値より大きいかまたは類似度閾値に等しいかを判断することと、
ｉ）前記類似度が、類似度閾値より大きいかまたは類似度閾値に等しい場合、前記サンプルが、そのテキストが前記メッセージから抽出された前記テキストに似ている類似サンプルであると判断することと、
ｉｉ）前記類似度が、類似度閾値より大きくなく、かつ、類似度閾値に等しくない場合、前記サンプルは、そのテキストが前記メッセージから抽出された前記テキストに似ている前記類似サンプルではないと判断することと
をさらに行う、請求項１６に記載の装置。
【請求項１８】
送信者側によって送信されたメッセージを受信して、前記メッセージをそれぞれのメッセージフィルタリング装置に送信する、少なくとも１つの受信者側メッセージ応答モジュールと、
別のそれぞれのメッセージフィルタリング装置から受信された、除去されていない、前記メッセージを受信者側に送信する、少なくとも１つの送信者側メッセージ応答モジュールと、
少なくとも１つの装置であって、前記それぞれの装置が、
前記少なくとも１つの受信者側メッセージ応答モジュールから前記メッセージを受信する受信モジュールと、
前記メッセージからテキストを抽出する抽出モジュールと、
そのテキストが前記メッセージから抽出された前記テキストに似ているサンプルデータベース内のサンプルを、フィルタリングコンテナが含むかどうかを判断する判断モジュールと、
前記判断モジュールが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含むと判断した後、前記メッセージから抽出された前記テキストに対して新しいサンプル作成し、前記新しいサンプルを前記フィルタリングコンテナの帰属サンプルデータベースに追加して、前記メッセージの送信を拒否する、第１の処理モジュールと、
前記判断モジュールが、そのテキストが前記メッセージから抽出された前記テキストに似ている前記サンプルを、前記フィルタリングコンテナが含まないと判断した後、前記メッセージから抽出された前記テキストに対して前記新しいサンプル作成し、前記新しいサンプルを前記フィルタリングコンテナの新しいサンプルデータベースに追加して、前記メッセージを前記少なくとも１つの受信者側メッセージ応答モジュールに送信する、第２の処理モジュールと
を含む、装置と
を備えるシステム。
【請求項１９】
前記システムが、前記少なくとも１つのメッセージフィルタリング装置のうちの１つを通じて、前記少なくとも１つの送信者側メッセージ応答モジュールに接続され、かつ、前記少なくとも１つのメッセージフィルタリング装置のうちの別の１つを通じて、前記少なくとも１つの受信者側メッセージ応答モジュールに接続されている、メッセージ処理モジュールをさらに備える、請求項１８に記載のシステム。
【請求項２０】
全ての送信者側メッセージ応答モジュールが、前記それぞれのメッセージフィルタリング装置に接続され、かつ、各それぞれの受信者側メッセージ応答モジュールが、対応するメッセージフィルタリング装置と個々に接続されている、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ処理技術の分野に関し、より詳細には、コンピュータ実装された情報フィルタリングの方法、システム、および装置に関する。
【背景技術】
【０００２】
〔関連出願の相互参照〕
本願は、２０１１年８月８日に出願された「Ｃｏｍｐｕｔｅｒ−ｉｍｐｌｅｍｅｎｔｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｌｔｅｒｉｎｇ  ｍｅｔｈｏｄ，  Ｉｎｆｏｒｍａｔｉｏｎ  ｆｉｌｔｅｒｉｎｇ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｓｙｓｔｅｍ」という名称の中国特許出願第２０１１１０２２５３４５．３号に対する外国優先権を主張し、該出願は、参照によりその全体が本明細書に組み込まれる。
【０００３】
情報伝送機能は、ネットワークによって接続された様々なユーザー間のやりとりを可能にする。しかし、幾人かの悪意のあるユーザーは、（いくつかのフィッシング詐欺サイトリンクまたはジャンク広告を含み得る）大量の繰返しメッセージまたは同様のメッセージを、彼らのクリック率を増加させるために送信する。それらが、電子商取引または電子メールシステムで生じる場合、かかるシナリオは、かかるシステムの負荷および伝送量を増加し得、それにより、かかるシステムのサーバーの記憶およびデータ処理能力に莫大な圧力をもたらす。情報をフィルタリングするための従来型の方法が以下で説明される。
【０００４】
１つの例示的な方法は、規則に基づいた情報フィルタリング方法である。例えば、ジャンクメッセージを定期的に送信するユーザーは、ブラックリストに追加される。ブラックリストに載せられたユーザーが繰返しメッセージを再度送信しようとすると、かかる繰返しメッセージは遮断される。例えば、１つまたは複数のキーワードが、メッセージ内のあるデータフィールドに基づいて確立され得る。これらのメッセージの任意のフィールドがかかるキーワードを含む場合、かかるメッセージはフィルタリングされる。規則に基づいた情報フィルタリング方法は、比較的単純で、直接的、迅速対応であるが、かかる規則はすぐに失効もする。規則の更新速度は遅いが、メッセージのコンテンツは絶え間なく更新される。以前の規則に基づき、変更されたユーザー名によって送信されたか、または修正されたコンテンツを有するメッセージは、ジャンクメッセージとみなされるのを容易に回避し得る。従って、多数のジャンクメッセージが効果的にフィルタリングできない。情報フィルタリングの成功率は低い。例えば、ブラックリストに載せられたユーザー名をもつユーザーは、新しいユーザー名に変更し得る。新しいユーザー名がブラックリスト上になければ、かかるユーザーは、継続してジャンクメッセージを送信できる。低い成功フィルタリング率は、低効率のデータ処理も引き起こす。さらに、規則の作成および更新は、多数の専門家の参加を必要とし、それは労力と費用がかかる。
【０００５】
別の例示的な方法は、機械学習に基づく情報フィルタリング方法である。ジャンクメッセージと見なされるいくつかのメッセージおよび通常のメッセージと見なされるいくつかのメッセージが、まず、サンプルのデータベースを確立するために手動で収集される。いくつかの収集されるメッセージは、広い範囲をカバーするように収集される必要がある。分類モデルおよび関連パラメータが、サンプルデータベースに対して確立され得る。分類モデルが確立されると、ジャンクメッセージおよび非ジャンクメッセージの参照データが取得されて、情報のフィルタリングに使用され得る。例えば、現在のメッセージに対して、現在のメッセージの分類が判断され得る。ジャンクメッセージおよび非ジャンクメッセージの参照データに基づいて、現在のメッセージが、ジャンクメッセージまたは非ジャンクメッセージと判断される。ジャンクメッセージが次いで除去される。
【０００６】
機械学習に基づく情報フィルタリング方法の問題は、サンプルの収集、分類モデルの確立、および参照データの取得が非常に複雑であり、分類モデルおよび参照データの継続的な更新を必要とすることである。例えば、サンプルデータベースが大規模である場合、それは、何十万もの項目を含み得、分類モデルの進捗を遅くする。機械学習は、数か月続く学習期間を必要とし得る。従って、膨大な量のデータが処理される必要があるが、それは時間がかかる。さらに、分類モデルの作成は、モデル作成を専門とする専門家の参加を必要とする。ソフトウェアでの実装も、高度に熟練したプログラマの参加を必要とする。この方法は、費用がまだ比較的高いので、労力と費用も要する。
【０００７】
その上、前述した２つの方法は、複数の言語のサポートが困難である。規則に基づく情報フィルタリング方法は、異なる言語を処理可能な運用スタッフのチームを必要とする。機械学習に基づく情報フィルタリング方法は、複雑な単語区分および意味解析の問題を解決する必要があるので、さらに多くの困難に直面する。しかし、いくつかの国際的なウェブサイトは、複数の言語を広く使用する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
この発明の概要は、概念の選択を単純化した形式で紹介するために提供されており、それらは、以下の発明を実施するために形態でさらに説明される。この発明の概要は、請求された主題の重要な特徴または本質的な特徴を識別することを意図しておらず、また、請求された主題の範囲の判断において補助として用いられることも意図していない。例えば、「技術」という用語は、上のコンテキストによって許容されるように、また本開示全体にわたって、装置、システム、方法および／またはコンピュータ可読命令を指し得る。
【課題を解決するための手段】
【０００９】
本開示は、情報フィルタリングの方法、システム、および装置を開示する。本技術は、コンピュータ実装されて、人間の介入なしで、自動情報フィルタリングを実現し得、それにより、費用を削減し、情報フィルタリングの成功率を向上させ、そして、データ処理効率を向上させる。
【００１０】
本開示は、情報フィルタリングの方法を開示する。メッセージが受信され、そのメッセージからテキストが取得される。次いで、フィルタリングコンテナが、取得されたテキストと似ているサンプルを含むかどうかが判断される。判断結果が肯定であれば、取得されたテキストに対して新しいサンプルが作成されて、フィルタリングコンテナの帰属サンプルデータベースに追加され、メッセージは伝送されない。判断結果が否定であれば、取得されたテキストに対して新しいサンプルが作成されて、フィルタリングコンテナの新しいサンプルデータベースに追加され、メッセージが伝送される。
【００１１】
本開示は、情報フィルタリングの装置を開示する。装置は、受信モジュール、取得モジュール、判断モジュール、第１の処理モジュール、および第２の処理モジュールを含み得る。受信モジュールは、メッセージを受信する。取得モジュールは、メッセージからテキストを取得する。判断モジュールは、フィルタリングコンテナが、取得されたテキストに似ているサンプルを含むかどうかを判断する。判断結果が肯定の場合、第１の処理モジュールが、取得されたテキストに対して新しいサンプルを作成し、その新しいサンプルをフィルタリングコンテナの帰属サンプルデータベースに追加して、メッセージは伝送しない。判断結果が否定の場合、第２の処理モジュールが、取得されたテキストに対して新しいサンプルを作成し、その新しいサンプルをフィルタリングコンテナのサンプルデータベースに追加して、メッセージを伝送する。
【００１２】
本開示は、情報フィルタリングのシステムも開示する。システムは、少なくとも１つの受信者側メッセージ応答モジュール、少なくとも１つの送信者側メッセージ応答モジュール、および前述した少なくとも１つの情報フィルタリングの装置を含み得る。送信者側メッセージ応答モジュールは、送信者側によって送信されたメッセージを受信し、そのメッセージを情報フィルタリングの装置に送信する。装置は、次いで、そのメッセージをフィルタ処理する。受信者側メッセージ応答モジュールは、装置から受信したメッセージを受信者側に送信する。
【００１３】
本開示における本技術は、メッセージ内のテキストをサンプルとして使用し、受信したメッセージ内のテキストがサンプルデータベース内の既存のサンプルのテキストに似ているかどうかに基づいて、そのサンプルを、帰属サンプルデータベースまたは新しいサンプルデータベースに選択して追加する。本技術は、受信したメッセージ内のテキストがサンプルデータベース内のサンプルのテキストに似ているかどうかに基づいて、そのメッセージを情報のフィルタリングのために伝送するかどうかも判断する。サンプルデータベース内のサンプルは、必ずしも手動収集を必要とせず、メッセージ受信のプロセス中に、自動的に蓄積および更新できる。人間の介入が必要ないので、費用がそれ故削減される。
【発明の効果】
【００１４】
サンプルデータベース内のサンプルは、継続的に受信されるメッセージに基づいて継続的に更新されるので、サンプルデータベース内のサンプルは、メッセージの最新変更に適合し得る。規則がタイムリーに更新されないかも知れない、従来型の規則に基づく情報フィルタリング方法、および、作成されたモデルまたは参照データがタイムリーに更新されないかも知れない、従来型の機械学習に基づく情報フィルタリング方法とは異なり、本技術は、除去される必要のある情報を逃す可能性を取り除くか、または減らし得る。本技術は、情報フィルタリングの成功率を向上させ得る。
【００１５】
その上、情報フィルタリングを逃す確率が減らされるので、処理に値しない繰返しメッセージもフィルタ処理される。従って、情報処理の量が削減されて、データ処理効率が改善される。
【００１６】
さらに、本技術は、規則の確立および機械学習モデルの作成を必ずしも必要としない。本技術は、テキスト内の意味の代わりに、テキストの分析を対象とする。従って、本技術は、複数の言語をサポートし得、任意の言語の任意のテキストに適用可能であり得る。
【００１７】
本開示の実施形態をさらに良く説明するため、以下は、実施形態の説明で使用される図の簡単な紹介である。以下の図は、本開示のいくつかの実施形態にのみ関連することは明らかである。当業者は、創造的な努力なしで、本開示の図に従って他の図を取得できる。
【図面の簡単な説明】
【００１８】
【図１】本開示に従った、情報フィルタリングのシステム例の図を示す。
【図２】本開示の第１の実施形態例に従った、情報フィルタリングの方法例のフローチャートを示す。
【図３】図２に示す方法例に従って作成された、フィルタリングコンテナ例の図を示す。
【図４】本開示の第２の実施形態例に従った、情報フィルタリングの別の方法例のフローチャートを示す。
【図５】本開示に従った、情報フィルタリングの装置例の図を示す。
【図６】本開示に従った、情報フィルタリングの別のシステム例の図を示す。
【図７】本開示に従った、情報フィルタリングの別のシステム例の図を示す。
【発明を実施するための形態】
【００１９】
以下は本技術の詳細な説明である。本明細書に記載される実施形態は、実施形態の例であり、本開示の範囲を制限するために使用されるべきでない。
【００２０】
図１は、本開示に従った情報フィルタリングのシステム例１００の図を示す。システム１００は、送信者側の端末と受信者側の端末との間に配置され得る。システム１００は、送信者側から受信者側に送信されたメッセージを処理する。システム１００は、１つまたは複数のプロセッサ１０２およびメモリ１０４を含み得るが、それらに限らない。メモリ１０４は、ランダムアクセスメモリ（ＲＡＭ）などの揮発性メモリ、および／または読取り専用メモリ（ＲＯＭ）もしくはフラッシュＲＡＭなどの不揮発性メモリの形で、コンピュータ記憶媒体を含み得る。メモリ１０４は、コンピュータ記憶媒体の一例である。
【００２１】
コンピュータ記憶媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を保存するために、任意の方法または技術で実装された、揮発性および不揮発性、取り外し可能および固定型媒体を含む。コンピュータ記憶媒体の例は、相変化メモリ（ＰＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、他のタイプのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、電気的消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、またはコンピューティング装置によるアクセス用に情報を格納するために使用できる任意の他の非伝達媒体を含むが、それらに限らない。本明細書で定義されるように、コンピュータ記憶媒体は、変調データ信号および搬送波などの一時的媒体を含まない。
【００２２】
メモリ１０４は、その中に、プログラムユニットまたはモジュールおよびプログラムデータを格納し得る。一実施形態では、モジュールは、送信者側メッセージ応答モジュール１０６、メッセージフィルタリング装置１０８、および受信者側メッセージ応答モジュール１１０を含み得る。
【００２３】
いくつかの例では、送信者側メッセージ応答モジュール１０６、メッセージフィルタリング装置１０８、および受信者側メッセージ応答モジュール１１０は、異なるメモリ内に存在し、同一または異なるプロセッサで実行され得る。
【００２４】
送信者側メッセージ応答モジュール１０６は、送信者側によって送信されたメッセージに応答する。例えば、送信者側メッセージ応答モジュール１０６は、送信者側によって送信されたメッセージを受信して、そのメッセージを情報フィルタリング装置１０８に送信し得る。受信者側メッセージ応答モジュール１１０は、受信者側に送信されたメッセージに応答する。例えば、受信者側メッセージ応答モジュール１１０は、装置１０８から受信されたメッセージを受信者側に送信し得る。
【００２５】
メモリ１０４は、送信者側メッセージ応答モジュール１０６、メッセージフィルタリング装置１０８、および受信者側メッセージ応答モジュール１１０の各々の１つまたは複数を含み得る。送信者側と受信者側との間で伝送されるメッセージは、送信者側フィールド、受信者側フィールド、および本体を含み得る。本体は、テキストを含み得る。
【００２６】
本開示のフィルタリング技術の例が、図１に示されるようなシステム１００を参照して、以下で説明される。図２は、本開示の第１の実施形態例に従った、情報フィルタリングの方法例のフローチャートを示す。
【００２７】
２０２で、メッセージが受信される。メッセージは、送信者側メッセージ応答モジュール１０６から情報フィルタリング装置１０８によって受信されたメッセージであり得る。
【００２８】
２０４で、メッセージからテキストが抽出される。２０６で、フィルタリングコンテナが、取得されたテキストに似ているサンプルを含むかどうかが判断される。フィルタリングコンテナが、取得されたテキストに似ているサンプルを含む場合、２０８での操作が実行される。フィルタリングコンテナが、取得されたテキストに似ているサンプルを含まない場合、２１０での操作が実行される。
【００２９】
本開示の実施形態例では、フィルタリングコンテナは１つまたは複数のサンプルデータベースのセットである。各サンプルデータベースは、１つまたは複数の類似サンプルを含む。サンプルは、テキストおよび／または、テキストのベクトル、テキストの長さ、テキストの分類などの、テキストの文字情報を含み得る。いくつかの例では、サンプルは、テキストのみを含み得る。フィルタリングコンテナのサンプル内のテキストは、例えば、以前に受信されたメッセージのテキストである。フィルタリングコンテナが、現在受信されたメッセージの取得されたテキストに似ているサンプルを含む場合、それは、同様のメッセージが以前に受信されたことを意味する。従って、２０８で、２０２で受信されたメッセージが除去され得る。フィルタリングコンテナが、現在受信されたメッセージの取得されたテキストに似ているサンプルを含まない場合、それは、同様のメッセージが以前に受信されていないことを意味する。従って、１１０で、２０２で受信されたメッセージが送信され得る。
【００３０】
実施形態例では、取得されたテキストに似たテキストを含むフィルタリングコンテナ内のサンプルは、類似サンプルと呼ばれ得る。
【００３１】
２０８で、メッセージから抽出されたテキストに基づいて、新しいサンプルが作成される。その新しいサンプルは、フィルタリングコンテナの帰属サンプルデータベースに追加されて、２０２で受信されたメッセージが除去される。すなわち、２０２で受信されたメッセージは送信されない。例えば、２０２で受信されたメッセージは、廃棄され得、さらなる処理は必要とされない。本開示の実施形態例では、帰属サンプルデータベースは、そのテキストが、２０４でメッセージから抽出されたテキストに似ているサンプルを格納するデータベースを指す。
【００３２】
２１０で、メッセージから抽出されたテキストに基づいて、新しいサンプルが作成される。その新しいサンプルは、フィルタリングコンテナの新しいサンプルデータベースに追加されて、２０２で受信されたメッセージが送信される。２１０で、新しいサンプルデータベースがフィルタリングコンテナ内に作成される。新しいサンプルが作成された後、新しいサンプルデータベースを確立するためのプロセスが実行され得る。あるいは、新しいサンプルが作成される時に同時に、新しいサンプルデータベースを確立するためのプロセスが実行され得る。あるいは、新しいサンプルが作成される前に、新しいサンプルデータベースが確立され得る。
【００３３】
２１０で、メッセージフィルタリング装置１０８が、２０２で受信されたメッセージを受信者側メッセージ応答モジュール１１０に送信する。次いで、受信者側メッセージ応答モジュール１１０が、そのメッセージを受信者側に送信する。
【００３４】
図３は、図２に示された方法例に従って作成されたフィルタリングコンテナ例３００の図を示す。図３の例では、フィルタリングコンテナ３００は、３つのサンプルデータベース、すなわち、サンプルデータベース３０２、サンプルデータベース３０４、サンプルデータベース３０６を含む。サンプルデータベース３０２は、サンプル３０２（１）、サンプル３０２（２）、およびサンプル３０２（３）などの類似サンプルのセットを含み得る。サンプルデータベース３０４は、サンプル３０４（１）、サンプル３０４（２）、およびサンプル３０４（３）などの類似サンプルの別のセットを含み得る。サンプルデータベース３０６は、サンプル３０６（１）、サンプル３０６（２）、およびサンプル３０６（３）などの類似サンプルの別のセットを含み得る。いくつかの他の例では、サンプルデータベースの数および各サンプルデータベース内のサンプルの数は異なり得る。
【００３５】
２０２で受信されたメッセージ３０８に関して、サンプル３０４（１）のテキストなどの、フィルタリングコンテナ３００内の任意のサンプルのテキストが、メッセージ３０８から抽出されたテキスト３１０に似ている場合、サンプル３０４（１）などの、フィルタリングコンテナ３００内のかかるサンプルは、メッセージ３０８に対する類似サンプルである。２０８で、新しいサンプルがテキスト３１０に対して作成される。新しいサンプルは、サンプルデータベース３０４に追加される。サンプルデータベース３０４は、帰属サンプルデータベースである。フィルタリングコンテナ３００が検索された後、任意のサンプルのどのテキストもメッセージ３０８から抽出されたテキスト３１０に似ていないことが分かると、新しいサンプルがテキスト３１０に対して作成され、新しいサンプルデータベースがフィルタリングコンテナ３００内に確立される。新しいサンプルが、その新しいサンプルデータベースに追加される。
【００３６】
受信されたメッセージ内のテキストに関して、本開示の第１の実施形態例内の方法例は、そのテキストがサンプルデータベース内の任意のサンプルの任意のテキストに似ているかどうかに基づいて、そのサンプルを、帰属サンプルデータベースまたは新しいサンプルデータベースに選択して追加し、メッセージを伝送するかどうかを判断する。メッセージフィルタリングが、このようにして実現される。サンプルデータベース内のサンプルは、必ずしも手動収集を必要とせず、メッセージ受信のプロセス中に、自動的に蓄積および更新できて、自動情報フィルタリングを実現する。人間の介入が必要ないので、費用が削減される。
【００３７】
サンプルデータベース内のサンプルは、継続的に受信されるメッセージに基づいて継続的に更新されるので、サンプルデータベース内のサンプルは、メッセージの最新変更に適合し得る。規則がタイムリーに更新されないかも知れない、従来型の規則に基づく情報フィルタリング方法、および、作成されたモデルまたは参照データがタイムリーに更新されないかも知れない、従来型の機械学習に基づく情報フィルタリング方法とは異なり、本技術は、除去される必要のある情報を逃す可能性を取り除くか、または減らし得る。本技術は、情報フィルタリングの成功率を向上させ得る。
【００３８】
例えば、同一のユーザーが、同一のメッセージを送信するために、２つの異なるユーザー名を使用し得る。本技術のもとでは、ユーザー名が異なる場合でさえ、そのユーザーが以前に送信したメッセージに対応するサンプルが、フィルタリングコンテナのサンプルデータベースから見つかり得る。繰返しメッセージが、次いで、除去されて、複数の繰返しメッセージを送信するために、ユーザーが複数のユーザー名を使用するシナリオが回避される。
【００３９】
その上、情報フィルタリングを逃す確率が減らされるので、処理に値しない繰返しメッセージもフィルタ処理される。従って、処理される情報の量が削減されて、データ処理効率が改善される。
【００４０】
さらに、本技術は、規則の確立および機械学習モデルの作成を必ずしも必要としない。本技術は、テキスト内の意味の代わりに、テキストの分析を対象とする。従って、本技術は、複数の言語をサポートし得、任意の言語の任意のテキストに適用可能であり得る。
【００４１】
本開示の実施形態例では、メッセージが受信される前にサンプルデータベースおよびサンプルが確立される場合、本技術は、メッセージから抽出されたテキストに似ている任意の既存のテキストがサンプルデータベース内にあるかどうかを判断し得る。サンプルデータベースおよびサンプルが確立されていない場合、２０２で受信されたメッセージから抽出されたテキストが、新しいサンプルを作成するために使用され得、その作成された新しいサンプルが、第１のサンプルとして新しいサンプルデータベースに追加される。続いて受信されるメッセージが、新しいサンプルデータベース内のサンプルを継続的に更新するために使用され得る。
【００４２】
２０６で、メッセージから抽出されたテキストに似ているテキストを含むサンプルがあるかどうかを判断するために様々な技術が使用され得る。例えば、１つの技術はベクトルに基づき得る。別の例として、別の技術は、最長共通文字列（ＬＣＳ）に基づき得る。さらに別の例として、別の技術は、ベクトルとＬＣＳの組合せに基づき得る。いくつかの技術が以下で説明される。
【００４３】
第１の計算技術例は、ベクトルに基づく。２つのテキスト間の類似度が、ベクトル類似度によって表され得る。ベクトル類似度は、２つのテキストのベクトル間の角度の余弦によって表され得る。２０６で、メッセージ内のテキストのベクトルおよびサンプルデータベース内のサンプルのテキストのベクトルが抽出され得る。次いで、サンプルのテキストのベクトルとメッセージから抽出されたテキストのベクトルとの間の類似度が、類似度閾値より高いか、または類似度閾値に等しいかが判断される。類似度閾値は、データ処理の必要性に基づいて事前設定され得る。テキストは１つまたは複数の用語（ｔｅｒｍ）を含み得る。各用語は、英語の単語または漢字であり得る。語出現頻度は、ある単語がテキスト内に現れる回数を表す。逆文献頻度（ＩＤＦ）は、用語の一般化重要度（ｇｅｎｅｒａｌｉｚｅｄ  ｉｍｐｏｒｔａｎｃｅ）を表す。用語の重みは、用語の語出現頻度と用語のＩＤＦの積によって表され得る。例えば、テキストのベクトルｗは、ｗ＝（ｗ１，ｗ２，．．．，ｗｎ）として表され得、ここでｎは任意の整数であり、ｗ１，ｗ２，．．．，ｗｎは、テキスト内のそれぞれの用語の重みを表す。２つのテキストのベクトルが取得された後、２つのベクトルによって形成される角度の余弦が計算される。余弦値が高ければ高いほど、２つのテキスト間の類似点が多い。
【００４４】
本開示の実施形態例では、メッセージからのテキストのベクトルおよびサンプルデータベース内のサンプルのテキストのベクトルが抽出され得る。メッセージからのテキストのベクトルおよびサンプルデータベース内のサンプルのテキストのベクトルによって形成された様々な角度の余弦値が計算される。本技術は、それぞれの余弦値が類似度閾値より高いか、または類似度閾値に等しいかを判断する。メッセージからのテキストのベクトルおよびそれぞれのサンプルのテキストのそれぞれのベクトルによって形成されたそれぞれの角度のそれぞれ余弦値が類似度閾値より高いか、または類似度閾値に等しい場合、それぞれのサンプルのテキストとメッセージから抽出されたテキストとの間の類似度が、類似度閾値より高いか、または類似度閾値に等しいと判断される。すなわち、フィルタリングコンテナは、そのテキストが、メッセージから抽出されたテキストに似ているサンプルを含む。
【００４５】
データベース内の全てのサンプルがトラバースされた後、メッセージからのテキストのベクトルおよび任意の関連サンプルのテキストの任意のベクトルによって形成された、類似度閾値より高いか、または類似度閾値に等しい、任意の角度の余弦値がない場合、類似度閾値より高いか、または類似度閾値に等しい、任意のサンプルのテキストとメッセージから抽出されたテキストとの間の類似度がないと判断される。すなわち、フィルタリングコンテナは、そのテキストが、メッセージから抽出されたテキストに似ているサンプルを含まない。
【００４６】
２つのテキスト間の類似度をさらに正確に計算し、かつ、類似度の計算における空間複雑性および時間複雑性を削減するため、ＬＳＨ（ｌｏｃａｌ  ｓｅｎｓｉｔｉｖｅ  ｈａｓｈｉｎｇ）法が、メッセージから抽出されたテキストの高次元ベクトルと、サンプルデータベース内のサンプルのテキストの高次元ベクトルとの間の類似度を計算するために使用され得る。２つの高次元ベクトルの間の類似度は、２つのテキストの間の類似度を表し得る。その上、高次元ベクトルは、さらに多くのテキスト文字を表し得る。高次元ベクトルの計算前に、テキストまたはサンプルは離散化され得る。
【００４７】
第２の計算技術例は、ＬＣＳに基づく。ＬＣＳは、２つ以上のテキスト文字列間の最長共通文字列である。それは、必ずしも連続的ではないが、テキスト文字列から連続して抽出されている、一連の文字であり得る。ＬＣＳは、２つ以上のテキスト文字列間の類似度を表し得る。２つのテキスト文字列の例に関して、ＬＣＳが長ければ長いほど、２つのテキスト文字列間の類似度が高い。テキストは、比較的長いテキスト文字列と見なされ得る。
【００４８】
ＬＣＳに基づき、２０６で、本技術は、メッセージから抽出されたテキストとのそのＬＣＳが、文字列長閾値より長いか、または文字列長閾値に等しい、データベース内の任意のサンプルのテキストがあるかどうかを判断し得る。文字列長は事前設定値であり得る。
【００４９】
それぞれのサンプルのテキストとメッセージから抽出されたテキストとの間のＬＣＳのそれぞれの長さが、文字列長閾値より長いか、または文字列長閾値に等しい場合、メッセージから抽出されたテキストとのそのＬＣＳが、文字列長閾値より長いか、または文字列長閾値に等しい、サンプルデータベース内のサンプルのテキストが存在すると判断される。すなわち、フィルタリングコンテナは、そのテキストが、メッセージから抽出されたテキストに似ているサンプルを含む。そうでなければ、メッセージから抽出されたテキストとのそのＬＣＳが、文字列長閾値より長いか、または文字列長閾値に等しい、サンプルデータベース内のサンプルのテキストが存在しないと判断される。すなわち、フィルタリングコンテナは、そのテキストが、メッセージから抽出されたテキストに似ているサンプルを含まない。
【００５０】
第３の計算技術例は、ベクトルとＬＣＳの組合せに基づく。例えば、メッセージ内のテキストのベクトルおよびサンプルデータベース内のサンプルのテキストのベクトルが抽出され得る。次いで、そのテキストのベクトルとメッセージから抽出されたテキストのベクトルとの間の類似度が、類似度閾値より高いか、または類似度閾値に等しい、サンプルが存在するかどうかが判断される。選択された１つまたは複数のサンプルが、第１の類似サンプル候補と見なされる。次いで、本技術は、メッセージから抽出されたテキストとのそのＬＣＳが、文字列長閾値より長いか、または文字列長閾値に等しい、第１の類似サンプル候補からの第２の類似サンプル候補が存在するかどうかを判断する。第２の類似サンプル候補が存在する場合、その第２の類似サンプル候補は、メッセージから抽出されたテキストに似ている類似サンプルである。すなわち、フィルタリングコンテナは、そのテキストが、メッセージから抽出されたテキストに似ているサンプルを含む。
【００５１】
あるいは、本技術は、まず、ＬＣＳに基づいて類似サンプル候補があるかどうかを判断し得、そして、そのテキストのベクトルとメッセージから抽出されたテキストのベクトルとの間のその類似度が、類似度閾値より高いか、または類似度閾値に等しい、サンプル候補内の類似サンプルが存在するかどうかを判断し得る。かかる候補が存在する場合、類似サンプルのテキストは、メッセージから抽出されたテキストに似ている。
【００５２】
第３の計算技術例は、本質的に二重保証（ｄｏｕｂｌｅ  ｇｕａｒａｎｔｅｅ）技術を使用して、サンプルデータベース内のサンプルのテキストが、メッセージから抽出されたテキストに似ているかどうかをさらに正確に判断し、それにより、さらに正確な情報フィルタリングを提供する。
【００５３】
本開示の実施形態例では、サンプルおよびサンプルデータベースの数の無制限の増加を防ぎ、かつ、サンプルのリアルタイム更新を保証するため、本技術は、最低使用頻度（ＬＲＵ）原理を使用して、いくつかのサンプルおよび／またはサンプルデータベースを動的に取り除き得る。
【００５４】
２０８で、新しいサンプルが類似サンプルの帰属サンプルデータベースに追加される。詳細な操作は以下のとおりであり得る。
【００５５】
第１の操作で、帰属サンプルデータベース内に削除される必要のある１つまたは複数のサンプルが存在するかどうかが判断される。帰属サンプルデータベース内に削除される必要のある１つまたは複数のサンプルが存在しない場合、第２の操作が実行される。帰属サンプルデータベース内で１つまたは複数のサンプルが削除される必要のある場合、第３の操作が実行される。
【００５６】
第２の操作で、新しいサンプルが、帰属サンプルデータベースに追加される。第３の操作で、削除される必要のある１つまたは複数のサンプルが帰属サンプルデータベースから削除されて、新しいサンプルがその帰属サンプルデータベースに追加される。
【００５７】
第１の操作で、本技術は、新しいサンプルが帰属サンプルデータベースに追加された後、帰属サンプルデータベース内のサンプルの総数が、事前設定された総サンプル数閾値より多くなるかどうかを判断し得る。新しいサンプルが帰属サンプルデータベースに追加された後、帰属サンプルデータベース内のサンプルの総数が、事前設定された総サンプル数閾値より多くなる場合、本技術は、帰属サンプルデータベース内に削除される必要のある１つまたは複数のサンプルが存在すると判断する。新しいサンプルが帰属サンプルデータベースに追加された後、帰属サンプルデータベース内のサンプルの総数が、事前設定された総サンプル数閾値を上回らない場合、本技術は、帰属サンプルデータベース内に削除される必要のある１つまたは複数のサンプルが存在しないと判断する。事前設定総サンプル数閾値は、リアルタイムで変更され得る、メッセージ処理の実際の操作に基づいて、普通の技術者によって動的に設定され得る。
【００５８】
第３の操作で、サンプルを削除するための様々な方法がある。例えば、帰属サンプルデータベース内の各サンプルの利用回数が取得され得る。帰属サンプルデータベース内のサンプルの利用回数に基づいて、削除される必要のある１つまたは複数のサンプルが、削除される。例えば、利用回数の最も少ないサンプルが削除され得る。利用回数は、サンプルが類似サンプルとして使用される回数を意味する。普通の技術者は、サンプルを削除するための他の変形形態も使用し得る。例えば、その利用回数が閾値を超えるサンプルが残され得る。
【００５９】
図３の例では、新しいサンプルを確立するために、テキスト３１０がメッセージ３０８から抽出された後、本技術は、新しいサンプルが帰属サンプルデータベース（類似サンプル３０４（１）のサンプルデータベースであるサンプルデータベース３０４など）に追加された後、サンプルデータベース３０４内のサンプルの総数が事前設定された総サンプル数閾値よりも高くなるかどうかを判断する。例えば、事前設定総サンプル数閾値は、３に設定され得る。従って、サンプルデータベース３０４から削除される１つまたは複数のサンプルが存在すると判断される。サンプル３０４（１）、サンプル３０４（２）、およびサンプル３０４（３）に対する利用回数がそれぞれ取得されて、最も少ない利用回数のサンプルが削除される。新しいサンプルが、次いで、サンプルデータベース３０４に追加される。
【００６０】
事前設定総サンプル数閾値の動的な設定を通じて、利用回数のより少ない１つまたは複数のサンプルが動的に削除され得る。従って、サンプルデータベース内のサンプルが動的に更新され得、サンプルデータベースの量が無制限には増加されないであろう。それ故、メッセージフィルタリングのシステムのメッセージ処理量も動的に調整され、かつ、効率的に制御される。
【００６１】
２１０で、新しいサンプルデータベースがフィルタリングコンテナ内に作成される。詳細な操作は、以下のとおりであり得る。
【００６２】
第１の操作で、フィルタリングコンテナ内に削除される必要のある１つまたは複数のサンプルデータベースが存在するかどうかが判断される。フィルタリングコンテナ内に削除される必要のある１つまたは複数のサンプルデータベースが存在しない場合、第２の操作が実行される。フィルタリングコンテナ内に削除される必要のある１つまたは複数のサンプルデータベースが存在する場合、第３の操作が実行される。
【００６３】
第２の操作で、新しいサンプルデータベースが作成される。第３の操作で、削除される必要のある１つまたは複数のサンプルデータベースがフィルタリングコンテナから削除されて、新しいサンプルデータベースが作成される。
【００６４】
第１の操作で、本技術は、新しいサンプルデータベースがフィルタリングコンテナ内に作成された後、フィルタリングコンテナ内のサンプルデータベースの総数が、事前設定された総サンプルデータベース数閾値より多くなるかどうかを判断し得る。新しいサンプルデータベースがフィルタリングコンテナ内に作成された後、フィルタリングコンテナ内のサンプルデータベースの総数が、事前設定された総サンプルデータベース数閾値より多くなる場合、本技術は、フィルタリングコンテナ内に削除される必要のある１つまたは複数のサンプルデータベースが存在すると判断する。新しいサンプルデータベースがフィルタリングコンテナ内に作成された後、フィルタリングコンテナ内のサンプルデータベースの総数が、事前設定された総サンプルデータベース数閾値を上回らない場合、本技術は、フィルタリングコンテナ内に削除される必要のある１つまたは複数のサンプルデータベースが存在しないと判断する。事前設定総サンプルデータベース数閾値は、リアルタイムで変更され得る、メッセージ処理の実際の操作に基づいて、普通の技術者によって動的に設定され得る。
【００６５】
第３の操作で、サンプルを削除するための様々な方法がある。例えば、フィルタリングコンテナ内の各サンプルデータベースの総利用回数が取得され得る。フィルタリングコンテナ内のサンプルデータベースの総利用回数に基づいて、削除される必要のある１つまたは複数のサンプルデータベースが、削除される。例えば、総利用回数の最も少ないサンプルデータベースが削除され得る。総利用回数は、サンプルデータベース内の各サンプルの平均利用回数とサンプルデータベース内の総サンプル数の積であり得る。普通の技術者は、サンプルデータベースを削除するための他の変形形態も使用し得る。例えば、その総利用回数が事前設定数閾値を超えるサンプルデータベースが残される。
【００６６】
図３の例では、全てのサンプルデータベース、すなわち、サンプルデータベース３０２、サンプルデータベース３０４、サンプルデータベース３０６がトラバースされ、かつ、メッセージ３０８から抽出されたテキスト３１０に似た類似サンプルを見つけられなかった後、新しいサンプルがテキスト３１０に対して作成され、本技術は、削除される１つまたは複数のサンプルデータベースが存在するかどうかを判断する。例えば、事前設定総サンプルデータベース数閾値は、３として設定され得る。従って、削除される必要のある１つまたは複数のサンプルデータベースが存在すると判断される。サンプルデータベース３０２、サンプルデータベース３０４、およびサンプルデータベース３０６に対する総利用回数がそれぞれ取得されて、総利用回数の最も少ないサンプルデータベースが削除される。新しいサンプルデータベースが、次いで作成されて、新しいサンプルがその新しいサンプルデータベースに追加される。削除される必要のある１つまたは複数のサンプルデータベースが存在しない場合、新しいサンプルデータベースがフィルタリングコンテナ内に直接作成され得、新しいサンプルがその新しいサンプルデータベースに追加される。
【００６７】
事前設定総サンプルデータベース数閾値の動的な設定を通じて、総利用回数のより少ない１つまたは複数のサンプルデータベースが動的に削除され得る。従って、サンプルデータベース内のサンプルデータベースが動的に更新され得、サンプルデータベースの総数が無制限には増加されないであろう。それ故、メッセージフィルタリングのシステムのメッセージ処理量も動的に調整され、かつ、効率的に制御される。
【００６８】
図４は、本開示の第２の実施形態例に従った、情報フィルタリングの別の方法例のフローチャートを示す。
【００６９】
４０２で、メッセージが受信される。４０４で、テキストがメッセージから抽出される。４０６で、抽出されたテキストに関してフォーマット操作が実施される。例えば、１つまたは複数のタグが、リッチテキストフォーマット（ＲＴＦ）のテキストから除去され得る。別の例として、テキスト内のエスケープシーケンスは、エスケープシーケンスによって表される意味を取得するために、逆にされ得る。
【００７０】
４０８で、抽出されたテキストが離散化される。例えば、ＬＳＨ法が、テキストの高次元ベクトルＶ１を取得するために使用され得る。４１０で、フィルタリングコンテナが、メッセージから抽出されたテキストに似ているサンプルを含むかどうかが判断される。例えば、本技術は、そのテキストの高次元ベクトルが、高次元ベクトルＶ１に似ているサンプルを、フィルタリングコンテナが含むかどうかを判断する。フィルタリングコンテナ内に類似サンプルがある場合、４１２での操作が実行される。フィルタリングコンテナ内の全てのサンプルデータベースがトラバースされた後、フィルタリングコンテナ内に類似サンプルがない場合、４１３での操作が実行される。
【００７１】
４１２での操作は、以下の下位操作を含み得る。４１４で、抽出されたテキストに基づいて、新しいサンプルが作成される。４１６で、帰属サンプルデータベースから削除される必要のある１つまたは複数のサンプルが存在するかどうかが判断される。例えば、本技術は、新しいサンプルが帰属サンプルデータベースに追加された後、帰属サンプルデータベース内のサンプルの総数が、事前設定された総サンプル数閾値より多くなるかどうかを判断し得る。帰属サンプルデータベースから削除される必要のある１つまたは複数のサンプルが存在する場合、４１８での操作が実行される。帰属サンプルデータベースから削除される必要のある１つまたは複数のサンプルが存在しない場合、４２０での操作が実行される。
【００７２】
４１８で、帰属サンプルデータベース内の各サンプルの利用回数が取得される。利用回数の最も少ないサンプルが削除される。４１４で作成された新しいサンプルが、帰属サンプルデータベースに追加される。４２２での操作が、次いで実行される。
【００７３】
４２０で、４１４で作成された新しいサンプルが、帰属サンプルデータベースに追加される。４２２での操作が、次いで実行される。４２２で、４０２で受信されたメッセージが除去される。すなわち、４０２で受信されたメッセージが送信されない。例えば、メッセージは、廃棄され得るか、または他の処理のために別の指定された装置でキャッシュされ得る。
【００７４】
４１３での操作は、以下の下位操作を含み得る。４２４で、抽出されたテキストに基づいて、新しいサンプルが作成される。４２６で、フィルタリングコンテナから削除される必要のある１つまたは複数のサンプルデータベースが存在するかどうかが判断される。例えば、新しいサンプルデータベースが作成された後、フィルタリングデータ内のサンプルデータベースの総数が、事前設定された総サンプルデータベース数閾値より多くなるかどうかが判断される。削除される１つまたは複数のサンプルデータベースが存在する場合、４２８での操作が実行される。削除される１つまたは複数のサンプルデータベースが存在しない場合、４３０での操作が実行される。
【００７５】
４２８で、フィルタリングコンテナ内の各サンプルデータベースの総利用回数が取得される。総利用回数の最も少ない１つまたは複数のサンプルデータベースが削除される。新しいサンプルデータベースが作成され、４３２での操作が、次いで実行される。
【００７６】
４３０で、新しいサンプルデータベースが作成され、４３２での操作が、次いで実行される。４３２で、新しいサンプルが、その新しいサンプルデータベースに追加される。４３４で、４０２で受信されたメッセージが送信される。
【００７７】
第２の実施形態例では、ＬＳＨ法を使用して、そのテキストが、メッセージから抽出されたテキストに似ているサンプルが存在するかどうかを判断するために、高次元ベクトルを取得し得る。
【００７８】
他の例では、他の方法が使用され得る。例えば、４１０で、そのテキストの高次元ベクトルが、抽出されたテキストの高次元ベクトルに似ているサンプルを、フィルタリングコンテナが含むと判断される。かかるサンプルは、候補類似サンプルと見なされ得る。次いで、そのテキストがメッセージから抽出されたテキストに似ているフィルタリングコンテナ内の類似サンプルが存在するかどうかを判断するために、抽出されたテキストとのそのＬＣＳ長が、文字列長閾値より長いか、または文字列長閾値に等しい、候補類似サンプル内の任意のサンプルが存在するかどうかがさらに判断される。
【００７９】
前述した実施形態例は、送信者側メッセージ応答モジュール１０６、メッセージフィルタリング装置１０８、および受信者側メッセージ応答モジュール１１０の例によって説明されるが、各々の数は１つである。いくつかの他の例では、複数の送信者側メッセージ応答モジュールおよび複数の受信者側メッセージ応答モジュールがあり得る。複数の送信者側メッセージ応答モジュールのうちの１つによって送信されたメッセージを分析および格納した後、そのメッセージを対応する受信者側メッセージ応答モジュールにルーティングするために、メッセージ処理モジュールが使用され得る。送信者側メッセージ応答モジュール１０６とメッセージ処理モジュールとの間にメッセージフィルタリング装置１０８が確立され得る。あるいは、メッセージ処理モジュールと受信者側メッセージ応答モジュール１１０との間にメッセージフィルタリング装置１０８が確立され得る。
【００８０】
図５は、本開示に従った、情報フィルタリングの装置例５００の図を示す。装置５００は、１つまたは複数のプロセッサ５０２およびメモリ５０４を含み得るが、それらに限らない。メモリ５０４は、コンピュータ記憶媒体の一例である。
【００８１】
メモリ５０４は、その中に、プログラムユニットまたはモジュールおよびプログラムデータを格納し得る。一実施形態では、モジュールは、受信モジュール５０６、抽出モジュール５０８、判断モジュール５１０、第１の処理モジュール５１２、および第２の処理モジュール５１４を含み得る。受信モジュール５０６は、メッセージを受信する。抽出モジュール５０８は、受信モジュール５０６によって受信されたメッセージからテキストを抽出するために、受信モジュール５０６に接続される。判断モジュール５１０は抽出モジュール５０８に接続されて、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含むかどうかを判断する。第１の処理モジュール５１２は、受信モジュール５０６、抽出モジュール５０８、および判断モジュール５１０に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含むと判断した後、第１の処理モジュール５１２が、抽出モジュール５０８によって抽出されたテキストに対して新しいサンプルを作成し、その新しいサンプルをフィルタリングコンテナの帰属データベースに追加して、受信モジュール５０６によって受信されたメッセージの送信を拒否する。第２の処理モジュール５１２は、受信モジュール５０６、抽出モジュール５０８、および判断モジュール５１０に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含まないと判断した後、第２の処理モジュール５１４が、抽出モジュール５０８によって抽出されたテキストに対して新しいサンプルを作成し、その新しいサンプルをフィルタリングコンテナの新しいサンプルデータベースに追加して、受信モジュール５０６によって受信されたメッセージを送信する。
【００８２】
判断モジュール５１０は、様々な方法を使用することにより、そのテキストがメッセージから抽出されたテキストに似ているサンプルがあるかどうかを判断し得る。例えば、かかる様々な方法は、ベクトルに基づく方法、ＬＣＳ法、またはベクトルとＬＣＳ法の組合せを含み得る。例えば、判断モジュール５１０は、抽出されたテキストのベクトルおよびフィルタリングコンテナのサンプルデータベース内に格納されたサンプルのテキストのベクトルを取得し得、抽出されたテキストのベクトルとサンプルのテキストの任意のベクトルとの間の類似度が、類似度閾値より高いか、または類似度閾値に等しいかを判断する。別の例として、判断モジュール５１０は、そのテキストの抽出されたテキストとのＬＣＳ長が、文字列長閾値より長いか、または文字列長閾値に等しいサンプルを、フィルタリングコンテナ内のサンプルデータベースが含むかどうかを判断し得る。
【００８３】
図５の例では、第１の処理モジュール５１２は、第１のサンプル作成サブモジュール５１６、第１のサンプル追加サブモジュール５１８、および第１のメッセージ処理サブモジュール５２０を含み得る。第１のサンプル作成サブモジュール５１６は、判断モジュール５１０および抽出モジュール５０８に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含むと判断した後、第１のサンプル作成サブモジュール５１６が、抽出モジュール５０８によって抽出されたテキストに対して新しいサンプルを作成する。第１のサンプル追加サブモジュール５１８が第１のサンプル作成サブモジュール５１６に接続されて、第１のサンプル作成サブモジュール５１６によって作成されたサンプルを、フィルタリングコンテナの帰属サンプルデータベースに追加する。第１のメッセージ処理サブモジュール５２０が、受信モジュール５０６および判断モジュール５１０に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含むと判断した後、第１のメッセージ処理サブモジュール５２０が、受信モジュール５０６によって受信されたメッセージを除去する。すなわち、受信モジュール５０６によって受信されたメッセージは送信されないであろう。
【００８４】
サンプルを追加する場合、第１のサンプル追加サブモジュール５１８は、帰属サンプルデータベース内に、削除される必要のある１つまたは複数のサンプルがあるかどうかを判断し得る。帰属サンプルデータベース内に削除される必要のある１つまたは複数のサンプルがある場合、第１のサンプル追加サブモジュール５１８は、削除される必要のあるサンプルを削除して、新しいサンプルをサンプル帰属データベースに追加する。
【００８５】
図５の例では、第２の処理モジュール５１４は、サンプルデータベース作成サブモジュール５２２、第２のサンプル作成サブモジュール５２４、第２のサンプル追加サブモジュール５２６、および第２のメッセージ処理サブモジュール５２８を含み得る。サンプルデータベース作成サブモジュール５２２は、判断モジュール５１０に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含まないと判断した後、サンプルデータベース作成サブモジュール５２２がフィルタリングコンテナ内に新しいサンプルデータベースを作成する。第２のサンプル作成サブモジュール５２４は、抽出モジュール５０８および判断モジュール５１０に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含まないと判断した後、第２のサンプル作成サブモジュール５２４が、抽出モジュール５０８によって抽出されたテキストに対して新しいサンプルを作成する。第２のサンプル追加サブモジュール５２６が、サンプルデータベース作成サブモジュール５２２および第２のサンプル作成サブモジュール５２４に接続されて、第２のサンプル作成サブモジュール５２４によって作成された新しいサンプルを、サンプルデータベース作成サブモジュール５２２によって作成された新しいサンプルデータベースに追加する。第２のメッセージ処理サブモジュール５２８が、判断モジュール５１０および受信モジュール５０６に接続される。判断モジュール５１０が、そのテキストがメッセージから抽出されたテキストに似ているサンプルを、フィルタリングコンテナが含まないと判断した後、第２のメッセージ処理サブモジュール５２８が、受信モジュール５０６によって受信されたメッセージを送信する。
【００８６】
新しいサンプルデータベースを作成する場合、サンプルデータベース作成サブモジュール５２２は、フィルタリングコンテナが、削除される必要のある１つまたは複数のサンプルデータベースを含むかどうかを判断し得る。削除される必要のある１つまたは複数のサンプルデータベースが存在する場合、サンプルデータベース作成サブモジュール５２２は、１つまたは複数のサンプルデータベースを削除し、次いで、新しいサンプルデータベースを作成する。
【００８７】
図６は、本開示に従った、情報フィルタリングの別のシステム例６００の図を示す。システム６００は、１つまたは複数のプロセッサおよびメモリ（その両方が図６に示されていない）を含み得るが、それらに限らない。メモリは、コンピュータ記憶媒体の一例である。メモリは、その中に、プログラムユニットまたはモジュールおよびプログラムデータを格納し得る。これらのモジュールは、同一または異なるメモリに存在し、同一または異なるプロセッサによって実行され得る。モジュールは、少なくとも１つの送信者側メッセージ応答モジュール６０２（１），．．．，６０２（ｎ）、少なくとも１つの情報フィルタリング装置６０４（１），．．．，６０４（ｊ）、メッセージ処理モジュール６０６、および少なくとも１つの受信者側メッセージ応答モジュール６０８（１），．．．，６０８（ｋ）を含み得、ここで、ｎ、ｊ、またはｋは任意の整数であり得る。メッセージ処理モジュール６０６は、少なくとも１つの情報フィルタリング装置６０４を通して、少なくとも１つの送信者側メッセージ応答モジュール６０２に接続される。メッセージ処理モジュール６０６は、少なくとも１つの情報フィルタリング装置６０４を通して、少なくとも１つの受信者側メッセージ応答モジュール６０８にも接続される。
【００８８】
送信者側メッセージ応答モジュール６０２は、送信者側によって送信されたメッセージを受信し、その受信したメッセージを処理のためにメッセージ処理モジュール６０６に送信する。例えば、異なる送信者側メッセージ応答モジュール６０２は、異なる送信者側に対して設定され得る。例えば、ユーザー名が、異なる送信者側を区別するために使用され得る。
【００８９】
受信者側メッセージ応答モジュール６０８は、メッセージ処理モジュール６０６によって受信されたメッセージを受信者側に送信する。例えば、異なる受信者側メッセージ応答モジュール６０６は、異なる受信者側に対して設定され得る。
【００９０】
メッセージ処理モジュール６０６は、受信したメッセージを分析して、受信したメッセージを対応する受信者側メッセージ応答モジュール６０８にルーティングする。例えば、メッセージ処理モジュール６０６は、受信したメッセージを分析し、メッセージから受信者側フィールドを解析し、対応する受信者側の情報に基づいて、そのメッセージを対応する受信者側にルーティングする。複数の受信者側がある場合、メッセージ処理モジュール６０６は、受信したメッセージの複数のコピーを作成し、それらを対応する受信者側に送信し得る。
【００９１】
メッセージフィルタリング装置６０４は、受信者側メッセージ応答モジュール６０８に送信された繰返しメッセージをフィルタ処理するために、メッセージ処理モジュール６０６と受信者側メッセージ応答モジュール６０８との間にも確立され得、それにより、メッセージフィルタリングの成功率をさらに改善する。
【００９２】
図６に示されるように、ｎ個の送信者側があり、それぞれの送信者側メッセージ応答モジュール６０２が、送信者側の各々に対して設定されていると仮定すると、ｎ個の送信者側メッセージ応答モジュール６０２がある。ｋ個の受信者側があり、それぞれの受信者側メッセージ応答モジュール６０８が、受信者側の各々に対してセットアップされていると仮定すると、ｋ個の送信者側メッセージ応答モジュール６０２がある。一定期間、各送信者側が、類似のテキストを有するｍ個のメッセージを、メッセージフィルタリングなしで、ｋ個の受信者側に送信する場合、メッセージ処理モジュール６０６へのｍ＊ｎ個のメッセージ入力がある。各受信者側は、平均で、（ｍ＊ｎ）／ｋ個のメッセージを受信する。メッセージをフィルタ処理するために、理想的な状況で、情報フィルタリング装置６０４が使用される場合、メッセージ処理モジュール６０６へのｎ個のメッセージ入力のみになるであろう。従って、メッセージ量が大幅に減少され、メッセージ処理モジュール６０６の記憶圧力およびデータ処理圧力も減らされて、データ処理効率が改善される。
【００９３】
図７は、本開示に従った、情報フィルタリングの別のシステム例７００の図を示す。システム７００は、１つまたは複数のプロセッサおよびメモリ（その両方が図７に示されていない）を含み得るが、それらに限らない。メモリは、コンピュータ記憶媒体の一例である。メモリは、その中に、プログラムユニットまたはモジュールおよびプログラムデータを格納し得る。これらのモジュールは、同一または異なるメモリに存在し、同一または異なるプロセッサによって実行され得る。
【００９４】
モジュールは、第１の送信者側メッセージ応答モジュール７０２（１）、第２の送信者側メッセージ応答モジュール７０２（２）、および第３の送信者側メッセージ応答モジュール７０２（３）などの、複数のユーザー名７０４に対応する、複数の送信者側メッセージモジュール７０２を含み得る。かかる３つの送信者側メッセージ応答モジュールは、それぞれ、第１のユーザー名７０４（１）、第２のユーザー名７０４（２）、および第３のユーザー名７０４（３）に対応する。モジュールは、第１の受信者側メッセージ応答モジュール７０６（１）、第２の受信者側メッセージ応答モジュール７０６（２）、第３の送信者側メッセージ応答モジュール７０６（３）、および第４の受信者側メッセージ応答モジュール７０６（４）などの、複数のユーザー名７０８に対応する、複数の受信者側メッセージモジュール７０６も含み得る。かかる４つの受信者側メッセージ応答モジュール７０６は、それぞれ、第４のユーザー名７０４（４）、第５のユーザー名７０４（５）、第６のユーザー名７０４（６）、および第７のユーザー名７０４（７）に対応する。
【００９５】
システム７００は、複数のメッセージフィルタリング装置７０８も含み得る。図７の例では、第１のメッセージフィルタリング装置７０８（１）が、複数の送信者側メッセージ応答モジュール７０２（第１の送信者側メッセージ応答モジュール７０２（１）、第２の送信者側メッセージ応答モジュール７０２（２）、および第３の送信者側メッセージ応答モジュール７０２（３）など）とメッセージ処理モジュール７１０との間に確立される。複数の受信者側メッセージ送信モジュール７０６の各々とメッセージ処理モジュール７１０との間に、それぞれのメッセージフィルタリング装置７０８が確立され得る。図１の例では、受信者側メッセージ応答モジュール７０６（１）、７０６（２）および７０６（３）の各々とメッセージ処理モジュール７１０との間に、それぞれ、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のフィルタリング装置７０８（５）が確立される。
【００９６】
一例では、複数のメッセージフィルタリング装置７０８（第１のメッセージフィルタリング装置７０８（１）、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のフィルタリング装置７０８（５）など）は、フィルタリングコンテナを共有し得る。フィルタリングコンテナ内のサンプルデータベースまたはサンプルの累積速度は、比較的高速であろう。比較的短期間に、サンプルデータベースおよびサンプルの数が事前設定数に達し得る。いくつかのサンプルおよび／またはサンプルデータベースが削除され得る。すなわち、サンプルまたはサンプルデータベースの削除速度も高速である。異なる時に受信される繰返しメッセージに関して、２つのメッセージ間の受信時間の開きが長いことがあり得、また、サンプルまたはサンプルデータベースの削除速度が高速なので、以前のメッセージのサンプルが既に削除されている可能性がある。従って、この方法例での、繰返しメッセージのフィルタリングの効果は比較的弱い可能性がある。
【００９７】
別の例では、複数のメッセージフィルタリング装置７０８（第１のメッセージフィルタリング装置７０８（１）、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のフィルタリング装置７０８（５）など）の各々は、別個のフィルタリングコンテナを有し得る。すなわち、１つのフィルタリングコンテナが全ての送信者側に対してセットアップされ、また、１つのフィルタリングコンテナが、受信者側の各々に対してセットアップされる。第１のメッセージフィルタリング装置７０８（１）は、全ての送信者側によって送信された繰返しメッセージをフィルタ処理し得、その関連したフィルタリングコンテナは、全ての送信者側を対象とするフィルタリングコンテナである。
【００９８】
第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のメッセージフィルタリング装置７０８（５）の各々は、それぞれの受信者側に送信されたメッセージをフィルタ処理する。それらの関連したフィルタリングコンテナは、それぞれのメッセージの受信者側を対象とする。すなわち、それぞれのフィルタリングコンテナは、それぞれの受信者側ユーザー名に対してセットアップされる。従って、各フィルタリングコンテナ内のサンプルおよびサンプルデータベースの数は、急速には増加せず、また、サンプルおよび／またはサンプルデータベースの削除速度は速すぎることはないであろう。繰返しメッセージは効果的に取り除かれ得る。
【００９９】
例えば、第１の送信者側メッセージ応答モジュール７０２（１）は、メッセージ７１２（１）を受信する。メッセージ７１２（１）は、テキストＱ１を含む。メッセージ７１２（１）の受信者側のユーザー名は、第４のユーザー名７０４（４）である。第２の送信者側メッセージ応答モジュール７０２（２）は、メッセージ７１２（２）を受信する。メッセージ７１２（２）も、テキストＱ１を含む。メッセージ７１２（１）の受信者側のユーザー名は、第４のユーザー名７０４（４）および第６のユーザー名７０４（６）である。第３の送信者側メッセージ応答モジュール７０２（２）は、メッセージ７１２（３）を受信する。メッセージ７１２（３）は、テキストＱ３を含む。メッセージ７１２（３）の受信者側のユーザー名は、第７のユーザー名７０４（７）である。
【０１００】
理論上は、メッセージ７１２（１）および７１２（２）のテキストは同一であるので、メッセージ７１２（１）および７１２（２）が、第１のメッセージフィルタリング装置７０８（１）によって処理された後、メッセージ７１２（１）および７１２（２）のうちの１つだけが第１のメッセージフィルタリング装置７０８（１）に送信され得る。しかし、いくつかの事例では、メッセージ７１２（１）および７１２（２）の送信時間が異なり得る。第１のメッセージフィルタリング装置７０８（１）のフィルタリングコンテナは、以前に送信されたメッセージに対して作成されたサンプルを既に削除している可能性がある。従って、繰返しメッセージが効果的にフィルタ処理できず、同一または類似のテキストＱ１を有する２つのメッセージ７１２（１）および７１２（２）が両方ともメッセージ処理モジュール７１０に送信される。
【０１０１】
受信者側メッセージ応答モジュール７０６の側でセットアップされたメッセージフィルタリング装置７０８がない場合、メッセージ処理モジュール７１０は、メッセージ７１２（１）を第１の受信者側メッセージ応答モジュール７０６（１）に送信し、また、メッセージ７１２（２）を第１の受信者側メッセージ応答モジュール７０６（１）および第３の受信者側メッセージ応答モジュール７０６（３）に送信するであろう。従って、第１の受信者側メッセージ応答モジュール７０６（１）は、同じテキストＱ１を有する、２つのメッセージ７１２（１）および７１２（２）を受信する。
【０１０２】
受信者側メッセージ応答モジュール７０６の側でセットアップされたメッセージフィルタリング装置７０８がある場合には、図７に示すように、第２のメッセージフィルタリング装置７１０（２）は、その関連したフィルタリングコンテナを使用して、第１の受信者側メッセージ応答モジュール７０６（１）に送信された２つのメッセージ７１２（１）および７１２（２）のフィルタリング処理を実施し、メッセージ７１２（１）および７１２（２）のうちの１つだけが、第１の受信者側メッセージ応答モジュール７０６（１）に送信されるようにする。第２のメッセージフィルタリング装置７１０（２）に関連付けられたフィルタリングコンテナは、第１の受信者側メッセージ応答モジュール７０６（１）にのみ対応し得、そのサンプルおよびサンプルデータベースの増加速度はあまり速くなく、従って、そのサンプルおよびサンプルデータベースのその削除速度もあまり速くないであろう。
【０１０３】
それ故、受信者側メッセージ応答モジュール７０６に入る繰返しメッセージをフィルタ処理するために、受信者側メッセージ応答モジュール７０６の側でメッセージフィルタリング装置７０８をセットアップすることは、メッセージフィルタリングの成功率を向上させて、データ処理効率を改善する。従って、ユーザーは多くの繰返しメッセージを受信せず、ユーザーエクスペリエンスが改善される。その上、幾人かの悪意のあるユーザーが、異なるユーザー名を登録することにより繰返しメッセージを送信する状況が取り除かれ得る。
【０１０４】
図７の例では、第１のメッセージフィルタリング装置７０８（１）が、送信者側メッセージ応答モジュール７０２（１）、７０２（２）および７０２（３）と、メッセージ処理モジュール７１０との間にセットアップされる。図２を参照すると、２０２で、第１のメッセージフィルタリング装置７０８（１）は、ルーティングの前に、全てのメッセージを受信し得る。つまり、送信者側メッセージ応答モジュール７０２（１）、７０２（２）および７０２（３）によって送信された全てのメッセージは、まず、第１のメッセージフィルタリング装置７０８（１）によって処理される。２０６で、第１のメッセージフィルタリング装置７０８（１）に関連付けられたフィルタリングコンテナは、ルーター処理の前に、全てのメッセージを対象とするフィルタリングコンテナを参照する。すなわち、同一のフィルタリングコンテナが、全ての送信者側メッセージ応答モジュール７０２（１）、７０２（２）および７０２（３）によって送信された全てのメッセージに対して使用され得る。第１のメッセージフィルタリング装置７０８（１）が、送信者側メッセージ応答モジュール７０２（１）、７０２（２）および７０２（３）と、メッセージ処理モジュール７１０との間にセットアップされた後、メッセージは、第１のメッセージフィルタリング装置７０８（１）に関連付けられたフィルタリングコンテナが、そのテキストがメッセージから抽出されたテキストに似ているサンプルを含むかどうかを判断することにより、フィルタ処理される。例えば、繰返しメッセージが異なるユーザー名または同一のユーザー名によって送信されるかどうかに関わらず、メッセージは、第１のメッセージフィルタリング装置７０８（１）に関連付けられたフィルタリングコンテナが、そのテキストがメッセージから抽出されたテキストに似ているサンプルを含むかどうかを判断することにより、フィルタ処理され得る。従って、悪意のあるユーザーが、ユーザー名を変更することによって繰返しメッセージを送信しようとする状況が遮断され得る。
【０１０５】
図７に示されるように、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）および第５のメッセージフィルタリング装置７０８（５）の各々は、メッセージ処理モジュール７１０と、受信者側メッセージ応答モジュール７０６（１）、７０６（２）、７０６（３）、および７０６（４）のそれぞれとの間にセットアップされる。２０２で、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のメッセージフィルタリング装置７０８（５）は、ルーティング処理の後に、メッセージを受信し得る。２０６で、第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のメッセージフィルタリング装置７０８（５）の各々に関連付けられたフィルタリングコンテナは、単一の受信者側のユーザー名を対象とするフィルタリングコンテナである。すなわち、フィルタリングコンテナは、異なる受信者側ユーザー名に対してセットアップされる。
【０１０６】
第２のメッセージフィルタリング装置７０８（２）、第３のメッセージフィルタリング装置７０８（３）、第４のメッセージフィルタリング装置７０８（４）、および第５のメッセージフィルタリング装置７０８（５）などの、異なるメッセージフィルタリング装置の、メッセージ処理モジュール７１０と、受信者側メッセージ応答モジュール７０６（１）、７０６（２）、７０６（３）、および７０６（４）などの、受信者側メッセージ応答モジュールとの間へのセットアップを通じて、それぞれのフィルタリングコンテナが、それぞれ個々の受信者側ユーザー名に対してセットアップされる。従って、さらなる処理が実装される。例えば、繰返しメッセージがさらに除去され得る。
【０１０７】
当業者は、本開示の実施形態は、方法、システム、またはコンピュータのプログラミング製品であり得ることを理解するはずである。それ故、本開示は、ハードウェア、ソフトウェア、または両方の組合せによって実装され得る。さらに、本開示は、コンピュータ実行可能記憶媒体（ディスク、ＣＤ−ＲＯＭ、光ディスクなどを含むが、それらに限らない）に実装され得るコンピュータ実行可能コードを含む、１つまたは複数のコンピュータプログラムの形であり得る。例えば、本メッセージフィルタリング技術は、１つまたは複数のコンピュータ実行可能命令を実行する１つまたは複数のコンピュータなどの、データ処理能力を備えた１つまたは複数の処理装置によって実装され得る。コンピュータ記憶媒体は、その中に、本開示で開示された各操作を実行するための様々なコンピュータ実行可能命令を格納し得る。
【０１０８】
例えば、本開示におけるメッセージフィルタリング装置は、コンピュータ実行可能命令を実行する１つまたは複数の処理装置によって実装され得る。メッセージフィルタリング装置内のモジュールは、処理装置の対応する機能を有する装置コンポーネントである。例えば、受信モジュールは、ＣＰＵ、受信インタフェース、関連した通信回線、および対応する機能をもつコンピュータ実行可能命令から成り得る。
【０１０９】
例えば、本開示におけるメッセージフィルタリングシステムは、電子商取引システムおよび電子メールシステムなどの、メッセージ送受信機能を備えたコンピューティングシステムであり得る。メッセージフィルタリングシステムにおけるメッセージフィルタリング装置は、前述したようなメッセージフィルタリング装置であり得る。フィルタリングシステムのシステムにおける送信者側メッセージ応答モジュール、受信者側メッセージ応答モジュール、およびメッセージ処理モジュールは、対応するメッセージ送信、メッセージ処理、およびメッセージ受信機能をもつ、コンピュータ実行可能命令を実行するコンピューティングシステム内の１つまたは複数のコンポーネントによって実装され得る。
【０１１０】
例えば、本開示におけるメッセージフィルタリング方法は、Ｊａｖａ（登録商標）プログラミング言語によって開発され得、配備環境はＬｉｎｕｘ（登録商標）システムであり得る。確かに、本開示は別のプログラミング言語またはプログラミングシステムも使用し得る。
【０１１１】
本開示で説明したようなメッセージフィルタリングの方法、装置、およびシステムは、テキストの類似度および繰返しメッセージの領域原理（ｒｅｇｉｏｎａｌ  ｐｒｉｎｃｉｐｌｅ）を使用して、送信者側のエントリポイントおよび／または受信者側のエントリポイントからシステム内に入る類似メッセージを全体としてまたは個々に制御する。繰返しメッセージの領域原理は、短期間内に送信されている同一または類似テキストを有するメッセージを参照する。メッセージが一度送信された後、そのメッセージが短期間に再度送信される可能性が高い。本技術は、少なくとも以下の利点を有し得る：
（１）本技術は、複数の言語をシームレスにサポートする。プロセスは、文字およびテキスト自体を対象とし、それらの言語および意味は問わない。
（２）本技術は、高度に自動化される。プロセスは、処理が、意味ではなく、文字およびテキスト自体を対象とするので、多数のスタッフの関与を必要としない。
（３）本技術は、実現および維持が容易である。構造全体が単純かつ明快である。類似テキストを除去する技術に関して、異なる用途シナリオに対する様々な技術があり得る。本開示は、いくつかの技術例のみを記載する。サンプルおよびサンプルデータベースの更新に関して、異なるシナリオに対して異なる技術が選択され得る。
（４）本技術は、更新されて動的に調整されるサンプルを提供する。本開示におけるフィルタリングコンテナのサイズは、タイムリーな期限切れを実現するように調整され得る。本技術は、通常メッセージの送信を制約し得る、フィルタコンテナのサイズが無制限に増加するのを許容し得ない。本技術は、主として、悪意のあるユーザーが、複数のアカウントおよびマシンを使用して、反復内容を頻繁に送信するのを防ぐ。例えば、本開示の一実施形態例は、送信者側および受信者側の両方の側からのメッセージ送信を制御する。
（５）本技術は、複数のアカウントおよびマシンの使用による、多数の繰返しメッセージの送信を効果的に制御し得る。
【０１１２】
本開示は、本開示の実施形態の方法、装置（システム）およびコンピュータプログラムのフローチャートおよび／またはブロック図を参照して説明される。フローチャートおよびブロック図の各フローおよび／またはブロックならびにフローおよび／またはブロックの組合せは、コンピュータプログラム命令によって実装され得ることを理解すべきである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組込みプロセッサまたはマシンを生成するための他のプログラム可能データプロセッサに提供され得、フローチャートの１つもしくは複数のフローおよび／またはブロック図の１つまたは複数のブロックを実装する装置が、コンピュータまたは他のプログラム可能データプロセッサによって動作される命令を通じて生成できるようになる。
【０１１３】
コンピュータまたは他のプログラム可能データプロセッサをある方法で動作するように指示できる、これらのコンピュータプログラム命令は、他のコンピュータ可読記憶にも格納でき、そのため、コンピュータ可読記憶に格納された命令が、その命令装置を含む製品を生成するが、その命令装置は、フローチャートの１つもしくは複数のフローおよび／またはブロック図の１つもしくは複数のブロックに指定された機能を実装する。
【０１１４】
これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データプロセッサにもロードでき、コンピュータまたは他のプログラム可能データプロセッサが一連の操作ステップを動作して、コンピュータによって実装されるプロセスを生成するようになる。その結果、コンピュータまたは他のプログラム可能データプロセッサ内で動作される命令が、フローチャートの１つもしくは複数のフローおよび／またはブロック図の１つもしくは複数のブロックに指定された機能を実装するためのステップを提供できる。
【０１１５】
実施形態は、本開示の例示に過ぎず、また、本開示の範囲を制限することを意図していない。当業者は、ある修正および改善が行われ得、本開示の本質から逸脱することなく、本開示の保護下と見なされるべきことを理解すべきである。
【図１】
2014527669.tif 000003
【図２】
2014527669.tif 000004
【図３】
2014527669.tif 000005
【図４】
2014527669.tif 000006
【図５】
2014527669.tif 000007
【図６】
2014527669.tif 000008
【図７】
2014527669.tif 000009
【国際調査報告】
2014527669.tif 000010
2014527669.tif 000011