Embodiments generally relate to systems and methods for extracting and visualizing user-centric communities from emails. A set of email data comprising a set of users can be identified and a communication graph comprising a center node can be generated from the email data. The center node can be removed from the communication graph and a set of communities can be determined from the remaining data. The center node can be reconnected to a center of each of the set of communities to form a community graph. The links connecting the center node with the center of each of the set of communities can have a weight calculated according to a formula. The community graph can be visualized and provided to an administrator.
|
1. A method of processing data, the method comprising:
identifying, from email data, a set of users associated with the email data;
generating a communication graph between the set of users, wherein the communication graph comprises a single center node;
generating an obscured graph by removing the center node from the communication graph;
determining, by a processor, a set of communities of the obscured graph; and
generating a community graph by connecting the center node with a center of each of the set of communities,
wherein the center node is connected to the center of each of the set of communities via a set of links and wherein a set of weights associated with the set of links is generated using an equation
wherein r corresponds to the center node and Ci corresponds to the set of communities.
9. A system for processing data, comprising:
an interface to a storage device configured to store email data; and
a processor, communicating with the storage device via the interface, the processor being configured to:
identify, from the email data, a set of users associated with the email data;
generate a communication graph between the set of users, wherein the communication graph comprises a single center node;
generate an obscured graph by removing the center node from the communication graph;
determine a set of communities of the obscured graph; and
generate a community graph by connecting the center node with a center of each of the set of communities,
wherein the center node is connected to the center of each of the set of communities via a set of links and wherein a set of weights associated with the set of links is generated using an equation
wherein r corresponds to the center node and Ci corresponds to the set of communities.
4. The method of
5. The method of
6. The method of
filtering the communication graph via one or more of a field, a keyword, or a time-span.
7. The method of
8. The method of
generating a visualization of the community graph; and
providing the visualization of the community graph to an administrator.
12. The system of
13. The system of
14. The system of
filtering the communication graph via one or more of a field, a keyword, or a time-span.
15. The system of
16. The system of
generating a visualization of the community graph; and
providing the visualization of the community graph to an administrator.
|
This invention relates generally to community detection and visualization, and more particularly, to systems, methods and devices for generating personal communication graphs from emails of a user mailbox.
Complex networks can comprise topological features that seldom occur in simple networks but often occur in real-world networks such as computer networks, biological networks, and social networks. A complex network is said to have a community structure if the network divides into groups of nodes, wherein the groups of nodes are more densely connected internally than with the rest of the network, suggesting that the data comprises one or more natural divisions. For example, a social network can have community groups based on occupation, location, interests, education, and the like. Further, characteristics such as the small-world property, clustering, and community structure can be found in complex network data.
Finding community structures in a network can prove difficult because, for example, the number of community structures within the network may be unknown and the community networks can be of unequal size and/or density. Some existing methods can be used to discover community structures within a network, such as, for example, hierarchical clustering, the Girvan-Newman algorithm, modularity maximization, and others. While these methods can prove successful in analyzing conventional networks, these methods behave poorly when analyzing personal electronic mail (email) data.
Therefore, it may be desirable to have systems and methods for community detection in complex networks. In particular it may be desirable to have systems and methods for detecting and visualizing community traits within personal email data.
An embodiment generally relates to method of processing data. The method comprises identifying, from email data, a set of users associated with the email data and generating a communication graph between the set of users, wherein the communication graph comprises a center node. Further, the method comprises generating an obscured graph by removing the center node from the communication graph, determining a set of communities of the obscured graph, and generating a community graph by connecting the center node with a center of each of the set of communities.
Another embodiment pertains generally to a system for processing data. The system comprises an interface to a storage device configured to store email data and a processor that communicates with the storage device via the interface. The processor is configured to identify, from the email data, a set of users associated with the email data, generate a communication graph between the set of users, wherein the communication graph comprises a center node, generate an obscured graph by removing the center node from the communication graph, determine a set of communities of the obscured graph, and generate a community graph by connecting the center node with a center of each of the set of communities.
Various features of the embodiments can be more fully appreciated, as the same become better understood with reference to the following detailed description of the embodiments when considered in connection with the accompanying figures, in which:
For simplicity and illustrative purposes, the principles of the present teachings are described by referring mainly to exemplary embodiments thereof. However, one of ordinary skill in the art would readily recognize that the same principles are equally applicable to, and can be implemented in, all types of analysis systems, and that any such variations do not depart from the true spirit and scope of the present invention. Moreover, in the following detailed description, references are made to the accompanying figures, which illustrate specific embodiments. Electrical, mechanical, logical and structural changes can be made to the embodiments without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense and the scope of the present invention is defined by the appended claims and their equivalents.
Embodiments generally relate to systems and methods for community detection and visualization. In particular, the embodiments relate to platforms and techniques for parsing email data of a user and detecting communities common to a set of users associated with the parsed data. In embodiments, the term “email data” as used herein can refer to any type of communication data exchanged between users over a network. The email data can further comprise source and destination data or metadata that can be found in fields such as, for example, “TO:”, “FROM:”, “CC:”, “BCC:”, and others. The email data can be aggregated or gathered from online or offline email accounts, one or more user inboxes or mailboxes, mail directories, or other mail collections.
In embodiments, the term “user” as used herein can refer to a person, entity, or party who receives or sends an email. In an individual email, communication links between users can be represented in the metadata fields “TO:”, “FROM:”, “CC:”, “BCC:”, and others. The email data, taken together, can bring information on communities around a certain activity or interest. In embodiments, a communication graph G=(V, E) can be extracted from a collection of email data, wherein V is the set of communicating users and E is an edge set. In some embodiments, because some users can have multiple email addresses, a user disambiguation step can be conducted to unify all emails of the same user.
As shown in
The email data visualization 110 comprises data that was compiled from an email inbox of an individual using conventional techniques and algorithms. As shown in
As shown in
In embodiments, in STEP 2 (210), a communication graph 212 can be generated from the email data 206. More particularly, the communication graph 212 (G) can be represented by a formula G=(V, E), wherein V comprises a set of communicating users of the email data 206, and E is an edge set. In embodiments, a matrix W can be defined as a set of weights over the edge set E in the communication graph 212, and can be represented by a formula W={w(i,j)}. In embodiments, the set of communicating users V and the associated edge set E can represent communication links between the set of communicating users, and can be gathered from metadata fields in the email data 206 such as, for example, “TO:”, “FROM:”, “CC:”, “BCC:”, and the like. Specifically, the data of the communication graph 212 can represent certain activities, interests, age, education, hobbies, and the like, among the set of communication users V. The communication graph 212 can comprise a center node 214 that can be a subset of the set of communicating users V. More particularly, the center node 214 can comprise one or more of the set of communicating users V such as, for example, the user whose account(s) is associated with the email data 206.
In embodiments, in STEP 3 (215), an obscured graph G0 216 can be generated from the communication graph 212. In particular, the obscured graph G0 216 can be generated by removing the center node 214 and the corresponding edges between the center node 214 and the outer points of the communication graph 212. What can remain in the obscured graph G0 216 are the outer points of the communication graph 212. In embodiments, in STEP 4 (220), a set of communities Ci 222 can be detected from the data points in the obscured graph 216. For example, as shown in
In embodiments, in STEP 5 (225), a community graph UG 227 can be generated from the set of communities Ci 222 and the communication graph 212. In particular, the community graph UG 227 can comprise the set of communities Ci 222 connected to the center node 214. As shown in
As shown in
As detailed in equation (1), for each core node in the center node r 214 and for each community in the set of communities Ci 222, a graph is composed of the data points of each of the set of communities Ci 222. It should be appreciated that the graph can be composed according to any algorithm or technique. After the graph is composed, the center ci of each of the set of communities Ci 222 can be determined and denoted. Next, the appropriate link from the set of links 226 can be connected from the center node r 214 to the respective center ci. In embodiments, the appropriate link from the set of links 226 can have a weight equal to that specified in equation (1), or other values. Further, in embodiments, the community graph UG 227 can be visualized using various algorithms and techniques such as, for exam pie, an energy-based layout.
In embodiments, the communication graph G 212 and the weight matrix W can be filtered according to various criteria. Specifically, the communication graph 212 and the weight matrix W can be filtered with field and keyword pairs, wherein the field entry can refer to the metadata entry from which the email data is gathered, and the keyword entry can be a word(s) to be searched. For example, the user can specify the keyword “baseball” from the email body field, whereby the emails having “baseball” in its body section will be retained for the communication graph 212. In further embodiments, the communication graph G 212 and the weight matrix W can be filtered with a time-span, timeframe, or the like. For example, a time-span entry can specify that only emails from 1 Jan. 1999 to 31 Jan. 1999 will be retained for the communication graph 212. It should be appreciated that other filtering criteria are envisioned such as, for example, whether the email has an attachment, a size of the email, and other metrics. In embodiments, a user, administrator, or other entity or logic can specify the field and keyword pairs, the time-span entry, or other filtering criteria. Further, the filtering criteria can be specified automatically by logic.
As shown in the communication graph of
As shown in
In 420, the center node can be removed from the communication graph to generate an obscured graph. In embodiments, the center node and a set of links connecting the center node with the outer data points can be removed from the communication graph. In 425, a set of communities can be determined from the obscured graph. In embodiments, the set of communities can be determined from the remaining data points of the obscured graph, and can be determined using any community detection algorithm or technique.
In 430, the center-node can be reinserted and connected to a center of each of the set of communities to form a community graph. In embodiments, the set of communities can be rearranged and a center of each of the set of communities can be determined. Further, the center node can be connected to the center of each of the set of communities via a link with a weight specified by the equation (1). In 435, the community graph can be visualized. In embodiments, the community graph can be visualized using, for example, an energy-based layout. Further, in embodiments, the visualization can be provided to a user, administrator, or other entity via, for example, a graphical user interface (GUI) or other component or medium.
The processor 508 can further communicate with a network interface 504, such as an Ethernet or wireless data connection, which in turn communicates with the network 509, such as the Internet or other public or private networks. The processor 508 can also communicate with the database 515 or any applications 505, such as a graph generation tool or other logic, to execute control logic and perform the email data extraction and graph visualization as described herein.
While
Certain embodiments can be performed as a computer program. The computer program can exist in a variety of forms both active and inactive. For example, the computer program can exist as software program(s) comprised of program instructions in source code, object code, executable code or other formats; firmware program(s); or hardware description language (HDL) files. Any of the above can be embodied on a computer readable medium, which include storage devices and signals, in compressed or uncompressed form. Exemplary computer readable storage devices include conventional computer system RAM (random access memory), ROM (read-only memory), EPROM (erasable, programmable ROM), EEPROM (electrically erasable, programmable ROM), and magnetic or optical disks or tapes. Exemplary computer readable signals, whether modulated using a carrier or not, are signals that a computer system hosting or running the present invention can be configured to access, including signals downloaded through the Internet or other networks. Concrete examples of the foregoing include distribution of executable software program(s) of the computer program on a CD-ROM or via Internet download. In a sense, the Internet itself, as an abstract entity, is a computer readable medium. The same is true of computer networks in general.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various modifications to the described embodiments without departing from the true spirit and scope. The terms and descriptions used herein are set forth by way of illustration only and are not meant as limitations. In particular, although the method has been described by examples, the steps of the method can be performed in a different order than illustrated or simultaneously. Those skilled in the art will recognize that these and other variations are possible within the spirit and scope as defined in the following claims and their equivalents.
Patent | Priority | Assignee | Title |
10147071, | Mar 23 2015 | International Business Machines Corporation; International Business Machines Coprporation | Visual representation of an email chain |
10453071, | Sep 09 2013 | UNITEDLEX CORP | Interactive case management system |
11803860, | Sep 09 2013 | UNITEDLEX CORP. | Email mappings |
Patent | Priority | Assignee | Title |
6437804, | Oct 23 1997 | CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc | Method for automatic partitioning of node-weighted, edge-constrained graphs |
7610367, | Dec 30 2003 | Telenor ASA | Method for managing networks by analyzing connectivity |
7894372, | May 31 2005 | IAC SEARCH & MEDIA, INC | Topology-centric resource management for large scale service clusters |
8090665, | Sep 24 2008 | NEC Corporation | Finding communities and their evolutions in dynamic social network |
8386574, | Oct 29 2009 | Xerox Corporation | Multi-modality classification for one-class classification in social networks |
8396855, | May 28 2010 | International Business Machines Corporation | Identifying communities in an information network |
8560681, | May 10 2011 | TELEFONICA, S A | Method of characterizing a social network communication using motifs |
20030160695, | |||
20050044268, | |||
20050138070, | |||
20060080422, | |||
20080086551, | |||
20100145771, | |||
20100217869, | |||
20100268719, | |||
20110087968, | |||
20110103682, | |||
20110191693, | |||
20120215865, | |||
20120259915, | |||
20120290672, | |||
20120331064, | |||
20130046842, | |||
20130135314, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 15 2011 | CHIDLOVSKII, BORIS | Xerox Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 026214 | /0796 | |
May 03 2011 | Xerox Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Mar 11 2014 | ASPN: Payor Number Assigned. |
Sep 22 2017 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 06 2021 | REM: Maintenance Fee Reminder Mailed. |
May 23 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Apr 15 2017 | 4 years fee payment window open |
Oct 15 2017 | 6 months grace period start (w surcharge) |
Apr 15 2018 | patent expiry (for year 4) |
Apr 15 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 15 2021 | 8 years fee payment window open |
Oct 15 2021 | 6 months grace period start (w surcharge) |
Apr 15 2022 | patent expiry (for year 8) |
Apr 15 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 15 2025 | 12 years fee payment window open |
Oct 15 2025 | 6 months grace period start (w surcharge) |
Apr 15 2026 | patent expiry (for year 12) |
Apr 15 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |