PRIORITY CLAIMThis application is a continuation of U.S. application Ser. No. 13/485,077, filed May 31, 2012, now U.S. Pat. No. 8,706,722 issued Apr. 22, 2014, which is a continuation of U.S. application Ser. No. 12/169,942, filed Jul. 9, 2008, now U.S. Pat. No. 8,214,358 issued on Jul. 3, 2012, which is a continuation application of U.S. application Ser. No. 10/897,064, filed Jul. 22, 2004, now U.S. Pat. No. 7,539,674 issued on May 26, 2009, which claims priority under 35 U.S.C. §119(e) to Provisional App. Ser. No. 60/561,142, filed Apr. 8, 2004, each of which are hereby incorporated by reference.
FIELD OF THE INVENTIONThis invention relates to systems and methods for adaptive scheduling of references to documents. The references are included as components of a web page that is made available to a user population.
BACKGROUND OF THE INVENTIONThe hosting of web portals such as Yahoo.com is competitive. Central to such businesses is the attraction of a large number of users to the portal and keeping such users interested in the portal content. Portal search engine quality is one method for attracting users. However, more is needed to keep users at the portal site, as opposed to linking away from the portal to sites identified by search engine results. Although the way in which advertising revenues are computed can vary, such revenues are generally dependent upon not only the number of viewers that are attracted to a portal, but also the length of time such users stay at the portal. Therefore, portals have worked to extend the amount of interesting content that is found directly at the portal in order to retain users at the portal.
One way to attract and keep users at a portal is to provide useful information including, for example, breaking headline news, financial news stories, feature articles, stock quotes and the like. Such information attracts users to the portal and helps to retain such users at the portal for longer periods of time. However, users have unique interests. What one user finds to be noteworthy, another may find uninteresting. To attract a high volume of users, it is necessary to offer a wide array of topics at the portal web site. This puts a strain on the total web page real estate available at the portal. Of course, informational topics can be nested, so that the portal main page includes a series of links to other pages. While this technique is useful, it is somewhat unsatisfactory because it requires the users to spend a considerable amount of time sorting through lists of topics in order to find a topic that interests the user. Thus, when overused, links to other pages causes users to drop off to sites other than the portal, adversely affecting advertising and related revenue.
Thus, to remain competitive, web portals, as well as other entities interested in attracting large volumes of users to their web sites, have devised methods to reduce web site clutter while at the same time attempting to maximize user interest in the content that is offered on the web site. However, such attempts have been problematic. For example, user interests are constantly changing. What is an interesting story on one day to many users may suddenly become a story that enjoys very little user interest the next day. Furthermore, wrong choices can be made. For instance, a web site editor may select a news story that enjoys little to no popular interest.
Given the above background, what is needed beyond the prior art are improved methods for selecting topics to be displayed on a web site. The present invention addresses these and other shortcomings in the known art.
SUMMARY OF THE INVENTIONThe present invention provides systems and methods for gauging user interest in topics such as news articles. In one embodiment, a panel of candidate documents is gathered by an editor. To reduce screen clutter, only references to a subset of the panel of documents is displayed on a web site at any given time. In fact, each time a user opens the web site, a different subset of the panel of documents is selected and references to the selected documents are displayed. Each candidate document is assigned a weight. Candidate documents are included in a displayed subset of documents as a function of their weight. More heavily weighted documents will be selected for display more frequently than less heavily weighted documents. The number of times users select each document is tracked over a look back period. Documents that have been frequently selected by users are reassigned heavy weights and documents that have been infrequently chosen are assigned lighter weights. In this way, screen clutter is avoided, while, at the same time, user feedback is used to reinforce the weights of documents that are of interest to users.
Other embodiments of the invention provide related systems and methods for gauging user interest. For example, in one embodiment, a web page promotes a feature article with a teaser. The teaser can provide, for example, a digital picture associated with the feature article, the title of the feature article, the first paragraph of the feature article, or any other information that will convey the general or specific nature of the feature article. Such a web page can include a broad array of other components in addition to the teasers that are each designed to interest the user in selected topics. In the invention, there can be a single teaser or a plurality of teasers for the same feature article, with each teaser conveying information about the feature article. In some embodiments, each time a viewer views a designated web page associated with the portal, a teaser is selected from the plurality of teasers with a probability proportional to a weight associated with the teaser. Periodically, a determination is made as to which teasers are successful in causing the user to select the article associated with the teaser. Those teasers that are successful are up-weighted relative to unsuccessful teasers.
In still another embodiment of the invention, a collection of ideas relating to a central topic are collected. An example of such a collection is news articles about topics of general interest (e.g., investment ideas). To reduce screen clutter and to free up screen real estate for other web page components, only references to a subset of the collection of ideas is displayed on the web page. Periodically, the percentage of time that a reference to each respective idea is displayed is compared to the percentage of times users actually select (hit) the respective idea. An idea that received a percentage of hits that was larger than the percentage of time that the reference to the idea was displayed during a look back period is up-weighted so that it will be displayed more frequently in the future. An idea that received a percentage of hits that was less than the percentage of time that the reference to the idea was displayed during a look back period is down-weighted so that it will be displayed less frequently in the future.
One embodiment of the present invention comprises a computer program product for use in conjunction with a computer. The computer program product comprises a computer readable storage medium and a computer program mechanism embedded therein. The computer program mechanism comprises a document data structure and a document selection module. The document data structure comprises a plurality of documents. Each respective document in the plurality of documents includes (i) a corresponding designation of a number of times the respective document was requested in a given time period and (ii) a selection weight. The document selection module includes a set of instructions for each respective document in the plurality of documents. The set of instructions for a respective document includes instructions for monitoring, updating, and adjusting. The instructions for monitoring and updating track the number of times the respective document was requested in the given time period. The instructions for adjusting adjust the selection weight corresponding to the respective document based upon the number of times the respective document was requested in a given time period relative to a total number of document requests during the given time period.
Another aspect of the invention provides a computer program product for use in conjunction with a computer. The computer program product comprises a computer readable storage medium and a computer program mechanism embedded therein. The computer program mechanism comprises a document data structure and a document selection module. The document data structure comprises a plurality of documents, where each respective document in the plurality of documents includes (i) a corresponding first designation of a number of times the respective document was requested in a given time period by a first class of users, (ii) a corresponding second designation of a number of times the respective document was requested in the given time period by a second class of users, (iii) a corresponding first selection weight, and (vi) a corresponding second selection weight. The document selection module includes a set of instructions for each respective document in the plurality of documents. The set of instructions for a respective document includes instructions for adjusting the first selection weight corresponding to the respective document based upon the number of times the respective document was requested by the first class of users relative to a total number of document requests by the first class of users during a given time period. The set of instructions for a respective document further includes instructions for adjusting the second selection weight corresponding to the respective document based upon the number of times the respective document was requested by the second class of users relative to a total number of document requests by the second class of users during a given time period.
Still another aspect of the invention is a method of providing documents of interest to a user on a host web page. A request to view an instance of the host web page is received. A subset of documents from a plurality of documents is selected based on a selection weight associated with each respective document in the plurality of documents. A description of each document in the subset of documents is included as component in the host web page. Monitoring is performed to determine which documents in the subset of documents referenced by the host web page are selected by a user. These steps are repeated for each request to view an instance of the host web page that is received during a given time period. Once the given time period has elapsed, the selection weight associated with each respective document in the plurality of documents is adjusted based upon a number of times the respective document was selected by a user relative to the total number of times a document in the plurality of documents was selected by a user during the given time period.
Yet another aspect of the invention is a method of providing documents of interest to a user that is reviewing a host web page. A request to view an instance of the host web page by a user in a first user class is received. Responsive to this request, a subset of documents from a plurality of documents is selected based on a user class specific selection weight associated with each respective document in the plurality of documents. A description of each document in the subset of documents is included in the host web page. A determination is made as to which documents in the subset of documents referenced by the host web page are selected by users in the first user class. These steps are repeated for each request to view an instance of the host web page that is received during a given time period. Then, the user class specific selection weight associated with the respective document is adjusted based upon a number of times the respective document was selected by users in the first user class relative to a total number of times any document in the plurality of documents was selected by users in the first user class.
Still another aspect of the invention provides a computer program product for use in conjunction with a computer. The computer program product comprises a computer readable storage medium and a computer program mechanism embedded therein. The computer program mechanism comprises a teaser data structure and a teaser selection module. The teaser data structure comprises a single teaser or a plurality of teasers for a document. Each respective teaser in the plurality of teasers includes (i) a corresponding designation of a number of times the document was requested in a given time period while the respective teaser was being displayed on a host web site, and (ii) a corresponding selection weight. The teaser selection module includes, for each respective teaser in the plurality of teasers, instructions for monitoring, instructions for updating, and instructions for adjusting. The instructions for monitoring and updating monitor a number of times the document was requested in the given time period while the respective teaser was being displayed on the host web site and update the teaser data structure to include a record of this number of times. The instructions for adjusting adjust the selection weight corresponding to the teaser based upon the number of times the document was requested by users while the teaser was being displayed on the host web site relative to the total number of times the document was requested by users in the given time period.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a computer system capable of scheduling the appearance of references to topics of interest on a web site in accordance with one embodiment of the present invention.
FIG. 2 illustrates the total number of requests for news articles during discrete time periods, median number of total requests for news articles during comparable discrete time periods (e.g., same time period on all Fridays), and median number of total requests for news articles on all corresponding time periods (e.g., same time period on all days).
FIG. 3 illustrates the number of requests for specific news articles during discrete time periods.
FIG. 4 illustrates processing steps that are taken to assign selection weights to news articles in accordance with one embodiment of the present invention.
FIG. 5 illustrates a user profile in accordance with one embodiment of the present invention.
FIG. 6 illustrates a data structure for tracking the number of article requests during a look back period as a function of user feature (e.g., geography) in accordance with one embodiment of the present invention.
FIG. 7 illustrates a data structure for storing teasers and teaser selection weights in accordance with one embodiment of the present invention.
FIG. 8 illustrates processing steps that are taken to assign selection weights to article teasers in accordance with one embodiment of the present invention.
FIG. 9 illustrates a data structure for storing topics and topic selection weights in accordance with an embodiment of the present invention.
FIG. 10 illustrates processing steps that are taken to assign selection weights to topics in accordance with one embodiment of the present invention.
FIG. 11 illustrates the weight currently assigned to each news article in a set of news articles as well as article popularity.
Like reference numerals refer to corresponding parts throughout the several views of the drawings.
DETAILED DESCRIPTION OF THE DRAWINGS AND THE PRESENTLY PREFERRED EMBODIMENTSThe present invention provides systems and methods for identifying documents of interest to users. Typically, such documents are news and editorial articles, advertisements, teaser content for features of a web site, and the like.
System OverviewAsystem10 that supports functionality of the present invention is described in conjunction withFIG. 1.System10 preferably includes:
central processing unit (CPU)22 (e.g., a full CPU such as an Intel pentium processor, an application-specific integrated circuit, a field-programmable gate array, or the like);
a mainnon-volatile storage unit14, for example a hard disk drive, for storing software and data, thestorage unit14 controlled bystorage controller12;
asystem memory36, preferably high speed random-access memory (RAM), for storing system control programs, data, and application programs, including programs and data loaded fromnon-volatile storage unit14;system memory36 may also include read-only memory (ROM);
auser interface32, including one or more input devices (e.g.,keyboard28, mouse) and adisplay26 or other output device;
communications circuitry20 for connecting to any wired or wireless communication network such as theInternet34;
apower source24;
aninternal bus30 for interconnecting the aforementioned elements ofsystem10.
Operation ofsystem10 is controlled primarily by operatingsystem40, which is executed bycentral processing unit22.Operating system40 can be stored insystem memory36. In a typical implementation,system memory36 includes:
operating system40;
file system42 for controlling access to the various files and data structures used by the present invention;
ahost web page70 for displaying links to various documents of interest;
adocument selection module44 for determining which document links (e.g., header, link, teaser, etc.) to display onhost web page70;
adocument database50 for storing documents for possible display on host web page70 (and/or links to such documents);
adocument database50 for storing documents for possible display on host web page70 (and/or headers, links, or teasers for such documents);
an optionalprofile management module60 for managinguser profiles64; and
anoptional profile database62 for storing user profiles64.
In a typical embodiment ofsystem10,host web page70,document selection module44,document database50, optionalprofile management module60, andoptional profile database62 are stored on the same computer as illustrated inFIG. 1. However in embodiments not illustrated,system10 in fact comprises multiple computers, with host web page70 (and the software that serves host web page70),document selection module44,document database50, optionalprofile management module60 andprofile database62 partitioned onto any number of computers that are addressable with respect to each other across a computer network.
As illustrated inFIG. 1,system10 includes adocument database50.Document database50 comprises any form of data storage system, including but not limited to, a flat file, a relational database (SQL), and an on-line analytical processing (OLAP) database (MDX and/or variants thereof). In some specific embodiments,document database50 is a hierarchical OLAP cube. In some specific embodiments,document database50 comprises a star schema that is not stored as a cube but has dimension tables that define hierarchy. Still further, in some embodiments,document database50 has hierarchy that is not explicitly broken out in the underlying database or database schema (e.g., dimension tables that are not hierarchically arranged).
As further illustrated inFIG. 1,system10 optionally includes auser profile database52. Likedocument database50,user profile database62 comprises any form of data storage system, including but not limited to, a flat file, a relational database (SQL), and an on-line analytical processing (OLAP) database (MDX and/or variants thereof). In some specific embodiments,user profile database62 is a hierarchical OLAP cube. In some specific embodiments,user profile database62 comprises a star schema that is not stored as a cube but has dimension tables that define hierarchy. Still further, in some embodiments,user profile database62 has hierarchy that is not explicitly broken out in the underlying database or database schema (e.g., dimension tables that are not hierarchically arranged).
The embodiment illustrated inFIG. 1 is that of a computer-based implementation of the present invention. In some embodiments in accordance withFIG. 1,document selection module44 and/orprofile management module62 is implemented as a web-based application that can be run in a browser such as Windows Explorer or Netscape Navigator. In some embodiments,document selection module44 and/orprofile management module62 are implemented as independent programs that can be run directly throughoperating system40.
Tracking Document RequestsLine202 of chart200 (FIG. 2) discloses the total number of document requested from ahost web page70 at discrete time periods (predetermined time periods) during a given Friday. For example, chart200 shows how there are more document requests at 9:00 A.M. then at 2:00 A.M. For comparative purposes, line204 ofchart200 shows the median number of document requests that were made during comparable periods on other Fridays. Further, lines206 ofchart200 shows the median number of document requests that were made during comparable periods on all days. For example, line202 ofchart200 indicates that some 116,193 document requests were made between 9:00 A.M. and 10:00 A.M. on a particular Friday represented by the graph. Line204 ofchart200 indicates that, historically, some 119,230 document requests are made between 9:00 A.M. and 10:00 A.M. on Fridays. Next, line206 ofchart200 indicates that, historically, 118,999 documents are requested between 9:00 A.M. and 10:00 A.M. Advantageously, in accordance with the methods of the present invention, the information disclosed inFIG. 2 is used to determine which subset of documents links in a plurality of documents links should be displayed on thehost web page70.
FIG. 1 andFIG. 3 illustrate a portion of adocument database50 in accordance with an embodiment of the present invention.Document database50 includes a number ofdocuments52. In typical embodiments, eachdocument52 is a news article, an editorial article, an investing tip, an advertisement, or some other newsworthy content. In some embodiments, eachdocument52 is a linked individual web page with optional scrolling and non-scrolling areas, text, and optional images or other media. However, the present invention is not limited to such documents. More broadly, a document is an electronic data compilation of any kind. Typically, when a link onhost web page70 is selected by a user, the user browser is redirected to the document corresponding to the link and the document is displayed as a web page. However, this is not always the case. In some embodiments, when a link onhost web page70 is selected by a user, the document corresponding to the link is loaded as a component in thehost web page70. In fact, in some embodiments, a document can be a program, written in compute code such as Java that is executed as a component withinhost web page70.
FIG. 3 illustrates the concept of tracking links to documents. InFIG. 3, the titles of three news articles are depicted. Here, the titles of the three news articles serves as links to the news articles. Each title is displayed on a host web page70 (FIG. 1). When a user selects a title they are redirected to the corresponding news article. As such, each news article is considered adocument52. Thedatabase50 illustrated inFIG. 3 also shows the number of times each of the news articles is requested from ahost web page70. For example, thedatabase50 shows that the news article “Can the Dow accurately predict the market?” was selected by users between 8:00 A.M. and 9:00 A.M. a total of 2,228 times. The value 2,228 is stored in thefield54 that corresponds to this news article indatabase50.
In the embodiment ofdatabase50 illustrated inFIG. 3, the selection weight56 of each news article is shown. For example, the news article “Can the Dow accurately . . . ”52-1 has a selection weight56-1 of eleven percent. This means that the title or some other indicia of news article52-1 will be selected for display onhost web page70 eleven percent of the time. News article “No Agreement to outsourcing?”52-2 has a selection weight56-2 of thirteen percent. This means that the title or some other indicia of news article52-2 will be selected for display onhost web page70 thirteen percent of the time.
Automated Up-Weighting and Down-Weighting MethodologiesReferring toFIG. 4, a method for automatically adjusting selection weights56 assigned to documents indocument database50 is disclosed.
Step404. Instep404 of the method, a request to view ahost web page70 is made. An example of a host web page is finance.yahoo.com. In general,host web page70 is any web page that provides links to a subset of a plurality of documents indatabase50. In typical embodiments,host web page70 includes other components as well, such as images, links to documents other than the documents found indocument database50, and active components such as a query field. Users in a network addressable bysystem10 requesthost web page70 either by selecting another web page that links to hostweb page70 or by directly specifying the URL that corresponds to hostweb page70 in their Internet browsers. Examples of Internet browsers include but are not limited to Internet Explorer (Redmond, Wash.) and Netscape Navigator (Time Warner Inc., New York, N.Y.).
In typical implementations of system10 (FIG. 1), hundreds to thousands of users requesthost web page70 during a predetermined time interval (e.g., five minutes). In other words, in typical embodiments, there are hundreds, thousands, tens of thousands, or event larger numbers ofhost web page70 page views every hour. Each such page view initiates a new instance ofstep404.
For each page view, a subset of the documents indatabase50 is selected. For example, in some embodiments, there are between 1 and 5, between 4 and 11, between 9 and 16 or more than 15documents52 indatabase50. Instep404, some subset of thesedocuments52 is selected. In some embodiments, onedocument52 is selected fromdocument database50 in an instance ofstep404. In some embodiments two, three, four, five, six, or more than sixdocuments52 are selected in an instance ofstep404. In some embodiments, the number of documents to be selected for a subset of documents instep404 is stored asfield66 in a data structure that is accessible to document selection module44 (FIG. 1). Eachdocument52 is selected based upon a selection weight56 associated with the document. In one embodiment, documents52 that have higher corresponding selection weights56 are selected more frequently thandocuments52 that have lower corresponding selection weights56.
An example illustrates an embodiment of the method. Consider the case where there are fivedocuments52 indocument database50 and that, in any given instance ofstep404, a subset of documents consisting of twodocuments52 fromdocument database50 is selected. Each of the five documents have selection weights as shown in Table 1:
| TABLE 1 |
|
| Exemplary document database 50 atstep 404 |
| Selection Weight (56) | |
| Document (52) | [Percentile] | Indicia/Link |
|
| 52-1 | 50 | Can the Dow predict . . . ? |
| 52-2 | 10 | No agreements |
| 52-3 | 10 | Is it a bull market? |
| 52-4 | 10 | Title ofdocument 4 |
| 52-5 | 10 | Title ofdocument 5 |
|
Thus, the probability that document
52-
1 will be selected for inclusion in a subset of documents in any given instance of
step404 is five times higher than the probability that any one of the other documents will be selected for inclusion in the subset of documents.
The title of eachdocument52 in the selected subset of documents is displayed on thehost web page70. For example, consider the case in which documents52-1 and52-3 were selected for inclusion in the subset of documents in an instance ofstep404. Then, the title of document52-1 (“Can the Dow predict . . . ?”) and the title of document52-3 (“Is it a bull market?”) is displayed onhost web page70. In a preferred embodiment, when the user refresheshost web page70, a whole other instance ofstep404 is initiated in which a new subset ofdocuments52 is selected fromdocument database50 for display onhost web page70 based on selection weights56. Thus, in the example above, refreshinghost web page70 can cause documents52-1 and52-3 to be replaced by any pair ofdocuments52 from document database50 (e.g., documents52-1 and52-5).
In one embodiment, the title of eachdocument52 in the subset of documents is displayed in an instance ofhost web page70. Then, when the user clicks or otherwise selects the title of adocument52 displayed onhost web page70, the user is redirected to the uniform resource location (URL) where thedocument52 can be found. In some embodiments, the URL for eachdocument52 is stored indocument database52 whereas the document itself is stored on a device (e.g., computer) that is addressable bysystem10. In other embodiments, eachdocument52 is wholly stored withindocument database50. In some embodiments, rather than, or in addition to, displaying a document title, a digital image associated with the document is displayed inhost web page70 when the document is selected for display onweb page70.
Step406. Instep406, the number of times eachdocument52 indocument database52 is selected for viewing is recorded. In one embodiment,step406 is implemented by usingcounters54 indocument database50. Eachrespective document52 indocument database50 includes acorresponding counter54 that is used to count the number of times therespective document52 was selected during a predetermined time interval (look back period, e.g., five minutes). Further, in some embodiments, such as those illustrated inFIG. 2, historical data beyond the look back period is tracked for evaluation purposes. To illustrate, consider the case in which the look back period is five minutes. Exemplary counters for the data in Table 1 are illustrated in Table 2:
| TABLE 2 |
|
| Exemplary document database 50 atstep 406 |
| Selection | | |
| Document | Weight (56) | | Number of |
| (52) | [Percentile] | Indicia/Link | hits (54) |
|
| 52-1 | 50 | Can the Dow predict . . . ? | 350 |
| 52-2 | 10 | Noagreements | 100 |
| 52-3 | 10 | Is it a bull market? | 80 |
| 52-4 | 10 | Title ofdocument 4 | 200 |
| 52-5 | 10 | Title ofdocument 5 | 0 |
|
Table 2 shows that, although a link to document
52-
4 has the same probability of appearing on
host web page70 as documents
52-
2,
52-
3, and
52-
5 during the look back period, the document has received considerably more page hits than the other documents. In fact, the number of page hits that document
52-
4 has received is almost comparable to the number of page hits that document
52-
1 has received, even though a reference (link) to document
52-
1 appears on instances of
host web page70 fives times more frequently than does a link for document
52-
4.
Step408. Instep408, a determination is made as to whether a predetermined time interval, referred to herein as a look back period, has elapsed. In some embodiments, the look back period is a second, a minute, five minutes, one half hour, an hour. In other embodiments, the look back period is a predetermined value between one second and five hours. If the look back period has not elapsed (408—No) process control returns to step404 where host web page hits70 are processed in the manner described insteps404 and406 above.
In addition to the expiration of a predetermined time period, step408 can be triggered (caused to enter thestate408—Yes) when an editor decides to add or remove a document fromdocument database50. In preferred embodiments, such events initiate a recomputation of theselection weights54 of eachdocument54 that remains in thedatabase50 after the editor has added and/or removed documents.
In some embodiments, the removal or addition of adocument52 to documentdatabase52 is done manually by an editor when the editor determines that such an adjustment to the database needs to be made. In other embodiments, the editor is a computer program module that adds and deletes documents to documentdatabase52 in accordance with some predetermined algorithm. In practice, deletion of adocument52 indocument database50 can involve setting a flag (not shown) indatabase50 to a “do not use setting,” setting the selection weight of thedocument52 to zero, or deleting thedocument52 fromdocument database50 altogether.
Step410. When an editor has deleteddocument52 fromdatabase50 and/or the look back period has elapsed (412—Yes), the selection weight56 for eachdocument52 is recomputed. In a preferred embodiment, eachrespective document52 is assigned a new selection weight56 based on the number of hits to therespective document52 during the look back period. For example, consider the case in which the number of hits to eachrespective document52 is given by Table 2 above. Then, instep410, the new selection weights for thedocuments52 will be as given in Table 3.
| TABLE 3 |
|
| Exemplary document database 50 atstep 410 |
| | Selection | | |
| Document | Weight (56) | | Number of |
| (52) | [Percentile] | Indicia/Link | hits (54) |
| |
| 52-1 | 350/730 | Can the Dow | 350 |
| | | predict . . . ? |
| 52-2 | 100/730 | Noagreements | 100 |
| 52-3 | 80/730 | Is it a bull market? | 80 |
| 52-4 | 200/730 | Title ofdocument 4 | 200 |
| 52-5 | 0/730 | Title ofdocument 5 | 0 |
| |
In some embodiments, counters
54 are reset in
step410 to zero.
Step412. Instep412, a determination is made as to whether the editor wishes to include anew document54 indocument database50. If so (412—Yes) process control passes to step414. If not, process control passes to step408 where each request forhost web page70 is processed as described insteps404 through408 above.
Step414. Instep414,new documents54 added to documentdatabase50 are assigned corresponding selection weights56. Further, the selection weights56 oforiginal documents54 indocument database50 are adjusted. In preferred embodiments, eachnew document54 is assigned a grace period selection weight48 (FIG. 1) for agrace period46. In one embodiment,grace period46 is one look back period. In other embodiments,grace period46 is two or more look back periods. In one embodiment of the present invention, the graceperiod selection weight48 is proportional to 1/N, where N is the number ofdocuments52 indocument database50 after the new document has been added. For example, consider the case in which an editor decides to add a document52-6 to documentdatabase50 when the database is in the state illustrated in Table 4. In such preferred embodiments, document52-6 is assigned a selection weight56 that is ⅙. Moreover, each of the original document selection weights56 indocument database50 are reduced by [(N-1)/N] percent, where N is six. Thus, upon completion ofstep414 in this example, the status ofdocument database50 is given by Table 4.
| TABLE 4 |
|
| Exemplary document database 50 atstep 410 |
| Selection | | Number of |
| Document | Weight (56) | | hits (54) |
| (52) | [Percentile] | Indicia/Link | (reset to zero) |
|
| 52-1 | (5/6) * (350/730) | Can the Dow predict | 0 |
| | . . . ? |
| 52-2 | (5/6) * (100/730) | Noagreements | 0 |
| 52-3 | (5/6) * (80/730) | Is it a bull market? | 0 |
| 52-4 | (5/6) * (200/730) | Title ofdocument 4 | 0 |
| 52-5 | (5/6) * (0/730) | Title ofdocument 5 | 0 |
| 52-6 | 1/6 | Title ofdocument 6 | 0 |
|
Class Designation in Automated Up-Weighting and Down-Weighting MethodologiesIn some embodiments of the present invention,profile management module60 is used to determine characteristics about users that requesthost web page70. In preferred embodiments,host web page70 is available to both users that have aprofile64 insystem10 as well as users that have no such profile. In such embodiments, the determination of characteristics about users that request ahost web page70 generally applies to only those users that have auser profile64 inuser profile database62. Methods such as those disclosed with reference toFIG. 4 are implemented for those users that do not have a user profile.
The characteristics in the user profiles64 of users requestinghost web page70 are used to stratify the user population into classes. Then, a different set of selection weights56 is refined for each class of users based on the popularity ofdocuments54 within the class. In one example, the characteristic that is used to stratify the user population into classes is geography. Each user is classified into a different geographical region (e.g., state) based on the correspondence address of the user. Then, eachdocument52 is assigned a set of selection weights56, one for each geographical region. In the case where the geographical region is a state, there will be52 selection weights56 for eachdocument52 indocument database50, one for each state. Then, each respective selection weight56 for adocument54 is refined based upon the popularity ofdocuments52 with users in the user class corresponding to the respective selection weight. Such refinement proceeds in accordance with the steps outlined inFIG. 4.
Referring again toFIG. 5, anexemplary user profile62 comprises a plurality ofpersonal profiles64. Each respectivepersonal profile64 in the plurality of personal profiles inprofile database62 uniquely represents a user ofsystem10. Typically, eachpersonal profile64 includes personal information about the user corresponding to the profile, including the user's name500-x-1, mailing address500-x-2, country of residence500-x-3, and E-mail address500-x-15. In some embodiments of the present invention, apersonal profile64 indatabase62 includes personal information relating to the user corresponding to thepersonal profile64. Such information can include, but is not limited to, gender500-x-4, date of birth500-x-5, occupation500-x-6, any interests or hobbies500-x-7 of the user, primary language500-x-8 spoken by the user, political affiliation500-x-9, education level500-x-10, profession500-x-11, income level500-x-12, the academic background500-x-13, and/or how often the user uses system10 (frequency of use500-x-14).
One embodiment of the present invention that makes use of user class designation comprises a computer program product for use in conjunction with a computer (e.g., system10). The computer program product comprises a computer readable storage medium and a computer program mechanism embedded therein. The computer program product comprises a document data structure (e.g., document database50) comprising a plurality of documents. Eachrespective document52 in the plurality of documents includes at least a corresponding (i)first designation54 of a number of times therespective document52 was requested in a predetermined time period by a first class of users and (ii)second designation54 of a number of times therespective document52 was requested in the predetermined time period by a second class of users. Further, eachrespective document52 in the plurality of documents includes at least (i) a corresponding first selection weight56 and (ii) a corresponding second selection weight56 corresponding to therespective document52. Further, in such embodiments,document selection module44 includes, for eachrespective document52 in the plurality of documents (i) instructions for adjusting the first selection weight56 corresponding to therespective document52 based upon the number oftimes54 the respective document was requested by the first class of users relative to a total number of document requests by the first class of users during a predetermined time period and (ii) instructions for adjusting the second selection weight56 corresponding to therespective document52 based upon the number of times the respective document was requested by the second class of users relative to a total number of document requests by the second class of users during a predetermined time period. In some embodiments, each user in the first class of users is associated with a first geographical region and each user in the second class of users is associated with a second geographical region. In some embodiments, each user in the first class of users is a first gender and each user in the second class of users is a second gender. In some embodiments, each user in the first class of users is in a first age range and each user in the second class of users is in a second age range. Still further, in some embodiments, each user in the first class of users speaks a first primary language and each user in the second class of users speaks a second primary language. In yet another embodiment, each user in the first class of users is in a first income bracket and each user in the second class of users is in a second income bracket.
Exemplary embodiments that include a first and second class of users have been described. However, the present invention encompasses architectures where the number of users classes is extended to much larger numbers, as in the case where U.S. citizens are classified by state. For instance, there can be between 1 and 5 user classes, between 4 and 10 users classes, between 9 and 21 user classes, more than 20 user classes, or more than fifty user classes.
FIG. 6 illustrates adocument database50 that supports class designation. For instance, for document52-1, there is a field54-1-1 that tracks the number of hits (document52-1 page requests) in the look back period by users having feature 1 (e.g., a first geographical association), the present weight56-1-1 of document52-1 forusers having feature 1, a number of hits (document52-1 page requests) in the look back period by users having feature 2 (e.g., a second geographical association) and so forth through feature N, where N is any number. As illustrated inFIG. 6, document 2 (52-2) through M also have such corresponding fields.
FIG. 6 further illustrates how, in some embodiments of the present invention, the document indicia (e.g., document title) for adocument52 that is displayed onhost web page70 when the document is selected for display onpage70 can potentially be different for each user class. For example, one picture or title can be used fordocument52 when a user in a first class requests the document and another picture or title can be used fordocument52 when a user in a second class requests the document. To support such functionality, for eachdocument52, there is a different document header602 for each class of users as illustrated inFIG. 6. This document header includes a link to the corresponding document.
Teaser Selection for a Feature ArticleFIGS. 7 and 8 detail another novel application of the present invention. In order to effectively advertise a feature article on ahost web page70 without taking up too much of the available page real estate, a teaser can be used. The teaser can include the title of the feature article and/or a digital image associated with the article, or any other indicia relating to the feature article. For example, if the feature article concerns a celebrity, a recent picture of the celebrity can be shown in the teaser along with an attention grabbing synopsis of the feature article (e.g. “celebrity X arrested for drunk driving”). In the present invention, there can be a plurality of teasers for the feature article. Each time thehost web page70 is requested, one of the plurality of teasers is included in the web page based on a function of the selection weight of the teaser. In one embodiment, the higher the selection weight of a given teaser, the more likely it is that the given teaser will be selected for use in thehost web page70 when thepage70 is requested. When a user clicks on (or otherwise selects) the teaser that is on thehost web page70, the users is taken to the Uniform Resource Location (URL) where the article can be found. As in the case ofdocument database50, the feature article can be found in a database that houses the teasers, or in any data structure that is addressable bysystem10.
FIG. 7 illustrates anexemplary data structure700 that is used to house teasers in accordance with one embodiment of the present invention. In some cases,structure700 is housed inmemory36 ofsystem10.Data structure700 includes a plurality ofteasers704 for a feature article (or some other form of document). Further,structure700 includes theURL702 where the feature article can be found. For eachteaser704 there is a data construct (e.g., a field)706 that tracks the number of times that the teaser was selected by a user during a look back period and the article viewed. Furthermore, for eachteaser704, there is a data construct708 that stores the selection weight of the corresponding teaser. For example, weight708-1 tracks the selection weight of teaser704-1. In one embodiment, the higher weight708-1, the higher the percentage of time teaser704-1 will be selected for inclusion in an instance ofhost web page70. In some embodiments, there are twoteasers704, threeteasers704, fourteasers704, or more than fiveteasers704 indata structure700.
FIG. 8 illustrates a method of usingdata structure700. Instep802, a user requests to view ahost web page70. Accordingly,host web page70 is dynamically constructed from the various components that make up thepage70. In the method illustrated inFIG. 8, one of the components that make upweb page70 is ateaser704 for a feature article. In step802 ateaser704 is selected fromrecord700 based on teaser weight708.
Instep804, the number of times eachteaser704 is used by a user to select the feature article during the look back period is recorded in fields706 ofdata structure700.Steps802 and804 continue until a loop back interval has elapsed or an editor adds or removes ateaser704 from data structure700 (step806—Yes). When thecondition806—Yes arises, eachrespective teaser704 remaining inregister700 is assigned a new weight708 based on the number of times a user selected therespective teaser704 relative to the total number of times any ofteaser704 remaining inregister700 were selected by a user in the look back period (step808). For example, in accordance with one embodiment of the invention, if teaser704-1 was selected100 times during a given look back period, teaser704-2 was selected 400 times during the same look back period and the only other teaser indata structure700,704-3 is removed by an editor, the new weight708-1 for teaser704-1 will be 100/500 and the new weight708—for teaser704-2 will be 400/500.
Instep810, a determination is made as to whether the editor wishes to add a teaser. If so (810—Yes), process control passes to step812 where the new teaser is assigned a grace period weight of 1/N, where N is the number ofteasers704 indata structure700 after the new teaser has been added. Accordingly, all other teasers are reduced by [(N-1)/N] percent.
Semi-Automated Selection Weight Adjustment-Case Study: Investment IdeasIn some applications, one or more editors use the document popularity results such as those illustrated inFIGS. 2 and 3 to manually revise document selection weights.FIGS. 9 and 10 illustrate. Here, the documents are investment ideas. However, the techniques described in this section can be used for any form of document. Referring toFIG. 9, adata structure900 includes aheader904 for each investment idea. In some embodiments, eachheader904 includes HTML and/or other forms of content that is displayed onhost web page70 when the investment idea corresponding to the header is selected for inclusion in the web page. In some embodiments,header904 includes a URL or other form of pointer to the corresponding investment idea. In some embodiments (not shown) each investment idea is stored indata structure900.
Data structure900 also includes acounter906 for each respective investment idea that tracks the number or percentage of times an investment idea is selected by users during a periodic interval (e.g., look back period). In some embodiments, counters906 are extended to record historical access data such as the data illustrated inFIG. 2.Data structure900 further includes aselection weight908 that dictates how often the investment idea corresponding to the selection weight is to be selected for inclusion in an instance ofhost web page70.
FIG. 10 illustrates a method that shows howdata structure900 can be used to provide investment ideas that are of maximal interest to a user. A user requests to view ahost web page70. Accordingly,host web page70 is dynamically constructed from the various components that make up thepage70. In the method illustrated inFIG. 10, one of the components that make upweb page70 is references (headers) to a collection of investment ideas. Instep1004 one or more investment ideas is selected fromrecord900 based on investmentidea selection weight908.
Instep1006, the number of times each investment idea is selected by a user during a look back period is recorded in fields706 ofdata structure700. In some embodiments such numbers are tracked in percentage form rather than absolute form.Steps1004 and1006 continue until a loop back interval has elapsed or an editor adds or removes an investment idea to data structure900 (step1008—Yes).
Whenstep1008—Yes arises, each respective investment idea remaining inregister700 can be assigned anew weight908 in accordance withsteps1010 through1018. For each respective investment idea steps1012 through1018 are performed. In step1012 a determination is made as to whether the selection weight for an investment idea matches the percentage of times that the investment idea was selected by a users. To make such a determination, investment weights are expressed in percentage form. Table 5 illustrates.
| TABLE 5 |
|
| State information atsteps 1010/1012 |
| | Number of times selected |
| Investment Idea | Selection Weight 708 | during look back periods |
| (No.) | [Percentile] | expressed inpercentile form |
|
Table 5 illustrates how
investment idea number 1 was weighted such that it would be selected for inclusion in an instance of
host web page70 fifty percent of the time. However, during the look back period,
investment idea number 1 was selected by users from
host web page70 sixty percent of the time. This suggests that the selection weight for
investment idea number 1 should be increased to sixty percent (
1012—Yes,
1014). In contrast, investment idea number five has a selection weight percentile of 10 percent but only receives six percent of the investment idea requests during a given time period. This suggests that the selection weight for investment idea number five should be decreased (
1014—No,
1016).
FIG. 11 provides another illustration of the state information that can be used by an editor to upweight or downweight theselection weights908 for investment ideas. In addition to showingselection weights908 in absolute and percentile form,FIG. 11 illustrates the frequency at which various investment ideas are selected, which is one way to track the percentage of times each investment idea has been selected by users during the look back period. The chart inFIG. 11 also shows how long each investment idea has been posted indata structure900. As in other embodiments described above, the editor can add investment ideas todata structure900 with a grace period selection weight and/or remove investment ideas fromdata structure900. In some embodiments, theselection weight908 of an investment idea is automatically progressively down-weighted the longer the article is available instructure900.
CONCLUSIONMany modifications and variations of this invention can be made without departing from its spirit and scope, as will be apparent to those skilled in the art. Reference has been made to certain computer systems. However, the present invention contemplates implementation of the inventive methods on any form of technology, whether currently existing or to be developed in the future, that implements electronic social networking. The specific embodiments described herein are offered by way of example only, and the invention is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled.