# Patent

## Title
Association significance

## Abstract

Systems and techniques for determining significance between entities are disclosed. The systems and techniques identify a first entity having an association with a second entity, apply a plurality of association criteria to the association, weight each of the criteria based on defined weight values, and compute a significance score for the first entity with respect to the second entity based on a sum of a plurality of weighted criteria values. The systems and techniques utilize information from disparate sources to create a uniquely powerful signal. The systems and techniques can be used to identify the significance of relationships (e.g., associations) among various entities including, but not limited to, organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general term/s, metadata elements, classification codes, and combinations thereof.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority to U.S. Provisional Application No. 61/445,236 filed Feb. 22, 2011, entitled ‘Information Processing and Visualization Methods and Systems’, the content of which is incorporated herein in its entirety.


TECHNICAL FIELD
This disclosure relates to entity associations, and more particularly to systems and techniques for measuring entity associations.
BACKGROUND
Today, investment decisions in the financial markets require careful analysis of information available from multiple sources. To meet this challenge, financial institutions typical maintain very large datasets that provide a foundation for this analysis. For example, forecasting stock market, currency exchange rate, bank bankruptcies, understanding and managing financial risk, trading futures, credit rating, loan management, bank customer profiling, and money laundering analyses all require large datasets of information for analysis. The datasets of information can be structured datasets as well as unstructured data sets.
Typically, the datasets of information are used to model one or more different entities, each of which may have a relationship with other entities. For example, a company entity may be impacted by, and thereby have a relationship with, any of the following entities: a commodity (e.g., aluminum, corn, crude oil, sugar, etc.), a currency (e.g., euro, sterling, yen, etc.), and one or more competitor. Any change in one entity can have an impact on another entity. For example, rising crude oil prices can impact a transportation company's revenues, which can affect the company's valuation.
Given the quantity and nature of these datasets, each modeled entity tends to have multiple relationships with a large number of other entities. As such, it is difficult to identify which entities are more significant than others for a given entity.
Accordingly, there is a need for systems and techniques to automatically analyze all available data and assign significance scores to entity relationships.
SUMMARY
Systems and techniques for determining significance between entities are disclosed. The systems and techniques identify a first entity having an association with a second entity, apply a plurality of association criteria to the association, weight each of the criteria based on defined weight values, and compute a significance score for the first entity with respect to the second entity based on a sum of a plurality of weighted criteria values. The systems and techniques utilize information from disparate sources to create a uniquely powerful signal. The systems and techniques can be used to identify the significance of relationships (e.g., associations) among various entities including, but not limited to, organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof.
Various aspects of the invention relate to applying interestingness criteria to entity associations and weighting values associated with the interestingness criteria to generate a significance score.
For example, according to one aspect, a method of computing significance between entities includes identifying a first entity and a second entity from a plurality of entities, the first entity having a first association with the second entity, and the second entity having a second association with the first entity, and weighting a plurality of criteria values assigned to the first association. The plurality of criteria values based on a plurality of association criteria selected from the group consisting essentially of interestingness, recent interestingness, validation, shared neighbor, temporal significance, context consistency, recent activity, current clusters, and surprise element.
The method also includes computing a significance score for the first entity with respect to the second entity based on a sum of the plurality of weighted criteria values for the first association, the significance score indicating a level of significance of the second entity to the first entity, generating a signal associated with the computed significance score, and transmitting the signal.
In one embodiment, the plurality of entities represent one or more of the following: organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof. The plurality of entities may be identified from a set of documents, a structured data store, such as a database, or a combination thereof.
In another embodiment, the method further includes representing the plurality of entities in a computer memory using a computer-implemented data structure. For example, in one embodiment, the computer-implemented data structure is a directed graph, wherein vertices of the directed graph represent the plurality of entities, and edges of the directed graph represent associations between each the plurality of entities. The method may also include generating the associations using first entity and second entity co-occurrences in the set of documents.
In one embodiment, the method includes applying the interestingness criteria to the first association, wherein the interestingness criteria is based on a suitable measure such as (but not limited to) one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (5), Jaccard Index, and Klosgen (K). The method also includes assigning a value to one of the plurality of criteria values based on the one association measure.
The method may include applying the recent interestingness criteria to the first association, wherein the recent interestingness criteria is applied to the first association using a portion of at least one of the set of documents and the structured data store, the portion associated with a configurable pre-determined time interval and a suitable measure such as (but not limited to) one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (I), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K). The method also includes assigning a value to one of the plurality of criteria values based on the one association measure.
The method may include applying the validation criteria to the first association, wherein applying the validation criteria includes determining whether the first entity and the second entity co-exist as entity pairs in a pre-defined pair set, each of the pre-defined entity pairs identifying a known relationship between one another, and assigning a value to one of the plurality of criteria values based on the determination.
In one embodiment, the method may include applying the shared neighbor criteria to the first association, wherein applying the shared neighbor criteria includes determining a subset of entities having edges extending a pre-determined distance from the first entity and the second entity. The subset of entities represents an intersection of nodes neighboring the first entity and the second entity. The method also including computing an association value based at least in part on a number of entities included in the subset of entities, and assigning a value to one of the plurality of criteria values based on the computed association value.
In yet another embodiment, the method may include applying the temporal significance criteria to the first association, wherein applying the temporal significance criteria includes applying interestingness criteria using a first portion of at least one of the set of documents and the structured data store, the first portion associated with a first time interval and a second portion of the at least one of the set of documents and the structured data store. The second portion is associated with a second time interval and is different from the first time interval. The interestingness criteria includes, but is not limited to, one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K). The method also includes determining a difference value between a first association measure associated with the first time interval and a second association measure associated with the second time interval, and assigning a value to one of the plurality of criteria values based on the determined difference value.
The method may include applying the context consistency criteria to the first association, wherein applying the context consistency criteria includes determining a frequency of the first entity and the second entity occurring in a context. The context may be selected from any of the following: organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof. The method also includes assigning a value to one of the plurality of criteria values based on the determined frequency.
In one embodiment, the method includes applying the recent activity criteria to the first association, wherein applying the recent activity criteria includes computing an average of occurrences of the first entity and the second entity occurring in at least one of the set of documents and the structured data store, comparing the computed average of occurrences to an overall occurrence average associated with other entities in a same geography or business, and assigning a value to one of the plurality of criteria values based on the comparison. The computed average of occurrences and the overall occurrence average may also be seasonally adjusted.
The method may also include applying the current clusters criteria to the first association, wherein applying the current clusters criteria includes determining a number of clusters that comprise the first entity and the second entity, comparing the number of clusters to an average number of clusters including entity pairs associated with a defined context and not including the first entity and the second entity as one of the entity pairs. The defined context may include an industry or geography applicable to the first entity and the second entity. The method also includes assigning a value to one of the plurality of criteria values based on the comparison. In one embodiment, the method also includes clustering the plurality of entities using a clustering algorithm.
In yet another embodiment, the method includes applying the surprise element criteria to the first association, wherein applying the surprise element criteria includes comparing a first context in which the first entity and the second entity occur in a prior time interval associated with a portion of at least one of the set of documents and the structured data store, to a second context in which the first entity and the second entity occur in a subsequent time interval associated with a different portion of the at least one of the set of documents and the structured data store. The method also includes assigning a value to one of the plurality of criteria values based on the comparison.
The method may include multiplying a user-configurable value associated with each of the plurality of criteria with each of the plurality of criteria values, and summing the plurality of multiplied values.
Additional systems, methods, as well as articles that include a machine-readable medium storing machine-readable instructions for implementing the various techniques, are disclosed. Details of various implementations are discussed in greater detail below.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic of an exemplary computer-based system for computing connection significance between entities.
FIG. 2 illustrates an exemplary method for determining connection significance between entities according to one embodiment of the invention.
FIG. 3 is a schematic of an exemplary directed graph.
FIG. 4 illustrates exemplary interestingness measures.



