# Patent

## Title
Promoting learned discourse in online media

## Abstract

In one example, a method for promoting learned discourse in online forums includes posting forum content on a forum server and providing access to users to the content through an I/O module. The method further includes receiving a comment from a user and analyzing the comment from the user to produce an a priori score for the comment. A portable certificate of status is accepted from the user and used to produce a posteriori score for the comment. A system for promoting learned discourse in online forums is also disclosed.

## Background
RELATED DOCUMENTS
The present application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Application No. 61/732,164 by Stephen B. Heppe et al., filed on Nov. 30, 2012, and entitled “Promoting Learned Discourse in Online Media,” which application is hereby incorporated by reference in its entirety.


BACKGROUND
Many web sites provide a method for public feedback (“posts”) regarding their content. Examples include the many news organizations that allow readers to post comments on online news articles and features. The ability of individual readers to post public comments is generally viewed as a positive feature, contributing to public discourse, enabling the correction of errors, allowing members of the community to express their opinions, and also contributing to a general feeling of “engagement” by members of the community. It has been suggested that people participate in online posting activity (both reading and writing) because they seek information, personal identity, integration and social interaction, or entertainment (see, for example, Nicholas Diakopoulos and Mor Naaman, 2011). Unfortunately, some of the posts may be considered to have relatively low “quality” by several measures. For example, they may contain profanity or hate speech, lack relevance to the associated article, lack factual accuracy, or lack uniqueness. News organizations (and other entities hosting web sites allowing public feedback and postings) would prefer a high level of discourse as well as a dynamic, energetic online conversation that does not stifle discussion or dissent, yet minimizes the number of low quality posts. Many news organizations (and other entities) also hold a commitment to the First Amendment rights protected by the US Constitution. Attempting to satisfy these diverse Objectives, in the context of an online forum that generally allows for a degree of anonymity, is recognized as a challenging problem. A popular site could receive hundreds or even thousands of posts per day, making human mediation and pre-screening a costly proposition. Human pre-screening also runs the risk of injecting the mores and prejudices of the human mediator (or moderator) into the screening process a recognized concern given the desire to promote free and open debate while ensuring civility. Typical methods to address this problem include, inter alia,

    a) Requiring a user to open or register an account, with a valid email address, prior to any posting;
    b) Allowing users (readers) to “recommend” or “like” a post, or alternatively to “report abuse”;
    c) Providing a method to take down or hide postings that are deemed abusive;
    d) Providing a method to block certain users (identified as “abusers”) from making publicly-viewable posts;
    e) Providing a method to track, and respond to, users who abuse the “report abuse” feature.


As one example, the SLASHDOT® (SLASHDOT® is a news website and is a registered trademark of DHI, GROUP, INC.) site provides a threaded discussion on individual news stories with a user-based moderation system. Users have differing levels of “karma” based in part on their prior activity, and some users at any instant of time have the ability to “moderate” comments (posts) of others, increasing or decreasing their score and adding descriptors such as normal, offtopic, flamebait, troll, redundant, insightful, interesting, informative, funny, overrated, or underrated. Paid staff can also moderate comments. When a comment is initially submitted, it is scored from −1 to +2 depending on the users registration status and prior history (their “karma”). Over time, as moderators do their work, comments can be rated on a scale of −1 to +5. Users (readers) can set a threshold level so that they only see comments at or above the selected threshold.
Many sites allow a user to “report abuse”, and comments that receive an excessive number of reports are automatically deleted from the viewable area. Generally, sites implementing such systems also route the comments identified as abusive to a human reviewer, allow for the human reviewer (generally a paid staff member) to alter the access privileges for the posting user (perhaps blocking all further comments from that individual from public viewing). This also creates a need to “review the reviewers”, and provide a method to identify users who abuse the “report abuse” feature, and deal with their behavior appropriately.
The existing methods contribute to a degree of discipline and civility, and in some cases (such as the quality filter implemented by SLASHDOT®) allow users to screen comments before reading so as to limit their reading to comments that have already been judged to have high quality. The SLASHDOT® approach also allows certain users to achieve high “karma” which allows a higher degree of recognition for users that have contributed productively to civil and high quality discourse in the past. However, the results are imperfect. Low quality comments continue to be posted, and users that have achieved high karma (on sites that support ranking of users) cannot easily transfer that positive recognition to other sites.
In addition to web sites that promote online discussion and dialog, as generally described above, there are web sites that promote online collaboration such as TASKRABBIT® (TASKRABBIT® is an online marketplace and a registered trademark of LEAH BUSQUE) and STACK OVERFLOW® (STACK OVERFLOW® is a Question and Answer website and a registered trademark of STACK EXCHANGE, INC.). In these environments, users have an incentive to achieve high recognition or high reputation (which may each be qualitatively related to high “karma”), since high recognition or high reputation confers benefits on the site as well as elsewhere. For example, on TASKRABBIT®, users with high reputation have greater success in competing for tasks. This confers a direct economic benefit. Users with high reputation on STACK OVERFLOW® have, in some cases, started reporting their STACK OVERFLOW® reputation on job resumes. However, aside for self-reporting a user's level of recognition in other fora, the ability to transfer one's reputation or karma from one forum to another is awkward and subject to interpretation. Reputation or karma is a measure of how much a given community trusts a given individual. Assuming reputation or karma can be accurately measured with respect to a given community, how should the same measure of reputation or karma be treated with respect to a different community? Ideally, a method would be developed to allow the value of a user's reputation or karma, in one community, to be transferred and evaluated (i.e., interpreted or “weighted”) with respect to a different community.
Based on the above discussion, it would be desirable to have further methods to promote a high quality of discourse. Furthermore, it would be desirable for users that have achieved a degree of positive recognition, on one site, to be able to productively identify that fact on other sites, representing similar or dissimilar communities, while minimizing the chance for abuse or inappropriate interpretation associated with such cross-site recognition. Furthermore, from the standpoint of at least some web hosts, it would be desirable to “monetize” a higher quality of discourse by attracting advertisers and other online services to discussion threads that are recognized as higher quality compared to others. Ideally, these goals would be achieved without significant infringement of a user's First Amendment rights. It is the objective of the present invention to achieve these and other goats, as discussed below.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings illustrate various examples of the principles described herein and are a part of the specification. The illustrated examples are merely examples and do not limit the scope of the claims.
FIG. 1 is a flow diagram illustrating one method of assigning an a posteriori initial score to a comment or post, based on its content and optionally on user credentials offered by a user, according to one example of principles described herein.
FIG. 2 is a diagram of an illustrative system for promoting teamed discourse in online media, according to one example of principles described herein.



Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.
DETAILED DESCRIPTION
The principles described herein provide benefits, in some cases portable benefits, to users that consistently generate high-quality comments (posts). This is achieved by providing a method for a host site or entity to issue authenticated certificates of quality, reputation, or recognition (roughly analogous to a certificate of “high karma” in the SLASHDOT® lexicon) which can be made portable between sites and other entities, while providing protections against counterfeiting and transference to other users. Furthermore, with respect to online discussion sites, the invention provides benefits to host sites by contributing to a higher quality of discourse, which can be expected to lead to greater “readership” and the potential for monetization or enhanced monetization. This is achieved by, first of all, encouraging users to make high-quality posts, and secondly, by providing additional methods to moderate the discussion to provide a high quality user experience for readers while ensuring that First Amendment rights are preserved.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present systems and methods. It will be apparent, however, to one skilled in the art that the present apparatus, systems and methods may be practiced without these specific details. Reference in the specification to “an example” or similar language means that a particular feature, structure, or characteristic described in connection with the example is included in at least that one example, but not necessarily in other examples.
The invention assumes that many users who post comments seek recognition and status in the online community (at least) even if they may also seek anonymity. For example, they may create online identities and persona for themselves that are not easily connected to their true names and addresses, but still crave recognition and status for their online persona. They may have other motivations as well (e.g., gathering information, altruistically correcting errors in online discourse, social interaction, and entertainment). A user with high status might receive a degree of deference from others; his or her posts might gain greater recognition (perhaps becoming more visible to users who sort comments wholly or in part on a commenter's status). This might even contribute to monetary benefits for the high-status individual (such as an enhanced ability to compete for work, either through online fora or by reporting on a resume). A first method to encourage civil discourse, according to the methods of this invention, is to provide a portable “certificate of status” that can be displayed by the user on sites other than the awarding site (or offered to a potential employer by electronic means), yet cannot be casually stolen or transferred to other users and cannot be counterfeited. In a sense, this certificate is analogous to a degree from a university or a certificate from a professional society. It would confer a degree of recognition to a user, allowing the user to enjoy high status on a new site or in a new community that the user had never before visited (as well as other sites), even though the user remained anonymous with respect to his/her true identify. It is expected that certificates of status will be awarded sparingly by a host site perhaps through a process requiring human decision-making since a user's online activity on other sites or in other communities, using the awarded certificate, will reflect on the status and prestige of the awarding site. Potentially, certificates may also “time out” after a given period of time, with replacement certificates being automatically awarded and delivered to the user based on his or her's continued and desirable online activity.
The objectives noted above can be achieved with certificates that are authenticated using a public key encryption system, several of which are known to those skilled in the art of computer security and authentication. One exemplary embodiment will now described by way of a hypothetical example.
For this hypothetical example, a user named “Bob” maintains an account with “WebOneNews”, an online site featuring news and commentary. Bob's online nickname—the name by which readers of the site know him—is “newshound”. Bob secured this nickname by setting-up an account with WebOneNews, a process which required him to identify and confirm his email address (note: before awarding the nickname, WebOneNews verified that no other user had previously selected the same nickname). The account information, including at least the nickname and valid email address of the true user (Bob), along with a secure password, is considered to contain private data and is protected from public disclosure. The account information might also contain other data, such as multiple email addresses, true name and address, one or more public keys provided by Bob to facilitate secure and authenticated communications, and perhaps even biometric data. (or a secure hash of biometric data).
WebOneNews provides a mechanism for its news items and commentary (user posts) to be “ranked” by a combination of automatic and/or human-mediated means. Hence, users can quickly select the items of greatest value according to several metrics (e.g., accuracy, humor, topicality, civility, novelty, and overall quality). Bob is active on WebOneNews, and over an extended period of time, users have come to appreciate the comments appearing under his nickname “newshound”. These comments regularly achieve high metrics and are frequently cited by others. WebOneNews maintains a system of authenticated certificates for its top contributors, with authentication provided through a public key encryption system as will be shortly described. After some period of time, WebOneNews determines that it would be appropriate to award Bob a certificate indicating his contribution to the online community. The mechanism by which WebOneNews makes this determination is not germane, but could involve a totally automatic (software-based) process, a purely manual (human) process, or a combination of software analysis, alerts/flags to human staff, and human decision-making. Once the decision is made, the certificate is awarded and used as follows.
WebOneNews can access the email address(es), associated with the nickname “newshound”, by checking the private account information held by the site. Assume initially that only one email address is on record. WebOneNews generates a certificate of performance referencing Bob's nickname and email address, updates Bob's account information to indicate the existence of a certificate, and encrypts the certificate using WebOneNews' private key. It sends the encrypted certificate to Bob's email address and Bob stores it for future use. [Note: Bob's posts to WebOneNews can automatically display an icon indicating the awarded certificate (although Bob may optionally be given veto power over this display) since his account information contains his new status]. Bob can decrypt the certificate using WebOneNews' public key. Anyone else can do the same, using the public key associated with WebOneNews, but only WebOneNews can generate the certificate in the first place and encrypt it using its private key.
Bob may already be participating on a second news site called WebTwoNews, or may decide at a later time to open an account with WebTwoNews. In either case, Bob would like to display the certificate from WebOneNews on his posts at WebTwoNews. To do this, his account information at WebTwoNews must reflect the fact that he has received a certificate from WebOneNews. For the moment, assume that Bob used either the same nickname or the same email address to setup his account at both WebOneNews and WebTwoNews. He can update his account information at WebTwoNews by transmitting the encrypted certificate to WebTwoNews as additional account information, indicating that the transmitted certificate is from WebOneNews. Bob cannot counterfeit this certificate since it was encrypted with the private key held by WebOneNews. When it receives this certificate from Bob, as part of the account update process (involving Bob's nickname and/or email address and a secure password), WebTwoNews can decrypt the certificate using the public key for WebOneNews, and verify that it contains the nickname and/or email address associated with the account being updated. The account update can then be completed and confirmed. Since the certificate contains Bob's identifiers and can only have been generated by WebOneNews, WebTwoNews is fairly confident that Bob is not using a certificate belonging to someone else. Similarly, there is little risk of Bob's certificate being stolen/intercepted and misused by a third party—the certificate is only useful to someone using Bob's nickname and/or email address.
Clearly, the method can be extended to multiple identifiers associated with Bob's account at WebOneNews and only one of the identifiers needs to match the account information maintained at WebTwoNews in order to enable the update. This provides flexibility and allows Bob to maintain several online identities (and email addresses), and even use other forms of identification (such as biometric data). However, Bob may be loath to receive and use certificates containing such detailed and multi-faceted private information. The consequences of misuse can become more severe as the amount of private information contained in the certificate increases. This concern is addressed further below.
If additional transmission security is desired, WebOneNews can transmit the certificate to Bob with a second (outer) layer of encryption using Bob's public key, which may be detailed in his account information or may even be published on the web (keyed, e.g., to his nickname). Only Bob can decrypt this transmission using his private key, thereby extracting the encrypted certificate from WebOneNews (which only WebOneNews could have generated). Similarly, Bob can transmit the encrypted certificate from WebOneNews to WebTwoNews in a secure fashion by encrypting the (already encrypted) certificate using the public key from WebTwoNews. Only WebTwoNews can decrypt this message using its own private key.
In addition to sites devoted purely or primarily to online discussion and discourse, these techniques can be used to transfer a certificate of reputation or recognition (karma) to a site focused on other goals, such as online collaboration, or even to users/entities such as traditional companies that a holder of such a certificate may wish to inform as to his/her status.
There is a potential for some third party to setup an account on a site which Bob does not frequent (“WebThreeNews”), and use the nickname adopted by Bob on e.g. WebOneNews. If this third party were to somehow intercept or steal the encrypted certificate from WebOneNews, without any outer layer of protection, he or she could send it to WebThreeNews and potentially gain the status advantages enjoyed by Bob. Worse, the third party would also have access to any of Bob's private data contained in the certificate. In order to provide a measure of security against such misappropriation, WebOneNews can use a public key provided by Bob and contained in his account information (in some embodiments of the invention). For example, instead of recording Bob's nickname and email address in the certificate (and possibly other email addresses and other private identifying data), WebOneNews could simply record a hash consisting of the nickname used by Bob on WebOneNews and its associated public key. When WebThreeNews receives a certificate from someone with the nickname “newshound”, it can generate a challenge for the individual with nickname “newshound” at WebOneNews (the original source of the certificate) which only Bob can answer. This method requires the additional step of a cryptographic challenge, but avoids any need to include Bob's identifiers and/or private data in the certificate.
White the examples provided herein are generally based on web sites devoted to news commentary and online discussion, the inventive concepts can be applied to other types of sites and domains where credentials or certificates of achievement are used. This includes, but is not limited to, professional discussion sites, online collaboration sites, job search and job clearinghouse sites, and the like. The inventive concepts can also be used, with adjustments to allow for the necessary communication of data, outside the internet domain (e.g., on private networks and even in offline environments), as long as the certificates can be communicated from an awarding entity to a user, and from a user to another entity that wishes to determine an effective level of achievement for the user.
Perspective of the Host Site
From the standpoint of a host site, there is a desire to ensure, to the extent that is practically achievable, that the quality of discourse on the site is of relatively high quality. This would tend to contribute to the enjoyment of the site's patrons, the prestige of the site, and possibly contribute to monetary benefits as well. For example, a popular and high-prestige site might attract a larger and more connected audience than the average site, making the site more attractive to sponsors and advertisers. Several existing pre- and post-moderation techniques can be used to manage comment quality; however, reliance on such techniques alone is problematic for several reasons including:

    a) Pre-moderation by a human being is costly and time-consuming, and runs the risk of injecting “moderator bias” into the decision-making process. Potentially valuable and innovative or controversial comments might be excluded improperly prior to any public viewing;
    b) Post-moderation allows low-quality comments to appear for a time (at least), prior to the post-moderation protocol lowering their score below a user-selectable threshold (as in the SLASHDOT® protocol), or otherwise causing their removal from the viewable area (for example, if enough users identify the comment as “abusive”, thereby causing the site to automatically remove it from viewing (along with other actions, such as forwarding the objectionable post to a human reviewer));
    c) Protocols that intermingle all comments on a given topic with time-varying measures of quality (i.e., in response to human moderator actions), with user-selected viewing thresholds, can complicate the task of “following the thread of a conversation” since some currently viewable “high-quality” comments will be responding to currently “low-quality” comments that are not viewable at a user's current threshold for viewing quality;
    d) There is always the desire to preserve First Amendment rights.


Ideally, each comment could be scored with respect to quality, prior to posting, with a score that would “stand the test of time”. However, as previously stated, human pre-mediation is costly and runs the risk of injecting unwanted human bias. In order to avoid these pitfalls, SLASHDOT® (for example) generates an initial score based on a user's status, and then provides for modification of the score by actions of the user community (including paid staff). But this process results in significant modification of comment scores after a comment has posted. It would be desirable to generate an initial score that was closer to the “final” score arrived-at by consensus of the human users. While an accurate initial score is difficult to achieve with currently-available automatic content analysis software, the accuracy and stability of a computer-generated score can be enhanced by also considering the provenance of a comment a user's historical status. For example, automatic content analysis software cannot reliably determine that a given comment is of high quality; however, if it was posted by an individual who is known to generally make high-quality comments, this information can be used to skew the score toward the high end of the scale with greater confidence. Hence, the present invention merges these two approaches (automated content analysis and consideration of user status) while retaining a post-moderation protocol to refine the scoring and allow users with low status to have their comments “promoted” to higher quality levels, thereby also providing a mechanism for such users to achieve higher status over time.
Diakopoulos, Naaman, and Kivran-Swaine have reported on an analytic tool called Vox Civitas which relies on four types of automated content analysis: 1) relevance; 2) uniqueness; 3) sentiment; and 4) keyword extraction. Other types of content analysis are feasible. For example, it is straightforward to perform a spelling check against a standard dictionary (the contents of the dictionary can be adapted to match the needs of a site). It is also possible to check for vulgar and inappropriate language with a reasonable degree of confidence especially when all words are spelled correctly.
Referring now to FIG. 1, in one embodiment of the present invention, when a comment is received by a site at step 100, it is submitted to a set of automated content analysis filters that comprise spelling, vulgarity, relevance, uniqueness, sentiment, and keyword matching (as examples). Other embodiments of the present invention can comprise a subset of these filters or a superset (i.e., filters that are not identified in this list), however, the discussion here will assume the identified set. Each filter generates an automated score which may comprise a scalar or vector quantity. For example, in a preferred embodiment the spelling filter applied at step 210 generates a scalar numerical score proportional to the fraction of words in the post that are recognized in the dictionary. However, in alternative embodiments the score could be a more complicated function of the fraction of words that are recognizable, or even a vector quantity. For example, a vector quantity (multi-dimensional output) could be formed by calculating spelling accuracy across identifiable subsets of words comprising differing numbers of syllables, age-related lexicons, technically specialized lexicons, or the like, it is also expected that a preprocessor or equivalent process can be applied to exclude from consideration such embedded elements of the comment as bit maps, URLs, email addresses, recognizable mathematical symbols and equations, and the like. Since it is generally easier to recognize vulgarity and perform other forms of content analysis if all words are recognizable, in a preferred embodiment the spelling score is made available to other filters applied at steps 220 and 230 (in other embodiments the spelling score is only made available to a proper subset of the remaining filters, including possibly none of them at all). In one embodiment, the vulgarity filter generates a vector score relating to: a) the apparent level of obscenity, hate speech, and ad hominem argumentation; and b) the level of confidence in the scoring. The level of confidence may be informed, in part, by the output of the spelling filter. In other embodiments, the vulgarity filter could contain a subset or superset of the indicated measures (obscenity, hate speech, and ad hominem argumentation), or might output only a scalar quantity. Additional content analysis filters applied at step 230 (e.g., relevance, uniqueness, sentiment and keyword matching) operate on the content of the post, generating vector outputs including both a numerical score on each metric as well as a confidence level. Relevance and keyword matching scores can be based in part on the subject news item illustrated in FIG. 1 as provided by input step 250 (as an example). Keywords may have been previously identified by a human operator or journalist (as an example), or generated automatically. Uniqueness scoring can be based on prior posts relating to the same news item, as well as (optionally) other databases available to the filter. Sentiment scoring can be based on semantic analysis of the comment or post, generating a numerical score for subjectivity versus objectivity. In one embodiment of the invention, a confidence level is generated as part of the vector output, said confidence level based in part on the output of the spelling filter. In other embodiments, the confidence level is formed without benefit of the spelling filter output, or may be non-existent. In cases where the confidence level is non-existent, the output of each filter could be a scalar quantity (although in some embodiments, vector outputs can also be generated by generalizing the methods described above).
At step 300, an a priori score is generated based on the output(s) of the filter(s) applied to the content of the comment/post, but excluding consideration of the status of the user submitting the comment. In one embodiment, the indicated filters generate scalar numerical scores (although these are possibly paired with a confidence metric to form a vector output), and the a priori score formed at step 300 is a single scalar quantity formed by summing the numerical scores from each of the filters without consideration of confidence levels. In another embodiment the a priori score is a scalar quantity formed by a different mathematical process. For example, the mathematical process could form a linear combination of a subset of the scores (e.g., forming a weighted sum of scalar scores for relevance, uniqueness, sentiment and keyword matching, where the weighting factors are functions of the confidence levels associated with each of these scores) and this linear combination (a single numerical value) is multiplied by a normalized score between zero and one representing spelling accuracy and lack of vulgarity. In another embodiment, thou priori score is a vector score simply representing all of the scored outputs of all of the filters applied (i.e., step 300 merely collects all of the outputs of the various filters and makes them available to the following step). In yet another embodiment, the a priori score is a non-trivial (i.e., not a simple scaling), linear or nonlinear, vector function of the inputs (the filter scores and confidence levels).
At step 450, an a posteriori score is generated based on the output of step 300 as well as the status of the commenting user optionally received as step 400 and accepted and mapped to the site's own status hierarchy in step 410. The nearest analog to user status, in the SLASHDOT® lexicon, would be “karma”; however, the user status in the present concept is more elaborate, intended to represent a long-term commitment to high-quality discourse (although other status measures such as academic achievement, reputation as a mentor on peer-assistance websites such as STACK OVERFLOW®, and performance status on sites such as TASKRABBIT®, assessing the performance of a user in relation to a set of performance criteria, could also be encoded, as examples), and may be portable (i.e., accessible on a site that did not generate the status in the first place). In keeping with the principles discussed earlier, if the status is portable, a user can submit credentials along with a post (or previously, at the time of setting-up or updating an account) that would indicate the level of status achieved in other domains or on one or more different sites—credentials that are difficult to counterfeit. For example, a user might submit credentials from an academic institution, a general-interest online discussion site, and a special-purpose professional site associated with a particular profession (such as, e.g., STACK OVERFLOW®). In keeping with the principles discussed earlier, these credentials can be authenticated (as part of step 410) to ensure that a user does not masquerade as someone with credentials that he/she has not earned.
As part of step 410, the user status can be mapped to the status hierarchy used on the site. For example, two news sites might accord essentially “full face value” to each others' certificates, whereas a special-purpose scientific site might accord only partial value to a certificate from a general-purpose news site (thereby mapping a high-level certificate from the news site to a level closer to a null score on the special-purpose site). Conversely, a general-purpose news site might accord full face value to a user with a specialized certificate, in relation to a news item that is strongly correlated with the specialized expertise represented by the certificate, but only partial value in relation to a news item that is not strongly correlated with the specialized expertise represented by the certificate. This mapping can be facilitated with an industry standard defining minimum standards of good behavior and accreditation (for example), but could also be performed by other means. For example, an operator of a site could learn of the status hierarchies of other sites at least other popular sites) and build a table to achieve a reasonable mapping to the operator's own site's status hierarchy. The mapping table can be updated periodically. Alternatively, a site might form either a “distance metric” or a “correlation metric” between itself and the site that awarded an offered certificate by relying on an indexing scheme such as contained in Wikipedia, or correlating key words associated with the offering site's content, or the recognized domain of relevance of a site or entity, against key words on its own site (or a particular post, job listing, or other item for which the user has identified an interest). Based on a distance or correlation metric, or a combination of distance or correlation metrics associated with a plurality of offered certificates, the site can determine a suitable status level for the user in relation to the site or entity as a whole, or in relation to a particular news item, commentary, question, job, or other item of interest.
One potential mapping method for a single offered certificate is to:

    a) determine a correlation score, between zero and one, for the relevance of the certificate's awarding site to the current site;
    b) determine a ranking score of the offered certificate relative to the highest level of achievement recognized by the certificate's awarding site (this score is also assumed to be scaled between zero and one for the current example, and may be arbitrarily set to one if the ranking hierarchy of the certificate's awarding site is unknown, but this is nota firm requirement of the inventive concepts described herein);
    c) multiply the correlation score by the ranking score to form a first product; and
    d) map the first product to the ranking hierarchy of the current site, where the one or several levels of achievement recognized by the current site is/are associated with numerical values including a maximum value, and the mapping is performed by multiplying the first product by said maximum value to form a second product. In one embodiment, this second product (which may be non-integer) is truncated to the next lowest value associated with an achievement level recognized by the current site, and the associated achievement level is assigned to the user as a credential for general use, or for a particular post (depending on the nature of the site and its operating strategy). In another embodiment, the second product is “rounded” to the nearest value associated with an achievement level recognized by the current site, and the associated achievement level is assigned to the user as a credential for general use, or for a particular post. In an embodiment that employs rounding, the thresholds for “rounding up or down” can be spaced mid-way between the numerical values associated with the recognized achievement levels, but this is not a requirement (i.e., a given threshold might be closer to one neighboring value than the other).


When a plurality of certificates are offered, in one embodiment the certificate with the highest correlation to the current site is determined, and this single certificate is used to determine a mapping of user status by the method described above. In the event of a tie (multiple certificates are presented with associated awarding sites having the same first-place ranking of a correlation metric to the current site), the tie among these “first-ranked” awarding sites is broken by calculating the “first product” for each, and using the maximum such first product in step d above (note: a tie among first-ranked “first products”, should it occur, will not affect the calculation in step d). In another embodiment, when a plurality of certificates are offered, a “second product” is formed for each, using the methods described above, these second products are averaged, and the resulting average second product is truncated or rounded to a recognized achievement level for the current site using the methods described above. In a third embodiment, when a plurality of certificates are offered, the associated set of first products, formed in step c above, each between zero and one, are used to form a set of inverted metrics by subtracting each said first product from one. These inverted metrics are multiplied together and the resulting product is itself subtracted from one, to form a “merged first product” that can be used in step d above. Specifically, the merged first product MP1 is formed from the set of first products {P1} by applying the formula




  
    MP
    ⁢
    
      
    
    ⁢
    1
  
  =
  
    1
    -
    
      
        ∏
        
          k
          =
          1
        
        N
      
      ⁢
      
        
      
      ⁢
      
        (
        
          1
          -
          
            P
            ⁢
            
              
            
            ⁢
            
              1
              k
            
          
        
        )
      
    
  




where N is the number of certificates presented, and P1k is the k-th certificate, 1≦k≦N. This formula has the feature that any single “perfect first product” (i.e., with a value of 1) results in a perfect “merged first product”, and multiple certificates can be combined to boost a user's score, but it is not possible for a user to exceed a perfect score with any number of certificates.
Other methods of mapping a set of user credentials to the achievement hierarchy of the current site will be apparent to those of skill in the art. For example, it may be recognized that the above formula allows a user with a large number of mediocre certificates to achieve a high “merged first product”. In order to overcome or mitigate this problem, a site might also form the simple product “SP” of all the “first products” calculated in step c above, and then calculate a weighted average of SP and MP1 in order to form a new metric AP1 that can be used in step d above. In forming the weighted average. SP can be weighted increasingly heavily for values less than one-half Many weighting algorithms are feasible. One that may be envisioned is to form

AP1=SP((SP−1−1)SP+MP1)

Thus, when SP=1/2, SP and MP1 are weighted equally, and as SP gets smaller, it becomes increasingly heavily weighted. A large number of mediocre first products will tend to drive SP toward zero and MP1 toward 1, and the weighted average AP1 will tend to be closer to zero than to one. Thus, a user would have an incentive to offer a limited number of high-quality certificates that are expected to correlate well with the cur site, instead of a large number of certificates containing a mix of higher and lower quality, with widely-varying levels of expected correlation.
The offered credentials may be self-describing to a certain degree (possibly defined within a published standard), allowing this mapping (and more specialized mappings) to be achieved automatically. Thus, as described above, an expert on international relations with a specialization in Middle Eastern studies might receive a certificate from “Foreign Affairs” magazine identifying this particular area of expertise. Such a certificate, offered to a general-purpose news site on a story associated with the Middle East, might be instantly accorded the highest status. Conversely, when offered to the same news site on a story associated with lunar exploration, might be accorded only slightly higher than a “null” status since the site might assume a certain level of inherent decorum, but no particular expertise. These mapping possibilities are offered as examples; the mapping process implemented by any particular site is subject to optimization according to the needs of the site, and can evolve over time.
Of course, a comment or post might be submitted without any user-supplied credentials at ail. If the user is known to the site, a user status may optionally be drawn from memory for the purpose of determining an a posteriori score for the submitted comment. Alternatively, in embodiments that do not rely on a memory to supply missing credentials to known users, and also in all embodiments that must deal with unknown users without credentials, two methods can be employed in keeping with the principles of this invention: 1) assign a “null” status that is differentiated from all valid status indicators; or 2) assign the lowest possible status indicator.
The a posteriori scoring process identified in FIG. 1 determines a single numerical score for the comment, post, or resume, based on the a priori score (possibly a vector quantity) and the user status. Examples of a posteriori scores, that could be generated by one or several embodiments of the present invention when user credentials are supplied, include among others:

    a) The a priori score (if it is a scalar) shifted by a numerical amount “D” determined by the user status via table lookup or a numerical algorithm (e.g., if the user status is a numerical value or can be mapped to a numerical value, one candidate numerical algorithm is to map the user status (or its mapped numerical value) to a range such that −Dmax<D<Dmax, where Dmax is no greater than the maximum possible a posteriori score, add D it to the a priori score, and bound or renormalize the resulting SUM so that it is within the available range for an a posteriori score;
    b) The a priori score (if it is a scalar) normalized to a predetermined range, with the resulting score shifted by a numerical amount “D” as suggested above, with the resulting sum bounded or renormalized so that it is within the available range for an a posteriori score;
    c) The a priori score (if it is a scalar) normalized to a predetermined range and scaled according to a scalar confidence metric (bounded between zero and one) based on the confidence levels associated with the various filter scores, with the resulting score shifted by a numerical amount “D” as suggested above, with the resulting sum bounded or renormalized so that it is within the available range for an a posteriori score;
    d) The sum of the individual filter scores, or the sum of the individual metrics of the a priori score (if it is a vector), excluding confidence metrics, if any, normalized to a predetermined range, with the resulting score shifted by a numerical amount “D” as suggested above, with the resulting sum bounded or renormalized so that it is within the available range for an a posteriori score;
    e) The sum of the individual filter scores, or the sum of the individual metrics of the a priori score (if it is a vector), excluding confidence metrics, if any, normalized to a predetermined range and scaled according to a scalar confidence metric (bounded between zero and one) based on the confidence levels associated with the various filter scores, with the resulting score shifted by a numerical amount “D” as suggested above, with the resulting sum bounded or renormalized so that it is within the available range for an a posteriori score;
    f) a Bayesian method that uses historical data on a priori scores (including confidence levels, if available), user status values (including a possible “null” status), and post moderation scores measured after a period of public viewing, all supplied by step 420, to determine a nominal a posteriori score that is most likely to represent a final post moderation score for the current comment or post. In this method, data is collected and stored over time regarding the scalar or vector a priori scores, user status values, and post moderation scores measured after a period of public viewing, for some or all of the comments on the site.
    These data are used to define and calculate as appropriate the following things:
    a. For each final score FSi defined on the site, let p(FSi) be the probability that an arbitrary (randomly-selected) comment or post has that score following a suitable post-moderation period for human-mediated moderation;
    b. For each input vector IDj defined on the site, representing the a priori score, confidence values (if any) and user status (including “null” status), let p(IDj) be the probability that an arbitrary comment or post was initially associated with that input vector. For this calculation, comments with no known user status should be treated as having “null status” instead of the lowest possible status, regardless of how such comments are treated in step d) below, in order to generate a more accurate set of statistics;
    c. Let p(IDj|FSi) be the probability of a comment initially exhibiting the input vector given that its post-moderation final score was FSi;
    d. For each new comment or post received, calculate the set of conditional probabilities p(FSi|IDj)=p(IDj|FSi)*p(FSi)/p(IDj), where IDj is the input vector associated with the new comment or post (i.e., its a priori score, confidence values (if any) and user status). For this step, as discussed earlier, different embodiments can choose to treat a comment with no apparent status (i.e., no offered status or no known status in memory) as having either “null status”, or the lowest possible status;
    e. Pick the FSi that maximizes p(FSi|IDi), and assign score as the a posteriori score for the new comment or post.


