throbber
Case 6:20-cv-00810-ADA Document 73-17 Filed 04/23/21 Page 1 of 21
`
`EXHIBIT F
`(Part 2 of 2)
`
`

`

`Case 6:20-cv-00810-ADA Document 73-17 Filed 04/23/21 Page 2 of 21
`
`6,029,195
`
`59
`electronic newspaper. This information can be structured by
`client r into a prearranged form, comprising a number of
`files, each of which is associated with a different target
`object. In the case of an electronic newspaper, the files can
`contain textual representations of stock prices, weather 5
`forecasts, editorials, etc. The system determines likely
`demand for the target objects associated with these files in
`order to optimize the distribution of the tlles through the
`network N of interconnected clients p-s and proxy servers
`A-D. A-;sume that cluster C consists of text articles relating 10
`to the aerospace industry; further assume that the target
`profile interest summaries stored at proxy servers A and B
`for the users at clients p and r indicate that these users are
`strongly interested in such articles. Then the proxy servers A
`and B are selected as core servers for the multicast tree 15
`MT(C). The multicast tree MT(C) is then computed to
`consist of the core servers, A and B, connected by an edge
`that represents the least costly virtual point-to-point link
`between A and B (either the direct path A-B or the indirect
`path A-C-B, depending on the cost).
`Global Requests to Multicast Trees
`One type of message that may be transmitted to any proxy
`server S is termed a "global request message." Such a
`message M triggers the broadcast of an embedded request R
`to all core servers in a multicast tree MT(C). The content of 25
`request R and the identity of cluster C are included in the
`message M, as is a field indicating that message M is a
`global request message. In addition, the message M contains
`a field Szas, which is unspecified except under certain cir(cid:173)
`cumstances described below, when it names a specific core 30
`server. A global request message M may be transmitted to
`proxy server S by a user registered with proxy server S,
`which transmission may take place along a pseudonymous
`mix path, or it may be transmitted to proxy server S from
`another proxy server, along a virtual point-to-point connec- 35
`tion.
`When a proxy server S receives a message M that is
`marked as a global request message, it acts as follows: 1. If
`proxy server S is not a core server for topic C, it retrieves its
`locally stored list of nearby core servers for topic C, selects
`from this list a nearby core server S', and transmits a copy
`of message M over a virtual point-to-point connection to
`core server S'. If this transmission fails, proxy server S
`repeats the procedure with other core servers on its list. 2. If
`proxy server S is a core server for topic C, it executes the
`following steps: (a) Act on the request R that is embedded
`in message M. (b) Set Scurr to be S(C) Retrieve the locally
`stored subtree of MT(C), and extract from it a list L of all
`core servers that are directly linked to Scurr in this subtree.
`(d) If the message M specifies a value for S1a,, and Szas,
`appears on the list L, remove S 10s, from the list L. Note that
`list L may be empty before this step, or may become empty
`as a result of this step. ( e) For each server Si in list L,
`transmit a copy of message M from server S to server Si over
`a virtual point-to-point connection, where the Szas, field of
`the copy of message M has been altered to S curr· If Si cannot
`be reached in a reasonable amount of time by any virtual
`point-to-point connection (for example, server Si is broken),
`recurse to step (c) above with S 0 r;g bound to Scurr and Scurr
`bound to S{\sub I} for the duration of the recursion.
`When server S' in step 1 or a server Si in step 2( e) receives
`a copy of the global request message M, it acts according to
`exactly the same steps. As a result, all core servers eventu(cid:173)
`ally receive a copy of global request message M and act on
`the embedded request R, unless some c.-ore servers cannot be
`reached. Even if a core server is unreachable, step ( e)
`ensures that the broadcast can continue to other core servers
`
`60
`in most circumstances, provided that d>l; higher values of
`d provide additional insurance against unreachable core
`servers.
`Multicastini Files
`The system for customized electronic information of
`desirable objects executes the following steps in order to
`introduce a new target object into the system. These steps are
`initiated by an entity E, which may be either a user entering
`commands via a keyboard at a client processor q, as illus-
`trated in FIG. 3, or an automatic software process resident on
`a client or server processor q. 1. Processor q forms a signed
`request R, which asks the receiver to store a copy of a file
`F on its local storage device. File F, which is maintained by
`client q on storage at client q or on storage accessible by
`client q over the network, contains the informational content
`of or an identifying description of a target object, as
`described above. The request R also includes an address at
`which entity E may be contacted (possibly a pseudonymous
`address at some proxy server D), and asks the receiver to
`store the fact that tlle F is maintained by an entity at said
`20 address. 2. Processor q embeds request R in a message Ml,
`which it pseudonymously transmits to the entity E's proxy
`server D as described above. Message Ml instructs proxy
`server D to broadcast request R along an appropriate mul-
`ticast tree. 3. Upon receipt of message Ml, proxy server D
`examines the doubly embedded file F and computes a target
`profile P for the corresponding target object. It compares the
`target profile P to each of the cluster profiles for topical
`clusters Cl . . . Cp described above, and chooses Ck to be
`the cluster with the smallest similarity distance to protlle P.
`4. Proxy server D sends itself a global request message M
`instructing itself to broadcast request R along the topical
`multicast tree MT(Ck). 5. Proxy server D notifies entity E
`through a pseudonymous communication that file F has been
`multicast along the topical multicast tree for cluster Ck.
`As a result of the procedure that server D and other
`servers follow for acting on global request messages, step 4
`eventually causes all core servers for topic Ck to act on
`request R and therefore store a local copy of file F. In order
`to make room for file F on its local storage device, a core
`40 server Si may have to delete a less useful file. There are
`several ways to choose a file to delete. One option, well
`known in the art, is for Si to choose to delete the least
`recently accessed file. In another variation, Si deletes a file
`that it believes few users will access. In this variation,
`45 whenever a server Si stores a copy of a file F, it also
`computes and stores the weight w(Si, C1-), where CF is a
`cluster consisting of the single target object associated with
`file F. Then, when server Si needs to delete a file, it chooses
`to delete the file F with the lowest weight w(Si, CF). To
`50 reflect the fact that files are accessed less as they age, server
`Si periodically multiplies its stored value of w(Si, CF) by a
`decay factor, such as 0.95, for each file F that it then stores.
`Alter natively, instead of using a decay factor, server Si may
`periodically recompute aggregate interest w(Si, CF) for each
`55 file F that it stores; the aggregate interest changes over time
`because target objects typically have an age attribute that the
`system considers in estimating user interest, as described
`above.
`If entity E later wishes to remove file F from the network,
`60 for example because it has just multicast an updated version,
`it pseudonymously transmits a digitally signed global
`request message to proxy server D, requesting all proxy
`servers in the multicast tree MT(Ck) to delete any local copy
`of file F that they may be storing.
`65 Queries to Multicast Trees
`In addition to global request messages, another type of
`message that may be transmitted to any proxy server S is
`
`TT0007219
`
`

`

`Case 6:20-cv-00810-ADA Document 73-17 Filed 04/23/21 Page 3 of 21
`
`6,029,195
`
`61
`termed a "query message." When transmitted to a proxy
`server, a query message causes a reply to be sent to the
`originator of the message; this reply will contain an answer
`to a given query Q if any of the servers in a given multicast
`tree MT(C) are able to answer it, and will otherwise indicate
`that no answer is available. The query and the cluster C are
`named in the query message. In addition, the query message
`contains a tleld S1as, which is unspecitled except under
`certain circumstances described below, when it names a
`specitlc core server. When a proxy server S receives a 10
`message M that is marked as a query message, it acts as
`follows: 1. Proxy server S sets Ar to be the return address for
`the client or server that transmitted message M to server S.
`Ar may be either a network address or a pseudonymous
`address 2. If proxy server S is not a core server for cluster 15
`C, it retrieves its locally stored list of nearby core servers for
`topic C, selects from this list a nearby core server S', and
`transmits a copy of the locate message M over a virtual
`point-to-point connection to core server S'. If this transmis(cid:173)
`sion fails, proxy server S repeats the procedure with other 20
`core servers on its list. Upon receiving a reply, it forwards
`this reply to address Ar. 3. If proxy server S is a core server
`for cluster C, and it is able to answer query Q using locally
`stored information, then it transmits a "positive" reply to Ar
`containing the answer. 4. If proxy server S is a core server 25
`for topic C, but it is unable to answer query Q using locally
`stored information, then it carries out a parallel depth-tlrst
`search by executing the following steps: (a) Set L to be the
`empty list. (b) Retrieve the locally stored subtree of MT(C).
`For each server Si directly linked to S curr in this subtree, 30
`other than Szast (if specitled), add the ordered pair (Si, S) to
`the list L. (c) If Lis empty, transmit a "negative" reply to
`address A, saying that server S cannot locate an answer to
`query Q, and terminate the execution of step 4; otherwise
`proceed to step (d). (d) Select a list Ll of one or more server 35
`pairs (Ai, Bi) from the list L. For each server pair (Ai, Bi)
`on the list Ll, form a locate message M(Ai, Bi), which is a
`copy of message M whose Szast tleld has been moditled to
`specify Bi, and transmit this message M(Ai, Bi) to server Ai
`over a virtual point-to-point connection. ( e) For each reply 40
`received (by S) to a message sent in step (d), act as follows:
`(I) If a "positive" reply arrives to a locate message M(Ai,
`Bi), then forward this reply to Ar and terminate step 4,
`immediately. (ii) If a "negative" reply arrives to a locate
`message M(Ai, Bi), then remove the pair (Ai, Bi) from the 45
`list Ll. (iii) If the message M(Ai, Bi) could not be success(cid:173)
`fully delivered to Ai, then remove the pair (Ai, Bi) from the
`list Ll, and add the pair (Ci, Ai) to the list L1 for each Ci
`other than Bi that is directly linked to Ai in the locally stored
`subtree of MT(C). (t) Once L1 no longer contains any pair 50
`(Ai, Bi) for which a message M(Ai, Bi) has been sent, or
`after a tlxed period of time has elapsed, return to step (c).
`Retrieving Files from a Multicast Tree
`When a processor q in the network wishes to retrieve the
`tlle associated with a given target object, it executes the 55
`following steps. These steps are initiated by an entity E,
`which may be either a user entering commands via a
`keyboard at a client q, as illustrated in FIG. 3, or an
`automatic software process resident on a client or server
`processor q. l. Processor q forms a query Q that asks 60
`whether the recipient ( a core server for cluster C) still stores
`a tlle F that was previously multicast to the multicast tree
`MT(C); if so, the recipient server should reply with its own
`server name. Note that processor q must already know the
`name of file P and the identity of cluster C; typically, this 65
`information is provided to entity E by a service such as the
`news clipping service or browsing system described below,
`
`62
`which must identify tlles to the user by (name, multicast
`topic) pair. 2. Processor q forms a query message M that
`poses query Q to the multicast tree MT(C). 3. Processor q
`pseudonymously transmits message M to the user's proxy
`5 server D, as described above. 4. Processor q receives a
`response M2 to message M. 5. If the response M2 is
`"positive," that is, it names a server S that still stores tlle F,
`then processor q pseudonymously instructs the user's proxy
`server D to retrieve tlle F from server S. If the retrieval fails
`because server S has deleted tlle F since it answered the
`query, then client q returns to step l. 6. If the response M2
`is "negative," that is, it indicates that no server in MT(C) still
`stores tlle F, then processor q forms a query Q that asks the
`recipient for the address A of the entity that maintains tlle F;
`this entity will ordinarily maintain a copy of tlle F indefi(cid:173)
`nitely. All core servers in MT(C) ordinarily retain this
`information (unless instructed to delete it by the maintaining
`entity), even if they delete file F for space reasons.
`Therefore, processor q should receive a response providing
`address A, whereupon processor q pseudonymously
`instructs the user's proxy server D to retrieve tlle F from
`address A.
`When multiple versions of a tlle F exist on local servers
`throughout the data communication network N, but are not
`marked as alternate versions of the same tlle, the system's
`ability to rapidly locate tlles similar to F (by treating them
`as target objects and applying the methods disclosed in
`"Searching for Target Objects" above) makes it possible to
`tlnd all the alternate versions, even if they are stored
`remotely. These related data tlles may then be reconciled by
`any method. In a simple instantiation, all versions of the data
`tlle would be replaced with the version that had the latest
`date or version number. In another instantiation, each ver(cid:173)
`sion would be automatically annotated with references or
`pointers to the other versions.
`
`NEWS CLIPPING SERVICE
`The system for customized electronic identitlcation of
`desirable objects of the present invention can be used in the
`electronic media system of FIG. 1 to implement an auto(cid:173)
`matic news clipping service which learns to select (tllter)
`news articles to match a user's interests, based solely on
`which articles the user chooses to read. The system for
`customized electronic identitlcation of desirable objects
`generates a target protlle for each article that enters the
`electronic media system, based on the relative frequency of
`occurrence of the words contained in the article. The system
`for customized electronic identitlcation of desirable objects
`also generates a search protlle set for each user, as a function
`of the target profiles of the articles the user has accessed and
`the relevance feedback the user has provided on these
`articles. As new articles are received for storage on the mass
`storage systems SS 1-SSm of the information servers lcim,
`the system for customized electronic identitlcation of desir(cid:173)
`able objects generates their target protlles. The generated
`target protlles are later compared to the search protlles in the
`users' search protlle sets, and those new articles whose
`target protlles are closest (most similar) to the closest search
`protlle in a user's search protlle set are identitled to that user
`for possible reading. The computer program providing the
`articles to the user monitors how much the user reads (the
`number of screens of data and the number of minutes spent
`reading), and adjusts the search protlles in the user's search
`protlle set to more closely match what the user apparently
`prefers to read. The details of the method used by this system
`are disclosed in flow diagram form in FIG. 5. ]11is method
`requires selecting a specitlc method of calculating user-
`
`TT0007220
`
`

`

`Case 6:20-cv-00810-ADA Document 73-17 Filed 04/23/21 Page 4 of 21
`
`6,029,195
`
`63
`specific search protlle sets, of measuring similarity between
`two profiles, and of updating a user's search profile set ( or
`more generally target profile interest summary) based on
`what the user read, and the examples disclosed herein are
`examples of the many possible implementations that can be 5
`used and should not be construed to limit the scope of the
`system.
`Initialize Users' Search Profile Sets
`The news clipping service instantiates target profile inter(cid:173)
`est summaries as search profile sets, so that a set of high(cid:173)
`interest search profiles is stored for each user. The search
`profiles associated with a given user change over time. As in
`any application involving search profiles, they can be ini(cid:173)
`tially determined for a new user (or explicitly altered by an
`existing user) by any of a number of procedures, including
`the following preferred methods: (1) asking the user to
`specify search profiles directly by giving keywords and/or
`numeric attributes, (2) using copies of the profiles of target
`objects or target clusters that the user indicates are repre(cid:173)
`sentative of his or her interest, (3) using a standard set of 20
`search profiles copied or otherwise determined from the
`search profile sets of people who are demographically
`similar to the user.
`Retrieve New Articles from Article Source
`Articles are available on-line from a wide variety of 25
`sources. In the preferred embodiment, one would use the
`current days news as supplied by a news source, such as the
`AP or Reuters news wire. These news articles are input to the
`electronic media system by being loaded into the mass
`storage system SS 4 of an information server S4 . ]11e article 30
`profile module 201 of the system for customized electronic
`identification of desirable objects can reside on the infor(cid:173)
`mation server S4 and operates pursuant to the steps illus(cid:173)
`trated in the flow diagram of FIG. 5, where, as each article
`is received at step 501 by the information server S 4 , the 35
`article profile module 201 at step 502 generates a target
`profile for the article and stores the target profile in an article
`indexing memory (typically part of mass storage system SS 4
`for later use in selectively delivering articles to users. This
`method is equally useful for selecting which articles to read 40
`from electronic news groups and electronic bulletin boards,
`and can be used as part of a system for screening and
`organizing electronic mail ("e-mail").
`Calculate Article Profiles
`A target profile is computed for each new article, as
`described earlier. The most important attribute of the target
`profile is a textual attribute that stands for the entire text of
`the article. This textual attribute is represented as described
`earlier, as a vector of numbers, which numbers in the
`preferred embodiment include the relative frequencies (TF/
`IDF scores) of word occurrences in this article relative to
`other comparable articles. The server must count the fre(cid:173)
`quency of occurrence of each word in the article in order to
`compute the TF;1DF scores.
`These news articles are then hierarchically clustered in a
`hierarchical cluster tree at step 503, which serves as a
`decision tree for determining which news articles are closest
`to the user's interest. The resulting clusters can be viewed as
`a tree in which the top of the tree includes all target objects
`and branches further down the tree represent divisions of the
`set of target objects into successively smaller subclusters of
`target objects. Each cluster has a cluster profile, so that at
`each node of the tree, the average target profile ( centroid) of
`all target objects stored in the subtree rooted at that node is
`stored. This average of target profiles is mmputed over the
`representation of target profiles as vectors of numeric
`attributes, as described above.
`
`64
`Compare Current Articles' Target Profiles to a User's Search
`Profiles
`The process by which a user employs this apparatus to
`retrieve news articles of interest is illustrated in flow dia(cid:173)
`gram form in FIG. 11. At step 1101, the user logs into the
`data communication network N via their client processor C1
`and activates the news reading program. This is accom(cid:173)
`plished by the user establishing a pseudonymous data com(cid:173)
`munications connection as described above to a proxy server
`10 S2 , which provides front-end access to the data communi(cid:173)
`cation network N. The proxy server S2 maintains a list of
`authorized pseudonyms and their corresponding public keys
`and provides access and billing control. The user has a
`search profile set stored in the local data storage medium on
`15 the proxy server S2 . When the user requests access to "news"
`at step 1102, the profile matching module 203 resident on
`proxy server S2 sequentially considers each search profile Pk
`from the user's search profile set to determine which news
`articles are most likely of interest to the user. The news
`articles were automatically clustered into a hierarchical
`cluster tree at an earlier step so that the determination can be
`made rapidly for each user. The hierarchical cluster tree
`serves as a decision tree for determining which articles'
`target profiles are most similar to search profile pk: the
`search for relevant articles begins at the top of the tree, and
`at each level of the tree the branch or branches are selected
`which have cluster profiles closest to Pk· This process is
`recursively executed until the leaves of the tree are reached,
`identifying individual articles of interest to the user, as
`described in the section "Searching for Target Objects"
`above.
`A variation on this process exploits the fact that many
`users have similar interests. Rather than carry out steps 5-9
`of the above process separately for each search profile of
`each user, it is possible to achieve added efficiency by
`carrying out these steps only once for each group of similar
`search profiles, thereby satisfying many users' needs at
`once. In this variation, the system begins by non(cid:173)
`hierarchically clustering all the search profiles in the search
`profile sets of a large number of users. For each cluster k of
`search profiles, with cluster profile Pk, it uses the method
`described in the section "Searching for Target Objects" to
`locate articles with target profiles similar to Pk· Each located
`article is then identified as of interest to each user who has
`45 a search profile represented in cluster k of search profiles.
`Notice that the above variation attempts to match clusters
`of search profiles with similar clusters of articles. Since this
`is a symmetrical problem, it may instead be given a sym(cid:173)
`metrical solution, as the following more general variation
`50 shows. At some point before the matching process
`commences, all the news articles to be considered are
`clustered into a hierarchical tree, termed the "target profile
`cluster tree," and the search profiles of all users to be
`considered are clustered into a second hierarchical tree,
`55 termed the "search profile cluster tree." The following steps
`serve to find all matches between individual target profiles
`from any target profile cluster tree and individual search
`profiles from any search profile cluster tree: 1. For each child
`subtree S of the root of the search profile cluster tree ( or, let
`60 S be the entire search profile cluster tree if it contains only
`one search profile): 2. Compute the cluster profile P s to be
`the average of all search profiles in subtree S 3. For each
`subcluster ( child subtree) T of the root of the target profile
`cluster tree (or, let T be the entire target profile cluster tree
`65 if it contains only one target profile): 4. Compute the cluster
`profile Pr to be the average of all target profiles in subtree
`T 5. Calculate d(Ps, Pr, the distance between Ps and Pr 6. If
`
`TT0007221
`
`

`

`Case 6:20-cv-00810-ADA Document 73-17 Filed 04/23/21 Page 5 of 21
`
`6,029,195
`
`5
`
`10
`
`65
`d(Ps, Pr)<t, a threshold, 7. If S contains only one search
`profile and T contains only one target profile, declare a
`match between that search profile and that target profile, 8.
`otherwise recurse to step 1 to find all matches between
`search profiles in tree S and target profiles in tree T.
`The threshold used in step 6 is typically an affine function
`or other function of the greater of the cluster variances ( or
`cluster diameters) of Sand T. Whenever a match is declared
`between a search profile and a target profile, the target object
`that contributed the target profile is identified as being of
`interest to the user who contributed the search profile. Notice
`that the process can be applied even when the set of users to
`be considered or the set of target objects to be considered is
`very small. In the case of a single user, the process reduces
`to the method given for identifying articles of interest to a
`single user. In the case of a single target object, the process 15
`constitutes a method for identifying users to whom that
`target object is of interest.
`Present List of Articles to User
`Once the protlle correlation step is completed for a
`selected user or group of users, at step 1104 the profile 20
`processing module 203 stores a list of the identified articles
`for presentation to each user. At a user's request, the profile
`processing system 203 retrieves the generated list of relevant
`articles and presents this list of titles of the selected articles
`to the user, who can then select at step 1105 any article for 25
`viewing. (If no titles are available, then the first sentence(s)
`of each article can be used.) The list of article titles is sorted
`according to the degree of similarity of the article's target
`profile to the most similar search profile in the user's search
`profile set. The resulting sorted list is either transmitted in 30
`real time to the user client processor C1 , if the user is present
`at their client processor C1 , or can be transmitted to a user's
`mailbox, resident on the user's client processor C1 or stored
`within the server S2 for later retrieval by the user; other
`methods of transmission include facsimile transmission of 35
`the printed list or telephone transmission by means of a
`text-to-speech system. The user can then transmit a request
`by computer, facsimile, or telephone to indicate which of the
`identified articles the user wishes to review, if any. The user
`can still access all articles in any information server S4 to 40
`which the user has authorized access, however, those lower
`on the generated list are simply further from the user's
`interests, as determined by the user's search profile set. The
`server S2 retrieves the article from the local data storage
`medium or from an information server S4 and presents the 45
`article one screen at a time to the user's client processor C1 .
`The user can at any time select another article for reading or
`exit the process.
`Monitor Which Articles Are Read
`The user's search profile set generator 202 at step 1107 50
`monitors which articles the user reads, keeping track of how
`many pages of text are viewed by the user, how much time
`is spent viewing the article, and whether all pages of the
`article were viewed. This information can be combined to
`measure the depth of the user's interest in the article, 55
`yielding a passive relevance feedback score, as described
`earlier. Although the exact details depend on the length and
`nature of the articles being searched, a typical formula might
`be: measure of article attractiveness=0.2 if the second page
`is accessed +0.2 if all pages are accessed +0.2 if more than 60
`30 seconds was spent on the article +0.2 if more than one
`minute was spent on the article +0.2 if the minutes spent in
`the article are greater than half the number of pages.
`The computed measure of article attractiveness can then
`be used as a weighting function to adjust the user's search 65
`profile set to thereby more accurately reflect the user's
`dynamically changing interests.
`
`66
`
`Update User Profiles
`Updating of a user's generated search profile set can be
`done at step 1108 using the method described in copending
`U.S. patent application Ser. No. 08/346,425. When an article
`is read, the server S 2 shifts each search profile in the set
`slightly in the direction of the target profiles of those nearby
`articles for which the computed measure of article attrac(cid:173)
`tiveness was high. Given a search protlle with attributes uik
`from a user's search profile set, and a set of J articles
`available with attributes djk (assumed correct for now),
`where I indexes users, j indexes articles, and k indexes
`attributes, user I would be predicted to pick a set of P distinct
`articles to minimize the sum of d(ur, b) over the chosen
`articles j. The user's desired attributes uik and an article's
`attributes djk would be some form of word frequencies such
`as TF/IDF and potentially other attributes such as the source,
`reading level, and length of the article, while d(ui, dj) is the
`distance between these two attribute vectors (profiles) using
`the similarity measure described above. If the user picks a
`different set of P articles than was predicted, the user search
`profile set generation module should try to adjust u and/or d
`to more accurately predict the articles the user selected. In
`particular, Ur and/or t\ should be shifted to increase their
`similarity if user I was predicted not to select article j but did
`select it, and perhaps also to decrease their similarity if user
`I was predicted to select article j but did not. A preferred
`method is to shift u for each wrong prediction that user I will
`not select article j, using the formula: u;k'=u;k-e(u;k djk)
`Here Ur is chosen to be the search profile from user I's
`search profile set that is closest to target profile. If e is
`positive, this adjustment increases the match between user
`I's search profile set and the target profiles of the articles
`user I actually selects, by making u1 closer to dj for the case
`where the algorithm failed to predict an article that the
`viewer selected. The size of e determines how many
`example articles one must see to change the search profile
`substantially. If e is too large, the algorithm becomes
`unstable, but for sufficiently small e, it drives u to its correct
`value. In general, e should be proportional to the measure of
`article attractiveness; for example, it should be relatively
`high if user I spends a long time reading article j. One could
`in theory also use the above formula to decrease the match
`in the case where the algorithm predicted an article that the
`user did not read, by making e negative in that case.
`However, there is no guarantee that u will move in the
`correct direction in that case. One can also shift the attribute
`weights w1 of user I by using a similar algorithm: w;/=(w;k-
`eluik-djkl)IS1c (w;k-eluil,-dj/,1) This is particularly important if
`one is combining word frequencies with other attributes. As
`before, this increases the match if e is positive-for the case
`where the algorithm failed to predict an article that the user
`read, this time by decreasing the weights on those charac-
`teristics for which the user's target profile u1 differs from the
`article's profile dj. Again, the size of e determines how many
`example articles one must see to replace what was originally
`believed. Unlike the procedure for adjusting u, one also
`make use of the fact that the above algorithm decreases the
`match if e is negative-for the case where the algorithm
`predicted an article that the user did not read. The denomi(cid:173)
`nator of the expression prevents weights from shrinking to
`zero over time by renormalizing the modified weights w/ so
`that they sum to one. Both u and w can be adjusted for each
`article accessed. When e is small, as it should be, there is no
`conflict between the two parts of the algorithm. The selected
`user's search profile set is updated at step 1108.
`Purther Applications of the Piltering Technology
`The news clipping service may deliver news articles (or
`advertisements and coupons for purchasables) to off-line
`
`TT0007222
`
`

`

`Case 6:20-cv-00810-ADA Document

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket