METHOD AND APPARATUS FOR USING IDEAS AND CONCEPTS WITHIN COMPUTER PROGRAMS

Abstract: A method and apparatus that allows computer programs to define ideas and concepts symbolically is provided. The method and apparatus include a grammar that may be used to represent any concept. Sentences are parsed, using this grammar, into their component parts. As part of the parsing process, each word is compared to the contents of a dictionary database. The dictionary database and a set of tense-mood tables are used to identify individual words as concepts, entities, actions or qualifiers. The parsing process creates a data structure (200) for each sentence. The data structure organizes the sentence into its component parts, such as an ID field (202) and POC fields (204). The data structures for different sentences can be compared to determine matching or similarity. The data structures can also be processed to accomplish more advanced ends, such as reasoning systems or expert systems.

Description: Method And Apparatus For Using Ideas and Concepts Within Computer Programs FIELD OF THE INVENTION This application relates generally to the use of human concepts and ideas within interactive computer applications. More specifically, the present invention includes a method and apparatus that allows ideas to be defined symbolically for processing and matching with other ideas. BACKGROUND OF THE INVENTION The inability of computer applications to process human ideas and concepts has many disadvantages. As an example, consider the case where a person wants an answer for the question: "what is the largest dinosaur?" In today's world, it is increasingly common to look for the answer to such questions on the World Wide Web. This type of searching is typically done by formulating and submitting queries to the many search engines available on the web. Queries of this type are formulated using keywords along with connectors and qualifiers. Unfortunately, the use of the queries means that the search engine has no real way of knowing what the user is actually searching for. The search engine never sees or appreciates the question: "what is the largest dinosaur?" As a result, the search engine is limited in the type of search it can perform. It can look for web sites that contain the specified keywords modifies by the specified connectors and qualifiers. It cannot compare the content of web sites to determine if there is a match for the largest dinosaur question (the search engine is also unaware of the meaning of that content). This makes the searching process rather hit and miss. In many 1 cases, search engines users scan many sites to find the content they are looking for. In other cases, the desired content is never found. This failure to understand ideas and concepts also complicates the interaction between users and search engines (and other applications). The user is forced to translate the question "what is the largest dinosaur?" into an acceptable query. This is much more difficult than simply typing in the original question. The arcane nature of these queries often means that the user will make several attempts before formulating an acceptable query. The web searching example is, of course, a highly limited example. The failure to understand ideas and concepts extends to an almost unlimited number of different applications in an almost unlimited number of ways. For these reasons, a need exists for solutions that allow computers and their applications to more fully understand and process human ideas and concepts. SUMMARY OF THE INVENTION An embodiment of the present invention includes a method and apparatus that allows computer programs to define ideas and concepts symbolically. The symbolic ideas and concepts may be processed and matched with other symbolically defined ideas. The present invention defines a grammar that may be used to represent any concept. Proper concepts (the equivalent of complete sentences) form the highest level of this grammar. Entities, and actions (the equivalent of individual words) form the lowest level of the grammar. Proper concepts are defined as recursive combinations of concepts, entities, actions and qualifiers. Sentences are parsed, using this grammar, into their component parts. As part of the parsing process, each word is compared to the contents of a dictionary database. The dictionary database and a set of tense-mood tables are used to identify individual words as concepts, entities, actions or qualifiers. The parsing process creates a data structure for each sentence. The data structure organizes the sentence into its component parts. The data structures for different sentences can be compared to determine matching or similarity. The data structures can also be processed to accomplish more advanced ends, such as reasoning systems or expert systems. Advantages of the invention will be set forth, in part, in the description that follows and, in part, will be understood by those skilled in the art from the description herein. The advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims and equivalents. BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several embodiments of the invention and, together with the description, serve to explain the principles of the invention. Figure 1 is a block diagram of a host computer system shown as an exemplary environment for an embodiment of the present invention. Figure 2 is a block diagram of a concept data structure as used by an embodiment of the present invention. Figure 3 is a block diagram of a concept represented as a combination of two concept data structures. Figure 4 is a block diagram of a possible implementation of the concept data structure as used by an embodiment of the present invention. Figure 5 is a second block diagram of a concept represented as a combination of two concept data structures. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now by made in detail to preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever convenient, the same reference numbers will be used throughout the drawings to refer to the same of like parts. ENVIRONMENT In Figure 1 , a computer system 100 is shown as a representative environment for the present invention. Structurally, computer system 100 includes a processor, or processors 102, and a memory 104. An input device 106 and an output device 108 are connected to processor 102 and memory 104. Input device 106 and output device 108 represent a wide range of varying I/O devices such as disk drives, keyboards, modems, network adapters, printers and displays. Each node 102 may also includes a disk drive 110 of any suitable disk drive type (equivalent^, disk drive 110 may be any non-volatile mass storage system such as "flash" memory). GRAMMAR An embodiment of the present invention includes a method and apparatus that allows computer programs to define and manipulate concepts symbolically. The symbolic concepts may be processed and matched with other symbolically defined concepts. Part of the method and apparatus of the present invention are a grammar that defines how concepts and ideas can be symbolically represented. A basic premise of this grammar is the notion that any concept may be representing in cannonical form. One possible cannonical form, referred to as the general form of a concept, is: C ≡ £(Q) A(Q) E(Q) where C ≡ Concept (Complex) E ≡ Concept of Entity E ≡ Concept of Action Q ≡ Concept of Qualification The symbol '≡ establishes identity. Concept entities and concept actions are words, concept qualifiers are further defined as any subset of: Q ≡ £( ) A(Q) E(Q) or Q ≡ Q Q Q ... where the concept of action can be a noun in the statement. An indirect object is considered as qualifying the concept of action. It is important to recognize that subordinate, coordinate and independent clauses are being represented as qualifying the entity or action that they modify and can be considered as limitations upon the sets of referents of those terms. Subordinating qualifiers are of the form: Q(Q) while coordinating qualifiers are of the form: QQ A Proper Concept, the equivalent of a complete sentence, is either one of the forms: E(Q) A(Q) E(Q) A(Q) E(Q) ooC ooC where Q is optional and oo = Concept of Connectivity The last concept above is a compound concept, representing the combination of two or more complex concepts with optional connectives, such as 'if, 'and' or 'that'. Compound concepts include conditional statements, intentional statements and lists. EXAMPLES OF CONCEPTS REPRESENTED SYMBOLICALLY The following examples serve to demonstrate the use of the previously defined grammar. To use the grammar, words within a sentence being represented are identified with reference to a dictionary database (within the following examples, this is represented by subscripted letters). The ending of each word is compared to a tense-mood table and categorized as one of E, A or Q. Example 1 : The wood was burnt. E: wood the A: burn past E: E p (Q in ) A x (Q rt ) The general form of this concept is: C ≡ E p (Q in ) A x (Q rt ) In this case the subject 'wood' is not qualified with respect to quantity because no quantity is stated. Example 2: Those men skillfully produced blue houses from that red wood. E: human male plural A: produced imperfect skillfully from wood that E: hose plural blue C E h [Q ιn Q ge Q ιn ] Ax[Q rt Q rq Q S0 [E p (Q, n Q qu )]] E p [Q nu eg Example 3: It is raining. The indefinite pronoun here must be made explicit. Rephrased: The weather is the state of raining. C - E p (CO A x (Q qu ) E p (Q st ) Example 4: The pretty ladies danced gracefully before the guests. C ≡ E h [Q ge Q ιn Q nu Q rq ] A h [Q rt Q rq Q rp [E h Q ca Q ιn Q n ] Example 5: Fred, the builder who lives in the woods, fabricated a cart for hauling his tools. C ≡ E h [Q ιn [Q ιn Q^ [A h [Q rt Q rp [Ep Qin]]]]] A h [Q rt Q mo [A h [Q rt E p [Q nu Q po ]]]] E p Example 6: He cooled the hot metal by pouring cold water on it. C ≡ E h [Q ιn Q J A p [Q rt Q ma [A n [Q rt Q rp [E p [Q ιn Q rq ]]] E p [Q rq ]]] E p [Q ιn Q rq ] Example 7: The present king of France is bald. C ≡ E h [Q ca [Q S0 ] Q ιn Q rt ] A x E h Q qu ] Example 8: 'It was to their native law that sixteenth century Scottish Jurists applied most successfully the humanistic methods first developed on the continent in the study of Roman Law' (sixteenth century Scottish Jurists) (applied most successfully) (to their native law) (the humanistic methods which were first developed on the continent in the study of Roman Law) C E h [Q^ Q so Q rt Q no ] Ax [Q ro [Q π ] Q re [E m [Q so Q po ]]] Em [Q ιn Q nu Q qu A x [Q rt Q rp [E p [Q ] Q ma [A h [E m Q so ]]]]] The word 'law' refers to as concepts (though recorded as physical entities) and thus are Mental Entities (EJ. The word 'methods' also refers to concepts. The words 'were first' are considered together as a claim of Relative Temporality, 10 although 'first' might also be considered as a qualification of Source. The words 'in the study of are considered to 'by means of studying'. Concepts and ideas are recursively parsed using the grammar. During the parsing process, a data structure is created to represent the concept or idea being parsed. The data structure is a tree-shaped hierarchy. Each node in the tree is a data structure of the form shown as concept data structure 200 of Figure 2. Concept data structure 200 includes an ID 202 and three POC fields 204a through 204c. ID 202 allows each concept data structure 200 to be uniquely identified. The inclusion of three POC fields 204 follows the general form for concepts described above. Each POC field 204 can represent an action or entity. POC fields can also point to other concept data structures 200. This allows POC fields 204 to point to other concepts. This is shown, for example, in Figure 3 where the concept "That the stock went up is a good sign" is shown as a combination of two concept data structures 200a and 200b. Figure 4 shows one possible implementation for concept data structure 200. Concept data structure 200 of Figure 4 includes fields for ID, Word, Wordtype, Q1 , Q2, Q3, Q4, Qualified List Pointer, Subordinate Concept Pointer, PrevPointer, PostPointer, Program and Referents. The implementation of Figure 4 is intended to be representative. Other implementations may be used without departing from the spirit of the present invention. Figure 5 shows a concept that has been parsed into the tree data structure described in regard to Figures 2 though 4. In this case, the concept includes an initial entity ("elword") followed by an action ("alword) followed by a second entity 11 ("e2word). The initial entity is qualified by a second concept ("Cword"). The second concept is composed of still more concepts. Data structures of the type described in Figures 2 through 5 are recursively constructed for each proper concept (sentence) that is represented using the method of the present invention. Once represented as a data structure of this type, a sentence or concept can be manipulated within computer programs. In particular, matching between concepts can be determined by comparing their data structures. For matching, data structures are examined to determine if they have the same (or similar structures). The contents of the data structures are also compared to determine sameness or similarity. Other embodiments be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. It is intended that the specification and examples be considered as exemplary only, with a true scope of the invention being indicated by the following claims and equivalents. 12