Like reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION
Turning now to FIG. 1, an example of a suitable computing system 10 within which embodiments of the present invention may be implemented is disclosed. The computing system 10 is only one example and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing system 10 be interpreted as having any dependency or requirement relating to any one or combination of illustrated components.
For example, the present invention is operational with numerous other general purpose or special purpose computing consumer electronics, network PCs, minicomputers, mainframe computers, laptop computers, as well as distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, loop code segments and constructs, etc. that perform particular tasks or implement particular abstract data types. The invention can be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules are located in both local and remote computer storage media including memory storage devices. Tasks performed by the programs and modules are described below and with the aid of figures. Those skilled in the art can implement the description and figures as processor executable instructions, which can be written on any form of a computer readable media.
In one embodiment, with reference to FIG. 1, the system 10 includes a server device 12 configured to include a processor 14, such as a central processing unit (‘CPU’), random access memory (‘RAM’) 16, one or more input-output devices 18, such as a display device (not shown) and keyboard (not shown), umd non-volatile memory 20, all of which are interconnected via a common bus 22 and controlled by the processor 14.
As shown in the FIG. 1 example, in one embodiment, the non-volatile memory 20 is configured to include an identification module 24 for identifying entities from one or more sources. The entities identified may include, but are not limited to, organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topic codes, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, and classification codes. An association module 26 is also provided for computing a significance score for an association between entities, the significance score being an indication of the level of significance a second entity has to a first entity.
In one embodiment, a context module 28 is provided for determining a context (e.g., a circumstance, background) in which an identified entity is typically referenced in or referred to, a cluster module 30 for clustering (e.g., categorizing) identified entities, and a signal module 31 for generating and transmitting a signal associated with the computed significance score. Additional details of these modules 24, 26, 28, 30 and 32 are discussed in connection with FIGS. 2, 3 and 4.
As shown in FIG. 1, in one embodiment, a network 32 is provided that can include various devices such as routers, server, and switching elements connected in an Intranet, Extranet or Internet configuration. In one embodiment, the network 32 uses wired communications to transfer information between an access device (not shown), the server device 12, and a data store 34. In another embodiment, the network 32 employs wireless communication protocols to transfer information between the access device, the server device 12, and the data store 34. In yet other embodiments, the network 32 employs a combination of wired and wireless technologies to transfer information between the access device, the server device 12, and the data store 34.
The data store 34 is a repository that maintains and stores information utilized by the before-mentioned modules 24, 26, 28, 30 and 31. In one embodiment, the data store 34 is a relational database. In another embodiment, the data store 34 is a directory server, such as a Lightweight Directory Access Protocol(‘LDAP’). In yet another embodiment, the data store 34 is an area of non-volatile memory 20 of the server 12.
In one embodiment, as shown in the FIG. I example, in one embodiment, the data store 34 includes a set of documents 36 that are used to identify one or more entities. As used herein, the words ‘set’ and ‘sets’ refer to anything from a null set to a multiple element set. The set of documents 36 may include, but are not limited to, one or more papers, memos, treatises, news stories, articles, catalogs, organizational and legal documents, research, historical documents, policies and procedures, business documents, and combinations thereof. In another embodiment, the data store 34 includes a structured data store, such as a relational or hierarchical database, that is used to identify one or more entities. In yet another embodiment, sets of documents and structured data stores are used to identify one or more entities.
A set of association criteria 38 is provided that comprises contingency tables used by the association module 26 to compute a significance score for an identified relationship between entities. In one embodiment, the contingency tables are associated with a set of interestingness measures that are used by the association module 26 to compute the significance score. An example of interestingness measures, along with each respective formulation, is shown in connection with FIG. 4.
The data store 34 also includes a set of entity pairs 40. Each pair included in the set of entity pairs 40 represents a known relationship existing between at least two identified entities. In one embodiment, the relationship is identified by an expert upon reviewing one of the set of documents 36. In another embodiment, the relationship is identified from the one or more set of documents 36 using a computer algorithm included in the context module 28. For example, upon reviewing a news story, an expert and/or the context module 28 may identify the presence of two entities occurring in the same news story,
As shown in FIG. 1, in one embodiment, a set of context pairs 42 are also provided. Each of the set of context pairs 42 represents a context that exists between at least two entities. For example, whenever a particular topic or item is discussed in a news story, the two entities also are mentioned in the same news story. Similar to the set of entity pairs 40 discussed previously, the set of context pairs may also be identified by an expert, or a computer algorithm included in the context module 28. Additional details concerning information included in the data store 34 are discussed in greater detail below.
Although the data store 34 shown in FIG. 1 is connected to the network 32, it will be appreciated by one skilled in the art that the data store 34 and/or any of the information shown therein, can be distributed across various servers and be accessible to the server 12 over the network 32, be coupled directly to the server 12, or be configured in an area of non-volatile memory 20 of the server 12.
Further, it should be noted that the system 10 shown in FIG. 1 is only one embodiment of the disclosure. Other system embodiments of the disclosure may include additional structures that are not shown, such as secondary storage and additional computational devices. In addition, various other embodiments of the disclosure include fewer structures than those shown in FIG. 1. For example, in one embodiment, the disclosure is implemented on a single computing device in a non-networked standalone configuration. Data input and requests are communicated to the computing device via an input device, such as a keyboard and/or mouse. Data output, such as the computed significance score, of the system is communicated from the computing device to a display device, such as a computer monitor.
Turning now to FIG. 2, an example method for determining connection significance between entities is disclosed. As shown in the FIG. 2 example, at step 44, the identification module 24 first generates a directed graph to represent entities identified in each of the set of documents 36. In one embodiment, the identification module 24 determines a frequency and co-occurrence of each entity in each of the set of documents 36, and then generates a contingency table to record and determine associations. The set of documents may be structured documents, including but not limited to eXtensible Markup Language (XML) files, as well as unstructured documents including, but not limited to articles and news stories. As described previously, the present invention is not limited to only using a set of documents to identify entities. For example, the present invention may use structured data stores including, but not limited to, relational and hierarchical databases, either alone or in combination with the set of documents to identify entities.
Further, it will be appreciated that the present invention is not limited to a directed graph implementation, and that other computer-implemented data structures capable of modeling entity relationships may be used with the present invention, such as a mixed graph and multi graph.
A schematic of an exemplary directed graph generated by the identification module 24 is shown in connection with FIG. 3. Each node 60, 62, 64, 66, 68, 70 and 72 of the graph represents an entity identified from one or more of the set of documents, and vertices (e.g., edges) of each node represent an association (e.g., relationship) between entities. For example, as shown in the FIG. 3 example, Entity A 60 has a first association 60A with Entity B 62 indicating a level of significance of Entity B 62 to Entity A 60, and a second association 60B with Entity B 62 indicating a level of significance of Entity A 60 to Entity B 62.
Referring back to FIG. 2, at step 46, the identification module 24 next identifies a first entity and at least one second entity from the directed graph. In one embodiment, the first entity is included in a user request and the second entity is determined by the identification module 24 using a depth-first search of the generated graph. In another embodiment, the identification module 24 uses the depth-first search on each node (e.g., first entity) of the graph to determine at least one other node (e.g., second entity).
Next, at step 48, once the first entity and second entity are identified, the association module 26 applies a plurality of association criteria 38 to one of the associations between the first entity and the second entity. The plurality of association criteria 38 include, but are not limited to, the following set of criteria: interestingness, recent interestingness, validation, shared neighbor, temporal significance, context consistency, recent activity, current clusters, and surprise element. Once the association criteria are applied, the association module 28 assigns criteria values to each of the association criteria.
For example, in one embodiment, the association module 26 may apply the interestingness criteria to the first association. Interestingness criteria are known to one skilled in the art and as a general concept, may emphasize conciseness, coverage, reliability, peculiarity, diversity, novelty, surprisingness, utility, and actionability of patterns (e.g., relationships) detected among entities in data sets. In one embodiment, the interestingness criteria is applied by the association module 26 to all associations identified from the set of documents 36 and may include, but is not limited to, one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K). Once the interestingness criteria is applied to the first association, the association module 26 assigns a value to the interestingness criteria based on the interestingness measure.
A list of example interestingness measures with accompanied formulas used by the association module 26 is shown is shown in connection with FIG. 4. As shown in the FIG. 4 example, one of the interestingness measures includes a correlation coefficient (Φ-coefficient) that measures the degree of linear interdependency between a pair of entities, represented by A and B in FIG. 4, respectively. The correlation coefficient is defined by the covariance between two entities divided by their standard deviations. The correlation coefficient equals zero (0) when entity A and entity B are independent and may range from minus one (−1) to positive one (+1).
In one embodiment, the association module 26 applies the recent interestingness criteria to the first association. The recent interestingness criteria may be applied by the association module 26 to associations identified from a portion of the set of documents 36 and/or a portion of a structured data store. The portion may be associated with a configurable pre-determined time interval. For example, the association module 26 may apply the recent interestingness criteria to only associations between entities determined from documents not older than six (6) months ago. Similar to the before-mentioned interestingness criteria, the recent interestingness criteria may include, but is not limited to, one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K). Once the recent interestingness criteria is applied to the first association, the association module 26 assigns a value to the recent interestingness criteria based on the interestingness measure.
The association module 26 may apply the validation criteria to the first association. In one embodiment, the association module 26 determines whether the first entity and the second entity co-exist as an entity pair in the set of entity pairs 40. As described previously, each of the entity pairs defined in the set of entity pairs 40 may be previously identified as having a relationship with one another. Based on the determination, the association module 26 assigns a value to the validation criteria indicating whether or not the first entity and the second entity exist as pair entities in the set of entity pairs 40.
The association module 26 may apply the shared neighbor criteria to the first association. In one embodiment, the association module 26 determines a subset of entities having edges extending a pre-determined distance from the first entity and the second entity. The subset of entities represents an intersection of nodes neighboring the first and second entity. The association module 26 then computes an association value based at least in part on a number of entities included in the subset of entities, and assigns a value to the shared neighbor criteria based on the computed association value.
For example, referring to FIG. 3 and assuming a pre-determined distance (e.g., a hop) of one (I) between entities in the graph, the shared entities (e.g., neighboring entities) between Entity A 60 and Entity B 62 are Entity C 64 and Entity D, resulting in a computed association value of two (2) which is assigned to the shared neighbor criteria. As shown in the FIG. 3 example, Entity E 68 and Entity F 70 are more than the pre-determined distance from Entity A 60, and Entity G 72 is more than the pre-deteirmined distance from Entity B 62.
Referring back to FIG. 2, at step 48, the association module 26 may apply the temporal significance criteria to the first association. In one embodiment, the association module 26 applies interestingness criteria to the first association as determined by a first portion of the set of documents and/or a first portion of a structured data store. The first portion is associated with a first time interval. The association module 26 then applies interestingness criteria to the first association as determined by a second portion of the set of documents and/or a second portion of the structured data store. The second portion associated with a second time interval different from the first time interval. The interestingness criteria may include, but is not limited to, one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (i), Odds ratio (a), Yule's Q, Yule's Y, Kappa (K), Mutual Information (M), i-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard index, and Klosgen (K).
Once the temporal significance criteria is applied, the association module 26 determines a difference value between a first interestingness measure associated with the first time interval and a second interestingness measure associated with the second time interval. The association module 26 then assigns a value to the temporal significance criteria based on the determined difference value.
The association module 26 may apply the context consistency criteria to the first association. In one embodiment, the association module 26 determines a frequency of the first entity and the second entity occurring in a context of each document of the set of documents 36. The context may include, but is not limited to, organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof. The association module 26 then assigns a value to the context consistency criteria based on the determined frequency.
The association module 26 also may apply the recent activity criteria to the first association. For example, in one embodiment, the association module 26 computes an average of occurrences of the first entity and the second entity occurring in one of the set of documents 36 and/or the structured data store. The association module 26 then compares the computed average of occurrences to an overall occurrence average associated with other entities in a same geography or business. One the comparison is completed, the association module 26 assigns a value to the recent activity criteria based on the comparison. In various embodiments, the computed average of occurrences and/or the overall occurrence average are seasonally adjusted.
The association module 26 may also apply the current clusters criteria to the first association. In one embodiment, identified entities are clustered together using the clustering module 30. The clustering module 30 may implement any clustering algorithm known in the art. Once entities are clustered, the association module 26 determines a number of clusters that include the first entity and the second entity. The association module 26 then compares the determined number of clusters to an average number of clusters that include entity pairs from the set of context pairs 42 and which do not include the first entity and the second entity as one of the entity pairs. In one embodiment, the defined context is an industry or geography that is applicable to both the first entity and the second entity. The association module 26 then assigns a value to the current cluster criteria based on the comparison.
The association module 26 may also apply the surprise element criteria to the first association. In one embodiment, the association module 26 compares a context in which the first entity and the second entity occur in a prior time interval associated with a portion of the set of documents and/or a portion of the structured data store, to a context in which the first entity and the second entity occur in a subsequent time interval associated with a different portion of the set of documents and/or the structured data store. The association module 26 then assigns a value to the surprise element criteria based on the comparison.
Referring to FIG. 2, once the plurality of criteria are applied to the first association, at step 50, the association module 26 weights each of the plurality of criteria values assigned to the first association. In one embodiment, the association module 26 multiplies a user-configurable value associated with each of the plurality of criteria with each of the plurality of criteria values, and then sums the plurality of multiplied criteria values to compute a significance score. As discussed previously, the significance score indicates a level of significance of the second entity to the first entity. In another embodiment, the association module 26 multiplies a pre-defined system value associated with each of the plurality of criteria, and then sums the plurality of multiplied criteria values to compute the significance score.
Once the significance score is computed, at step 54, the signal module 32 generates a signal including the computed significance score. Lastly, at step 56, the signal module 32 transmits the generated signal. In one embodiment, the signal module 32 transmits the generated signal in response to a received request.
Various features of the system may be implemented in hardware, software, or a combination of hardware and software. For example, some features of the system may be implemented in one or more computer programs executing on programmable computers. Each program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system or other machine. Furthermore, each such computer program may be stored on a storage medium such as read-only-memory (ROM) readable by a general or special purpose programmable computer or processor, for configuring and operating the computer to perform the functions described above.

