Abstract:
A computer model finds an originating community member or members, for instance amongst bloggers, scientific researchers, or phenomena in phenomenological systems. In one embodiment, non-explicit causal relationships may be inferred from comparing blogs as a whole. Influence relationships are derived from a weighted, directed graph output and sources of influence are ranked. This implementation is useful for a variety of applications.

Description:
RELATED APPLICATIONS 
     The present application is filed concurrently with U.S. patent application Ser. No. 12/960,131; “GROUP VARIABLE SELECTION IN SPATIOTEMPORAL MODELING,” Inventors A. C. Lozano and V. Sindhwani, which is incorporated herein by reference. 
     BACKGROUND 
     The present disclosure relates to identifying authorities within a community, and to the use of machine learning to achieve that task. 
     One context in which it is useful to identify sources of authority is online social networks. The emergence of the web2.0 phenomenon has set in place a planetary-scale infrastructure for rapid proliferation of information and ideas. Social media platforms such as blogs, twitter accounts, and online discussion sites are large-scale forums where every individual can voice a potentially influential public opinion. According to recent surveys a massive number of internet users are turning to such forums to collect recommendations and reviews for products and services shaping their choices and stances by the commentary of the online community as a whole. 
     A traditional approach to organizing network information is ranking web-pages in a hyperlinked environment. Examples include
         PageRank from Page, L., Brin, S., Motwani, R., and Winograd, T., “The pagerank citation ranking: Bringing order to the web,”  Tech. Rep., Stanford Digital Libraries,  1998. And   Hubs-and-Authorities per Kleinberg, Jon M. “Authoritative sources in a hyperlinked environment,”  Journal of the ACM,  46:668-677, 1999.       

     SUMMARY 
     The inventors have identified the following problems, which fall into this field:
         Which members in a community, e.g. which blogs or twitter accounts, should a consumer follow in order to get a gist of the community opinion as a whole?   How can a company identify members (e.g. bloggers) whose commentary can change brand perceptions across this universe, so that marketing interventions—e.g. per Melville, P., Sindhwani, V., and Lawrence, R. Social media analytics: Channeling the power of the blogosphere for marketing insight.  WIN,  2009—can be effectively strategized?       

     Other contexts with similar issues include
         phenomenological systems, such as biological systems, where genes, population features, or ecosystem features can be viewed as authorities governing behavior of aspects of the system;   academic publications, where some authorities influence others.       

     In each case, though, computer based modeling is intended to be the implementation, rather than the blogs, the systems, or the publications themselves. Improved organizational approaches to information would be desirable in identifying authority. 
     It is desirable to distinguish influencers and authorities in communities. 
     In one embodiment, a computer method includes carrying out operations on at least one data processing device. The operations include interfacing with a plurality of records of content originating from a human purveyor of information. The operations further include inferring at least one non-explicit causal relationship among at least two sets of records based on temporal sequence of appearance of content. The operations further include identifying influence relationship among originating community members, each associated with a set of records. 
     In another embodiment, a computer program product for identifying influence may include a storage medium readable by a processing circuit and storing instructions to be run by the processing circuit for performing a method as indicated in the preceding paragraph. 
     In yet another embodiment, a system may include
         at least one medium for storing data;   at least one interface for gathering data and supplying outputs;   at least one processing device for carrying out operations, the operations including the aforementioned method.       

     Further objects and advantages will become apparent in the following. 
    
    
     
       BRIEF DESCRIPTION OF FIGURES 
       Embodiments will now be described by way of non-limiting example with respect to the following figures. 
         FIG. 1  is a schematic of an environment in which the invention may be implemented. 
         FIG. 2A  shows input data in a graphic format. 
         FIG. 2B  shows an output graph illustrating influence. 
         FIG. 3  shows an output variable group, and input variable groups for multivariate (multiple-output) regression. 
         FIG. 4   a - 1  is a flowchart showing ranking of results of MGCM. 
         FIG. 4   a - 2  shows an algorithm called Multivariate Granger Causal Modeling (“MGCM”). 
         FIG. 4   b - 1  shows a first embodiment of the subprocedure VARSEL in the MGCM algorithm. 
         FIG. 4   b - 2  shows a second embodiment of the subprocedure VARSEL. 
         FIG. 5  shows a causal graph of influencers in the field of theoretical physics. 
         FIG. 6   a  shows a causal graph of influencers. 
         FIG. 6   b  shows a hyperlink graph relating to the same data of  FIG. 6   a.    
     
    
    
     DETAILED DESCRIPTION 
     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 media may be utilized. The computer readable medium may be a computer readable signal medium or 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: an electrical connection having one or more wires, 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), an optical fiber, 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. 
     A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport 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 for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;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&#39;s computer through any type of network, including 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). 
     Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, 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 medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which 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, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
       FIG. 1  shows a system in which the invention may be implemented. A plurality of user work stations  101  are coupled via an optional network  102  to at least one server  103 . Records of communications within the system may be kept in various places such as data bases maintained by providers [not shown], data sources at  104 , or storage  105  local to server  103 . This drawing is not intended to imply limitations on numbers or types of components. For instance, user work stations might be of any suitable sort, such as personal computers, cell phones, personal digital assistants, or televisions with set top boxes. The network might be the Internet or some other network such as a Local Area Network (LAN) within an organization. The server might also be of any suitable sort. There might be more or less of any illustrated component and multiple types of components might be used together. Additional components, not shown, may be present. Processing might be located in one machine or distributed over a number of locations. 
     In prior systems, relationships between content were discerned by explicit markings, such as hyperlinks in the online environment or citations in the print environment. Herein the term “non-explicit” will be used to distinguish that type of system, in other words relationships will be discerned from other aspects of the content. 
     The term “causal” herein means something less than “cause.” Something may be “causal” if it is suspected of being a cause or behaves like a cause, even if it is not in fact the cause. 
     The term “originating community member” will be used herein to mean an entity associated with a set of content. For instance, a blogger or author can be an originating community member with respect to words or an element of a phenomenological system can be an originating community member with respect to gathered data. An originating community member can be considered causal with respect to another community member. When the originating community member is a causal person, that person can be regarded as an “authority”. 
     The term “jointly” as used herein means that the influence of all the bloggers on each other is assessed based on a joint consideration of all bloggers into a joint model, rather than performing isolated pair-wise tests between pairs of bloggers disregarding the presence and impact of other bloggers. As described below with respect to  FIG. 4 , this joint consideration of all bloggers may involve a loop over all the bloggers, where at each iteration one focuses on a specific blogger and the influence of all the bloggers is jointly assessed on the specific blogger under consideration, rather than literal joint processing. 
     The term “simultaneous” as used herein need not mean literally simultaneously. It means that a group of regressions are modeled together, using the same set of input variable groups as predictors for the group of regressions, and where the decision of whether to include or exclude input variable groups in the aforementioned set is made jointly for the whole regression group. 
     While it is desired herein to consider the content of each blogger “as a whole” in determining influence, this concept is not intended to exclude the possibility that certain trivial words such as “the” or “to” might be filtered out. 
     It would appear that the mechanics of opinion exchange and adoption would make the problem of inferring authority and influence in social media settings somewhat different from the problem of ranking generic web-pages. Certainly, PageRank and other graph-based measures (Wasserman, S. and Faust, K.  Social Network Analysis . Cambridge Univ. Press, 1994) can be computed on a hyperlink graph between bloggers to obtain an authority ranking; however, explicit citations in the form of hyperlinks cannot capture the much larger degree of implicit endorsement of opinions. 
     Consider the following example that typifies the process of opinion adoption. A consumer is looking to buy a laptop. She initiates a web search for the laptop model and browses several discussion and blog sites where that model has been reviewed. The reviews bring to her attention that, among other nice features, the laptop also has excellent speaker quality. Next she buys the laptop and in a few days herself blogs about it. Arguably, conditional on being made aware of speaker quality in the reviews she had read, she is more likely to herself comment on that aspect without necessarily attempting to find those sites again in order to link to them in her blog. In other words, the actual post content is the trace that the opinion was implicitly absorbed, rather than a link to the original opinion. Moreover, the temporal order of events in this interaction is indicative of the direction of causal influence. 
     A method of formalizing these intuitions is in terms of the notion of  Granger Causality  (Granger, C. Testing for causality: A personal viewpoint.  Journal of Economic Dynamics and Control,  2:329-352, 1980). Introduced by the Nobel Prize winning economist, Clive Granger, this notion has been used as an operational representation of causality in time series analysis. It is based on the intuition that a cause should precede its effect, and in particular if a time series variable X causally affects another Y, then the past values of X should be helpful in predicting the future values of Y, beyond what can be predicted based on the past values of Y alone. 
     A number of concepts will be introduced herein. These include:
         mapping the authority problem to that of inferring causal influence relationships;   extending the notion of Granger Causality to operate on a collection of multiple time series variables representing the evolving textual content of a community of bloggers.   using blog communities to concretize ideas that hold more generally to a wider class of spatiotemporal causal modeling settings. Examples from the wider class include finding causal influence relationships amongst authors of scientific papers, genes from single or cross-species for which one wishes to identify the regulatory mechanisms, populations with certain characteristics (e.g. children) in which one seeks to model the spreading of a disease.   proposing a method implementing the aforementioned extension of Granger causality, which we refer to as Multivariate Granger Causal Modeling.   Proposing the use of U.S. patent application Ser. No. 12/960,131, as an embodiment for a subprocedure in the method of Multivariate Granger Causal Modeling.   outputting a weighted causal graph that encodes influence relationships between bloggers.   based on properties of this graph, introducing a family of influence measures called GrangerRanks.       

     For each blogger Bj, it is desirable to determine which bloggers Bi i=1, . . . G are influencing Bj, by performing one multivariate regression for Y in terms of X, where Y and X are defined in  FIG. 4 , below. Basically Y is the content of blogger j over time, and X is the “lagged” content of all the bloggers over time. So there is one multivariate regression, but using several observations over time. Several observations can be understood as meaning that Y and X have many rows as follows:
         The 1 st  row of Y is content for blogger Bj at time t, and the corresponding first row of X is content for all the bloggers at time t-1, . . . t-d.   The 2 nd  row of Y is content of Bj at time t-1 and the 2 nd  row of X is content of all the bloggers at time ((t-1)−1), . . . ((t-1)−d), . . . .   The k th  row of Y is content of Bj at time t−(k−1) and the 2 nd  row of X is content of all the bloggers at time ((t−(k−1))−1), . . . ((t−(k−1))−d), . . . Etc.       

     The term simultaneous then refers to the concept that if a blogger A influences another blogger B, all the content of A should be predictive of all the content of B, though filtering may be used to eliminate overly frequent words. The decision of whether a blogger A is influencing another blogger B is thus based on examining the relevance of all the content of A on all the words of B, “simultaneously”/ at once. 
     For convenience, the description below is with respect to a community of bloggers, though the proposed methodology applies to a variety of communities (e.g. authors of scientific papers). It is desirable to seek out authorities and influencers that are causal drivers of future discussions and opinions in the community. The following definition is used. It generalizes the notion of Granger Causality, which was originally defined for a pair of time series only, to multiple groups of times series, which are together referred to in the definition as “content”: 
     Granger Causality: A collection of bloggers is said to influence Blogger B i  if their collective past content (e.g. blog posts), together with the past content of Blogger Bi, is predictive of the future content of Blogger B i , more so than the past content of Blogger B i  alone. 
     Here the notion of Granger causality is generalized. The original definition is for a pair of time series only. Namely the original definition is something like: “Time series A causes times series B if regressing for B in terms of past of A and B is better than regressing for B in terms of past of B alone.” The extension includes the combination of two aspects: 1) a “collection” is judged jointly rather than a “single” entity, namely the potential influence of several bloggers on at least one blogger is determined jointly rather than individually for each pair of bloggers, and 2) each entity is composed of multiple time series, rather than a single time series, and hence the aforementioned judgment is based on the simultaneous effect that one entity may have on another entity, namely on multiple time series, rather than on a single time series. This definition can be viewed as spatial in the sense that each blogger&#39;s content is formed by multiple words so the various words form the spatial dimension, while the evolution over time leads to the temporal dimension. Accordingly the term “spatiotemporal” causal modeling may be used in conjunction with algorithms or modeling with respect to inferring influence within a community, including those based on this definition. 
     While Granger Causality is used in the disclosed embodiment, one of ordinary skill in the art might devise embodiments using other types of causality, such as Judea Pearl causality. 
     Let B 1  . . . B G  denote a community of G bloggers. To develop the above intuition further, a representation of “content” will be presented and “predictive” will be derived. With each blogger, content variables are associated, which encompass frequencies of words relevant to a topic across time. Specifically, given a dictionary of K words and the time-stamp of each blog post,
         w i   k,t  will represent the frequency of the k th  word for blogger B i  at time t.   B t   i =[w i   1,t , . . . , w i   K,t ] will represent the content of blogger B i  at time t   {B i   t } i=1, . . . , G; t=1, . . . T  is a collection of multiple time series, one for each blogger B i :, where T is the time span of analysis—serving as an input   O: the output o is a causal graph that encodes causal relationships between bloggers.
 
Input and output are illustrated schematically in  FIGS. 2A and 2B .
       

       FIG. 2A  is a schematic diagram of five bloggers, numbered 1, 2, 3, 4, and 5. Each is generating various words over a period of time. For simplicity the present embodiment uses word counts at each time point, and does not consider the particular structure of the words into sentences, but such structure might be incorporated into a different embodiment. The evolution of the frequencies of the words over time is measured for each blogger as illustrated by the multiple time series depicted next to each blogger number in the figure. These are not real time series. They are just metaphorical illustrations of what the bloggers are doing.  FIG. 2B  shows a causal graph that might be output. Each node in the graph represents a blogger, and the edges indicate influence relationship. Specifically, this graph shows 
     blogger 5 influencing blogger 1, 
     blogger 1 influencing blogger 2, 
     blogger 2 influencing blogger 3, and 
     blogger 4 influencing bloggers 1, 2, and 3. 
     Again, this is not a graph of real data, just a schematic illustration. 
     The causal graph of  FIG. 2B  illustrates predicting the bloggers&#39; content variables at time t {B t   i } i=1, . . . G , in terms of the past content of the population, over a time window that is a parameter of the disclosed model. This is a multivariate regression (see L. Breiman and J. H. Friedman, “Predicting multivariate responses in multiple linear regression”, Journal of the Royal Statistical Society: Series B, (1), 1997) with GK-dimensional response vector {B t   i } i=1, . . . G , in terms of groups of input variables, {B 1   t-l } l=1   d , {B 2   t-l } l=1   d , . . . , {B G   t-l } l=1   d , illustrated in  FIG. 3 . This multivariate regression problem can be solved globally or decomposed by looping over all the bloggers, where, in step j of the loop which corresponds to blogger Bj one considers the sub-problem of predicting Bj&#39;s content variables at time t, B t   i , in terms of the past content of the population, over a time window which is a parameter of the disclosed model. At each step j, a multivariate regression with K-dimensional response vector B t   j  in terms of groups of input variables, {B 1   t-l } l=1   d , {B 2   t-l } l=1   d , . . . , {B G   t-l } l=1   d  is used. 
     The following makes the extension of Granger causality more precise. A methodology of “Multivariate Granger Causal Modeling” is proposed, which implements the aforementioned extension. 
     A natural extension of the Granger-causality test would be to assert that blogger B i  influences blogger B j  if the past content of B i  is significantly helpful if predicting the future content of B j , compared to using the past content of B j  alone. More formally, the multivariate regression for B j   t  in terms of B j   t-1 , . . . , B j   t-d  and B i   t-1 , . . . , B i   t-d  will be compared to the multivariate regression for B j   t  in terms of B j   t-1 , . . . , B j   t-d  alone. 
     However, performing isolated pairwise tests as above rather than jointly encompassing all the bloggers may be suboptimal, since the test is not performed in full view of blogger community and does not incorporate the possible influence from other bloggers. 
     An alternate approach is to apply regression algorithms with variable selection to estimate the causal graph, e.g. using variants of Lasso, which minimize the usual sum of squared errors plus a penalty on the regression coefficients, see for instance Friedman, J., Hastie, T., and Tibshirani, R., “Sparse inverse covariance estimation with the graphical lasso,” Biostatistics, 9(3):432-441, July 2008; Meinshausen, N. and Bühlmann, P., “High-dimensional graphs and variable selection with the Lasso,” Ann. Statist. 34 1436-1462, 2006; Yuan, M. and Lin, Y., “Model selection and estimation in regression with grouped variables,” Journal of the Royal Statistical Society, Series B, 68:49-67, 2006, all of which are incorporated herein by reference. Such methods have also been successfully applied to infer causal relationships between individual time series data. For instance Lozano, A. C., Abe, N., Liu Y., and Rosset, “S. Grouped graphical granger modeling for gene expression regulatory networks discovery”,  Bioinformatics, vol.  25 (no. 12), 2009 (“Lozano a”) addressed the problem of gene regulatory network discovery by applying the Group Lasso algorithm for variable group selection, where the lagged variables are grouped according to the time series to which they belong 
     The use of such variable selection methods should be guided by the fact that it would be more desirable to know whether the past content of blogger B, as a whole is predictive of the future content of blogger rather than whether the frequency for a certain word for B i  is predictive, with a certain time lag, of the frequency of a certain word for B j . Hence the past word frequencies of a given blogger should be treated as an input group, and the selection process should be done with respect to the variable groups, i.e., {B 1   t-l } l=1   d , {B 2   t-l } l=1   d , . . . , {B G   t-l } l=1   d  rather than the individual variables, i.e., {w i   k,t-l , kε{1, . . . , K}, lε{1, . . . d}, iε{1, . . . , G}}. This is done within the procedure denoted MG-OMP (namely in the VARSEL subprocedure), which is an iterative procedure including variables one block at a time, rather than one single variable at a time. In addition, it is reasonable to assume that if a blogger B i  influences a blogger B j , the impact of B i  should be felt throughout the entire content of B j . Hence the decision of whether or not to select B i &#39;s past content as predictor for B j &#39;s future content, should be made simultaneously across the K regressions for the word frequencies of in the multivariate regression. That is, the input variable group corresponding to B j  will be either simultaneously included in the K models forming the multivariate regression for B j  (albeit with different regression coefficients for each model), or excluded from all of them, and in that sense the target variables in the regressions for Bj will be treated as an output group. 
       FIG. 4   a - 1  shows an overview flowchart of an embodiment. At  401 , inputs, as schematized in  FIG. 3 , are provided. At  402 , the Multivariate Granger Causal Modeling (“MGCM”) is applied to the inputs. The output of MGCM at  403  is a weighted adjacency matrix for the bloggers considered in the analysis. At  404  a ranking procedure is applied to the weighted adjacency matrix. At  405  a ranked list of bloggers is output, where the order reflects influence. 
     Algorithm 1, shown in  FIG. 4   a - 2 , which describes the generic procedure of MGCM. The procedure takes observations of the content data for the G bloggers as input. It outputs an adjacency matrix describing the inferred causal graph between bloggers: each node corresponds to a blogger, and an edge from B i  to B j  indicates that blogger B i  influences blogger B j . It also returns the regression coefficients of the underlying regressions, which can then be used to assess the strength of the uncovered causal relationships, as indicated in the section marked Granger Ranks below. The use of the subprocedure denominated Multivariate Group Orthogonal Matching Pursuit (“MG-OMP”), incorporated by reference above, is proposed as part of a preferred embodiment for the variable selection subprocedure, denoted by VARSEL in  FIG. 4   a - 2 . The reason for this is that MG-OMP is a method for multivariate regression that performs variable block selection, where the blocks are defined by specifying input variables groups and output variable groups. It is thus able to take into account the input and output group structures naturally defined by each blogger&#39;s content. The influence relationships between bloggers is then assessed at the overall content level for the candidate predictors (via variable block selection), as well as for each target blogger (via simultaneous selection within the output groups corresponding to each target blogger from the multivariate regression). 
     More precisely, in VARSEL, MG-OMP can be applied once for the whole population, considering G output variable groups, namely, one for each blogger&#39;s future content, and G input variable groups, namely one for each blogger&#39;s past content. This is described in  FIG. 4   b - 1 . Alternatively one may apply MG-OMP G times, once per blogger, as shown in  FIG. 4   b - 2 , considering at each application a single output variable group, namely the future content of the blogger under consideration, and G input variable groups, namely one for each blogger&#39;s past content. For each blogger B j , either of these ways can be viewed as an application of a Granger test on B j  against bloggers B 1 , B 2 , . . . , B G . One can then conclude that a certain blogger B i  influences blogger B j , if the input variable group {B i   t-l } lε{1, . . . , d}  is selected for the output variable group corresponding to Bj by the variable selection method of U.S. patent application Ser. No. 12/960,131. 
     GrangerRanks 
     The weighted adjacency matrix of the causal graph (the output MA of Algorithm 1), naturally induces a family of influence measures that will be called GrangerRanks. This family considered at  404  includes the following measures studied.
         1. GrangerOutDegree: Rank vertices (bloggers) according to the weighted outdegree of the weighted adjacency matrix. More precisely, for each blogger Bi, compute the sum of the entries in the weighted adjacency matrix that departs from Bi, then rank the bloggers according to the aforementioned sum, so that the larger the sum, the higher the rank. Analogously a Granger InDegree ranks vertices according to the weighted indegree of the weighted adjacency matrix.   2. GrangerPageRank: Ranks vertices (bloggers) according to the PageRank scores computed from the weighted adjacency matrix. More precisely, apply the PageRank algorithm using the weighted adjacency matrix as input, then rank the bloggers according to the scores output by Pagerank.       

     Other natural possibilities include causality based extensions of Kleinberg&#39;s HITS algorithm Kleinberg, Jon M. Authoritative sources in a hyperlinked environment.  Journal of the ACM,  46:668-677, 1999 (ranking web-pages in a hyperlinked environment) and other measures proposed in the social network analysis literature Wasserman, S. and Faust, K.  Social Network Analysis . Cambridge Univ. Press, 1994. The HITS algorithm, developed by Jon Kleinberg in 1999 in the context of ranking webpages, may be seen as an alternative to the PageRank for hyperlink analysis. It computes two scores (authority and hub) for each node of a hyperlink graph with the intuition that there exist a set of “hub pages” that link to multiple authoritative pages. It implements the mutually reinforcing relationship that good hubs point to good authorities and a good authority is a page that is pointed to by many good hubs. Computationally, HITS computes the dominant left and right singular vectors of the graph adjacency matrix. It was originally proposed as a query specific ranking method which is applied to hyperlinked documents that match a user query. 
     Empirical Studies 
     Three experiments were conducted representing increasingly realistic settings. The first used a simulated dataset where blogger content data were generated as per a known causal graph. This setting seeks to directly validate how well the model presented herein recovers the underlying graph. The second example used a dataset consisting of research papers in high-energy physics made publicly available, originally in the context of a data mining competition called “KDD Cup 2003”. In this academic publishing setting, the citation count is generally accepted as a measure of authority of an author. Herein GrangerRank is compared against the citation count to measure how well GrangerRank aligns with the more common measure in this domain. Finally, an example of industrial application of the model presented herein is used to track influencers in blog communities posting content relevant to a software brand. 
     Simulated Datasets 
     Vector Auto-Regressive (“VAR”) models (c.f. (Enders, W.,  Applied Econometric Time Series , John Wiley &amp; Sons, 2003)) were used to construct simulated datasets. Specifically, B t  denotes the vector resulting from the concatenation of all the bloggers&#39; content at time t, i.e.
 
( B   t ) T   =[B   1   t   , . . . , B   C   t ].
 
     Then a VAR model is expressed as
 
 B   t   =A   1   ·B   t-1   + . . . +A   d   ·B   t-d +noise
 
where A 1  is a (KG)×(KG) coefficient matrix over all the bloggers&#39; word frequency variables, for lag
 
l=1, . . . , d. In experiments, a G×G adjacency matrix was randomly generated that determined the structure of the “true” blogger&#39;s network. Then for each edge from B i  to B, the coefficients in the matrices A 1  were randomly assigned for the entries whose columns correspond to the word frequencies of B i  and whose rows correspond to the word frequencies of B j . The model thus obtained was then applied on a random initial vector to generate time series data {X t } t=1, . . . , τ  of a specified length τ. The adjacency matrix is over the bloggers, corresponding to the idea that the true causal structure is at the level of the bloggers, rather than the individual lagged word frequency variables. In each experiment, the true adjacency matrix was generated using an affinity (i.e., the probability that each edge is included in the bloggers graph) chosen randomly uniformly between 0.01 and 1 (to vary the sparsity of the true graph). The coefficients of the VAR model, noise, and initial distribution were sampled according to normal distributions with mean 0 and standard deviation 0.25, 0.1, 0.1, respectively. The following values are set: G=20, K=10, d=5, and τ=100. The performance of Multivariate Granger Causal Modeling (“MGCM”), is evaluated using precision P, recall R and F1 measure
 
                 F   1     =       2   ⁢           ⁢   PR       (     P   +   R     )         ,         
