Method and apparatus for searching using an active ontology

US10002189B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10002189-B2
Application numberUS-34174308-A
CountryUS
Kind codeB2
Filing dateDec 22, 2008
Priority dateDec 20, 2007
Publication dateJun 19, 2018
Grant dateJun 19, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Embodiments of the present invention provide a method and apparatus for searching using an active ontology. One embodiment of a method for searching a database includes receiving a search string, where the search string comprises one or more words, generating a semantic representation of the search string in accordance with an ontology, searching the database using the semantic representation, and outputting a result of the searching.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for constructing database queries for searching at least one database, comprising: receiving a user entered search string, the search string comprising one or more words; identifying a first node in an ontology based on the one or more words of the search string, the first node being related to at least one of the one or more words in the search string, wherein the ontology includes at least one node representing a concept and at least one node representing an attribute of the concept; constructing a first database query based on the identified first node in the ontology, the first database query comprising one or more attributes associated with the first node, and a respective value, from the search string, for each of the one or more attributes; after constructing the first database query, searching at least one database using the first database query; identifying, based on a frequency of occurrence of a pair of user events, a second node in the ontology, the second node associated with the first node, the second node representing a concept not represented by the received search string, wherein a first user event of the pair of user events corresponds to the first node and a second user event of the pair of user events corresponds to the second node, and wherein for each occurrence of the pair of user events, the first user event and the second user event occur within a predetermined time period; constructing a second database query based on the identified second node; after constructing the second database query, searching at least one database using the second database query; and outputting results of the searching. 2. The method of claim 1 , wherein identifying the first node in an ontology comprises: splitting the search string into one or more tokens, where each of the one or more tokens represents at least one of the one or more words; parsing the one or more tokens, using the ontology; and producing an interpretation of the search string as a result of the parsing. 3. The method of claim 2 , wherein parsing the one or more tokens comprises: matching the one or more tokens to at least one node in the ontology. 4. The method of claim 2 , wherein producing an interpretation of the search string comprises: producing a plurality of interpretations of the search string; assigning a weight to each of the plurality of interpretations, the weight indicating a confidence that an associated one of the plurality of interpretations is correct; and selecting a one of the plurality of interpretations with a highest weight. 5. The method of claim 1 , further comprising: identifying one or more missing search criteria in the search string; and selecting a default value for the one or more missing search criteria from at least one of: a user profile and a user search history. 6. The method of claim 5 , wherein the first database query further comprises an additional attribute having an additional value, wherein the additional value is the selected default value. 7. The method of claim 1 , wherein the ontology further comprises: a plurality of links connecting nodes of the ontology with one another, each of the plurality of links representing a relation between nodes linked thereby. 8. The method of claim 7 , wherein at least one relation among nodes comprises an indication that one concept causes another concept. 9. The method of claim 7 , wherein at least one relation among nodes comprises an indication that concepts represented by the nodes tend to occur together. 10. The method of claim 7 , wherein at least one relation among nodes comprises an indication that one of the nodes represents at least one additional search criterion associated with a concept represented by another of the nodes. 11. The method of claim 1 , wherein the ontology is customized for a particular purpose. 12. The method of claim 1 , further comprising: augmenting at least one of the first and second database queries by incorporating at least one additional attribute associated with at least one additional node linked to the identified first node. 13. The method of claim 1 , wherein the second database query comprises: at least one attribute associated with the first node; and a value, from the search string, of the at least one attribute. 14. The method of claim 1 , wherein the identified first node corresponds to a best weighted interpretation of user intent. 15. The method of claim 1 , further comprising establishing at least one link between nodes based on observed behavior of at least one user. 16. The method of claim 15 , wherein establishing the at least one link between nodes comprises establishing a link between two nodes responsive to a degree of observed co-occurrence of identification of the two nodes in response to receiving user queries. 17. The method of claim 1 , wherein the ontology comprises an active ontology. 18. The method of claim 1 , further comprising: generating a log of nodes identified as being related to a plurality of search strings received over a period of time; determining co-occurrences among the logged nodes; and augmenting the ontology to include links among nodes based on frequency of the determined co-occurrences. 19. The method of claim 18 , wherein generating a log comprises: for each of a plurality of received search strings, storing a record comprising at least one of: the search string, the identified node, the result, and a time stamp indicating a reception time of the search string. 20. The method of claim 1 , wherein the second node is associated with the first node based on a link between the first node and the second node. 21. The method of claim 1 , wherein the second node represents a concept not represented by the received search string, and wherein the second node is a concept node that does not match any of the words in the search string. 22. The method of claim 1 , wherein the first node and the second node are identified at substantially the same time. 23. The method of claim 1 , wherein the first node and the second node are identified prior to searching any database with either the first database query or the second database query. 24. The method of claim 1 , further comprising: selecting at least a first database from a plurality of databases in accordance with a constraint defined in the first database query, wherein searching at least one database using the first database query comprises searching the selected at least a first database using the first database query. 25. The method of claim 1 , wherein: searching at least one database using the first database query comprises searching a first database using the first database query to retrieve first results that satisfy one or more criteria defined in the first database query; searching at least one database using the second database query comprises searching a second database using the second database query to retrieve second results that satisfy one or more criteria defined in the second database query, the second database is different from the first database; and outputting results comprises outputting results based on the first result and the second results. 26. The method of claim 1 , wherein: the first node in the ontology represents a first user intent of performing a first action; the second node in the ontology represents a second user

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10002189B2 cover?
Embodiments of the present invention provide a method and apparatus for searching using an active ontology. One embodiment of a method for searching a database includes receiving a search string, where the search string comprises one or more words, generating a semantic representation of the search string in accordance with an ontology, searching the database using the semantic representation, …
Who is the assignee on this patent?
Cheyer Adam, Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30734. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 19 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).