## Claims

1. A method of computing significance between entities comprising:
automatically identifying a first entity and a second entity from a plurality of entities appearing within a document, the first entity having a first association with the second entity, and the second entity having a second association with the first entity;
automatically generating a set of context pairs representing a contextual relationship existing between the first and second entities;
automatically determining the first and second associations based at least in part on occurrences and co-occurrences of the first and second entity within the document and on the set of context pairs;
assigning a set of association criteria to the first association and determining a plurality of criteria values for the set of association criteria selected from a group consisting essentially of interestingness, recent interestingness, validation, shared neighbor, temporal significance, context consistency, recent activity, current clusters, and surprise element, the set of association criteria being other than similarity criteria;
weighting the plurality of criteria values assigned to the first association;
computing a significance score for the first entity with respect to the second entity based on a sum of the plurality of weighted criteria values for the first association, the significance score indicating a level of significance of the second entity to the first entity, wherein the significance score represents a quantification of the contextual relationship between the first and second entities;
generating a signal associated with the computed significance score; and
transmitting the signal.

2. The method of claim 1, wherein the plurality of entities comprise representations of one or more of the following: organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof.

3. The method of claim 2, comprising identifying the plurality of entities from a set of documents or a structured data store, or a combination thereof.

4. The method of claim 3, further comprising representing the plurality of entities in a computer memory using a computer-implemented data structure.

5. The method of claim 4, wherein the computer-implemented data structure is a directed graph, wherein vertices of the directed graph represent the plurality of entities, and edges of the directed graph represent associations between each the plurality of entities.

6. The method of claim 5, comprising:
applying the interestingness criteria to the first association, wherein the interestingness criteria comprises one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K); and
assigning a value to one of the plurality of criteria values based on the one interestingness measure.

7. The method of claim 5, comprising:
applying the recent interestingness criteria to the first association using a portion of at least one of the set of documents and the structured data store, the portion associated with a configurable pre-determined time interval and one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K); and
assigning a value to one of the plurality of criteria values based on the one association measure.

8. The method of claim 5, comprising:
applying the validation criteria to the first association, wherein applying the validation criteria comprises determining whether the first entity and the second entity co-exist as entity pairs in a pre-defined pair set, each of the pre-defined entity pairs identifying a known relationship between the first entity and the second entity; and
assigning a value to one of the plurality of criteria values based on the determination.

9. The method of claim 5, comprising:
applying the shared neighbor criteria to the first association, wherein applying the shared neighbor criteria comprises determining a subset of entities having edges extending a pre-determined distance from the first entity and the second entity, the subset of entities representing an intersection of nodes neighboring the first entity and the second entity, and computing an association value based at least in part on a number of entities included in the subset of entities; and
assigning a value to one of the plurality of criteria values based on the computed association value.