over 20 runs, viewing the causal modeling problem as that of predicting the inclusion of the edges in the true graph. More precisely, letting A* denote the target adjacency matrix, A the output adjacency matrix, and V×V the set of feature pairs, precision P and recall R are defined as follows:
 
     
       
         
           
             P 
             = 
             
               
                  
                 
                   { 
                   
                     
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                       ∈ 
                       
                         V 
                         × 
                         
                           V 
                           : 
                           
                             
                               A 
                               ^ 
                             
                             ⁡ 
                             
                               [ 
                               
                                 i 
                                 , 
                                 j 
                               
                               ] 
                             
                           
                         
                       
                     
                     = 
                     
                       A 
                       * 
                       
                         [ 
                         
                           i 
                           , 
                           j 
                         
                         ] 
                       
                     
                   
                   } 
                 
                  
               
               
                  
                 
                   { 
                   
                     
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                       ∈ 
                       
                         V 
                         × 
                         
                           V 
                           : 
                           
                             
                               A 
                               ^ 
                             
                             ⁡ 
                             
                               [ 
                               
                                 i 
                                 , 
                                 j 
                               
                               ] 
                             
                           
                         
                       
                     
                     = 
                     1 
                   
                   } 
                 
                  
               
             
           
         
       
       
         
           
             R 
             = 
             
               
                  
                 
                   { 
                   
                     
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                       ∈ 
                       
                         V 
                         × 
                         
                           V 
                           : 
                           
                             
                               A 
                               ^ 
                             
                             ⁡ 
                             
                               [ 
                               
                                 i 
                                 , 
                                 j 
                               
                               ] 
                             
                           
                         
                       
                     
                     = 
                     
                       A 
                       * 
                       
                         [ 
                         
                           i 
                           , 
                           j 
                         
                         ] 
                       
                     
                   
                   } 
                 
                  
               
               
                  
                 
                   { 
                   
                     
                       
                         ( 
                         
                           i 
                           , 
                           j 
                         
                         ) 
                       
                       ∈ 
                       
                         V 
                         × 
                         
                           V 
                           : 
                           
                             
                               A 
                               ^ 
                             
                             * 
                             
                               [ 
                               
                                 i 
                                 , 
                                 j 
                               
                               ] 
                             
                           
                         
                       
                     
                     = 
                     1 
                   
                   } 
                 
                  
               
             
           
         
       
     
     The F1 measure, Precision and Recall are accuracy scores between 0 and 1. The closer these are to 1, the better. The results, presented in table below confirm the effectiveness of the “MGCM” method in recovering underlying blogger graphs, as average F1 measure, precision and recall obtained in experiments are close to 1.0. 
                                         Method   F 1  measure   Precision   Recall                   MGGCM   89.5% (±0.4%)   91.7% (±1%)   88.7% (±1%)                    
