(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
複数の社会関係の極性を測定することによりユーザ間の社会関係を分析し管理するための方法、装置、システムおよびコンピュータプログラムの例が開示されている。以下の説明においては、説明を目的として本願発明の実施形態を完全に理解できるようにするための多くの具体的詳細が明確に記されている。しかしながら、当業者にとっては、これらの具体的詳細無しでまたは等価の配置を用いて本願発明の実施形態を実施することができるということは明白である。他の事例では、本願発明の実施形態を不必要に分かりにくくすることを回避する目的で、周知の構造およびデバイスがブロック図で示されている。
【0017】
社会関係推定の問題は、主として、アプリケーション面と計算面を含めた2つの側面に端を発している。アプリケーション面では、日々、想像を絶する速い速度で計り知れないオンラインコンテンツおよびインタラクションが出現することから、パブリックアカウントが手動で効率良くユーザ間の大量の社会関係を維持し識別することは、増々不可能になっている。社会関係のための新規の管理および視覚化方法が早急に必要とされている。計算面では、従来の社会関係推定方法は、社会関係に対するきめの細かい認識という新たな必要条件に関して、不適当であると同時に不正確である。具体的には、従来の社会関係分析においては、2人のユーザの親密度を測定するためにつねにインタラクションが使用されている。直観的には、2人のユーザ間で発生するインタラクションが多ければ多いほど2人のユーザの関係はより親密であると仮定される。しかしながら、2人のユーザ間の緊密な関係(すなわち頻繁なインタラクション)が彼らの間の良好な関係を意味しない場合があるため、この仮定は社会関係分析における誤解をひき起こす可能性がある。現実の世界では、緊密なインタラクションは挨拶および祝福であり得るが、同時に口論や論争でもあり得る。したがって、例えば、2人のユーザ間の関係が良いか悪いかを判定する目的で、社会関係のきめの細かい正確な理解を得ることは困難である。
【0018】
以下では、計算面での問題の具体例を示す。
図1において、実線は、挨拶または投票オペレーションなどのポジティブなテキストの送信または肯定的なオペレーションの実施を意味し、一方破線は、叱責または反対意見などの否定的なテキストの提供またはネガティブなオペレーションの実施を意味する。具体的な1つのシナリオは、次のようなものであり得る。すなわち、ユーザAとユーザBは恋人同士であり、つねに互いにチャットし、新たに公開したステータスについてコメントし、互いに興味深いコンテンツをリダイレクトする。こうして、彼らのオンラインインタラクションはかなり頻繁であり、5+10+5=20として計算可能である。対照的に、ユーザBとユーザCは互いに対抗者であり、このことはすなわち彼らが一部の話題、事象について同意することは少なく、オンラインプラットフォーム内で大規模で長く持続する口論を始めた可能性があることを意味する。彼らのインタラクションは同様に頻繁であり、これも同様に10+5+5=20に等しくなる可能性もある。
【0019】
頻度の面から見ると、2つの関係(AとB、およびBとC)は全く同じであり、両方の数量は20である。しかしながら、ユーザAとユーザBの関係とユーザBとユーザCの関係が同じであると結論づけることはできない。これは、ユーザAとユーザBの間のインタラクションがポジティブであり、一方ユーザBとユーザCの間のインタラクションがネガティブであるためである。したがって、インタラクションの頻度のみに基づいてユーザの関係を推定すると、ユーザ関係の誤解または不適切な理解がひき起こされることになる。これにより、社会関係に基づくサービス、例えば推奨サービスおよびビジネスインテリジェンスサービスに対し悪影響がもたらされる可能性がある。
【0020】
さまざまな例示的実施形態によると、極性という側面でユーザ関係を測定することにより、社会関係のきめの細かい正確な理解が提供される場合がある。「極性」は、例えば、2人の個別のユーザ間の社会関係がポジティブ、ネガティブまたはニュートラルのいずれであるかを標示する、インタラクションの「方向性」から推定される。
図2を参照すると、1つの例示的実施形態に係る、ソーシャル・ネットワーク内の社会関係を分析し管理するためのシステム100が描かれている。
図2に示されている通り、システム100は、ソーシャル・ネットワークサービス(SNS)プロバイダー107、他のUE101および他の通信エンティティ(例えば第3者111)に対する通信ネットワーク105を介した接続性を有するユーザ機器(UE)101を含む。
【0021】
一例として、システム100の通信ネットワーク105は、データネットワーク(図示せず)、無線ネットワーク(図示せず)、テレフォニーネットワーク(図示せず)、またはその任意の組合せなどの1つ以上のネットワークを含む。データネットワークは、任意のローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、広域ネットワーク(WAN)、パブリックエリアネットワーク(例えばインターネット)、自己最適化モバイルネットワーク、または任意の好適なパケット交換ネットワーク、例えば商業的所有の専有パケット交換ネットワーク、例えば専有ケーブルまたは光ファイバーネットワークであると考えられる。さらに、無線ネットワークは、例えばセルラーネットワークであってよく、Enhanced data rates for global evolution(EDGE)、General packet radio service (GPRS)、Global system for mobile communications(GSM)、Internet protocol multimedia subsystem(IMS)、Universal mobile telecommunications system(UMTS)など、ならびに他の任意の好適な無線媒体、例えばWorldwide interoperability for microwave access(WiMAX)、Wireless local area network (WLAN)、Long Term Evolution (LTE)networks、Code division multiple access(CDMA)、Wideband code division multiple access(WCDMA)、Wireless fidelity(WiFi)、Satellite、Mobile ad−hoc network(MANET)などを含めたさまざまな技術を利用することができる。
【0022】
UE101は、携帯電話機、ステーション、ユニット、デバイス、マルチメディアコンピュータ、マルチメディアタブレット、インターネットノード、コミュニケーター、デスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント(PDA)またはそれらの任意の組合せを含めた、任意のタイプのモバイル端末、固定端末またはポータブル端末であることができる。UE101がユーザに対する任意のタイプのインターフェース(例えば「ウェアラブル」回路など)をサポートし得ることも企図されている。
図1に示されているように、ユーザ機器(UE)101a〜101nは、ソーシャル・ネットワークアプリケーション103a〜103nを実施するために利用することができる。これらのソーシャル・ネットワークアプリケーション103は、ソーシャル・ネットワークサービスを実施するために、他のUE、SNSプロバイダー107および他の通信エンティティ(例えば第3者111)に伝達するのに通信ネットワーク105を利用することができる。
【0023】
ソーシャル・ネットワークサービス(SNS)プロバイダー107は、マイクロブログ、ブログ、メッセージング通信、電話通信、ソーシャル・ネットワークゲームなどのソーシャル・ネットワークサービスを提供するため、ユーザ情報(例えばプロファイル)および他のデータをデータベース109内に記憶することができる。
図2には1つのSNSプロバイダーのみが示されているが、さまざまなソーシャル・ネットワークサービスを提供するために、任意の数のSNSプロバイダーを提供することができる。
【0024】
いくつかの実施形態においては、SNSプロバイダー107は、ユーザの社会関係を分析しかつ管理するために、UE101のユーザの挙動履歴をさらに分析する場合がある。いくつかの実施形態においては、特定のサーバーなどの第3者111が、SNSプロバイダー107からユーザの社会的挙動履歴データを収集し、収集したデータに基づいてユーザの社会関係を分析し管理するために提供される場合がある。他の実施形態においては、例えばソーシャルネットワーキングアプリケーションを使用することによって、ユーザのUE101内で、ユーザの社会関係分析および管理を実施することができる。この点に関して、2人のユーザ間の社会関係の極性を、2人のユーザ間のさまざまなインタラクションに基づいて推定することができる。これらのインタラクションに関連付けされたデータを、2人のユーザが参加するさまざまなソーシャルサービスから収集することができる。例えば、オンラインソーシャルサービスから、コメント、メッセージ、リダイレクション、サポートまたは不同意などを収集することができる。
【0025】
2人のユーザ間のインタラクションは、ピュアテキストおよび相互オペレーションという2つのカテゴリに入り得る。それぞれのテキストおよびオペレーションに関して、極性情報を識別することができる。例えば、自然言語処理、テキスト分析または計算言語学などを用いて、インタラクティブテキスト内の主観的情報を識別および抽出することができる。主観的情報に基づいて、話し手または書き手のアティチュードを決定することができる。一例において、所与のインタラクションテキストは、その極性をドキュメント、センテンスまたはフィーチャ/アスペクトレベルで、すなわちドキュメント、センテンスまたはエンティティフィーチャ/アスペクト内の表現されたアティチュードを、ポジティブ、ネガティブまたはニュートラルのいずれであるかで分類することによって、分析することができる。「関係を解消する」、「ユーザのコンテントをサポートする」、「ユーザのコンテントを消去する」などのインタラクティブオペレーションの背後に隠されたアティチュードを探索するために、インタラクティブオペレーションを分析してもよい。2つのユーザ間で、いかなるポジティブなワードまたはネガティブなワードも表現されないものの、彼らは相関関係あるコンテントを追加、消去またはリダイレクトして互いに賛成または反対の投票をし、関心ある話題をフォローしていることなどから、まさに極性関係を共有している可能性が非常に高い。したがって、インタラクションテキストおよびオペレーションを分析することにより、社会関係の極性を測定してもよい。その上、テキストおよびオペレーションに対してポジティブまたはネガティブな感情強度スコアを付与してもよい。
【0026】
テキストおよびオペレーションの極性は、ユーザ間の社会関係の極性全体を決定するために組み合わせることができる。例えば、全てのテキスト極性およびオペレーション極性を単一の一次方程式として組合せて、2人のユーザ間のソーシャル極性を予測してもよい。その上、組合せを通して極性強度をさらに測定して、どの程度まで関係がポジティブまたはネガティブであるかを推定してもよい。測定結果は、ユーザ関係の管理を容易にするために表示することができる。さらに、これらのきめの細かい正確な測定結果に基づいて、サービスをサポートする(例えば推奨を行なう)ことが有用である。したがって、ユーザ間の社会関係を、極性の側面から自動的に収集、分析、維持および視覚化することが可能である。
【0027】
いくつかの実施形態においては、新しい属性、例えば極性および極性強度を導入して、ユーザ間の社会関係をモデリングすることができる。例えば、2人のユーザAおよびBについて、彼らの間の社会関係は従来、順序対(A、B)として表わされてきた。いくつかの実施形態によると、社会関係は、(A、B、P)として表わされてよく、ここでパラメータPは関係の極性を表わす。例えば、Pの値の正負符号は、2人のユーザ間の極性を表わしてよく、Pの値の大きさは極性の強度を表わすことができる。
【0028】
図3は、社会関係の分析および管理のための手順の概要を例示している。このような実施形態において、プロセス300は、1つ以上のデバイス(例えばSNSプロバイダー107、UE101あるいは社会関係管理サーバー111)によって実施され、例えば、
図5に示されている通り、プロセッサおよびメモリを含めたチップセット内に実装される。このようにして、計算デバイスは、プロセス300のさまざまな部分を達成するために手段ならびに他の構成要素を併用して他のプロセスを達成するための手段を提供し得る。
【0029】
図3に示されているように、社会関係分析および管理の全体的手順は、主として、データ収集のためのステップ310、極性推定のためのステップ330、および関係の管理および視覚化のためのステップ350を含めた、3つのステップを含む。2人のユーザのオンライン挙動コンテンツを所与として、社会関係分析のための主要なタスクは、2人のユーザ間の社会関係の極性および強度を推定することにある。uおよびvがオンラインソーシャル・ネットワーク内の2人のユーザを表わすものとする。社会関係分析のためのアプローチを紹介する前に、以下の通りのいくつかの定義づけをまず行なう。
【0030】
ms(u、v)は2人のユーザ間で交換されるメッセージである。
【0031】
cm(u、v)は2人のユーザ間で交換されるコメントである。
【0032】
rd(u、v)は2人のユーザ間で交換されるリダイレクションである。
【0033】
br(u、v)は、2人のユーザ間で交換されるブラウズである。
【0034】
agr(u、v)は、情報収集、情報サポートなどの2人のユーザ間で交換された明示的な同意オペレーションである。
【0035】
dagr(u、v)は、アカウント取消し、コンテンツ取消し、反対投票ユーザなどの、2人のユーザ間で交換された明示的不同意オペレーションである。
【0036】
ステップ310において、ソーシャル・ネットワーク内の2人のユーザ(uおよびvと記す)間のインタラクションに関連付けされたデータが、社会関係の分析のために収集される。データは、マイクロブロギング、ブログ、インスタントメッセージ、ソーシャル・ネットワーク、レヴューなどのオンラインソーシャル情報共有および通信サービスから収集することができる。例えば、コメントcm(u、v)、メッセージms(u、v)、ブラウズbr(u、v)、リダイレクトメッセージrd(u、v)、同意オペレーションagr(u、v)、および不同意オペレーションdagr(u、v)などのインターネットワークからできるかぎり多くの関連情報を集める(311)ために、クローラーを使用することができる。この情報は、ユーザuとvの間の相互作用の特性を反映し得る。集められたデータは、データベース内に記憶され(313)、さらなる計算のために指標付け(315)することができる。それぞれのインタラクションに関連付けされたコンテンツも同様に、社会関係分析を容易にするために記憶することができる。
【0037】
ステップ330において、ユーザuとvの間の社会関係の極性は、収集されたインタラクティブデータに基づいて推定される。実生活においては、個人間のオフラインソーシャルインタラクションにしたがって良い関係と良くない関係を分けるために、関係の極性を容易に識別することができる。例えば、オフライン社会関係分析においては、「やさしい微笑」、「温かいハグ」、「元気づける言葉」および「親切なケア」などの友好的な挙動が、つねに良い関係を示すものとみなされるが、一方その反対に「怒った顔」、「強い平手打ち」、「ひどい叱責」および「無関心な言葉」などの失礼なまたは無関心な挙動は、つねに悪い関係を示すものとみなされる。オフライン社会関係分析の場合と全く同様に、オンラインインタラクションの極性も、オンラインインタラクション内の明白なフィーチャを介して識別することができる。
【0038】
計算において、テキストおよびオペレーションの面などの複数の側面から極性を測定することができる。いくつかの実施形態においては、テキストおよびオペレーションの極性を識別するために、インタラクティブテキストおよびオペレーションを分析することができる(331)。テキストおよびオペレーションの極性は、社会関係の極性を分析するため(333)に合成することができる。テキストインタラクションの側面において、極性は、その大部分が「感情ワード」によって表現される。例えば、テキスト内の「good(良い)」というワードは、通常ポジティブインタラクションを意味し、一方テキスト内の「bad(悪い)」というワードは通常ネガティブインタラクションを意味する。2人のユーザ間で交換されるテキスト内に多くのポジティブ表現が現われる場合、2人のユーザが良い関係を共有している確率が高い。これに対してネガティブな表現がインタラクションを支配している場合、対応する関係はつねに悪い。こうして、社会関係の極性は、テキスト分析を使用することによって推定可能である。
【0039】
ある例示的実施形態において、テキスト内の感情ワードは、インタラクションデータから抽出され、その後極性が割当てることができる。例えば、ユーザuとvの間の全てのインタラクションテキストにわたって、テキストから全ての感情ワードを抽出し、SW(u、v)と記されるセットを形成することができ、ここでswと記された各要素は単一の感情ワードを表わす。各感情ワードには、つねに項目と対応する極性との間のマッピングである予め構築された感情ワードライブラリにしたがって1つの極性が割当てることができる。例えば、感情ワード辞書は、キー値セットであってよく、各対が感情ワードおよび対応する極性符号および強度を示す。例えば「good、+1」セットは、ポジティブワード「good(良い)」を意味することができ、「lovely、+3」セットは、非常にポジティブなワード「lovely(すばらしい)」を意味し、「bad、−1」セットはネガティブなワード「bad(悪い)」を意味し、「hate、−3」は非常にネガティブなワード「hate(憎む)」を意味し得る。
【0040】
全ての感情ワードの極性を合計して、インタラクションテキスト全体の極性を導出することができる。例えば、インタラクションテキストの極性Ptext(u、v)は、以下の等式(1)にしたがって計算することができる。
【数1】
式中、pl関数は、ポジティブまたはネガティブのいずれかであり得る個別の感情ワードのための極性の割当てとして定義づけされる。
【0041】
オペレーションインタラクションの側面において、極性は主として、具体的オペレーションのために伝達される。例えば、オペレーション「ブラウズ」、「コメント」、「投票」は通常、標的ユーザに向けたポジティブなアティチュードを表現し、一方オペレーション「反対投票」、「遮蔽」、「消去」は、通常、標的ユーザに向けたネガティブアティチュードを表わす。したがって、2人のユーザが良い関係を有する場合、よりポジティブなインタラクションが存在する可能性があり、逆も同様であることが予測できる。
【0042】
ある例示的実施形態においては、インタラクティブオペレーションは、収集されたインタラクションデータから抽出され、その後極性が割当てることができる。例えば、抽出されたオペレーションは、セットOPとして記憶されてよく、これには、コメント、メッセージ伝送、コンテンツリダイレクト、投票、不同意などの全ての感情オペレーションが含まれ得る。セットOP内の各要素opは、単一のオペレーションを表わす。
【0043】
各オペレーションは、つねに項目と対応する極性の間のマッピングである予め構築された感情オペレーションライブラリにしたがって極性が割当てることができる。いくつかの実施形態においては、感情オペレーションライブラリ(OPL)は、オペレーションがポジティブであるかネガティブであるかを判定するため、人間のアノテーターによって構築することができる。例えば、「ユーザをフォローする」、「ユーザの話題をフォローする」、「ユーザのフォローを取消す」、「ユーザのステータスに投票する」、「ユーザと不同意である」、「友達を消去する」、「メッセージを転送する」など、1つのOPLについて、SNSサービス内の全ての一般的なユーザインタラクティブオペレーションを収集することができる。その後、言及されたSNSサービス内の異なる種類のオペレーションを使用する上で経験のある一群の人間のアノテーターに、各オペレーションをタグでラベリングするように促すことができる。例えば、OPL内の各々のインタラクティブオペレーションoplについて、人間のアノテーターに対し、読み、SNSサービスの自らの過去の経験を用いて理解し、オペレーションoplが2人のユーザ間のポジティブまたはネガティブのいずれの関係を示すかを識別するように依頼する。オペレーションoplがポジティブインタラクションを意味することに人間のアノテーターが同意した場合には、それに「ポジティブ」タグが割当てられ、そうでない場合は「ネガティブ」タグが割当てられる。例えば、オペレーション「友達をフォローする」には、タグ「positive、+1」が与えられてよく、一方オペレーション「ユーザのコメントに不同意である」には、タグ「negative、−1」が貼り付けられる。いくつかの実施形態において、オペレーション極性ラベリングタスクは、マルチレベルタギングとして実施されてよく、これはすなわち、「very positeve、+2」、「positive、+1」、「negative、−1」および「very negative、−2」などの特定のサービスの必要条件に応じて3つ以上の極性にタグをマッピングすることができることを意味している。ラベリングの偏りを回避するために、OPL内の各オペレーションoplは、人間のアノテーター全員の間での最大同意に達するタグでラベリングされる。
【0044】
OP内の抽出された感情オペレーションopの各々について、予め構築された感情オペレーションライブラリOPLにしたがって極性を識別することができる。例えば、1つの抽出されたオペレーションについて、そのオペレーションの極性および強度を示す対応する極性スコアを見出すために、OPLをサーチすることができる。例えば、オペレーションop「ユーザをフォローする」をOPL内で見出してタグ「very positeve、+2」へとマッピングしてよく、一方オペレーション「ユーザのフォローを取消す」は、タグ「very negative、−2」へとマッピングされ得る。
【0045】
全てのオペレーションの極性を集約して、オペレーションの側面における全感情方向性の総合的結論を表わす全インタラクション・オペレーションの極性を導出することができる。例えば、全インタラクション・オペレーション極性Pop(u、v)は、以下の等式(2)にしたがって計算されよい。
【数2】
式中、pl’関数は、ポジティブまたはネガティブのいずれかであり得る個別のオペレーションについての極性の割当てとして定義される。
【0046】
テキストおよびオペレーションの極性に基づいて、第1のユーザと第2のユーザ間の社会関係がポジティブ、ネガティブまたはニュートラルのいずれであるかを示すために、uとvの間の社会関係の全体的極性を決定することができる(333)。例えば、社会関係P(u、v)の極性は、以下の等式(3)にしたがって計算することができる。
【数3】
式中、パラメータαおよびβは、テキストおよびオペレーション因子間での平衡化のために使用される対応する側面の重みである。実際には、これらのパラメータは、異なるシナリオおよびアプリケーションについて調整可能である。オペレーション極性と同様に、社会関係の極性は3つ以上のレベルに分割することができる。例えば、very positeve、positive、negative、very negativeなどである。
【0047】
いくつかの実施形態において、P(u、v)は、対称関係を表わすように計算され得る。これはすなわち、ユーザuとvの視点から見て関係が同一であることを意味している。
【0048】
他の実施形態において、P(u、v)は、非対称関係を表わすように計算される場合があり、これはすなわち、ユーザvに対するユーザuのアティチュードが、ユーザuに対するユーザvのアティチュードと異なる可能性があることを意味している。その場合、P(u、v)は、ユーザuの観点から見たユーザuとユーザvの間の社会関係を表わすために使用することができる。それは、ユーザuに由来するインタラクションテキストおよびオペレーションの極性に基づいて計算され得る。したがって、ユーザvの視点から見たユーザvとuの間の社会関係を表わすためには、別のパラメータP(u、v)を使用することができる。それは、ユーザvに由来するインタラクションテキストおよびオペレーションの極性に基づいて計算され得る。
【0049】
ステップ350では、ユーザの社会関係管理を容易にするため、極性分析結果を表示することができる。いくつかの実施形態においては、或るユーザに関して、この或るユーザと共有されるそのソーシャル極性にしたがって、関係付けられたユーザをリストアップすることができる。例えば、
図4に示す通り、直接的で理解できる形で分析結果を視覚化し実証することができる。
図4では、或るユーザの友達がそのソーシャル極性に応じて2つのグループに分類されている。破線より上にリストアップされた人は、ユーザとポジティブ関係を共有しており、一方、破線より下にリストアップされた人は、ユーザとネガティブ関係を共有する。さらに、各グループ内の人物は、対応する極性強度に応じて複数のグレードでリストアップされている。例えば、或る人物が分割破線からの位置づけが離れれば離れるほど、共有される関係の極性強度は大きくなる。
【0050】
極性分析結果は、同様に、社会関係管理のためにも利用することができる。これは、ユーザの関係およびユーザの挙動をより適切に理解できる一助となり得る、こうして、より正確な推奨、決定のサポート、結果のランキングそしてカスタマイズされたユーザエクスペリエンスデザインについてと同様、ユーザ関係の予測およびユーザ関係のトレンドの予測についてもより多くの証拠が提供される結果になる。例えば、挙動履歴についての自動極性分析を通して、管理者または個人のユーザは、自らのソーシャルサークル内のポジティブおよびネガティブ関係を手動で識別する必要がない。極性分析結果の視覚化は、ユーザの社会関係の読取りおよび管理の効率を良くする。社会関係極性の視覚化を通して、ユーザは、入念に維持する必要のある良い関係または修復すべきまたは切り捨てるべき悪い関係を判定することができる。
【0051】
いくつかの実施形態において、異なる社会関係について、SNSプロバイダーは、異なる推奨スキーマを設計するかまたは戦略を促進することができる。一般的に理解されている通り、人は通常、最良の友達から知らせを受けとると嬉しいものの、嫌いな人からの知らせを受けとっても嬉しくないものである。したがって、推奨は、社会関係の極性に基づいて有効に行なうことができる。例えば、ポジティブな社会関係については、SNSプロバイダーはより多くの情報曝露、例えば新規アップデートの推奨または活動通知のリストアップを提供することができる。反対に、ネガティブの社会関係については、SNSプロバイダーは、顧客を悩ませる原因とならないようにより間接的な促進措置を設計する必要があるかもしれない。
【0052】
ここで、本願発明のさまざまな実施形態を応用することのできる装置500のブロック図の例を示す
図5を参照する。これはSNSプロバイダー、ユーザ機器(UE)、または第3者、例えば社会関係管理用のサーバー内で実施することができる。装置500の全体的構造には、処理モジュール501、処理モジュール501に結合された通信インターフェースモジュール509が含まれる。装置500は、さらに、処理モジュール501に結合されたユーザインターフェースモジュール511、および処理モジュール501に結合された不揮発性メモリ513も含むことができる。同様に、通信インターフェースモジュール509、ユーザインターフェースモジュール511および不揮発性メモリ513は、相互間で通信してもよい。
【0053】
処理モジュール501は、プロセッサ503およびメモリ505を含む。処理モジュール501はさらに、メモリ505内に記憶され、プロセッサ503内にロードされ実行されるために作動可能であるソフトウェアを含む。ソフトウェア507は、1つ以上のソフトウェアモジュールを含んでいてよく、コンピュータプログラム製品の形をすることができる。処理モジュール501は、アプリケーションソフトウェアまたはデータ用および装置500の通常のオペレーション用の別個の処理およびメモリ部域を含むことができる。
【0054】
通信インターフェースモジュール509は、有線通信モジュールまたは無線通信モジュール例えば、WLAN、Bluetooth、GSM/GPRS、CDMA、WCDMAまたはLTE(long term evolution)無線モジュールであることができる。通信インターフェースモジュール509は、装置500内に一体化されるか、または装置500の好適なスロットまたはポート内に挿入し得るアダプタ、カードなどの中に一体化することができる。
図5は、1つの通信インターフェースモジュール509しか示していないが、装置500は、複数の通信インターフェースモジュール509を含むことができる。
【0055】
プロセッサ503は、例えば、中央処理ユニット(CPU)、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、グラフィックスプロセッシングユニットなどであることができる。
図5は1つのプロセッサ503しか示していないが、装置500は複数のプロセッサを含むことができる。
【0056】
メモリ505は、読取り専用メモリ(ROM)、プログラマブル読取り専用メモリ(PROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、ランダムアクセスメモリ(RAM)、フラッシュメモリ、データディスク、光学記憶装置、磁気記憶装置、スマートカードなどを含み得る。装置500は、複数のメモリを含み得る。メモリ505は、装置500の一部として構築されてよく、あるいは、ユーザが装置500のスロット、ポートなどの中に挿入してもよい。メモリ505は、データを記憶するという唯一の目的に役立ってもよいし、あるいは、データの処理またはマルウェア検出などの他の目的に役立つ装置の一部として構築されてもよい。不揮発性メモリ513は、例えば、フラッシュメモリであってよく、例えばソフトウェアのアップデートを受信し記憶する目的で役立ち得る。不揮発性メモリ513は、装置500の一部として構築されてよく、あるいはユーザが装置500のスロット、ポートなどの中に挿入することができる。
【0057】
ユーザインターフェースモジュール511は、例えばキーボード、装置500のディスプレー上に示されたグラフィカルユーザインターフェース、音声認識回路またはハンドセットなどのアクセサリーデバイスを介して、装置500のユーザからの入力を受信することおよび例えばグラフィカルユーザインターフェースまたはラウドスピーカーを介してユーザに対し出力を提供することを目的とする回路を含むことができる。
【0058】
当業者であれば、
図5に示されている要素に加えて、装置500は、他の要素、例えばマイクロホン、ディスプレーならびに追加の回路、例えば入出力(I/O)回路、メモリチップ、特定用途向け集積回路(ASIC)、特定の目的用の処理回路、例えば情報源符号化/復号回路、チャネル符号化/復号回路、暗号化/解読回路などを含むことができることを理解する。さらに、装置500は、外部電源が利用不能である場合、装置500に給電するために使い捨てまたは充電可能なバッテリ(図示せず)を含むことができる。
【0059】
一般に、ハードウェアまたは特殊用途向け回路、ソフトウェア、論理またはそれらの任意の組合せの中で、さまざまな例示的実施形態を実装することができる。例えば、一部の態様はハードウェア内に実装されてよく、一方他の態様は、コントローラ、マイクロプロセッサまたは他の計算デバイスにより実行可能なファームウェアまたはソフトウェア内に実装することができるが、本願発明はこれらに限定されるわけではない。本願発明の例示的実施形態のさまざまな態様をブロック図、流れ図としてまたは他の何らかの絵入り表現を用いて例示し描写することができるものの、本明細書中に記載のこれらのブロック、装置、システム、技術または方法を、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、特殊用途向け回路または論理、汎用ハードウェアまたはコントローラまたは他の計算デバイス、またはそれらの何らかの組合せの中に実装してもよいことは、充分理解できる。
【0060】
本願発明の例示的実施形態の少なくとも一部の態様を、コンピュータで実行可能な命令、例えば1つ以上のコンピュータまたは他のデバイスにより実行される1つ以上のプログラムモジュール内で実施することができるということを認識すべきである。概して、プログラムモジュールには、コンピュータまたは他のデバイス内でプロセッサにより実行された場合に特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。コンピュータで実行可能な命令は、コンピュータ可読媒体、例えばハードディスク、光ディスク、リムーバブル記憶媒体、固体メモリ、RAMなどの上に記憶することができる。当業者であれば認識する通り、プログラムモジュールの機能をさまざまな実施形態の中で所望される通りに組合せるかまたは分配してもよい。さらに、機能の全体または一部を、集積回路、フィールドプログラマブルゲートアレイ(FPGA)などのファームウェアまたはハードウェア等価物内で実施してもよい。
【0061】
本願発明のさまざまな実施形態のさまざまな特徴は、さまざまな利点を提供し得る。いくつかの実施形態に係るオフラインおよびランタイムの両方でのマルウェアをチェックすることにより、マルウェアのリスクを最低限に抑えることができる。オフラインマルウェア検出中、静的完全呼出しマップ、部分呼出しマップおよび異なる時点での呼出しマップのうちの少なくとも1つをチェックしてマルウェアを発見することができる。実時間マルウェア検出中、呼出しマップパターンをチェックして、機能呼出しによりひき起こされるセキュリティリークを発見することができる。さらに、リスクの高いローカルデータアクセス、特に過去と異なる異常アクセスを発見するために、データアクセス挙動をチェックしてもよい。さらに、アプリケーションのネットワーキング挙動についてのチェックを通して、そのアプリケーションのインバウンドトラフィックをチェックして潜在的な侵入を発見してもよいし、例えば計算デバイスをボットにしてしまうなどの、一部の突然の攻撃によりひき起こされる可能性のある感染を見つけ出すために、アプリケーションのアウトバウンドトラフィックをチェックしてもよい。こうして、ユーザの情報を盗んで売り、コンテンツ送達を操作し、スパムを送るマルウェア、あるいは計算デバイス上への突然の侵入に対処し、総合的な検出または保護を提供することが可能である。
【0062】
本願発明は、明示的に本明細書に開示されているあらゆる新規の特徴または特徴の組合せ、またはその任意の一般化を含んでいる。当業者には、添付図面と併せて読んだときに、上述の説明を考慮すれば、本願発明の上述の例示的実施形態に対するさまざまな修正および適応が明らかとなる可能性がある。しかしながら、任意のおよび全ての修正はなお、本願発明の非限定的かつ例示的実施形態の範囲内に入るものである。