10. The method of claim 5, comprising:
applying the temporal significance criteria to the first association, wherein applying the temporal significance criteria comprises applying interestingness criteria using a first portion of at least one of the set of documents and the structured data store, the first portion associated with a first time interval, and a second portion of the at least one of the set of documents and the structured data store, the second portion associated with a second time interval, the first time interval different from the second time interval, the interestingness criteria comprises one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K);
determining a difference value between a first association measure associated with the first time interval and a second association measure associated with the second time interval; and
assigning a value to one of the plurality of criteria values based on the determined difference value.

11. The method of claim 5, comprising:
applying the context consistency criteria to the first association, wherein applying the context consistency criteria comprises determining a frequency of the first entity and the second entity occurring in a context, the context associated with one of the following: organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, and classification codes; and
assigning a value to one of the plurality of criteria values based on the determined frequency.

12. The method of claim 5, comprising:
applying the recent activity criteria to the first association, wherein applying the recent activity criteria comprises computing an average of occurrences of the first entity and the second entity occurring in at least one of the set of documents and the structured data store;
comparing the computed average of occurrences to an overall occurrence average associated with other entities in a same geography or business; and
assigning a value to one of the plurality of criteria values based on the comparison.

13. The method of claim 12, comprising seasonally adjusting the computed average of occurrences and the overall occurrence average.