Influencers in Theoretical Physics
 
     Dataset Description: Drawn from a dataset provided as part of the data mining competition, “KDD Cup 2003”, this dataset is publically available at: http://www.cs.cornell.edu/projects/kddcup/datasets.html. It contains the latex sources of all papers in the hepth portion of the arXiv (http://arxiv.org) until May 1, 2003. These are 29555 theoretical papers in high energy physics. The upload date for each paper is also available. Also available is the citation graph between papers. Data was processed as follows: the unix utility detex was used to strip all latex elements and extract the textual content from each document. Next the documents were tokenized and document-term matrices were constructed over a vocabulary of words satisfying the following criteria: (a) contain more than 2 but less than 50 characters, (b) document frequency is more than 10, (c) not present in a stopword dictionary. No stemming was done in order to preserve the technical language. These criteria resulted in 43691 words. The authors for each paper were obtained by parsing pre-processed XML attributes available from: http://kdl.cs.umass.edu/data/hepth/hepth-info.html. In total, there were 9200 unique author names. 41 papers had timestamps before the start of the year 1992. These were removed, resulting in 29514 documents. 
     In consultation with a theoretical physicist, analysis used a time granularity of 1 month. In total, the data spans 137 months. Unsupervised word selection was done as follows. On the original document-term matrix (29514 documents and 43691 words), an NMF topic model was constructed with 50 topics. For each topic, the top 10 words were identified. Across the 50 topics, this resulted in a smaller vocabulary of 463 words. For each of the 9200 authors, a word-time matrix of size 463×137 was created, which was the usage of the topic-specific key words across time. One year, i.e., d=12 months was used as maximum time lag. 
     Results: 
     The model disclosed herein resulted in the causal graph shown in  FIG. 5  showing influence relationships amongst high energy physicists. Table 1 below lists the top 20 authors according to Granger-OutDegree (also marked on the graph), GrangerPager-Rank and Citation Count. 
     
       
         
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
               
                   
                   
               
               
                   
                 GrangerOutdegree 
                 GrangerPageRank 
                 Citation Count 
               
               
                   
                   
               
             
             
               
                   
                 E. Witten 
                 E. Witten 
                 E. Witten 
               
               
                   
                 C. Vafa 
                 C. Vafa 
                 N. Seiberg 
               
               
                   
                 Alex Kehagias 
                 Alex Kehagias 
                 C. Vafa 
               
               
                   
                 Arkady Tseytlin 
                 Arkady Tseytlin 
                 J. M. Maldacena 
               
               
                   
                 P. K. Townsend 
                 P. K. Townsend 
                 A. A. Sen 
               
               
                   
                 Jacob Sonnenschein 
                 Jacob Sonnenschein 
                 Andrew Strominger 
               
               
                   
                 Igor Klebanov 
                 R. J. Szabo 
                 Igor Klebanov 
               
               
                   
                 R. J. Szabo 
                 G. Moore 
                 Michael Douglas 
               
               
                   
                 G. Moore 
                 Igor Klebanov 
                 Arkady Tseytlin 
               
               
                   
                 Michael Douglas 
                 Ian Kogan 
                 L. Susskind 
               
               
                   
                 Ian Kogan 
                 Michael Douglas 
                 J. Polchinski 
               
               
                   
                 C. S. Chu 
                 C. S. Chu 
                 P. K. Townsend 
               
               
                   
                 I. Antoniadis 
                 S. Gukov 
                 S. Gubser 
               
               
                   
                 S. Gukov 
                 I. Antoniadis 
                 S. Ferrara 
               
               
                   
                 S. Theisen 
                 S. Ferrara 
                 G. Moore 
               
               
                   
                 S. Ferrara 
                 S. Theisen 
                 M. Cvetic 
               
               
                   
                 M. Berkooz 
                 M. M. Sheikh- 
                 Tom Banks 
               
               
                   
                   
                 Jabbari 
               
               
                   
                 J. L. F. Barbon 
                 M. Berkooz 
                 H. Ooguri 
               
               
                   
                 Per Kraus 
                 J. L. F. Barbon 
                 R. E. Kallosh 
               
               
                   
                 R. Tatar 
                 Per Kraus 
                 Christopher M. Hull 
               
               
                   
                   
               
             
          
         
       
     
     The model identified several leading figures such as Edward Witten, Cumrun Vafa, Arkady Tseytlin, Igor Klebanov, P. K. Townsend as authorities in theoretical physics, comparably to the citation count technique. 
     In this domain, number of citations is commonly viewed as a valid measure of authority given disciplined scholarly practice of citing prior related work. Thus, citation-count based ranking is considered as the standard for comparison of new techniques. Table 2 shows that GrangerPageRank and GrangerOutDegree have high positive rank correlation with citation counts. This experiment confirms that the present embodiment is able to identify key influencers in this domain, and is in agreement with how this community recognizes its authorities. 
                                   TABLE 2                   Rank correlations on Physics dataset.                Measure   Rank Correlation                       GrangerPageRank vs. CitationCount   0.728           GrangerOutDegree vs. CitationCount   0.384                        
