WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
System for adjusting hypertext links with weighed user goals and activities    
United States Patent5446891   
Link to this pagehttp://www.wikipatents.com/5446891.html
Inventor(s)Kaplan; Craig A. (Santa Cruz, CA); Chen; James R. (Saratoga, CA); Fallside; David C. (San Jose, CA); Fenwick; Justine R. (Santa Cruz, CA); Forcier; Mitchell D. (Walnut Creek, CA); Wolff; Gregory J. (Mountain View, CA)
AbstractA smart hypermedia system that acquires user characteristics either directly or inferentially. Simple associative networks serve to model user profiles, including relationships between user goals and the hypermedia information nodes. Hypermedia links to other nodes are recommended by ranking a link list in an order that depends on one or more user profiles containing information relating to users' goals and interests. Users can teach the system directly by rearranging the order of suggested links on the list. The system can also learn indirectly by observing how long and in what sequence the user views each hypermedia information node. User profiles can be combined to form group profiles and may be dynamically and continuously updated to form an adaptive system profile. The two system learning modes may be simultaneous or disjoint.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5446891
System for adjusting hypertext links with weighed user goals and

     activities - US Patent 5446891 Drawing
System for adjusting hypertext links with weighed user goals and activities
Inventor     Kaplan; Craig A. (Santa Cruz, CA); Chen; James R. (Saratoga, CA); Fallside; David C. (San Jose, CA); Fenwick; Justine R. (Santa Cruz, CA); Forcier; Mitchell D. (Walnut Creek, CA); Wolff; Gregory J. (Mountain View, CA)
Owner/Assignee     International Business Machines Corporation (Armonk, NY)
Patent assignment
All assignments
Publication Date     August 29, 1995
Application Number     08/333,082
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     November 2, 1994
US Classification     707/2 707/5 707/104.1 715/501.1
Int'l Classification     G06F 017/30
Examiner     Black; Thomas G.
Assistant Examiner     Amsbury; Wayne
Attorney/Law Firm     Baker, Maxham, Jester & Meador
Address
Parent Case     CROSS-REFERENCE TO RELATED APPLICATIONS This is a 37 CFR.sctn.1.62 File-Wrapper Continuation of parent application Ser. No. 07/841,965 filed on Feb. 26, 1992 and now abandoned.
Priority Data    
USPTO Field of Search     395/600
Patent Tags     adjusting hypertext links weighed user goals and activities
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5297249
Bernstein

Mar,1994

[0 after 0 votes]
5263167
Conner, Jr.
707/4
Nov,1993

[0 after 0 votes]
5241645
Cimral
703/2
Aug,1993

[0 after 0 votes]
5241620
Ruggiero
706/16
Aug,1993

[0 after 0 votes]
5220640
Frank
704/202
Jun,1993

[0 after 0 votes]
5123057
Verly
382/156
Jun,1992

[0 after 0 votes]
5021976
Wexelblat
715/853
Jun,1991

[0 after 0 votes]
4992972
Brooks

Feb,1991

[0 after 0 votes]
4982344
Jordan
715/804
Jan,1991

[0 after 0 votes]
4912648
Tyler
706/52
Mar,1990

[0 after 0 votes]
4905163
Garber
706/55
Feb,1990

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A computer-implemented hypertext system comprising:

display means for displaying images and text;

keyboard means for accepting user commands;

memory means for storing a plurality of data objects including user goal objects and text panel objects organized to form at least one hypertext object;

profile storage means for storing at least one link profile each associated with a specific set of one or more users and containing a plurality of link vectors each containing a plurality of numerical link-weights each representing an associated user activity relationship between two said data objects; and

advisor means for creating an ordered list of one or more said data objects responsive to user input activity, said list being ordered in accordance with the relative values of said numerical link-weights representing said user input activity.

2. The system of claim 1 wherein said advisor means further comprises:

context definer means for selecting a link vector from a user profile responsive to said user input activity.

3. The system of claim 2 wherein said advisor means further comprises:

clock means for indicating elapsed time; and

autolearner means for updating a user profile responsive to the data object selection activity and said elapsed time associated with said user input activity.

