Personalized Filtering of
   the Twitter Stream

   Pavan Kapanipathi 1,2, Fabrizio Orlandi1,
      Amit Sheth2 ,Alexandre Passant 1




1 Digital   Enterprise Research Institute, Galway – Ireland
                2 Kno.e.sis, Dayton, OH- USA



                                                              1
Motivation



                                                    Twitter – Growth

                                                      Information Overload




http://www.cmswire.com/cms/customer-experience/35-key-twitter-statistics-infographic-012384.php
                                                                                                  2
Motivation
• How many people should I follow ?
• Am I receiving latest/complete information ?




                                                 3
Background
 Twarql – Streaming annotated tweets
   Semantic Web Technologies
     Annotate Tweets (DBpedia Entities)
     Filter Stream using SPARQL Queries formulated

   Example:
     Stream all the tweets related to Semantic Web generated in
      Germany
             ?tweet moat:taggedWith ?topic .
             ?topic dcterms:subject category:Semantic_Web .
             ?tweet sioc:has_creator ?user .
             ?user geonames:locatedIn dbpedia:Germany .



                                                                   4
Approach -- Overview
    The new
  iPhone has a      Broadcast
3.5-inch screen,
                                Football
 released today
                                 User
                                Profiles

                   Filter
                                  Apple




                                           5
Annotate: iPhone                                           Get
                                       ?user foaf:interest                                     Subscribers
     The new
iPhone has a 3.5-
   inch screen,
                                 Architecture
                                        dbPedia:iPhone
                                             Union
                                                                                                based on
                                                                                               preference
                                       ?user foaf:interest
  released today
                                        Category:Apple
                                                                              Get Interested
                                                                              Subscribers
                                                                                               RDF
               Semantic Filter             Notify Update
           A
           N                     RDF
           N      Store and
           O
           T
                  Query Topics                               Semantic Hub
           A                               Fetch Updates
           T                     RS
           O
           R                      S                                                            Store FOAF
                  Update RSS




                                                                          Profile Generator
                          Push Updates
                           to Interested
                               Users



                                                             Create Profile
                                                                                                       6
Contribution
 Profile Generator
   Automatic generation of User Profiles


 Semantic Filter
   Annotating Twitter Stream with concepts from Linked
     Open Data


 Semantic Hub
   Delivering tweets to appropriate Interested Users (near
     real-time)

                                                              7
Profile Generator
                                                             Get Interested
                                                             Subscribers
                                                                              RDF
    Semantic Filter         Notify Update
A
N                     RDF
N      Store and
O
T
       Query Topics                         Semantic Hub
A                           Fetch Updates
T                     RS
O
R                      S                                                      Store FOAF
       Update RSS




                                                         Profile Generator




                                            Create Profile
                                                                                      8
Profile Generator
 Disconnected
Social websites




 Isolated data
      silos




                    Social Networking Sites as Walled Gardens by David Simonds (Used with permission)
                                                                                                        9
Interlink social websites




                      Integration
                           &                            Merge and model user data
                    User Modelling




     User Profile
                                                        Personalise users’ experience
                                                             using their profile

Recommendations                      Adaptive Systems

               Search Personalisation



                                                                                      10
Profile Generator
 Data Extraction
   Twitter, Facebook, LinkedIn
   Example: Tweets, FB Likes

 Profile Generation
   Interests extracted from collected data
     Entity spotting (user generated data)
     Explicit interests specified by user (Facebook likes etc)
   Weighted Interests

 Semantic Representation of Profiles
   FOAF profile


                                                                  11
Semantic Filter
                                                             Get Interested
                                                             Subscribers
                                                                              RDF
    Semantic Filter         Notify Update
A
N                     RDF
N      Store and
O
T
       Query Topics                         Semantic Hub
A                           Fetch Updates
T                     RS
O
R                      S                                                      Store FOAF
       Update RSS




                                                         Profile Generator




                                            Create Profile
                                                                                   12
Semantic Filter
 Twitter Streaming API


 Microblog Metadata
   Twitter provides metadata
     Author, date, location etc..
   Metadata Extracted
     DBPedia Entities, URLs



 Generate SPARQL Query representing interested Users
   Retrieved at Semantic Hub


                                                        13
