TwarqlTapping Into the Wisdom of the Crowd<br />Pablo N. Mendes, PavanKapanipathi, Alexandre Passant<br />I-SEMANTICS<br /...
Outline<br />Introduction<br />Motivation<br />Contributions<br />Use Cases<br />IPad Scenario<br />Location, Sentiment, R...
Tap into the Wisdom of the Crowd?<br />“taking into account the collective opinion of a group of individuals rather than a...
Social Media: Motivation<br />
Social Media: Motivation (contd.)<br />Information Overload!<br />
Twarql Contributions<br />Expressive description of an information need<br />Beyond keywords (uses SPARQL)<br />Flexibilit...
Use Cases (IPad Scenario)<br />Location<br />Retrieve stream of locations where my product is being mentioned right now.<b...
Use Case 1: Location (query)<br />Retrieve a stream of locations where my product is being mentioned right now.<br />SELEC...
Use Case 1: Location<br />Incoming microposts…<br />@anonymized<br />@anonymized<br />@anonymized<br />Loremipsumblabla th...
Use Case 1: Location<br />@anonymized<br />@anonymized<br />@anonymized<br />Loremipsumblabla this is an example tweet<br ...
Use Case 2: Consumer Sentiment<br />Retrieve all people that have said negative things about my product.<br />SELECT ? use...
Use Case 2: Consumer sentiment<br />Incoming microposts…<br />@anonymized<br />Loremipsumblabla this is an example tweet<b...
Use Case 2: Consumer sentiment<br />Invite users for testing our new launch:<br />@pablomendes<br />@terraces<br />@anonym...
Use Case 3: Content suggestion<br />Retrieve all URLs that people recommend with relation to my product<br />SELECT ?url<b...
Use Case 3: Content Suggestion<br />Incoming microposts…<br />@anonymized<br />Loremipsumblabla this is an example tweet<b...
Use Case 3: Content Suggestion<br />My IPad Journal<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />I...
Use Case 4: Competitors (query)<br />What competitors of my product are being mentioned? <br />SELECT ? competitor<br />WH...
Use Case 4: Competitors (query)<br />What competitors of my product are being mentioned with my product?<br />- comparativ...
Use Case 4: Competitors<br />Incoming microposts…<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsu...
Use Case 4: Competitors<br />Incoming microposts…<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsu...
Use Case 4: Competitors<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsumblabla this is an example...
Use Case 4: Competitors (contd.)<br />Highlights<br />When a new competitor “appears” in the KB, no change is needed in th...
Demonstration<br />Cuebee<br />query formulation<br />Twarql <br />information extraction <br />stream querying<br />sparq...
Upcoming SlideShare
Loading in...5
×

Twarql (Presentation at I-SEMANTICS 2010)

1,064

Published on

This was the presentation I gave at I-SEMANTICS 2010 for our first-prize winner at the Triplification Challenge 2010.

It describes scenarios that motivated our development of Twarql. The paper can be found at:
http://blog.semantic-web.at/wp-content/uploads/2010/09/a45_mendes.pdf