4. The system of claim 3 wherein said advisor means further comprises:

profile processor means for combining a first plurality of said link profiles to form one or more new link profiles each associated with a combined set of users including users associated with link profiles from said first link profile plurality.

5. The system of claim 1 wherein said advisor means further comprises:

clock means for indicating elapsed time; and

autolearner means, within said advisor means for updating a user profile responsive to the data object selection and viewing time associated with said user input activity.

6. The system of claim 1 wherein said advisor means further comprises:

profile processor means for combining a first plurality of said link profiles to form one or more new link profiles each associated with a combined set of users including users associated with link profiles from said first link profile plurality.

7. A method for operating a computer-implemented object-oriented hypertext system having a plurality of link profiles each associated with a specific set of one or more users and containing a plurality of link vectors each containing a plurality of numerical link-weights, each said link-weight representing an associated user activity relationship between one of a plurality of data objects and another one of said plurality of data objects, said plurality of data objects including text panel objects and user goal objects, said system also having display means for displaying images and text, keyboard means for accepting user commands, and at least one memory means for storing said data objects and link profiles, said method comprising the steps of:

(a) selecting a first link profile having a first link vector corresponding to a first data object, wherein said first data object is either a text panel object or a user goal object;

(b) displaying at least part of said first data object on said display means responsive to said keyboard means;

(c) comparing the link-weights within said first link vector to find a maximum link-weight value; and

(d) displaying on said display means at least part of a second data object corresponding to said maximum-valued link-weight, wherein said second data object is a text panel object.

8. The method of claim 7 further comprising the steps of:

(e) sorting into numerical order said link-weights in said first link vector; and

(f) displaying at least one identifier from each of one or more said data objects and the associated link-weight ordering for each said identifier displayed.

9. The method of claim 8 wherein said displaying step (f) further the comprises the step of:

(f.1) displaying said one or more displayed identifiers in order of the value of said associated link-weight.

10. The method of claim 9 further comprising the steps of:

(g) comparing said associated link-weight values in said first link vector with a threshold value; and

(h) displaying said identifiers for data objects associated with link-weight values greater than said threshold value.

11. The method of claim 8 further comprising the step of:

(g) changing the link-weight value associated with a selected data object responsive to user input activity at said keyboard means, whereby the sort order of said displayed identifiers is changed responsive to said user input activity.

12. The method of claim 7 wherein said selecting step (a) further comprises the steps of:

(a.1) merging a first plurality of said link profiles to form a combined link profile associated with a combined set of users including each user associated with a link profile from said first link profile plurality; and

(a.2) selecting said combined link profile to be said first link profile.

13. The method of claim 12 wherein said merging step (a.1) further comprises the steps of:

(a.1.1) calculating the link-weight values for a system link profile R by merging the link-weight values of a new link profile R.sub.n with the corresponding link-weight values of an existing system link profile R.sub.e according to the formula, R=(R.sub.e *(K-1)+R.sub.n)/K, where K is a predetermined constant; and

(a.1.2) storing said link-weight values for said system link profile R in said memory means.

14. The method of claim 13 wherein said calculating step (a.1.1) further comprises the step of:

(a.1.1.1) initializing said link-weight values in said system link profile R by merging a new link profile R.sub.n to an existing system link profile Re according to the formula, R=(R.sub.e *N+R.sub.n)/(N+1), where N<K and N is the number of profiles that have been previously merged to form said existing system link profile R.sub.e.

15. The method of claim 12 wherein said merging step (a.1) further comprises the steps of:

(a.1.1) calculating, for each link between data objects j and i, a normalized link-weight value R.sub.ij representing the corresponding link-weight value for the merger of a set of link profiles, by first assigning a profile weight W.sub.p to the p.sup.th said link profile in a subset (ij) of said set and then averaging said subset (ij) according to the formula R.sub.ij =.SIGMA..sub.p (R.sub.ijp *W.sub.p).SIGMA..sub.p W.sub.p, where said subset (ij) excludes all said link profiles in said set that do not contain a link-weight value relating data objects j and i; and

(a.1.2) storing said normalized link-weight values R.sub.ij in said combined link profile in said memory means.