Semantic Filter – RDF
<http://twitter.com/rob/statuses/123456789>
       rdf:type sioct:MicroblogPost ;
       sioc:content "P Groth and Y Gil, Linked Data for Network Science
http://bit.ly/owxcJg #iswc2011 #lisc2011 #linkeddata-“•
       sioc:has_creator <http://twitter.com/rob> ;
       foaf:maker <http://example.org/rob> ;
       moat:taggedWith dbpedia:Linked_Data ;
       moat:taggedWith dbpedia:Network_Science ;

<http://twitter.com/rob/statuses/123456789#presence>
      rdf:type opo:OnlinePresence ;
      opo:startTime •2010-03-20T17:55:42+00:00 ;
      opo:customMessage <http://twitter.com/rob/statuses/123456789> .

<http://twitter.com/rob> geonames:locatedIn Dbpedia:Ohio .
[...]




                                                                          14
Semantic Filter– SPARQL Query
 Generate SPARQL Queries
   Representing FOAF of interested users




 SELECT ?user WHERE {
                  { ?user foaf:interest dbpedia:Linked_Data .}
           UNION
                  { ?user foaf:interest dbpedia:Network_Science .}
                  }




                                                                     15
Semantic Hub
                                                             Get Interested
                                                             Subscribers
                                                                              RDF
    Semantic Filter         Notify Update
A
N                     RDF
N      Store and
O
T
       Query Topics                         Semantic Hub
A                           Fetch Updates
T                     RS
O
R                      S                                                      Store FOAF
       Update RSS




                                                         Profile Generator




                                            Create Profile
                                                                                   16
PubSubHubbub
    Protocol
     PubSubHubbub is an extension to RSS/Atom
     Open, web hook based, pubsub protocol for Real-time notification
       of updates


    Drawback
     Publisher has no control over the dissemination of his content


    Extension – Semantic Hub
     Publisher controlled dissemination
     SPARQL Query representing the subset of target subscribers



                                                                       17
PubSubHubbub Protocol
                Extension
Hey I have new                           Here is the
                      Give me            new content
content for feed      the new
    X + my                                of feed X
                      content                                   Sub - A
 preference Y

                                                                Sub - B

  Pub                     Semantic Hub
                                                                 Sub - C


            Here it                                              Sub - D
              is

                                         Get the subscribers
                            Social       of Pub whose profile
                            Graph        matches preference
                                                  Y


                                                                          18
Semantic Hub
 RSS Extension
   Preference – to include the sparql queries



 Push content
   FOAF profiles of the subscribers are matched with the
    preference
   Interested subscribers receive the content


 Accepted as a full paper in the In-Use track at ISWC 2011



                                                              19
Conclusion
 Single consistent profile rather than profiles on multiple social networks
      User Profile Generation



 Architecture for Personalization of twitter stream
      Reduce load on users to follow others
        Public tweets streamed
      Access to information from experts in domains
        Are you following experts in your domain of interest?
        Experts public tweets will be streamed



 Dynamic groups of users
      Interest Driven




                                                                               20
Future work -- Why RDF
 Twarql features
   Concept feeds as interests of the users
Future Work

 Periodic FOAF profile generation for users
   Twitter Stream reflecting the changing interests


 Extending to other social networks (G+, FB)




                                                       22
Thanks
                                       Contact us on Twitter 

                                                  @pavankaps

                                                  @badmotorf

                                                    @terraces

                                                      @amit_p


Email: {pavan, amit}@knoesis.org
       {fabrizio.orlandi, alexandre.passant}@deri.org

This work is funded by (1) Science Foundation Ireland under grant number SFI/08/CE/I1380 (Lıon 2) and by an
IRCSET scholarship supported by Cisco Systems (2) Social Media Enhanced Organizational Sensemaking in
Emergency Response, National Science Foundation under award IIS-1111182, 09/01/2011 - 08/31/2014.
                                                                                                              23
24
Architecture




               25
Agenda
 Motivation
 Contribution
 Architecture
 Conclusion
 Future Work




                          26
 Weighing function based on RTs and other active
  engagements of the user




                                                    27