Those of skill in the art will recognize that other methods of forming an a posteriori score are feasible and are within the bounds of the invention.
At step 500, the new comment or post is posted to the site for public viewing along with its a posteriori score as determined at step 450. Optionally, as indicated by step 600, the site may offer its users the chance to “post-moderate” the score. This step is necessary to implement the Bayesian a posteriori scoring method noted above. Over time, the a posteriori scoring method allows the automatic generation of a score that is fairly likely to closely approximate the final score awarded by humans in a post-moderation scoring process.
In the case of a company processing resumes, the new resume would not be posted publicly, but would be viewed internally by selected staff (e.g., human resources). This selected population would optionally, as indicated by step 600, “post-moderate” the score based on, e.g., how well the submitted resume matched the company's identified job requirements. This could even include a component associated with a final hiring decision. Over time, the a posteriori scoring method allows the automatic generation of a score that is fairly likely to closely approximate the final score awarded by humans in the post-moderation scoring process.
In order to implement the Bayesian a posteriori method, the inventive concept relies on a representative database of recently-received comments (or resumes, in the case of a company seeking employees or consultants) including their associated a priori values, the user status of the submitting user (which may also be the null status), and the post-moderation values after a period of human-mediated moderation on the site (or within the company). The size of the database will affect the performance of the system. If the database is too small, the a posteriori scores will not exhibit good correlation with the post-moderation scores. As the size of the database increases, the correlation will improve. At some point, further increases in database size will not result in significant improvement in correlation. Those of skill in the art will recognize that offline experimentation can be used to determine a suitable database size that yields correlation values close to the maximum achievable values, but is not too extravagant in terms of memory requirements.
Viewing and Display Methods for Online Discussion Fora
As with the SLASHDOT® approach, users can be given the ability to select a viewing level and thereby suppress, from their individualized view, all comments/posts below their selected viewing threshold. Alternatively, a site could choose to offer multiple tabs or viewing panes, with one such tab or viewing pane devoted to high-quality posts above a predefined threshold, and another such tab or viewing pane devoted to all the viewable posts regardless of quality. Going further, a host could actually maintain two sites one for high-quality comments and the other for all comments. Comments could be dynamically posted or removed from the high-quality site depending on its dynamically changing score. This could, for example, allow an organization to maintain a “family friendly” site as well as a less constrained site. For any of these methods, the site may choose to completely suppress the viewing of particular comments or posts that are judged (either automatically or after human mediation) to be extremely objectionable. With the exception of these extremely objectionable comments, all comments are posted in one way or another and free speech is maintained. However, low quality posts are only seen by a particular viewer if the viewer has intentionally “opened the filter” to allow them (or selected the viewing tab that shows all viewable posts regardless of quality, or navigated to the essentially unfiltered site).
The methods described here can be adapted to support e.g. a relatively technical discussion on one tab or site (or above a given quality threshold using a metric of technical detail or complexity) and a relatively less technical discussion on a different tab or site (or with a lower threshold of technical complexity), with comments dynamically posted or removed from the relatively technical tab or site (or viewed above a given selection threshold) depending on its dynamically changing score.
Sponsors and advertisers may optionally choose to be associated with particular viewing thresholds, tabs, or sites. In a more nuanced approach, sponsors and advertisers may choose to tailor their advertising (messaging/formatting) to the viewing threshold, tab, or site. For example, a medical research company might choose to announce job offerings and solicit paper submissions for a conference on a relatively technical viewing threshold, tab or site, while simply maintaining a “public awareness message” on a less technical viewing threshold, tab or site. Manufacturers and service providers might also choose to tailor their advertising to the anticipated demographics associated with a particular viewing threshold (or more generally, a set of viewing metrics), tab, or site.
Awarding Higher Levels of Status to Users
Various methods may be used to track user performance and reward users that generate high quality comments with enhanced status. Comment quality can be judged according to a priori score, a posteriori score, or the post-moderated score following a suitable period of human mediation. For this discussion, the site is assumed to maintain a database of registered users along with their current status levels (“karma levels”), although in this discussion no association with SLASHDOT® methods or operating concepts is assumed, and post-moderation scores are used.
As an exemplary method, “karma points” are awarded or deducted based on a user's activity, and at periodic or non-periodic intervals, the user status is reviewed and increased or decreased to a different karma level (or left at the same level) based on user's current karma level and the number of karma points accrued since the last review. The number of karma points accrued could be a positive or negative number, or bounded (constrained) to be non-negative.
One possible method for awarding or deducting karma points, after a comment has experienced a suitable period of human mediation, is to award the user K additional karma points if the comment exceeds a predetermined quality threshold Thigh, and deduct J karma points if the comment falls below a predetermined quality threshold Tlow≦Thigh. The values K and J are not required to be equal (although they could be), and they may actually be functions of the post-moderation score.
While not a requirement or constraint of the present invention, the number of karma levels is expected to be limited and the requirements to ascend to the highest karma level(s) are expected to be relatively stringent.
In some cases, it may be desirable to provide “checks and balances” to guard against abuse of the post-moderation system. For example, on sites devoted to online discussion, a vindictive user might repeatedly “mark down” a post from a particular user, or all posts from a particular user. Alternatively, a user's friends might repetitively vote “in favor” of a given post, or all posts from that user, in order to artificially inflate the apparent post-moderation score of one or several posts, and ultimately affect the karma level accorded to the user. Thus, in some cases, it may be advantageous to limit the number of voting opportunities afforded to any one user over a particular span of time (such as, e.g., a day or a month), or limit the number of voting opportunities that a given user may apply to a single post, or a single other user (for example, each user might only be able to vote once on any given post, or N times per day in relation to any given user). Some existing sites already limit the number of voting opportunities, limit the users who can vote (i.e., paid staff may have an unlimited ability to vote, but other users may only receive a limited number of voting opportunities, or tokens, depending on their status), and implement procedures to identify and minimize the impact of “abusers”. Of course, it would be inappropriate for a user to be able to vote on his/her own posts.
In some cases, a well-meaning user may anticipate significant negative voting in a post-moderation system even for a cogent, thoughtful, and well-meaning comment. This could lead to self-censorship and an overall chilling of online commentary and discourse. For example, a user that had carefully built an exemplary record, and had achieved high karma, might be wary of posting a politically-charged comment that could be expected to generate a great deal of negative votes from those in an opposing political party, even though the comment was purely informational in nature. Even with limits on voting opportunities, a determined cohort might overwhelm the voting on a particular comment or post. In order to mitigate this issue, in one embodiment of the present invention, a user can preemptively flag a comment for special handling. For example, a tag such as “controversial” or “against the grain” might be provided by the site, and a comment tagged in such a way by a submitting user would be treated using a special procedure. For example, post-moderation scoring might still be allowed (indeed, other users might not even be aware that the comment or post had been tagged in such a way), but any impact on the submitting user's karma level would be reduced by a predetermined amount or eliminated entirely. Such comments may also, at the option of the managing site, be excluded from the database used by a Bayesian a posteriori scoring method.
User Experience and Motivation
Now consider, further, how the inventive methods affect the user experience. First, comments and posts are initially “posted” to the viewable area with quality scores that tend to reflect the scores they will ultimately receive following human mediation. In many cases, it will not be necessary for users to “bump them up” or “bump them down” in order to get them to the correct level. Users are not required to “explore at low quality levels”, to the same degree as in prior systems, in order to find high-quality posts that deserve to be promoted.
Users with high status will find that their comments and posts are quickly (perhaps immediately) awarded an initially high quality score that allows their comments and posts to be seen by the greatest number of viewers. This allows them to have a significant impact on the online discussion. With a portable certificate of status, this is achievable even on a site that the user has rarely or never before visited.
Users with low status will find that their comments and posts are still viewable at low quality settings (unless the comments are judged to be extremely objectionable). Such users can “rehabilitate themselves”, and achieve higher status, by improving the quality of their comments and posts.
Companies and organizations that attempt to measure social media impact, such as PeerIndex and Klout, can potentially use the certificates of status, revealed by a user, as one input to an improved measurement methodology. These certificates of status are based on a “local measurement” associated with a particular site, interest group or demographic, and therefore tend to represent a meaningful measure of the user's impact in that domain. Furthermore, if the awarding site maintains reasonable controls, the measurement represented by the certificate of status can be accorded a high level of confidence. Finally, it is important to note that the certificate is awarded to the user, and it is the user that reveals it publicly in relation to his or her alternative persona, possibly including his or her true identity.
As previously noted, when a site receives a comment or post without any user status (i.e., a new user without offered credentials), it can either assign a “null status” or the lowest possible status indicator for the purpose of determining an a posteriori score. Assigning a null status will tend to “withhold judgment” on the comment by not automatically associating it with users of low status (although, depending on how human users interact with the system, a Bayesian a posteriori process may result in this happening anyway—at least to a degree). This might be appropriate for general-purpose discussion sites with a large number of new users. Conversely, assigning the lowest possible status indicator tends to disfavor the comment by automatically associating it with users of low status, who tend to post comments of low quality. This places a penalty on new users, or users attempting to create a new online persona with no history. This approach might be appropriate for special-purpose discussion sites that expect their users to maintain a high level of decorum and quality. For such sites, users that are unwilling to present suitable credentials can still post comments, but the comment must be of extremely high a priori quality in order to receive a high a posteriori score.
Hardware and Apparatus Associated with the Invention
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like. However, the computer program code for carrying out operations of the present invention may also be written in conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
The present invention is described in part with reference to a flowchart illustration and/or block diagram of methods, apparatus (systems) and computer program products according to an embodiment of the invention. It will be understood that each block of the flowchart illustration and/or block diagram, and combinations of blocks in the flow chart illustration and/or block diagram, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
As used in the specification and appended claims, an a priori score refers to a result produced by analysis of a user's comment without knowledge of the user's status. An a posteriori score refers to a result produced by knowledge of a user's status and/or experience or empirical evidence of quality of a user's interaction in an online forum.
FIG. 2 is a diagram of an illustrative system for promoting learned discourse in online media. In this example, the system includes a publisher 236, an advertiser 232, a forum server 234, and user 238. The publisher controls operation of the forum server and posts content to the server for access by various users. The advertiser also posts content on the forum server for the consumption of users. The users access the forum server to view/retrieve the content and to add content in the form of comments and other input.
In this implementation, the forum server includes at least one processor 242 and memory 244. The memory may include both volatile and non-volatile computer readable memory. The various modules in the forum server are executed as computer program code by the processor. The data used by the forum server, including the computer program code, content, and databases are stored in the memory. The forum server shown in FIG. 2 is only one illustrative example. A variety of other configurations and systems could be used. For example, the forum server may be implemented by a plurality networked local/remote computing devices. Additionally or alternatively a portion of the functionality described as being executed by the forum server could actually be executed by a user's computing device.
The forum server stores content data 246 generated by the publisher(s) and advertiser(s) for viewing/retrieval by the user through an I/O module. For example, the forum server may be one or more web server(s) that supply and receive data over the internet. The user connects to the forum server via a network 240 and views the content. The user is invited to comment on the content or other comments previously received to generate a discussion. The user's comment 278 is received by a received comments module 254. A comment content analysis module 256 empirically evaluates the comment based on its content, but without knowledge of the user's status. As discussed above, the analysis module may evaluate the comment for spelling, vulgarity, content relevance to the topic of the content, and other factors. The analysis module may reference a variety of resources to more accurately make these evaluations. For example, the analysis module may reference the content data to determine key words or concepts that are present in the content. These key words/concepts can be compared to the received comment to determine its relevance to the current content. The analysis module may also reference various libraries or databases. For example, a library 264 may contain a spelling dictionary and a list of vulgar or other undesirable words. The analysis module produces an a priori score for the comment.
The a priori score is received by a scoring module 258 that produces an a posteriori score by applying measures of the user's status. Specifically, the scoring module determines if the user who submitted the comment is known to the forum server or has supplied any portable status certificates 272. As discussed above, the portable status certificates can be generated by interaction with a variety of other online media sites, communities or organizations, including other fora 274. The portable status certificates generated by these entities may be encrypted using public key/private key techniques to help ensure authenticity of the certificates. The scoring module accesses a certificate module 266 which records and verifies the various certificates submitted by the user. The certificate module may also include a mapping between status hierarchies in various other fora and the status hierarchy of the forum hosted by the forum server. The scoring module determines how relevant the various certificates are to the specific content that was commented on. The scoring module may also access a database (supported by e.g. the library module 264) of recently-received comments including their associated a priori values, the user status of the submitting user, and the post-moderation values after a period of human-mediated moderation on the site, as well as a user database 268 maintained by the forum server to determine the reputation/behavior of the user on the forum server. The scoring module may then determine the relevance of the certificates to the current content/situation and modify the a priori score to produce the a posteriori score. This a posteriori score is associated with the user's comment, which is displayed accordingly in the scored comments 248. For example, if the comment has high quality/relevance and is submitted by a user with a high status score, the comment may be featured prominently. However, if the comment is not relevant or lacks other desirable qualities, the comment may be filtered out or displayed with a lower prominence by a comment filter.
The a posteriori score may be further modified during operation of the forum server by a moderation module 262. The moderation module may receive inputs from the publisher, a dedicated moderator, and/or other users/commenters. This moderation may result in increasing, decreasing, or maintaining the score. In some examples, the forum server learns/adjusts the output of the analysis module and scoring module based on the results of the moderation which are stored in the comments database.
The publisher has control over the various modules in the forum server. For example, the publisher may define the list of vulgar or undesirable terms in the library. Additionally, the publisher may define how status certificates produced by other entities are evaluated in the certificate module.
A status certificate module 260 on the forum server produces a status certificate for the user based on the user's performance on the forum server. For example, the status module may gauge the user's performance both qualitatively and quantitatively. The status module may observe the number and frequency of the user's comments to determine the user's engagement with the forum. The status module may gauge the scores of the user's comments as a qualitative measure of the user's contribution to the discussion. The user can then use the portable status certificate on other sites to provide credence to comments the user makes.
The modules disclosed above are illustrative of the functionality of the forum server. The functionality may execute in a variety of ways, including combining functionality described in separate modules into a single module, adding modules, removing modules, and reordering modules. For example, functionality included in one or more of the modules may not be present. In one example, moderation after generation of the a posteriori score is not performed for some comments. In other implementations, the score assigned to the comment may rely solely on the status of the user communicated by the portable status certificate submitted by the user.
In one implementation, an application on a user/commenter's mobile device may be used in conjunction with the system described above. For example, the mobile application may be used to conveniently collect, store, and manage a user's portable status certificates. When a user is signing up for a new online forum, the application may suggest which certificates could be submitted to the forum for the highest rating. In some embodiments, the mobile application may analyze comments before the user submits them and may recommend changes to the comments to achieve a higher score. For example, the mobile application may check the comments for relevance, misspelled words, vulgarity, and for compliance with the terms of service for a particular website. The mobile application could also search for other content/discussions/sites that are related to the current conversation. The app could then help the user cite relevant references in making comments or take the user to an alternative location to do research or engage in the new conversation.
The flowchart and block diagram in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In one embodiment, the functionality described herein can be accessed externally from a primary server. For example, a server for a news organization that is already adapted to “pre-mediate” comments by a human mediator (e.g., a “super-user”), prior to posting, can grant mediator access privileges to an IP address associated with an external (i.e., third-party) server providing the evaluation and scoring functionality described herein. This third-party server can be commanded, by its operator(s), to log into the primary server as a human mediator with suitable privileges to perform the disclosed machine-based evaluation and scoring, including consideration of user-offered certificates (if provided along with a post). Alternatively, the primary server can be adapted or modified to initiate an IP session with the third-party server and deliver new posts and comments for evaluation and scoring, either in a streaming or batch-oriented mode.
In one embodiment comprising a third-party server as described above, the third-party server is adapted to provide new status certificates according to criteria specified by the primary server (electronically, in real time), or criteria specified by the primary server's owner/operator (via off-line agreements between humans). In this embodiment, the new status certificates are provided to the primary server as encapsulated messages interspersed with the scored messages (i.e., with unique message headers indicating their contents), or via a logical or physical side-channel.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
The preceding description has been presented only to illustrate and describe examples of the principles described. This description is not intended to be exhaustive or to limit these principles to any precise form disclosed. Many modifications and variations are possible in light of the above teaching.

