![]() | Contexts in CYC® |
![]() | Useful Kinds of Context in CYC® |
![]() | Advanced Context Topics Covered Later On |
[Fritz: I think the whole (following) actor slot sense thing is a kludge -- it is a substitute for a more complicated (but correct) system of the ``level'' of representation in any system of represented artificial entities. This applies not only to whether the individual, the office, the corporation, or the industry is deemed the ``seller'', but also whether the main work, the edition, the version, the original-language text, or the physical copy is contsidered ``the book'', also whether the algorithm or the actual code or the source code is considered ``the program'', similarly for assigning legal blame, etc. These all involve artificial interrelated composite entities -- it's not just a matter of ActorSlot senses. In addition, maybe this refinement could be omitted entirely from the basic course?]
Let's say a woman went out and bought a car.
If someone is asked from whom she bought her car, her answer may depend upon the context of the conversation. She might use the term ``seller'' to denote the dealership the car was bought from, the company the car was bought from, the salesman, etc. A word is called polysemous if it has many similar but distinct meanings; we may call these the different senses of the term. The context mechanism can be used to insulate different meanings of the same term from each other and for translating from one to the other.
Why not simply introduce distinct predicates for each denotation, rather than allow the same predicate to have different denotations in different contexts? There are at least two reasons. First, when we deal with natural language, we often want to allow assertions to retain some of the assumptions made by the context of the utterance. This is especially true since we might not be able to state explicitly all the assumptions that a particular discourse context makes. Therefore, we need a mechanism that lets a symbol in a discourse context denote something other than what it might usually denote.
Second, representations of particular domains often retain certain properties of the natural language sentences used in formulating them. As a result, the same predicate symbol will often be used with different meanings in different theories. Instead of rewriting the theories completely, we want to provide a way of translating between them.
The participants in an #$TemporalThing are related to it in CYC® by various #$ActorSlot relationships. But there are also several ``standard'' kinds of #$ActorSlot participant senses, in that almost any #$ActorSlot can be used in any of these senses:
#$wordSense(#$IndividualHumanActivitiesMt #$performedBy #$ActualPerformerSense)
means that the #$IndividualHumanActivitiesMt uses the predicate #$performedBy in the #$ActualPerformerSense.
Sometimes, no distinction of meanings needs to be made--for example, if one wants to know if a buyer knows of the existence of the seller. In such cases, the sense of seller is governed by the disjunction (ActualPerformerSense v LegalEntitySense v ControllingAgentSense). In other words, one can answer the question without ever disambiguating seller, since the answer is the same for all meanings. In such contexts the distinction of word senses is irrelevant and need not be made.
How does the system determine the sense in which a Problem Solving Context uses an #$ActorSlot? The system assumes that if the slot is in the vocabulary of the PSC, it must be used in one of the senses it recognizes. The different senses in which an actor slot may be used impose certain constraints; if these are violated, the system knows that the PSC cannot use the slot in that sense. For instance, if seller is used with a shop or company, the sense must be #$LegalEntitySense, since both #$ActualPerformerSense and #$ControllingAgentSense require the seller to be a person. The system checks the #$makesSenseFor, #$entryIsA, and a few other such constraints imposed by the different WordSenseTypes, and keeps an updated list of possible candidate senses for each #$ActorSlot in each PSC.