16. The method of claim 1 further comprising the steps of:

(e) modifying said first link profile responsive to user activity at said keyboard means; and

(f) storing said modified first link profile in said memory means.

17. A method for operating a computer-implemented object-oriented hypertext system having a plurality of link profiles each associated with a specific set of one or more users and containing a plurality of link vectors each containing a plurality of numerical link-weights, each said link-weight representing an associated user activity relationship between one of a plurality of data objects and another one of said plurality of data objects, said plurality of data objects including text panel objects and user goal objects, said system also having display means for displaying images and text, keyboard means for accepting user commands, clock means for indicating elapsed time, and at least one memory means for storing said data objects and link profiles, said method comprising the steps of:

(a) selecting a first link profile having a first link vector corresponding to a first data object and a second link vector corresponding to a second data object, wherein said first data object is either a text panel object or a user goal object and said second data object is a text panel object;

(b) displaying at least part of said first data object on said display means;

(c) displaying at least part of said second data object on said display means responsive to user activity at said keyboard means;

(d) recording a start time from said clock means to begin measurement of an elapsed time interval;

(e) monitoring for a predetermined event signaling that said elapsed time interval should end;

(f) recording a stop time from said clock means to complete said measurement of said elapsed time interval;

(g) computing a view time for said second data object by subtracting said start time from said stop time;

(h) calculating a new link-weight value representing said associated user activity relationship between said first data object and said second data object, said new link-weight value being at least partly proportional to said view time; and

(i) storing said new link-weight value in said first link profile in said memory means.

18. The method of claim 17 further comprising the steps of:

(j) comparing the link-weights within said second link vector to find a maximum link-weight value; and

(k) displaying at least part of a third data object corresponding to said maximum-valued link-weight, wherein said third data object is a text panel object.

19. The method of claim 18 further comprising the steps of:

(l) sorting into numerical order said link-weights in said second link vector; and

(m) displaying an identifier for each of one or more corresponding said text panel objects, said identifier including the associated link-weight ordering for said each corresponding text panel object.

20. The method of claim 19 wherein said displaying step (m) further comprises the step of:

(m.1) displaying said identifiers in order of the value of said associated link-weight.

21. The method of claim 20 further comprising the steps of:

(n) comparing said associated link-weight values in said second link vector with a threshold value; and

(o) displaying only said identifiers for said corresponding text panel objects associated with link-weight values greater than said threshold value.

22. The method of claim 19 further comprising the steps of:

(n) modifying said first link profile responsive to user activity at said keyboard means; and

(o) storing said modified first link profile in said memory means.

23. The method of claim 17 wherein said selecting step (a) further comprises the steps of:

(a.1) merging a first plurality of said link profiles to form a combined link profile associated with a combined set of users including each user associated with a link profile from said first link profile plurality; and

(a.2) selecting said combined link profile to be said first link profile.

24. The method of claim 23 wherein said merging step (a.1) further comprises the steps of:

(a.1.1) calculating the link-weight values for a system link profile R by merging the link-weight values of a new link profile R.sub.n with the corresponding link-weight values of an existing system link profile R.sub.e according to the formula, R=(R.sub.e *(K-1)+R.sub.n)/K, where K is a predetermined constant; and

(a.1.2) storing said link-weight values for said system link profile R in said memory means.

25. The method of claim 24 wherein said calculating step (a.1.1) further comprises the step of:

(a.1.1.1) initializing said link-weight values in said system link profile R by merging a new link profile R.sub.n to an existing system link profile R.sub.e according to the formula, R=(R.sub.e *N+R.sub.n)/(N+1), where N<K and N is the number of profiles that have been previously merged to form said existing system link profile R.sub.e.

26. The method of claim 23 wherein said merging step (a.1) further comprises the steps of:

(a.1.1) calculating, for each link between said first and second data objects j and i, a normalized link-weight value R.sub.ij representing the corresponding link-weight value for the merger of a set of link profiles, by first assigning a profile weight W.sub.p to the p.sup.th said link profile in a subset (ij) of said set and then averaging said subset (ij) according to the formula, R.sub.ij =.SIGMA..sub.p (R.sub.ijp *W.sub.p)/.SIGMA..sub.p W.sub.p, where said subset (ij) excludes all said link profiles in said set that do not contain a link-weight value relating said first and second data objects j and i; and

