Friday, November 2nd, 2007

Yes, the Semantic Web is Flawed

Filed under: Science and Technology — Daniel Lemire @ 8:15

Jean Robillard and I presented some notes at ECAP 2007 on the Semantic Web and its flaws. I did not fly to Amsterdam, Jean did, but I am told our work was received with some criticism. You can browse the slides online:

Our main arguments against the Semantic Web were that 1) it relies, at best, on an incomplete theory of meaning 2) unlike what is suggested by the Semantic Web, meanings are not fixed and are tied to contexts.

I wish to elaborate some more on this whole debate.

The level and type of determinism in natural languages has evolved and reached a sweet spot. We are neither fully pedantic, nor entirely vague in our use of a natural language. A Semantic Web URI has static meaning: its meaning does not depend on its context of use. However, in natural languages, the meaning of a word depends on its context of use. I claim that natural languages are fundamentally ambiguous: the person reading a word will not see the same meaning as the person who wrote the word. I believe that we could not have designed an unambiguous natural language, and even if we had done so, such a language would be terribly inefficient as the Shannon entropy of any given message would be very large.

I define unambiguous as follows. There must exist a unique function applicable to the language that maps terms, words, and phrases to meanings. Whether this is even a well-defined concept is to be determined. A stronger requirement is that a language be computationally unambiguous: this unique map needs to be computable efficiently in practice.

Electronic computers will probably not change drastically the determinism of our discourse. The fact that the Semantic Web claims to be able to represent, at least simple things, without ambiguity is akin to proposing a new language which is itself without ambiguity. Is it possible to even build such an unambiguous language? If I am given such a language and that I need to verify that it is unambiguous and consistent, I probably have to solve an intractable problem (in the Turing sense).

Presumably, such a new language would allow machines to be much more efficient. However, this is akin to redefining a problem in order to solve it: you still need to translate, at some point, between the ambiguous natural language and the unambiguous RDF-based language used by the Semantic Web. The proponents of the Semantic Web usually assume that this problem will be solved using tools. In this sense, the Semantic Web is a language-centered initiative: let us agree on a nearly perfect language and the tools will follow.

Clearly, however, it is possible to construct small unambiguous languages. For example, the programming language Java is well-defined and unambiguous. Some subsets of Mathematics are unambiguous. But even if the language is unambiguous, it might be computationally intractable to determine the meaning. In languages like Java, the type of a variable (whether it is an integer or a string) can be known without running the software. In languages like Python or Ruby, the type of the object can only be determined by running the software which can be computationally hard. However, these languages are not closed: you cannot interact meaningfully with the world at large using these limited languages. The Semantic Web claim to be able to instantiate such a language. It is easy to see that such a language must be quite rich if it is to replace, or at least substantially improve over, Google.

To solve the problem of the one unique unambiguous language, people have proposed using instead several smaller unambiguous languages which can then be tied together using “ontology alignment” or other such techniques. I claim that if you have a finite number of unambiguous languages that can be aligned, then you effectively have a unique unambiguous language, at least in a mathematical sense.

But the Semantic Web claims to do more than just generate unambiguous languages, it claims to capture knowledge. However, this is clearly a fallacy. Here I borrow arguments from Stephen Downes’ How the Web works:

  • a great deal of knowledge - possible most of what we know - is ‘tacit’. That means it is ‘ineffible’. It cannot be expressed in words at all. As Michael Polanyi describes in Personal Knowledge, our knowing how to ride a bicycle cannot be expressed in words
  • knowledge is also irredibly personal. What something means depends on the context in which it is understood. Context infuses all levels of language and communication, from the meaning of a given word to scientific explanations and attributions of cause. What something means depends crucially on what else it could be, and this is not a matter of fact, but rather of one’s beliefs and opinions. A good way to see this is to think of the ‘meaning’ of a painting. The meaning of words works in a similar way.

Conclusion I am not ready to conclude yet. This is a work in progress. But please, do comment if you disagree or want to help me fix or complete the arguments.

Update: Andre is coming to the dark side by showing how hard it is to ontologize the world around us in a community-driven process. He also linked to a great wikipedia article: Neats vs. scruffies. I found some nice references there. Marvin Minsky has a neat book online on The Emotion Machine.

Update2: See jputnam’s post Completely unambiguous. Completely intractable? where he quotes Joel Spolsky as saying that turning a complete specification into an algorithm, is not a tractable problem.

