This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/
Machine Tags
Dr. Harry Chen
CMSC 491S/691S
February 27, 2008
Agenda
What’s Machine TagsDifferent ways to use Machine TagsDeficiency of Machine TagsMachine Tags implementation in gnizr
Traditional tags
This is how your “grandfather” uses tags
Tags are used for labeling
Tagging Model
Remember this diagram from our previous discussion?
User
Resources Tags
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?)
Describing and relating resources
The amount of user-generated content is growing on the Web (flickr, youtube, last.fm, upcoming, etc.).
New problem How to describe “ad-hoc” properties about the
resources that we have created How to relate multiple resources that we have
created across multiple Web sites
What’s an “ad-hoc” property?
Machine Tags
Tags with a special syntax that allow users to describe “ad-hoc” properties and relate distinctive resources across multiple Web sites.
+ =
http://www.flickr.com/groups/api/discuss/72157594497877875/
Triple Model
Machine Tag syntax is based on the Triple model, similar to which of the RDF language.
Subject
Predicate(Property) Object
(Value)
JohnnyPhoto-1923
takenBy
Machine Tag Syntax
There is no one standard syntax. Different systems may have variations of the original syntax proposed by Flickr.
[namespace] : [predicate] = [object]
Subject
Predicate(Property) Object
(Value)
Where is the “Subject” in the syntax?
Machine Tag example
Resource
Predicate
Object
Johnny SmithPhoto-1923
foo:takenBy
[namespace] : [predicate] = [object]
foo : takenBy = “Johnny Smith”
Describing location information
Subject
Predicate
Object
Photo-1923
geo:locality
Piccadilly Square
[namespace] : [predicate] = [object]
geo:locality=“piccadilly square”
Relating resources
What if I want to say “photo-1923” relates to “event-1393” on upcoming.yahoo.com…
Subject
Predicate
Object
Photo-1923
upcoming:event
http://upcoming.yahoo.com/event/1393
upcoming:event=1393
I machine-tagged, but what use?
Machine Tags can be used for Geotagging: putting your photos on a map Field-based search: search with prefix URL shortcuts: include image and video in your
blogs without much HTML editing Semantic Web experiments: describe properties
that link to RDF or OWL documents …
What’s your experience with Machine Tags?
Interesting use of Machine Tags
What camera did u use?
About the airplane
Machine Tags for selling books
http://adactio.com/journal/1274/
amazon:asin=1234567890
book:isbn=1234567890
http://learningtheworld.eu/2007/amazon-machine-tags/
Relating Flickr photos with a blog post
http://adactio.com/journal/1274/
Collective intelligence?
Machine Tag for field-based search
There are overlaps between the Machine Tag syntax and field-based search.
Benefit: learn one syntax and use it in two different ways
Machine Tag for building taxonomy?
Google Code allows administrator to define “Issue Labels”.
Relating resources to RDF/OWL
Geonames.ORG
http://sws.geonames.org/5352844/about.rdf
geonames:feature=5352844
http://www.geospatialsemanticweb.com/2007/03/28/geonames-machine-tags
Shortcomings of the Machine Tags
Lack of control vocabulary Who says you should or should not use what tags? Do you use “geonames:feature” or “gn:f=”
Difficult to express “object” of a complex value geo:lat/lng=23.00,39.23 (ugly, parser is need) geo:lat=23.00, geo:lng=39.23 (okay) 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?)
Difficult to describe certain semantic information we will see an example.
Where is your kid?
Tagged: - person=john- person=mary- person=david- landmark=power_station
Who is John?
Power Station?
Machine Tags in Gnizr
How “tags” are storedWhat does gnizr do when a “machine tag”
is detectedHow to add new implementation to
process new types of “machine tag”
DB Table: “tag”
id tag count
BookmarkManager
BookmarkManager
GeonamesTagListener
ForUserListener
geonames:[location]
for:[username]
bookmark
added
updateddeleted
notify
notify
GeonamesTagListener.java
Find all “machine tags” of gn:geonames=[location]
Get the latitude and longitude pair for[location] from Geonames.org.
Add POINT(lng,lat) about a bookmark to the DB.
Listen for new Machine Tags
Extend from BookmarkListener
Add new listeners to the BookmarkManager
Summary
Machine Tags are tags with a special syntax that allow users to describe “ad-hoc” properties and relate distinctive resources across multiple Web sites.
Use in geotagging, field-based search, foring URL shortcuts and experimenting with Semantic Web technology
Machine Tags have certain shortcomings in expressing rich semantic information.