Citation:
Pablo N. Mendes, Alexandre Passant, and Pavan Kapanipathi. 2010. Twarql: tapping into the wisdom of the crowd. In Proceedings of the 6th International Conference on Semantic Systems (I-SEMANTICS '10), Adrian Paschke, Nicola Henze, and Tassilo Pellegrini (Eds.). ACM, New York, NY, USA, , Article 45 , 3 pages. DOI=10.1145/1839707.1839762 http://doi.acm.org/10.1145/1839707.1839762

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,064
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Sentiment: 53,237 positive; 6,739 negative; 451,171 neutral
  • Sentiment: 53,237 positive; 6,739 negative; 451,171 neutral
  • This use case requires merging streaming data with background knowledge information (e.g. from DBpedia). Examples of ?category include category:Wi-Fi devices and category:Touchscreen portable media players amongst others. As a result, without having to elicit all products of interest as keywords to lter a stream, a user is able to leverage relationships in background knowledge to more effectively narrow down the stream of tweets to a subset of interest.
  • This use case requires merging streaming data with background knowledge information (e.g. from DBpedia). Examples of ?category include category:Wi-Fi devices and category:Touchscreen portable media players amongst others. As a result, without having to elicit all products of interest as keywords to lter a stream, a user is able to leverage relationships in background knowledge to more effectively narrow down the stream of tweets to a subset of interest.
  • This use case requires merging streaming data with background knowledge information (e.g. from DBpedia). Examples of ?category include category:Wi-Fi devices and category:Touchscreen portable media players amongst others. As a result, without having to elicit all products of interest as keywords to lter a stream, a user is able to leverage relationships in background knowledge to more effectively narrow down the stream of tweets to a subset of interest.
  • Use case: get me all the tweets related to sports from all the friends of a user.The Formulate query will make a query for this assigning an ID for this, and will configure the social sensor for the query, id and hubURL.The hubURL will be given back to the client so the client knows where to collect information in future.
  • Sentiment: 53,237 positive; 6,739 negative; 451,171 neutral
  • Twarql (Presentation at I-SEMANTICS 2010)

    1. 1. TwarqlTapping Into the Wisdom of the Crowd<br />Pablo N. Mendes, PavanKapanipathi, Alexandre Passant<br />I-SEMANTICS<br />Graz, Austria <br />September 2nd, 2010<br />
    2. 2. Outline<br />Introduction<br />Motivation<br />Contributions<br />Use Cases<br />IPad Scenario<br />Location, Sentiment, Recommendations, Competitors<br />System<br />Demo<br />Architecture<br />Activity Flow<br />Annotation Pipeline<br />Conclusion<br />
    3. 3. Tap into the Wisdom of the Crowd?<br />“taking into account the collective opinion of a group of individuals rather than a single expert to answer a question” (Wikipedia)<br />Has been done successfully<br />box-office revenue prediction for movies (CoRR’10)<br />earthquake detection (WWW’10)<br />Can be useful in many scenarios<br />
    4. 4. Social Media: Motivation<br />
    5. 5. Social Media: Motivation (contd.)<br />Information Overload!<br />
    6. 6. Twarql Contributions<br />Expressive description of an information need<br />Beyond keywords (uses SPARQL)<br />Flexibility on the point of view<br />Ability to “slice and dice” data in several dimensions: thematic, spatial, temporal, sentiment, etc. <br />Streaming data + background knowledge<br />Enables automatic evolution and serendipity<br />Scalable real time delivery<br />Using sparqlPuSH(SFSW’10)<br />
    7. 7. Use Cases (IPad Scenario)<br />Location<br />Retrieve stream of locations where my product is being mentioned right now.<br />Consumer sentiment<br />Retrieve all people that have said negative things about my product.<br />Content suggestion<br />Retrieve all URLs that people recommend with relation to my product.<br />Related entities<br />What competitors are being mentioned with my product?<br />
    8. 8. Use Case 1: Location (query)<br />Retrieve a stream of locations where my product is being mentioned right now.<br />SELECT ? location<br />WHERE {<br />?tweet moat:taggedWithdbpedia:IPad .<br />?presence opo:currentLocation ?location .<br />?presence opo:customMessage ?tweet .<br />}<br />
    9. 9. Use Case 1: Location<br />Incoming microposts…<br />@anonymized<br />@anonymized<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />Loremipsumblabla this is an example tweet<br />Loremipsumblabla this is an example tweet<br />opo:currentLocation<br />?presence<br />?location<br />SELECT ? location<br />WHERE {<br />? tweet moat : taggedWithdbpedia : IPad .<br />? presence opo: currentLocation ?<br />location .<br />? presence opo: customMessage ? tweet .<br />}<br />opo:customMessage<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    10. 10. Use Case 1: Location<br />@anonymized<br />@anonymized<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />Loremipsumblabla this is an example tweet<br />Loremipsumblabla this is an example tweet<br />Update view if micropost matches contraints<br />opo:currentLocation<br />?presence<br />?location<br />SELECT ? location<br />WHERE {<br />? tweet moat : taggedWithdbpedia : IPad .<br />? presence opo: currentLocation ?<br />location .<br />? presence opo: customMessage ? tweet .<br />}<br />opo:customMessage<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    11. 11. Use Case 2: Consumer Sentiment<br />Retrieve all people that have said negative things about my product.<br />SELECT ? user<br />WHERE {<br />? tweet sioc:has_creator ? user .<br />? tweet moat:taggedWithdbpedia:IPad .<br />? tweet twarql:sentimenttwarql:Negative .<br />}<br />
    12. 12. Use Case 2: Consumer sentiment<br />Incoming microposts…<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />twarql:sentiment<br />?user<br />:Negative<br />sioc:has_creator<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    13. 13. Use Case 2: Consumer sentiment<br />Invite users for testing our new launch:<br />@pablomendes<br />@terraces<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />@pavankaps<br />Trigger action if micropost matches contraints<br />@anotheruser<br />twarql:sentiment<br />?user<br />:Negative<br />sioc:has_creator<br />Update view<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    14. 14. Use Case 3: Content suggestion<br />Retrieve all URLs that people recommend with relation to my product<br />SELECT ?url<br />WHERE {<br />? tweet moat:taggedWithdbpedia:IPad .<br />? tweet sioc:links_to ?url .<br />}<br />Note: Twarql extracts links and resolves shortened URIs before annotating the tweet<br />
    15. 15. Use Case 3: Content Suggestion<br />Incoming microposts…<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />?url<br />sioc:links_to<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    16. 16. Use Case 3: Content Suggestion<br />My IPad Journal<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />If micropost matches contraints,<br />accumulate information and update view<br />?url<br />sioc:links_to<br />moat:taggedWith<br />dbpedia:IPad<br />?tweet<br />
    17. 17. Use Case 4: Competitors (query)<br />What competitors of my product are being mentioned? <br />SELECT ? competitor<br />WHERE {<br />dbpedia:IPadskos:subject ?category .<br /> ?competitor skos:subject ?category .<br /> ?tweet moat:taggedWith ?competitor .<br />}<br />
    18. 18. Use Case 4: Competitors (query)<br />What competitors of my product are being mentioned with my product?<br />- comparative opinion!<br />SELECT ? competitor<br />WHERE {<br />dbpedia:IPadskos:subject ?category .<br /> ?competitor skos:subject ?category .<br /> ?tweet moat:taggedWith ?competitor .<br />}<br />?tweet moat:taggedWithdbpedia:Ipad .<br />
    19. 19. Use Case 4: Competitors<br />Incoming microposts…<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />dbpedia:IPad<br />skos:subject<br />?category<br />?category<br />?competitor<br />skos:subject<br />skos:subject<br />moat:taggedWith<br />?tweet<br />
    20. 20. Use Case 4: Competitors<br />Incoming microposts…<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />category:Wi-Fi<br />dbpedia:IPad<br />category:Touchscreen<br />skos:subject<br />?category<br />?category<br />?competitor<br />skos:subject<br />skos:subject<br />moat:taggedWith<br />Background knowledge is dynamically “brought into” microposts.<br />?tweet<br />
    21. 21. Use Case 4: Competitors<br />Background Knowledge (e.g. DBpedia)<br />@anonymized<br />Loremipsumblabla this is an example tweet<br />category:Wi-Fi<br />dbpedia:IPad<br />category:Touchscreen<br />skos:subject<br />?category<br />?category<br />?competitor<br />skos:subject<br />skos:subject<br />moat:taggedWith<br />?tweet<br />Trigger action if micropost matches constraints.<br />
    22. 22. Use Case 4: Competitors (contd.)<br />Highlights<br />When a new competitor “appears” in the KB, no change is needed in the query => Automatic Evolution<br />We found interesting products that we didn’t initially consider as competitors of IPad(e.g. IPhone)=> Serendipity<br />
    23. 23. Demonstration<br />Cuebee<br />query formulation<br />Twarql <br />information extraction <br />stream querying<br />sparqlPuSH<br />real time delivery<br />Demo link: http://bit.ly/twarql<br />
    24. 24. Architecture<br />Mendes, Passant, Kapanipathi, Sheth. Linked Open Social Signals, Web Intelligence 2010<br />
    25. 25. Twarql Streaming Activity Diagram<br />DIST. HUB<br />Web Client<br />APP SERVER<br />(SEMANTIC)<br />PUBLISHER<br />SOCIAL SENSOR<br />Twitter API<br />SETUP<br />keywords<br />FORMULATE QUERY<br />LISTEN(tweet)<br />STREAM(tweet)<br />query, #id<br />/register<br />/subscribe<br />STREAM(query, #id)<br />ANNOTATE(tweet)<br />REGISTER(query, <br /> new hubURL())<br />PUBLISH(tweet)<br />/publish<br />hubURL<br />FILTER(tweet, for all query)<br />#id<br />REQUEST(#id)<br />PULL(hubURL, req)<br />/feed<br />STORE(tweet)<br />feed update<br />UPDATE INTERFACE<br />RDF store<br />UPDATE(hubURL,rssTweet)<br />UPDATE(tweet)<br />#id<br />POLL<br />cache<br />CACHE(tweet)<br />QUERY(#id, query)<br />PUSH(tweet, subscriber)<br />RELAY<br />QUERY<br />/sparql<br />/sparql<br />http://www.slideshare.net/pablomendes/streaming-annotatedtweets<br />
    26. 26. Annotation<br />URL extraction<br />Regex based, short URL resolution via http redirects<br />Hashtag extraction<br />Regex based, “resolution” via TagDef and Tagal.us<br />Entity mention extraction<br />“Spotting” via string matching (prefix tree) based on a dictionary (DBpedia)<br />Disambiguation on the way! (via DBpedia Spotlight)<br />Conversion to RDF triples <br />using SIOC, FOAF, MOAT, etc.<br />
    27. 27. Conclusion<br />Flexibility and expressiveness in managing real time streams of information!<br />Triples generated for the IPad scenario<br />From June 3rd to June 8th<br />511,147 tweets<br />4,479,631 triples<br />… and counting!<br />You can generate triples too: http://twarql.sf.net<br />53,237 positive;<br /> 6,739 negative; <br /> 451,171 neutral<br />
    28. 28. Thank you<br />Connect with us:<br />@pablomendes<br />@terraces<br />@pavankaps<br />Collaborate:<br />http://twarql.sf.net<br />http://wiki.knoesis.org/index.php/Twarql<br />

    ×