Showing posts with label semweb. Show all posts
Showing posts with label semweb. Show all posts

2013-01-08

The Semantic Web is an Innumerable Corpus

I recently had the opportunity to present my PhD to people who are knowledgeable in related fields (particularly CYC) and have noticed that their questions usually come from me not properly explaining one property of the Semantic Web which I have called the "Innumerable Corpus".

The Innumerable Corpus is defined as: Innumerable triplets describing innumerable subjects expressed using innumerable ontologies. The word innumerable means a "practical infinity", that is, something that is not infinite but is uncountable. This means that there is no one source or one ontology that should be considered as authoritative. There is no guarantee that information of the same type (e.g. people) from the same source will use exactly the same ontologies. A general purpose semweb browser will adapt to RDF data from any source.

The inherent instability in triplets for a subject means that thinking is terms of looser "predicate patterns" is perhaps more useful than expecting conformance to ontologies.

Many Semweb projects scope the Innumerable Corpus property out. There are projects that use RDF as a data transmission language for data that is from controlled sources and in well defined ontologies. In that context a pragmatic approach is to hand produce the displays dependent on rdf:type. By ignoring the Innumerable Corpus property it is also possible to limit a project to a small subset of semweb data, place it locally for speed of access and perform computationally expensive processing over that data. Inferences can be pre-computing inferences before a user needs them.

All research projects have to scope things out for practical reasons but personally I find the Innumerable Corpus the property that most interests me about the semweb. The political argument is an important one; who controls how our knowledge is defined? Sure, authoritative information sources expressed in well known ontologies are important to our shared understanding but what about murky knowledge on the fringes? What about knowledge that is in dispute? What about knowledge that does not easily fit the orthodox ontologies? The decentralized possibilities of the semantic web really struck at the cyberpunk principles I've grown up with.

But there is also a technical reason too. Semweb browsers will eventually elaborate upon a subject by aggregating and inferring over RDF data from multiple sources. The greater the expansion then the greater probability that subjects of the same types will have less consistent predicate sets, particularly as owl:sameAs links are followed and rdf:type definitions expand. Data expansion The number of triplets per subject could be very high due to data expansion. Without filtering, grouping and ordering the displays of all those triplets will cause information overload.

The Innumerable Corpus means that each subject requires a custom produced display of data. This could be derived from how other similar (by rdf:type) subjects are displayed. These custom displays must be produced runtime.

Producing an authoritative display for an rdf:type is inherently fragile because it is difficult to account for missing predicates and additional predicates that do not conform to that display. Even the concept of an authoritative display assumes a single centrally ordained way of showing things. My preferred approach is to use personalization to let users negotiate with the semweb browser as to how they would prefer to see the data.

Plurality, instability and inconsistency are not special cases; The Innumerable Corpus is about accepting plurality, instability and inconsistency as normal and good.

2012-08-28

PhD Progress Report to August 2012

It's been awhile since I have posted on this topic so here's what I've been doing with my PhD. I have since made several improvement to the semantic web browser described in my last PhD update and have been experimenting with techniques to reduce information overload.

Reminder: My research tries to reduce information overload when displaying data where the structure of that data is not known ahead of time.

There is a good body of research in linking determining how related text strings are by meaning (the linguistics meaning of semantics). The problem for me is that the speed is not fast enough for building displays at runtime in a web-browser. I instead went with lexical methods that use naïve rules to just compare characters in a label. There are well establish algorithms for this; Dice, Levenshtein to name a two. My implementation of Dice in Javascript is now in the WikiBook project called Algorithm Implementation

What is not immediately clear is how these algorithms should determine similarity when two triplets with labels resolved are compared. Assuming that the subject is equal/equivalent then just how does x->firstname:John relate to x-->surname:Xeedown? My most recent chapter took Dice and Levenshtein string similarity algorithms and then compared an averaging of the predicate and object similarities versus simply taking the higher of the predicate or object similarities. I conducted a study with twenty human participants and have analysed the data. The data is indicating that a naïve lexical algorithm can give acceptable (i.e. “usefully better than random”) results in line with what human participants would say about the same triplet pairs. This is encouraging.

In that study I also tested any algorithm for determining if triplets were redundant. This is used to subsume (not display) triplets when it is deemed that other triplets contain equivalent information. I already had built such an algorithm using intuition and voodoo – and the testing on humans indicates that the algorithm is usefully better than random at matching what humans also rank as redundant data. This is also encouraging.