(a.1.2) storing said normalized link-weight values R.sub.ij in said combined link profile in said memory means.

27. The method of claim 17 wherein said monitoring step (e) further comprises the step of:

(e.1) monitoring for an input signal from said keyboard means representing user activity.

28. The method of claim 17 wherein said calculating step (h) further comprises the step of:

(h.1) recalculating said new link-weight value to be at least partly inversely proportional to the quantity of data contained in said second data object.

29. A combination for use with a computer-implemented hypertext system, said combination including display means for displaying images and text and a program medium for storing program and data objects and structures comprising:

a program object structure stored in said program medium, said program object structure including a plurality of program objects including:

a program object for controlling said hypertext system including a plurality of link profiles each associated with a specific set of one or more users, each said link profile containing a plurality of link vectors each containing a plurality of numerical link-weights, each said link-weight representing an associated user activity relationship between one of a first plurality of said data objects and another one of said first plurality of data objects, said first plurality of data objects including text panel objects and user goal objects;

a display program object for controlling the display of images and text on said display means;

a program object for controlling a clock means for indicating elapsed time;

a program object for controlling a selection of a first link profile having a first link vector corresponding to a first data object and a second link vector corresponding to a second data object, wherein said first data object is either a text panel object or a user goal object and said second data object is a text panel object; and

a plurality of said program objects including an object for displaying at least part of said first data object on said display means, an object for displaying at least part of said second data object on said display means responsive to user activity at said keyboard means, an object for recording a start time from said clock means to begin measurement of an elapsed time interval, an object for monitoring for a predetermined event signaling that said elapsed time interval should end, an object for recording a stop time from said clock means to complete said measurement of said elapsed time interval, an object for computing a view time for said second data object by subtracting said start time from said stop time, an object for calculating a new link-weight value representing said associated user activity relationship between said first data object and said second data object, wherein said new link-weight value is at least partly proportional to said view time, and an object for controlling the storing of said new link-weight value in said first link profile data object.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to user interface techniques for reorganization of retrieved documents and, more particularly, to an intelligent hypermedia system that adapts dynamically to the user.

2. Discussion of the Related Art

Hypermedia systems that allow the user to navigate through large amounts of on-line information are known to be a promising method for controlling the overwhelming increase in information available to the user. While most paper documents lead the user down a rigid sequential path, hypertext documents provide users with a means to choose one of many different paths. Hypercards provide a useful access method to simple databases, and other hypermedia are also known.

Hypertext is a familiar term used to describe a particular form of organization and user presentation of information within a computer-implemented system and is a familiar element of the broader class of systems referred to herein as hypermedia. Hypermedia exploit the computer's ability to link together information from a wide variety of sources as a tool for exploring a particular topic. Such systems embrace large numbers of "data objects", which can be panels of text, titles, index entries or other data such as images, graphical tables, video or sound information, and so forth. The data object is said to reside at a "node" and may vary in size and type. A collection of such data objects is denominated a hypermedium. For data objects limited to text panels, that is, blocks of text data of varying size, the collection is referred to as a hypertext document.

Each data object is essentially self-contained but may contain references to other such objects or nodes. Such references are normally used in a hypertext document and are referred to as "links". A link is a user-activated control reference that causes the data object at the link target node to be displayed. Normally, hypertext systems are window-based and the newly displayed object appears in a new window. The new object or panel may, of course, contain additional links to other such panels. By following these links from panel to panel, the user "navigates" through and about the hypertext document. This scheme provides user-control over the order of information presentation and permits the user to select what is of interest and how to pursue a given topic.

Thus, a hypertext document essentially consists of a set of individual data objects or nodes interconnected by links. Each link is a relation between two nodes. The link relation includes data relating the location of the first panel where the link starts and the location of the second panel that is the target. Such location information may be stored in various forms, for example, it may be in the form of byte offsets indicating the number of bytes from the start of a file.