14. The method of claim 5, comprising:
applying the current clusters criteria to the first association, wherein applying the current clusters criteria comprises determining a number of clusters that comprise the first entity and the second entity;
comparing the number of cluster to an average of clusters comprising entity pairs associated with a defined context and not including the first entity and the second entity as one of the entity pairs, the defined context comprising an industry or geography applicable to the first entity and the second entity; and
assigning a value to one of the plurality of criteria values based on the comparison.

15. The method of claim 14, comprising clustering the plurality of entities using a clustering algorithm.

16. The method of claim 5, comprising:
applying the surprise element criteria to the first association, wherein applying the surprise element criteria comprises comparing a first context in which the first entity and the second entity occur in a prior time interval associated with a portion of at least one of the set of documents and the structured data store, to a second context in which the first entity and the second entity occur in a subsequent time interval associated with a different portion of the at least one of the set of documents and the structured data store; and
assigning a value to one of the plurality of criteria values based on the comparison.

17. The method of claim 1, wherein weighting the plurality of criteria values comprises:
multiplying a user-configurable value associated with each of the plurality of criteria with each of the plurality of criteria values; and
summing the plurality of multiplied criteria values.

18. The method of claim 1, comprising transmitting the generated signal comprising the computed significance score in response to a request.

19. The system of claim 1, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
multiply a user-configurable value associated with each of the plurality of criteria with each of the plurality of criteria values; and
sum the plurality of weighted criteria values.