13 Comments »

  1. The Semantic Web is an ambitious project but it is unrealistic but. It is a good way to construct knowledge in working on but its limit is its inability to build meaning as Daniel explained it in this short article.
    Even if we carried out to build successfully a meaning language based on ontology alignment, there would be no longer learning. Learning implies ideas conflict. In fact, well understanding each other is a fact, communicating is an other. The dialogue is necessary to share some different meanings between us. Someone wrote : “What we share together is not as interesting as what we don’t share”.

    Comment by Richard — 4/11/2007 @ 10:20

  2. you are right,
    As we know, the current semantic web using Description logics as the foundation of knowledge representation language, DL uses set theory to interpret logical axioms. That means the expressive ability of current semantic web knowledge representation language equals the set theory. I don’t think the set theory can express the whole world, actually it’s expressive ability is weak.
    Although, current DL can not represent the whole meaning of object, but it can represent a little meaning. In many situation, the scope of explanation for meaning is constrained , such representation ability is enough.
    In the future, we can add more extensions to DL, so it’s expressive ability is more power, closer to the whole meaning. Although it may never represent the actual meaning, it is useful for many applications.

    Comment by Jun Fang — 4/11/2007 @ 21:29

  3. “useful for many applications”

    I am very sympathetic to a pragmatic approach in Information Technology. Irrespective of their flaws, Semantic Web technologies could prove useful. But they have not proved useful, and yet, we have been funding them for nearly ten years. People always refer, vaguely, to applications of the Semantic Web, but they rarely point to any in particular.

    Arguably, it may take another 20 years for the Semantic Web to grow useful. Who knows?

    Comment by Daniel Lemire — 5/11/2007 @ 9:44

  4. The Semantic Web is an extension of the Web, and like most things, it is flawed, yes. The Web is a system which augments human communication, reasoning, decision making and so on. Semantic Web technologies make this infrastructure more useful.

    Taking your main points with that in mind:

    “1) it relies, at best, on an incomplete theory of meaning”

    - the Semantic Web relies on existing human approaches to naming and describing things, with conventions and mathematical formalisation here and there to help with computer representation. Existing human systems operate without a complete theory of meaning. There is nothing to suggest that a complete theory of meaning is a prerequisite of useful Web systems (and quite a lot to suggest the opposite).

    “2) unlike what is suggested by the Semantic Web, meanings are not fixed and are tied to contexts.”

    If I can say “the Eiffel Tower landmark in Paris”, why shouldn’t I give a URI to that concept and say things about that concept?

    You say: “The fact that the Semantic Web claims to be able to represent, at least simple things, without ambiguity is akin to proposing a new language which itself without ambiguity”. This is missing a layer of indirection. The things that are represented are generally human concepts. What is said about relations between those identified concepts *may* be unambiguous in a mathematical sense. The concept itself is largely a human definition, though things can be done to help disambiguate matters: e.g. “the tower in this photograph”.

    It’s possible to apply mathematical reasoning to problems like “if I have two carrots and add two more, how many will I have?”. The true philosophical meaning of ‘carrot’ is orthogonal. Same goes for the logic used in Semantic Web systems (and virtually all computer programming).

    Re. “People always refer, vaguely, to applications of the Semantic Web, but they rarely point to any in particular.”.

    Maybe people assume other people know how to use a search engine. Try googling “* is a semantic web application”.

    Here are a few of my favourites:

    DBPedia and the Linking Open Data cloud:
    http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData

    Sweet Tools is the nicest list I know of (hmm, host seems to be having trouble today):
    http://www.mkbergman.com/?page_id=325

    You can find more at:
    http://esw.w3.org/topic/

    and:
    http://blogs.talis.com/nodalities/this_weeks_semantic_web/

    Comment by Danny — 6/11/2007 @ 8:01

  5. vCards are quite useful, iCalendar files are useful, wouldn’t you like to have a button on a website “add this event to your calendar”? Thats what RDF is about, removing the problem of finding documentation for the file format (the URIs document themselves) and the problem of handling the data in different forms (XML is not good in databases, RDF is happy to live in many forms).

    Saying “the semantic web will fail” is limited, as you mean the aspect of “computer will understand automatically”. Biased, I would be very happy if I could move my social network and pictures away from flickr to another site without loss of information, but thanks to walled gardens and web 2.0 business, this is not possible out-of-the-box. With semantic web, at least the data formats would be the same.

    Comment by leobard — 7/11/2007 @ 5:04

  6. My comment appears to have disappeared. It did show up immediately after I posted it. I assume the spam protection doesn’t operate on the assumption that counterarguments = spam :-)

    Comment by Danny — 7/11/2007 @ 13:39

  7. My apologies, seem to have been a strange caching issue somewhere (probably my end) - I could only see comments 1,2,3,5. Now 4 is revealed.

    Comment by Danny — 7/11/2007 @ 13:42

  8. Hello leobard.

    There is ample evidence that common file formats are insanely useful. Microsoft Word comes to mind. RSS/Atom also.

    Does RDF make common format easier to design? Does RDF make common format automagical?

    Where is your evidence that RDF is so potent?

    If anything, on the topic of common file formats, it seems that XML was the major contribution as of late. RDF is not.

    In fact, there is evidence that RDF is a bad idea. Look at RSS 1.0 which is an instance of RDF… look at what a disaster it has been!

    Disclaimer: I do teach RDF to my student, if only for historical reasons. I do not think that RDF is bad. But RDF has not served us well.

    Comment by Daniel Lemire — 7/11/2007 @ 15:47

  9. Thanks for your elaborate comment Danny…

    Semantic Web technologies make this infrastructure more useful.

    I see no evidence that the Semantic Web makes the Web more useful.

    Semantics on the Web definitively makes the Web more useful (take RSS feeds as an example!)

    If I can say “the Eiffel Tower landmark in Paris”, why shouldn’t I give a URI to that concept and say things about that concept?

    Of course you can give it a URI. Here is the one I would use:

    http://en.wikipedia.org/wiki/Eiffel_tower

    That does not prove that the Semantic Web is useful or well-founded, only that wikipedia is a cool thing.

    It’s possible to apply mathematical reasoning to problems like “if I have two carrots and add two more, how many will I have?”. The true philosophical meaning of ‘carrot’ is orthogonal. Same goes for the logic used in Semantic Web systems (and virtually all computer programming).

    Google is already able to answer this one. Try typing “2+2″.

    If you do no need to know what a carrot is, whether it is white or yellow, then we are not talking about “Semantic Web”.

    As for the Semantic Web applications you point to… I did not say there were none strictly speaking, but I see no application there that could not have been built equally well without the Semantic Web. In other words, the Semantic Web community has not provided any proof or any evidence that it is making the Web better.

    Comment by Daniel Lemire — 18/11/2007 @ 13:44

  10. The Wikipedia URI is a good identifier - for that Wiki page. That page is not the Eiffel Tower! (How high is it? Oh, around 200 lines…).

    Semantic Web technologies do allow you to make statements like “this carrot is yellow”, but my point was that it isn’t necessary to have deep philosophy for it to be useful. Most of the most useful applications of Semantic Web technologies I’ve seen only deal with a simple data model - analogeous to relational databases, but more compatible with the Web.

    “I see no application there that could not have been built equally well without the Semantic Web” - sure, to a great extent this is true (quite a range of applications are easier to build using RDF tools, but this isn’t the significant part). But although you can build any kind of an application as a one-off, if you use Semantic Web standards they are compatible in a way that we’re not seeing from other approaches (mashups are fine, but they don’t have the flexibility the use of a common language can provide).

    Let’s see if one link will get past the spam trap : an 8 minute video, The Semantic Web of Data.

    Comment by Danny — 18/11/2007 @ 14:04

  11. The Wikipedia URI is a good identifier - for that Wiki page. That page is not the Eiffel Tower!

    No URI will ever be the Eiffel tower!

    Most of the most useful applications of Semantic Web technologies I’ve seen only deal with a simple data model - analogeous to relational databases, but more compatible with the Web.

    How so?

    But although you can build any kind of an application as a one-off, if you use Semantic Web standards they are compatible in a way that we’re not seeing from other approaches (…)

    As far as I can tell, this is an unsupported claim.

    Comment by Daniel Lemire — 18/11/2007 @ 23:52

  12. This is an interesting argument. Daniel do you feel the same way about the use of semantics and ontologies to integrate the myriad of heterogenous data sources in the enterprise.

    Particularly the ability to reason about an endpoint without having to expressly code that reasoning into the way applications interact.

    I see the semantic layer as the ultimate loose coupling driving heterogenous data sources.

    I’m quite interested in you view point on this.

    Comment by Manny Bonet — 9/3/2008 @ 19:10

  13. Manny: The problem is that semantics cannot be expressed using logic alone.

    But even when logical alone is useful, many important problems are not tractable.

    See for example my post:
    Formal definitions are less useful than you think
    http://www.daniel-lemire.com/blog/archives/2007/12/05/formal-definitions-are-less-useful-than-you-think/

    Can ontologies be useful? Yes, but on a very limited scale. For small problems involving few people and easy inferences.

    For large-scale difficult problems involving large enterprises, then ontologies are almost certainly not worth it.

    You will need to extend your idea of semantics so that it goes beyond ontologies. You almost surely need to rely on statistical methods, machine learning, and so on.

    Comment by Daniel Lemire — 9/3/2008 @ 20:02

RSS feed for comments on this post.

Leave a comment

Warning: When entering a long comment, please ensure that you make copy of your text prior to submitting it. If the server should fail or if you hit a bug, you might lose your work. I am not responsible for your lost effort.

To spammers: I carefully review every single post and make sure that spam gets deleted. You are wasting your time if you are manually entering spam using this form. Read my terms of use to see what I consider to be abusive.

Example: I + II + IX= XII. Yes, you have to enter a roman numeral. (Answer must be in upper case.)

« Blog's main page

26 queries. 0.446 seconds. Valid XHTML

Powered by WordPress

Subscribe to this blog in a reader or by Email.