IBM Lotus Bloggers
 
     Dataset Description: 
     A dataset was obtained by crawling blogs pertaining to the IBM Lotus software brand http://www-01.ibm.com/software/lotus/. The crawl process ran in conjunction with a binary classifier classifying posts into either relevant or irrelevant so as to continuously filter out posts irrelevant to Lotus discussions. The top 15000 most relevant lotus posts between Jan. 1, 2009 and Jan. 12, 2010. A document-term matrix was created over a vocabulary of 11050 terms that had document-frequency more than 10, and the usual Porter stemming and stopword removal steps were applied. On this matrix, an unsupervised feature selection procedure selected a smaller set of 96 keywords. This was done by obtaining the top 10 words per topic from a Non-negative Matrix Factorization (NMF) based topic model trained to find 10 document clusters. 192 posts did not contain any of these words and were removed. A graph between posts to blogs in the same collection was also obtained, from which a blogger-blogger citation network was assembled. In all, this dataset represents a Lotus blogging community of 684 bloggers, each associated with multiple time series describing the frequency of 96 words over a time period of 376 days. One week was considered, i.e., d=7 days as maximum time lag. 
     Results: 
       FIG. 6(   a ) shows the causal graph learnt by the present embodiment on the left, and  FIG. 6(   b ) shows the hyperlink graph on the right. The causal graph is sparser than the hyperlink graph. It would appear that, by identifying fewer and therefore likely more significant causal relationships between bloggers, the causal graphs allow clearer inspection of the authorities and also appear to better expose striking sub-community structures in this blog community. 
     Table 3 presents rank correlation between PageRank, Indegree and Outdegrees computed over the causal graph and the hyperlink graph. Positive correlations indicate that measures computed on either graph partially capture related latent rankings, but at the same time are also sufficiently different from each other. 
     
       
         
               
               
               
             
           
               
                   
                 TABLE 3 
               
               
                   
                   
               
               
                   
                 Measure 
                 Rank Correlation 
               
               
                   
                   
               
             
             
               
                   
                 GrangerPagerRank &amp; HyperlinkPageRank 
                 0.44 
               
               
                   
                 GrangerOutDegree &amp; HyperlinkInDegree 
                 0.25 
               
               
                   
                 GrangerInDegree &amp; HyperlinkOutDegree 
                 0.65 
               
               
                   
                   
               
             
          
         
       
     
     
       
         
               
               
               
             
               
               
               
             
           
               
                 TABLE 4 
               
               
                   
               
               
                 Rank 
                 GrangerPageRank 
                 HyperlinkPageRank 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 1 
                 http://www.theregister.co.uk 
                 http://www.edbrill.com/ebrill/edbrill.nsf/ 
               
               
                 2 
                 http://www.edbrill.com/ebrill/edbrill.nsf/ 
                 http://www.ns-tech.com/blog/geldred.nsf 
               
               
                 3 
                 http://soa.sys-con.com/ 
                 http://www.switched.com 
               
               
                 4 
                 http://lifehacker.com 
                 http://www.lbenitez.com 
               
               
                 5 
                 http://www.dominoguru.com 
                 http://www.dominopower.com/ 
               
               
                 6 
                 http://communities.vmware.com 
                 http://planetlotus.org/forum/index.php 
               
               
                 7 
                 http://www.heise-online.co.uk 
                 http://www.versiontracker.com/ 
               
               
                 8 
                 http://www.techworld.com 
                 http://www.johndavidhead.com/jhead/johnhead.nsf/ 
               
               
                 9 
                 http://www.eweek.com 
                 http://blogs.toalsys.com/toalsys_blog.nsf 
               
               
                 10 
                 http://www.cmswire.com/ 
                 http://www.dominoguru.com 
               
               
                   
               
             
          
         
       
     
     Table 4 lists the top 10 bloggers according to GrangerPagerRank and HyperlinkPageRank scores. Interestingly, the top authority as per the disclosed model is the British technology news and opinion site The Register, which arguably is less likely to be explicitly linked to as compared to a personal blog site. Ed Brill, a recognized IBM Lotus Blogger, is identified as an authority by both causality and hyperlink based metrics. On Jan. 27, 2010, after the analysis period, he acknowledged press coverage coming from UK, in particular giving an example from The Register. 
     The flowchart and block diagrams 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 diagrams 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 diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams 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. 
     From reading the present disclosure, other modifications will be apparent to persons skilled in the art. Such modifications may involve other features which are already known in the field and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure of the present application also includes any novel feature or novel combination of features disclosed herein either explicitly or implicitly or any generalization thereof, whether or not it mitigates any or all of the same technical problems as does the present invention. The applicants hereby give notice that new claims may be formulated to such features during the prosecution of the present application or any further application derived therefrom. 
     The word “comprising”, “comprise”, or “comprises” as used herein should not be viewed as excluding additional elements. The singular article “a” or “an” as used herein should not be viewed as excluding a plurality of elements. Unless the word “or” is expressly limited to mean only a single item exclusive from other items in reference to a list of at least two items, then the use of “or” in such a list is to be interpreted as including (a) any single item in the list, (b) all of the items in the list, or (c) any combination of the items in the list. Use of ordinal numbers, such as “first” or “second,” is for distinguishing otherwise identical terminology, and is not intended to imply that operations or steps must occur in any particular order, unless otherwise indicated. 
     Where software or algorithms are disclosed, anthropomorphic or thought-like language may be used herein. There is, nevertheless, no intention to claim human thought or manual operations, unless otherwise indicated. All claimed operations are intended to be carried out automatically by hardware or software. 
     Where software or hardware is disclosed, it may be drawn with boxes in a drawing. These boxes may in some cases be conceptual. They are not intended to imply that functions described with respect to them could not be distributed to multiple operating entities; nor are they intended to imply that functions could not be combined into one module or entity unless otherwise indicated.