特許第6529503号(P6529503)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

特許6529503ソーシャル・ネットワーキング・システムのユーザについての感情極性
<>
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000002
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000003
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000004
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000005
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000006
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000007
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000008
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000009
  • 特許6529503-ソーシャル・ネットワーキング・システムのユーザについての感情極性 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6529503
(24)【登録日】2019年5月24日
(45)【発行日】2019年6月12日
(54)【発明の名称】ソーシャル・ネットワーキング・システムのユーザについての感情極性
(51)【国際特許分類】
   G06F 16/00 20190101AFI20190531BHJP
   G06F 16/30 20190101ALI20190531BHJP
   G06Q 50/00 20120101ALI20190531BHJP
【FI】
   G06F17/30 220Z
   G06F17/30 210A
   G06F17/30 170A
   G06Q50/00 300
【請求項の数】22
【全頁数】29
(21)【出願番号】特願2016-540901(P2016-540901)
(86)(22)【出願日】2014年8月19日
(65)【公表番号】特表2016-530651(P2016-530651A)
(43)【公表日】2016年9月29日
(86)【国際出願番号】US2014051713
(87)【国際公開番号】WO2015038297
(87)【国際公開日】20150319
【審査請求日】2017年5月29日
(31)【優先権主張番号】14/023,136
(32)【優先日】2013年9月10日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】アルパト、グベン バルク
(72)【発明者】
【氏名】シャー、サイヤド
(72)【発明者】
【氏名】アヤール、スリカント ラーマクリシュナ
【審査官】 松尾 真人
(56)【参考文献】
【文献】 米国特許出願公開第2013/0018954(US,A1)
【文献】 特開2011−248831(JP,A)
【文献】 米国特許出願公開第2012/0166530(US,A1)
【文献】 特開2011−040033(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
19/00
G06Q 10/00−99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ・システムが、ソーシャル・ネットワーキング・システムのページのテキスト・コンテンツを識別する工程と、
前記コンピュータ・システムが、前記テキスト・コンテンツからトピックを抽出する工程と、
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムのユーザと前記ページとの間の第1の対話についての情報を受信する工程と、
前記コンピュータ・システムが、受信した前記第1の対話についての情報に基づいて、前記テキスト・コンテンツに対する前記ユーザの感情を決定する工程と、
受信した前記第1の対話についての情報に基づいて、前記ユーザが、前記テキスト・コンテンツに対する前記ユーザの感情に対応する、抽出された前記トピックに対する感情極性を有することを、前記コンピュータ・システムが推論する工程であって、前記感情極性は、前記トピックに対する前記ユーザの肯定的または否定的な感情を示す、工程と、
前記コンピュータ・システムが、前記ユーザが抽出された前記トピックに対して有する推論された前記感情極性を記憶する工程と、
前記コンピュータ・システムが、抽出された前記トピックに関係付けられた前記ユーザから、第2の対話を受信する工程と、
前記コンピュータ・システムが、前記ユーザが抽出された前記トピックに対して有する記憶された前記感情極性を前記第2の対話に関連付ける工程と、
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムにおける別のユーザと前記第1の対話との間の別個の対話についての情報を受信する工程と、
前記コンピュータ・システムが、前記別個の対話についての前記情報に基づいて、前記別のユーザの前記感情極性を推論する工程と、
前記コンピュータ・システムが、前記感情極性を洞察ページに追加する工程であって、前記洞察ページは、前記ページに対する統計的分析を含む、工程と、
前記コンピュータ・システムが、前記統計的分析に基づいて、将来の傾向を予測するための洞察を提供する工程と、
を備える方法。
【請求項2】
前記テキスト・コンテンツは、投稿およびコメントのうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記トピックは、語彙ベースの分析を使用して、前記テキスト・コンテンツから抽出される、請求項1に記載の方法。
【請求項4】
受信した前記情報が、前記ユーザが前記ソーシャル・ネットワーキング・システムにおいてつながりを確立している別のユーザと、前記ページとの間の、別個の対話についての情報をさらに備え、前記ユーザの前記感情極性が、前記別個の対話についての前記情報に基づいてさらに推論される、請求項1に記載の方法。
【請求項5】
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムにおける別のユーザと前記ページとの間の別の対話と、前記ユーザとの間の別個の対話についての情報を受信する工程と、
前記コンピュータ・システムが、前記別個の対話についての前記情報に基づいて、前記ユーザの前記感情極性を推論する工程と、をさらに備える、請求項1に記載の方法。
【請求項6】
前記コンピュータ・システムが、前記洞察ページに基づいて、前記ページの前記コンテンツに対する前記ユーザの感情極性の一貫した傾向を識別する工程と、
前記コンピュータ・システムが、推論された前記感情極性が前記一貫した傾向に従うかどうかを決定する工程と、
前記コンピュータ・システムが、推論された前記感情極性が前記一貫した傾向に従わないと決定することに応答して、推論された前記感情極性を異常なエントリとして識別する工程と、をさらに備える、請求項に記載の方法。
【請求項7】
前記コンピュータ・システムが、推論された前記感情極性が前記一貫した傾向に従うと決定することに応答して、推論された前記感情極性を正しいエントリとして識別する工程をさらに備える、請求項に記載の方法。
【請求項8】
前記コンピュータ・システムが、前記洞察ページに基づいて、前記ページの前記コンテンツに対する前記ユーザの感情極性の一貫した傾向を識別する工程と、
前記コンピュータ・システムが、前記一貫した傾向に基づいて、前記ユーザが、前記ページの前記コンテンツに対する否定的な感情極性を示す人と、前記ページの前記コンテンツに対する肯定的な感情極性を示す人との間で切り替わったと決定する工程と、をさらに備える、請求項に記載の方法。
【請求項9】
コンピュータ・システムが、ソーシャル・ネットワーキング・システムのページのコンテンツを識別する工程と、
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムのユーザと前記ページとの間の第1の対話についての情報を受信する工程と、
前記コンピュータ・システムが、受信した前記第1の対話についての情報に基づいて、前記ユーザの感情極性を推論する工程であって、前記感情極性は、前記ページの前記コンテンツに対する前記ユーザの肯定的または否定的な感情を示す、推論する工程と、
前記コンピュータ・システムが、推論された前記ユーザの前記ページの前記コンテンツに対する感情極性を記憶する工程と、
前記コンピュータ・システムが、前記コンテンツに関係付けられた前記ユーザから、第2の対話を受信する工程と、
前記コンピュータ・システムが、記憶された前記ユーザの前記ページの前記コンテンツに対する感情極性を前記第2の対話に関連付ける工程と、
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムにおける別のユーザと前記第1の対話との間の別個の対話についての情報を受信する工程と、
前記コンピュータ・システムが、前記別個の対話についての前記情報に基づいて、前記別のユーザの前記感情極性を推論する工程と、
を備え、前記推論する工程は、
前記コンテンツに対する強い感情極性を有する、前記ソーシャル・ネットワーキング・システムのユーザを、前記コンテンツに関連付けられたトラスト・ユーザのセットとして識別する、識別する工程と、
各トラスト・ユーザに関連付けられたデータ・セットを決定する工程であって、前記データ・セットは、前記各トラスト・ユーザの感情極性とともに、前記各トラスト・ユーザと前記ページとの間の対話についての情報を含む、工程と、
決定された前記データ・セットをトレーニング・セットとして使用して、機械学習モデルをトレーニングする工程と、
受信した前記情報に基づいて、トレーニングした前記機械学習モデルを使用して、前記ユーザの前記感情極性を推論する工程と、を備える方法。
【請求項10】
前記第1の対話は、「いいね」を表明すること、削除すること、共有すること、隠すこと、報告すること、およびコメントすることのうちの少なくとも1つを含む、請求項に記載の方法。
【請求項11】
前記コンピュータ・システムが、前記ユーザの前記感情極性がしきい値を下回るとき、前記ページの前記コンテンツに関係付けられたスポンサー付きストーリを不適格とする工程をさらに備える、請求項に記載の方法。
【請求項12】
前記識別する工程は、
前記ソーシャル・ネットワーキング・システムの第2のユーザと前記ページとの間の第3の対話を受信する工程であって、前記第3の対話は、前記第2のユーザが前記ページに対して「いいね」を表明することを含む、工程と、
前記第2のユーザが前記ページの前記コンテンツに対する肯定的な感情極性を有することを決定する工程と、
前記第2のユーザを、前記ページの前記コンテンツに関連付けられた肯定的なトラスト・ユーザのセットに追加する工程であって、前記肯定的なトラスト・ユーザのセットは、トラスト・ユーザの前記セットのサブセットを形成する工程と、を含む、請求項に記載の方法。
【請求項13】
前記識別する工程は、
外部ユーザによる前記ページに関するコメントに対して肯定的なトラスト・ユーザが「いいね」を表明することを示す標識を受信する工程であって、前記外部ユーザは前記トラスト・ユーザのセットに属しておらず、前記コメントは分析されていない、工程と、
前記コメントを分析して、前記ページの前記コンテンツに対する前記コメントの感情極性を取得する工程と、
前記コメントの前記感情極性がしきい値の感情極性を上回ると決定する工程と、
前記外部ユーザが前記ページの前記コンテンツに対する肯定的な感情極性を有すると決定する工程と、
前記外部ユーザを、前記ページの前記コンテンツに関連付けられた肯定的なトラスト・ユーザのセットに追加する工程であって、前記肯定的なトラスト・ユーザのセットは、トラスト・ユーザの前記セットのサブセットを形成する工程と、を含む、請求項に記載の方法。
【請求項14】
前記識別する工程は、
前記ページに関するコメントのセットに対して「いいね」を表明する外部ユーザを識別する工程であって、前記外部ユーザはトラスト・ユーザの前記セットに属していない、工程と、
コメントの前記セットがしきい値の個数よりも多くのコメントを有することを決定する工程と、
コメントの前記セットのしきい値の割合よりも多くが、前記肯定的なトラスト・ユーザのセットからのものであることを決定する工程と、
前記外部ユーザが前記ページの前記コンテンツに対する肯定的な感情極性を有することを決定する工程と、
前記外部ユーザを、前記ページの前記コンテンツに関連付けられた肯定的なトラスト・ユーザのセットに追加する工程であって、肯定的なトラスト・ユーザの前記セットは、トラスト・ユーザの前記セットのサブセットを形成する工程と、を含む、請求項に記載の方法。
【請求項15】
前記識別する工程は、
前記ページに関する外部ユーザによるコメントのセットを受信する工程であって、前記外部ユーザが前記トラスト・ユーザのセットに属していない、工程と、
コメントの前記セットのうちの各コメントを分析して、前記ページの前記コンテンツに対する前記各コメントの感情極性を取得する工程と、
コメントの前記セットがコメントのサブセットを含むことを決定する工程であって、コメントの前記サブセットのうちの各コメントは、しきい値感情極性を下回る感情極性を有する、工程と、
コメントの前記サブセット内のコメントの個数がしきい値の個数を超えることを決定する工程と、
前記外部ユーザが前記ページの前記コンテンツに対する否定的な感情極性を有すると決定する工程と、
前記外部ユーザを、前記ページの前記コンテンツに関連付けられた否定的なトラスト・ユーザのセットに追加する工程であって、否定的なトラスト・ユーザの前記セットは、トラスト・ユーザの前記セットのサブセットを形成する、工程と、を含む、請求項に記載の方法。
【請求項16】
前記分析は、語彙ベースの分析を使用することを含む、請求項13に記載の方法。
【請求項17】
前記分析は、語彙ベースの分析を使用することを含む、請求項15に記載の方法。
【請求項18】
前記トレーニング・セットは言語に非依存である、請求項に記載の方法。
【請求項19】
前記コンピュータ・システムが、前記ページの前記コンテンツに関係付けられた各トラスト・ユーザのコメントを、前記各トラスト・ユーザの感情極性に関連付ける工程と、
前記コンピュータ・システムが、バッグ・オブ・ワーズ感情分析器をトレーニングするための別個のトレーニング・セットを形成する工程であって、前記別個のトレーニング・セットは、各コメントの感情極性とともに前記トラスト・ユーザによるコメントのセットを含む、工程と、をさらに備える、請求項に記載の方法。
【請求項20】
コンピュータ・システムが、ソーシャル・ネットワーキング・システムのページのコンテンツを識別する工程と、
前記コンピュータ・システムが、前記ソーシャル・ネットワーキング・システムのトラスト・ユーザ以外のユーザと前記ページとの間の第1の対話についての情報を受信する工程と、
前記コンピュータ・システムが、受信した前記第1の対話についての情報に基づいて、前記トラスト・ユーザ以外のユーザの第1の感情極性を推論する工程であって、前記第1の感情極性は、前記コンテンツに対する前記トラスト・ユーザ以外のユーザの第1の感情を示す、工程と、
前記コンピュータ・システムが、前記トラスト・ユーザ以外のユーザによる前記第1の対話に対する第2の感情を示す、前記コンテンツに関係付けられたトラスト・ユーザによる第2の対話を受信する工程と、
前記コンピュータ・システムが、前記第1の感情が前記第2の感情とは異なると決定することに応答して、前記コンテンツに対する前記トラスト・ユーザ以外のユーザの前記第1の感情を、前記トラスト・ユーザによって示された前記第2の感情に対応する方向に調整する工程と、を備える方法。
【請求項21】
コンピュータ・プログラム・コードを含む非一時的コンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記コンピュータ・プログラム・コードは、
ソーシャル・ネットワーキング・システムのページのテキスト・コンテンツを識別する工程と、
前記テキスト・コンテンツからトピックを抽出する工程と、
前記ソーシャル・ネットワーキング・システムのユーザと前記ページとの間の第1の対話についての情報を受信する工程と、
受信した前記第1の対話についての情報に基づいて、前記テキスト・コンテンツに対する前記ユーザの感情を決定する工程と、
受信した前記第1の対話についての情報に基づいて、前記ユーザが、前記テキスト・コンテンツに対する前記ユーザの感情に対応する、抽出された前記トピックに対する感情極性を有することを、コンピュータ・システムが推論する工程であって、前記感情極性は、前記トピックに対する前記ユーザの肯定的または否定的な感情を示す、工程と、
前記ユーザが抽出された前記トピックに対して有する推論された前記感情極性を記憶する工程と、
抽出された前記トピックに関係付けられた前記ユーザから、第2の対話を受信する工程と、
前記ユーザが抽出された前記トピックに対して有する記憶された前記感情極性を前記第2の対話に関連付ける工程と、
前記ソーシャル・ネットワーキング・システムにおける別のユーザと前記第1の対話との間の別個の対話についての情報を受信する工程と、
前記別個の対話についての前記情報に基づいて、前記別のユーザの前記感情極性を推論する工程と、
前記コンピュータ・システムが、前記感情極性を洞察ページに追加する工程であって、前記洞察ページは、前記ページに対する統計的分析を含む、工程と、
前記コンピュータ・システムが、前記統計的分析に基づいて、将来の傾向を予測するための洞察を提供する工程と、を行うためのものである、コンピュータ・プログラム製品。
【請求項22】
コンピュータ・プログラム・コードを含む非一時的コンピュータ可読記憶媒体を備えるコンピュータ・プログラム製品であって、前記コンピュータ・プログラム・コードは、
ソーシャル・ネットワーキング・システムのページのコンテンツを識別する工程と、
前記ソーシャル・ネットワーキング・システムのユーザと前記ページとの間の第1の対話についての情報を受信する工程と、
コンピュータ・システムが、受信した前記第1の対話についての情報に基づいて、前記ユーザの感情極性を推論する工程であって、前記感情極性は、前記ページの前記コンテンツに対する前記ユーザの肯定的または否定的な感情を示す、推論する工程と、
前記ユーザが前記ページの前記コンテンツに対して有する推論された感情極性を記憶する工程と、
前記コンテンツに関係付けられた前記ユーザから、第2の対話を受信する工程と、
前記ユーザが前記ページの前記コンテンツに対して有する記憶された前記感情極性を前記第2の対話に関連付ける工程と、
前記ソーシャル・ネットワーキング・システムにおける別のユーザと前記第1の対話との間の別個の対話についての情報を受信する工程と、
前記別個の対話についての前記情報に基づいて、前記別のユーザの前記感情極性を推論する工程と、を行うためのものであり、前記推論する工程は、
前記コンテンツに対する強い感情極性を有する、前記ソーシャル・ネットワーキング・システムのユーザを、前記コンテンツに関連付けられたトラスト・ユーザのセットとして識別する、識別する工程と、
各トラスト・ユーザに関連付けられたデータ・セットを決定する工程であって、前記データ・セットは、前記各トラスト・ユーザの感情極性とともに、前記各トラスト・ユーザと前記ページとの間の対話についての情報を含む、工程と、
決定された前記データ・セットをトレーニング・セットとして使用して、機械学習モデルをトレーニングする工程と、
受信した前記情報に基づいて、トレーニングした前記機械学習モデルを使用して、前記ユーザの前記感情極性を推論する工程と、を備える、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にソーシャル・ネットワーキングに関し、詳細には、ソーシャル・ネットワーキング・システムのユーザについての感情極性を推論することに関する。
【背景技術】
【0002】
ソーシャル・ネットワーキング・システムは、一般に、ユーザが自分たちのソーシャル・ネットワーク内で対話することを可能にする機構を提供する。ソーシャル・ネットワーキング・システム・ユーザは、個人、または、企業もしくは他の人間以外のエンティティなど、任意の他のエンティティであり得る。ソーシャル・ネットワーキング・システムによって追跡および維持されるソーシャル・ネットワーキング・システム情報は、複数のエッジによって相互につなげられる複数のノードを含む、ソーシャル・グラフとして記憶され得る。ソーシャル・グラフ・ノードは、別のノードに作用することができ、および/または別のノードによって作用され得る、ソーシャル・ネットワーキング・システム・オブジェクトを表し得る。ソーシャル・ネットワーキング・システム・オブジェクトは、例えば、ソーシャル・ネットワーキング・システム・ユーザ、人間以外のエンティティ、コンテンツ・アイテム、グループ、ソーシャル・ネットワーキング・システム・ページ、イベント、メッセージ、主題(人、場所、物事、抽象的なアイデアもしくはコンセプトなど)、または、映画、バンド、もしくは本など、他のソーシャル・ネットワーキング・システム・オブジェクトであり得る。
【0003】
ソーシャル・グラフ内のノード間のエッジは、他のノード上でノードのうちの1つによって実施されたアクションから得られることがある、ノード間の特定の種類のつながりを表す。ソーシャル・ネットワーキング・システム・ユーザによるそのようなアクションの例は、ユーザ・プロフィールにおいてソーシャル・ネットワーキング・システム・オブジェクトをリストすること、ソーシャル・ネットワーキング・システム・グループもしくはファン・ページにサブスクライブもしくは加入すること、メッセージを別のソーシャル・ネットワーキング・システム・ユーザへ送ること、ソーシャル・ネットワーキング・システム・ノードに関連付けられた購買を行うこと、コンテンツ・アイテムに関してコメントすること、または、イベントへの出欠の返事をすることを含む。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ソーシャル・ネットワーキング・システム・ユーザが、例えば、ページ・コンテンツに関してコメントすること、ページに投稿すること、ページに対して「いいね」を表明すること、または他の対話によって、ソーシャル・ネットワーキング・システムにおけるページと対話するとき、コンテンツに対するユーザの感情(例えば、肯定的または否定的)が既知である場合、有益な情報が対話から決定され得る。例えば、ページ所有者は、ページ・コンテンツへのユーザの反応をよりよく理解することを希望することがあり、広告主は、特定のページまたはトピックに対するユーザの感情に関心があり得る。したがって、ページまたはトピックに対するソーシャル・ネットワーキング・システムのユーザの感情を、ページまたはトピックとのユーザの対話に基づいて決定するための、信頼性が高い方法が必要である。
【課題を解決するための手段】
【0005】
本発明の実施形態は、ソーシャル・ネットワーキング・システムにおけるページまたはトピックに対する、ソーシャル・ネットワーキング・システムのユーザの感情極性を、そのページまたはトピックとのユーザの対話に基づいて推論する能力を提供する。一実施形
態では、ソーシャル・ネットワーキング・システムにおけるページのコンテンツが識別される。例として、ページのコンテンツは、テキスト、ピクチャ、動画クリップ、音声クリップなどを含み得る。ページ上のテキスト・コンテンツを識別することに応答して、トピックが、ページのテキスト・コンテンツから抽出され得る。例として、トピックは、単一のページを超える範囲のコンテンツをカバーし得る、フットボール、ニュースにおける最近のイベント、特定の食品、または任意の他の好適なトピックであり得る。ソーシャル・ネットワーキング・システムのユーザとページまたはトピックとの間の対話についての情報が、受信される。例えば、対話は、ユーザがページに対して「いいね」を表明すること、ページを削除(クロスアウト)すること、ページを共有すること、ページを隠すこと、ページを報告すること、ページに関してコメントすることなどを示すことがある。システムは、次いで、対話についての受信された情報に基づいて、ユーザの感情極性を推論し、例えば、「いいね」の場合、コンテンツに対するユーザの肯定的な感情である。システムはまた、次いで、推論された感情極性を、ページのコンテンツまたはトピックに関係付けられるユーザからの任意の第2または後続の対話に関連付ける。例えば、ユーザは、以前に「いいね」を表明したページに関してコメントを行い、したがって、システムは、推論された感情極性(「いいね」に関連付けられた肯定的な感情極性)をそのコメントにも関連付ける。
【0006】
ソーシャル・ネットワーキング・システムは、機械学習モジュールとともに、感情エンジンを使用して、ユーザの感情極性を推論することができる。一実施形態では、システムは、ページのコンテンツに関連付けられた信頼されるユーザであるトラスト・ユーザのセットを識別する。トラスト・ユーザは、ページのコンテンツに対する強い感情極性(否定的または肯定的)を持つユーザである。システムは、各トラスト・ユーザに関連付けられたデータ・セットを決定する。データ・セットは、トラスト・ユーザの既知の感情極性となる、ページ上のトラスト・ユーザによる対話についての情報を含む。トラスト・ユーザから集められたデータ・セットは、次いで、例えば、機械学習アルゴリズムを介して、機械学習モデルをトレーニングするために、トレーニング・セットとして使用される。結果として得られた予測モデルは、次いで、ソーシャル・ネットワーキング・システムのユーザが新しい対話入力を提供するとき、ページ・コンテンツに対するユーザの感情極性を推論するために、感情エンジンによって使用され得る。
【図面の簡単な説明】
【0007】
図1】一実施形態による、ソーシャル・ネットワーキング・システムが動作するシステム環境のブロック図。
図2】一実施形態による、ページのコンテンツに対するユーザの感情極性を推論するために好適なソーシャル・ネットワーキング・システムのブロック図。
図3】一実施形態による、ページのコンテンツに対するユーザの感情極性を推論し、感情極性を、コンテンツに関係付けられたユーザからの第2の対話に関連付けるためのプロセスを示すフローチャート。
図4】一実施形態による、ページのコンテンツに関連付けられたトラスト・ユーザを識別するためのプロセスを示すフローチャート。
図5】一実施形態による、機械学習モデルをトレーニングし、トレーニングされた機械学習モデルを使用して、ユーザの感情極性を推論するためのプロセスを示すフローチャート。
図6】一実施形態による、トラスト・ユーザのセットからのトレーニング・セットを使用する機械学習モデルのトレーニング、および、トレーニングされた機械学習モデルを使用して、ユーザの感情極性を推論することを示すブロック図。
図7A】一実施形態による、小売業者ページに対するユーザの感情極性のある分析を示す図。
図7B】一実施形態による、小売業者ページに対するユーザの感情極性のある分析を示す図。
図7C】一実施形態による、小売業者ページに対するユーザの感情極性のある分析を示す図。
【発明を実施するための形態】
【0008】
図は、単に例示のために、本発明の様々な実施形態を示す。本願明細書で示される構造および方法の代替実施形態が、本願明細書で説明される本発明の原理から逸脱することなく採用され得ることは、以下の説明から当業者であれば容易に認識されるであろう。実際的な場合はいつでも、同様または類似の参照番号が図において使用されることがあり、同様または類似の機能を示すことがあることに留意されたい。
【0009】
本発明の実施形態は、ルール・ベースまたはモデル・ベースの手法を使用して、ページまたはトピックに対するソーシャル・ネットワーキング・システムのユーザの感情極性を、そのページまたはトピックとのユーザの対話に基づいて推論する能力を提供する。図3は、感情極性を推論するための方法のフローチャートであり、図1および図2は、その方法を実施可能なシステムの図である。図4は、何人かのユーザを「トラスト・ユーザ」として選択するプロセスを示し、それらのユーザのデータは、図5および図6とともに説明されるように、機械学習モデルのためのトレーニング・データとして使用され得る。図7は、ページ・コンテンツへのユーザの反応を理解するため、および、ページとの将来のユーザ対話を予測するために使用され得る様々な分析を示す、感情極性データについての使用事例を提供する。
【0010】
システム・アーキテクチャ
図1は、ソーシャル・ネットワーキング・システム140のためのシステム環境100のハイ・レベル・ブロック図である。図1によって示されるシステム環境100は、1つまたは複数のクライアント・デバイス110と、ネットワーク120と、1つまたは複数のサード・パーティ・システム130と、ソーシャル・ネットワーキング・システム140とを備える。代替構成では、異なるおよび/または追加の構成要素がシステム環境100に含まれ得る。本願明細書で説明される実施形態は、ソーシャル・ネットワーキング・システムではないオンライン・システムに適合され得る。
【0011】
クライアント・デバイス110は、ユーザ入力を受信すること、ならびに、ネットワーク120を介してデータを送信および/または受信することが可能な、1つまたは複数のコンピューティング・デバイスである。一実施形態では、クライアント・デバイス110は、デスクトップまたはラップトップ・コンピュータなど、従来のコンピュータ・システムである。代替的に、クライアント・デバイス110は、携帯情報端末(PDA)、モバイル電話、スマートフォンまたは別の好適なデバイスなど、コンピュータ機能を有するデバイスであり得る。クライアント・デバイス110は、ネットワーク120を介して通信するように構成される。一実施形態では、クライアント・デバイス110は、クライアント・デバイス110のユーザがソーシャル・ネットワーキング・システム140と対話することを可能にするアプリケーションを実行する。例えば、クライアント・デバイス110は、ネットワーク120を介するクライアント・デバイス110とソーシャル・ネットワーキング・システム140との間の対話を可能にするために、ブラウザ・アプリケーションを実行する。別の実施形態では、クライアント・デバイス110は、IOS(登録商標)またはANDROID(登録商標)など、クライアント・デバイス110のネイティブ・オペレーティング・システム上で動くアプリケーション・プログラミング・インターフェース(API)を通じて、ソーシャル・ネットワーキング・システム140と対話する。
【0012】
クライアント・デバイス110は、ネットワーク120を介して通信するように構成さ
れており、ネットワーク120は、有線通信システムおよび/または無線通信システムの両方を使用して、ローカル・エリア・ネットワークおよび/またはワイド・エリア・ネットワークの任意の組合せを備え得る。一実施形態では、ネットワーク120は、標準的な通信技術および/またはプロトコルを使用する。例えば、ネットワーク120は、イーサネット(登録商標)、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、3G、4G、符号分割多元接続(CDMA)、デジタル加入者回線(DSL)などの技術を使用する通信リンクを含む。ネットワーク120を介して通信するために使用されるネットワーキング・プロトコルの例は、マルチプロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ハイパーテキスト・トランスポート・プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含む。ネットワーク120上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)または拡張マークアップ言語(XML)など、任意の好適なフォーマットを使用して表され得る。いくつかの実施形態では、ネットワーク120の通信リンクの全部または一部は、任意の好適な1つまたは複数の技法を使用して暗号化され得る。
【0013】
1つまたは複数のサード・パーティ・システム130が、ソーシャル・ネットワーキング・システム140と通信するためにネットワーク120に結合されてよく、これについては、図2とともに以下でさらに説明される。一実施形態では、サード・パーティ・システム130は、クライアント・デバイス110による実行用のアプリケーションについて記述する情報を通信するか、または、クライアント・デバイス上で実行するアプリケーションによる使用のために、クライアント・デバイス110にデータを通信する、アプリケーション・プロバイダである。他の実施形態では、サード・パーティ・システム130は、クライアント・デバイス110を介した提示のために、コンテンツまたは他の情報を提供する。サード・パーティ・ウェブサイト130はまた、サード・パーティ・ウェブサイト130によって提供されるアプリケーションについての広告、コンテンツ、または情報など、ソーシャル・ネットワーキング・システム140に情報を通信してもよい。
【0014】
図2は、ソーシャル・ネットワーキング・システム140のアーキテクチャの例示的なブロック図である。図2に示されるソーシャル・ネットワーキング・システム140は、ユーザ・プロフィール・ストア205と、コンテンツ・ストア210と、コンテンツ・マネージャ212と、アクション・ロガー215と、アクション・ログ220と、エッジ・ストア225と、ニュースフィード・マネージャ230と、トピック抽出エンジン240と、感情エンジン245と、感情ストア250と、機械学習モジュール252と、ルール・ストア254と、トラスト・ユーザ・マネージャ260と、トラスト・ユーザ・ストア265と、トレーニング・データ・ストア270と、ウェブ・サーバ280とを含む。他の実施形態では、ソーシャル・ネットワーキング・システム140は、様々なアプリケーションのための追加の構成要素、より少ない構成要素、または異なる構成要素を含み得る。ネットワーク・インターフェース、セキュリティ機能、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワーク操作コンソールなど、従来の構成要素は、システム・アーキテクチャの詳細を不明瞭にしないようにするために、示されていない。
【0015】
ソーシャル・ネットワーキング・システム140の各ユーザは、ユーザ・プロフィールに関連付けられ、ユーザ・プロフィールは、ユーザ・プロフィール・ストア205に記憶される。ユーザ・プロフィールは、そのユーザによって明示的に共有された、そのユーザについての宣言的情報を含み、また、ソーシャル・ネットワーキング・システム140によって推論されるプロフィール情報を含み得る。一実施形態では、ユーザ・プロフィールは、複数のデータ・フィールドを含み、各々は、ソーシャル・ネットワーキング・システム140の対応するユーザの1つまたは複数の属性について記述する。ユーザ・プロフィ
ールに記憶されている情報の例は、職歴、学歴、性別、趣味または好み、ロケーションなど、伝記的、人口統計学的、および他のタイプの記述的情報を含む。ユーザ・プロフィールはまた、ユーザによって提供される他の情報、例えば、画像または動画を記憶してもよい。いくつかの実施形態では、ユーザの画像は、画像に表示されるソーシャル・ネットワーキング・システム140のユーザの識別情報を用いてタグ付けされ得る。ユーザ・プロフィール・ストア205におけるユーザ・プロフィールはまた、コンテンツ・ストア210中のコンテンツ・アイテム上で実施され、アクション・ログ220に記憶される、対応するユーザによるアクションへの参照を維持してもよい。
【0016】
ユーザ・プロフィール・ストア205におけるユーザ・プロフィールは、個人に関連付けられることが多く、個人がソーシャル・ネットワーキング・システム140を介して互いと対話することが可能になるが、ユーザ・プロフィールはまた、企業または組織などのエンティティのために記憶されてもよい。これによって、エンティティが他のソーシャル・ネットワーキング・システム・ユーザとつながり、コンテンツを交換するために、ソーシャル・ネットワーキング・システム140上にプレゼンスを確立することが可能となる。エンティティは、それ自体についての情報、その製品についての情報を投稿してよく、または、エンティティのユーザ・プロフィールに関連付けられたブランド・ページを使用して、ソーシャル・ネットワーキング・システムのユーザに他の情報を提供してよい。ソーシャル・ネットワーキング・システムの他のユーザは、ブランド・ページに投稿された情報を受信するために、またはブランド・ページから情報を受信するために、ブランド・ページにつながることができる。ブランド・ページに関連付けられたユーザ・プロフィールは、エンティティ自体についての情報を含み、エンティティについての背景または情報のデータをユーザに提供してよい。
【0017】
コンテンツ・ストア210は、様々なタイプのコンテンツをそれぞれ表すオブジェクトを記憶する。オブジェクトによって表されるコンテンツの例は、ページ投稿、ステータス・アップデート、写真、動画、リンク、共有されるコンテンツ・アイテム、ゲーム・アプリケーションの成績、地域企業のチェックイン・イベント、ブランド・ページ、または任意の他のタイプのコンテンツを含む。ソーシャル・ネットワーキング・システム・ユーザは、ステータス・アップデート、ソーシャル・ネットワーキング・システムにおける他のオブジェクトに関連付けられるようにユーザによってタグ付けされた写真、イベント、グループまたはアプリケーションなど、コンテンツ・ストア210によって記憶されるオブジェクトを作成することができる。いくつかの実施形態では、オブジェクトは、ソーシャル・ネットワーキング・システム140とは別個のサード・パーティ・アプリケーションから受信される。一実施形態では、コンテンツ・ストア210内のオブジェクトは、コンテンツの1つ1つのピース、またはコンテンツ「アイテム」を表す。したがって、ソーシャル・ネットワーキング・システム140のユーザは、様々な通信チャネルを通じて、様々なタイプの媒体のテキストおよびコンテンツ・アイテムを投稿することによって、互いと通信するように奨励される。これによって、ユーザ同士の対話の量を増加させ、ユーザがソーシャル・ネットワーキング・システム140内で対話する頻度を増加させる。
【0018】
コンテンツ・マネージャ212は、コンテンツ・ストア210に記憶された各オブジェクトによって表されたコンテンツを識別する。識別されたコンテンツは、ソーシャル・ネットワーキング・システムにおけるユーザおよび/または他のモジュールによって後に使用され得る。例えば、コンテンツ・マネージャ212は、ソーシャル・ネットワーキング・システム内またはその外部のいずれかのページのテキスト・コンテンツを識別する。識別されたテキスト・コンテンツは、テキスト・コンテンツからトピックを抽出するトピック抽出エンジンに渡される。加えて、ユーザは、他のユーザとページのテキスト・コンテンツを共有することができ、感情エンジンが、ページのテキスト・コンテンツに対するユーザの感情を決定するに際し、呼び出される。他のタイプのコンテンツ−例えば、ステー
タス・アップデート、写真、動画など−もまた、コンテンツ・マネージャ212によって識別され得る。
【0019】
アクション・ロガー215は、ソーシャル・ネットワーキング・システム140の内部および/または外部のユーザ・アクションについての通信を受信し、ユーザ・アクションについての情報を用いて、アクション・ログ220を埋める。アクションの例は、とりわけ、別のユーザへのつながりを追加すること、別のユーザへメッセージを送ること、画像をアップロードすること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられたコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席することを含む。加えて、いくつかのアクションは、オブジェクトと1つまたは複数の特定のユーザとを伴うことがあり、そのため、これらのアクションは、それらのユーザにも関連付けられ、アクション・ログ220に記憶される。
【0020】
アクション・ログ220は、ソーシャル・ネットワーキング・システム140におけるユーザ・アクション、ならびに、ソーシャル・ネットワーキング・システム140に情報を通信するサード・パーティ・システム130におけるアクションを追跡するために、ソーシャル・ネットワーキング・システム140によって使用され得る。ユーザは、ソーシャル・ネットワーキング・システム140上の様々なオブジェクトと対話することがあり、これらの対話について記述する情報は、アクション・ログ220に記憶される。オブジェクトとの対話の例は、投稿に関してコメントすること、リンクを共有すること、およびモバイル・デバイスを介して物理的なロケーションにチェック・インすること、コンテンツ・アイテムにアクセスすること、および任意の他の対話を含む。アクション・ログ220に含まれる、ソーシャル・ネットワーキング・システム140上のオブジェクトとの対話の追加の例は、写真アルバムに関してコメントすること、ユーザと通信すること、オブジェクトとのつながりを確立すること、カレンダーのイベントに参加すること、グループに加入すること、イベントを作成すること、アプリケーションを許可すること、アプリケーションを使用すること、オブジェクトについての好みを表現すること(オブジェクトに対して「いいね」を表明すること)、および取引に関わることを含む。加えて、アクション・ログ220は、ソーシャル・ネットワーキング・システム140上の広告との、ならびにソーシャル・ネットワーキング・システム140上で動作する他のアプリケーションとの、ユーザの対話を記録することができる。いくつかの実施形態では、アクション・ログ220からのデータは、ユーザの関心または好みを推論し、ユーザのユーザ・プロフィールに含まれる関心を拡張し、ユーザの好みのより完全な理解を可能にするために使用される。一実施形態では、アクション・ログ220からのデータは、ページのコンテンツに対するユーザの感情極性(例えば、肯定的または否定的)を推論するために使用される。
【0021】
アクション・ログ220はまた、外部のウェブサイトなど、サード・パーティ・システム130上で取られ、ソーシャル・ネットワーキング・システム140に通信されるユーザ・アクションを記憶することもできる。例えば、特売価格でスポーツ用品を主として販売する電子商取引ウェブサイトは、電子商取引ウェブサイトがソーシャル・ネットワーキング・システム140のユーザを識別することを可能にするソーシャル・プラグインを通じて、ソーシャル・ネットワーキング・システム140のユーザを認識することができる。ソーシャル・ネットワーキング・システム140のユーザが一意に識別可能であるので、このスポーツ用品小売業者などの電子商取引ウェブサイトは、ユーザとの関連付けのために、ソーシャル・ネットワーキング・システム140の外部のユーザのアクションについての情報を、ソーシャル・ネットワーキング・システム140に通信することができる。したがって、アクション・ログ220は、ウェブ・ページ閲覧履歴、関った広告、行われた購買、ならびに、ショッピングおよび購入からの他のパターンを含む、ユーザがサード・パーティ・システム130上で実施するアクションについての情報を記録することができる。
【0022】
一実施形態では、エッジ・ストア225は、ソーシャル・ネットワーキング・システム140上のユーザと他のオブジェクトとの間のつながりをエッジとして記述する情報を記憶する。いくつかのエッジはユーザによって定義され、ユーザが自分と他のユーザとの関係を指定することが可能になり得る。例えば、ユーザは、友達、同僚、パートナなど、ユーザの現実の関係に似ている他のユーザとのエッジを生成することができる。他のエッジは、ソーシャル・ネットワーキング・システム上のページへの関心を表現する、ソーシャル・ネットワーキング・システムの他のユーザとリンクを共有する、および、ソーシャル・ネットワーキング・システムの他のユーザによって行われた投稿に関してコメントするなど、ユーザがソーシャル・ネットワーキング・システム140におけるオブジェクトと対話するとき、生成される。
【0023】
一実施形態では、エッジは、ユーザ間の対話、ユーザとオブジェクトとの間の対話、またはオブジェクト間の対話の特性をそれぞれ表す様々な特徴を含み得る。例えば、エッジに含まれる特徴は、2人のユーザ間の対話の頻度、どのくらい最近、2人のユーザが互いに対話したか、オブジェクトについてあるユーザによって検索された情報の頻度もしくは量、または、オブジェクトについてユーザによって投稿されたコメントの数およびタイプについて記述する。特徴はまた、特定のオブジェクトまたはユーザについて記述する情報を表してもよい。例えば、特徴は、ユーザが特定のトピックにおいて有する関心のレベル、ユーザがソーシャル・ネットワーキング・システム140にログインする頻度、またはユーザについての人口統計学的情報について記述する情報を表してよい。各特徴は、ソース・オブジェクトまたはユーザ、ターゲット・オブジェクトまたはユーザ、および特徴値に関連付けられ得る。特徴は、ソース・オブジェクトもしくはソース・ユーザ、ターゲット・オブジェクトもしくはターゲット・ユーザ、または、ソース・オブジェクトもしくはソース・ユーザとターゲット・オブジェクトもしくはターゲット・ユーザとの間の対話について記述する値に基づく表現として指定されてよく、したがって、エッジは、1つまたは複数の特徴表現として表され得る。
【0024】
エッジ・ストア225はまた、オブジェクト、関心、および他のユーザに対する親和性スコアなど、エッジについての情報を記憶する。親和性スコア、または「親和性」は、ユーザによって実施されたアクションに基づいて、オブジェクト、関心、およびソーシャル・ネットワーキング・システム140中の他のユーザに対するユーザの親和性を近似するために、経時的にソーシャル・ネットワーキング・システム140によって計算され得る。ユーザの親和性は、ユーザによって実施されたアクションに基づいて、オブジェクト、関心、およびソーシャル・ネットワーキング・システム140中の他のユーザに対するユーザの親和性を近似するために、経時的にソーシャル・ネットワーキング・システム140によって計算され得る。親和性の計算については、2010年12月23日に出願された米国特許出願第12/978,265号明細書、2012年11月30日に出願された米国特許出願第13/690,254号明細書、2012年11月30日に出願された米国特許出願第13/689,969号明細書、および2012年11月30日に出願された米国特許出願第13/690,088号明細書にさらに記述されており、それらの各々は全体として本願明細書に援用される。ユーザと特定のオブジェクトとの間の複数の対話は、一実施形態では、エッジ・ストア225に単一のエッジとして記憶され得る。代替的に、ユーザと特定のオブジェクトとの間の各対話は、別個のエッジとして記憶される。いくつかの実施形態では、ユーザ間のつながりは、ユーザ・プロフィール・ストア205に記憶されてよく、または、ユーザ・プロフィール・ストア205は、ユーザ間のつながりを決定するためにエッジ・ストア225にアクセスしてよい。
【0025】
一実施形態では、ソーシャル・ネットワーキング・システム140は、ユーザに提示された「ニュースフィード」を通じて、ユーザの関心を引く可能性が高いストーリを識別す
る。ユーザに提示されるストーリは、そのユーザにつながっている追加のユーザによって取られたアクションについて記述し、その追加のユーザを識別する。いくつかの実施形態では、ユーザによって実施されたアクションについて記述するストーリは、アクションを実施したユーザにつながっていないユーザにとってアクセス可能であり得る。ニュースフィード・マネージャ230は、アクション・ログ220内、およびエッジ・ストア225内の情報に基づいて、ユーザへの提示のためのストーリを生成してよく、または、コンテンツ・ストア210に含まれた候補ストーリを選択してよい。候補ストーリのうちの1つまたは複数が、ニュースフィード・マネージャ230によって選択され、ユーザに提示される。
【0026】
例えば、ニュースフィード・マネージャ230は、1つまたは複数のストーリをソーシャル・ネットワーキング・システム・ユーザに提示するための要求を受信する。ニュースフィード・マネージャ230は、ユーザ・プロフィール・ストア105、コンテンツ・ストア110、アクション・ログ120、およびエッジ・ストア130のうちの1つまたは複数にアクセスして、識別されたユーザについての情報を検索する。例えば、識別されたユーザにつながっているユーザに関連付けられたストーリまたは他のデータが検索される。検索されたストーリまたは他のデータは、ニュースフィード・マネージャ230によって分析されて、識別されたユーザに関連する可能性が高いコンテンツが識別される。例えば、識別されたユーザにつながっていないユーザに関連付けられたストーリ、または、識別されたユーザがしきい値未満の親和性を有する相手であるユーザに関連付けられたストーリは、候補ストーリから破棄される。様々な基準に基づいて、ニュースフィード・マネージャ230は、候補ストーリのうちの1つまたは複数を、識別されたユーザへの提示のために選択する。1つの手法では、選択された候補ストアは、識別されたユーザにつながっているユーザからのメッセージであって、企業、組織、または個人が強調するために代金を支払ったページ、アプリケーション、またはイベントにそれらのユーザが関っていることについてのメッセージである、スポンサー付きストーリである。
【0027】
様々な実施形態では、ニュースフィード・マネージャ230は、ユーザへの提示のために選択された複数のストーリを含むニュースフィードを通じて、ストーリをユーザに提示する。ニュースフィードは、限定数のストーリを含むことがあり、または、候補ストーリの完全なセットを含むことがある。ニュースフィードに含まれるストーリの数は、部分的に、ユーザ・プロフィール・ストア205に含まれるユーザの好みによって決定され得る。ニュースフィード・マネージャ230はまた、選択されたストーリがニュースフィードを介して提示される順序を決定してもよい。例えば、ニュースフィード・マネージャ230は、あるユーザが特定のユーザに対して最高の親和性を有すると決定し、特定のユーザに関連付けられたニュースフィードにおけるストーリの数を増加させるか、または、特定のユーザに関連付けられたストーリが提示されるニュースフィード内における位置を修正する。
【0028】
ニュースフィード・マネージャ230はまた、ストーリのタイプについての好みを示す、ユーザによるアクションを考慮してもよく、ニュースフィードに含めるために同じまたは同様のタイプを有するストーリを選択する。加えて、ニュースフィード・マネージャ230は、様々なユーザからソーシャル・ネットワーキング・システム140によって受信されたストーリを分析してよく、分析されたストーリから、ユーザの好みまたはアクションについての情報を取得する。この情報は、様々なユーザに提示されるニュースフィードのためのストーリの後続の選択を改善するために使用され得る。例えば、ニュースフィード・マネージャ230は、この情報を使用して、ニュースフィードに含めるためのスポンサー付きストーリの選択を改善することができる。
【0029】
ソーシャル・ネットワーキング・システム140は、コンテンツ・ストア210内のオ
ブジェクトに関連付けられた1つまたは複数のトピックを識別する、トピック抽出エンジン240を含む。コンテンツ・アイテムに関連付けられたトピックを識別するために、トピック抽出エンジン240は、全体として本願明細書に援用される、2011年6月24日に出願された「ソーシャル・ネットワーキング・システム通信からのトピックの推論(Inferring Topics From Social Networking System Communications)」という名称の米国特許出願第13/167,701号明細書においてさらに記述されているように、コンテンツ・アイテムに含まれるアンカー用語を識別し、アンカー用語の意味を決定する。例えば、トピック抽出エンジン240は、コンテンツ・ストア210内において維持されているコンテンツ・アイテムに関連付けられた1つまたは複数のトピックを決定する。コンテンツ・アイテムに関連付けられた1つまたは複数のトピックは、記憶され、コンテンツ・アイテムに対応するオブジェクト識別子に関連付けられる。様々な実施形態では、オブジェクト識別子とトピックとの間の関連付けが、トピック抽出エンジン240に、またはコンテンツ・ストア210に記憶されて、オブジェクト識別子に関連付けられた1つもしくは複数のトピックの検索、または、指定されたトピックに関連付けられたオブジェクト識別子の検索が簡略化される。コンテンツ・アイテムに関連付けられた構造化情報はまた、コンテンツ・アイテムに関連付けられたトピックを抽出するためにも使用され得る。
【0030】
ソーシャル・ネットワーキング・システム140は、トピックまたはページ・コンテンツに対するユーザの感情および/または感情極性を決定する、感情エンジン245を含む。一実施形態では、感情エンジン245は、ソーシャル・ネットワーキング・システムのトピックまたはページ・コンテンツに対するユーザの感情極性を推論するために使用される。推論された感情極性は、ユーザのアクションがトピックまたはページ・コンテンツに対する肯定的な感情を明示するか、否定的な感情を明示するかのみではなく、コンテンツのトピックに対する否定的または肯定的な感情の程度をも含む。例えば、ユーザ・アクションは、ページ、別のユーザからのコメント、スポンサー付きストーリ、映画、イベントなど、ソーシャル・ネットワーキング・システムにおけるオブジェクトに関係付けられ得る。ユーザ・アクションは、オブジェクトに対する肯定的または否定的な感情を示すことがある。例えば、ユーザは、ページに対して「いいね」を表明することがあり、そのことは、肯定的な感情を示すアクションであり、システムは、そのアクションに対して肯定的な感情極性を推論することになる。感情エンジン245は、例えば、アクション・ログ220および/またはエッジ・ストア225に記憶されているような、ユーザによるこれらのアクションについての情報を収集し、収集された情報を使用して、オブジェクトに対するユーザの感情極性を推論する。
【0031】
別の実施形態では、感情エンジン245は、トピック抽出エンジン240とともに動作して、ページのテキスト・コンテンツの抽出されたトピックに対するユーザの感情極性を推論する。感情エンジン245はまた、例えば、語彙ベースの分析または細目ベースの感情分類器(Minutiae−based sentiment classifier)を使用して、テキスト・コンテンツに対するユーザの感情(例えば、肯定的または否定的)を決定する。例えば、ユーザがページについての否定的なコメントを投稿した場合、コメントのテキストが分析されて、コメントが否定的であったと決定されることがあり、その場合、アクションは否定的な感情を示すことになり、システムは否定的な感情極性を推論することになる。代替的に、バッグ・オブ・ワーズ(bag−of−words)感情分析が、コメントの感情を決定するために使用され得る。様々な実施形態では、感情エンジン245は、予測モデル、ルールおよび/もしくはヒューリスティックのセット、または両方とともに動作して、極性の程度を決定する。例えば、ルールは、「いいね」が高い肯定的な極性、例えば、0から+1のスケールにおける+0.9を有し、すべての「いいね」アクションが+0.9の感情極性を割り当てられるように規定してよい。ルール・ストア254の使用については、以下で説明され、例示的な予測モデル、例えば、665
については、図6とともに以下で説明される。他の実施形態では、極性の程度を決定する任意の他の方法もまた使用されてよく、本発明の範囲内である。
【0032】
場合によっては、感情エンジン245は、ルール・ストア254とともに動作して、ページのコンテンツに対するユーザの感情極性を推論する。他の場合には、感情エンジン245は、例えば、予測モデル(例えば、665)が使用のために入手可能である場合、機械学習モジュール252とともに動作する。感情エンジン245は、いくつかのユーザ対話に対して、ルール・ベースの手法とモデル・ベースの手法とを組み合わせるハイブリッドな手法を使用してよい。例えば、感情エンジン245は、ルール・ストア254とともに動作して、ユーザとページとの間の第1の対話に基づいて、ユーザの第1の感情極性を推論し、機械学習モジュール252とともに動作して、ユーザとページとの間の5つの他の対話に基づいて、ユーザの第2の感情極性を推論する。感情エンジン245は、次いで、例えば、加重和を使用して、第1の感情極性と第2の感情極性とを組み合わせて、ユーザの最終的な感情極性を取得する。
【0033】
感情ストア250は、感情エンジン245によって推論されたか、または他の手段(例えば、ユーザ入力)を通じて取得されたかのいずれかの、ユーザ感情および/または感情極性情報を記憶する。感情ストア250は、ソーシャル・ネットワーキング・システムにおけるユーザの推論された感情極性データを記憶する。例えば、ユーザは、各感情極性値がページ上のコンテンツおよび/またはあるトピックに対応する、複数の感情極性データに関連付けられる。場合によっては、感情エンジン245は、語彙ベースの分析を使用して、ユーザのコメント/投稿を分析して(例えば、ユーザのコメント/投稿中の肯定的および否定的な単語を数えることによって)、ユーザの感情極性を推論する。これらの感情極性データも、感情ストア250に記憶される。推論された感情極性に結び付けられない感情データも、感情ストア250に記憶される。1人または複数のユーザについての記憶された感情データが、感情エンジン245によって検索されて、ユーザの感情極性が推論される。
【0034】
一実施形態では、機械学習モジュール252は、機械学習アルゴリズム(例えば、650)を介してトレーニングされる機械学習モデルを可能にし、結果として得られた予測モデル(例えば、665)を維持する。例えば、機械学習モジュール252は、トレーニング・データ・セットを使用して、モデルをトレーニングする。機械学習モジュール252からの出力は、トレーニングされたモデル(すなわち、予測モデル665)であり、感情エンジン245によって、ユーザの感情極性を推論するために使用され得る。これは、以下で説明されるルール・ベースの手法とは対照的に、モデル・ベースの手法と呼ばれる。モデル・ベースの手法については、図5および図6とともにより詳細に説明される。
【0035】
ルール・ストア254は、感情エンジン245によってユーザの感情極性を推論するために使用され得る、予め定義されたルールを主として記憶する。例えば、あるルールは、「ユーザがページに対して「いいね」を表明する場合、ユーザの感情極性は、ページのコンテンツに対して90%肯定的である」であってよい。別のルールは、「ユーザが、ページに対して「いいね」を表明する、しきい値数/割合よりも多い(例えば、50%よりも多い)友達を有する場合、ユーザの感情極性は、ページのコンテンツに対して60%肯定的である」であってよい。一実施形態では、それらのルールは、ルール・ストア254にルックアップ・テーブルまたは他の構造化情報フォーマットで記憶されて、容易な検索が促進される。ルール・ストア254は、いくつかの実施形態では他のルール、例えば、どのユーザがトラスト・ユーザとして指名され得るかを決定するためのルールを記憶する。
【0036】
トラスト・ユーザ・マネージャ260は、トピックまたはページのコンテンツに関連付けられたトラスト・ユーザのセットを識別する。トラスト・ユーザは、コンテンツまたは
トピックに対する強い肯定的または否定的な感情極性を有するユーザである。一実施形態では、肯定的なトラスト・ユーザは、その感情極性がページのコンテンツに対してしきい値よりも大きい値(例えば、90%を超えて肯定的)であるユーザであり、否定的なトラスト・ユーザは、その感情極性がページのコンテンツに対してしきい値よりも大きい値(例えば、85%を超えて否定的)であるユーザである。肯定的なしきい値および否定的なしきい値は、トピックまたはページ・コンテンツについて同じであっても異なってもよく、上記で提供された例は単なる例である。トラスト・ユーザ・マネージャ260は、ページとのユーザの対話を介して、トラスト・ユーザを識別する。例えば、トラスト・ユーザ・マネージャ260は、アクション・ログ220に記憶されているようなユーザについての対話情報、および/または、感情ストア250に記憶されているようなユーザ感情情報にアクセスしてよい。一実施形態では、トラスト・ユーザ・マネージャ260は、ルール・ストア254にアクセスして、ユーザを信頼できるとして確立するためのルールを識別し、例えば、上記で説明されたようなしきい値を識別する。トラスト・ユーザ・マネージャ260は、トピックまたはページに対応するトラスト・ユーザごとにデータ・セットを作成し、データ・セットは、トラスト・ユーザの感情極性とともに、トピックまたはページとのトラスト・ユーザの対話を含む。これらのデータ・セットは、機械学習モジュール252によって、機械学習モデルをトレーニングするために使用され得る。一実施形態では、トラスト・ユーザ・マネージャ260は、トラスト・ユーザの対話を経時的に追跡し、トラスト・ユーザ・ストア265を、トピックまたはページに関連付けられたトラスト・ユーザのグループに対する変更とともにアップデートする。
【0037】
トラスト・ユーザ・ストア265は、トラスト・ユーザ・マネージャ260によって、信頼されると識別されたユーザについての情報を記憶する。トラスト・ユーザ・ストア265は、ページのコンテンツ、トピック、肯定的/否定的な感情極性などに従って、トラスト・ユーザ情報を記憶してよい。例えば、ユーザは、あるページのコンテンツについて肯定的なトラスト・ユーザ(すなわち、想定された肯定的な感情極性を有するユーザ)であり得るが、異なるトピックについて否定的なトラスト・ユーザ(すなわち、想定された否定的な感情極性を有するユーザ)であり得る。
【0038】
トレーニング・データ・ストア270は、トラスト・ユーザ・マネージャ260によって生成される、トラスト・ユーザに関連付けられたデータ・セットを記憶する。説明されたように、トラスト・ユーザについてのデータ・セットは、トピックまたはページのコンテンツに対するトラスト・ユーザの感情極性とともに、ページとのトラスト・ユーザの対話を含む。集められたデータ・セットは、機械学習モジュール252のためのトレーニング・セットを形成する。トレーニング・データ・ストア270は、様々なページ、コンテンツ・アイテム、トピックなどのための様々なトレーニング・セットを記憶する。
【0039】
ウェブ・サーバ280は、ソーシャル・ネットワーキング・システム140を、ネットワーク120を介して1つまたは複数のクライアント・デバイス110に、ならびに1つまたは複数のサード・パーティ・システム130にリンクさせる。ウェブ・サーバ280は、ウェブ・ページ、ならびに、JAVA(登録商標)、FLASH(登録商標)、XMLなど、他のウェブ関係コンテンツを提供する。ウェブ・サーバ280は、例えば、インスタント・メッセージ、待ち行列型メッセージ(例えば、電子メール)、テキスト・メッセージ、ショート・メッセージ・サービス(SMS)メッセージ、または任意の他の好適なメッセージング技法を使用して送られるメッセージなど、ソーシャル・ネットワーキング・システム140とクライアント・デバイス110との間のメッセージを受信およびルーティングすることができる。ユーザは、コンテンツ・ストア210に記憶される情報(例えば、画像または動画)をアップロードするために、ウェブ・サーバ280に要求を送ることができる。加えて、ウェブ・サーバ280は、IOS(登録商標)、ANDROID(登録商標)、WEBOS(登録商標)、またはRIM(登録商標)など、ネイティブ
・クライアント・デバイス・オペレーティング・システムにデータを直接送るために、アプリケーション・プログラミング・インターフェース(API)機能を提供してよい。
【0040】
感情極性の推論
図3は、ページのコンテンツに対するユーザの感情極性を推論し、感情極性を、コンテンツに関係付けられたユーザからの第2の対話に関連付けるためのプロセスを示すフローチャートである。本願明細書で使用されるとき、ページは、ウェブ・ページ、アプリケーション・インターフェースもしくはディスプレイ、ウェブ・ページもしくはアプリケーション上に表示されたウィジェット、ボックスもしくは他のグラフィカル・インターフェース、別のページ(ソーシャル・ネットワーキング・システムの内部か外部かにかかわらず)上のオーバーレイ・ウィンドウ、または、ソーシャル・ネットワーキング・システム・プラグインもしくは統合力を有するソーシャル・ネットワーキング・システムの外部のウェブ・ページであり得る。
【0041】
最初に、ページのコンテンツが、例えば、コンテンツ・マネージャ212によって識別される(310)。例えば、ページのコンテンツは、テキスト、動画、写真、地図、リンク、広告、スポンサー付きストーリなどを含み得る。上記のコンテンツのリストは非網羅的であり、コンテンツは、ページ上に存在する任意のコンテンツを含み得る。識別された(310)コンテンツは、ソーシャル・ネットワーキング・システムにおけるユーザおよび/または他のモジュールによって、後で使用され得る。例えば、コンテンツ・マネージャ212は、ページのテキスト・コンテンツを識別し、トピック抽出エンジン240は、例えば、語彙ベースの分析を使用して、テキスト・コンテンツからトピックを抽出するに際し呼び出される。
【0042】
ソーシャル・ネットワーキング・システムは、次いで、ソーシャル・ネットワーキング・システムのユーザとページまたはトピックとの間の第1の対話についての情報を受信する(320)。対話は、典型的には、アクション・ロガー215によって受信される。場合によっては、対話は、アクション・ログ220またはエッジ・ストア225に記録され、後で検索され得る。例えば、対話は、ユーザがページに対して「いいね」を表明すること、ページのファンであること、ページを削除すること、ページに対する「いいね」を取り消すこと、ページを報告すること、ページを共有すること、ページを閲覧すること、ページを隠すこと、ページに関してコメントすることなどを含み得る。上記の対話のリストは非網羅的であり、本願明細書で説明される対話は、ユーザとページとの間の任意の対話であり得る。
【0043】
ユーザの感情極性が、トピックまたはページのコンテンツに対して、例えば、感情エンジン245によって、受信された対話についての情報に基づいて推論され得る(330)。一実施形態では、最初にトピックが、例えば、トピック抽出エンジン240によって、テキスト・コンテンツから抽出される。テキスト・コンテンツに対するユーザの感情が、次いで、受信された対話に基づいて決定され、次いで、ユーザの感情極性が、テキスト・コンテンツに対するユーザの感情に対応するトピックに対して推論される(330)。
【0044】
異なるタイプの対話は、ユーザの感情極性が推論される(330)方法に異なる影響を有することがある。上述されたように、アクションから感情極性を決定するための可能なモデルは、ルール・ベースのモデルおよび予測モデル・ベースのモデルを含む。例えば、(例えば、ルール・ストア254に記憶された)ルールは、「共有する」アクションが強く肯定的な感情極性を有する一方で、「いいね」アクションが比較的より弱い肯定的な感情極性を有することを示し得る。同様に、「削除する」アクションは、強く否定的な感情極性を有し得るが、「隠す」アクションは、弱く否定的な感情極性を有する。
【0045】
推論された(330)感情極性は、特定のユーザに基づいて、ページのコンテンツ(または、抽出された、抽出されたトピック)について正または負の値を提供する。一実施形態では、感情極性は、−1から1までの範囲の数であり得る。ユーザの感情極性が1に近づくにつれて、ユーザは、トピックまたはページのコンテンツに対する最大限に肯定的な感情に近づく。ユーザの感情極性が−1に近づくにつれて、ユーザは、トピックまたはページのコンテンツに対する最大限に否定的な感情に近づく。0という感情極性は、トピックまたはページのコンテンツに対する中立の感情である(すなわち、肯定的でも否定的でもない)が、0値の感情は、ユーザがトピックまたはページとの対話を有していなかったのでない限り、実際に生じる可能性が低くなる。上記で説明されたように、いくつかの対話は、ルールに基づいて、または予測モデルに基づいて、他の対話よりも強い極性を有する。例えば、「いいね」は、0.75という強い肯定的な感情極性を有することがあり、共有は、0.9というより強い肯定的な感情極性を有することがあり、「削除する」は、−0.9という極めて高い否定的な感情極性を有することがあり、「隠す」は、−0.6というわずかにより低い否定的な感情極性を有することがある、などである。一実施形態では、ユーザがページのファンである場合、ユーザは、+1(すなわち、最大限に肯定的)という感情極性を有すると推論される。
【0046】
また、特にテキストが事実に基づく(例えば、「今日のSUVは、大抵、高速道路を走行する。」)場合、または、コンテンツがバランスのとれたものである(例えば、「この映画は、最後の15分まではずっととても面白いが、ひどい結末である。」)場合、「中立」コメントおよび対話もあり得る。感情極性の他の等価表現は明らかであろう。
【0047】
場合によっては、ユーザの感情極性は、既知の感情を有するソーシャル・ネットワーキング・システムにおける他のユーザのアクションへの、そのユーザによる応答を介して推論される(330)。例えば、第1のユーザは、ページに関して否定的なコメントを行う。第2のユーザは、第1のユーザによる否定的なコメントに対して「いいね」を表明し、ページのコンテンツに関係付けられた投稿を追加する。第3のユーザは、第2のユーザによる投稿を報告する。この例では、第1のユーザの感情極性は、否定的なコメントのコンテンツに基づいて、否定的であると推論されることになり(330)、第2のユーザの感情極性は、(否定的なコメントに対して「いいね」を表明したので)第1のユーザの感情極性と同じまたは同様であると推論されることになり(330)、第3のユーザの感情極性は、第2のユーザの(否定的な)投稿を報告したので、第2のユーザの感情極性とは反対の感情極性(すなわち、肯定的)であると推論されることになる(330)。
【0048】
別の例では、ソーシャル・ネットワーキング・システムは、ユーザがソーシャル・ネットワーキング・システムにおいてつながりを確立している相手であるユーザ(すなわち、ユーザの友達)と、ページとの間の、別個の対話についての情報を受信する。例えば、ユーザの友達は、ページに対して「いいね」を表明しており、ページを報告しており、ページに関してコメントしている、などであり得る。ユーザの感情極性は、別個の対話についての情報に基づいて推論されてよく(330)、例えば、ユーザの友達のうちの数人がページに対して「いいね」を表明し、ユーザが自分の友達の見解を共有する可能性が高いので、感情エンジン245は、ユーザがページを直接訪れたことがない場合でも、ページに対するユーザのわずかに肯定的な感情極性を推論することができる。
【0049】
一実施形態では、ユーザの感情極性は、ルール・ストア254とともに、感情エンジン245によって推論される(330)。ルール・ストア254は、感情エンジン245による使用のために、予め定義されたルールを記憶する。例えば、ユーザがページに対して「いいね」を表明する場合、ルール・ストア254からのルールは、ユーザがページのコンテンツに対して肯定的な感情極性(例えば、0.9)を有するという推論を示すことがある。感情エンジン245は、一実施形態によれば、ルール・ストア254からこれらの
ルールを検索し、それに応じて、それらのルールから推論を決定する。別の実施形態では、ユーザの感情極性は、機械学習モジュール252とともに、感情エンジン245によって推論される(330)。
【0050】
再び図3を参照すると、ソーシャル・ネットワーキング・システムは、次いで、トピックまたはページ・コンテンツに関係付けられた、ユーザによる第2の対話を(例えば、アクション・ロガー215を介して)受信する(340)。工程320の第1の対話のように、対話は、アクション・ロガー215によって受信される。例えば、ユーザは、ページに関して別のコメントを行う、ページの一部のコンテンツを共有する、ページに関する別のユーザのコメントに対して「いいね」を表明する/コメントする、関係した別のページ、またはページの同じコンテンツに関してコメントする、トピックに関係付けられたウォール投稿を投稿することなどがある。場合によっては、第2の対話は、工程320の第1の対話の後に来る、予め決定された時間フレーム(例えば、1週間、2か月など)の直後、またはその時間フレーム内に起こる。他の場合には、第2の対話は、工程320の第1の対話より前に起こるが、ソーシャル・ネットワーキング・システムによって後で検索される。例として、ユーザは、ユーザがページに対して「いいね」を表明する前に、ページに関してコメントを行う。感情エンジンは、「いいね」が発生順で2番目に起こったとしても、工程320で、「いいね」を第1の対話として扱うことができ、工程340で、ユーザのコメントを第2の対話として扱うことができる。
【0051】
ソーシャル・ネットワーキング・システムは、次いで、(例えば、感情エンジン245を介して)ユーザの推論された感情極性を第2の対話に関連付ける(350)。例えば、ユーザの第1の対話が、ページに対して「いいね」を表明することであり、ユーザの第2の対話が、ユーザによってページ上で投稿されたコメントである場合、コメントのテキストのコンテンツについて知識がない場合でも、「いいね」の感情極性(すなわち、肯定的)が、第2の対話にも関連付けられる(350)。別の実施形態では、語彙ベースの分析を使用して、ソーシャル・ネットワーキング・システムは、第2の対話(コメント)が弱く肯定的であると決定し、コメントについて0.1という感情極性を推論する(330)。ページに対して「いいね」を表明したことから、以前に推論された(330)、ページに対するユーザの感情極性(例えば、0.8)を使用して、ユーザからのコメントが、0.9という同じ肯定的な感情極性に関連付けられ(350)、語彙ベースの分析から決定された、弱い肯定的な感情極性が置き換えられる。このプロセスは、ソーシャル・ネットワーキング・システムによるユーザのコメントの理解を有効に深める。
【0052】
場合によっては、第2の対話は、テキスト・コンテンツを有していない(例えば、「コメントなしで共有する」)。感情エンジン245は、以前の感情極性を第2の対話に関連付けることによって(350)、以前に推論された感情極性から、第2の対話の理解をさらに深めることができる。
【0053】
ソーシャル・ネットワーキング・システムの何人かのユーザは、トピックまたはページに対する極めて高い(肯定的または否定的な)感情極性を有し、ソーシャル・ネットワーキング・システムによって「信頼される(トラスト)」ようになることがある。図4は、ページのコンテンツに関連付けられたトラスト・ユーザを識別するためのプロセスを示すフローチャートである。言い換えれば、図4は、トラスト・ユーザ・マネージャ260が、どのユーザが信頼されるかを、どのように決定するかを示す。最初の2つの工程は、図3の工程320および330と同様であり、すなわち、ソーシャル・ネットワーキング・システムは、ユーザとページとの間の1つまたは複数の対話を受信し(410)、(例えば、感情エンジン245を介して)受信された1つまたは複数の対話からユーザの感情極性を推論する(420)。ソーシャル・ネットワーキング・システムは、次いで、ユーザの感情極性の絶対値が、信頼されると考えられるために必要な最小しきい値を超えるかど
うかを決定する(430)。説明のために、しきい値は、肯定的な感情極性と否定的な感情極性の両方について同じ大きさであり得る。他の例では、肯定的な感情極性のためのしきい値は、否定的な感情極性のためのしきい値に等しくなくてよい。ユーザの感情極性の絶対値が、しきい値を超えると決定される場合(430)、ソーシャル・ネットワーキング・システムは、ユーザを、ページのコンテンツ(またはトピック)に関連付けられたトラスト・ユーザのセットに追加する(440)。他方では、ユーザの感情極性の絶対値がしきい値を超えないと決定される場合(430)、ユーザは、トラスト・ユーザのセットに追加されないことになる。トラスト・ユーザのセットは、トラスト・ユーザ・ストア265に記憶される。
【0054】
トラスト・ユーザ・マネージャ260が、十分な数のトラスト・ユーザを識別しており、それらのユーザを、トラスト・ユーザ・ストア265に記憶すると、それらのトラスト・ユーザが、機械学習モデルをトレーニングするために使用され得る。図5は、機械学習モデルをトレーニングし、結果として得られた予測モデルを使用して、ユーザの感情極性を推論するためのプロセスを示すフローチャートである。最初に、ページのコンテンツ(またはトピック)に関連付けられたトラスト・ユーザのセットが、トラスト・ユーザ・マネージャ260によって識別される(510)。トラスト・ユーザは、上記の図4のように、または、機械学習モデルのためのトレーニング・データ・セットを提供することができる、トラスト・ユーザを作り出すための任意の他の方法によって決定され得る。一実施形態では、肯定的なトラスト・ユーザは、一定のしきい値(例えば、0.9)を上回る感情極性を有するユーザであり、否定的なトラスト・ユーザは、一定のしきい値(例えば、−0.9)を下回る感情極性を有するユーザである。コメントのセットは、各コメントの感情極性とともに、ソーシャル・ネットワーキング・システムの内部または外部のいずれかの機械学習エンジンである、「バッグ・オブ・ワーズ」感情分析器のためのトレーニング・セットとして働き得る。各トラスト・ユーザは、本質的に、自分自身のコメントに感情「ラベル」(すなわち、トラスト・ユーザの推論された感情極性)を与える、信頼される「ラベラ」として機能する。言語非依存のトレーニング・セットを使用してトレーニングされた「バッグ・オブ・ワーズ」感情分析器は、言語非依存の方法で動作することができる。
【0055】
データ・セットが、次いで、例えば、トラスト・ユーザ・マネージャ260によって、トラスト・ユーザごとに決定され得る(520)。例えば、データ・セットは、トラスト・ユーザとページとの間の対話(既知の入力)を、トラスト・ユーザの感情極性(既知の出力)とともに含み得る。同様のデータ・セットが、トラスト・ユーザごとに決定される。決定されたデータ・セットは、トレーニング・データ・ストア270に記憶される。
【0056】
集められたデータ・セットは、例えば、機械学習モジュール252によって編成されるような機械学習モデルを、トレーニングする(530)ために使用される、トレーニング・セットを形成する。例えば、機械学習モジュール252は、トレーニング・データ・ストア270からトレーニング・セットをフェッチし、トレーニング・セットを入力として用いて、監督された機械学習(例えば、機械学習アルゴリズム650)を使用して、予測モデル(例えば、665)をトレーニングする。一実施形態では、トレーニング・セットは、言語に非依存である。例えば、トレーニング・セットは、様々な言語におけるユーザ対話を含み得る。トレーニング中にそのような言語非依存のデータを使用してトレーニングされた機械学習モデルもまた、動作中に言語に非依存であり得る。
【0057】
予測モデルが、図3の工程330と同様に、ユーザの感情極性を推論する(540)ために使用される。一実施形態では、推論すること(540)は、感情エンジン245によって実施される。
【0058】
図6は、トレーニング、および次いで、トピックまたはページに対するユーザの感情極性を推論するための、機械学習モデルの使用を示すブロック図である。ページのコンテンツまたはトピックに関連付けられたトラスト・ユーザのセット610は、例えば、トラスト・ユーザ・マネージャ260によって識別されるか、または、トラスト・ユーザ・ストア265から検索され、トラスト・ユーザのセット610は、ユーザAと、ユーザBと、...、ユーザMと(すなわち、有限数のユーザ)を含む。各トラスト・ユーザは、ページとのトラスト・ユーザの対話630(既知の入力)と、トラスト・ユーザの感情極性640(既知の出力またはラベル)とを含む、データ・セットに関連付けられる。図6に示されるように、ユーザAの対話は(x,x,...,xと示され、ユーザBの対話は(x,x,...,xと示される、などとなる。一実施形態では、xは、ユーザAがページに対して「いいね」を表明することを表し、xは、ユーザAがページに関してコメントするかどうかを表し、xは、ページに対して「いいね」を表明する、ユーザの友達の数を表し、xは、ユーザがページ上で有する肯定的なコメントの数を表し、xは、他のユーザによって「いいね」を表明される、ページ上のユーザのコメントの数を表し、xは、ユーザによって「いいね」を表明された、ページ上の肯定的なコメントの数を表す、などとなる。この例では、トラスト・ユーザの対話630は、トラスト・ユーザと、トラスト・ユーザの友達と、ソーシャル・ネットワーキング・システムにおける他のユーザと、ページに関するコメントと、ページ自体と、ページに関係付けられた他のコンテンツなどとの間の対話を含む。
【0059】
トレーニング・セット620は、トラスト・ユーザのセット610から集められたデータ・セットである。この例では、トレーニング・セット620は、ユーザAからの{(x,x,...,x,Y}と、ユーザBからの{(x,x,...,x,Y}などとを含む。ユーザJに関連付けられた感情極性640は、Y(J=1,2,...,M)と示され、ルール・ストア254、基礎的(例えば、予めトレーニングされた)機械学習モデル、語彙ベースの分析などを介して取得され得る。トレーニング・セット620は、機械学習モデルをトレーニングするための、機械学習アルゴリズム650への入力である。例えば、機械学習アルゴリズム650は、感情極性を取得するために、対話の線形関数を実装することができる。他の関数もまた実装され得る。線形関数の場合、機械学習モデルは、a+a+・・・+a+c=Yによって表されてよく、ただし、a(k=1,2,...,N)は係数であり、cは定数である。一実施形態では、係数aは、対話の相対的重要性に対応する初期値を有する。例えば、「いいね」対話は、「共有する」対話よりも低い重みを得ることがあり、「報告する」対話は、「隠す」対話よりも高い重みを得ることなどがある。場合によっては、定数cは、トレーニング中にフィッティング値として使用される。モデルをトレーニングするプロセスは、機械学習モジュール252によって、機械学習アルゴリズム650を介して遂行される。例えば、初期値は、以下の線形式のセットが同時に満たされるように修正され得る。
【0060】
(a+a+・・・+a+c=Y (J=1,2,...,M)
(1)
トレーニングの出力は、予測モデル665を集合的に形成する、決定されたパラメータ655である。
【0061】
予測モデル665は、感情エンジン245によって、ユーザの感情極性を推論するために使用され得る。この例では、ユーザQは、テスト中の新しいユーザであり、ユーザQの対話660(x,x,...,xが、予測モデル665に入力される。予測モデル665におけるパラメータが決定されているので、上記からの例を続けて、予測モデル665からの出力−ユーザQ(Yと示される)の推論された感情極性670−は、モデル:Y=(a+a+・・・+a+cを適用することによって
決定される。例示的に、これは、一般に図3の工程330に示されるプロセスである、感情エンジン245がどのようにユーザの感情極性を推論し得るかの詳細な例である。
【0062】
ユーザのグループの感情極性が推論されると、それらの感情極性は、感情ストア250に記憶され、様々な機会で分析され得る。
図7A図7Cは、小売業者ページに対するユーザの感情極性の3つの異なる分析を示すユーザ・インターフェースの図である。これらの3つの例は、図7A図7Cの例ではページの所有者である小売業者が、小売業者のページおよびそのページ上の特定のコンテンツへのユーザの反応をよりよく理解するため、ならびに、したがって、将来のコンテンツについての判断を下すために、どのように感情極性データを使用し得るかについての使用事例を提供する。図7Aはコメントの極性に関し、図7Bは投稿の極性に関し、図7Cはユーザの極性に関する。図7Aは、小売業者のページ上でユーザによって行われたコメントの加重平均感情極性を時間の関数として示す。上の曲線710は、肯定的なコメント(別称、肯定性)の加重平均感情極性を示す一方で、下の曲線720は、否定的なコメント(別称、否定性)の加重平均感情極性を示す。この例では、0.17という肯定的な感情極性の平均と、−0.03という否定的な感情極性の平均とが、曲線710および720上で点715によって示された日付である2012年12月2日のページ上のユーザ・コメントに基づいて計算される。示されたユーザ・インターフェースは、分析ページのユーザに、日付を表す様々なロケーションに点715を移動させて、その日付についての感情極性データのより詳細なビューを提供する能力を可能にする。高い肯定的な感情極性は、低い否定的な感情極性とともに、ページがユーザによって一般に好まれていることを示す。他方では、高い否定的な感情極性は、低い肯定的な感情極性とともに、ページがユーザによって一般に嫌われていることを示す。肯定性および否定性は、時間を通じて追跡され、場合によっては、また、その時点でユーザ感情に影響を及ぼしている可能性がある追加のデータを提供する助けとなる、いくつかのイベントおよび休暇(例えば、ハリケーン・サンディ、選挙、感謝祭、クリスマスなど)と相関させられる。例えば、小売業者ページは、休暇シーズン(感謝祭、クリスマスなど)中に、高い肯定性および低い否定性を有し、小売業者がその期間中にユーザから肯定的なフィードバックを受信したことを示す。この情報は、小売業者にとって、例えば、いくつかのユーザ・グループをよりよくターゲットにするために、ユーザの好みを研究するために有用である。例えば、小売業者は、洞察ページから、他のユーザ・グループよりも高い肯定性を示す、あるユーザ・グループを識別することができる。これによって、小売業者が、このユーザ・グループに対して、および、肯定性が一般に高く、宣伝が有効である傾向がある期間(例えば、休暇シーズン)中に、ターゲット宣伝を行うことが可能になる。
【0063】
図7Bは、小売業者ページ上の極性付き投稿の割合を時間の関数として示す。極性付き投稿は、投稿のうちで非ゼロの感情極性を有するものを言う。極性付き投稿は、肯定的(肯定的な感情極性を有する)または否定的(否定的な感情極性を有する)のいずれかであり、したがって、より高い割合の極性付き投稿は、人気があることを示すことがあり、または代替的に、論議の的となるコンテンツを示すことがある。曲線730は、すべての投稿に対する、極性付き投稿全体(肯定的な投稿と否定的な投稿とを含む)の割合を示す一方で、曲線740および750は、すべての投稿に対する、肯定的な投稿および否定的な投稿の割合をそれぞれ示す。例えば、2012年11月23日(点735によって示される)に、ページ上のすべての投稿の77%に極性が与えられ、その内訳は、55%が肯定的な投稿であり、22%が否定的な投稿である。上の曲線740は、肯定的な感情極性がその日付でより低かったことを示し、下の曲線750は、否定的な感情極性がその日付でより高かったことを示す。小売業者ページ所有者は、なぜ感情極性が全体的に下がったかを決定するために、その日のページ上のコンテンツをさらに調査することを望むことがある。図7Bは、極性付き投稿の割合と、肯定的な投稿の割合と、否定的な投稿の割合とが、ページ上に写真をアップロードすること、またはページ上で投稿を公開することなど、
いくつかのユーザまたは小売業者アクションとそれぞれ相関させられ得ることをさらに示す。この情報は、小売業者にとって、例えば、あるトピックにおける投稿または写真へのユーザの反応を研究するために有用である。例として、店全体の割引を特集する、小売業者による投稿の後に、より多くの肯定的な投稿が現れる場合、小売業者は、多くのユーザが割引を好むことを学習することができ、将来、より頻繁にその投稿を行うことができる。
【0064】
図7Cは、小売業者ページと対話する、極性付きユーザの割合を時間の関数として示す。極性付きユーザは、ユーザのうちで最大の極性付き感情極性を有する、例えば、上位20%の最も肯定的または否定的であるユーザである。曲線760は、すべてのユーザに対する、極性付きユーザ(肯定的なユーザと否定的なユーザとを含む)の割合を示すが、曲線770および780は、すべてのユーザに対する、肯定的な極性付きユーザおよび否定的な極性付きユーザの割合をそれぞれ示す。例えば、2012年12月12日(点765によって示される)に、小売業者ページと対話するすべてのユーザのうちの20%に極性が与えられ、その20%のうちの13%が肯定的な極性付きユーザであり、7%が否定的な極性付きユーザである。図7Cに示されるように、極性付きユーザの割合と、肯定的な極性付きユーザの割合と、否定的な極性付きユーザの割合とは、いくつかのイベントおよびホリデー(例えば、ハリケーン・サンディ、選挙、感謝祭、クリスマスなど)とそれぞれ相関させられ得る。
【0065】
この情報は、小売業者ページを強く好むかまたは嫌うユーザの数の直接的なビューを可能にし、そのビューは、小売業者が自らの市場戦略を改善することを可能にする補足的な洞察を提供する。例えば、小売業者は、図7Aから、高い肯定性が低い否定性とともにあること、および、図7Bから、否定的な投稿よりも多い肯定的な投稿があることを学習することができる。これらの2つの洞察から、小売業者は、「物事がうまくいっている」と結論することができる。追加の洞察に基づいて、小売業者は、自らの以前の結論を修正し、自らの市場戦略を改善しなければならないことがある。上記で示されたように、ユーザの感情極性に基づく分析は、小売業者ならびにソーシャル・ネットワーキング・システムにとって、有益な洞察(例えば、ユーザの好み、ユーザ・グループによる市場浸透など)を提供する。
【0066】
いくつかの実施形態では、ユーザの性別および年齢がフィルタリングされ、または別法により取り出されて、様々なユーザ・グループ(例えば、18歳〜24歳の間の男性、65歳を上回る女性など)に焦点が合わせられた分析が提供され得る。これらの人口統計学的フィルタは、閲覧するユーザによって選択され得る。
【0067】
一実施形態では、洞察ページは、単一のユーザ、またはユーザのグループに焦点を合わせた分析を含み得る。例えば、洞察ページは、所与のページに対する単一のユーザの感情極性を時間の関数として示すことがある。この例では、ユーザの感情極性の一貫した傾向が識別され得る。例として、ユーザは、肯定的な感情極性を一貫して示す(すなわち、「愛好者」)、否定的な感情極性を一貫して示す(すなわち、「嫌悪者」)、または、変化する感情極性を示す(例えば、愛好者から嫌悪者に切り替わる、またはその逆も同様)ことがある。一実装形態では、ユーザの新たに推論された感情極性は、それが一貫した傾向に従わない場合、異常なエントリとして識別される。例えば、ユーザは、あるトピックにおいて「愛好者」として知られているが、ユーザからの最近のコメントにおける語彙ベースの分析は、このトピックに対する否定的な感情を生じる。ユーザが「愛好者」であることを知ることは、ソーシャル・ネットワーキング・システムがそのような「誤り」を識別することを助ける。他方では、ユーザの新たに推論された感情極性は、それが一貫した傾向に従う場合、正しいエントリとして識別される。加えて、ユーザの感情極性の一貫した傾向に基づいて、ソーシャル・ネットワーキング・システムは、ユーザが「愛好者」から
「嫌悪者」に切り替わったと決定することができ、またはその逆も同様である。これによって、ターゲット宣伝のための洞察を提供することができる。例えば、ユーザがあるブランドの「愛好者」からそのブランドの「嫌悪者」に徐々に転じた場合、ソーシャル・ネットワーキング・システムは、代替ブランド(例えば、以前のブランドの競合)をユーザに宣伝することを考えることができる。
【0068】
一実施形態では、ソーシャル・ネットワーキング・システムは、ユーザがページのコンテンツに対してしきい値を下回る感情極性を有すると決定することがある。例えば、ユーザは、フットボールについて語るページに対して否定的な感情極性、または、0.2を下回る感情極性(例えば、わずかに肯定的)を有することがある。この場合、ソーシャル・ネットワーキング・システムは、ユーザがページのコンテンツ−この場合、フットボール−のファンではないと決定し、スポンサー付きストーリ、またはフットボールに関係付けられる他の候補ストーリ(例えば、最近のフットボールの試合に参加しているユーザの友達の一部のストーリ)を、例えば、ニュースフィード・マネージャ230を通じてユーザに送られないように、不適格とする。
【0069】
概要
上記の本発明の実施形態の説明は、例示の目的で提示されており、網羅的なものであるように、または本発明を開示された形態そのものに限定するように意図されていない。上記の開示に鑑みて、多くの修正および変形形態が可能であることは、当業者であれば了解されるであろう。
【0070】
この説明のいくつかの部分は、情報に対する操作のアルゴリズムおよび記号表現の観点から、本発明の実施形態を説明している。これらのアルゴリズムに関する説明および表現は、データ処理分野における当業者によって、自らの作業の本質を他の当業者に有効に伝えるために一般に使用される。これらの操作は、機能的、計算的、または論理的に説明されるが、コンピュータ・プログラムまたは等価な電気回路、マイクロコードなどによって実装されることが理解される。さらにまた、これらの操作の配列を、一般性を損なうことなく、モジュールと呼ぶことが場合によっては好都合であることも判明している。説明された操作およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せにおいて具現化され得る。
【0071】
本願明細書で説明された工程、操作、またはプロセスのうちのいずれかが、1または複数のハードウェアまたはソフトウェア・モジュールによって、単独でまたは他のデバイスと組み合わせて、実施または実装され得る。一実施形態では、ソフトウェア・モジュールは、説明された工程、操作、またはプロセスのうちのいずれかまたはすべてを実施するためにコンピュータ・プロセッサによって実行され得るコンピュータ・プログラム・コードを含有するコンピュータ可読媒体を備えるコンピュータ・プログラム製品によって実装される。
【0072】
本発明の実施形態はまた、本願明細書の操作を実施するための装置にも関し得る。この装置は、要求された目的のために特別に構築されてよく、および/または、コンピュータに記憶されたコンピュータ・プログラムによって選択的に起動または再構成される汎用コンピューティング・デバイスを備えてよい。そのようなコンピュータ・プログラムは、コンピュータ・システム・バスに結合され得る、非一時的な有形のコンピュータ可読記憶媒体、または電子命令を記憶するために好適な任意のタイプの媒体に記憶され得る。さらに、本願明細書で言及される任意のコンピューティング・システムは、単一のプロセッサを含んでよく、または、増大されたコンピューティング力のために複数のプロセッサ設計を採用するアーキテクチャであってよい。
【0073】
本発明の実施形態はまた、本願明細書で説明されたコンピューティング・プロセスによって作り出される製品にも関し得る。そのような製品は、コンピューティング・プロセスから得られる情報を備えることができ、その場合、その情報は、非一時的な有形のコンピュータ可読記憶媒体に記憶され、本願明細書で説明されたコンピュータ・プログラム製品または他のデータの組合せの任意の実施形態を含み得る。
【0074】
最後に、本願明細書で使用される言語は、主に読み易さおよび教示目的のために選択されており、本発明の主題を線引きまたは制限するように選択されていないことがある。したがって、本発明の範囲は、この発明を実施するための形態によってではなく、本願明細書に基づく出願において出るいずれかの請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、以下の特許請求の範囲に記載される本発明の範囲を限定するのではなく例示することが意図される。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C