The set of link data for a given view of a hypermedium is known in the art as a link matrix and is denominated a link "profile" herein. Each such link profile contains a unique link vector or list for every node in the hypermedium. Each link vector is a list of the links between the corresponding "originating" node and other "target" nodes. The aggregate of such vectors, one for each node, makes up one link profile for the hypermedium.

In U.S. Pat. No. 4,982,344, Daniel S. Jordan discloses a data processing system that incorporates a method for accelerating the creation of such link vectors. Reference is made to Jordan's disclosure for a general understanding of object-oriented hypermedia systems. Reference is made to B. Shneiderman, Hypertext: Hands On!, Addison-Wesley Publ. Co., (1989), for a general background discussion of the hypertext concept. For a more introductory treatment, reference is made to J. Conklin, "Hypertext: An Introduction and Survey", IEEE Computer, Vol. 20, pp. 17-41, (1987).

Those familiar with the art are aware of the fundamental questions that still exist regarding how to direct the user to the information actually desired within a hypertext document. For example, consider the problem of writing a hypertext document for an unknown or potentially diverse audience. A link profile that might be useful for one type of user could be confusing to other users with different backgrounds or different objectives. Ideally, the hypertext document would adapt to different groups of users, providing different link profiles for different groups. But no effective adaptation methods were suggested in the art until now.

A related problem is the well-known trade-off between flexibility and complexity. In a hypertext document, the information (data object) at every panel node is associated with other panels throughout the document by means of a link profile containing many link vectors. The number of such associations from any given panel is potentially equal to the total number of such panels and, by allowing users to choose where to next jump, a greater number of link vectors provides more flexibility to an otherwise rigid process. However, as the number of link vectors grows, choosing where to next jump becomes a more complex problem for the user.

Compounding the problem of too many choices, are the other well-known hypertext issues such as becoming lost in hyperspace, not knowing what panel is targeted by a link before reaching it, and losing the organizational benefit of traditional sequential text. The Conklin reference cited above discusses these issues in detail. The negative effects of such problems can be avoided if the user is somehow guided to the correct link choices.

The existing art minimizes these problems by constraining the available choices in linking from one panel to another. This is done by providing only a few carefully chosen links to and from each panel. Thus, users are less likely to get lost or waste time exploring irrelevant nodes, but lack flexibility.

For example, it is possible that a user interested in a taco recipe may also be interested in trips to Mexico, food industry politics, the process of grinding corn by hand, and the Spanish Conquistadors. These and more topics can all be associated with tacos. Incorporating all such links in a hypertext document increases the system flexibility but also may confuse and frustrate the user.

One possible solution is to provide a great number of possible links, maximizing flexibility, while also discouraging certain links, effectively constraining the available choices. The user is then free to ignore system recommendation but may also follow them to minimize the risk of viewing irrelevant information. In the taco example, this could mean allowing the user to specify the slant or "task goal" desired in the review of tacos (e.g., the history of tacos, the market for tacos, taco recipes, etc.). However, nothing in the art suggests or teaches a suitable method for modifying a link profile in response to user-specified task objectives.

The typical hypertext link profile is predetermined according to the system designer's understanding of the typical user profile and is incorporated in the hypertext document with no provision for modification or weighted recommendation. The user model for a link profile is usually a simple matrix of ones and zeros relating each hypertext node or panel to all other such panels. Each link element is either zero (unlinked) or unity (linked), depending on the choices made by the author in view of the "connectedness" or relatedness between the panels.

Intelligent tutoring systems known in the art face a similar dynamic modification problem. Such systems must model not only the information to be taught to the user but also any mistakes likely to be made by the student user. Often, fairly complex rule-based expert systems are employed for this modelling. A wide range of sophisticated models are known in the art and reference is made to M. P. Anderson, et al., "Empirical User Modeling: Command Usage Analyses for Deriving Models of Users", Proceedings of the Human Factor Society--31st Annual Meeting, Vol. 31, pp. 41-45 (1987) for a discussion of the related art. Reference is also made to D. Carlson, et al., "HyperIntelligence: The Next Frontier", Communications of the ACM, Vol. 33, pp. 311-321 (1990). Reference is further made to R. Kass, et al., "The Role of User Models in Cooperative Interactive Systems", International Journal of Intelligent Systems, Vol. 4, pp. 81-112 (1989). Finally, reference is made to A. P. Norcio, et al., "Adaptive Human-Computer Interfaces: A Literature Survey and Perspective", IEEE Transactions on Systems, Man, and Cybernetics, Vol. 19, pp. 399-408 (1989). These references provide a general background of the user modelling and adaptive man-machine interface arts, which generally embrace models too complex for practical application to hypermedia systems.