20. The system of claim 1, wherein the data repository comprises the set of documents and the structured data store.

21. A system comprising:
a data repository comprising one of a set of documents and a structured data store, the data repository comprising a plurality of entities;
a server including a processor and memory storing instructions that, in response to receiving a request for access to a service, cause the processor to:
automatically identify a first entity and a second entity from the plurality of entities appearing within a document, the first entity having a first association with the second entity, and the second entity having a second association with the first entity;
automatically generate a set of context pairs representing a contextual relationship existing between the first and second entities;
automatically determine the first and second associations based at least in part on occurrences and co-occurrences of the first and second entity within the document and on the set of context pairs;
assign a set of association criteria to the first association and determine a plurality of criteria values for the set of association criteria selected from a group consisting essentially of interestingness, recent interestingness, validation, shared neighbor, temporal significance, context consistency, recent activity, current clusters, and surprise element, the set of association criteria being other than similarity criteria;
weight the plurality of criteria values assigned to the first association;
compute a significance score for the first entity with respect to the second entity based on a sum of the plurality of weighted criteria values for the first association, the significance score indicating a level of significance of the second entity to the first entity wherein the significance score represents a quantification of the contextual relationship between the first and second entities;
generate a signal associated with the computed significance score; and
transmit the signal in response to the request.

22. The system of claim 21, wherein the plurality of entities comprise representations of one or more of the following: organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof.

23. The system of claim 22, wherein the memory stores instructions that, in response to receiving the request, cause the processor to identify the plurality of entities from the set of documents or the structured data store.

24. The system of claim 23, wherein the memory stores instructions that, in response to receiving the request, cause the processor to represent the plurality of entities in the memory using a computer-implemented data structure.

25. The system of claim 24, wherein the computer-implemented data structure is a directed graph, wherein vertices of the directed graph represent the plurality of entities, and edges of the directed graph represent associations between each the plurality of entities.

26. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the interestingness criteria to the first association, wherein the interestingness criteria comprises one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K); and
assign a value to one of the plurality of criteria values based on the one association measure.

27. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the recent interestingness criteria to the first association, wherein the recent interestingness criteria is applied to the first association using a portion of at least one of the set of documents and the structured data store, the portion associated with a configurable pre-determined time interval and one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), J-Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K); and
assign a value to one of the plurality of criteria values based on the one association measure.

28. The system of claim 24, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the validation criteria to the first association, wherein the processor determines whether the first entity and the second entity co-exist as entity pairs in a pre-defined pair set, each of the pre-defined entity pairs identifying a known relationship between the first entity and the second entity; and
assign a value to one of the plurality of criteria values based on the determination.

29. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the shared neighbor criteria to the first association, wherein the processor determines a subset of entities having edges extending a pre-determined distance from the first entity and the second entity, the subset of entities representing an intersection of nodes neighboring the first entity and the second entity, and computes an association value based at least in part on a number of entities included in the subset of entities; and
assign a value to one of the plurality of criteria values based on the computed association value.

30. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the temporal significance criteria to the first association, wherein the processor applies interestingness criteria using a first portion of at least one of the set of documents and the structured data store, the first associated with a first time interval, and a second portion of at least one of the set of documents and the structured data store, the second portion associated with a second time interval different from the first time interval, and the interestingness criteria comprises one of the following interestingness measures: correlation coefficient, Goodman-Kruskal's lambda (λ), Odds ratio (α), Yule's Q, Yule's Y, Kappa (κ), Mutual Information (M), Measure (J), Gini-index (G), Support (s), Confidence (c), Laplace (L), Conviction (V), Interest (I), cosine (IS), Piatetsky-shaporo's (PS), Certainty factor (F), Added Value (AV), Collective Strength (S), Jaccard Index, and Klosgen (K);
determine a difference value between a first association measure associated with the first time interval and a second association measure associated with the second time interval; and
assign a value to one of the plurality of criteria values based on the determined difference value.

31. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the context consistency criteria to the first association, wherein the processor determines a frequency of the first entity and the second entity occurring in a context of each document of the set of documents, the context associated with one of the following:
organizations, people, products, industries, geographies, commodities, financial indicators, economic indicators, events, topics, subject codes, unique identifiers, social tags, industry terms, general terms, metadata elements, classification codes, and combinations thereof;
assign a value to one of the plurality of criteria values based on the determined frequency.

32. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the recent activity criteria to the first association, wherein the processor computes an average of occurrences of the first entity and the second entity occurring in at least one of the set of documents and the structured data store;
compare the computed average of occurrences to an overall occurrence average associated with other entities in a same geography or business; and
assign a value to one of the plurality of criteria values based on the comparison.

33. The system of claim 32, wherein the memory stores instructions that, in response to receiving the request, cause the processor to seasonally adjust the computed average of occurrences and the overall occurrence average.

34. The system of claim 24, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the current clusters criteria to the first association, wherein the processor determines a number of clusters that comprise the first entity and the second entity;
compare the number of clusters to an average number of clusters comprising entity pairs associated with a defined context and not including the first entity and the second entity as one of the entity pairs, the defined context comprising an industry or geography applicable to the first entity and the second entity; and
assign a value to one of the plurality of criteria values based on the comparison.

35. The system of claim 34, wherein the memory stores instructions that, in response to receiving the request, cause the processor to cluster the plurality of entities using a clustering algorithm.

36. The system of claim 25, wherein the memory stores instructions that, in response to receiving the request, cause the processor to:
apply the surprise element criteria to the first association, wherein the processor compares a first context in which the first entity and the second entity occur in a prior time interval associated with a portion of at least one of the set of documents and the structured data store, to a second context in which the first entity and the second entity occur in a subsequent time interval associated with a different portion of the at least one of the set of documents and the structured data store; and
assign a value to one of the plurality of criteria values based on the comparison.

37. A device comprising:
means for automatically identifying a first entity and a second entity from a plurality of entities appearing within a document, the first entity having a first association with the second entity, and the second entity having a second association with the first entity;
means for automatically generating a set of context pairs representing a contextual relationship existing between the first and second entities;
means for automatically determining the first and second associations based at least in part on occurrences and co-occurrences of the first and second entity within the document and on the set of context pairs;
means for assigning a set of association criteria to the first association and determining a plurality of criteria values for the set of association criteria selected from a group consisting essentially of interestingness, recent interestingness, validation, shared neighbor, temporal significance, context consistency, recent activity, current clusters, and surprise element, the set of association criteria being other than similarity criteria;
means for weighting the plurality of criteria values assigned to the first association;
means for computing a significance score for the first entity with respect to the second entity based on a sum of the plurality of weighted criteria values for the first association, the significance score indicating a level of significance of the second entity to the first entity, wherein the significance score represents a quantification of the contextual relationship between the first and second entities;
means for generating a signal associated with the computed significance score; and
means for transmitting the signal.