- From: patrick hayes <phayes@ai.uwf.edu>
- Date: Tue, 11 Jun 2002 23:55:11 -0400
- To: Tim Berners-Lee <timbl@w3.org>
- Cc: w3c-rdfcore-wg@w3.org
- Message-Id: <p05111a1ab92c4f160406@[65.217.30.94]>
>This message, in the last loop, lost some formatting, making it >difficult to understand the nesting. I have tried to sort this out >and shorten it too. Sorry if I got it muddled. I'll try to keep it straight in what follows. > >On Friday, May 31, 2002, at 02:53 PM, patrick hayes wrote: > >>Tim: Yes there is meaning to RDF statements which is not expressed in RDF. >> >>Pat: OK, but then we need to come to a terminological agreement. >>There is a clear sense of phrases like 'meaning of XXX statement" >>or 'XXX meaning' (where XXX is the name of some formal language) >>which is widely used throughout AI/KR and logic. With that sense of >>'meaning', statements like the above are foolish, like asserting >>that 2+2 is more than 4 . We spend considerable effort teaching our >>undergraduates not to make silly mistakes like that. > >When I am glad I avoided that fate, at least. ;-) > >>It has often seemed to some of us that people in the W3C make >>assertions about meanings that are so daft that it is hard to >>believe that anyone would assert them with a straight face, and I >>suspect that this terminological mismatch has been responsible for >>much of this impression. I am still not *entirely* clear what you >>mean by 'meaning', and I bet that nobody is (which is fine, as long >>as we all know there is a research agenda here) but we should try >>to keep that notion of meaning separate from the other, perhaps >>more technical, notions. > >I think that my notion of meaning is very much the english one, and >so I have a greater right to the default namespace! OK, if you mean some informal English sense of 'meaning', then fine; but then you need to justify any claims that *that* is somehow encoded in RDF, which seems like a hard row to hoe. (I could argue with you about exactly what the 'english one' is, but lets not get into a philosophical debate.) > >>Since usages like "RDF meaning" when used with your sense of >>'meaning', sound to us like insane hubris (it has the connotation >>that RDF has somehow captured in its semantics - ie its model >>theory - an entire account of English meaning, or human thought), > >You are clearly the one who has the hubris. You are telling me I >am wrong and crazy. No, please, I was careful not to say that. I said that your words SOUND crazy. The implication I draw is that I'm not hearing what you are meaning to say, that we aren't communicating properly. (Since I know that quite a lot of people are understanding this kind of talk in roughly the same way I am, I would also suggest that there might be a wider breakdown of communication.) > But simultaneously saying that the meaning of an RDF statement is >only what is expressable is RDF, you imply that RDF has somehow >captured in its semantics - ie its model theory - an entire account >of English meaning, or human thought. This is clearly insane hubris >as you say, but it is you who are guilty of it! I genuinely fail to follow you here. We seem to be talking past each other. I am NOT saying that the meaning of RDF has this wide scope, or that RDF has captured all this in its semantics. That is my point: it cannot possibly have such a rich meaning. Yet you (and Dan C., for example) seem to insist that it does. Maybe you could briefly say *how* you think that a piece of RDF gets to have some complicated meaning associated with it? In other email discussions with Dan C., for example, he has suggested that simply saying, in English, in an rdfs:comment string, that a uriref has a certain meaning, is sufficient to give it that meaning. Do you agree with that claim? To me, that sounds like saying that putting a comment in a Java program which says "This program outputs 1 when given the Godel number of a program which terminates and 0 when given the Godel number of a nonterminating program" would be enough to refute Godel and Turing: one wouldn't even need to write the program. Can you see why this *seems* daft? >>could we perhaps agree to use a less ambiguous terminology? For >>example, how about some invented phrase like 'web meaning', or >>'social meaning' or something like 'full meaning'. So one might >>say, the web meaning of a piece of RDF is more than its (strict) >>RDF meaning, and happily agree that the phrase 'web meaning' has, >>as yet, no exact specification. >> > >Science always has problem that it isn't very good at using >namespaces. There is an arrogant assertion that to classify a >tomato as not a fruit is wrong, when it is just a use of a common >term rather than a biological one. To teach your undergraduates >about the meaning of "pat:meaning", apparently that all pat:meaning >can be expressed in RDF axioms, What ARE you talking about? The point that I try to teach my students is that all meaning *cannot* be rendered into axioms (of RDF or anything else.) That is why I find your claims about the meaning of RDF so extraordinary. It has nothing to do with arrogance or using a term in technical way: it is just to get them to stop thinking that because they write some piece of, say, first-order logic that says "Has(Joe, Measles)" that they have somehow managed to fully capture the meaning of the English sentence 'Joe has measles'. The formalisms DONT capture all the English meaning; we seem to agree on that. But elsewhere, you *seem* to be saying that RDF does. (And just for the record, this view of 'meaning' isn't pat:meaning, its more like Tarski/Quine/AI/FormalLinguistics/CognitiveScience:meaning. Im not claiming that I invented any of this stuff or had any new insights about it.) > is all very well so long as you don't have the arrogance to declare >that pat: meaning is the only form of meaning, and specifically that >all the people who use the term in is english sense are wrong or >crazy. What I find odd is to use the word in its English sense *when referring to RDF*. That was my point: that *sounds* like you are saying that RDF has the expressive power of English. Which *sounds* crazy. Im sure that what you actually do mean isn't in fact crazy, but I am rather at a loss to figure out what it is. Communication breakdown. >To say that #pat pchar:eyeColor pantone:blue . has no meaning is >not helpful in reality. Well, I think that it is helpful, if it can be seen as a refutation of the claim that putting that triple in an RDF document is enough to enable a computer to know that my eye color is blue. Thats what you *seem* to be saying, and that is sufficiently badly wrong that its helpful to cry 'foul'. >SOME of the valid inferences from the above can be expressed in >mathematical langauges, but as you say it is crazy to think one >could define all the terms from scratch. I don't know about 'scratch', but they had better be defined in some way that is accessible to an RDF processing engine. > >>---- >>I grok the general point: The RDF might 'carry' more meaning than >>it in some strict sense expresses. The full web meaning is >>determined socially, and may be specified by any means: grounding >>of RDF terms in human-readable English definitions, diagrams, >>whatever; all using conventions that link the RDF to the world in >>some way that goes beyond what can be expressed in RDF. > >Good. OK; but *that* meaning isn't machine-processable, right? No software agent is going to act in some way that depends on that kind of meaning. Moreover, there isn't anything to say in a technical spec about that notion of meaning. What could the spec say? "We hereby declare that any piece of RDF shall mean whatever the person who wrote it intended that it should mean." ?? Hardly seems worth saying: its like declaring that people are people. > >>What I find technically unsettling in your reply is your reliance >>in English (NL) glosses to ground meaning. There are many problems >>with this. First, English is itself only a language, and is just as >>much in need of grounding as any formal language; it gets that >>grounding from the human society that uses it to refer to the world >>that the humans see, hear, taste, feel and even imagine; and *that* >>is where the actual grounding in reality occurs, not in English. > >I am talking about grounding how the technical terms in an RDF >vocabulary are grounded in enlgish, not how english is grounded. ** OK, nice distinction. But can we agree that 'grounding in English' is a (difficult and largely unexplored) research area? One where we might expect that 'ordinary' meanings of words like 'meaning' might have to be adjusted to conform to (as yet unwritten) theories of what, in fact, 'meaning' means? Or do you want to just assume that there is no need of any analysis of terms like 'meaning' and we can just muddle along? >I suppose I take for granted the process which W3C and engineers are >constantly in general: writing specifications. When someone writes >a specification for SVG, about how <circle> should generate a >circle, they often do it in natural english. The same applies for >specification fo sheet steel, and so on. The same applies to the >DAML spec, which for all its axioms and model theory is incomplete >without english text. Sure, of course. But that is in the *spec*, not in the actual formalism. Specs are meant to be read and used by people, of course I agree. But the spec needs to be precise. If a spec said that <circle> should generate a foodle, and didn't say what a foodle was, then it wouldnt be much use. Unfortunately, at present, referring to 'meaning' in a spec is about as useful to implementors as referring to a foodle. We really do not know what meanings are, or what it means to say that X means Y. I know sentences like this are kind of wierd because they use the terms they are complaining about. As St. Augustine said about time: if you don't ask me what it is, I know; but if I try to explain it, I don't know. We do know enough to know that most of the 'obvious' ideas about meanings don't work out when one leans on them hard enough for use in a technical spec. Godel undecideability (which really hasnt got anything particularly to do with mathematics, btw) was a shocker to most people 50 years ago, for example, because it runs counter to a whole slew of apparently intuitively obvious ideas about meanings. >I can see it is frustrating to you as a logician that the meaning of >things like a sheet of mild steel can't be practically specified in >mathematics, No, that isn't the point Im making at all. I KNOW that the meaning of things like a sheet of mild steel can't be axiomatized; that is why Im puzzled by what you say about RDF. And Im not speaking here as a logician, but more as an AI/KR type who worries about meanings and how to represent them. I wish we had better ways than by using logical formalisms, but so far we don't. >but you have declared that it is "insane hubris" to expect to do so, >and yet we need to be able to specify sheet steel, and hence we use >English. OK, stop there for a second. We use English when talking to who? To other human beings, or to software agents? I have been understanding the entire semantic web effort as having the goal of making some aspects of meaning accessible for use by software. Was that a misunderstanding? Because if it was, how does the *semantic* web differ from the current web? We have English text already on the web, right? People publish it and people read it and understand it. If THAT is what we are trying to do here, what do we need the *semantic* web for? And if, as I have been supposing, the point of RDF and RDFS and DAML and OWL is to formalize some (not *all*, but some) meaning in a form that makes it accessible to machine processing, then whether or not it also can be said, in some ordinary-language informal sense of 'meaning', to have some other meaning, seems to me to be largely irrelevant to us (and potentially very misleading to assert, at least without qualification) , since it's only the machine-accessible meaning that is, well, accessible to the machines that we are trying to create which will manipulate and process it suitably, right? >Specifications of technical terms are normally much more verbose >than a single word. They use repetition and restatement to avoid >ambiguity and make a definition which a community of use -- >potentially the entire planet -- can accept as being unambiguous. > >That's life. Sure. But here you seem to be talking about the English in the specs of (say) RDF, not some English in a comment in a piece of actual RDF being sent across the web and being processed by some RDF engine. It, the poor dumb thing, isn't going to be able to read the rdfs:comment text and act on what it means to people like us. And if it has to stop and ask a person what this means and what it should do about it, then the semantic web is going to work very slowly indeed. >(**Actually the grounding of english is, in my humble opinion, quite >complicated. It is simplistic to imagine that kids learn all of >their natural language from definitions provided to them in terms of >"hot" and 'cold" and the other things for which they have sensor >cells. Oh, I couldn't agree more. Thinking about kids learning language gives cognitive psychologists nightmares. At the peak - around four years - they are learning about 10 new words a day *on average*. Its this very complexity that frightens me when someone expects words like 'mean' to map easily from their informal everyday use into a formal, precise specification. >We construct associations between concepts as we understand more of >the world, and learn to associate words with those concepts in a >rather fuzzy way. Eventually they end up with a large set of >concepts which map in a more or less fuzzy way through words onto >the loose webs of association in other's brains, and that way they >get though life. Logical concepts are rather the exception in that >they are consciously analyzed to a greater extent, and so the shared >webs of association in different people's minds include some >repeatable mathematical properties.) > > >>Second, many computational systems are grounded in the world >>without going through human speakers of English (I'm thinking of >>machines with sensors, bank computers handling bank accounts, >>cameras with facial recognition software, things like that) and so >>the 'meanings' of the terms they use will not usually need to be >>given an English gloss, and in fact they will probably not be >>accurately captured by any English gloss, eg what does "see" mean >>when applied to a smart bank security system using infra-red >>sensors? Third, we don't actually have a precise account of English >>meaning to rely on, so we are hamstrung from the start; and fourth >>(this is a minority view of my own, but I hold it passionately) >>human natural language in fact isn't very well suited to specifying >>meanings. > >Well, we are all looking forward to those aspects of meaning which >are machine-processable to be represented formally. And we all >struggle to use natural language to set up this infrastructure. > >>It evolved for situated communication between humans using a narrow >>bandwidth channel, not for specifying meanings for use by an >>inference process, and the evolutionary pressures often went in >>divergent directions; eg English is ambiguous, lexically >>overloaded, contextual, tensed, and full of allusions, ironies, >>metaphors, poesy and other stuff which delights the human left >>temporal lobe but which is nightmarish in a specification language. >>So using English as a grounding for meanings is like building on >>mud. > >For pat:meanings, in other words defining the set of valid infrences >which can be deduced using a turning machine, yes. Never mind Turing machines; but look, surely it IS exactly the aspects of meaning that can be somehow cashed out in the behavior of software (which might well include valid inference-making) with which have to be centrally concerned here, right? That is how the semantic web will get built. It won't get built by sending English text around and hoping that the machines will understand it, And putting it inside rdfs:comments, calling it "RDF" and claiming that one has thereby captured its meaning, just seems like sticking ones head in the sand. > >>Tim: >> >>Suppose a document in RDF parses to the following statements: >> >> >>_:b dc:title "Moby Dick". >> >> _:b dc:creator _:c . >> >> _:c contact:email <mailto:phayes@ai.uwf.edu>. >> >> >> >>People actually write documents which parse to statements like >>that. Libraries work only because people accept that such things >>have meaning. >> >> >>Pat: Yes, *people* accept that, and libraries are used by people. >>But that isn't the point here. The point is what *software agents* >>can understand, right? >> > >Software agents understand, but the output must be usable in the real world. 'output'? The output from one RDF reasoner is likely to be the input for another RDF reasoner. I don't think that talking in terms of input and output of meanings is a useful way to think about the semantic web. Rather, think of a connected web of inferences being manipulated by machines, which also act on the basis of the conclusions they reach. Quite likely, many of those conclusions will never be even seen by any human being, but their machine-useable meaning might have very significant consequences out in the real world. Here I am standing in front of the ATM and God alone knows what inferences are going on, but eventually I either get my money or I don't. We need to be able to keep this huge process of planet-wide machine inference at least marginally predictable in its behavior, and those predictions are going to depend crucially on being able to say, with as much precision as we possibly can, what the *machine-processable* meanings of the formalism are (and are not, by the way). Just saying that meanings are defined by the intentions of the human authors doesn't seem like a good enough basis to predict what is going to happen here. >So a person writes that x is the author of y. A machine deduces >that x is creator of y. >A person concludes that x is the creator of y. A person might conclude anything. We cannot possibly legislate what a person can conclude from RDF or anything else. What matters a lot more, and what the spec is about, is what a machine can and (more germane to this discussion) what it cannot, conclude. >>And for the record, and speaking now as a person, I wouldn't have >>read that RDF to mean that I was the author of Moby Dick; I would >>read it as saying something like "if you want to find out more >>about the author of Moby Dick, then send Pat Hayes an email". (It >>seems odd to refer to people by their email boxes: what about all >>the lucky souls who don't have an email account? How would you say >>that Melville wrote Moby Dick?) > >(Never mind. Let's not niggle over details of the examples.) > >>These statements are taken to mean that you are creator of >>something called "Moby Dick". Leaving aside niggling over details, >>time, etc, you have to go along with that. >> >> >>Who says I do? Even as a human being, on what basis must I go along >>with assuming that this RDF means the same as your English gloss of >>it? I don't find that at all obvious, and it certainly does not >>follow from the RDF spec, or from any of the conventions outlined >>in the RDF spec. (It might be possible to extract it from the code >>of the library system that used it, by noticing that it - the code >>- drew certain conclusions that only made sense under that >>assumption. Under those circumstances I might agree with the claim, >>but only because the code is now part of the specification of the >>meaning of the RDF, which is stretching the point, but not >>intolerably. But to claim that a piece of RDF means something just >>by fiat seems silly.) >> > >That's how it works on the web. I doubt it, in fact. Publication on the web is pretty much like publication in any other medium, as far as all these issues of meaning and so on are concerned. The Web is a new force in society, to be sure, but it hasn't materially affected the basic notions of semiotics. Hypertext is still text, even when it moves. But in any case, how it works on the (current) web is largely irrelevant. What is at issue here is how it WILL work on the semantic web; and it seems obvious to me that there, just claiming that a piece of RDF means something isn't going to be worth a fart unless all the RDF engines out there have some way of figuring out enough of the meaning to enable them to do something useful about it. > People publish things. To publish is, I suppose, to declare the >meaning of something by fiat. Nonsense. To publish is to make a public assertion, not to define meanings by fiat. In fact,one had better use *existing* meanings if one wishes ones publication to reach a very wide audience. (A point originally made by Wittgenstein, trashing the idea of a private language.) > It does not work like common parlance defines the meaning of words. > >>If you are, they are true; if you are not they are false. >> >> >> >>If, for example, I accept the assertions of a library card to this >>effect, then to be simple I now know you wrote such a thing. To be >>complicated about it, the possible worlds which I can consider >>this world as being among have been constrained to those in which >>you did write such a thing. >> >> >>Its not clear that this semantic way of talking makes sense in this >>context. It would if we had a model theory for English, but >>incorporating one of those would make RDF into a *much* more >>complicated kind of beast. >> >> (I am sure one could be much more complicated - but that is not >>the object of the exercise!)) >> >> >> >>Now Peter's RDF engine will of course not know this, as you can't >>describe creatorship in RDF from scratch, and he's not prepared as >>calling peter:RDF anything which involves inference using anything >>other than the RDF spec. Which is limiting, and not what RDF is for. >> >> >>I thought that this was exactly what RDF was for. I have never >>heard or read anything that suggests otherwise. >> >>Peter's interest in the set of inferences you can make from a >>statement is of course useful, but saying that there is only one >>set is not. >> >> >>Useful or not, it is true; and follows in fact from the RDF specs >>themselves. Well, to be exact, there is one set of RDF-valid >>inferences you can make. Making other inferences from something is >>*possible*, of course - generating random RDF graphs and calling >>them inferences is possible - but its not RDF, any more than >>inferring "Je suis faim" from "Tengo sed" is English. >> >>In fact, they hard fact of life on the web is that you learn stuff, >>and some people know more than others, and some machines have >>greater capabilities than others. >> >> >>Of course, but that is irrelevant to the point here. The issue is >>whether that stuff that you learn is written in RDF or not, and >>whether those capabilities are sanctioned by the RDF specs or not. >> >>Let me show you what I mean in another way-- in the negative -- >>what I want to exclude. >> >>Tim: Above, dc:creator is the predicate. It is defined, (say) by >>the dublin core >> >>that the meaning of a statement x dc:creator y is that x wrote, painted or >> >>otherwise created a work y. >> >> >>Pat: Wait. HOW is is so defined? If the dublin core just say this >>in English then they are only defining their intent, not the actual >>meaning of the RDF terms. The only way to define meaning in any >>formalism is to write expressions IN THAT FORMALISM which capture >>that meaning by restricting the space of allowable interpretations. >>If one wants to invoke other machinery - as for example is done in >>AI robotics, where sensory inputs are related directly to the >>physical surroundings of the machine - then those 'grounding' links >>to a world need to be specified as part of the semantic account of >>the formalism itself, There are no magic routes to putting >>knowledge into machines. >> >>Now suppose I define the resource w3c:tim in a namespace I control, as >> >>follows: >> >>1. w3c:tim is a person, with email address <mailto:timbl@w3.org> >> >>2. w3c:tim is defined such that any statement of the form w3c:tim >>dc:creator :y means that Pat Hayes should immediately send me a >>crate of claret. >> >> >>I'd like to see the RDF graph that says this. >> >>This would mean that anyone who uses the dublin core vocabulary to >>describe me would end up, by my definition of the term which I have >>introduced, stating that you should send me some wine. >> >> >> >>What's the problem? Informally, it violates the actual practical >>way RDF works >> >> >>What actual practical way? Seems to me that there is hardly any >>actual practice to appeal to, and that in fact this kind of thing >>is going to happen as soon as RDF is widely deployed, since there >>is in fact absolutely no way to prevent anyone writing anything >>using any vocabulary they like. I can write all sorts of misleading >>things in my RDF graph using your vocabulary, and how can you >>possibly stop me doing that? After all, you *published* the >>terminology. I think the first amendment gives me the right to >>*say* whatever I like using it. All you can hope is that a third >>party will take what you say as having more authority than what I >>say, since the terms are yours. But that seems like a slender reed >>to base a theory of meaning on, if definitions can be outvoted. >> > >All of civilized society could indeed in principle be "outvoted". >One could vote that the holocaust didn't really happen, or that >"bedtime" means "time to watch television", if one has enough >support. These are failures of a system which generally works for >things like commerce. It generally works when the society consists of human beings, who have all that famous common sense. It absolutely is not clear that it is going to go on working when some of the agents doing the 'voting' are built from software, and still less so when they can be *generated* by software. >You can assert as much as you like that a pound note means that the >bank of England should furnish you with gold for the rest of your >life, but they won't. Society has constructed a framework which >(while its left brain delights in poetry) not only uses but also >supports a framework of communication over practical matters using >well-defined common terms. Oh God, would that it were true. Do you have any idea how many inconsistencies arise when one tries to fix the meanings of these 'well-defined common terms' crisply enough for use by machines? It is almost guaranteed that any two people will disagree about the actual facts of the world in front of their eyes if asked to describe it in some formal language (never mind giving *logical definitions* of the terms, now, just writing it down using ordinary concepts, assuming that the definitions will be filled in later.) I could tell you stories....but so could anyone who has tried to do knowledge representation in a nontrivial domain. This is NOT easy to do, and it can't be done - really, CANNOT be done - just by assuming that when people are able to agree on a workable set of NL words, that they do in fact agree on actual meanings, or that it is enough to just kind of indicate in English what the formal symbols are supposed to mean. The mechanical inference processes are just too unforgiving of all the little minor mismatches that allow humans to smoothly misunderstand one another without it really mattering; and the machines don't have human abilities to negotiate nuances of meaning, or to readjust their interpretations to correct previous misunderstandings, or to work with a partial understanding of meanings to be filled in later, or to switch smoothly between inference and comprehension. People are just WAY smarter than machines. And even though, I concede, the semantic web will have people as it were surrounding it and providing its grounding in the world, nevertheless it is the machines, not the people, which are going to have to be actually working the machinery of the semantic web. Pat P.S. Here's one of the stories. Once, as an initial exercise in formalizing some 'common sense' I sat down with two people and we decided to make a list of all the things in the room. After a while, one of them mentioned a picture which was hanging on one wall; the other objected that the picture wasn't *in* the room, but was *part* of the room. The ensuing debate went on for an hour. What do you think? Is the carpet 'in' the room? (What if it is glued down?) Is the paint on the wall 'in' the room? (If you bring a can of paint into the room and use it on the walls, at what point does it become part of the room?) Is the door of the room 'in' the room? (If it opens inwards, and you open it, is it in the room then?) Can a sound be said to be in a room? How about a light, or a scent? And so on.... They fought like cat and dog : each of them found it hard to accept that the other could believe such crazy stuff. And the amusing thing is that both of these people had reached adulthood using the words 'in' and 'room' without ever discovering that other people had such different intuitions about what they meant. -- --------------------------------------------------------------------- IHMC (850)434 8903 home 40 South Alcaniz St. (850)202 4416 office Pensacola, FL 32501 (850)202 4440 fax phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
Received on Tuesday, 11 June 2002 23:55:22 UTC