Showing posts with label eme. Show all posts
Showing posts with label eme. Show all posts

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.