IMAGE SEARCH ENGINE USING CONTEXT SCREENING PARAMETERS
An image search engine server that comprises an image search engine, capable of performing image searches based on the context of a search operation. The context of the search is derived from a built-in thesaurus and/or a dictionary. For a thesaurus-based algorithm, the approach is to send a query back to the user, who can select the image search domain, sub-domain, and other hierarchical search refinements from one or more dropdown menus. The items in the dropdown menus that the user selects during the “query back” are used to augment the search string entered by the user to better refine the image search. If the user entered search string is a single string of dictionary word or words or the dictionary mode is elected, then synonyms for that search string are used to generate the augmented search string for the final context-based search operation. By using the dictionary or thesaurus approach, a user search string can be augmented to result in improved image search results.
CROSS REFERENCES TO PRIORITY APPLICATIONS
The present application:
(1) is a continuation in part of U.S. Utility application Ser. No. 12/185,796, filed Aug. 4, 2008;
(2) is a continuation in part of U.S. Utility application Ser. No. 12/185,804, filed Aug. 4, 2008; and
(3) claims priority under 35 U.S.C. 119(e) to U.S. Provisional Application Ser. No 61/052,744, filed May 13, 2008, all of which are incorporated herein by reference in their entirety for all purposes.
1. Technical Field
The present invention relates generally to Internet searching, and more particularly to performing image searches over the Internet.
2. Related Art
Currently, text based search engines are normally used to find image content over the Internet. When using text words or descriptors correlated to image file names or Meta data to find images, it is difficult for a person who is not well versed in the search operation to get more focused and relevant search results. Too few words in the text search string lead to too many search results that are not of interest or relevant to the user. If the user tries to add more words into the search string, aiming to retrieve results of high relevance, there is a tendency that the search results getting more unfocussed. It is often the user's sole responsibility to construct an efficient search string using logical AND, OR, etc., operators which can help in retrieving more relevant image search results, and the crafting of a sufficient search string may take many tries or may be frustrated entirely in the end. For a novice user, without proper knowledge of using the search engine with such logical operators, it is simply impossible to perform efficient image searching on the Internet.
Presently, search engines do not differentiate between a text and image search. When the search results are presented to the user, contextually relevant images maybe presented deep inside a huge or long search result list of hundreds or thousands of images. Under such situations, the user may fail to identify the relevant images from the large search result list. This results in the user putting in a substantial amount of effort that will then become more frustrating for the user during the image search operation. Also, the isolated images that are also part of the text pages may further complicate the search operation adding confusion to the user.
The current image search engines do not help in screening the images presented to a user in response to a text search in a manner that is more contextual based on the use and environment where the picture resides. When the user enters a search string for searching images of his concern or perspective, it may so happen that lots of irrelevant images are also presented to him, based on the matching of a single word, not the more revealing surround content. Most of the times, the presented results will be so large that the user will fail to find the best image, or any relevant image at all. This aspect of lack of focus and context awareness of current image search engines is very serious in some situations. For example, when young children are looking for some images or pictures of their choice; it may so happen that they get adult image content or porn pictures accidentally mixed in with relevant pictures, a very serious drawback to be dealt with in the current image search algorithms.
Also, current search engines do not learn or understand what the user find relevant or what a user is looking for by the way of search interactions. As a consequence of this the search engine cannot track what the user is looking for during browsing a webpage. Thus, any event that happens during a search session such as user selecting a word, or phrase on the current webpage will not be considered by search engine to determine what images or content the user may be interesting in. Due to lack of this feature, further refinement of the search string during a search session is not possible. As a result of this the search results will often not be relevant to what the user is looking for.
There are some search engines which can query users only on a rudimentary basis for selecting the specific search domains or areas, but the search operations performed are limited to those domains only and the search engines do not address the problem of optimizing relevant search results to the user. Such search engines can not be considered as general purpose search engines, whose objective is to generate more focused search results from the web servers hosting images on the entire Internet, rather than a single or few limited domains of data/images. Basically, such domain-specific search engines are personalized search engines, which do search operations only within the domains of someone's local interest but not to a broad user's interest. Thus, search operations leading to limited domains will not suit the purpose of the users all the time, as what the user desires in terms of data and images maybe elsewhere in a different domain or search space.
Current search engines do not maintain a centralized database and update it periodically based on the routine search operations performed by the users to make the search results more focused or making them more contextual. Normally, visited sites through search operations are maintained in a search database, but such format of storage in a search database cannot be utilized for making the search operation more efficient during the subsequent search operations. Also, the mere link-based databases, which a search server maintains for normal Internet operation, can not help in refining image search queries for the user, thus a refined or augmented search string can not be derived for focused and efficient context-based image search operation. Therefore, a need exists for a more effective and efficient way of searching Internet-based image content.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of ordinary skill in the art through comparison of such systems with the present invention.
BRIEF SUMMARY OF THE INVENTION
The present invention is directed to apparatus and methods of operation that are further described in the following Brief Description of the Drawings, the Detailed Description of the Invention, and the claims. Other features and advantages of the present invention will become apparent from the following detailed description of the invention made with reference to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF THE DRAWINGS
Unlike any other search operation performed over the Internet, such as text searches, document searches, binary searches, etc., there is a dearth of capable search engines for image content on the Internet. Those applications and programs that are available for searching images are not very effective as they simply match a text search string typed in by a user to a file name of an image or maybe some short metadata attached to the image file. If a user searches for “balloons,” expecting to find pictures of birthday party balloons, the search may return page after page of hot air balloon photos or weather balloon pictures simply because “balloon” is found in the name or short Meta data attached to these pictures. If the user then limits the search to “pink balloons for kids birthday party”, the simple image search algorithms may not find a lot of this text in the image file names or metadata, and return equally poor information to the user. In effect, this form of searching ensure that the best pictures, cartoons, images, graphics, clipart, etc, of kids balloons are missed by the user. Many users find that a picture or an image can convey information more effectively or be more pertinent to search than Internet text-based information. A photograph of an object living or nonliving may be a more useful piece of information to a user than any text or audio file describing the object orally or through a written language form. Also, other advantages of image transmission across the Internet are their ability to be significantly data-compressed, as opposed to text messages. The application of image search and processing finds application in several fields particularly to give an example is, in security, crime investigations and law enforcement, medical applications, on-line publishing, etc.
Further, education through the Internet is a very effective medium that often must involve learning through images, multi-media, videos, pictures, or other graphic mediums. Image based education can be more advantageous than education through a specific written or spoken language, which fundamentally involves lots of text based processing and presentations. The amount of information conveyed through text or audio processing can be much less effective and in the end more expensive than learning via multimedia, videos, images, pictures, or other graphical content. When using graphical Internet-based education, one has to be very careful with and concerned about the image content that is downloaded, transferred, and accessed through Internet search operation.
Furthermore, most learning disciplines like Engineering, Science, Business, Management, etc., portraying observations, data, and concepts in the form of graphs, charts, drawings, schematics, graphics, and images each one of them likely are searchable on the Internet as images. It is the image or the pictures in all walks of human life that sometimes allow us to most effectively communicate and learn. So, effective image searching, image processing, and knowledge dissemination through image content on the Internet is a valuable process.
The advancements of image processing technology have made machines able to understand and enhance images, sometimes more capably and effectively than written human languages. This has enhanced the usefulness of images in all aspects of Internet communication, learning, and operation. Also other technologies hitherto infeasible have been made feasible due to image processing advancement; for e.g. image sensor technology has achieved low cost, high resolution integrated circuit chip cameras, which can capture movie frames at the required frame rate for high quality media, picture, and movie processing. It is the need of the hour to implement an Internet image search engine which does searching of the images based on the context of the search to better capitalize on image content over the Internet.
The space industry, military establishments, scientific community, etc., requires real time image processing of image data shot from one or more satellites. The cameras mounted on satellites shoot pictures at high resolution in real time and send them as frames, and the information is finally stored as an images or image frames to generate movies, pictures, or multi-media. In all these situations, it is some form of Internet (or intranet of a corporate company) infrastructure that is chiefly used to process, send, and receive images between group of persons, etc. This processing requires maintaining huge image databases and this data could be enhanced and rendered more useful by involving image search operations, necessitating the need of image search engines that are optimized for context-based image search.
There are standard image formats that have evolved over time and that are available and make it possible to have unique standards to interpret images or pictures over the Internet and through Internet searching. This makes it easy to derive or process information contained in pictorial or multi-media data for computer processing. Various pictorial formats may be easily understood by computers, thereby allowing computers to process, learn, and remember images efficiently, which is sometimes required in certain applications.
Geographical distance between an image source center and an image destination center is not a large constraint given the Internet. However, most of the time searching images on the Internet is a cumbersome and a complex task. Some of the search engines do searching of both images and text/documents, like Yahoo or Google. In that context, the search engines may be required to segregate image contents from that of the text and document information. This necessitates and allows for a new generation of search engines that can search image contents efficiently and exclusively.
Currently, we need search engines that do image searching rather than less concise and less useful searching of text and document-based web pages. A new search algorithm that enables image searching, based on the context, would be a useful tool on the Internet. Often, the screening of images needs to be done from text-based web pages. Also images from certain domains need to be screened from images in some other domains, for example, images from children sites need to be segregated from the images on adult sites. There is also a need to maintain image databases exclusively for the simplicity of maintenance and the ease of access. Images can be stored based on their relevance to a domain, category, etc., which helps ensure a quick and efficient retrieval of the image data during an image search on the Internet.
The ever-increasing need of picture and image exchange through the Internet has found its limitations from within the algorithms that make image search. As the Internet is the source of all sorts of information, whether it is text or image, it is the efficient and context-based retrieval of this data that is highly essential. The context-based search of images makes for the efficient utilization of the Internet infrastructure, and this can reduce junk traffic on the Internet that contains redundant or irrelevant information during Internet search operation, as happens today. Search engines that perform image searching via a search context can provide efficient image search services to groups of people from different disciplines, irrespective of their level of Internet search knowledge.
The embodiments taught herein facilitate various image search operation based on the context of the search, thus resulting in more effective and efficient image searching. The image search engine can understand what the user requirement is, and the image search engine can accordingly modify the user entered search string or the image search algorithm or data access, to perform image search operation that better access only those images that better correlating with the modified or augmented search string and therefore better correlate with the desires of the user.
The context-based image search may require some internal reference/understanding that helps search engine in understanding the context-based searching. In one embodiment, a built-in thesaurus to the browser or search system is specially and optimally formatted. This thesaurus allows the search engine to learn, expand, and contract the context of the search and generate new or augmented search string(s) for performing the image search operation in improved or expanded ways to assist the user. In order for the search engine to work as a general-purpose search engine over time for all users, the thesaurus contents may have to be extensive or exhaustive, and may need to be periodically updated to remain current.
During an image search operation, a user enters a search string in the image search engine. The search engine interacts with the user through a query-back mechanism to refine the user's query (i.e. search string). The search engine queries back the user in a window providing a dropdown menu containing a large list of all the domains from which the image can be searched. The list of all the domains is maintained in the thesaurus in one embodiment. When the user selects one or more domains, the search engine further queries user to identify the sub-domain to which the search string (or the image name) needs to be searched, by way of presenting him with a list of sub-domains derived from the thesaurus. Then user makes a choice of the sub-domain(s). Within one or more specific sub-domain are lists of the categories, to which the search string needs to be searched from. Subsequent queries ask the user to select a subcategory from within the selected category. Within a subcategory there may be many semantically-related searched objects with the search string provided by the user. At each step the search string provided by the user will get augmented by domain, sub-domain, category, subcategory, names, etc. Finally, the augmented search list will be further augmented with all the semantically-related search image object names that are present in a subcategory. Note, the hierarchy of domain, sub-domain, category, subcategory, names taught herein can be shorted to create a hierarchy of just domain and category, or domain-category-name, or a more complex hierarchy with more than 5 levels as discussed above. Therefore the number and detail of each query and the number and detail of the hierarchical construct that derived the query can change to create new embodiments within the scope of the embodiments taught herein.
At end of all the query steps, the search string has grown far bigger and far more useful to the user for searching the image databases than what the user had initially entered. This augmented search string is further constructed after each user response to the query or is constructed at the completion of all queries, and the new augmented search string is managed by a search engine module called a context manager, in accordance with one embodiment. Thesaurus lookup is performed when the user-entered search string is a multiple word or a phrase, indicating the name of the image under search. If the search string is a single word from a dictionary or a single word parsed from a multi-word user entry, then a built-in dictionary lookup may suffice to pick synonyms and generate an augmented search string by the context manager in accordance with the embodiment. Under a single word search string and in one embodiment, it is the user who will guide the image search engine whether to do a thesaurus-based contextual image search or a dictionary-based contextual image search.
In one embodiment, user can also opt for direct image searching wherein the image search will be performed directly based on the user-entered search string (without being automatically further augmented by other words per a dictionary and/or thesaurus). In this situation, the search results are not context-based to begin with. This feature of limited the level of context-based machine-human interaction may be essential if the user is not satisfied with the machine-assisted thesaurus or dictionary based contextual image search operations or this feature may be useful for some other of the user's personal requirements. This direct image search will be useful in the event that the thesaurus or the dictionary has not been updated periodically or maybe is available in the wrong language that the user intends to search with. A direct image search operation will also help in allowing previously unlisted images in the thesaurus to be listed into it. This can happen once, and henceforth that the image be accessible for everyone during further thesaurus based context search.
The image search engine 121 comprises a copy of the image search result list 117, often stored in its cache, main, random access, disk, or magnetic memory, and the context manager 119 which produces image searches in a manner that is context-based on the user's text input and/or responses to one or more server queries. If a thesaurus-based context generation is opted by the user or server, or selected by default, the user will be queried back through query back window which facilitates a dropdown menu of domains, categories, etc., which are defined in or in conjunction with the thesaurus. A Thesaurus-based image search via thesaurus 111 will be the default option if the user enters an image search string that is not a single dictionary-based word or if it is a multiple word phrase that requires more grammatical or complex processing to decipher. Otherwise, for simple or single word search strings, the image search can be conducted using the dictionary 113, by doing a dictionary-based context search as opposed to a thesaurus-based approach. In some embodiments, the server may enable a dual thesaurus/dictionary approach, where the thesaurus parses more complex terms and sentences while the dictionary is consulted for smaller phrases and words to get more insight into the user search string. Therefore, in some embodiments, the thesaurus and dictionary can be accessed simultaneously, together, or in series to finish search string processing. In a thesaurus-based image search, semantically similar image search object names from within a category or a subcategory of the thesaurus are picked by the context manager to add to or augment the user-entered image search string. The image search engine 121 then uses this augmented search string to perform the image search operation to find more meaningful and relevant image material for the user.
For a single word or a default dictionary based words, a dictionary-based context search using the dictionary 111 of
The image search engine database 109 contains the table of the links already visited by several users over the Internet, in various earlier image search sessions. If some other users request the same images whose link(s) are already in the database will be readily displayed without need to contact the respective web server which hosts that particular image. These cached image links will be maintained for some specific duration after which they are deleted from the database for the storage space requirement constraints. Memory unit 123 is the actual system memory used during any computation by the processing circuitry 125. The memory is typically random access memory, dynamic random access memory (DRAM), static random access memory (SRAM), cache, magnetic disk storage, non-volatile memory, electrically programmable read only memory (EPROM), electrically erasable read only memory (EEPROM), magnetic memory, optical memory, laser disks, other types of storage or combinations thereof. The processing circuitry 125 is often one or more central processing units, microcontrollers, multi-core CPUs, graphics processing units (GPUs), digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable gate arrays (PGAs), control logic, state machines, combinations thereof, or other processing circuitry.
In most of the search operations, it is the thesaurus-based context search that is used as a default, via the thesaurus augmented image search string generator 221 within image search engine 227. The user enters the image search string in the image search engine window. In response to this entry, the context manager 223 will be executed on the image search engine server to grab all the domain name information from the thesaurus, collect that information into a dropdown menu or similar display mechanism, and present the information to the user. In some cases, the thesaurus processing will require more complex processing that simple a table look-up for similar or synonymous words, as may be the simpler case for the dictionary mode of operation. The thesaurus processing can use grammatical processing similar to that used in modern word processing programs to parse grammar, structure, and meaning from an entered string of information. In some cases, the thesaurus may call upon the dictionary to aid in its processing. In other cases, the thesaurus is simply a hierarchical organization of search domain categories and sub-categories that a user can select within to refine a search to a more focused and relevant image/data domain. After processing and displaying the domain name information, the user selects one or more domain names from the dropdown menu, based on his knowledge of the image searching he requires or with some judicious starting guesswork. Subsequently, the image search engine learns this information, and instantly the context manager modifies the image search string by one level to incorporate searching of the selected domain sets of data. Thereafter, the context manager interacts with the thesaurus and grabs all the sub-domain names under the previously selected domain(s) and provides another dropdown menu to the user. User repeats the selections of sub-domains as previously discussed for domains. The context manager modifies the user image search string by another level by adding the sub-domain name/information to the search query provided by the user. This process is repeated until the image search string is modified by all the levels based on the number of levels of image database granularity that are built into the thesaurus. In the example case discussed herein, four levels of hierarchical structure are considered by the thesaurus, and these levels are the domain level, sub-domain level, category level, and subcategory level for the simplicity of illustration. In each level, less image data, but more interrelated or relevant image text data is pooled together and associated with one another for more effective searching of densely populated relevant content.
In a large database, the number of levels in the thesaurus can further be nested shallower or deeper that described above to accommodate variety of the image object types that are coming from variety of different fields. In the last level of the hierarchical tree data structure, all words or phrases that a similar or synonymous with the search requested by the user are resident. The context manager picks all of the names corresponding to the respective images and adds them to previously modified image search string. The names or words in the last level are all semantically related words, and might not be simply synonymous during the thesaurus based context generation.
If the option of dictionary-based searching is chosen earlier, then the dictionary-based context will be generated, via the dictionary augmented image search string generator 225 within image search engine 227 of
It is also possible to allow the dictionary and thesaurus querying mechanism to elect phrases or words that should not be search or not included with the search results. For example, if someone is searching on the word “Ram,” this word could mean an animal, a rock bank, a portion of an oil rig drill bit, or random access memory, for example. By recording these common inaccuracies in the thesaurus data structure, the server can help the user, through queries, filter out content areas that they will certainly not be interested in viewing or using.
The block diagram 201, of
The context manager 223 (same as context manager 119 of
The block diagram 301 of
The context manager has an image search string receiver 311 that is interfaced to by a user operating on the client device. The user interfaces with receiver 311 via the network browser window in which an image search engine instance 205 of
The thesaurus-context generation involves “query back” operations and subsequent response(s) from the user, in accordance with one embodiment. When a user makes a decision whether the search is to be conducted using the thesaurus-based context or a dictionary-based context, by opting at the beginning of the image search session from the image search engine window on the client device for example, the context manger will become aware of what routines to execute and/or what data to load into the memory (from storage), whether thesaurus-based and/or dictionary-based; The thesaurus programs and data are loaded and executed for thesaurus-based context generation, and the dictionary programs and data are loaded for using a dictionary for dictionary-based context generation.
First, the user inputs the image search string using the client device or another input device. The image search string receiver 311 of
If the user had opted for the dictionary-based context search at the beginning of the search session or if the user entered an image search string which is a dictionary word, the context manager 407 may derive many synonymous words simply from accessing the dictionary 413, existing in the storage 419. The context manager 407 can assemble or associate all or several of the synonymous words picked from the dictionary with the search string entered by the user, resulting in an augmented image search string 421 or search data structure/database 421 (dictionary based). The image search engine 121 of
The image search engine thesaurus will have a list of top-level domain names, and below the top-level domain names there are several intermediate levels with each level item having its own next level list of sub-domains. The lowest level has all the sub-domains expanded into semantically related search objects, via files, pointers, allocated storage, identifiers, and/or other constructs. One can imagine the image search engine thesaurus as a huge tree data structure, with its trunk representing the thesaurus itself and the emerging branches as the domains, and each branch further branching into sub-domains (smaller branch lets), and so on until finally the leaves of the tree are the semantically related search objects/lists/nodes as the final structures in the tree database.
Block diagram 501 of
In one embodiment, the search objects items labeled search-object-1 529 to search-object-J 533, will directly be the links of certain image search sites, text descriptors of interest, metadata, images themselves, or some mixture of many different forms of data type. For example, sometimes the objects 529-533 are the list of links corresponding to restaurants, or shopping centers, etc. If a user for instance is looking for a list of restaurant images, the list of links can readily be displayed to him, instead of searching across the entire Internet for the same search results links. Often, links, addresses, html identifiers, or pointers will be used, as this results in more efficient processing and space utilization within the host of severs that help constitute the Internet. Note that the nodes in the tree structure can connect in a cross-connected manner in some embodiments. For example, a category domain of mammals and a domain of dogs may link through the hierarchy to similar leaf nodes or final data in the end. Therefore, in some data structures, the connections on one node or to certain data items in a node can be shared between many parent nodes in the tree structure of
In one embodiment, the dictionary-based augmented image search string will further be modified to include more context with the help of thesaurus lookup as explained in
Block diagram 601 of
An example of augmented image search strings constructed based on
It is important to note that some algorithms and embodiments can query the user to identify just those few key synonyms or thesaurus-based constructs that the user wants out of the structure of
A search algorithm based within the image search engine may not perform context-based searches for all types of the search strings used by the user under all the search scenarios. If the user wants the search to be directed based on whatever he enters as the search string, this option is made available as one of the options available to the user. This option is in addition to the context-based image search using the thesaurus-based algorithm (see left hand vertical column of
The flowchart illustrates the method/operations 801 performed by the context search engine, wherein the context may be generated using a thesaurus or a dictionary approach. In one embodiment, after starting at the image search engine at a step 803, a user can chose one option out of three: a thesaurus based search algorithm/image as in steps 805-821, dictionary based search algorithm/image search as in steps 823-831, or a direct search algorithm or image search as in steps 833-839 of
If the thesaurus context search option is chosen at a step 805, the image search engine receives the image search string at a step 807, via user input and interfacing from the user via one or more client devices. The image search engine sends one or more queries back to the user at the client device, prompting him to select the domains names as explained in the
If the user opts for the dictionary-based context search at 823, the user enters an image search string this is a single dictionary word or a simple concatenation of a few dictionary words. The user-entered search string that is to be processed via the dictionary is received by the image search engine at a step 825 from the user on a client device. Upon receiving the image search string, the context manager 119 of
If the user has opted for direct search as in steps 833-839, the image search engine does the image search operation with the image search string as entered by the user at a step 835. This option will be helpful, if the entire Internet needs to be searched for the image, which can be of particular interest for the user. The search engine receives the user-entered string as at a step 837, and the image search engine performs the search operation over the entire Internet via a step 839 to display the search results to the user on the client device.
After the user or system makes a selection of type of context generation (thesaurus and/or dictionary) that will be used, the process will continue. In accordance with an example of a thesaurus configuration as discussed in
The flowchart 901 illustrates the method performed by the user in response to the queries sent by the search engine of
At step 915, if the thesaurus-based context is not opted, the user will be looking for the dictionary-based context generation, or this option maybe selected by default if the user entered an image search string which is a dictionary based word or simple phrases of words. In this context, the context manager of the image search engine of
At a step 917, if the dictionary option is not made in some form, it is likely the direct search option that has been chosen by the context manager of the image search engine. This option of the image search only requires whatever the image search string a user enters from the search engine instance 205 of
The thesaurus method taught herein can be used for other purposes. For example, the thesaurus hierarchy method may be used to process pictures on the Internet and their surrounding context. If, for example, there is a picture associated with a web page, text, or other content that can be processed using normal grammar processing, then the thesaurus algorithm can process text and information around the picture to get a better idea of what is in the picture. For example, assume there is a picture on a website or news article. We may not know what the picture is and image recognition processing on the pictures and metadata scanning may fail or not be revealing. In this case, the server, which is processing pictures for inclusion into the right node, hierarchy, category of the data structure of
As one of ordinary skill in the art will appreciate, the terms “operably coupled” and “communicatively coupled,” as may be used herein, include direct coupling and indirect coupling via another component, element, circuit, or module where, for indirect coupling, the intervening component, element, circuit, or module may or may not modify the information of a signal and may adjust its current level, voltage level, and/or power level. As one of ordinary skill in the art will also appreciate, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two elements in the same manner as “operably coupled” and “communicatively coupled.”
The present invention has also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description, and some features may be merged, split differently, or further segmented in other representations. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.
The present invention has been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. For example,
One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof. Also, thesaurus, as used herein, is intended to mean any module, software, system, or process that takes a search string or input from a user and processes it with feedback from the user to refine the search algorithm or data before or during searching using some form of data structure or computer data and/or query system to refine the search. The process and data structure that enables this image searching can be changed and arrive at similar improved search results for the user. The functional blocks and processes described herein can be performed by custom software, firmware, custom hardware, a general purpose CPU, other execution engine, or some combination thereof.
Moreover, although described in detail for purposes of clarity and understanding by way of the aforementioned embodiments, the present invention is not limited to such embodiments. It will be obvious to one of average skill in the art that various changes and modifications may be practiced within the spirit and scope of the invention, as limited only by the scope of the appended claims.
1. An image search server that supports thesaurus-based context searching of images on a plurality of web servers, the image search server adapted to be communicatively coupled to a plurality of client devices that initiate one or more searches, the search server comprising:
- a first portion of a search engine for searching image data contents stored in storage that is associated with the server, the searching occurring in response to the image search server receiving an original search string provided by a client device input;
- a context manager that generates an augmented search string from the original search string and one or more user's responses to search queries;
- a second portion of the image search engine that performs image search operations using the augmented search string to obtain more relevant image search results from image databases; and
- a third portion of the image search engine that delivers the more relevant image search results to the user via a server output circuit.
2. The image search server of claim 1 wherein the image search server periodically processes image data over the Internet for inclusion in a thesaurus data structure that can then be used by the image search server when performing image searching using a thesaurus-based approach.
3. The image search server of claim 2 wherein the image search is performed using one of the following algorithms: (i) a dictionary-based approach where at least one word is parsed from the original search string and related words are processed from the at least one word to create the augmented search string; (ii) a thesaurus-based approach where many words within the original search string are parsed from the original search string and user queries and server hierarchical data structures are accessed by the image search server to process the augmented search string; and (iii) a direct approach where the original search string is used to perform an image search without access to a thesaurus or a dictionary.
4. The image search server of claim 1 wherein the image search results are determined based on a choice between thesaurus-based context searching that accesses a hierarchical data structure of image categories and uses responses to user queries to create the augmented search string and a dictionary-based context searching that uses dictionary accesses to synonymous words in a dictionary database to create the augmented search string.
5. The image search server of claim 1 wherein the system automatically selects between a thesaurus-based approach and dictionary-based approach given content of the original search string, wherein thesaurus-based context approach is selected if the user enters a complex multi-word original search string, otherwise a dictionary based context approach is used for simpler original search string entries.
6. The image search server of claim 1 wherein a thesaurus structure and algorithm is used that generates search engine queries back the user where the user responds to the queries by selecting hierarchical domain, sub-domain, and category selections from a drop down menu to assist in generation of the augmented search string.
7. The image search server of claim 6, wherein the user responds to not only augment search terms within the augmented search string but to augment logical structure data in the augmented search string to enable a return of more relevant image search results to the user.
8. The image search server of claim 1 wherein both a dictionary and a thesaurus are accessed by the context manager to derive the augmented search string from the original search string using at least one user query.
9. The image search server of claim 1 wherein the image search engine deletes data from the original search string to arrive at the augmented search string.
10. The image search server of claim 1 wherein the image search engine adds terms and logical operators to the original search string to create the augmented search string.
11. The image search server of claim 1 wherein the image search engine contains a module for receiving the original search string from a user, a module for processing additional user queries to enable refinement of the original search string, and a module for generating the augmented search string using data collected by the module for processing additional user queries.
12. The image search server of claim 1 wherein the image search engine traverses only a portion of a thesaurus data structure to derive the augmented search string.
13. A search engine capable of searching the image contents from a built-in dictionary-based context, the search engine comprising:
- an image search string receiver to receive an original image search string entered by a user;
- a context manager for generating an augmented image search string from at least one word within the original image search string using at least one synonymous term for the at least one word that is accessed from the dictionary; and
- a search module that performs a search operation based on the augmented image search string to deliver image search result to the user.
14. The search engine of claim 13, wherein the augmented image search string is based on one or more dictionary entries having several stored synonyms for a word in the original image search string and wherein logical operators within the augmented image search string can be derived from the search engine through user queries.
15. A method performed by an image search engine to perform an image search, the method comprising the steps of:
- (a) receiving an original search string from a server input;
- (b) sending various queries out through an output of the image search engine to receive additional user input from a server input, the additional user input allowing the image search engine to select augmenting information from a hierarchical database within storage associated with the image search engine where that augmenting information can be used to augment the original search string into an augmented search string;
- (c) performing a search of image databases using the augmented search string to generate a list of image search results from the image databases that correlate favorably with the augmented search string; and
- (d) providing image search result information to an output of the server.
16. The method of claim 15 wherein the image search engine also uses the additional user input to set at least one logical construct of the augmented search string to optimize search results for a user.
17. The method of claim 15 wherein the image search engine scans a thesaurus database of multiple hierarchically connected image topic domains and categories to formulate the various queries to arrive at the additional user input that can be used to create the augmented search string.
18. The method of claim 15 wherein a first step is to determine if a thesaurus-based approach is selected, and if so, performing the steps (a) thru (d); whereas if a dictionary-based approach is instead selected, forgoing the steps (a) thru (d) for this search operation and instead performing steps (e)-(i):
- (e) receiving an original search string from a server input;
- (f) parsing at least one dictionary word from the original search string;
- (g) using the at least one dictionary word to access a dictionary database that finds related words for the at least one dictionary word, and using the related words to generate an augmented search string;
- (h) performing a search of image databases using the augmented search string to generate a list of image search results from the image databases that correlate favorably with the augmented search string; and
- (i) providing image search result information to an output of the server.
19. The method of claim 15 wherein a first step is to determine if a thesaurus-based approach is selected, and if so, performing the steps (a) thru (d); and if a direct-based approach is instead selected, forgoing the steps (a) thru (d) and performing an Internet image search using the original search string.
20. The method of claim 15 wherein the image search engine performs image search operations using context derived from one of a thesaurus database or a dictionary database to create the augmented search string, and performs image search operations based on the augmented search string.
21. The method of claim 15 wherein the image search engine performs image search operations using context derived from both a thesaurus database and a dictionary database to create the augmented search string, and performs image search operations based on the augmented search string.
22. A computing device that is adapted to be connected to a network, whereby the computing device supports image search engine operations, the computing device comprising:
- a communication interface for providing information into and out from the computing device;
- storage associated with the computing device; and
- processing circuitry coupled to the communication interface and to the storage, the processing circuitry, storage, and communication interface operable to: receive an image search criteria from the communication interface; augment the image search criteria to create and augmented image search criteria by using one of a thesaurus hierarchical image database or a dictionary-related word database stored in storage and by using input from user queries that are communicated through the communication interface; perform a search of image database information using the augmented image search criteria to formulate a list of image search results in some priority order; and output image search result information through the communication interface for eventual use by an end user.
International Classification: G06F 17/30 (20060101); G06F 3/048 (20060101);