Personalized Filtering of Twitter Stream

  • 1.
    Personalized Filtering of the Twitter Stream Pavan Kapanipathi 1,2, Fabrizio Orlandi1, Amit Sheth2 ,Alexandre Passant 1 1 Digital Enterprise Research Institute, Galway – Ireland 2 Kno.e.sis, Dayton, OH- USA 1
  • 2.
    Motivation Twitter – Growth Information Overload http://www.cmswire.com/cms/customer-experience/35-key-twitter-statistics-infographic-012384.php 2
  • 3.
    Motivation • How manypeople should I follow ? • Am I receiving latest/complete information ? 3
  • 4.
    Background  Twarql –Streaming annotated tweets  Semantic Web Technologies  Annotate Tweets (DBpedia Entities)  Filter Stream using SPARQL Queries formulated  Example:  Stream all the tweets related to Semantic Web generated in Germany ?tweet moat:taggedWith ?topic . ?topic dcterms:subject category:Semantic_Web . ?tweet sioc:has_creator ?user . ?user geonames:locatedIn dbpedia:Germany . 4
  • 5.
    Approach -- Overview The new iPhone has a Broadcast 3.5-inch screen, Football released today User Profiles Filter Apple 5
  • 6.
    Annotate: iPhone Get ?user foaf:interest Subscribers The new iPhone has a 3.5- inch screen, Architecture dbPedia:iPhone Union based on preference ?user foaf:interest released today Category:Apple Get Interested Subscribers RDF Semantic Filter Notify Update A N RDF N Store and O T Query Topics Semantic Hub A Fetch Updates T RS O R S Store FOAF Update RSS Profile Generator Push Updates to Interested Users Create Profile 6
  • 7.
    Contribution  Profile Generator  Automatic generation of User Profiles  Semantic Filter  Annotating Twitter Stream with concepts from Linked Open Data  Semantic Hub  Delivering tweets to appropriate Interested Users (near real-time) 7
  • 8.
    Profile Generator Get Interested Subscribers RDF Semantic Filter Notify Update A N RDF N Store and O T Query Topics Semantic Hub A Fetch Updates T RS O R S Store FOAF Update RSS Profile Generator Create Profile 8
  • 9.
    Profile Generator Disconnected Socialwebsites Isolated data silos Social Networking Sites as Walled Gardens by David Simonds (Used with permission) 9
  • 10.
    Interlink social websites Integration & Merge and model user data User Modelling User Profile Personalise users’ experience using their profile Recommendations Adaptive Systems Search Personalisation 10
  • 11.
    Profile Generator  DataExtraction  Twitter, Facebook, LinkedIn  Example: Tweets, FB Likes  Profile Generation  Interests extracted from collected data  Entity spotting (user generated data)  Explicit interests specified by user (Facebook likes etc)  Weighted Interests  Semantic Representation of Profiles  FOAF profile 11
  • 12.
    Semantic Filter Get Interested Subscribers RDF Semantic Filter Notify Update A N RDF N Store and O T Query Topics Semantic Hub A Fetch Updates T RS O R S Store FOAF Update RSS Profile Generator Create Profile 12
  • 13.
    Semantic Filter  TwitterStreaming API  Microblog Metadata  Twitter provides metadata  Author, date, location etc..  Metadata Extracted  DBPedia Entities, URLs  Generate SPARQL Query representing interested Users  Retrieved at Semantic Hub 13
  • 14.
    Semantic Filter –RDF <http://twitter.com/rob/statuses/123456789> rdf:type sioct:MicroblogPost ; sioc:content "P Groth and Y Gil, Linked Data for Network Science http://bit.ly/owxcJg #iswc2011 #lisc2011 #linkeddata-“• sioc:has_creator <http://twitter.com/rob> ; foaf:maker <http://example.org/rob> ; moat:taggedWith dbpedia:Linked_Data ; moat:taggedWith dbpedia:Network_Science ; <http://twitter.com/rob/statuses/123456789#presence> rdf:type opo:OnlinePresence ; opo:startTime •2010-03-20T17:55:42+00:00 ; opo:customMessage <http://twitter.com/rob/statuses/123456789> . <http://twitter.com/rob> geonames:locatedIn Dbpedia:Ohio . [...] 14
  • 15.
    Semantic Filter– SPARQLQuery  Generate SPARQL Queries  Representing FOAF of interested users SELECT ?user WHERE { { ?user foaf:interest dbpedia:Linked_Data .} UNION { ?user foaf:interest dbpedia:Network_Science .} } 15
  • 16.
    Semantic Hub Get Interested Subscribers RDF Semantic Filter Notify Update A N RDF N Store and O T Query Topics Semantic Hub A Fetch Updates T RS O R S Store FOAF Update RSS Profile Generator Create Profile 16
  • 17.
    PubSubHubbub  Protocol  PubSubHubbub is an extension to RSS/Atom  Open, web hook based, pubsub protocol for Real-time notification of updates  Drawback  Publisher has no control over the dissemination of his content  Extension – Semantic Hub  Publisher controlled dissemination  SPARQL Query representing the subset of target subscribers 17
  • 18.
    PubSubHubbub Protocol Extension Hey I have new Here is the Give me new content content for feed the new X + my of feed X content Sub - A preference Y Sub - B Pub Semantic Hub Sub - C Here it Sub - D is Get the subscribers Social of Pub whose profile Graph matches preference Y 18
  • 19.
    Semantic Hub  RSSExtension  Preference – to include the sparql queries  Push content  FOAF profiles of the subscribers are matched with the preference  Interested subscribers receive the content  Accepted as a full paper in the In-Use track at ISWC 2011 19
  • 20.
    Conclusion  Single consistentprofile rather than profiles on multiple social networks  User Profile Generation  Architecture for Personalization of twitter stream  Reduce load on users to follow others  Public tweets streamed  Access to information from experts in domains  Are you following experts in your domain of interest?  Experts public tweets will be streamed  Dynamic groups of users  Interest Driven 20
  • 21.
    Future work --Why RDF  Twarql features  Concept feeds as interests of the users
  • 22.
    Future Work  PeriodicFOAF profile generation for users  Twitter Stream reflecting the changing interests  Extending to other social networks (G+, FB) 22
  • 23.
    Thanks Contact us on Twitter  @pavankaps @badmotorf @terraces @amit_p Email: {pavan, amit}@knoesis.org {fabrizio.orlandi, alexandre.passant}@deri.org This work is funded by (1) Science Foundation Ireland under grant number SFI/08/CE/I1380 (Lıon 2) and by an IRCSET scholarship supported by Cisco Systems (2) Social Media Enhanced Organizational Sensemaking in Emergency Response, National Science Foundation under award IIS-1111182, 09/01/2011 - 08/31/2014. 23
  • 24.
  • 25.
  • 26.
    Agenda  Motivation  Contribution Architecture  Conclusion  Future Work 26
  • 27.
     Weighing functionbased on RTs and other active engagements of the user 27