Thus, there appears to be a need in the art for an adaptive user interface simple enough for effective use in hypermedia systems, permitting a hypertext document to be adapted to various users without losing the efficiency and flexibility associated with the hypertext technique. The related unresolved problems and deficiencies are keenly felt in the art and are solved by the present invention in the manner described below.

SUMMARY OF THE INVENTION

The present invention resolves the above problems by adding several new user-interface features to a combined hypermedia system, thereby obtaining unexpected and beneficial results. The first such feature is the incorporation of links between all nodes within a hypermedium. Existing hypertext documents provide from one to five links from an originating node to other target nodes, reflecting decisions of the document author as to how nodes should be interrelated.

The second feature of this invention avoids overwhelming the user with choices by introducing the concept of graduated link-weight values for ordering the linked nodes in a list so that the most relevant link targets appear first in a list presented to the user.

The third feature of this invention introduces a new type of link matrix, heretofore unknown in the art. The link matrix known in the art may be viewed as a set of vectors, each being a list of zero and unity link values relating each node to a few other nodes. The new type of link matrix of this invention is a set of link-weights relating the existing set of hypertext panel nodes to a new set of user goals. The set of user goals may also be considered as new hypertext nodes containing only a brief title and being linked to all other nodes. As with the panel-to-panel link matrix, every user goal is linked to all hypertext panel nodes. However, user goals need not be linked to one another, although they may be. A selected user goal and a selected panel are together denominated herein a user "context". Each such "context" corresponds to a unique set of link vectors.

As a fourth feature, to recommend target panels to a user, the method of this invention introduces a relative link-weight value representing the link between each panel node and all other panel nodes in the hypertext document. A relative link-weight value is also introduced to represent the strength of the relationship between the user goals and the various panel nodes in the document. The methods of this invention employ associative networks or matrices as a simple and highly effective means of representing these relationships. Associative matrices are simplified semantic networks, similar to the "neural networks" known for modelling relationships in information systems and human memory.

The present invention employs a first topic-to-topic (panel-to-panel) associative matrix and a second goal-to-topic associative matrix, and provides for the capability to combine linkage information from multiple matrices to arrive at a single set of recommendations in the form of a "user profile". Theoretically, other such associative matrices may be added to the system, but the two associative matrices disclosed herein have unexpectedly been found to provide adaptability sufficient for the objects of this invention.

A fifth feature of this invention introduces learning capability. A known practice is to interview a representative sample of system users to determine their collective linking preferences, incorporating such a fixed user profile in the hypertext document. This existing method can be used to determine initial link-weights for both the topic-to-topic matrix and the goal-to-topic matrix by attempting to anticipate the needs of the prospective users. This existing method alone does not permit dynamic adaptation of such associative matrices, however. The fifth feature of this invention is a self-adaptive or learning feature for dynamically updating these link-weight values in each associative matrix.

Two learning methods are introduced by this invention. The first is an inferential method for acquiring user information without any effort or attention from the user. The inferential method measures the time that a user views a particular "data object" or panel node and adjusts the linkage weight to that panel node accordingly. The linkage weight to that target panel may also be scaled to compensate for the length of time required to read the panel, which is proportional to the amount of text data in the panel.

The second learning method is active. The user can manually adjust a link-weight value to correct it in situations where a panel is held onscreen during a coffee break without an attentive user or when a brief panel is deemed uninteresting. Thus, both automatic and manual methods for acquiring user profile information or characteristics are introduced in this invention. The hypermedia system of this invention incorporates both direct and inferential modes of learning.

