This invention relates generally to the field of information management and more specifically to categorizing concept types of a conceptual graph.
A corpus of data may hold a large amount of information, yet finding relevant information may be difficult. Key word searching is the primary technique for finding information. In certain situations, however, known techniques for keyword searching are not effective in locating relevant information.
In accordance with the present invention, disadvantages and problems associated with previous techniques for searching documents may be reduced or eliminated.
According to one embodiment, categorizing concept types of a conceptual graph includes receiving the conceptual graph comprising one or more concept types, one or more relationship types, and one or more arcs. Each concept type is categorized according to the relationship types and the arcs. The categorization of the each concept type is recorded. In certain embodiments, a concept type may be categorized as a context linking concept or a concept object.
Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that graph terms of a conceptual graph may be categorized. The categories may be used to identify related terms, which in turn may be used to search for documents. The generated categories may be used to identify related terms representing concept types, which in turn may be used to search for documents. Another technical advantage of one embodiment may be that the generated categories may be used to identify context between concept types, which in turn may be used to resolve referents of conceptual graphs.
Certain embodiments of the invention may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
Embodiments of the present invention and its advantages are best understood by referring to
In the illustrated embodiment, system 10 includes a client 20, a server 24, and a memory 50. Server 24 includes a conceptual graph generator 30, a term expander 40, an onomasticon manager 45, a graph matcher 46, a context generator 48, and a concept logic engine 34. Memory 50 includes an ontology 51, an onomasticon 52, and documents 53.
In particular embodiments, client 20 may send input to system 10 and/or receive output from system 10. In particular examples, a user may use client 20 to send input to system 10 and/or receive output from system 10. In particular embodiments, client 20 may provide output, for example, display, print, or vocalize output, reported by server 24, such as by term expander 30, conceptual graph generator 40, graph matcher 46, and/or context generator 48.
In particular embodiments, client 20 may send an input search query to system 10. An input search query may comprise any suitable message comprising one or more query terms that may be used to search for documents 53, such as a keyword query, or concept query based on keywords representing a concept. A term may comprise any suitable sequence of characters, for example, one or more letter, one or more numbers, and/or one or more other characters. An example of a term is a word.
Server 24 stores logic (for example, software and/or hardware) that may be used to perform the operations of system 10. In particular embodiments, conceptual graph generator 30 generates a query conceptual graph 60. A conceptual graph may be a graph that represents concept types expressed as terms (for example, specific instances of concept types) and the relationships among the concept types. An example of a query conceptual graph is described with reference to
In the illustrated example, concept node 61a includes concept type 61 “Person” and concept referent 66a “?x”, which is an unknown concept referent. Concept node 62a includes concept type 62 “Make”, but no concept referent. Concept node 63a includes concept type 63 “Bomb”, and concept referent 66b “?y”, which is an unknown concept referent. Concept types may be expressed as subjects, direct objects, verbs, or any suitable part of language. In the illustrated example, concept type 61 is a direct object represented by the term “Person”, concept type 62 is a verb represented by the term “Make”, and concept type 63 is a direct object represented by the term “Bomb”.
In some embodiments, concept type 62 may be regarded as a context linking concept (or a “linking concept term”). A context linking concept may provide a context between other concept types 61 and 63. In the example, “Make” links “Person” and “Bomb,” yielding “Person” “Makes” “Bomb.”
Conceptual relation nodes 64 and/or 65 represent relationships between concept nodes 61a, 62a, and/or 63a, and arcs 67 represent the direction of the relationships. In the illustrated example, conceptual relation node 64 “Agent” represents an agent relationship between concept nodes 61a and 62a. Arc 67a indicates that “Person:?x” is the agent of the action “Make”. Conceptual relation node 65 “THME” represents a theme relation between concept nodes 62a and 63a. Arc 67d indicates that “Bomb:?y” is the theme of the action “Make”.
In particular embodiments, the concepts and the relationships among the concepts of conceptual graph 60 may be expressed in text. In certain embodiments, square brackets may be used to indicate concept nodes 61a, 62a, and/or 63a, and parentheses may be used to indicate relation nodes 64 and/or 65. Hyphens and/or arrows may be used to indicate arcs 67. In the illustrated example, the concepts and relationships may be expressed as:
Referring back to
In the illustrated example, conceptual relation node 304 “Agent” represents an agent relationship between concept nodes 301a and 302a. Arc 307a indicates that “Person: John Doe” is the agent of the action “Make”. Conceptual relation node 305 “THME” represents a theme relation between concept nodes 302a and 303a. Arc 307d indicates that “Bomb: Car bomb” is the theme of the action (or context liking concept) “Make”.
In the illustrated example, the concepts and relationships of document conceptual graph 300 may be expressed as:
Referring back to
In particular embodiments, term expander 40 expands terms representing concept types of conceptual graph 60 and/or 300. Term expander 40 may expand the terms by identifying, for each term, a set of terms conceptually similar to the term. Term expander 40 may use an ontology 51 to identify the conceptually similar terms. A search query may be formed using the conceptually similar terms. Term expander 40 may be any suitable term expander, such as the Semantic Reverse Query Expander from RAYTHEON COMPANY. Term expander 40 may include a concept logic engine 34, which may analyze terms for suitability. Any suitable concept logic engine 34 may be used, for example, the CYC KNOWLEDGE BASE from CYCORP, INC.
Conceptually similar terms may be terms that are, for example, within the semantic context of each other. Examples of conceptually similar terms include synonyms, hypernyms, holonyms, hyponyms, merronyms, coordinate terms, verb participles, troponyms, and entailments. Conceptually similar terms may be in the native language of the search (for example, English) and/or a foreign language (for example, Arabic, French, or Japanese). In one embodiment, a foreign language term may be a foreign language translation of a native language term related to a conceptual graph.
A conceptually similar term (CST) of a term may be expressed as CST(term). For example, CST (Person) is Human.
In the illustrated example, examples of conceptually similar terms for query concept graph and/or 300 may be as follows:
CST(Person): Individual, Religious individual, Engineer, Warrior, etc.
CST(Make): Building, Build, Create from raw materials, etc.
CST(Bomb): Explosive device, Car bomb, Pipe bomb, etc.
The conceptually similar terms may include the following Arabic terms (English translation in parentheses):
CST(Person): (Person), (Individual), (Religious individual), (Engineer), (Warrior), etc.
CST(Make): (Make), (Building), (Build), (Create from raw materials), etc.
CST(Bomb): (Bomb), (Explosive device), (Car bomb), (Pipe bomb), etc.
In particular embodiments, onomasticon manager 45 manages onomasticon 52. Onomasticon manager 45 may manage information in onomasticons 52 by performing any suitable information management operation, such as storing, modifying, organizing, and/or deleting information. In particular embodiments, onomasticon manager 45 may perform the following mappings: a query conceptual graph to a search query, a set of conceptually similar terms to a concept type of a conceptual graph, a set of conceptually similar terms to a search query, a word sense of conceptually similar terms to a concept type, terms representing a context linking concept, terms representing a concept object, and/or a set of conceptually similar terms to a word sense. Onomasticon manager 45 may perform the operations at any suitable time, such as when information is generated or validated. In particular embodiments, onomasticon manager 54 may send information to concept logic engine 34 for use in expanding terms and/or determining referents for concept types.
In particular embodiments, graph matcher 46 may compare query conceptual graphs 60 and document conceptual graphs 300 to see if graphs 60 and 300 match in order to select documents that match the search query. In particular embodiments, expanded document conceptual graphs 300 and expanded query conceptual graphs 60 may be compared.
Graphs may be regarded as matching if one, some, or all corresponding terms associated with the graphs match. Terms associated with a graph may include terms representing concept types of the graph and/or terms that are conceptually similar to the terms representing the concept types. Corresponding concept nodes may be nodes in the same location of a graph. For example, node 61a of graph 60 corresponds to node 301a of graph 300.
In the example, nodes 61a, 62a, 63a, 64, and/or 65 of conceptual graph 60 may match nodes 301a, 302a, 303a, 304, and/or 305 of conceptual graph 300 if the concept types and/or relations of nodes 61a, 62a, 63a, 64, and/or 65 match that of nodes 301a, 302a, 303a, 304, and/or 305, respectively. In the example, conceptual graphs 60 and 300 may be regarded as matching.
In particular embodiments, graph matcher 46 may validate a match using onomasticons 52. In certain examples, graph matcher 46 may determine whether conceptually similar terms of graphs 60 and 300 map to the same concept type in one or more onomasticons 52. If they do, the match may be regarded as valid. In certain examples, the conceptually similar terms of graphs 60 and 300 may be in the same or different onomasticons 52.
In particular embodiments, if a document conceptual graph 300 representing a document 53 matches query conceptual graphs 60, graph matcher 46 may select document 53 to report to client 20.
In particular embodiments, context generator 48 may be used to categorize concept types and terms representing concept types as context linking concepts or concept objects. Context generator 48 may also assist logic engine 24 in retrieving referents for concept types.
Context generator 48 may categorize a context linking concept by determining if a concept type 62 fits a context linking concept pattern. In particular embodiments, if a concept type 62 is directly connected to two or more relationship types 64 and 65 by arcs 67b and 67c pointing in different directions (such as in opposite directions or away from concept type 62), then concept type 62 may be designated as a context linking concept. In the illustrated embodiment, “Make” is directly connected to “AGNT” and “THEME” by arcs 67b and 67c pointing in opposite directions, so “Make” may be designated as a context linking concept.
In particular embodiments, onomasticon manager 45 may map the context linking concept designation to concept type 62 and to terms representing concept type 62 in onomasticon 52. For example, the context linking concept designation may be mapped to “Make” and to terms representing “Make”.
In particular embodiments, onomasticon manager 45 may map the concept object designation to concept type 61 or 63 and to terms representing concept type 61 or 63 in onomasticon 52. For example, the concept object designation may be mapped to “Person” and “Bomb” and to terms representing “Person” and “Bomb.”
Returning to
Memory 50 includes ontology 51, onomasticon 52, and documents 53. Ontology 51 stores terms, attributes of terms, word senses (or definitions) of terms, and relationships among the terms. Ontology 51 may be used (for example, by term expander 40) to determine the appropriate terms, attributes, and relationships. For example, ontology 51 may describe the semantically related terms of a term and the relationships that the term may have with other terms. Relationships may include such as synonyms, hypernyms, holonyms, hyponyms, merronyms, coordinate terms, verb participles, troponyms, and entailments. For example, ontology 51 may store the conceptually similar terms for “Person”, “Make”, and “Bomb” as described above. Ontology 51 may include one or more knowledge bases (KBs), knowledge stores (KSs) or databases (DBs).
Onomasticon 52 records information resulting from the operations of system 10 in order to build a knowledge base of conceptually similar terms to represent concept types found in conceptual graphs. Onomasticon 52 may store mappings of the conceptually similar terms to the concept types. In particular embodiments, information in onomasticon 52 may be used for future searches. For example, term expander 40 may retrieve conceptually similar terms mapped to a term from onomasticon 52.
Onomasticon 240 stores conceptually similar English and foreign language terms, such as Arabic terms, for the concept type [Make] 230. These terms may include (build), (building), (get), (Create from raw materials), Build, Building, and Get.
Referring back to
A component of system 10 may include an interface, logic, memory, and/or other suitable element. An interface receives input, sends output, processes the input and/or output, and/or performs other suitable operation. An interface may comprise hardware and/or software.
Logic performs the operations of the component, for example, executes instructions to generate output from input. Logic may include hardware, software, and/or other logic. Logic may be encoded in one or more tangible media and may perform operations when executed by a computer. Certain logic, such as a processor, may manage the operation of a component. Examples of a processor include one or more computers, one or more microprocessors, one or more applications, and/or other logic.
In particular embodiments, the operations of the embodiments may be performed by one or more computer readable media encoded with a computer program, software, computer executable instructions, and/or instructions capable of being executed by a computer. In particular embodiments, the operations of the embodiments may be performed by one or more computer readable media storing, embodied with, and/or encoded with a computer program and/or having a stored and/or an encoded computer program.
A memory stores information. A memory may comprise one or more tangible, computer-readable, and/or computer-executable storage medium. Examples of memory include computer memory (for example, Random Access Memory (RAM) or Read Only Memory (ROM)), mass storage media (for example, a hard disk), removable storage media (for example, a Compact Disk (CD) or a Digital Video Disk (DVD)), database and/or network storage (for example, a server), and/or other computer-readable medium.
Modifications, additions, or omissions may be made to system 10 without departing from the scope of the invention. The components of system 10 may be integrated or separated. Moreover, the operations of system 10 may be performed by more, fewer, or other components. For example, the operations of conceptual graph generator 30 and term expander 40 may be performed by one component, or the operations of onomasticon manager 45 may be performed by more than one component. Additionally, operations of system 10 may be performed using any suitable logic comprising software, hardware, and/or other logic. As used in this document, “each” refers to each member of a set or each member of a subset of a set.
At step 530, context generator 48 determines if a retrieved concept type is a context linking concept. For example, context generator 48 may determine whether the retrieved concept type fits a context linking concept pattern. If the retrieved concept type is a context linking concept, the method proceeds to step 540, where context generator 48 designates the retrieved concept type as a context linking concept. The method then proceeds to step 570. If the retrieved concept type is not a context linking concept, the method proceeds to step 550.
At step 550, context generator 48 determines if a retrieved concept type is a concept object. For example, context generator 48 may determine whether the retrieved concept type fits a concept object pattern. If the retrieved concept type is a concept object, the method proceeds to step 560, where context generator 48 designates the retrieved concept type as a concept object. The method then proceeds to step 570. If the retrieved concept type is not a context linking concept, the method proceeds directly to step 570.
Context generator 48 reports the categorization to onomasticon manager 45 at step 570. At step 580, onomasticon manager 45 maps the categorizations to the terms to record the categorizations. For example, onomasticon manager 45 may map the categorization of a term to the term and to other terms semantically related to the term.
Conceptual graph 60 may have more concept types and relation types. If so, the method returns to step 520, where context generator 48 retrieves the next concept types and one or more relation types. Is not, the method ends.
Modifications, additions, or omissions may be made to the method without departing from the scope of the invention. The method may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order.
Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that graph terms of a query conceptual graph may be categorized. The categories may be used to identify related terms, which in turn may be used to search for documents.
Certain embodiments of the invention may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
Although this disclosure has been described in terms of certain embodiments, alterations and permutations of the embodiments will be apparent to those skilled in the art. Accordingly, the above description of the embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are possible without departing from the spirit and scope of this disclosure, as defined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4964063 | Esch | Oct 1990 | A |
6076088 | Paik et al. | Jun 2000 | A |
6169986 | Bowman et al. | Jan 2001 | B1 |
6263335 | Paik et al. | Jul 2001 | B1 |
6523028 | DiDomizio et al. | Feb 2003 | B1 |
6678677 | Roux et al. | Jan 2004 | B2 |
6847979 | Allemang et al. | Jan 2005 | B2 |
7031909 | Mao et al. | Apr 2006 | B2 |
7139755 | Hammond | Nov 2006 | B2 |
7225183 | Gardner | May 2007 | B2 |
7428529 | Zeng et al. | Sep 2008 | B2 |
7539619 | Seligman et al. | May 2009 | B1 |
7555472 | Craig et al. | Jun 2009 | B2 |
7685118 | Zhang | Mar 2010 | B2 |
7761298 | Pereira et al. | Jul 2010 | B1 |
7853555 | Peoples et al. | Dec 2010 | B2 |
7882143 | Smyros et al. | Feb 2011 | B2 |
7991608 | Johnson et al. | Aug 2011 | B2 |
20020002454 | Bangalore et al. | Jan 2002 | A1 |
20020022955 | Troyanova et al. | Feb 2002 | A1 |
20020022956 | Ukrainczyk et al. | Feb 2002 | A1 |
20020087313 | Lee et al. | Jul 2002 | A1 |
20020107844 | Cha et al. | Aug 2002 | A1 |
20030028367 | Chalabi | Feb 2003 | A1 |
20030049592 | Park | Mar 2003 | A1 |
20030050915 | Allemang et al. | Mar 2003 | A1 |
20030177000 | Mao et al. | Sep 2003 | A1 |
20030229497 | Wilson et al. | Dec 2003 | A1 |
20040024739 | Copperman et al. | Feb 2004 | A1 |
20040067471 | Bennett | Apr 2004 | A1 |
20040093328 | Damle | May 2004 | A1 |
20040107088 | Budzinski | Jun 2004 | A1 |
20040236729 | Dingledine et al. | Nov 2004 | A1 |
20050192926 | Liu et al. | Sep 2005 | A1 |
20050278325 | Mihalcea et al. | Dec 2005 | A1 |
20060074832 | Gardner et al. | Apr 2006 | A1 |
20060184516 | Ellis | Aug 2006 | A1 |
20060235843 | Musgrove et al. | Oct 2006 | A1 |
20070005343 | Sandor et al. | Jan 2007 | A1 |
20070136251 | Colledge et al. | Jun 2007 | A1 |
20070250493 | Peoples et al. | Oct 2007 | A1 |
20070294223 | Gabrilovich et al. | Dec 2007 | A1 |
20080033932 | DeLong et al. | Feb 2008 | A1 |
20080270120 | Pestian et al. | Oct 2008 | A1 |
20080270138 | Knight et al. | Oct 2008 | A1 |
20090012928 | Lussier et al. | Jan 2009 | A1 |
20090063473 | Van Den Berg et al. | Mar 2009 | A1 |
20090089047 | Pell et al. | Apr 2009 | A1 |
20090171876 | Tirri | Jul 2009 | A1 |
20090254543 | Ber et al. | Oct 2009 | A1 |
20090259459 | Ceusters et al. | Oct 2009 | A1 |
20100070449 | Arnold et al. | Mar 2010 | A1 |
20100115003 | Soules et al. | May 2010 | A1 |
20100121884 | Peoples et al. | May 2010 | A1 |
20100153092 | Peoples et al. | Jun 2010 | A1 |
20100153367 | Peoples et al. | Jun 2010 | A1 |
20100153368 | Peoples et al. | Jun 2010 | A1 |
20100153369 | Peoples et al. | Jun 2010 | A1 |
20100223276 | Al-Shameri et al. | Sep 2010 | A1 |
20100287179 | Peoples et al. | Nov 2010 | A1 |
20110040774 | Peoples et al. | Feb 2011 | A1 |
Entry |
---|
Patent Application, “Expanding Concept Types in Conceptual Graphs,” inventors Bruce E. Peoples et al., 31 pages including drawings, filed Nov. 7, 2008. |
Patent Application, “Applying Formal Concept Analysis to Validate Expanded Concept Types,” inventors Bruce E. Peoples et al., 29 pages including drawings, filed Nov. 7, 2008. |
Rodriguez et al.; “Determining Semantic Similarity among Entity Classes from Different Ontologies;” IEEE Transactions on Knowledge and Data Engineering, vol. 15, No. 2; Mar./Apr. 2003; pp. 442-456. |
Office Action dated May 11, 2011; for U.S. Appl. No. 12/266,671; 11 pages. |
Response filed Aug. 9, 2011; to Office Action dated May 11, 2011; for U.S. Appl. No. 12/266,671; 13 pages. |
Office Action dated Sep. 16, 2011; for U.S. Appl. No. 12/266,617; 12 pages. |
RCE and Response filed Nov. 16, 2011; to Office Action dated Sep. 16, 2011; for U.S. Appl. No. 12/266,617; 15 pages. |
Office Action dated Mar. 15, 2011; for U.S. Appl. No. 12/266,724; 13 pages. |
Response filed Jun. 10, 2011; to Office Action dated Mar. 15, 2011; for U.S. Appl. No. 12/266,724; 9 pages. |
RCE with Response filed Nov. 30, 2011; for Office Action dated Sep. 1, 2011; for U.S. Appl. No. 12/266,724; 15 pages. |
Response filed Mar. 15; to Office Action dated Jan. 9, 2012; for U.S. Appl. No. 12/266,724; 9 pages. |
Office Action dated Aug. 2, 2011; for U.S. Appl. No. 12/335,260; 12 pages. |
Office Action dated Jan. 20, 2012; for U.S. Appl. No. 12/335,260; 12 pages. |
Response filed Mar. 22, 2012; for Office Action dated Jan. 20, 2012; for U.S. Appl. No. 12/335,260; 14 pages. |
Office Action dated Mar. 29, 2011 for U.S. Appl. No. 12/355,283;13 pages. |
Response filed Jul. 29, 2011; for Office Action dated Mar. 29, 2011 for U.S. Appl. No. 12/355,283; 12 pages. |
Final Office Action dated Oct. 31, 2011; for U.S. Appl. No. 12/335,283; 14 pages. |
Advisory Action dated Dec. 9, 2011; for U.S. Appl. No. 12/355,283; 13 pages. |
Office Action dated May 26. 2011; for U.S. Appl. No. 12/541,244; 24 pages. |
Response filed Aug. 25, 2011; to Office Action dated May 26, 2011; for U.S. Appl. No. 12/541,244; 14 pages. |
Final Office Action dated Sep. 21, 2011; for U.S. Appl. No. 12/541,244; 24 pages. |
Office Action dated Oct. 25, 2013, U.S. Appl. No. 12/335,283, 31 pages. |
U.S. Appl. No. 12/266,671, filed Nov. 7, 2008, file through Jan. 7, 2013, Part 1, 513 pages. |
U.S. Appl. No. 12/266,671, filed Nov. 7, 2008, file through Jan. 7, 2013, Part 2, 616 pages. |
U.S. Appl. No. 12/266,724, filed Nov. 7, 2008, file through Jan. 7, 2013, Part 1, 382 pages. |
U.S. Appl. No. 12/335,213, filed Dec. 15, 2008, file through Jan. 14, 2013, Part 1, 532 pages. |
U.S. Appl. No. 12/335,213, filed Dec. 15, 2008, file through Jan. 14, 2013, Part 4, 532 pages. |
U.S. Appl. No. 12/335,213, filed Dec. 15, 2008, file through Jan. 14, 2013, Part 9, 151 pages. |
U.S. Appl. No. 12/335,239, filed Dec. 15, 2008, file through Jan. 11, 2013, 112 pages. |
U.S. Appl. No. 12/335,260, filed Dec. 15, 2008, 557 pages. |
U.S. Appl. No. 12/335,283, filed Jan. 16, 2009, 616 pages. |
U.S. Appl. No. 12/541,244, filed Aug. 14, 2009, 659 pages. |
Notice of Allowance and Issue Fee Due, U.S. Appl. No. 12/335,213, filed Dec. 15, 2008, pp. 1-16. |
Notice of Allowance dated Jul. 19, 2012; for U.S. Appl. No. 12/266,724; 8 pages. |
Office Action dated Aug. 1, 2012; for U.S. Appl. No. 12/266,671; 18 pages. |
Office Action dated May 23, 2014 for U.S. Appl. No. 12/335,283, flied Dec. 15, 2003. |
Request for Continued Examination and Response to Final Office Action filed on Feb. 16, 2012; for Final Office Action dated Sep. 1, 2011; for U.S. Appl. No. 12/266,671; 13 pages. |
Office Action dated Apr. 26, 2012; for U.S. Appl. No. 12/335,260; 17 pages. |
Final Office Action dated Apr. 23, 2012; for U.S. Appl. No. 12/541,244; 29 pages. |
Number | Date | Country | |
---|---|---|---|
20100161669 A1 | Jun 2010 | US |