Productivity Tools

12.1. Template-based OE

This section is not yet available.

12.2. Index Overlap

With this tool it is possible to find all assertions in which all the requested terms are terms in the assertion.

The Index Overlap tool is found on the Tools page of the Cyc Browser, in the second column of tools:

                     Overlap Term     Index Overlap

It is possible to add this, or any Cyc Browser tool to your Cyc Browser's toolbar by depressing the button to the left of the tool option and then clicking "Update Toolbar" at the top of the tools page. (Please see the chapter titled "Using the KB Browser" for more information).

Once the "Overlap" tool is opened, a screen with a large white entry box is displayed. When two or more Cyc constants are entered (with or without the #$ prefix), the tool will return all the CycL assertions that contain all those terms. If I'm looking for all the CycL assertions that contain the terms #$evokes and #$Cuteness-EmotionalResponse, I would enter those terms (with or without the #$, although asking Cyc to Cyclify the terms would reveal whether I had entered all the terms correctly) in the white box and click on "Search".

The Index Overlap tool would return the following assertions:

    (implies 
      (and 
        (isa ?A NonPersonAnimal) 
        (wearsClothing ?A ?C)) 
       (evokes ?A Cuteness-EmotionalResponse Positive)) in HumanSocialLifeMt

    (not 
      (and 
        (isa ?ANIMAL BeastOfBurden) 
        (evokes ?ANIMAL Cuteness-EmotionalResponse Positive))) in BaseKB

    (implies 
       (isa ?BABY HumanInfant) 
       (evokes ?BABY Cuteness-EmotionalResponse HighToVeryHigh)) in BaseKB

    (implies 
      (isa ?BABY HumanToddler) 
      (evokes ?BABY Cuteness-EmotionalResponse HighToVeryHigh)) in BaseKB

    (implies 
      (and 
        (isa ?AN JuvenileAnimal) 
        (isa ?AN Mammal) 
        (isa ?AN NonPersonAnimal)) 
      (evokes ?AN Cuteness-EmotionalResponse Positive)) in HumanSocialLifeMt

   (implies 
     (isa ?X HumanPreSchoolageChild) 
     (evokes ?X Cuteness-EmotionalResponse Positive)) in HumanSocialLifeMt

   (implies 
     (and 
       (isa ?E HelpingAnAgent) 
       (beneficiary ?E ?Y) 
       (isa ?Y HumanChild) 
       (performedBy ?E ?X) 
       (isa ?X HumanChild)) 
    (evokes ?E Cuteness-EmotionalResponse Positive)) in HumanSocialLifeMt

   (adjSemTrans Cute-TheWord 0 Inf-NPGapFrame 
     (evokes :CLAUSE Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

   (adjSemTrans Adorable-TheWord 0 Inf-NPGapFrame 
     (evokes :CLAUSE Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

   (adjSemTrans Darling-TheWord 0 Inf-NPGapFrame 
     (evokes :CLAUSE Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

  (adjSemTrans Cute-TheWord 0 RegularAdjFrame 
    (evokes :NOUN Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

  (adjSemTrans Adorable-TheWord 0 RegularAdjFrame 
    (evokes :NOUN Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

  (adjSemTrans Darling-TheWord 0 RegularAdjFrame 
    (evokes :NOUN Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

  (adjSemTrans Precious-TheWord 0 RegularAdjFrame 
    (evokes :NOUN Cuteness-EmotionalResponse Positive)) in GeneralEnglishMt

   (implies 
     (and 
      (isa ?EVENT CarryingOnFoot) 
      (deviceUsed ?EVENT ?DEVICE) 
      (isa ?DEVICE Luggage) 
      (in-ContGeneric ?ANIMAL ?DEVICE) 
      (isa ?ANIMAL NonPersonAnimal)) 
    (evokes ?EVENT Cuteness-EmotionalResponse Positive)) in MainstreamAmericanCultureMt

   (implies 
     (and 
       (isa ?FEED FeedingAnAnimal) 
       (performedBy ?FEED ?AGENT) 
       (isa ?AGENT HumanChild)) 
     (evokes ?FEED Cuteness-EmotionalResponse Positive)) in MainstreamAmericanCultureMt

  (implies 
     (isa ?MY-PONY MyLittlePony) 
     (evokes ?MY-PONY Cuteness-EmotionalResponse Positive)) in ProductGMt

I can further restrict this set by adding a third term "#$HumanChild", and Cyc will only return the following assertions:

Search Terms: 
evokes
Cuteness-EmotionalResponse
HumanChild


Index Overlap: 

   (implies 
     (and 
      (isa ?E HelpingAnAgent) 
      (beneficiary ?E ?Y) 
      (isa ?Y HumanChild) 
      (performedBy ?E ?X) 
      (isa ?X HumanChild)) 
    (evokes ?E Cuteness-EmotionalResponse Positive)) in HumanSocialLifeMt



   (implies
     (and 
      (isa ?FEED FeedingAnAnimal) 
      (performedBy ?FEED ?AGENT) 
      (isa ?AGENT HumanChild)) 
     (evokes ?FEED Cuteness-EmotionalResponse Positive)) in MainstreamAmericanCultureMt

12.3. Similarity Tool

12.3.1. Introduction

The Similarity Tool is designed to provide a more visual comparison of the definitions of CycL constants. In other words, it shows a minimized set of similarities and differences between the given constants' #$isa and #$genls assertions. Currently only #$isa and #$genls and thier specPreds are supported, but this could be extended if needed.

Since the tool attempts to compress much information in a single browser pane, it can be confusing to read. Provided here will be a short walkthrough to compare the two constants #$Cat and #$Dog.

To function the tool must be given at least two constants to compare, but an indefinite number can be compared together. Of course, the comparison can become difficult to read if too many constants are compared at the same time.

12.3.2. Walkthrough

Instead of making the user type in a list of constants to compare, the browser history is leveraged so that the user can choose input constants from their list of browsed constants. To view the history, choose "History" from the tools menu. The Similarity Tool only allows input from the history, so you must first browse the constants you wish to compare.

Look at the constants #$Cat and #$Dog to add them to your history.

Now that the constants are in the history, we can start the Similarity Tool by choosing "Similarity" from the Tools menu.

The opening screen will show your constants' history with a checkbox next to each constant. Choose at least two input constants to compare, then select[Run Similarity Tool].

The tool now performs comparisons of the constants and displays a table of the results. In this table, there is a column for each input constant, and a row for each constant that has a relation with one or more of the input constants. In each cell below an input constant and to the left of another constant, a relation is shown between the constants. The predicate used is shown in a purple row and the microtheory in a light blue row. To deconstantine which predicate and microtheory are relevant to a cell, simply look for the nearest predicate and microtheory above the row the cell is in.

If the cell is grey, there is no relation found (asserted or trivially deduced) between the constants. If the cell is colored, the relation is one of the ones in the following legend.

The assertion balls indicate assertions made in the KB and clicking one will browse the relevant assertion. A checked checkbox exists for each assertion that is asserted in the KB (as opposed to deduced). A yellow cell indicates that the assertion is asserted, but not redundant. A red cell indicates that the assertion is asserted but redundant with another asserted assertion. A green cell means that the relationship can be deduced from other assertions through the SBHL.

Since the checkboxes indicate whether an assertion exists in the KB, this layout suggests that one can check or uncheck boxes to assert or unassert assertions, respectively. This is indeed the case. Simply check the assertions you wish to add or unckeck the ones to remove and click the [Submit] button to add the operations to the agenda. If javascript is enabled, small dots will appear to the left of the checkbox rows allowing quick checking and unchecking of all the checkboxes in a row.

To complete the walkthrough, we will go through an explanation of a couple of parts of the Similarity Tool results for the input constants #$Cat and #$Dog.

In figure 5, we see a comparison of the #$isa assertions for #$Cat and #$Dog. Some things to notice include: In #$BaseKB, #$Cat and #$Dog are both inferred to be instances of #$Thing and asserted (monotonic) to be instances of #$OrganismClassificationType. Also, #$Cat is asserted to be an instance of #$IKBConstant, while dog is asserted to be a #$PublicConstant, which implies memebership in the #$IKBConstant collection. In #$BiologyMt, both are asserted instances if #$BiologicalSpecies, but #$Dog also has a redundant assertion making it an instance of #$BiologicalTaxon.

In figure 6, we see a comparison of the #$genls assertions for #$Cat and #$Dog. In particular, we see that there are two asseritions here:

   (genls Cat FelidaeFamily)

and

   (genls Dog CanineAnimal)

The collection #$FelidaeFamily and #$CanineAnimal intersect at the collections #$Carnivore, #$Mammal, and #$NonPersonAnimal, to which a minimal set of all the collections both #$Dog and #$Cat belong.

12.4. Salient Descriptor

The Salient Descriptor is an RKF (Rapid Knowledge Formation) tool, whose purpose is to present the user with prompts for expected knowledge about a given term. It relies on information in the Knowledge Base (KB) about what knowledge is expected for different types of things. This information is expressed via rules concluding to literals whose predicate is one of

  • #$keRequirement
  • #$keStrongSuggestion
  • #$keWeakSuggestion

Before the Salient Descriptor was implemented as a full-fledged RKF tool available via the UIA, there was an initial implementation in the Cyc Browser, which is available by clicking on the [Salient Describe] option when browsing a term. The "Requirements", "Strong Suggestions", and "Weak Suggestions" checkboxes correspond to the aforementioned three predicates, respectively. The "Neighbors" option is not yet implemented.

The intent is that for each suggestion, the user will be prompted to fill in a value, choose from a list of possible values, or answer a Yes/No question. This is correctly implemented in the UIA, but the version available in the Cyc Browser is a legacy implementation and does not currently allow the user to make any assertions. However, it does allow you to see the conclusions of the inference as to what knowledge is required, strongly suggested, and weakly suggested.

Eventually this tool will have full functionality both in the UIA and the Cyc Browser.

For more information, please see the section on "KE Facilitation" in the chapter entitled "CycL Representation Choices".