Using the redundancy algorithms I now manage to avoid displaying quite a number of triplets. In some cases, using data from dbpedia, about 55% of triplets are simply not displayed because they contain redundant information or are turned into lists.

I also used the similarity algorithms (actually the inverse) as the distance metric in hierarchical clustering of triplets. The cluster hierarchy is then flattened which results in groups of related triplets. While not giving perfect results, for a “first naïve attempt” at grouping triplets the results appear to be better than random – though I have not tested this.

I am currently writing up research results and learning tons about statistics as I go. It is particularly interesting to read about the debates in statistics for multi-rater agreement in Likert scales. After trying to come to grips with so much math I eventually went with the old method of just just looking at the shape of the of raters histogram.

Going forward from here is the next chapter. This one leaps off from the “first attempt” approaches described above and attempts to find algorithms that learn the user's preferences for ordering, grouping and redundancy. Recommender systems research has some particularly interesting avenues to explore here. I currently invisage a conversational User Interface that allows the user to express their data display preferences (order, grouping, redundancy etc) via direct manipulation.

The performance of any algorithms found and adjusted will then be tested against human raters. Once that study is complete I then theoretically switch into “write up” mode for the thesis but will need the ocassional coding distraction of actually implementing the results of the studies into Eme. Things are looking promising.

2012-02-12

My PhD: The Simple Version

I have been struggling to come up with a simple way to explain my PhD but I think I have it.

My research tries to reduce information overload when displaying data where the structure of that data is not known ahead of time.

This is a particular problem for the Semantic Web because of the Innumerable Corpus property. That is: there is an innumerable amount of data expressed using innumerable ontologies (structures). This research will help in the construction of a general purpose semantic web browser.

What is the scale of the problem? If an ontology is well known then a human can hand-craft a display for that ontology but that display is fragile and fixed. Fragile meaning that it will only work for that one ontology and will not display data that only partially uses the ontology (and what is data is used from multiple ontologies?). A fixed display will not necessarily suit the needs of all users.

Where ontological enrichment research expands the amount of data available about a subject, my research reduces data to the minimally most useful set compared to what is known about user goals. My research then attempts to select displays that reduce information overload by taking into account user needs.

I currently (Feb 2012) have a beta semantic web browser (Eme) suitable for continued experimentation. I am currently working on algorithms to make intelligent decisions for the display by discovering how data triplets are related.

Are triplets related somehow? completely independant? members of the same set/list? redundant equivalents? or a related alternative? Knowing this allows us to make intelligent decisions about the display; related triplets can be grouped together, members of a set can be displayed as a list, redundant triplets can be eliminated and alternative need only one of the alternatives displayed.

2011-02-13

Three predicate types when considering SemWeb displays

When formatting semantic web triplets (subject -> predicate -> object) for display, it is useful to have further information about the predicates that are available. Predicates can be classified into three different types: Related, Independent and Sets. Knowledge of these predicate types can inform presentation of semantic web data in a display.

Related predicates naturally belong together. When all data for a subject is presented a user will generally expect that related predicates are displayed in close proximity to each other and perhaps have a title to name the cluster of predicates (e.g. Personal Data”). Related predicates proximally cluster in a display to reinforce the meaning of each other. Examples of related predicates are: foaf:familyName & foaf:givenName, dc:subject & dc:type and wgs84_pos:lat & wgs84_pos:long (latitude and longitude) . A cluster of related predicates may indicate that a linked ontological class could have been formed from the cluster and linked back to the original subject, but the ontology designers probably decided to simplify the ontology be reducing inter-subject relationships. Examples of this are: foaf:familyName & foaf:givenName could have been moved into a PersonName class but given that almost every person has a name it would be pointless complexity to have done so.

Independent predicates stand completely alone and are not related to other predicates within an ontological class. Note that related and independent should be more considered a continuum of the degree of relatedness between all predicates in an ontological class. Independent predicates are those that do not naturally cluster with other predicates. Examples of independent predicates are: dc:name, rdf:title, and foaf:depiction.

Set predicates can be repeated many times within a subject with different objects in each triplet. This effectively creates a list (or set) of predicate-object pairs within the subject. Examples include: geoname:wikipediaArticle, foaf:knows and gedcom:marriage. Users will generally expect that sets members will be displayed in close proximity. In some display formats it is possible (and perhaps even preferable) to display the predicate label only once.

