A method and apparatus for representing and navigating search results from a database on a computer system. A graphical user interface is generated to receive user input including a data source to search for information and a query indicating information which is desired from the data source. The user input is transmitted to the data source, the search is performed and information responsive to the query resulting from the search is received from the data source. The search results include characteristics of the responsive information. The responsive information is clustered into a plurality groups based on selected characteristic information and the user may select at least one group of the responsive information to be displayed.
|
0. 97. A method, comprising:
providing a query for searching one or more database for results of the query;
receiving clustered results in response to said providing the query, wherein the clustered results are clustered into a plurality of groups based at least in part on a plurality of categories of multidimensional characteristics associated with the results of the query, and wherein the clustered results are further clustered into a plurality of subgroups based at least in part on a plurality of ranges of the categories of multidimensional characteristics; and
processing the clustered results.
0. 87. A method, comprising:
receiving queries from one or more client devices;
in response to receiving the queries from the one or more client devices, searching one or more databases for results of the queries;
receiving the results of the queries from the one or more databases;
clustering the results of the queries into groups and subgroups based at least in part on multidimensional characteristics associated with the results of the query;
transmitting the clustered results to the one or more client devices configured to process the clustered results; and
providing personalized advertisements to the one or more client devices based on information associated with the received queries.
0. 48. A method, comprising:
receiving a query from a client device;
in response to receiving the query from the client device, searching one or more databases for results of the query;
receiving the results of the query from the one or more databases;
clustering the results of the query into a plurality of groups based at least in part on a plurality of categories of multidimensional characteristics associated with the results of the query;
clustering the results of the query into a plurality of subgroups based at least in part on a plurality of ranges of the categories of multidimensional characteristics; and
transmitting the clustered results to the client device configured to process the clustered results.
0. 93. A computer readable storage medium comprising program instructions, wherein the program instructions are executable to:
receive queries from one or more client devices;
in response to receiving the queries from the one or more client devices, search one or more databases for results of the queries;
receive the results of the queries from the one or more databases;
cluster the results of the queries into groups and subgroups based at least in part on multidimensional characteristics associated with the results of the query;
transmit the clustered results to the one or more client devices configured to process the clustered results; and
provide personalized advertisements to the one or more client devices based on information associated with the received queries.
0. 96. A system, comprising:
means for receiving a query from a client device;
means for searching one or more databases for results of the query, in response to receiving the query from the client device;
means for receiving the results of the query from the one or more databases;
means for clustering the results of the query into a plurality of groups based at least in part on a plurality of categories of multidimensional characteristics associated with the results of the query;
means for clustering the results of the query into a plurality of subgroups based at least in part on a plurality of ranges of the categories of multidimensional characteristics; and
means for transmitting the clustered results to the client device configured to process the clustered results.
0. 74. A computer readable storage medium comprising program instructions, wherein the program instructions are executable to:
receive a query from a client device;
in response to receiving the query from the client device, search one or more databases for results of the query;
receive the results of the query from the one or more databases;
cluster the results of the query into a plurality of groups based at least in part on a plurality of categories of multidimensional characteristics associated with the results of the query;
cluster the results of the query into a plurality of subgroups based at least in part on a plurality of ranges of the categories of multidimensional characteristics; and
transmit the clustered results to the client device configured to process the clustered results.
0. 90. A computer system, comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises program instructions that are executable by the processor to:
receive queries from one or more client devices;
in response to receiving the queries from the one or more client devices, search one or more databases for results of the queries;
receive the results of the queries from the one or more databases;
cluster the results of the queries into groups and subgroups based at least in part on multidimensional characteristics associated with the results of the query;
transmit the clustered results to the one or more client devices configured to process the clustered results; and
provide personalized advertisements to the one or more client devices based on information associated with the received queries.
0. 61. A server system comprising:
a processor; and
a memory coupled to the processor, wherein the memory comprises program instructions that are executable by the processor to:
receive a query from a client device;
in response to receiving the query from the client device, search one or more databases for results of the query;
receive the results of the query from the one or more databases;
cluster the results of the query into a plurality of groups based at least in part on a plurality of categories of multidimensional characteristics associated with the results of the query;
cluster the results of the query into a plurality of subgroups based at least in part on a plurality of ranges of the categories of multidimensional characteristics; and
transmit the clustered results to the client device configured to process the clustered results.
0. 1. A computer program product for representing and navigating search results on a client computer system, wherein the search results are transmitted to the client computer system from a data source, the computer program product comprising:
a set of client program instructions including:
first program instructions being operable to receive user input, the user input including
a data source to search for information and a query indicating information which is desired from the data source;
second program instructions being operable to transmit the user input to the data source and to receive information responsive to the query from the data source,
wherein the responsive information includes multidimensional characteristic information about the responsive information;
third program instructions being operable to separate the responsive information into a plurality of groups based on one or more categories of said multidimensional characteristic information;
third program instructions, being further operable to separate the responsive information into a plurality of subgroups based on selected multidimensional characteristic information; and
fourth program instructions being operable to allow the user to select at least one group of the responsive information.
0. 2. The computer program product, as set forth in
fifth program instructions for generating a graphical user interface, the graphical user interface including a first display portion showing the plurality of groups of multidimensional characteristic information available for the user to select.
0. 3. The computer program product, as set forth in
0. 4. The computer program product, as set forth in
0. 5. The computer program product, as set forth in
0. 6. The computer program product, as set forth in
0. 7. The computer program product, as set forth in
0. 8. The computer program product, as set forth in
0. 9. The computer program product, as set forth in
0. 10. The computer program product, as set forth in
0. 11. The computer program product, as set forth in
0. 12. The computer program product, as set forth in
receive user input comprising selection of at least one subgroup; and
display additional information based on at least one subgroup selected by the user, wherein
the additional information displayed includes another stratum showing a further subgroup of the responsive information.
0. 13. The computer program product, as set forth in
0. 14. The computer program product, as set forth in
server program instructions operable to transmit data between the client computer system and the data source.
0. 15. The computer program product, as set forth in
0. 16. The computer program product, as set forth in
0. 17. The computer program product, as set forth in
0. 18. A method for representing and navigating search results on a client computer system, the method comprising:
receiving user input in the client computer system, the user input including a data source to search for information and a query indicating information which is desired form the data source;
transmit the user input from the client computer system to the data source;
searching the data source for information responsive to the query,
receiving information responsive to the query from the data source, wherein the responsive information includes multidimensional characteristic information about the documents;
separating the responsive information into a plurality of groups based on one or more categories of said multidimensional characteristic information,
further separating the responsive information into a plurality of subgroups based on selected multidimensional characteristic information; and
providing means to allow the user to select at least one group of the responsive information.
0. 19. The method, as set forth in
generating a graphical user interface including generating a first display portion showing the plurality of groups of multidimensional characteristic information available for the user to select.
0. 20. The method, as set forth in
0. 21. The method, as set forth in
0. 22. The method, as set forth in
0. 23. The method, as set forth in
0. 24. The method, as set forth in
0. 25. The method, as set forth in
0. 26. The method, as set forth in
0. 27. The method, as set forth in
0. 28. The method, as set forth in
0. 29. The method, as set forth in
receiving user input comprising selection of at least one subgroup; and
displaying additional information based on at least one subgroup selected by the user, wherein
the additional information displayed includes another stratum showing a further subgroup of the responsive information.
0. 30. The method, as set forth in
0. 31. A system for representing and navigating search results, the system comprising:
at least one data source;
a client computer system;
a set of client program instructions executable on the client computer system, the client program instructions including:
first program instructions being operable to receive user input, the user input including a query indicating information which is desired from the at least one data source,
second program instructions being operable to transmit the user input to the at least one data source and to receive information responsive to the query from the at least one data source, wherein the responsive information includes multidimensional characteristic information about the responsive information;
third program instructions being operable to separate the responsive information into a plurality of groups based on one or more categories of said multidimensional characteristic information;
third program instructions being further operable to separate the responsive information into a plurality of subgroups based on selected multidimensional characteristic information; and
fourth program instructions being operable to allow the user to select at least one group of the responsive information.
0. 32. The system, as set forth in
fifth program instructions for generating a graphical user interface, the graphical user interface including a first display portion showing the plurality of groups of multidimensional characteristic information available for the user to select.
0. 33. The system, as set forth in
0. 34. The system, as set forth in
0. 35. The system, as set forth in
0. 36. The system, as set forth in
0. 37. The system, as set forth in
0. 38. The system, as set forth in
0. 39. The system, as set forth in
0. 40. The system, as set forth in
0. 41. The system, as set forth in claim n 31, wherein the third program instructions separate the responsive information into a plurality of subgroups based on one or more ranges of the selected multidimensional characteristic information.
0. 42. The system, as set forth in
receive user input comprising selection of at least one subgroup, and
display additional information based on at least one subgroup selected by the user, wherein
the additional information displayed includes another stratum showing a further subgroup of the responsive information.
0. 43. The system, as set forth in
0. 44. The system, as set forth in
at least one server computer system including server program instructions operable to Transmit data between the client computer system and the data source.
0. 45. The system, as set forth in
0. 46. The system, as set forth in
0. 47. The system, as set forth in claim wherein the server program instructions include the third program instructions.
0. 49. A method as claimed in claim 48, wherein said clustering comprises grouping together similar records in the results of the query.
0. 50. A method as claimed in claim 48, wherein said clustering comprises grouping together records in the results of the query based on characteristic information in the query.
0. 51. A method as claimed in claim 48, wherein said clustering comprises dividing the results of the query into mutually exclusive groups such that members of a group are as closely related as possible to other members of the group, and members the group are as unrelated as possible to members of other groups.
0. 52. A method as claimed in claim 48, wherein said clustering comprising one or more of K-means clustering, self-organizing feature mapping, neural gas clustering, or complexity optimized vector quantization, or combinations thereof.
0. 53. A method as claimed in claim 48, wherein the results of the query comprise one or more of record size, record rank, record date of post, record language, record uniform resource locator, or cluster in which one or more records are grouped by said clustering, or combinations thereof.
0. 54. A method as claimed in claim 48, wherein said clustering is capable of resulting in one or more groups of records having similar attributes for one or more categories of information.
0. 55. A method as claimed in claim 48, wherein said clustering comprises determining one or more groups into which records of the results of the query may be grouped based at least in part on one or more heuristics, one or more parameters, or combinations thereof.
0. 56. A method as claimed in claim 48, wherein said clustering comprises determining one or more groups into which records of the results of the query may be grouped based at least in part on a combination of two or more categories of information of the records of the results of the query.
0. 57. A method as claimed in claim 48, wherein said clustering comprises determining one or more groups into which records of the results of the query may be grouped, and further comprising determining one or more sub-groups into which results of the query may be grouped based on records in the one or more sub-groups having similar attributes.
0. 58. A method as claimed in claim 48, further comprising formatting the clustered results of the query via tags capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 59. A method as claimed in claim 48, further comprising formatting the clustered results of the query via metadata capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 60. A method as claimed in claim 48, further comprising formatting the clustered results of the query via bytecode capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 62. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by grouping together similar records in the results of the query.
0. 63. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by grouping together records in the results of the query based on characteristic information in the query.
0. 64. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by dividing the results of the query into mutually exclusive groups such that members of a group are as closely related as possible to other members of the group, and members the group are as unrelated as possible to members of other groups.
0. 65. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by one or more of K-means clustering, self-organizing feature mapping, neural gas clustering, or complexity optimized vector quantization, or combinations thereof.
0. 66. A server system as claimed in claim 61, wherein the results of the query comprise one or more of record size, record rank, record date of post, record language, record uniform resource locator, or cluster in which one or more records are grouped by said clustering, or combinations thereof.
0. 67. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster to result in one or more groups of records having similar attributes for one or more categories of information.
0. 68. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by determining one or more groups into which records of the results of the query may be grouped based at least in part on one or more heuristics, one or more parameters, or combinations thereof.
0. 69. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by determining one or more groups into which records of the results of the query may be grouped based at least in part on a combination of two or more categories of information of the records of the results of the query.
0. 70. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to cluster by determining one or more groups into which records of the results of the query may be grouped, and further by determining one or more sub-groups into which results of the query may be grouped based on records in the one or more sub-groups having similar attributes.
0. 71. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to format the clustered results of the query via tags capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 72. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to format the clustered results of the query via metadata capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 73. A server system as claimed in claim 61, wherein the memory further comprising program instructions that are executable by the processor to format the clustered results of the query via bytecode capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 75. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by grouping together similar records in the results of the query.
0. 76. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by grouping together records in the results of the query based on characteristic information in the query.
0. 77. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to divide the results of the query into mutually exclusive groups such that members of a group are as closely related as possible to other members of the group, and members the group are as unrelated as possible to members of other groups.
0. 78. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by one or more of K-means clustering, self-organizing feature mapping, neural gas clustering, or complexity optimized vector quantization, or combinations thereof.
0. 79. The computer readable storage medium as claimed in claim 74, wherein the results of the query comprise one or more of record size, record rank, record date of post, record language, record uniform resource locator, or cluster in which one or more records are grouped by said clustering, or combinations thereof.
0. 80. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cause one or more groups of records having similar attributes for one or more categories of information.
0. 81. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by determining one or more groups into which records of the results of the query may be grouped based at least in part on one or more heuristics, one or more parameters, or combinations thereof.
0. 82. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by determining one or more groups into which records of the results of the query may be grouped based at least in part on a combination of two or more categories of information of the records of the results of the query.
0. 83. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to cluster by determining one or more groups into which records of the results of the query may be grouped, and further by determining one or more subgroups into which results of the query may be grouped based on records in the one or more sub-groups having similar attributes.
0. 84. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to format the clustered results of the query via tags capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 85. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to format the clustered results of the query via metadata capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 86. The computer readable storage medium as claimed in claim 74, further comprising program instructions that are executable to format the clustered results of the query via bytecode capable of allowing the client program to display the clustered results via organization of records in the results of the query by one or more groups, or by one or more sub-groups, or combinations thereof.
0. 88. A method as claimed in claim 87, further comprising selecting advertisements that are personalized to a user of each client device based on topic information associated with the received query.
0. 89. A method as claimed in claim 87, further comprising:
receiving advertisement preference information in addition to the query from each client device; and
selecting personalized advertisements to provide to each client device based on the received advertisement preference information.
0. 91. A computer system as claimed in claim 90, wherein the memory further comprising program instructions that are executable by the processor to select advertisements that are personalized to a user of each client device based on topic information associated with the received query.
0. 92. A computer system as claimed in claim 90, wherein the memory further comprising program instructions that are executable by the processor to:
receive advertisement preference information in addition to the query from each client device; and
select personalized advertisements to provide to each client device based on the received advertisement preference information.
0. 94. The computer readable storage medium as claimed in claim 93, further comprising program instructions that are executable to select advertisements that are personalized to a user of each client device based on topic information associated with the received query.
0. 95. The computer readable storage medium as claimed in claim 93, further comprising program instructions that are executable to:
receive advertisement preference information in addition to the query from each client device; and
select personalized advertisements to provide to each client device based on the received advertisement preference information.
|
The present reissue application is a continuation of reissue application U.S. application Ser. No. 11/256,615 filed Oct. 21, 2005 now U.S. Pat. No. Re. 42,262, which is a reissue application of U.S. application Ser. No. 09/385,149 filed Aug. 30, 1999, now U.S. Pat. No. 6,636,853. More than one reissue application has been filed.
1. Field of the Invention
This invention relates generally to graphical user interfaces (GUIs). More specifically, this invention relates to an apparatus and method for graphically displaying results of a search conducted on an information network such as the Internet, local and remote databases of content providers, etc.
2. Description of the Related Art
A significant development in computer networking is the Internet, which is a sophisticated worldwide network of computer systems. A user that wishes to access the Internet typically does so using a software program known as a web browser that is hosted on a personal computer or other data processing device that is capable of executing the web browser program and being connected to the Internet. A web browser uses a standardized interface protocol, such as HyperText Transfer Protocol (HTTP), to make a connection via the Internet to other computers known as web servers, to receive user commands to operate certain browser functions and/or to request information from the Internet, and to receive information from the web servers that is presented to the user, typically on a display device such as a monitor.
An ever-increasing amount of information is available on the Internet and other information databases (collectively referred to as information networks). A query to an information network requires a textual specification based on keywords and logical operators between keywords. In most instances, the query returns only the results, which may not be very useful when the number of results returned is much larger than that which can be viewed and manipulated on a screen.
When performing a search, it is typical that a search strategy will be used in order to find the desired information. Most search strategies are premised on attaining a reasonable number of items that satisfy a search criteria. Typically, a query is comprised of keywords (i.e., search terms) connected together via logical and/or proximity operators. Logical operators are used to include or exclude items in a set whereas proximity operators are used to identify items having keywords that are a predetermined distance apart, such as within 10 words, in the same sentence, or that are adjacent. Once a query is made and executed, a list of items satisfying the criteria of the query is presented to the user. The user can then either view one or more items in the list, or if the list is large, modify the search to reduce the number of items in the list.
Data navigation is the process of viewing different dimensions, slices, and levels of detail of a multidimensional database. In a typical list of search results from an information network, documents or other items are listed in descending order based on a relevancy value. The relevancy value for each document is based the number of times the keywords are found in the document. A user must still sort through the list sequentially to view other characteristics of the documents, such as size and date, which may also help determine a document's relevancy. Thus it is desirable to provide a data navigation tool which allows the user to view, sort, and navigate search results according to several different data and relevant characteristics.
One technique for sorting lists is known as data clustering, which is the process of dividing a data set into mutually exclusive groups such that the members of each group are as “close” as possible to one another, and different groups are as “far” as possible from one another, where distance is measured with respect to all available variables. There are several models for data clustering, e.g., K-means clustering, self-organizing feature maps, the neural gas algorithm, and complexity optimized vector quantization.
In the K-means procedure, for example, suppose a set of feature vectors x1, x2, . . . , xn are from the same class or subset, and that they fall into k compact clusters, k<n. Let m; be the mean of the vectors in cluster i. If the clusters are well separated, a minimum-distance classifier can be used to separate them. That is, s is in cluster i if ∥x-mi∥ is the minimum of all the k distances. Thus, the k-means procedure partitions the n examples into k clusters so as to minimize the sum of the squared distances to the cluster centers. The results depend on the value of k, which can be any value from 2 to n. When k=n, the procedure is known as the nearest neighbor classifier.
A method and apparatus for representing and navigating search results from a database on a computer system. A graphical user interface is generated to receive user input including a data source to search for information, and a query indicating information which is desired from the data source. The user input is transmitted to the data source, the search is performed and information responsive to the query resulting from the search is received from the data source. The search results include characteristics of the responsive information. The responsive information is clustered into a plurality of groups based on selected characteristic information and means are provided to allow the user to select at least one group of the responsive information to be displayed.
The responsive information includes a list of documents containing information related to the query. The graphical user interface includes a first display portion showing the plurality of groups of characteristic information available for the user to select, and a second display portion showing the list of documents in the responsive information.
In one embodiment, when the user selects one or more groups, the documents displayed in the second display portion belong to the group(s) selected by the user. When a group is selected, it is separated into a plurality of subgroups based on the range of the characteristic information for the selected group. The first display portion is updated to show the plurality of subgroups.
In another embodiment, each group is separated into a plurality of subgroups based on the range of the characteristic information for each group. The first display portion shows the plurality of subgroups, which may be color coded to differentiate the subgroups. Similarly, the list of documents in the second display portion may be correspondingly color coded to the color code in the first display portion.
In another embodiment, a server may be used to transmit data between the client computer system and the data source. In this configuration the server includes program instructions for separating the documents into the plurality of groups based on selected characteristic information.
In another embodiment of the present invention, additional information may be displayed based on the group of responsive information selected by the user.
In another embodiment of the present invention, the first display portion includes a stratum showing the subgroups of the documents. When the user selects one or more subgroups, another stratum showing the subgroup of the responsive information is displayed. The responsive information in the second display portion is based on the subgroup selected by the user.
Another feature of the present invention allows the user to select a document to be displayed for the user to examine its contents.
Another feature of the present invention allows the user to re-arrange the order in which the list of documents in the second display portion are displayed.
The foregoing has outlined rather broadly the objects, features, and technical advantages of the present invention so that the detailed description of the invention that follows may be better understood.
The present invention may be better understood, and its numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference symbols in different drawings indicates similar or identical items.
The method and apparatus of the present invention is applicable to devices that access a computerized information network. A number of different information networks are available that allow access to information contained on their computers, with the Internet being one that is generally known to the public. While the Internet is used herein as an example of how the present invention is utilized, it is important to recognize that the present invention is also applicable to other information networks and information systems including Intranets, database management systems, and document retrieval systems. For those who are not familiar with the Internet, the world-wide web, web servers, and web browsers, a brief overview of these concepts is presented here.
An example of a typical Internet connection found in the prior art is shown in
The web servers 118, 120, 122, 124 execute a web server application program which monitors requests, services requests for the information on that particular web server, and transmits the information to the user's workstation 112. A web page is primarily visual data that is intended to be displayed on the display monitor of the user's workstation 112. When web server 118 receives a web page request, it will transmit a document, generally written in a markup language such as hypertext markup language (HTML), across communication link 116 to the requesting web browser 114. When web server 118 receives a search request, the request is sent to the server containing the search engine specified by the user. The search engine then compiles one or more pages containing a list of links to web pages on other web browsers 120, 122, 124 that may contain information relevant to the user's request. The search engine transmits the page(s) in markup language back to the requesting web server. Web browser 114 interprets the markup language and outputs the web page to the monitor of user workstation 112. This web page displayed on the user's display may contain text, graphics, and links (which are addresses of other web pages.) These other web pages (i.e., those represented by links) may be on the same or on different web servers 116. The user can go to these other web pages by clicking on the links using a mouse or other pointing device. This entire system of web pages with links to other web pages on other servers across the world comprises the world wide web.
Workstation 112 and/or web servers 116 are computer systems, such as computer system 130 as shown in
The peripheral devices usually communicate with processor 132 over one or more buses 134, 156, 158, with the buses communicating with each other through the use of one or more bridges 160, 162. Computer system 130 may be one of many workstations or servers connected to a network such as a local area network (LAN), a wide area network (WAN), or a global information network such as the Internet through network interface 140.
CPU 132 can be constructed from one or more microprocessors and/or integrated circuits. Main memory 136 stores programs and data that CPU 132 may access. When computer system 130 starts up, an operating system program is loaded into main memory 136. The operating system manages the resources of computer system 130, such as CPU 132, audio controller 142, storage device controller 138, network interface 140, I/O controllers 146, and host bus 134. The operating system reads one or more configuration files to determine the hardware and software resources connected to computer system 130.
During operation, main memory 136 includes the operating system, configuration file, and one or more application programs with related program data. Application programs can run with program data as input, and output their results as program data in main memory 136 or to one or more mass storage devices through a memory controller (not shown) and storage device controller 138. CPU 132 executes many application programs, including one or more programs to establish a connection to a computer network through network interface 140. The application programs may be embodied in one executable module or may be a collection of routines that are executed as required.
Storage device controller 138 allows computer system 130 to retrieve and store data from mass storage devices such as magnetic disks (hard disks, diskettes), and optical disks (DVD and CD-ROM). The mass storage devices are commonly known as Direct Access Storage Devices (DASD), and act as a permanent store of information. The information from the DASD can be in many forms including application programs and program data. Data retrieved through storage device controller 138 is usually placed in main memory 136 where CPU 132 can process it.
One skilled in the art will recognize that the foregoing components and devices are used as examples for sake of conceptual clarity and that various configuration modifications are common. For example, audio controller 142 is connected to PCI bus 156 in
The present invention is designed to provide the user with more information regarding the results of a search and to allow the user to navigate through the information to facilitate finding the most relevant documents. In one embodiment shown in
The remaining portion of flowchart 400 pertains to another feature of the present invention namely, a graphical user interface (GUI) for selecting options and viewing the documents in different groups, or classes, according to selected display criteria.
A user then selects a source of information in data source window 504 by either typing in the name of the source directly or selecting an entry in a pull-down menu that is accessed by selecting arrow 506. To send the contents of query window 502 and data source window 504 to server 118, the user selects search button 508. Once server program instructions 304 compile and format the results of the search, they are sent to client program instructions 302. The results of the search include categories of information such as, for example, the size of each document, the rank of the documents as determined by the search engine, the date that each document was posted on the information network, the language each document is written in, the URL of each document, and the cluster in which each document is grouped as determined by the clustering algorithm utilized with the present invention, such as a K-means clustering algorithm. The type of information available is based on the categories of information available from data sources 312 through 322. For example, a data source for a sales catalog may include a number of different categories of information including, but not limited to, products, price, discount, product availability, sizes, colors, and other physical properties. Another example is a stock market data source that may include information including, but not limited to, number of shares outstanding, price per share, earnings per share, trading volume, and insider trading. The present invention is designed to be used with virtually any categories of information that are available from a data source. The information that is returned in response to a user's query is typically a list of data records for items such as, for example, documents, stocks, or products. For convenience of notation, the word “documents” is used herein to refer to the data records that are returned in response to the user's query.
Referring to process 416 in
Subsequently, in process 418, the client program instructions 302 generate and display a graphical user interface to allow the user to view and navigate the various categories of information available. For example, GUI 500 in
In another feature of the present invention, when the user moves a pointer, such as a mouse cursor or a light pen, over a block, a readout, for example the range of dates in window 536 as shown in
The sub-groups in each of columns 510 through 520 are indicated by a series of adjacent blocks, such as blocks 540 through 546 for rank column 510. When columns 510 through 520 are initially generated, only first stratum 509 is displayed. One embodiment of the present invention includes another feature in client program instructions 302 that generates a successive stratum when the user selects a block in a preceding stratum. For example,
A user may also select more than one block in a stratum, as shown, for example, by blocks 554 and 556 in
Another feature of table 534 is color-coded portions 558 through 566 that indicate which sub-group the list of documents displayed in table 534 correspond to for the selected category. Table 534 includes color-coded portions 558 through 566 that correspond to the color-coding of the blocks in columns 510 through 520. This allows the user to readily see which sub-group of the selected category the documents being shown in table 534 belong to.
The width of the blocks in each stratum represents the relative number of records in the cluster represented by a block. Thus, the wider a block is, the more records it includes. Additionally the height of a block indicates the relative number of records contained in that block's stratum. These height and width indicators provide another visual cue of the distribution of the documents according to the various categories for which information is available, and allows the user to visually determine which cluster is likely to contain relevant information. For example, a user may find that only documents from a selected time frame would be relevant. In this situation, the user could select the block containing documents that are near the desired date, with the result that only those documents would be shown in table 534. This feature allows the user to navigate through a reduced number of documents to find those that are most relevant, thereby saving time. Notably, the user may select one or more blocks from one or more different columns to generate a list of documents in table 534 that meet criteria in two or more categories, for example, size and date.
To further facilitate navigation, the URL for a document listed in table 534 may be accessed in another browser frame when the listing is selected with a selection device, such as clicking a mouse cursor or light pen over the document listing.
Another feature that may be implemented in an embodiment of the present invention is group column 520. The clustering algorithm automatically groups similar records of the documents found in the search together. Group column 520 allows the user to select a cluster and examine the blocks in the new stratum. The widths of the blocks in the new stratum will allow the user to evaluate the breakdown of the groups and why records are assigned to a given group.
Referring back to flow diagram 400 in
Processes 428 through 430 show that the URL for a document is accessed and the corresponding web page is displayed in another browser frame when a document is selected from the list of documents in table 534.
When a column button, such as one of column buttons 522 through 532, is selected, processes 432 and 434 show that the list of documents in table 534 is resorted in ascending or descending order with respect to the criteria corresponding to the column selected.
While the invention has been described with respect to the embodiments and variations set forth above, these embodiments and variations are illustrative and the invention is not to be considered limited in scope to these embodiments and variations. For example, the present invention may be used to deliver personalized advertising to the client. Preferences for advertising content may be specified by the user, or the client program instructions 302 or server program instructions 304 could choose advertisements based on the topic(s) being searched by the user. Accordingly, various other embodiments and modifications and improvements not described herein may be within the spirit and scope of the present invention, as defined by the following claims.
Patent | Priority | Assignee | Title |
10095783, | May 25 2015 | Microsoft Technology Licensing, LLC | Multiple rounds of results summarization for improved latency and relevance |
10324982, | Jun 06 2013 | Sheer Data, LLC | Queries of a topic-based-source-specific search system |
11170017, | Feb 22 2019 | Method of facilitating queries of a topic-based-source-specific search system using entity mention filters and search tools | |
9405822, | Jun 06 2013 | Sheer Data, LLC | Queries of a topic-based-source-specific search system |
9767220, | Jun 06 2013 | Sheer Data LLC | Queries of a topic-based-source-specific search system |
Patent | Priority | Assignee | Title |
5530852, | Dec 20 1994 | Sun Microsystems, Inc | Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics |
5649186, | Aug 07 1995 | Open Invention Network, LLC | System and method for a computer-based dynamic information clipping service |
5722418, | Aug 30 1993 | Method for mediating social and behavioral processes in medicine and business through an interactive telecommunications guidance system | |
5761662, | Dec 20 1994 | Sun Microsystems, Inc. | Personalized information retrieval using user-defined profile |
5784608, | Dec 20 1994 | Sun Microsystems, Inc. | Hypertext information retrieval using profiles and topics |
5857179, | Sep 09 1996 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Computer method and apparatus for clustering documents and automatic generation of cluster keywords |
5991756, | Nov 03 1997 | OATH INC | Information retrieval from hierarchical compound documents |
6023701, | Sep 25 1997 | International Business Machines Corporation | Skeleton page retrieval mode for web navigation |
6070157, | Sep 23 1997 | Intel Corporation | Method for providing more informative results in response to a search of electronic documents |
6141007, | Apr 04 1997 | CERBERUS BUSINESS FINANCE, LLC, AS COLLATERAL AGENT | Newsroom user interface including multiple panel workspaces |
6185553, | Apr 15 1998 | International Business Machines Corporation | System and method for implementing cooperative text searching |
6189019, | Aug 14 1996 | Microsoft Technology Licensing, LLC | Computer system and computer-implemented process for presenting document connectivity |
6199099, | Mar 05 1999 | Accenture Global Services Limited | System, method and article of manufacture for a mobile communication network utilizing a distributed communication network |
6202058, | Apr 25 1994 | Apple Inc | System for ranking the relevance of information objects accessed by computer users |
6243713, | Aug 24 1998 | SEEKR TECHNOLOGIES INC | Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types |
6275829, | Nov 25 1997 | Microsoft Technology Licensing, LLC | Representing a graphic image on a web page with a thumbnail-sized image |
6289350, | Aug 20 1999 | KOLOMOKI MOUNDS LLC | System and method for structured news release generation and distribution |
6327574, | Jul 07 1998 | CALLAHAN CELLULAR L L C | Hierarchical models of consumer attributes for targeting content in a privacy-preserving manner |
6370535, | Aug 20 1999 | KOLOMOKI MOUNDS LLC | System and method for structured news release generation and distribution |
6385602, | Nov 03 1998 | GOOGLE LLC | Presentation of search results using dynamic categorization |
6393469, | Mar 28 1995 | OATH INC | Method and apparatus for publishing hypermedia documents over wide area networks |
6999959, | Oct 10 1997 | NEC Corporation | Meta search engine |
JP10143517, | |||
JP11213008, | |||
JP9231238, | |||
WO9710537, | |||
WO9738378, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Aug 30 1999 | STEPHENS, JAMES H , JR | Morphism, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019257 | /0506 | |
Aug 17 2004 | Morphism, LLC | Frederick Monocacy LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019257 | /0515 | |
Aug 30 2006 | Frederick Monocacy LLC | (assignment on the face of the patent) | / | |||
Aug 11 2015 | Frederick Monocacy LLC | ZARBAÑA DIGITAL FUND LLC | MERGER SEE DOCUMENT FOR DETAILS | 037338 | /0692 |
Date | Maintenance Fee Events |
Mar 25 2015 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Mar 04 2017 | 4 years fee payment window open |
Sep 04 2017 | 6 months grace period start (w surcharge) |
Mar 04 2018 | patent expiry (for year 4) |
Mar 04 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 04 2021 | 8 years fee payment window open |
Sep 04 2021 | 6 months grace period start (w surcharge) |
Mar 04 2022 | patent expiry (for year 8) |
Mar 04 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 04 2025 | 12 years fee payment window open |
Sep 04 2025 | 6 months grace period start (w surcharge) |
Mar 04 2026 | patent expiry (for year 12) |
Mar 04 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |