|
Claims  |
|
|
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. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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
| | |