It is possible to identify set type predicates by examining the rdf data because set type predicates will be repeated with different objects. Automatically identifying related and independent predicates is not so easy because information about these predicate types are not generally contained in the ontological specification. Therefore, additional ontological specification is needed and relatedness/independentness will need to be added by humans once per ontology.

Given that each predicate type has different user expectations for display then a semantic web browser that knows the predicate type contained within an ontological class can make more user appropriate decisions about the display of semantic web data.

2011-02-10

A Review of User Interface Adaption in Current Semantic Web Browsers

The working paper (tech. report) based on chapter two of my doctorate has just been published. It is entitled "A Review of User Interface Adaption in Current Semantic Web Browsers".

Abstract: This paper reviews current semantic web browsers to see if they can adaptively show meaningful data presentations to users. The paper also seeks to discover if current semantic web browsers provide a rich enough set of capabilities for future user interface work to be built upon.

PDF Link

2008-11-14

ARC2 and Triplify

I have been using Triplify to publish the MySQL world example database as linked data (see results here). I also tried out ARC2 to start messing about with PHP and SPARQL. Unfortunately the two don't currently play nicely together because ARC2's parsers don't like Triplify's N3 output. Fortunately we can use a back-door via CURL and SPARQL to work some magic.

function fetchURLAndStore($arc2store, $into, $url) {    
  $curl_handle=curl_init();
  curl_setopt($curl_handle,CURLOPT_URL,$url);
  curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
  $buffer = curl_exec($curl_handle);
  curl_close($curl_handle);
  $q = 'INSERT INTO <' . $into . '> { ' . $buffer . ' }'
  $arc2store->query($q);
}

2008-08-08

Gender Research and the Semantic Web

I enjoyed this interview with researcher Corinna Bath on Semantic Web Company's site. Her work touches on areas in my own research. This line in particular stood out for me: "Knowledge is always historically and culturally situated". Semweb triplets are so atomised that they are devoid of a context from narrative (both surrounding temporal/time & heteroglossia). However, the choice of ontology that the triplet is expressed still carries the context. Yes, the decision on the data for a particular object in a subject-predicate-object relationship is culturally dependent - but the boundaries for what the object can be are set by the ontology. The mere existence of a triplet also infers that it has some value - and that notion of value is culturally situated. The semweb allows for alternative viewpoints and for data to be expressed in whatever ontology fits the worldview you subscribe to. There is no central data-source and no central dictator of ontology. In this environment some ontologies and data-sources will become dominant. In the world of direct-linking RDF (LDI e.g. DBPedia) there will be a mainstream discourse that is powerful. However, this does not exclude alternatives. A pragmatic information consumer accepts that the information author holds certain views and adjusts. The "adjusting" applies as equally to alternative voices as it does to the mainstream hegemony. This is at the heart of the critical consumer/critical thinking or, in simpler terms, surfing with the BS filters set to high. Creative writing authors are encouraged to find their voice; the parallel for semweb information producers is to produce information in the worldview in which they can produce the most accurate information with the least amount of data. The flipside, and something I'm keenly aware of as a graphic designer, is that there must be some utility to the audience. That is, you write using your voice with an audience in mind because your voice is wasted if your intended audience will not understand or accept it. An utterance attempts to convince an audience of the truth of the utterance. This applies even to data triplets on the semweb - except that a semweb triplet is like storytelling with three word flash fiction (e.g. priest->death->saturday). My hope is that future semweb interfaces allow for the synthesis of data from multiple sources/ontologies and that indirect-linking is further developed. Indirect-linking allows for information discovery off the direct-link beaten track. This would allow users more control over what they see - hopefully allowing users tools that assist recontextualising data from the expressed worldview into the user's own reality.

2008-03-17

Tabulator Firefox extension

I've just started using the Tabulator Firefox extension for browsing the SemWeb. I found that it needed a few tweaks to make it play super-duper nicely.

  • If you have the Piggybank (and Solvent) Firefox extensions then disable these.

Use about:config in the address bar of firefox and change these keys:

  • signed.applets.codebase_principal_support = true (search using the word signed or codebase)
  • network.http.accept.default : add application/rdf+xml to the head of the comma-separated list. (search using the word accept)