Finally, a sixth feature of this invention is that many different "user profiles" may be accumulated and stored for later access by individual users having different interests. Moreover, the methods of this invention include unexpectedly simple and useful procedures for merging selected user profiles to form one or more general user-group profiles and for accumulating new user profiles over time to form a cumulative or adaptive system profile. These procedures are quite simple and their effect is wholly unexpected and beneficial.

The foregoing, together with other features and advantages of the present invention, will become more apparent when referring to the following specification, claims and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding the present invention, reference is now made to the following detailed discussion of the embodiments illustrated in the accompanying drawings, wherein:

FIG. 1 provides an illustrative topic-to-topic associative matrix;

FIG. 2 provides an illustrative goal-to-topic associative matrix;

FIG. 3 illustrates the connectionist network used in an illustrative embodiment of this invention;

FIG. 4 provides an illustrative embodiment of the HYPERFLEX interface of this invention;

FIG. 5 shows an illustrative embodiment of the hardware system of this invention;

FIG. 6 shows an illustrative embodiment of the computer system modules of this invention;

FIG. 7 provides a procedural diagram illustrating the functional steps of the HYPERFLEX embodiment of this invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The Goal-To-Topic Associative Matrix:

This invention combines several different simple associative connection networks with a hypermedia system in a new manner, to permit the dynamic modelling of hypermedia user profiles. These user profiles are collections of link-weight vectors or link-weight matrices used to select links to priority nodes by examining the rank ordering of the lists (vectors) of potential links. The ordering of a recommendation list depends upon the user profile, which consists of two associative matrices of link-weights that relate topics to topics and goals to topics. The user can actively teach the system by rearranging the order of suggested node links.

FIG. 1 shows an associative matrix 10 that captures the relationship between any topic in a hypertext system to any other topic. The link-weights, exemplified by link-weight 12, can be established by the hypertext document designer as fixed values to accomplish some objective. For example, the illustrative link-weights shown for matrix 10 in FIG. 1 indicate that vegetarianism is more strongly associated to nutrition than it is to surfing. A hypertext system can use the information in matrix 10 to suggest that a user currently reading about vegetarianism should next consider nodes related to nutrition rather than nodes related to surfing or steel working.

But suppose the reader is interested in California lifestyles. Then it would be appropriate for the system to recommend linkage from vegetarian to surfing, for that particular user. To capture this additional user knowledge, the method of this invention introduces another type of associative matrix that relates any topic in a hypertext system to any one of several user goals. This second associative matrix 14 is shown in FIG. 2.

FIG. 3 shows a hypertext connectionist network illustrative of that used by the inventors in a simulation experiment for the system of this invention. Note that each node, exemplified by node 16, is joined to all other nodes by links, exemplified by link 18. Hypermedia in general consist of nodes or panels (cards, topics, etc.) of information that are connected to one another by links. Hypermedia systems permit the user to jump, or link, from the current node to any other connected node. The method of this invention provides links between each node to all other nodes and also provides graduated link-weight values for each link to prioritize the other nodes, thereby preventing the unlimited options from overwhelming the user. The ordering of the link-weight vector values for a-single node reflects knowledge of both the user's current goals or context and the user's past choices.

In the example shown in FIG. 1, the number of link-weights in matrix 10 is less than the square of the number of topics in the hypertext document as a result of an assumed redundancy of the linkages represented by X in FIG. 1. If desired, the link-weight between surfing and nutrition may be valued differently from that between nutrition and surfing. That is, the linkages between topics may reflect the direction of topic transition.

Matrix 14 in FIG. 2 represents the association between specified user interests or goals and the topics in the hypertext system. Using the illustrative link-weights shown for matrix 14, the system of this invention would recommend both surfing and vegetarianism to a user interested in California lifestyles. Theoretically, as many such associative matrices as desired may be added to the system of this invention. There are many prospectively useful schemes for combining the information from such associative matrices to arrive at a single set of recommendations. A simple method preferred for this invention is described hereinbelow.

Thus, the methods of this invention use simple associative matrices to establish a user profile containing the link-weight values relating each topic in the hypertext system to all other topics in the same document.

System Learning Techniques:

The second discovery leading to this invention is the addition of simple neural network learning techniques to this associative matrix model. These