## Claims

1. A method for promoting learned discourse in online forums comprising:
providing access to content of a forum on a forum server to a number of users through an I/O module;
receiving a comment from a user computing device associated with a first user and communicatively coupled to the forum server;
analyzing, with a content analysis module executed on a computer processor, the comment from the first user to produce an a priori score for the comment;
receiving, via the I/O module, a portable certificate of status describing a status of the first user;
accessing a certificate module to record the portable certificate of status;
verifying the authenticity of the portable certificate of status;
using the portable certificate of status, with a scoring module executed on the computer processor, to produce an a posteriori score for the comment;
generating, with a status certificate module, a forum performance status certificate based on a plurality of a posteriori scores of the first user; and
transmitting the forum performance status certificate to the user computing device associated with the first user.

2. The method of claim 1, wherein said received portable certificate of status is generated by an entity that is independent of the forum server.

3. The method of claim 2, wherein the portable certificate of status is encrypted with a private key of the independent entity, the independent entity providing a matching public key to authenticate the portable certificate of status.

4. The method of claim 1, wherein receiving a portable certificate of status describing a status of the first user, accessing a certificate module to record the portable certificate of status, and verifying the authenticity of the portable certificate of status, are performed before the step of receiving a comment from the first user.

5. The method of claim 2, further comprising:
generating a measure of relevance of the portable certificate of status to the content; and
weighing, with the scoring module, the a priori score according to the relevance of the portable certificate of status to produce the a posteriori score.