Now DBPedia "resource/" links will correctly resolve to using Tabulator, while "page/" links will use DBPedia's own browser. Try it out below:

2008-02-21

Ontological Expressiveness and FOAF

This post on Danbri's Blog highlights an interesting issue in ontological design. Just how specific and expressive do we make an ontology?

TBL has espoused designs that have the "Least Power" which makes them easier to design, implement and use. The sucess of HTTP is a great case in point. As a parallel, in graphic design we have a famous quote about beauty being taking everything out until you can't take anything else out. It's a pretty good philosophy, but like least approached it requires a knowledge of exactly how much is enough and how much is too much. That requires a deep knowledge of how the ontology will be used.

In FOAF, the a single relationship type foaf:knows exists. And most mapping tools I've seen assume a bi-directionality in foaf links - that is if one person lists another as a friend then a back-link is assumed whether or not it actually exists.

Do we want more specificy in foaf relationship types? Perhaps a fuller suite of uni-directional relationship types? In these early stages I'm not sure it's so important to get so specific. Once we get more of foaf:knows relationships then some way to classify these would become more important. For example, Facebook allows an optional level of extra specificity in describing relationship types - that is often necessary given the numbers of friends some people collect in Facebook social networks.

There is some work in this area already: A vocabulary for describing relationships between people

From another perspective, if an enumerated type over a typical dataset forms clusters approaching a single member - and that enumerated type is not meant to be a candidate key and the enumerated label is not naturally a singleton then the enumerated type is probably too specific. (an example of a natural singleton enumeration would be motherof or fatherof.)

And "typical" is the key here. Ultimately it becomes the specialist vs generalist tension that only really gets resolved via de-facto usage.

2007-08-31

Monetizing the Semantic Web

Traditional products and service sellers stand to gain customers because the SemWeb will enable location and comparison. But, how do content creators make money selling RDF triplets? Injecting advertising into rich media might make money on the SemWeb. RDF triplets might be filtered at user's computer - and not merely to remove advertising. However, today's computers lack the smarts to remove advertising from rich media; images, sounds, animations, videos, flash interactives. Google has already begun experiments with advertising support for YouTube videos. Micropayments have been proposed since the days of Xanadu and periodically they become fashionable for a time. Clay Shirky's The Case Against Micropayments discusses why cross-site micropayments have never, and will probably never, succeed. Within single sites micropayments do work. Many sites have created internal micropayment currencies. Amazon's S3 storage service uses a micropayment system that bundles many transactions - charged a cent at a time. Bundling is the right idea. Content creators can offer time-limited subscriptions to specific content. A content reseller (the "Info-Vendor) will then aggregate smaller subscriptions into package offerings. This is similar to how content sales already work for online academic journals, TV shows and music. An Info-Vendor service will then become part of the household utility bill - most likely bundled with broadband and cable TV. An Info-Vendor feed may even become a free good subsidized by taxation. This situation will simplify the finding problem of content selection because only a few sources need be queried. The latency aspect of the SemWeb data topography will be reduced resulting in faster and more reliable service. Content credibility can be judged by the Info-Vendors credibility. Ontological translation and basic inference could be run over the Info-Vendor's data store saving local processing time. There is potential for the AI synthetic creation of new content to outstrip human capacity to make use of the information. Info-Vendors may enforce favorite ontologies (and thus implicitly endorse worldview embedded in the ontology). Info-Vendors will also have a controlling stake in the content that users are exposed to. Alternative viewpoints might just not be represented in any of the commercial Info-Vendor's information stores. Contract and intellectual property laws can prevent users on-selling content (automated via proxies), there is difficulty proving ownership of a single RDF triplet. It is just not economical to include DRM at triplet level granularity. Also any DRM systems are at best voluntary. Info-Vendors will gradually lose control over their RDF triplets as the society starts to copy each triplet over and over again; RDF triplets will, in effect, data-leak into the public domain. Therefore, the value of an RDF triplet is in its scarcity. The most successful Info-Vendors will both make available new RDF triplets, including some created using AI synthesis. Like providers of other services, Info-Vendors will ultimately form a varied marketplace. Access to good Info-Vendor service could become the next digital divide. Summary: The ways to make money on the SemWeb are by injecting advertising into rich media and riding the rise of the Info-Vendor.