Successfully reported this slideshow.

Machine Tags


Published on

Published in: Technology
  • Be the first to comment

Machine Tags

  1. 1. Machine Tags Dr. Harry Chen CMSC 491S/691S February 27, 2008
  2. 2. Agenda <ul><li>What’s Machine Tags </li></ul><ul><li>Different ways to use Machine Tags </li></ul><ul><li>Deficiency of Machine Tags </li></ul><ul><li>Machine Tags implementation in gnizr </li></ul>
  3. 3. Traditional tags <ul><li>This is how your “grandfather” uses tags </li></ul>
  4. 4. Tags are used for labeling
  5. 5. Tagging Model <ul><li>Remember this diagram from our previous discussion? </li></ul>User Resources Tags
  6. 6. What else can you say about “photo-1293”? Resources Relates to a YouTube video (link?) John Smith is in this picture (homepage?) Taken on 2007/12/03 @ 10:00PM Johnny is the photographer (homepage?) Relates to a family trip (trip’s homepage?) Location Piccadilly Square (latitude/longitude?)
  7. 7. Describing and relating resources <ul><li>The amount of user-generated content is growing on the Web (flickr, youtube,, upcoming, etc.). </li></ul><ul><li>New problem </li></ul><ul><ul><li>How to describe “ad-hoc” properties about the resources that we have created </li></ul></ul><ul><ul><li>How to relate multiple resources that we have created across multiple Web sites </li></ul></ul>What’s an “ad-hoc” property?
  8. 8. Machine Tags <ul><li>Tags with a special syntax that allow users to describe “ad-hoc” properties and relate distinctive resources across multiple Web sites. </li></ul>+ =
  9. 9. Triple Model <ul><li>Machine Tag syntax is based on the Triple model, similar to which of the RDF language. </li></ul>Subject Predicate (Property) Object (Value) Johnny Photo-1923 takenBy
  10. 10. Machine Tag Syntax <ul><li>There is no one standard syntax. Different systems may have variations of the original syntax proposed by Flickr. </li></ul>[namespace] : [predicate] = [object] Subject Predicate (Property) Object (Value) Where is the “Subject” in the syntax?
  11. 11. Machine Tag example Resource Predicate Object Johnny Smith Photo-1923 foo:takenBy [namespace] : [predicate] = [object] foo : takenBy = “Johnny Smith”
  12. 12. Describing location information Subject Predicate Object Photo-1923 geo:locality Piccadilly Square [namespace] : [predicate] = [object] geo:locality=“piccadilly square”
  13. 13. Relating resources <ul><li>What if I want to say “photo-1923” relates to “event-1393” on… </li></ul>Subject Predicate Object Photo-1923 upcoming:event upcoming:event=1393
  14. 14. I machine-tagged, but what use? <ul><li>Machine Tags can be used for </li></ul><ul><ul><li>Geotagging: putting your photos on a map </li></ul></ul><ul><ul><li>Field-based search: search with prefix </li></ul></ul><ul><ul><li>URL shortcuts: include image and video in your blogs without much HTML editing </li></ul></ul><ul><ul><li>Semantic Web experiments: describe properties that link to RDF or OWL documents </li></ul></ul><ul><ul><li>… </li></ul></ul>What’s your experience with Machine Tags?
  15. 15. Interesting use of Machine Tags What camera did u use? About the airplane
  16. 16. Machine Tags for selling books amazon:asin=1234567890 book:isbn=1234567890
  17. 17. Relating Flickr photos with a blog post Collective intelligence?
  18. 18. Machine Tag for field-based search <ul><li>There are overlaps between the Machine Tag syntax and field-based search. </li></ul><ul><li>Benefit : learn one syntax and use it in two different ways </li></ul>
  19. 19. Machine Tag for building taxonomy? <ul><li>Google Code allows administrator to define “Issue Labels”. </li></ul>
  20. 20. Relating resources to RDF/OWL Geonames.ORG geonames:feature=5352844
  21. 21. Shortcomings of the Machine Tags <ul><li>Lack of control vocabulary </li></ul><ul><ul><li>Who says you should or should not use what tags? </li></ul></ul><ul><ul><li>Do you use “geonames:feature” or “gn:f=” </li></ul></ul><ul><li>Difficult to express “object” of a complex value </li></ul><ul><ul><li>geo:lat/lng=23.00,39.23 (ugly, parser is need) </li></ul></ul><ul><ul><li>geo:lat=23.00, geo:lng=39.23 (okay) </li></ul></ul><ul><ul><li>What if I want to express multiple coordinates: geo:lat=23,00, geo:lng=39.23, geo:lat=33.00, geo:lng=-30.00, ... (How do I interpret the key/value pairs?) </li></ul></ul><ul><li>Difficult to describe certain semantic information </li></ul><ul><ul><li>we will see an example. </li></ul></ul>
  22. 22. Where is your kid? <ul><li>Tagged: </li></ul><ul><li>- person=john </li></ul><ul><li>person=mary </li></ul><ul><li>person=david </li></ul><ul><li>landmark=power_station </li></ul>Who is John? Power Station?
  23. 23. Machine Tags in Gnizr <ul><li>How “tags” are stored </li></ul><ul><li>What does gnizr do when a “machine tag” is detected </li></ul><ul><li>How to add new implementation to process new types of “machine tag” </li></ul>
  24. 24. DB Table: “tag” id tag count
  25. 25. BookmarkManager BookmarkManager GeonamesTagListener ForUserListener geonames:[location] for:[username] bookmark added updated deleted notify notify
  26. 26. Find all “machine tags” of  gn:geonames=[location] Get the latitude and longitude pair for [location] from Add POINT(lng,lat) about a bookmark to the DB.
  27. 27. Listen for new Machine Tags Extend from BookmarkListener Add new listeners to the BookmarkManager
  28. 28. Summary <ul><li>Machine Tags are tags with a special syntax that allow users to describe “ad-hoc” properties and relate distinctive resources across multiple Web sites. </li></ul><ul><li>Use in geotagging, field-based search, foring URL shortcuts and experimenting with Semantic Web technology </li></ul><ul><li>Machine Tags have certain shortcomings in expressing rich semantic information. </li></ul>