6. The method of claim 5, wherein generating a measure of relevance of the portable certificate of status to the content comprises:
accessing a mapping table to map status measurements of an independent site or entity generating the portable certificate of status to status measurements of the forum server; and
weighing a status contained in the portable certificate of status according to the mapping.

7. The method of claim 5, wherein generating a measure of relevance of the portable certificate of status to the content comprises:
generating a correlation metric between content of an independent site or domain of relevance of the independent entity producing the portable certificate of status and the content on the forum server the first user has commented on, with greater similarities between content of the independent site or domain of relevance of the independent entity producing the portable certificate of status and the content on the forum server producing a higher a posteriori score.

8. The method of claim 1, wherein generating the forum performance status certificate generates a portable certificate of status by:
encrypting the forum performance status certificate with a private key; and
making a matching public key available for validation of the forum performance status certificate.

9. The method of claim 1, wherein the forum performance status certificate is generated by an external server separate from the forum server.

10. A method for establishing status using portable status certificates comprising:
accepting, by a receiving computing device, an encrypted portable status certificate from a user computing device, said portable status certificate issued by an issuer of a portable status certificate for a user, the portable status certificate describing at least a status of an online persona of the user associated with a domain not hosted by the receiving computing device;
accessing a public key of the issuer;
decrypting, with a computer processor of the receiving computing device, the encrypted portable status certificate using the public key;
verifying, with the computer processor and a certificate module of the receiving computing device, that the encrypted portable status certificate was issued by the issuer; and
assigning, with the computer processor and a scoring module of the receiving computing device, a status to the user based on a status contained in the encrypted portable status certificate; the status usable to adjust a display of user status on a user interface.

11. The method of claim 10, wherein the status usable to adjust a display of user status on a user interface is usable to further adjust the displayed score of a comment or posting received from the user; or
is alternatively usable to adjust the displayed score of a comment or posting received from the user.

12. A method for producing a portable status certificate comprising:
evaluating, with a first forum server, a user's online interaction in relation to a set of performance criteria;
assigning a status to the user based on the interaction;
generating, with a status module executed by a forum server processor, an encrypted portable status certificate by encrypting the status of the user with a private key, the portable status certificate describing at least a status of an online persona of the user and accessible on a second forum server when the second forum server receives the portable status certificate from the user;
issuing, to the user, the encrypted portable status certificate;
providing access to a matching public key for the encrypted portable status certificate; and
wherein issuing the portable status certificate to the user comprises transferring the portable status certificate to a user computing device associated with the user.

13. A forum server comprising:
content data stored in computer readable memory and accessible to users via an I/O module, said content data comprising a plurality of previously-received comments submitted by one or more users, each previously-received comment associated with a score;
a received comment, submitted by a first user, also stored in the computer readable memory;
a comment analysis module, executed by a computer processor, to analyze content of the received comment and to generate an a priori score for the received comment; and
a scoring module, executed by the computer processor, to analyze the status of the first user submitting the received comment, and to adjust the a priori score to reflect the status of the first user submitting the received comment to produce an a posteriori score;
in which the previously-received comments and the received comment are displayed according to the scores of the previously-received comments and the a posteriori score of the received comment; and
a status module to generate a portable certificate of status based on the first user's interaction in discourse hosted by the forum server, in which the status module:
encrypts the portable certificate of status using a private key;
makes a public key available for verification of the portable certificate of status; and
transmits the portable certificate of status to a user computing device communicatively coupled to the forum server;

and
wherein, the portable status certificate describes at least a status of an online persona of the first user and accessible on a second forum server when the second forum server receives the portable status certificate from the user.

14. The forum server of claim 13, further comprising a certificate module to:
accept an encrypted portable certificate of status from the first user submitting the received comment;
validate the portable certificate of status by accessing a public key of an authority issuing the portable certificate of status and decrypting the portable certificate of status; and
communicate validation results and status of the first user submitting the received comment to the scoring module;
the certificate module comprising a mapping module to determine relevance of the portable certificate of status to the content data, wherein the certificate module passes a measure of the relevance to the scoring module to be included in calculation of the a posteriori score.

15. A system comprising at least one forum server and an external server wherein the at least one forum server comprises a computer readable memory comprising:
content data accessible to users via an I/O module, said content data comprising a plurality of previously-received comments submitted by one or more users, each previously-received comment associated with a score;
a received comment, submitted by a first user;
a status of the first user submitting the received comment;
wherein the external server is in communication with the at least one forum server, the at least one forum server communicating the received comment and the status of the first user submitting the received comment to the external server, the external server comprising:
a comment analysis module to analyze the received comment and generate an a priori score; and
a Bayesian scoring module to analyze the status of the first user submitting the received comment, and to adjust the a priori score to reflect the status of the first user submitting the received comment to produce an a posteriori score;
wherein the status of the first user submitting the received comment is represented by an encrypted portable certificate of status and wherein the portable certificate of status is transferred to at least a computing device associated with the first user.

16. The system of claim 15, wherein the external server further comprises:
a certificate module to validate the encrypted portable certificate of status by accessing a public key of an authority issuing the portable certificate of status and decrypting the encrypted portable certificate of status; and
a mapping module to determine relevance of the portable certificate of status to the content data, wherein the mapping module passes a measure of the relevance of the portable certificate of status to the scoring module to be included in calculation of the a posteriori score.

17. A method for promoting learned discourse in online forums comprising:
providing access to content of a forum on a first forum server to a number of users through an I/O module of the first forum server;
receiving a comment from a user computing device associated with a first user and communicatively coupled to the forum server;
analyzing, with a content analysis module executed on a processor of the first forum server, the comment from the first user to produce an a priori score for the comment;
receiving, from the user computing device, a portable certificate of status describing a status of the first user from which said comment was received, the portable status of certificate describing at least a status of an online persona of the user associated with another domain not hosted by the first forum server;
accessing a certificate module of the forum server to record the portable certificate of status;
verifying the authenticity of the portable certificate of status;
using the portable certificate of status, with a scoring module executed on the computer processor, to produce an a posteriori score for the comment; and
transferring the portable certificate of status to the user computing device.