Editor's Notes

  • #3 How can both of these be done at one – Personalizing your twitter streamPut the name of the author of the source
  • #4 Friends, industry experts and favourite celebrities
  • #7 User generated content from the social networks (not profiles from the social network wont include the social graph)----- Meeting Notes (10/19/11 15:25) -----Rather than SPARQL syntax -- Generic (Make sure that the keywords are highlighted)
  • #8 ----- Meeting Notes (10/19/11 15:25) -----Rather than profile genrator (Aggregating profile information)----- Meeting Notes (10/19/11 15:27) -----Before contributions give some background
  • #9 User generated content from the social networks (not profiles from the social network wont include the social graph)----- Meeting Notes (10/19/11 15:25) -----Rather than SPARQL syntax -- Generic (Make sure that the keywords are highlighted)
  • #12 ----- Meeting Notes (10/19/11 15:25) -----1. Emphasize on Filtering2. Twarql enabled data
  • #13 User generated content from the social networks (not profiles from the social network wont include the social graph)----- Meeting Notes (10/19/11 15:25) -----Rather than SPARQL syntax -- Generic (Make sure that the keywords are highlighted)
  • #15 Highlight when speaking about the particulars
  • #17 User generated content from the social networks (not profiles from the social network wont include the social graph)----- Meeting Notes (10/19/11 15:25) -----Rather than SPARQL syntax -- Generic (Make sure that the keywords are highlighted)
  • #21 Merge advantages and conclusion slide
  • #22 Alex Blog post about.We use the semantic web technologies like RDF and SPARQL to filter the data. The information in the tweets is extracted and then the RDF triples are generated for each tweet. SPARQL queries are used to query these triples.For example. A sprarql Query which queries for all the tweets which has entities related to the dbPedia:HelathCare is subscribed. Our system filters the incoming data with this query and outputs the tweets.Pu