INFORMATION RETRIEVAL SYSTEM
Background of the Invention
This invention relates to the retrieval of information.
Electronic databases of all kinds and sizes are now readily available. Stand-alone databases range in size and kind from the small portable personal organiser to mamframe- size database systems of multi-national corporations. The Internet itself may be regarded as a giant database in which the memory is distributed among servers throughout the World.
Personal databases suffer from the drawback that the information they contain is limited to information already known to the user. The user is merely retrieving infonnation that they have previously input themselves to their own database. Much the same applies throughout the scale of stand-alone databases. They all contain only what the user (in the larger scale, the corporate user as a whole) has input themselves. To gain access to information not already known to the user, it is necessary to use an external network of some form, either the Internet, or some more limited network. The user, particularly in the case of the Internet, is often presented with more information than they can readily handle, and information of uncertain provenance and often of doubtful quality. For example, using a conventional browser, search engine or Internet directory to look for a plumber will produce a list of many hundreds of websites in which the word "plumber" appears as such or in which the word "plumber" appears in the metatags, and a great many directory entries for plumbers. The list will include plumbers of every size and reputation from the most reputable of companies to complete cowboys and the user has not the slightest way of judging the merit or otherwise of the various plumbers identified by the search engine, browser or directory. Exactly the same problem arises with conventional printed directories such as Yellow Pages™.
Summary of the Invention
The present invention is directed to a greatly improved network based information retrieval system which is capable of providing not only information not already known to the specific user, but also information which comes to the user with a clear provenance and on which he can readily form a judgement as to the quality of that information.
In accordance with the present invention, we provide a network based information retrieval system associated with a plurality of users, each user being associated with none, one or more other users, the retrieval system having: memory means storing: a table of associations between respective said users; and a constellation of data divided into items of information, each user having associated therewith a portion of the data within said constellation; and user selectable means for a specific user to access said memory means for items of information within said constellation, said user selectable means, including: means for selecting an alphanumeric data string; means adapted to identify from said table of associations those users, if any, associated with the specific user, and to identify within said constellation occurrences, if any, of said selected data string in data associated with said specific user or with any users associated with said specific user; and means for displaying and/or printing each information item within which a said occurrence is identified.
A specific user may be associated with another user in one of several ways. Thus, another user may be personally known to the specific user, in effect "a friend". Such friends, referred to below as the user's personal Address Book, will each be associated with the specific user, but will not necessarily be associated with each other. The specific user and another user may both be members of a formal organisation, such as a particular local
Chamber of Commerce, or a local chapter of Business Network International or some other group devoted to providing business referrals for other members. In such organisations each of the members will be associated with each other member of the same group. The specific user and another user may both be members of an informal grouping, for example the cast of a play or a group of drinking pals. In such more informal groups, each member of the group will be associated with each other member of the group, but the quality of any information a particular member of the group may possess could well be judged by the specific user to be rather less reliable than (say) information possessed by a business colleague also a member of the local Chamber of Commerce.
The associations described above are direct or primary level associations in which the only users associated with a particular user are other users who appear in his personal Address Book or belong to Groups to which the particular user also belongs. Provision may be made for secondary, or even tertiary and higher, level associations to be treated as associations included in the Table of Associations. A secondary level of association treats anyone directly associated with anyone directly associated with a particular user as being "associated" with the particular user in the Table of Associations. A tertiary level of association treats anyone directly associated with anyone directly associated with anyone directly associated with a particular user as being "associated" with the particular user in the Table of Associations.
The memory means may be a stand-alone database in which the Table of Associations and the entire constellation of data is entered and stored. Alternatively, the memory means may take the form of a distributed database. For example, in addition to the table of associations held centrally, it may include the personal web pages of every user of the system, on whatever servers those web pages are stored.
Preferably, in addition to displaying and/or printing each information item within which the selected string has been identified as occurring, the system will also display and/or print the identity of the user with which that information item is associated and optionally the nature
of that association so that the user can readily form a view as to the value and credibility of each information item in terms of his personal knowledge of the associated user and the nature of the association concerned.
As will be explained in more detail below, information retrieval systems embodying the present invention can be used in effect to extend information in a particular user's own address book to individual items of information relating to entries in the address books of all his friends and colleagues (members of groups both formal and informal) who are also users of the system. The invention thus provides a powerful tool at the personal, social or business levels for extending the knowledge and contacts that any one person may have.
Brief Description of the Drawings
The invention is hereinafter more particularly described by way of example only with reference to the accompanying drawings in which: -
Fig. 1 shows a profile of a particular user;
Fig. 2 shows an enquiry page;
Fig. 3 shows a search result list; Fig. 4 shows a profile of one user as displayed for another user associated with the first user;
Fig. 5 shows a profile of a user identified in the search result list of Fig. 3 but not associated with the user carrying out the search;
Fig. 6 shows the same profile as Fig. 5 but as seen by a user who is associated with that user;
Fig. 7 shows a recommendation template; and
Fig. 8 shows the recommendation page generated by the template of Fig. 7.
Description of Preferred Embodiments
On first signing up as a user of the system, the new user is asked to complete a personal profile for entry in the system. This personal profile is suitably generated on-line by means of an html-based template, possibly with a Wizard or similar routine to guide the new user through the formalities. Programming routines to achieve this are well known to any programmer familiar with html, and it is deemed unnecessary to give any further explanation. Anyone unfamiliar with html (hypertext mark-up language) may refer to any standard work, such as "Teach Yourself Web Development with ASP in 24 Hours", published by SAMS, ISBN 0672317907. An example of such a profile 1, in this case including a picture 2, is shown in Fig. 1.
The new user is also asked to enter the names of any Groups of which he may be a member. If a named Group has already been entered to the system as a formal Group, such as the local Chamber of Commerce, or as an informal Group, such as the cast of a play, by a previous user, the Table of Associations records the new user as a Member of that Group, and thus as being associated with each other Member of that Group. By way of example, in the case of Marlon Brando, the example of profile given in Fig. 1, let us suppose that he entered the "Godfather Cast" as a Group of which he was a Member. As we shall see below, this links him in the Table of Associations with James Caan, who, let us suppose, is also a user of the system and has also entered the "Godfather Cast" as a Group of which he is a Member.
The new user is also asked to enter his personal Address Book (his "friends"). Provision may be made for the possibility of more than one Address Book (for example, one for Business colleagues and one for friends). Although such Address Books are treated by the system as Groups, they are personal to the specific user and reciprocity does not apply. Thus where someone is named as a friend in a particular user's Address Book, they are treated as associated in the Table of Associations for that particular user, but the reverse does not apply unless that friend also has the particular user in their Address Book. Thus it
will be seen that, in contrast to other Groups, two members of the group (in the sense that they both appear in the Address Book of a particular user) are not necessarily associated with each other at all.
Having regard to The Data Protection Act in the United Kingdom and similar laws in other countries, each new user is also expressly asked to consent to their personal profile being made available to any other user of the system as a condition for signing up as a user. The personal profile preferably includes a hyperlink to their personal or business web pages. The system is preferably enabled to include the personal web pages of all users as part of its memory means so that any item of information included on a user's personal web pages will also become available to other users of the system, as explained below.
Browser programmes capable of searching an entire distributed memory, such as the Internet, or some smaller part are readily available, as are programs adapted to search for a particular alpha-numeric string within a given database. These will be familiar to any competent programmer, and it is thought unnecessary to describe such routines in detail. A fuller discussion of such routines can be found, for example, at "Understanding Search Engines" by Michael W Berry and Murray Browne, published by SIAM, ISBN 0898714370.
The Table of Associations between users, varied and extended as each new user joins the system, and possibly including secondary or tertiary level associations, effectively defines the scope of search conducted for any specific user, by effectively defining that portion of the total memory means available as a database to be searched for any given user. For any specific user, that available database will comprise all those parts of the overall memory, which may consist of or include a distributed memory as well as or instead of a stand-alone database, associated with every user of the system who appears in the Table of Associations as being associated with the specific user.
For a specific user carrying out a search, accordingly, the system effectively first distinguishes all those users associated with the specific user (including the specific user themselves) and then searches or browses the memory for any data associated with each of the users on this list and within that data for occurrences of the specific string the subject of the search.
How this works will become more apparent from the following example:
Let us suppose a specific user, say a Mr Richie Hawtin wishes to search for "actors" within the system.
Having first logged on to the system and been recognised (by conventional "log-in" and password routines, details of which will be familiar to any skilled programmer and are therefore not described in detail), the user is presented with an enquiry page shown in Fig. 2. In this case, Mr Hawtin 's password 3 is "plastikman". In this example the user is not seeking a specific person or business 4 or a particular place 5 but a list of actors and so enters "actor" or "act" (which string would locate both actors and actresses) in the template of Fig. 2 alongside "what" at 6.
The user is able to choose between different types of search at 7, including a simple directory search for all actors in the system, which will produce no additional information other than a list of actors within the system, and a "Who Do You Know"™ search based upon associations between the specific user, in this case Mr Richie Hawtin, and others known to him or in groups of which he forms part, as explained in more detail hereinbelow, reached by clicking on "Advanced search". An advanced search may also list all other actors appearing in the system, as in the simple directory search, but, as will be explained below, additional information is presented in the "Who Do You Know" search or portion of the search, enabling the user to form a judgement as to the value of the information revealed.
Let us suppose, for the sake of example, that Marlon Brando is known to Mr Hawtin and appears in his personal Address Book and also that Sigorney Weaver is known to Mr Hawtin, belonging to an informal group of which Mr Hawtin is also a member known as "Techno Fiends". The results of Mr Hawtin' s "Who Do You Know" search might then result in the list 8 appearing on Mr Hawtin' s display screen as shown in Fig. 3.
The search result lists seven names of which one, namely Marlon Brando 9, is known to Mr Hawtin personally while four others, namely James Caan, Robert De Niro, Lance Henrickson and Henry Fonda 10 are noted in the search result list as being known to particular friends of Mr Hawtin. James Caan is known to Marlon Brando; while Robert De Niro, Lance Henrickson and Henry Fonda are noted in the search result as being known to Sigorney Weaver. The remaining two names appearing in the list, namely Albert Finney and Fred Quimby 11, though they appear in the database as actors, are not associated with any other user with which Mr Hawtin is associated. Each of the names listed, being a user of the system, will have their own profile page and the user in question is invited at 12 to view these profiles as one option from the search result page. It will also be noted that a number of the names listed have ratings 13 attributed to them. The overall rating 14 is a general site rating being the average of all ratings given by users to the person concerned, as explained below. In the case of James Caan there is not only an overall rating 14 but also a friend's rating 15. This is a specific rating of Mr James Caan by the identified associated user known to Mr Hawtin, in this case Marlon Brando. An overall rating, but not any individual rating by particular other users going to make up that overall rating, may be given for actors such as Albert Finney and Fred Quimby appearing in the database but not associated with any other user with which the particular user, Mr Hawtin, is associated. The absence of any rating, as in this case for Albert Finney and Fred Quimby, would indicate that no other user has rated or recommended the two actors concerned.
If Mr Hawtin clicks on to View Profile at 16 for Marlon Brando, he will get, as shown in
Fig. 4, the whole of Mr Marlon Brando's personal profile 1 which appeared in Fig. 1 and in addition identification of his relationship with Mr Brando. In this case, as can be seen from
the left-hand column 17 of Fig. 4, Mr Hawtin, identified at 18 as the specific user, has a number of Groups 19 of which he is a Member, including his personal Address Book 20 and Techno Fiends 21. Marlon Brando, together with Dave Clarke and of course Mr Hawtin himself are identified at 22 as Members of the highlighted Group, namely as entries in Mr Hawtin's personal Address Book 20. Accordingly, the information in the left-hand column 17 enables the user to see at a glance the nature of his relationship with the other user, here Marlon Brando.
Going back to the search result page of Fig. 3, and clicking on "View Profile" 16 for James Can will bring up James Can's profile 23 on the screen as shown in Fig. 5. As can be seen, no details of the relationship between Marlon Brando and James Caan are given on this screen. This is something that appears only on Marlon Brando's screen (See Fig. 6), where it will be seen from his left-hand column 17, that he is a Member of three groups besides his personal Address Book, and that he has listed James Caan, together with Robert De Niro and James Wood as Members of the Godfather Cast group 24.
Whenever a particular person's profile is presented on the screen to a specific user, they are offered the opportunity to recommend that person (see the option identified "Recommend this person" at 25 in Marlon Brando's profile and in James Caan's profile). Provided that the person concerned is associated with the specific user, clicking on "Recommend this person" 25 will bring up a recommend user template as shown in Fig. 7 giving a number of options 26, in this case an indication as to whether or not the person's professional skills, personal skills or opinion are trusted, and the opportunity to rate the person concerned between one and five stars for each of a number of qualities 27, namely punctuality, task completed on time, task completed on cost, courtesy, quality, value for money, cleanliness, ambience and overall. The judgements and qualities available to be selected at 26 and 27 may be varied for different types of information for which a search is performed using the system of the invention; but the "I trust their Opinion" flag is always important because it will serve as a reminder to the user of the system that he may pay more attention or give more weight to information - of whatever category - that is revealed by the Search, if it is
shown to be associated with another user that is trusted by the first user. In a modified arrangement, this trust or value flag may be qualified using a scale expressed either in numerical terms or in value grades (for example: "I trust their opinion slightly"; I sometimes trust their opinion"; "I usually trust their opinion"; "I always trust their opinion"). There is also an additional "Further Comments" box 28 in the template for additional comments.
Although the "value/trust opinion" flag at 26 is here shown as part of the personal profile of the user here being recommended, it will readily be appreciated that it both forms part of that profile itself, and serves to value or qualify any recommendation the person associated with that profile may have made of other people, things or events that might be the subject of searches using the system. These opinion ratings may be held in a separate table of opinion weightings.
Let us suppose that the recommendations appearing in Fig. 7 have been made by Marlon Brando in judgement of James Caan.
Clicking on the "See user comments about James Caan" option at 29 on his profile 23 (Fig.5) revealed in Mr Hawtin's search results will produce an additional page 30 shown in Fig. 8, listing comments and recommendations 31 made by any other users associated with the specific user (here Mr Hawtin) in relation to James Caan. In this case, the only such comments 31 which have been entered were by Marlon Brando, but if there had been others by users associated with Mr Hawtin, these would also be listed in Fig. 8.
Returning to the Mr Hawtin's search result page shown in Fig. 3, it will be seen that though Lance Henrickson and Henry Fonda are known to Sigorney Weaver, who is also known to Mr Richie Hawtin the specific user, she has apparently not made any recommendation in relation to these two people. Though Albert Finney and Fred Quimby are users of the system, as they are not associated with any other user of the system with whom Mr Richie Hawtin is associated, no personal recommendation would be available to Mr Hawtin in
relation to these two people even if any had been made by other users, though provision may be made, as explained above for an overall rating to be made available. Where such a possibility is provided for, its absence is significant, again as explained above. All Mr Hawtin will be able to view concerning Albert Finney or Fred Quimby will be their own personal profile page that they entered to the system themselves to be freely available to other users of the system.
Fig. 8 also includes an "Add to Address Book" button 32, which can be clicked to add the person concerned to the specific user's personal Address Book if, for example, they are so impressed with the recommendations of their friends shown on the page in question. In this case, this will add James Caan's personal details (name, phone number, etc.) to Mr Hawtin's Address Book, which will also automatically enter James Caan to the Table of Associations as being associated with Mr Hawtin.
The programming steps to achieve each of the above individual steps are matters of routine once the steps to be achieved are given, as explained below, and persons skilled in the art will have no difficulty in putting the invention into effect in the light of the instruction given in this description. The invention is not to be regarded as limited to any specific program. We intend to encompass all program variations capable of achieving the features of the invention as set out in the accompanying claims.
Although the above entirely fictitious example has been given to explain how an example of system in accordance with the present invention can produce useful results, taking a search for actors as an example, it can readily be seen just how useful the system can be when applied to rather more down-to-earth information.
Let us suppose that a specific user is in urgent need of a plumber. He will get a list like that of Fig. 3 listing all plumbers who are listed in the system. Some may be personally known to the user (like Marlon Brando in the example); while others may be known to friends of the user (like James Caan, Robert De Niro, Lance Henrickson and Henry Fonda
in the example). Some of the plumbers listed may have ratings given by other users of the system with whom the particular user is associated (like Marlon Brando, James Caan and Robert De Niro in the example). Those recommendations will all be by people known to the user and (like that given by Marlon Brando of James Caan in the example) may be by people whose judgement is trusted by the user. Some of the plumbers may only have an overall rating shown, indicating that they had been rated by users of the system none of whom were associated with the particular user. Others may have no rating at all. Thus, the user not only gains access to information (names of plumbers) that was not known to him at the outset, but is given details of recommendations by others known to him. The system thus provides a powerful tool for retrieving qualified infonnation about plumbers who are not necessarily already known to the user.
In effect any specific user has access to details of personal contacts of any "friend" (that is: another user of the system if that other user is already in the specific user's personal address book or if the specific user adds the other user to his personal address book, or if that other user is a member of a private group of which the specific user is already a member). Permission to join an existing group is desirably required to be granted before a user is treated in the Table of Associations as having joined an existing group and thus as being associated with each other member of that group. Where a contact is identified as a result of the search and has prepared a profile or web page and made this available for publication, this would be visible to the specific user. Moreover, where any of those "friends" of the specific user has recorded a recommendation about any such contact, then this recommendation would also be available to the specific user.
Although the invention has been illustrated in the above discussion largely in terms of searching for another person or user of the system in terms of certain criteria (whether they are an actor or plumber, say), the invention is not limited to such Searches. The system of the invention is capable of performing searches for any alphanumeric string in the available database associated with users of the system. Users of the system are not limited in their recommendations to recommending other people or their work. They may recommend
things, events, places or almost any other kind of information; and systems in accordance with the invention may be used to locate any of these very different categories of information, provided that they are associated with the various users of the system. As one example, the invention could be used to check for package holidays in Majorca and whether any had been recommended by users of the system.
It is believed that, in the light of the above description, any programmer of ordinary skills will readily be able to put the invention into effect. Certain routines required, such as those needed to register a user or to obtain a password and username, and for making the connection to a database, are now commonplace general-purpose routines within the general knowledge of skilled programmers.
Other routines, such as those needed to set up the pages, the options provided for by buttons and the various links needed to other pages; to set up, check for each logged-in user and update, when required, the table of associations, including inclusion of the user in groups; to carry out the alphanumeric string search, including the input of search criteria and the presentation of the results; to provide for the making of recommendations and their presentation in the search results; to add a new entry to an address-book; to add a new group; and to add a new entry to a group; will all be within the normal skills of a programmer in the light of the guidance given in the description above, and can be varied as a matter of choice to adapt the system to provide bespoke solutions to particular information retrieval requirements. Accordingly, it is believed that no further description of specific such routines is necessary for any programmer of ordinary skills to put the invention into effect.