Claims: WHAT IS CLAIMED IS: 1. A method for creating a symbolic representation of a sentence, the method comprising: recursively parsing the sentence to isolate one or more concepts, each concept being a cannonical arrangement of entities, actions and qualifiers; creating concept data structures to represent each respective concept that is isolated; and linking the concept data structures to form a hierarchical data structure representing the sentence. 2. A method as recited in claim 1 wherein each concept is a cannonical arrangement of the form E(Q) A(Q) E(Q) where E is an entity, A is an action and Q is a qualifier. 3. A method as recited in claim 2 wherein each qualifier is a list of qualifiers or is a cannonical arrangement of the form E(Q) A(Q) E(Q). 4. A method as recited in claim 1 further comprising the step of comparing at least one word in the sentence to the contents of a dictionary database to determine if the word is a qualifier, entity or action. 5. A method as recited in claim 4 wherein the dictionary database includes tense-mood tables. 6. A method for creating a symbolic representation of a sentence, the method comprising: 13 using a dictionary database to categorize words in the sentence as qualifiers, entities or actions; grouping the qualifiers entities and actions into concepts, each concept being a cannonical arrangement of entities, actions and qualifiers; creating concept data structures to represent each respective concept that is created; and linking the concept data structures to form a hierarchical data structure representing the sentence. 7. A method as recited in claim 6 wherein each concept is a cannonical arrangement of the form E(Q) A(Q) E(Q) where E is an entity, A is an action and Q is a qualifier. 8. A method as recited in claim 7 wherein each qualifier is a list of qualifiers or is a cannonical arrangement of the form E(Q) A(Q) E(Q). 9. A method as recited in claim 6 further comprising the step of comparing at least one word in the sentence to the contents of a dictionary database to determine if the word is a qualifier, entity or action. 10. A method as recited in claim 9 wherein the dictionary database includes tense-mood tables. 11. A computer program product comprising a computer usable medium having computer readable code embodied therein, the computer readable program 14 code devices configured to cause a computer system to perform a method for creating a symbolic representation of a sentence, the method comprising: rendering the image portion at a higher resolution to create a texture; retrieving the rendered image portion as a texture; filtering the texture to produce a minified texture; and applying the minified texture to a quadrilateral within the graphics image. 12. A computer program product as recited in claim 11 wherein each concept is a cannonical arrangement of the form E(Q) A(Q) E(Q) where E is an entity, A is an action and Q is a qualifier. 13. A computer program product as recited in claim 12 wherein each qualifier is a list of qualifiers or is a cannonical arrangement of the form E(Q) A(Q) E(Q). 14. A computer program product as recited in claim 11 wherein the method further comprises the step of comparing at least one word in the sentence to the contents of a dictionary database to determine if the word is a qualifier, entity or action. 15. A computer program product as recited in claim 14 wherein the dictionary database includes tense-mood tables. 15

Inventors: KIRCHMAN KEVIN A P, KIRCHMAN, KEVIN, A., P.
Applicants: WORLDFREE NET INC, WORLDFREE.NET, INC.
Application year: 1999
Main classification: G06F17
IPC codes: G06F17