説明

通信スレッド追跡による未請求インスタント・メッセージの低減

【課題】インスタント・メッセージングを通じたスパム(SPIM)を低減する。
【解決手段】特定のユーザーがある時点で有することができるオープン・インスタント・メッセージング・スレッドの数を制限し、潜在的なスパマーがインスタント・メッセージング・ユーザーにSPIMを殺到させるのを防止する。また、オープン・インスタント・メッセージング・スレッドの数を制限する技法を、ユーザーがインスタント・メッセージング・サービス等に、SPIMまたはその他の望ましくないコンテンツを送っているユーザーについて通知できるようにするユーザー・フィードバック技法や、インスタント・メッセージング・サービス等が、ユーザーによって発生されたテキストを分析し、そのユーザーがSPIMまたはその他の望ましくないコンテンツを他のインスタント・メッセージング・ユーザーに送っているか否か判断できるようにするテキスト分析技法と組み合わせる。

【発明の詳細な説明】
【背景技術】
【0001】
インターネットおよびその他のネットワークは、個人の通信能力を大幅に高めた。これらのネットワークを利用する通信ツールの中に、インスタント・メッセージング・サービスがある。インスタント・メッセージング・サービスは、ユーザー同士が互いに、リアル・タイムまたはほぼリアル・タイムのテキストおよび画像交換によって通信することを可能にする。しかしながら、他の通信媒体と同様に、インスタント・メッセージング・サービスは、広告主や、望ましくないコンテンツまたは不適切なコンテンツのその他の提供者による不正使用を受け易い。このようなコンテンツの一例に、世間一般に「スパム」として知られているものがある。これは、一般に、電子通信媒体を通じて送られる大量の非請求メッセージのことを言う。インスタント・メッセージ・サービスのコンテキストでは、スパムは「SPIM」、即ち、「インスタント(またはインターネット)メッセージングを通じたスパム」とも呼ばれている。SPIMおよびその他の不適切なコンテンツまたは望ましくないコンテンツを送信する個人およびエンティティは、世間一般に「スピマー」として知られている。スピマーによるインスタント・メッセージング・サービスの不正使用によって貴重なネットワーク帯域幅が占領され、正当なインスタント・メッセージング・ユーザーの全体的なユーザー体験の質が低下することになる。SPIMの拡散を抑えるために種々の技法が実施されているが、問題は根強く残っている。
【発明の概要】
【0002】
この摘要は、詳細な説明において以下で更に説明する、インスタント・メッセージングを通じたスパムの技法およびプロセスを導入するために提示するものである。この摘要は、特許請求する主題の必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断する際に用いることを意図するのでもない。
【0003】
本開示は、インスタント・メッセージングを通じたスパム(SPIM)を低減するプロセスおよび技法を対象とする。一実施態様では、特定のユーザーが所与の時点において有することができるオープン・インスタント・メッセージング・スレッド(「チャット・スレッド」)の数を制限して、潜在的なスパマーがインスタント・メッセージング・ユーザーにSPIMを殺到させるのを防止する。別の実施態様では、オープン・インスタント・メッセージング・スレッドの数を制限する技法を、ユーザー・フィードバック技法と組み合わせる。ユーザー・フィードバック技法は、ユーザーがインスタント・メッセージング・サービスまたはその他のエンティティに、SPIMまたはその他の望ましくないコンテンツを送っているユーザーについてのフィードバックを提供することを可能にする。別の実施態様では、オープン・インスタント・メッセージング・スレッドの数を制限する技法を、テキスト分析技法と組み合わせる。テキスト分析技法は、インスタント・メッセージング・サービスまたはその他のエンティティが、ユーザーによって発生されたテキストを分析し、そのユーザーがSPIMまたはその他の望ましくないコンテンツを他のインスタント・メッセージング・ユーザーに送っているか否か判断することを可能にする。
【図面の簡単な説明】
【0004】
添付図面を参照しながら、詳細な説明を明記する。図面においては、参照番号の一番左側の数字(群)が、その参照番号が最初に出てくる図を示す。異なる図面において同じ参照番号を用いる場合、同様または同一の項目を示すものとする。
【図1】図1は、インスタント・メッセージングを通じたスパムの制御プロセスおよび技法を実現する環境の一例を示す。
【図2】図2は、個々のインスタント・メッセージング・ユーザーについてオープン・チャット・スレッドを追跡するキャット・キューの一例を示す。
【図3】図3は、個々のユーザーが有することができるオープン・チャット・スレッドの数を制限するプロセスの流れ図である。
【図4】図4は、個々のユーザーが有することができるオープン・チャット・スレッドの数を制限するプロセスの特定的な態様の流れ図である。
【図5】図5は、ユーザー・フィードバックをオンライン・チャット環境に組み込むプロセスの流れ図である。
【図6】図6は、テキスト分析をオンライン・チャット環境に組み込むプロセスの流れ図である。
【図7】図7は、レート制限、ユーザー・フィードバック、およびテキスト分析をオンライン・チャット環境に組み込むプロセスの流れ図である。
【発明を実施するための形態】
【0005】
本明細書に記載するのは、インスタント・メッセージングを通じたスパム(SPIM)の増殖を抑えるプロセスおよび技法である。本プロセスおよび技法は、インスタント・メッセージング・サービス(チャット・サービスとしても知られている)、ピア・ツー・ピア・ネットワーク、またはその他の適したエンティティであればいずれによってでも実現することができる。チャット・サービスは、ピア・ツー・ピア・ネットワークを通じて実現することもできる。チャット・サービスは、チャット・ネットワークをホストし、チャット・ユーザーの通信を容易にするハードウェアおよび/またはソフトウェア設備を提供する。チャット・サービスは、レート制限技法を実施して、個々のチャット・ユーザーが所与の時点において有することができるオープン・チャット・スレッドの数を制限することができる。チャット・スレッドは、チャット・ユーザーが他のユーザー(「招待客」(invitee))を招待したときに、そのチャット・ユーザーとのインスタント・メッセージング会話に使用するために作成される。チャット・スレッドは、招待客からの回答がないままチャットに対する招待が残留する限り、またはチャット・スレッドが時間切れにならない限り、開いたまま、即ち、「保留」のままでいる。
【0006】
人間のチャット・ユーザーであれば、特定の時間期間においてそのユーザーが発生することができるトラフィックの量には限度があるであろうが、コンピューターの自動化によって、スパマーおよびその他のエンティティが大量のSPIMを殆ど瞬時に送ることが可能となっている。このようなコンピューター自動化の一例にボット(bot)がある。ボットとは、自動的にまたは最小限の人間の介入によって、コンピューター化したオンライン環境においてコマンドを実行し、メッセージに回答し、またはルーチン・タスクを実行することができる、デバイスまたはソフトウェア・モジュールのことである。つまり、ボットは、チャット招待またはその他の合法的なチャット・コンテンツを偽って、多数のチャット・ユーザーにSPIMを送るようにプログラミングすることができる。しかしながら、ボットは、特定のユーザー・エリアスまたはユーザー識別子と関連付けることもできる。個々のユーザーが所与の時点において有することができるオープン・チャット・スレッドの数を制限することによって、チャット・サービスは、短期間に大量のSPIMを送るボットの能力を抑制する。本明細書において用いる場合、「ユーザー」または「チャット・ユーザー」という用語は、人間のユーザー、コンピューター化したユーザー、または人間のユーザーおよびコンピューター化したユーザーの組み合わせを指すことができる。
【0007】
また、チャット・ユーザーが、SPIMを送るというような、違法チャット言動に関与しているか否か判断するために、ユーザー・フィードバックも利用する。チャット・サービスは、チャット・ユーザーにユーザー・フィードバックを提出させることができ、このフィードバックに基づいて、チャット・サービスは、ユーザーが、SPIMをチャット・ユーザーに送っているボットまたはその他のエンティティであるか否か判断するために、別の手順を実施することができる。
【0008】
テキスト分析は、チャット・サービスが、チャット・ユーザーによって発生したテキストを分析して、そのチャット・ユーザーがSPIMを送信しているか否か判断することを可能にする。テキスト分析は、分析している個々のチャット・コンテンツがSPIMである高い可能性を示す、特定の単語または単語の集合体を探すことができる。
【0009】
レート制限、ユーザー・フィードバック、およびテキスト分析技法は、異なる方法で組み合わせて、特定のインスタント・メッセージング・サービスを用いて大量のSPIMを送信するスパマーの能力を抑制することができる。本明細書において記載する技法は、多くの異なる動作環境およびシステムにおいて用いることもできる。以下に、多種多様の実施態様について説明する。以下の章では、種々の実施態様を実用化するのに適した環境例について説明する。
【0010】
動作環境例
図1は、前述のプロセスおよび技法を利用することができる動作環境の一例100を示す。しかしながら、本明細書において記載するプロセスおよび技法は、他のいずれのネットワークまたは他の計算デバイスの集合体にも、更に広く適用可能である。動作環境100は、プロファイル・サーバー102、チャット・イニシエータ104、およびチャット招待客106を含む。プロファイル・サーバー102は、例えば、単体の汎用計算デバイスまたはメインフレームのような、あるいはサーバーのクラスタ(例えば、サーバー・ファーム状に配列する)のようなものを含む、多くの方法で実現することができる。プロファイル・サーバー102は、チャット・サーバーをホストし、チャット・サーバー機能を実行することができる。他の動作環境例では、接続サーバー、チャット・サーバー、およびその他のネットワーク・リソースを利用するチャット・サービスを用いることもできる。
【0011】
チャット・イニシエータ104およびチャット招待客106は、例えば、汎用計算デバイス、ラップトップ、移動体計算デバイス、PDA、セルラ・フォン、衛星デバイスなどのようなものを含む、あらゆる数の方法で実現することができる。更に、チャット・イニシエータ104およびチャット招待客106は、人間のユーザー、自動化ユーザー(例えば、「ボット」)、または人間のユーザーおよび自動化ユーザーの組み合わせのようなエンティティによって動作させることもできる。環境100におけるエンティティはネットワーク(群)108を通じて接続され、互いに通信することができる。ネットワーク(群)108は、限定ではなく、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、および都市エリア・ネットワーク(MAN)を含むことができる。更に、ネットワーク(群)108は、ワイヤレス・ネットワーク、有線ネットワーク、またはその組み合わせを表す。
【0012】
プロファイル・サーバー102は、システム・メモリー112に結合されている1つ又は複数のプロセッサー(群)110を含む。プロセッサー(群)110は、例えば、マイクロプロセッサー、マイクロコントローラー、マルチコア・プロセッサーなどを含むことができる。プロセッサー(群)110は、システム・メモリー112に格納されているコンピューター・プログラム命令を読み出して実行するように構成されている。システム・メモリー112は、ランダム・アクセス・メモリー(RAM)のような揮発性メモリー、および/またはリード・オンリー・メモリー(ROM)またはフラッシュRAMのような不揮発性メモリーの形態とした、コンピューター読み取り可能媒体を含む。入力/出力コンポーネント114(例えば、マウスおよびキーボード)は、プロファイル・サーバー102にデータ入力および出力機能(capabilities)を設ける。
【0013】
また、プロファイル・サーバー102は、チャット・ユーザーのオンライン・チャット言動を追跡、分析、および格納する種々のコンポーネントも含む。これらのコンポーネントには、チャット要求モジュール116、チャット・キュー118、タイマー・モジュール120、フィードバック・モジュール122、テキスト分析モジュール124、およびチャレンジ発生器(challenge generator)126が含まれる。チャット要求モジュール116は、クエリーを処理して、チャット・ユーザーが新たなチャット・スレッドを開くことを許可されているか否か判断する。チャット・キュー118は、チャット・ユーザーのオープン・チャット・スレッドを追跡する。一例では、オープン・チャット・スレッドが作成されるのは、チャット・イニシエータ104が紹介をチャット招待客106に送り、この招待客にオンライン・チャット・セッションを開始するように促したときである。チャット・スレッドが閉じられるのは、チャット招待客が招待に回答したとき、またはオープン・チャット・スレッドが時間切れになったときである。
【0014】
タイマー・モジュール120は、チャット会話の時間的側面を追跡する。例えば、タイマー・モジュール120は、個々のチャット・スレッドがチャット・キュー118においてどの位の時間開いていたかまたは保留になっていたか計時することができる。フィードバック・モジュール122は、チャット・サービス・ユーザーについてのフィードバックを請求および/または受信するように構成されている。テキスト分析モジュール124は、チャット会話の間に発生したテキストを分析するように構成されている。チャレンジ発生器126は、チャット・サービス・ユーザーの素性(例えば、チャット・サービス・ユーザーが人間のエンティティであり、ボットのような、自動化SPIM発生器ではないこと)を検証および/認証するために用いることができるチャレンジを発生および/または送信するように構成されている。プロファイル・サーバー102のこれらの態様およびコンポーネントについては、以下で更に詳しく論ずる。
【0015】
チャット・セッションを提案する(initiate)には、チャット・イニシエータ104が、当該チャット・イニシエータがチャット招待をチャット招待客106に送ることによって、新たなチャット・セッションを開始したいという指示を与える。一例では、これは、チャット・イニシエータ104上に表示されるチャット・ユーザー・インターフェースとのユーザー対話を通じて行われる。
【0016】
チャット・セッション提案プロセスの一部として、チャット・イニシエータ104は、プロファイル・サーバー102に照会して、チャット・イニシエータ104が新たなチャット・セッションを提案することを許されているか否か判断する。チャット要求モジュール116は、プロファイル・サーバー102上でこの照会を受信し、チャット・イニシエータ104がチャット・キュー118の中に何らかのオープン・チャット・スレッドを有するか否か判断する。チャット・イニシエータ104がチャット・キュー118の中に閾値数のオープン・チャット・スレッドを既に蓄積している場合、プロファイル・サーバー102は、このチャット・イニシエータは既にチャット・スレッドの閾値数に達しており、新たなチャット・スレッドを全く開くことができないことを、チャット・イニシエータ104に示す。
【0017】
チャット要求モジュール116が、チャット・イニシエータ104によって提案されたオープン・チャット・スレッドの数が閾値量よりも下であると判断した場合、チャット要求モジュールは、チャット・イニシエータ104が新たなチャット会話を開始してもよいことを示す。チャット・イニシエータ104によって提案されたチャット招待は、チャット招待客106に転送され、このチャット招待に付随する新たなオープン・チャット・スレッドがチャット・キュー118に記録される。実施態様によっては、チャット招待を、チャット招待客106と関連のある接続サーバーに送り、次いで接続サーバーがチャット招待をチャット招待客に転送する場合もある。
【0018】
タイマー・モジュール120は、新たなチャット・スレッドの通知を受け、そのチャット・スレッドがチャット・キューにおいて開いている時間を追跡する。チャット招待客106は、チャット・イニシエータ104に回答することによって、チャット招待を受け入れることができ、あるいはチャット招待客はこの招待を無視してもよい。チャット招待客がチャット招待に回答した場合、プロファイル・サーバー102には、チャット招待が回答を受けたことが通知され、オープン・チャット・スレッドは閉鎖された(即ち、「承認された」)ものとして指定され、そのスレッドはチャット・キュー118から取り除かれる。チャット招待客106がチャット招待に回答しない場合、オープン・チャット・スレッドはチャット・キューの中に残り、タイマー・モジュール120によって追跡される「開放時間」を蓄積する。オープン・チャット・スレッドが閾値開放時間(または「保留時間」)に達したかまたはこれを超過した場合、チャット・スレッドは時間切れとなり、チャット招待はチャット招待客106から引き上げられる。次いで、このオープン・チャット・スレッドはチャット・キュー118から取り除かれる。
【0019】
図2は、チャット・キュー118の一例を、200で示す。チャット・キュー118は、ユーザーのオンライン・チャット言動の様々な側面を追跡する会話表202を含む。204に示すように、会話表202は、特定のチャット・ユーザーを識別するエンティティ識別子を含む。メディア・アクセス制御(MAC)アドレス、チャット・エリアス、インターネット・プロトコル(IP)アドレス等のような、適した識別子であればいずれでも用いることができる。206に示すように、会話表202は、オープン・チャット・スレッド毎にスレッド数を追跡するフィールド、各チャット・スレッドが開いたときを示す開始時間、および各チャット・スレッドが時間切れとなるときを示す時間切れ時刻を含む。この例における時間切れフィールドは、10分という時間切れ期間を示すが、これは例を目的にするに過ぎず、時間切れ期間は、適した時間長であればいずれにでも設定することができる。更に、各オープン・チャット・スレッドは異なる時間切れ期間を有してもよい。データ・レコード208は、オープン・チャット・スレッドについてのデータを追跡する一例を例示する。図示のように、このレコードは、13:45:01に開き、13:55:01に時間切れとなるチャット・スレッドNo.1について示している。このオープン・チャット・スレッドが13:55:01よりも前に回答を受け取った場合、このスレッドは会話表から取り除かれる。そうでなければ、このオープン・チャット・スレッドは13:55:01に時間切れとなり、その時刻以降にキューから取り除かれる。
【0020】
プロセス例
この章では、図1および図2も付加的に参照しながらプロセス例について説明する。これらのプロセスは、先に示した環境100のコンテキストで説明するが、それは便宜上に過ぎず、これらのプロセスはネットワーク状に接続したコンポーネントのその他のシステムや環境にも広く適用可能である。
【0021】
図3は、新たなチャット会話を開始するプロセスの全体像を提示し、図4は、チャット会話開始および監視プロセスの特定的な態様を示す。図5は、チャット・サービスがSPIMを抑制することを可能にするユーザー・フィードバックの組み込みを示し、図6は、ユーザーがチャット・サービスを通じてSPIMを送信しているか否か判断するためのテキスト分析の組み込みを示す。図7は、チャット・サービスを通じたSPIMおよびその他の不適切なコンテンツの増殖を抑制するためにレート制限、ユーザー・フィードバック、およびテキスト分析を組み合わせるプロセスを示す。
【0022】
図示のプロセスは、コンピューター実行可能命令という一般的なコンテキストにおいて説明することができ、論理フローチャートにおけるブロックの集合体として示されている。これらのフローチャートは、ハードウェア、ソフトウェア、またはその組み合わせで実現することができる一連の動作を表す。一般に、コンピューター実行可能命令は、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、関数等を含むことができ、これらは特定の関数を実行するか、または特定の抽象データ・タイプを実装する。また、本プロセスは分散型計算環境において実用化することもでき、その場合、通信リンクを通じて連結されているリモート処理デバイスによって機能を実行する。分散型計算環境では、コンピューター実行可能命令は、メモリー記憶デバイスを含む、ローカルおよびリモート双方のコンピューター記憶媒体に配置することができる。
【0023】
図3は、新たなチャット会話を開始するプロセスの一例を、300で示す。302において、ユーザーは、新たなチャット会話を開始する要求を起こす。一例では、行為302は、ユーザーが別のユーザー(「招待客」)に、このユーザーとチャットを行うチャット招待を送ったことに応答する。3034において、プロファイル・サーバーに照会して、このユーザーが、新たなチャット会話を開始するために用いることができる、何らかの利用可能なチャット・スレッドを有するか否か判断する。306において、プロファイル・サーバーは、ユーザーが現在有しているオープン・チャット・スレッドの数を判定する。先に論じたように、チャット要求モジュール116は、チャット・キュー118をチェックしてユーザーが開始したオープン・チャット・スレッドを調べることによって、この判定を行うことができる。
【0024】
308において、プロファイル・サーバーは、ユーザーが現在有しているオープン・チャット・スレッドの数を閾値数と比較することによって、ユーザーが何らかの利用可能なチャット・スレッドを有するか否か判断する。例えば、ユーザーは、いずれの所与の時点においても保留中のオープン・チャット・スレッドを10個有することが許されている(即ち、閾値数は10に等しい)。ユーザーが10個未満のオープン・チャット・スレッドを有する場合、ユーザーは新たなチャット・スレッドを開き、新たなチャット会話を始めることが許される。そうではなく、ユーザーが10個よりも多い保留中のチャット・スレッドを有する場合、ユーザーは新たなチャット・スレッドを開くことを許されない。この想定場面は、一例を目的として紹介するに過ぎず、個々のユーザーに対するオープン・チャット・スレッドの閾値数は、適した数であればいずれにでも設定することができる。
【0025】
ユーザーに利用可能なチャット・スレッドがない(即ち、ユーザーのチャット・スレッドが既に閾値数に達しているまたはこれを超過している)場合、310において、プロファイル・サーバーは、ユーザーが閾値数のオープン・チャット・スレッド(即ち、保留中のチャット会話)に達しているので、ユーザーは新たなチャット会話を開始できないことをユーザーに通知する。
【0026】
ユーザーに利用可能なチャット・スレッドがある場合、312において、プロファイル・サーバーは新たなチャット・スレッドをチャット・キューの中に記録する。ステップ314において、プロファイル・サーバーは新たなチャット・スレッドを提案する。316において、元のチャット招待を招待客に転送する。次いで、招待客はこのチャット招待に応答する、またはこれを無視することもできる。
【0027】
図4は、図3に示したプロセスの別の態様を、400で示す。316において、チャット招待を招待客に転送する。402において、招待客が、招待に回答することによって、ユーザーとチャットを行う招待を受け入れたか否か判断する。招待客が招待に回答した場合、404において、ユーザーと招待客との間でチャット・セッションを確立する。一実施態様では、これは、招待客がユーザーとチャットを行うことに同意したことを意味する。406において、オープン・チャット・スレッドは閉鎖されたと見なされ、このスレッドはチャット・キューから取り除かれる。
【0028】
実施態様によっては、ユーザーがチャット招待に回答した場合、このチャット招待はSPIMではないと見なされる。つまり、回答を受けたチャット招待はチャット・キューから取り除かれ、チャット・ユーザーのオープン・チャット・スレッドの閾値数にとって不利に作用することはない。オープン・チャット・スレッドがSPIMでないと判断し、そのオープン・チャット・スレッドをチャット・キューから取り除くために、ユーザー・フィードバックおよびテキスト分析というような、他の方法も設けることができる。これらの技法については、以下で更に詳しく論ずる。
【0029】
招待客が招待に回答していない場合、408において、ユーザーが提案したオープン・チャット・スレッドは時間切れになったと判断する。先に論じたように、プロファイル・サーバー上のタイマー・モジュールは、チャット・キューの中にあるオープン・チャット・スレッド毎に、保留時間を追跡する。各チャット・ユーザーおよび/または各オープン・チャット・スレッドには、保留時間または時間が割り当てられており、それを過ぎると、オープン・チャット・スレッドは時間切れとなり、チャット招待は取り下げられる。オープン・チャット・スレッドが時間切れになると、そのスレッドはチャット・キューから取り除かれ、チャット招待はチャット招待客にとってもはや保留ではなくなる。
【0030】
オープン・チャット・スレッドが未だ時間切れになっていない場合、プロセスは402に戻り、招待客がチャット招待に回答したか否か判断する。オープン・チャット・スレッドが時間切れとなった場合、410において、チャット招待を招待客から引き上げる。406において、オープン・チャット・スレッドは閉鎖されたと見なし、そのスレッドをチャット・キューから取り除く。
【0031】
図5は、ユーザー・フィードバックをチャット環境に組み込むプロセスの一例を、500で示す。プロセス500は、先に論じたプロセス300を参照しながら論ずることとし、SPIMのような望まれないチャット活動の増殖を抑制するために、他の論じたプロセスおよび技法と組み合わせることもできる。本プロセスは、フィードバック・モジュール122のような、フィードバック・モジュールによって全体的または部分的に実施することができる。
【0032】
316において、チャット招待を招待客に転送する。502において、招待客(群)、および/またはユーザーのチャット言動に関与するその他のチャット・ユーザーからフィードバックを受け取る。このフィードバックは、ユーザーの格付けのような、定性的データを含むことができる。つまり、フィードバックは、性質上、肯定的、中立、および否定的である可能性がある。このフィードバックによって、チャット・サービスはチャット・ユーザーを追跡し、ある種のチャット・ユーザーが、SPIMまたはその他の不適切なコンテンツを他のチャット・ユーザーに送るというような、不適切なチャット言動に関与しているか否か判断することが可能となる。例えば、チャット・サービスは、チャット・ユーザーに他のチャット・ユーザーについてのフィードバックを提出させるチャット・ユーザー・インターフェースの一部として、フィードバック・メカニズムを設けることができる。チャット・ユーザー・インターフェースは、「非請求広告を送ったことによりこのユーザーにフラグを立てる」、「不適切なコンテンツを送ったことにより、このユーザーにフラグを立てる」、またはユーザーがフィードバックをチャット・サービスに送ることができるようにするその他の何らかのメカニズムというように、否定的フィードバックに対して選択肢を指定することができる。
【0033】
504において、ユーザーに関連のある否定的フィードバックが閾値量だけ受け取られたか否か判断する。閾値量の否定的フィードバックは、否定的応答の閾値レベルに達したユーザーと関連のあるフィードバックで構成することもできる。チャット・サービスは、特定のチャット・ユーザーが、ある処置が講じられる前に、受けることができる否定的フィードバック応答の数に対して、閾値を設定することができる。例えば、チャット・サービスは、個々のチャット・ユーザーが20回の否定的応答を受け取ることができ、その後にチャット・サービスは、そのユーザーのチャット特権を制限するおよび/または剥奪すべきか否か判断するための処置を講ずることを指定することができる。
【0034】
ユーザーと関連のある否定的フィードバックが閾値量だけ受け取られていないと判断した場合、506において、ユーザーはチャット会話を提案し続けることができる。ユーザーと関連のある否定的フィードバックが閾値量だけ受け取られたと判断した場合、508において、チャット・サービスは、チャレンジを発生してユーザーに送信し、そのユーザーが人間のユーザーか、またはチャット・コンテンツ(例えば、SPIM)を他のチャット・ユーザーに自動的に送信するように構成されている、何らかの種類の自動化ユーザー(例えば、ボット)か判断する。行為508は、チャレンジ発生器126のような、チャレンジ発生器によって全体的または部分的に実現することができる。
【0035】
チャレンジの一例に、人間対話証明(HIP:human interactive proof)チャレンジがある。HIPチャレンジは、ユーザーが人間であるか否か判断するために計算システムにおいて用いられる、一種のチャレンジ−応答検査である。一例では、ユーザーに単語および/または画像を提示し、その単語および/または画像を特定するようにユーザーに要求する。単語および/または画像は歪んでおり、従前からのコンピューター実装テキストおよび画像認識方法では、その単語および/または画像を認識することができないが、殆どの人間のユーザーであればその画像を認識することができるようになっている。つまり、殆どの人間はHIPチャレンジに正しく応答することができるが、コンピューターはできない。HIPチャレンジの一例では、チャット・ユーザーに時計面板の画像を提示し、時計面板画像上にある時計の針の位置が表す時刻を教えるように、ユーザーに要求する。殆どのコンピューター実装画像認識技法は、このチャレンジを解釈して正しい答えを与える程十分に精巧化されていないが、殆どの人間のユーザーは、難なくこの質問に正しく答えることができる。
【0036】
510において、ユーザーがチャレンジに正しく答えたか否か判断する。ユーザーが正しくチャレンジに答えた場合、506において、ユーザーはチャット会話を提案し続けることができる。ユーザーがチャレンジに正しく答え損ねた場合、512において、ユーザーのチャット特権を制限するかまたは無効にする。一例では、ユーザーは、それ以上いかなるチャット会話も開始することが禁止される。チャレンジに正しく答え損ねたことに応答して、別のチャレンジを提出してユーザーに正しい答えを与える追加の機会を与える、あるいはある種の懇願プロセスを起動して、これによってユーザーがチャット・サービスと対話し、ユーザーが人間のエンティティであること、および/またはユーザーがSPIMやその他の不適切なコンテンツをチャット・サービスを通じて送信していないことを検証しようとする更に別の手順を行えるようにするというような、別の処置を講じてもよい。
【0037】
ユーザーが有することができるオープン・チャット・スレッドの数を制限する、先に論じたプロセスを、ユーザー・フィードバック・プロセスと組み合わせることによって、スピマーがSPIMを送るレートを遅くさせ、こうしてユーザー・フィードバック・システムが、SPIM増殖を極力抑えつつ、潜在的なスピマーを特定する能力を高めることを、チャット・サービスに可能にさせることができる。
【0038】
潜在的なスピマーを特定することに加えて、ユーザー・フィードバック・システムは、SPIMではないチャット・スレッド、およびスピマーではないチャット・ユーザーを特定するために用いることができる場合もある。例えば、ユーザーがSPIMを送っていないことを示す肯定的フィードバックをチャット・サービスが受け取った場合、このユーザーに合法的ユーザー(即ち、「非スピマー」)のフラグを立てることができる。このようなフィードバックは、他のチャット・ユーザーから収集することができ、「このユーザーに合法的のフラグと立てる」または「このユーザーに非スピマーのフラグを立てる」というような入力を含むことができる。肯定的フィードバックの閾値量に基づいて、チャット・サービスは、これらのユーザーのオープン・チャット・スレッド閾値を高めることを許容することができる。即ち、ある閾値レベルの肯定的フィードバック(例えば、25以上)に達したユーザーには、彼らが以前に有していたより、および/またはその他のチャット・ユーザーが有するより、多い保留チャット・スレッドを有することができる許可を付与することができる。
【0039】
図6は、チャット・ユーザーがSPIMまたはその他の不適切なコンテンツをチャット・サービスを通じて送信しているか否か判断するために、チャット会話の間に発生したテキストを分析するプロセスの一例を、600で示す。プロセス600については、先に論じたプロセス300を参照しながら論ずるが、SPIMのような望まれないチャット活動の増殖を抑制するために、他の論じたプロセスおよび技法と組み合わせることもできる。本プロセスは、テキスト分析モジュール124のような、テキスト分析モジュールによって全体的または部分的に実現することができる。
【0040】
316において、チャット招待を招待客に転送する。602において、チャット・ユーザーがチャット活動中に発生したチャット・テキストを取り込む。このチャット・テキストは、初期チャット招待から、および/またはその結果得られたチャット会話から取り込むことができる。604において、いずれかの適したテキスト分析技法を用いて、このチャット・テキストを分析する。チャット・テキストを分析して、ユーザーがSPIMまたはその他の不適切なコンテンツを送っていることを示す単語および/または単語の集合体があることを見いだせればよい。
【0041】
606において、テキストの分析により、チャット・テキストの中に何らかの問題となるチャット・コンテンツがあることが示されたか否か判断する。問題となるチャット・コンテンツは、当該チャット・テキストが潜在的にSPIMおよび/またはその他の不適切なコンテンツであることを示す単語または単語の集合体を含む。例えば、テキスト分析技法が多数の単語および/または単語集合体を有し、これらを用いてチャット・テキストを検索することができる。チャット・テキストの特定の区間においてこれらの単語および/または単語集合体を発見した場合、この技法はこのチャット・テキストにSPIMのフラグを立てる。問題となるようなチャット会話コンテンツが検出されない場合、608において、チャット・ユーザーはチャット会話を提案し続けることができる。また、テキスト分析は、個々のユーザーにスピマーのフラグを立てる前にそのユーザーが達することができる閾値量を、問題となるチャット・コンテンツに設けることもできる。
【0042】
問題となるチャット・コンテントが検出された場合、610において、チャレンジ(例えば、HIPチャレンジ)を発生し、問題となるチャット・コンテンツが発生した元であるユーザーに宛てて送信する。チャレンジを発生し送信するプロセスおよび技法については、先に論じた。612において、ユーザーがチャレンジに正しく答えたか否か判断する。ユーザーがチャレンジに正しく答えた場合、608において、ユーザーはチャット会話を提案し続け、それに参加することができる。実施態様によっては、ユーザーのチャット会話において問題となるチャット・コンテンツが検出されたこと、およびユーザーがSPIMまたはその他の不適切なコンテンツをチャット・サービスを用いて送信していると判断した場合、そのユーザーのチャット特権を制限するまたは無効にする場合もあることを、ユーザーに警告してもよい。
【0043】
ユーザーがチャレンジに正しく答え損ねた場合、614において、ユーザーのチャット特権を制限するか、または無効にする。一例では、ユーザーはそれ以上チャット会話を提案することを禁止される。チャレンジに正しく答え損ねたことに応答して、別のチャレンジを提出してユーザーに正しい答えを与える追加の機会を与える、あるいはある種の懇願プロセスを開始して、これによってこのユーザーがチャット・サービスと対話し、ユーザーが人間のエンティティであること、および/またはユーザーがSPIMやその他の不適切なコンテンツをチャット・サービスを通じて送信していないことを検証しようとする更に別の手順を行えるようにするというような、別の処置を講じてもよい。
【0044】
また、テキスト分析は、SPIMを送っていないユーザーを識別するために用いることもできる。チャット・サービスは、チャット・ユーザーから発信したチャット・テキスト(例えば、招待客に対するチャット招待)についてテキスト分析を実行することができ、問題のあるテキストがないとチャット・サービスが判断した場合、チャット・サービスはそのチャット・コンテンツに「非SPIM」のフラグを立てることができる。チャット・キューの中にあるオープン・チャット・スレッドからチャット・コンテンツを取り込んだ場合、チャット・サービスはそのチャット・スレッドをチャット・キューから取り除くことができる。つまり、「非SPIM」のフラグが立てられたチャット・スレッドは、そのユーザーのオープン・チャット・スレッドの閾値量に不利に作用することはない。
【0045】
図7は、チャット環境においてSPIMを検出し、SPIMおよびその他の不適切なコンテンツの増殖を低減するために、レート制限、ユーザー・フィードバック、およびテキスト分析の組み合わせを利用するプロセスの一例を、700で示す。本プロセスは、既に論じたプロセスのいずれともまたは全てと連携して用いること、またはこれらと組み合わせることもできる。
【0046】
702において、特定の閾値にしたがって、所与の時間期間においてユーザーが有することができるオープン・チャット・スレッドの数を制限する。これは、チャット・ユーザーが所与の時間枠の間に提案することができる新たなチャット会話(例えば、新たなチャット招待)の数を制限する、レート・リミッタとしての役割を果たす。704において、ユーザーと関連のあるフィードバックを分析して、そのユーザーがチャット・サービスを用いてSPIMまたはその他の不適切なコンテンツを送信していることを、フィードバックの性質および/または量が示しているか否か判断する。706において、ユーザーが発生したチャット・テキストを分析して、ユーザーがチャット・サービスを用いてSPIMまたはその他の不適切なコンテンツを送信していることを示す単語および/または単語パターンがないか確かめる。
【0047】
708において、ユーザー・フィードバックおよび/またはテキスト分析が、ユーザーがチャット・サービスを用いてSPIMまたはその他の不適切なコンテンツを送信しているかもしれないことを示すか否か判断する。ユーザー・フィードバックおよび/またはテキスト分析が十分な否定的フィードバックおよび/または問題のあるチャット・テキストを示していない場合、710において、ユーザーに引き続きチャット会話を提案し、これに加わることを許可する。ユーザー・フィードバックおよび/またはテキスト分析が十分な否定的フィードバックおよび/または問題のあるチャット・テキストを示す場合、712において、認証手順を実施して、ユーザーが人間のユーザーであること、そしてこのユーザーはチャット・サービスを用いてSPIMやその他の不適切なコンテンツを送信していないことを確認する。認証手順の一例では、先に論じたように、チャレンジをユーザーに送信する。ユーザーが認証手順で不合格になった場合、このユーザーのチャット会話を提案する許可、および/またはそれ以外でチャット会話に参加する許可を制限するまたは無効にすることができる。
【0048】
以上で論じた例では、ユーザー・フィードバックおよびテキスト分析技法は、チャット・サービスを用いてSPIMを配布している潜在的可能性があるユーザーを検出する方法を提供する。更に、レート制限の態様は、スピマーを特定し、このスピマーがチャット・ユーザーにSPIMを殺到させることができるようになる前に、スピマーがSPIMを配布するのを防止する(例えば、スピマーのチャット特権を抑制するまたは無効にすることによって)時間を、ユーザー・フィードバックおよびテキスト分析技法に与えることによって、これらの技法を改良する。
【0049】
以上、種々の例示的なデバイスおよび動作実施態様について説明したが、これらの実施態様のコンポーネント、モジュール、および機構は、状況に応じて、配置しなおすこと、修正することもでき、および/または全体的に省略することもできる。
【0050】
また、本方法におけるある種の行為は、記載された順序で実行する必要はなく、状況に応じて、配置しなおすこと、修正することもでき、および/または全体的に省略することもできることは言うまでもない。
【0051】
更に、いずれの方法に関して先に説明した行為のいずれでも、1つ又は複数のコンピューター読み取り可能媒体上に格納されている命令に基づいて、プロセッサーまたはその他の計算デバイスによって実現することができる。コンピューター読み取り可能媒体は、リソース・モデリング・アプリケーションによってローカルにまたはリモートにアクセスすることができる、入手可能な媒体であればいずれでも可能である。限定ではない一例として、コンピューター読み取り可能媒体は、コンピューター読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような、情報格納のためのいずれの方法または技術においても実施される揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含むことができる。コンピューター読み取り可能媒体は、限定ではなく、RAM、ROM、EEPROM、フラッシュ・メモリーまたはその他のメモリー技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)またはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、またはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができ、リソース・モデリング・アプリケーションによってアクセスすることができるその他のいずれの媒体も含む。前述した媒体のいずれの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
【0052】
結論
以上、構造的特徴および/または方法論的行為に特定的なことばで、本発明について説明したが、本発明は、記載した特定的な特徴や行為には必ずしも限定されないことは言うまでもない。逆に、これらの特定的な特徴や行為は、本発明を実現する例示的形態として開示したに過ぎない。

【特許請求の範囲】
【請求項1】
新たなチャット会話を開始する要求を、エンティティから受け取るステップと、
ユーザーが既に提案しているオープン・チャット・スレッドの数に少なくとも部分的に基づいて、前記エンティティが前記新たなチャット会話を開始することを許可するか否か判断するステップと、
を備えている、方法。
【請求項2】
請求項1記載の方法において、前記判断するステップは、チャット・キューに照会して、前記エンティティが提案しているオープン・チャット・スレッドの数を求めるステップを含む、方法。
【請求項3】
請求項1記載の方法であって、更に、
前記エンティティが有するオープン・チャット・スレッドが閾値数未満であるという判断に応答して、前記エンティティに新たなチャット会話を開始することを許可するステップを備えている、方法。
【請求項4】
請求項1記載の方法であって、更に、
前記エンティティが、少なくとも閾値数のオープン・チャット・スレッドを有するという判断に応答して、前記新たなチャット会話を開始する要求を拒否するステップを備えている、方法。
【請求項5】
請求項1記載の方法であって、更に、
前記エンティティに、前記新たなチャット会話を開始することを許可することを示すステップと、
前記エンティティが新たなチャット会話を開始したことに応答して、前記エンティティと関連のあるチャット・キューに、新たなチャット・スレッドを記録するステップと、
を備えている、方法。
【請求項6】
請求項5記載の方法であって、更に、
前記チャット・キューから、時間切れとなったオープン・チャット・スレッドをいずれも取り除くステップを備えている、方法。
【請求項7】
請求項5記載の方法であって、更に、
回答を受け取ったオープン・チャット・スレッドをいずれも前記チャット・キューから取り除くステップを備えている、方法。
【請求項8】
請求項1記載の方法であって、更に、
前記エンティティと関連のあるフィードバックを分析するステップと、
少なくとも部分的に前記フィードバックに基づいて、チャレンジを前記エンティティに送信するステップと、
を備えている、方法。
【請求項9】
コンピューター実行可能命令を備えている1つ又は複数のコンピューター読み取り可能媒体であって、前記命令を実行すると、
チャット・キューに、エンティティが提案したオープン・チャット・スレッドを記録し、
前記エンティティが提案したオープン・チャット・スレッドの内、回答を受け取ったものをいずれも前記チャット・キューから取り除き、
前記エンティティが提案し前記チャット・キューに残っているオープン・チャット・スレッドの数に少なくとも部分的に基づいて、前記エンティティに新たなチャット会話を開始することを許可するか否か判断する、
ことを含む行為を実行する、1つ又は複数のコンピューター読み取り可能媒体。
【請求項10】
請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、前記チャット・キューは、時間切れとなったオープン・チャット・スレッドをいずれも取り除くように構成されている、1つ又は複数のコンピューター読み取り可能媒体。
【請求項11】
請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、
前記エンティティが提案し前記チャット・キューに残っているオープン・チャット・スレッドの数が、閾値量未満であるという判断に応答して、前記エンティティに新たなチャット会話を開始することを許可する、
ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。
【請求項12】
請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、
前記エンティティと関連のあるフィードバックを受け取り、
少なくとも部分的に前記フィードバックに基づいて、チャレンジを前記エンティティに送信する、
ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。
【請求項13】
請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、更に、実行すると、
前記エンティティが、チャット会話の一部として発生したテキストを分析し、
少なくとも部分的に前記分析に基づいて、チャレンジを前記エンティティに送信する、
ことを含む行為を実行するコンピューター実行可能命令を備えている、1つ又は複数のコンピューター読み取り可能媒体。
【請求項14】
請求項9記載の1つ又は複数のコンピューター読み取り可能媒体において、前記判断は、更に、
前記エンティティと関連のあるフィードバックを受け取り、
前記エンティティが、チャット会話の一部として発生したテキストを分析する、
ことを含む、1つ又は複数のコンピューター読み取り可能媒体。
【請求項15】
エンティティが既に提案しているオープン・チャット・スレッドの数に少なくとも部分的に基づいて、前記エンティティに新たなオープン・チャット・スレッドを開くことを許可するか否か判断するように構成されている要求モジュールと、
前記エンティティが既に提案しているオープン・チャット・スレッドの数を追跡するためのチャット・キューと、
前記チャット・キューの中にある各オープン・チャットを計時し、時間切れとなったオープン・チャット・スレッドをいずれも取り除くためのタイマーと、
を備えている、システム。
【請求項16】
請求項15記載のシステムにおいて、前記要求モジュールは、前記エンティティが既に提案しているオープン・チャット・スレッドの数が、閾値量以上である場合、前記エンティティに新たなチャット・スレッドを開くことを許可しないという指示を出すように構成されている、システム。
【請求項17】
請求項15記載のシステムにおいて、前記チャット・キューは、回答を受け取ったチャット・スレッドをいずれも取り除くように構成されている、システム。
【請求項18】
請求項15記載のシステムであって、更に、
前記エンティティのチャット言動に関連するフィードバックを受け取るように構成されているフィードバック・モジュールを備えている、システム。
【請求項19】
請求項15記載のシステムであって、更に、
前記エンティティがチャット会話の一部として発生するテキストを分析するテキスト分析モジュールを備えている、システム。
【請求項20】
請求項15記載のシステムであって、更に、
前記エンティティと関連のあるフィードバック、および前記エンティティがチャット会話の一部として発生したテキストのテキスト分析の内少なくとも1つに少なくとも部分的に基づいて、チャレンジを発生し、該チャレンジを前記エンティティに送信するチャレンジ発生器を備えている、システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−238249(P2011−238249A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2011−132335(P2011−132335)
【出願日】平成23年6月14日(2011.6.14)
【分割の表示】特願2010−511353(P2010−511353)の分割
【原出願日】平成20年6月6日(2008.6.6)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】