US20090144418A1 - Methods and systems for enabling analysis of communication content while preserving confidentiality - Google Patents
Methods and systems for enabling analysis of communication content while preserving confidentiality Download PDFInfo
- Publication number
- US20090144418A1 US20090144418A1 US12/270,780 US27078008A US2009144418A1 US 20090144418 A1 US20090144418 A1 US 20090144418A1 US 27078008 A US27078008 A US 27078008A US 2009144418 A1 US2009144418 A1 US 2009144418A1
- Authority
- US
- United States
- Prior art keywords
- communication
- text
- communications
- renderable
- social
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
Definitions
- the present invention relates generally to analysis of communication content and, more particularly, to a system and method for enabling analysis of similarity of instances of communication content while preserving personal privacy.
- One of the main obstacles to testing hypotheses relating to labor and in particular white-collar labor is the difficulty of obtaining individual specific measures of input and output.
- Email and other forms of inter-personal communications represent a valuable and pervasive means of business, social and technical exchange. These forms of communication can provide much data for research on communities and social networks.
- email and other forms of inter-personal communication that can be digitized and rendered into text afford the possibility of direct observation that has many advantages over traditional self-report survey methods.
- a system for enabling analysis of similarity of instances of communication content while preserving confidentiality comprising: means for capturing communication content including instances of communication content that can be rendered into text; means for processing the captured communication content to adjust a level of similarity between separate instances of communication content; and means for hashing at least part of the processed communication content to obscure the actual communication content and to produce hashed tokens.
- a method of enabling analysis of similarity of instances of communication content while preserving confidentiality comprising: capturing communication content including instances of communication content that can be rendered into text; processing the captured communication content to adjust a level of similarity between separate instances of communication content; and hashing at least part of the processed communication content to obscure the actual communication content and to produce hashed tokens.
- a method of visualizing a communication interaction between at least two social units comprising: choosing a period of time; selecting at least one entire communication between at least two social units which occurred during the chosen period of time; and visually indicating when during the chosen period of time at least one of the selected entire communications occurred and a direction of the visually indicated entire communication.
- a method of visualizing a social network comprising: selecting information related to a social network to visualize; and displaying a node representing a social unit at a radius whose length is reflective of the information.
- a method of analyzing the similarity of communications while preserving the confidentiality of the communications comprising: capturing at least two entire communications; processing the at least two entire communications to improve the similarity of any similar content within the at least two entire communications and to reduce the similarity of any dissimilar content within the at least two entire communications; encrypting the at least two processed communications to generate tokens which obscure the actual content and are similar in nature for similar content; and comparing the tokens to identify similar content within the at least two processed communications without determining the actual content of the least two processed communications.
- FIG. 1 is a block diagram of a system for gathering and handling communications, according to an embodiment of the present invention
- FIG. 2 is a flowchart of a method for gathering and handling communications, according to an embodiment of the present invention
- FIG. 3 is a thread graph illustrating the interaction between four social units in a given time period, according to an embodiment of the present invention.
- FIG. 4 is a circular graph illustrating a social network, according to an embodiment of the present invention.
- Described herein are embodiments of the present invention including methods and systems for enabling analysis of communication content while preserving confidentiality. More specifically, the systems and methods apply linguistic techniques to adjust the level of similarity of separate instances of communication content, if the level is imprecise, while applying cryptographic techniques to obscure the actual content.
- text-renderable communication and variants thereof as used below refers to any form of communication that can be digitized and rendered into text.
- Examples of text-renderable communications include inter-alia: email, sms, fax, and text transcripts of voice communications (for example rendered into text through a voice recognition system).
- entire communication and variants thereof as used below refer to a whole communication unit, for example, one email, one sms, one fax, one voice conversation, one correspondence letter, etc., which is separated from other communication units by time and/or space.
- instance of communication content and variants thereof as used below refer to a distinct unit of communication content.
- distinct units include inter-alia: a word within an entire communication a phrase within an entire communication, the contents of one field within an entire communication, and the contents of an entire communication.
- communication network and variants thereof as used below refers to any suitable combination of physical communication means and application protocol.
- physical means include, inter-alia: cable, optical (fiber), wireless (radio frequency), wireless (microwave), wireless (infra-red), twisted pair, coaxial, telephone wires, underwater acoustic waves, etc.
- application protocols include inter-alia Short Messaging Service Protocols, File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Hyper Text Transport Protocol (HTTP), Simple Network Management Protocol (SNMP), Network News Transport Protocol (NNTP), Audio (MP3, WAV, AIFF, Analog), Video (MPEG, AVI, Quicktime, RM), Fax (Class 1, Class 2, Class 2.0), and tele/video conferencing.
- FTP File Transfer Protocol
- Telnet Simple Mail Transfer Protocol
- HTTP Simple Mail Transfer Protocol
- HTTP Hyper Text Transport Protocol
- SNMP Simple Network Management Protocol
- NTP Network News Transport Protocol
- Audio MP3, WAV, AIFF, Analog
- Video MPEG, AVI, Quicktime,
- communication network can alternatively or in addition to be identified by the middle layers, with examples including inter-alia the data link layer (modem, RS232, Ethernet, PPP point to point protocol, serial line internet protocol-SLIP, etc), network layer (Internet Protocol-IP, User Datagram Protocol-UDP, address resolution protocol-ARP, telephone number, caller ID, etc.), transport layer (TCP, Smalltalk, etc), session layer (sockets, Secure Sockets Layer-SSL, etc), and/or presentation layer (floating points, bits, integers, HTML, XML, etc).
- Internet is often used to refer to a TCP/IP network.
- communication network includes one technology whereas in other embodiments communication network includes a combination of technologies.
- internal systems and variants thereof as used below refers to one or more systems of an organization, company, individual, group, or any other type of host entity which owns the text-renderable communications by virtue of the communications residing on those systems, the communications originating or destined for that entity, or any other reason which confers ownership.
- host entity and variants thereof as used below refers to the organization, company, individual, group or any other type of entity which owns the text renderable communications.
- connected systems and variants thereof as used below refers to one or more systems connected to the internal systems by any communication network.
- Examples of internal and or/connected systems include inter-alia computer systems, computer servers, fax systems, telephone systems, sms systems, mail servers, IMAP clients, etc.
- social unit and variants thereof as used below refers as appropriate to an individual, a group of individuals, a company, an organization, a computer or another information/knowledge processing entity.
- social network analysis and variants thereof as used below refers to the mapping and measuring of relationships and flows among individuals, groups of individuals, companies, organizations, computers or other information/knowledge processing entities (i.e. among social units).
- the nodes in the network represent the social units, while the links (i.e. connections) show relationships or flows between the nodes.
- token and variants thereof as used below refers to a unique identifier comprising a string of symbols.
- hashing and variants thereof as used below refers to a mathematical function that maps one set of tokens to another, with a measurable level of information loss, possibly zero.
- level of information proximity and variants thereof as used below refers to the level of closeness by any appropriate information distance metric.
- small world effects and variants thereof as used below refers to a pattern of connection that has two properties.
- the first property is short average path lengths between random nodes.
- the second property being a high clustering coefficient, where the clustering coefficient is an index of the extent in which the neighbors of a given node tend to be connected to each other independent of that node.
- weak ties and variants thereof as used below refers to a link or tie between nodes that has a lower frequency of interaction, lower affiliation, or otherwise lower volume of information flow.
- structural holes and variants thereof as used below refers to a gap in the ties between two groups of nodes that represent distinct information pools.
- polar geometrical measure and variants thereof as used below refers to a geometrical measure used in a circular layout.
- Examples of polar geometrical measures include inter-alia: radius, diameter, angle from horizontal axis, and angle from vertical axis (where the angle is a measure of arc).
- centrality measures and variants thereof as used below captures the extent to which nodes are better positioned to send and receive flows between nodes in an undirected network.
- the three most popular measures for a node are Degrees, Betweenness, and Closeness.
- Degrees measure the number of direct connections a node has.
- Betweenness measures if a node lies on several short paths between pairs of other nodes.
- Closeness measures the accessibility to other nodes.
- prestige measures and variants thereof as used below refers to measures of influence or support for a node in a directed network.
- FIG. 1 illustrates a block diagram of a system 100 for gathering and handling text-renderable communications, according to an embodiment of the present invention.
- System 100 can be made up of any combination of software, hardware and/or firmware that performs the functions as defined and explained herein.
- the division of system 100 into the modules shown in FIG. 1 is for ease of understanding and in other embodiments any illustrated module may be separated into a plurality of modules or alternatively combined with other modules.
- the modules of system 100 may be centralized or the modules may be distributed over more than one physical unit and/or physical location.
- Each of modules 102 , 110 , 112 , 113 , 116 , 124 , 130 , 138 can be made of any combination of software, hardware, and/or firmware that performs the functions as defined and explained below.
- FIG. 2 illustrates a method 200 for gathering and handling text-renderable communications, according to an embodiment of the present invention, where method 200 can be executed by system 100 .
- the invention is not bound by the specific stages or order of the stages illustrated and discussed with reference to FIG. 2 . It should also be noted that alternative embodiments can include only selected stages from the illustrated embodiment of FIG. 2 and/or additional stages not illustrated in FIG. 2 .
- capture module 102 collects one or more text-renderable communications from one or more internal systems 104 of one or more host entities and/or from one or more connected system 106 .
- the plural form of systems will be used below even though the collection can be from a single internal system 104 and/or from a single connected system 106 .
- text-renderable communications requires several considerations including inter-alia: what types of text-renderable communications to collect, how to collect communications, when to collect the communications, and the attributes of the collected communications.
- Examples of text renderable communications which can be collected include one or more of the following inter-alia: email, sms, fax, and text transcripts of voice communications.
- the communications collected can include live communications, archival communications, combinations of live and archival communications other time dependent communications and/or other time independent communications.
- the text-renderable communications can be collected remotely or locally to internal systems 104 and/or connected systems 106 , each collection method having advantages.
- capture module 102 captures the text renderable communications from internal systems 104 and/or from connected systems 106 using any suitable communication network which allows a remote connection.
- capture module 102 can remotely access one or more mail servers and/or personal IMAP servers to capture email communications.
- the external access by capture module 102 to internal systems 104 and/or connected systems 106 may in some cases increase the risk of malicious tampering.
- remote access may in some cases increase the risk of legal liability for potential access to other critical data resident on the same internal systems 104 and/or connected systems 106 .
- software may in some cases be installed on internal systems 104 and/or connected systems 106 in order to locally capture the communications.
- the installed software for local collection can be for example code written for the commercially dominant e-mail server package MS Exchange using published application program interfaces (APIs) for scanning directories and gathering data.
- APIs application program interfaces
- the collection of text-renderable communications can involve differing levels of staffing (ranging from none/automatic, to a dedicated staff) depending on the embodiment.
- text-renderable communications can be continuous throughout the day or confined to certain hours during the day (where here and below the term “day” refers to a 24 hour period).
- text-renderable communications can be collected during a long time period or during a short time period.
- the text-renderable communications can be those sent and/or received during the collection period, those sent and/or received since the last collection (which are still stored on internal systems 104 and/or connected systems 106 ), or stored text-renderable communications.
- continuous collection may in one embodiment collect the text-renderable communications as the communications are sent and/or received.
- time-confined collection may in one embodiment collect the text-renderable communications sent and/or received since the last collection which are still stored on internal systems 104 and/or connected systems 106 .
- the collected text-renderable communications can be text-renderable communications stored in archives which are collected by capture module 102 for example only after a pre-determined time period has elapsed from the sending or receiving of those text-renderable communications.
- Data bias may be more likely if stored text-renderable communications are collected only during certain hours during the day and/or for a shorter period of time. For example, intermittent collection may in some cases result in potentially serious data loss from deletions of stored text-renderable communications. If the pattern of deletions is inconsistent the sample may in some cases be unrepresentative and much less useful for inferential statistics. For example the sample may in some cases be unrepresentative if certain social units within a host entity are more likely to delete text-renderable communications, if certain host entities are more likely to delete text renderable communications, if text renderable communications on certain topics are more likely to be deleted, if communications received/sent at certain time periods are more likely to be deleted, etc.
- data bias can be reduced or eliminated by other means, for example by resetting system switches based on common system backup methods.
- configuration parameters can be set to prevent expunging of emails for a period of 24 hours, thereby providing a window of time to create a backup.
- one or more of the following characteristics of a text-renderable communication inter-alia can affect whether a communication is captured: topic of the communication, ingoing versus outgoing status, and identities of senders/receivers.
- text-renderable communications related to all topics are collected whereas in other embodiments text-renderable communications relating to only certain pre-determined topics may be collected. For example, assuming an email communication the topic of an email may be determined based on the “subject” line of the email and only those emails whose subjects relate to predetermined topics are collected. The topics that are collected may or may not change during the collection period.
- sent communications can be collected.
- received communications can be collected.
- text renderable communications relating to differing numbers of social units within a host entity and/or differing numbers of host entities may be collected.
- text-renderable communications originating or destined for any social unit within a host entity may be collected whereas in another embodiment only those communications originating or destined for individuals belonging to one or more groups (e.g. belonging to one or more departments, having one or more ranks, fitting one or more profiles, etc) within one or more host entities may be collected.
- the number of social units on whom data is collected may be limited due to concern for personal privacy, and/or due to organizational information gathering policies. For example, in some embodiments perceived intrusions on personal privacy can dramatically reduce sample sizes. As another example in some embodiments, voluntary participation of individuals may be required, as human subject review boards may require both informed consent and voluntary participation. Preferably, privacy is assured through the configuration of system 100 so that voluntary participation is encouraged and not discouraged.
- capture module 102 transforms the captured text-renderable communications into text. For example, assuming that the captured communication is a bitmapped printed fax, character recognition tools can be applied to the fax to render the fax into text. As another example, application specific formatting characters (for example bold fonts or italic fonts in MS word or HTML files) may be stripped from the communication. As another example speech recognition tools may be applied to a voice communication to render the communication into text.
- stage 203 may be omitted.
- the collected (and optionally transformed) text-renderable communication are transferred to database 110 .
- the transfer of the communications is via any suitable communication network as defined above.
- the communication network may be a local area network.
- the communication network may be configured to transfer data remotely. Remote transfer can occur by any means, such as for example using secure FTP to transfer one way out from capture module 102 to database 110 .
- transfer stage 206 optionally includes a prior encryption of the text-renderable communications to avoid interception problems during transmission. Also optionally in some embodiments, transfer stage 206 may include backing up the transmitted communications at least for a certain period of time, for example for several days, so that retransmission to database 110 can reoccur in the event of failure. The backing up can occur for example at capture module 102 , internal systems 104 and/or connected systems 106 . In some embodiments, communications transferred in stage 206 are eventually deleted from internal systems 104 and/or connected systems 106 (either immediately after capture and/or after correct transmission was ensured), while in other embodiments, copies of some or all of the transferred communications may be retained, for example on internal systems 104 and/or connected systems 106 . For example copies of some or all of the transferred communications may be retained so that the one or more host entities can ensure compliance with agreed upon access.
- Transfer stage 206 (and the associated communication network) may be omitted, for example if database 110 is integrated with capture module 102 .
- preprocessing stage 207 the text-renderable communications are preprocessed by preprocessing module 112 (interchangeably referred to as processing module 112 below).
- preprocessing stage 207 can include any appropriate techniques to adjust, if necessary, the level of similarity between separate instances of communication content and produce (natural language) tokens which after hashing can be effectively analyzed, for example for content patterns.
- the level of similarity can be increased for instances of communication which superficially appear to be dissimilar and/or the level of similarity can be decreased for instances of communication which superficially appear to be similar, as will be apparent to the reader from the description below.
- the communications may first be decrypted in stage 207 before applying appropriate techniques to produce tokens.
- pre-processing in stage 207 identifies and separates spam among email communications from public broadcast and group lists, and discards the spam before applying appropriate techniques to produce tokens.
- Examples of techniques which can be applied to text-renderable communications include one or more of the following inter-alia: correcting typographical errors, identifying communications related to the same social unit even though the communications appear to be related to different social units, identifying idiomatic expressions and diagramming sentence structure, dropping stop words, and applying morphological techniques to reduce the dissimilarity of similar words and expressions and/or increase the dissimilarity of dissimilar words and expressions.
- preprocessing module 112 implements several filters to apply one or more of these techniques but also leaves enough flexibilities to let users adjust the process themselves. In other embodiments, all the preprocessing techniques are handled automatically without user intervention.
- correcting typographical errors can include running the communications through a spell check to correct any misspellings.
- identifying the same social units can include merging multiple identities, multiple aliases, multiple accounts, multiple phone/fax numbers, multiple email boxes/email addresses etc., for the same social unit.
- preprocessing module 112 can map all of these to the same individual.
- preprocessing module 112 may automatically use a heuristic searching process to map the names of social units with corresponding email addresses while allowing users to import a name-email address dictionary from organization directories into preprocessing module 112 to improve the mapping results.
- identifying idiomatic expressions and diagramming sentence structure can include identifying the parts of each sentence (i.e. noun phrases, verb phrase, prepositional phrases, etc).
- preprocessing module 112 can help reduce the diversity of interpretation of words in different uses thereby enabling a reduction in the level of similarity for dissimilar words, for example “wind” (noun: moving air) versus “wind” (verb: as in turn a clock spring) and “saw” (noun: cutting tool) versus “saw” (verb 1 : to cut) versus “saw” (verb 2 : past tense of “to see”).
- Preprocessing module 112 can then map the correct interpretation of the word to a correct corresponding token.
- stop words can include words with low information content or which are redundant.
- words that may be dropped by preprocessing module 112 and excluded from mapped tokens can include one or more of the following words inter-alia: determiners (“a”, “an”, “the”, etc.), possessives (“his, “her”, “its”, etc), conjunctions (“and”, “but”, etc) and prepositions (“of, “at”, etc) after a prepositional phrase has been identified.
- determiners (“a”, “an”, “the”, etc.)
- possessives his, “her”, “its”, etc
- conjunctions and/but”, etc
- prepositions of, “at”, etc
- morphological techniques which may be applied to reduce the dissimilarity of similar words include one or more of the following inter-alia: dropping prefixes, dropping suffixes, root stemming nouns, reducing irregular verbs to a single base (for example “be”, “is” “are” “was” “were” would all be reduced to the same root), and eliminating past present and future tenses.
- preprocessing stage 207 also includes changing the order of the natural language tokens resulting from the preprocessing techniques described above.
- the sequence of tokens comprising a text-renderable communication can be sorted in any number of ways (for example by frequency of token occurrence, by alphabetical order, etc.) in order to disturb the ability to reconstruct the original communication.
- the disordering can be applied within a sentence of the communication, within a section of the communication, within one or more fields of the communication, across the entire text-renderable communication, etc.
- the disordering is applied separately within each field (and not across fields), where each field contains different specific document header information such as subject, to, from, cc, bcc, timestamp, etc.
- the output of preprocessing module 112 and stage 207 is for example, a set of natural language tokens that are recognizable as English (or whatever the language the text-renderable communications were in) but are not standard language and would be difficult although not impossible to interpret.
- preprocessing performed in stage 207 by preprocessing module 112 increases the probability that the hashing applied in stage 208 does not destroy the underlying similarity of superficially dissimilar communications. Therefore even after hashing content patterns for example have a higher likelihood of being preserved.
- stage 208 at least part of the pre-processed data is hashed by hash module 113 .
- Hashing is executed in order to map natural language tokens output from pre-processing stage 207 into tokens that are not recognizable as English (or whatever the language the text-renderable communications were in).
- the hashing therefore obscures the actual content of the text-renderable communications and thereby protect the privacy of the host entity and/or any components thereof (e.g. workers, departments, etc).
- the communication content which is obscured by hashing includes one or more of the following inter-alia: the author of the communication, the recipient of the communication, the topic of the communication, the body of the communication, and any other part of the communication. Any suitable hashing algorithm can be performed in stage 208 by hash module 113 in order to obscure the actual content.
- the hashing algorithm is preferably non-invertible, meaning that even using standard cryptanalysis it would be very difficult to map the output hashed tokens back to natural language tokens from the input.
- the sequence of hashed tokens comprising a text-renderable communication can be sorted in any number of ways, for example by frequency of token occurrence, by alphabetical order, etc. further disturbing the ability to reconstruct the original communication.
- the result of the disordering is disordered symbol vectors.
- the disordering can be applied within a sentence of the communication, within a section of the communication, within one or more fields of the communication, across the entire text-renderable communication, etc.
- the disordering is applied separately within each field (and not across fields), where each field contains different specific header information such as subject, to, from, cc, bcc, timestamp, etc.
- hashed tokens output by hash module 113 have obscured actual content, but due to the preprocessing are similar for similar instances of communication content and/or dissimilar for dissimilar instances of communication content so that analysis can be effectively performed.
- the output of hashing stage 208 may retain certain (unhashed) natural language tokens and/or retain the format of certain fields (without compromising confidentiality) in order to facilitate analysis in stage 210 (see below).
- the natural tokens “date”, “time”, “subject”, “to, “from”, etc may be retained to facilitate later analysis.
- the output of hashing stage 208 may in some embodiments retain certain (unhashed) natural language tokens and/or retain the format of certain fields which allow the identification of links between nodes (without comprising confidentiality).
- certain (unhashed) natural language tokens For example, for email communications, the fields “to”, “from”, “cc’, and “bcc” may in these embodiment be retained in recognizable form in order to allow the identification of links between nodes.
- the natural language tokens “to”, “from”, “cc” and “bcc” may be retained.
- a limit is placed on the number of text-renderable communications processed with a given hashing algorithm, and above the limit the hashing algorithm is switched or optionally switched.
- a limit is placed on certain patterns of behavior, such as trading one-word text-renderable communications.
- the specific hash algorithm upon conclusion of hashing the collected and pre-processed communications may be destroyed in order to prevent a “chosen plaintext” attack by any third party malicious or otherwise.
- the collected communications i.e. the raw data
- the raw data may be discarded for any reason, for example in order to reduce liability, increase privacy, etc.
- the raw data may be retained for any reason, for example, for record keeping, verifiability, for additional semantic analysis on the raw data, etc.
- Step 1 Markup the text in XML format (for example using third party API)
- N A - a word is an abbreviation L attribute signals strategy which has been applied for resolving ambiguously capitalized words.
- the only unreliable strategy is List Lookup (LL) and in your post- processing you can pay special attention to such cases.
- chunk For flat XML output marks chunking attribute information in attributes rather than NG and VG items.
- NGstart -- word start noun group NGend -- word ends noun group NGin -- word is internal to a noun group e.g. not starting or ending NGstart_end -- word is starting and ending noun group (e.g. noun group of -- single word)
- VGstart -- word start verb group VGend -- word ends verb group VGin -- word is internal to a verb group e.g. not starting or ending VGstart_end -- word is starting and ending
- Step 2 Process the Tagged xml Text
- Hash Tag frequency 7253578015604498574 NNP 1 8763687632651980147 NNP 1 8871153132300476476 NN 2 6293576012604293570 NNP 1 6916544271211441138 VB 1 5894537654329429962 NN 2 . . .
- the email after hashing stage 208 is shown below in table 5 along with the original email.
- the output of hashing stage 208 is stored in database 110 .
- analysis module 116 can be located in the same unit, in the same location or in a different location from database 110 . If located in a different location, the output of hashing stage 208 may be transferred from the location of database 110 to the location of analysis module 116 by any suitable communication network in optional stage 209 , or analysis module 116 may access database 110 remotely via any suitable communication network. In another embodiment, transfer stage 209 can be omitted, for example if analysis module 116 is located in the same location as database 110 .
- the analysis may be done by the same entity which performed the preprocessing and hashing. In another embodiment, the analysis is performed by a different entity, for example by the host entity, or by a third party entity.
- hashed tokens can be mined by analysis module 116 for any particulars in analysis stage 210
- the hashed tokens are mined for information on social networks.
- one or more of the following inter-alia relating to social networks can be analyzed: 1. the degree of collaboration, 2. the level of information proximity, 3. the level of knowledge exchange, 4. any differences in behavior by status, 5. any differences in effectiveness correlated with differences in use of communications technology, 6. the network tie strength for example by measuring communication frequency, longevity, and reciprocity, etc., information and productivity, 7. how information flows affect social unit output and/or other connections between information and productivity and 8. any differences in productivity based on how social units use information.
- any type of analysis can be performed in stage 210 .
- the analysis can measure and/or reduce the redundancy between two or more entire communications (i.e. how much of one entire communication is included in another entire communication).
- analysis can instead or also measure the similarity between instances of communication content.
- analysis includes searching for common hashed tokens across sets of hashed tokens resulting from more than one instance of communication content.
- analysis module 116 can search for the frequency that a hashed token corresponding to the name of a particular social unit occurs in the “to”, “from”, “cc”, “bcc” fields of more than one entire email communication, and therefore know the frequency that the particular social unit sent/received email communications without knowing the identity of that social unit.
- analysis can also or alternatively include comparing and classifying the hashed tokens resulting from more than one separate instances of communication content using methods of information retrieval, including one or more of the following inter-alia: statistics, linguistic structure analysis, information distance metrics, and syntactic or semantic cues analysis.
- information distance metrics include inter-alia: cosine indexes on the vector of tokens, Kulback-Liebler distance, entropy, n-dimensional cluster, etc. Some examples of these metrics are listed below where
- t D1j The weight of an occurrence of hashed token j in entire communication D 1 .
- t D2j The weight of an occurrence of hashed token j in entire communication D 2 .
- T the maximum number of hashed tokens in both entire communications (D 1 , D 2 )
- H ⁇ ( X ) - ⁇ x ⁇ X ⁇ p i ⁇ ( x ) ⁇ log ⁇ ⁇ p i ⁇ ( x )
- sim ( c 1 , c 2 ) max c ⁇ S(c 1 c 2 ) [ ⁇ log p ( c )]
- dist jcn ( c 1 , c 2 ) ( iC ( c 1 )+ ic ( c 2 )) ⁇ 2 ⁇ sim ( c 1 , c 2 )
- analysis stage 210 classifies text-renderable communications using a vector based semantic similarity algorithm.
- the hashed tokens resulting from the hashing of an instance of communication content can be viewed as a hashed words vector in N-dimension space. Therefore, by calculating the cosine similarity of vectors resulting from the communications, communications can be classified or clustered into several categories.
- the weight given to hashed token j in the cosine formula depends on the position of hashed token j
- the usage of a weight which is based on position in this embodiment assumes that the hashed tokens are not completely disordered across the entire text-renderable communication, so that position retains significance.
- the hashed token j used for calculating the similarity can be any hashed token, for example hashed tokens corresponding to the time of the communication, the topic of the communication, the sender or recipient of the communication, part of the body of the communication, etc.
- the analysis of the hashed tokens resulting from email communications takes advantage of one or more of the following known attributes of email.
- email provides plentiful data on personal communications in a standard electronic form that is relatively easy to process.
- the high volume of data enables discovery of shared working process and relationships that were previously unknown.
- Third, the ubiquity of email usage makes it a good resource for identifying organizational social structure and for studying large-scale social structures across organizations, which may be more difficult to conduct with other methods.
- topological patterns and tie strengths can be determined comparatively easily. These include social networks, weak ties, effects of centralization and decentralization, and small world effects.
- email not only records who links to whom, but also the frequency, longevity, and reciprocity of such social interactions which might more precisely reflect a weighted organizational social network structure.
- email records the content of communication, which can be used to categorize different types of social relationship by text or genre analysis.
- email automatically archives the timestamp of the occurrence of social interactions in a small segment level. The temporal dimension analysis of email archives can enable looking into the dynamics of the organizational social structure.
- partial social networks generated from email are close to complete social networks of organizations because of multiple copy characteristics—an email is stored in both sender's and receivers' email boxes.
- the cosine-based algorithm is adapted to handle the special text characteristic of email communications. For example, a relatively high weight may be set to hashed tokens resulting from words in the subject line field and a relatively low weight is set to hashed tokens resulting from words in quoted replies. As another example, lower or higher weights may be granted to hashed tokens based on authors, recipients, cc and bcc recipients, as well as core substance. For example hashed tokens resulting from words in the “to” field may be granted a higher weight whereas hashed tokens resulting from words in the “cc”, and “bcc” fields are granted a lower weight.
- the analysis of the hashed communications can include identifying and separating spam messages from public broadcast and group lists in email communications.
- Stages 212 , 214 and 216 can optionally output message analysis, usage analysis, and network analysis, respectively.
- a message module 130 outputs one or more message analysis related to the text-renderable communications.
- message analysis module 130 can output message statistics that relate for example separately to a part (for example field) of each text-renderable communication, to each entire text-renderable communication, to the text-renderable communications on average, to the text-renderable communications of a particular type on average, to the total of communications, to the total of text-renderable communications of a particular type etc.
- the message statistics can include data on one or more attributes of the communications relating to amount, size, contacts, time, etc.
- Examples of message statistics include inter-alia size of text-renderable communication, number of recipients, whether recipients are “to” or “cc”, the number of attachments, timestamps of a sent text-renderable communication, timestamps of received text-renderable communications, and the number of replies to a text-renderable communication.
- the statistics can output one or more of the following inter-alia: the number of attachments for a particular text-renderable communication, the average number of attachments for all analyzed text-renderable communications, the average number of attachments for text-renderable communications of a particular type (for example sent on the last day of the month), the total number of attachments for all analyzed text-renderable communications, the total number of attachments for text-renderable communications of a particular type (for example sent on the last day of the month).
- a usage module 124 outputs usage analysis, for example usage statistics and/or usage patterns which relate to usage of text-renderable communications by social units.
- the usage patterns can show for example predictable links and flows among social units (nodes).
- the outputted usage analysis correlate with measures of social unit output.
- Examples of usage statistics which can be outputted in stage 214 includes one or more of the following inter-alia for social units: time spent receiving text-renderable communications, time spent sending text-renderable communications, the quantity of private text-renderable communications, the quantity of public text-renderable communications, response rates of a social unit, the number of senders sending text-renderable communications to a social unit, the number of recipients of text-renderable communications from a social unit, the average size of text-renderable communications sent by a social unit, the blocks of time during the day when a social unit is active, how many simultaneous threads a social unit is carrying, the number of new topic threads per social unit, the number of replied threads per social unit, average topic thread length, what fraction of correspondence a social unit replies to, what proportion of correspondence is internal versus external, etc.
- one or more of the outputted message and/or usage statistics is applied directly into one or more different statistic packages for exploring the correlations between usage of text-renderable communications and social unit outputs, such as revenues, etc.
- usage module 124 also or alternatively generates data on usage patterns.
- the analyzed data on usage patterns can be aggregated and presented in graphs so as to enable researchers for example through human visual or automated graphical analysis, to find patterns that would otherwise not be noticed.
- Types of graphs include inter-alia time distribution graphs and thread interaction graphs.
- a bar graph could show that different social units have different patterns of developing, sending, receiving and/or handling text-renderable communications.
- the bar graph could show for instance the distribution of instances of communication content over time by individual author. Aggregating individual patterns into groups, for example by job type, can further explore such patterns.
- the analysis of an interaction between two or more social units can be presented visually, for instance by using a thread graph showing the direction and timing of sending and responding among two or more social units.
- FIG. 3 illustrates thread graph 300 which shows the interaction among four individuals including individuals 302 , 304 , 306 and 308 during a 6 day period, according to an embodiment of the present invention.
- new text-renderable communication 320 is distinguished by line type from reply text-renderable communication 330 .
- the direction of each text renderable communication is shown through the usage of filled and unfilled line ends in this example. Due to the temporal quality of FIG. 3 , the average response time to a communication, the duration of time a thread continues, and other time-based statistics can be visualized.
- a thread graph can also visually demonstrate which communications belonging to the same threads.
- each new text-renderable communication can be connected by a vertical line with any replies stemming from that new text-renderable communication.
- the use of connecting lines allows a better visualization of simultaneous threads among social units. Usage of connecting lines also allows easier visualization of the totality of each thread, for example of the frequency that a new communication results in reply communications, the number of reply communications in a thread, etc.
- network module 138 outputs network analysis.
- the network analysis can provide a network visualization which illustrates for example patterns in social networks.
- one or more filters can be used in stage 216 to dynamically change the size (i.e. complexity) and/or the threshold of connectivity of the visualized network so that real time analysis on live data can be performed.
- the filters can include inter-alia one or more of the following filters: traffic filter, degree filter (for example in-degree or out-degree which are the number of links in or out from a node respectively) and job type filter. For example, by setting the traffic filter between an upper and a lower threshold, users can get a network view showing only links whose strength falls between those two numbers.
- Such dynamic filtering may enable users to study network variables quickly and with flexibility. For example by setting a lower bound on traffic level, analysis may be able to focus on high contact social units. As another example by setting an upper bound on traffic level, analysis may be able to focus on low contact social units. Setting a lower and/or upper bound may also in some cases make a graph of the network more readable.
- dynamic network change is not supported. Instead, a static network map from network traffic data is generated and exported into a network visualization software to graph interesting patterns.
- changing one parameter in constructing the network may dramatically alter the final network topologies. For example, a network generated by cutting connections above a thirty communication threshold may be very different from that generated by cutting connections above twenty communications. Therefore in this embodiment network maps may need to be recreated multiple times.
- network module 138 provides network visualization through one or more different graphical layout algorithms.
- network module 138 may provide general network layouts which focus on a clear network view by minimizing node overlap and/or minimizing overlap of connections between nodes.
- network module may instead or additionally output a distinctive circular layout which preferably emphasizes the social context, communication patterns, and/or social unit attributes.
- the distinctive circular layout in some embodiments does not necessarily avoid node and/or connection overlap and therefore in some cases maintains some status and social influence information which for example may become important in analyzing effects on productivity.
- the circular view has two components: a circular graph and a cluster context background, both of which are discussed below.
- a polar geometrical measure of the node allows a visualization of information.
- the information that is visualized can be extrinsic and/or intrinsic.
- the position of a node from the center of the circle (radius) as measured in radians represents one of the centrality or prestige measures defined for social networks.
- social network measures patterns such as which social units have more access and/or influence over others in the social network can be identified.
- a social unit with fewer replies could be placed at a greater distance from the center than a social unit with more replies.
- the radius may visualize a measure of communication patterns (intrinsic behavior) of a social unit, e.g.
- the position of the node from the center can be based on other attributes, for example an extrinsic attribute such as job type.
- the polar measures may not display a normal distribution and therefore the distribution of the nodes along the diameter tends to be congested.
- the Box-Cox power transformation reproduced here can be used so as to automatically select the power p based on the distribution of the original polar measures. For example, if nodes are skewed to the edge or alternatively to the center, reducing distinctiveness between nodes, the transformation can reduce the skew.
- the Box-Cox transformation not only decreases the congestion problem of the graph, the transformed polar measures also typically provides good variables for further multivariate analysis.
- an alternative power transformation such as the Affifi and Clark power transformation or no power transformation may be applied.
- a second polar geometrical measure such as a measure of the arc optionally also allows visualization of information.
- the visualized information can be extrinsic and/or intrinsic, relating to centrality/prestige, intrinsic behavior, extrinsic attribute etc, similarly to the description above
- the position of a node along the angle may be decided by the communication clusters in which the social unit participates.
- the clusters that are used to group the nodes can be defined in any appropriate manner. For example, in some embodiments same/similar job types are spatially grouped more closely (for example by angle). In one embodiment the clusters are defined as formal organizational departments. In another embodiment, the clusters are defined as informal practice groups/knowledge groups extracted from the communication network by an automatic clustering process. For example in this other embodiment, clusters can be generated by looking for content overlap among people with similar job descriptions or looking for behavioral patterns such as the number of simultaneous conversational threads among people with similar job descriptions. In another embodiment, clusters can be generated based on one of the centrality or prestige measures defined for social networks. In another embodiment, clusters may be defined by a combination of the above or differently.
- the nodes and/or links can be color/darkness/line-type coded by job type, topic of communication represented by the link (based on body of communication and/or subject line) or by any other intrinsic or extrinsic attribute (for example relating to centrality/prestige, intrinsic behavior, extrinsic attribute etc, similarly to as described above) in order to facilitate the recognition and analysis of patterns.
- FIG. 4 there is shown an example of a circular graph 400 which provides network visualization, according to an embodiment of the present invention.
- a node representing an individual identified as c 65 402 is placed at the origin.
- the identity c 65 402 as well as the other identities in the graph are preferably hashed tokens to preserve confidentiality).
- Individual c 65 402 is placed in the center because in this figure individual c 65 402 is the focus of the analysis.
- c 65 402 can be chosen as the focus for any reason, for example because the visualization is of the ego network of c 65 402 (with c 65 402 requesting the visualization), because c 65 402 is the most central person in the collection of nodes, because the requester of the visualization selects c 65 402 to be the focus, etc.
- the other nodes in FIG. 4 are placed at different circular orbits whose radius provides visualization of social network information. For example, assuming the radius of a node measures the number of times the corresponding individual is the recipient of a communication, c 22 404 is the recipient of more communications than c 7 406 .
- the degrees of the arc can capture a second index.
- c 2 408 and c 31 410 are clustered together in group A but apart from say c 71 412 and c 41 414 . Therefore, the communications of c 2 408 and c 31 410 are more similar to one another than to the communications of c 71 412 and c 41 414 .
- the level of darkness of each node in FIG. 4 can also provide additional visualization information. Continuing with the example the level of darkness of the node can represents the formal job type of the corresponding individual. For example different levels of darkness differentiate c 27 416 as a consultant from c 2 408 as a partner. In FIG. 4 , connections below three communications are hidden to improve readability.
- the level of darkness of the connections can also provide additional visualization information.
- the level of darkness can distinguish communications based on topic of communication (for example based on the body and/or the subject line of the communication).
- topic of communication for example based on the body and/or the subject line of the communication.
- all the connections are of equal darkness because all the communications are on the same topic.
- network module 138 may instead or additionally extend a single circular layout into multiple circular layouts.
- each sub-group has its own circle and each node's polar geometrical measure is calculated solely from intra-group communication data, thereby allowing investigation of inter-and-intra group patterns.
- network module 138 may instead or additionally output a spring layout with a bird's-eye view. Node and/or link colors in this view could for example represent different types of information flows categorized by the automatic information clustering method discussed earlier This view enables a look at overall information flows within the organization.
- Network module 138 in some embodiments uses R Social Network Analysis as the engine for network analysis.
- R is an open source statistics package available at www.maths.lth.se/help/R/.R/library/sna/html/00Index.html.
- network visualization and analysis module 138 may in some embodiments export data to other social network analysis and visualization tools, such as UC Irvine Network (UciNet) and Pajek.
- UciNet is published by Analytic Technologies headquartered in Harvard, Mass.
- Pajek is an open package available at vlado.fmf.uni-lj.si/pub/networks/pajek/default.htm.
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Disclosed are methods and systems for enabling analysis of communication content while preserving confidentiality. In one embodiment, communication content is processed to increase the similarity of superficially dissimilar instances of communication content and/or to increase the distinctiveness of superficially similar instances of communications content. In this embodiment at least part of the processed communication content is hashed to obscure the actual communication content. In one embodiment, social network analysis is performed on the communication content after hashing, and visualization of the social network analysis includes thread graphs and/or circular graphs.
Description
- This application is a continuation of U.S. patent application Ser. No. 11/080,708, filed Mar. 15, 2005 by Marshall Van Alstyne et al. entitled METHODS AND SYSTEMS FOR ENABLING ANALYSIS OF COMMUNICATION CONTENT WHILE PRESERVING CONFIDENTIALITY, which is a continuation-in-part of U.S. patent application Ser. No. 10/944,644, filed Sep. 17, 2004 by Marshall Van Alstyne et al. entitled METHODS AND SYSTEMS FOR ANALYZING COMMUNICATION CONTENT WHILE PRESERVING CONFIDENTIALITY, which claims the benefit of U.S. Provisional Application Ser. No. 60/504,383, filed Sep. 19, 2003 by Marshall Van Alstyne et al. entitled A MECHANISM TO PERMIT ANALYSIS OF COMMUNICATION CONTENT THAT PRESERVES PERSONAL PRIVACY, all of which are incorporated by reference herein.
- The U.S. Government may have a paid-up license in this invention, and may have the right, in limited circumstances, to require the patent owner to license others on reasonable terms as identified by the terms of NSF Career Award Grant No. IIS9876233.
- The present invention relates generally to analysis of communication content and, more particularly, to a system and method for enabling analysis of similarity of instances of communication content while preserving personal privacy.
- One of the main obstacles to testing hypotheses relating to labor and in particular white-collar labor is the difficulty of obtaining individual specific measures of input and output.
- Email and other forms of inter-personal communications represent a valuable and pervasive means of business, social and technical exchange. These forms of communication can provide much data for research on communities and social networks. As a measure of collaboration, information proximity, and knowledge exchange, email and other forms of inter-personal communication that can be digitized and rendered into text afford the possibility of direct observation that has many advantages over traditional self-report survey methods. Despite the rich literature and rising interest among social scholars in studying these forms of communication, there are few tools that can help researchers actually gather these forms of communication and extract status cues while handling privacy concerns. The absence of such tools greatly limits research progress in many of the social sciences.
- According to the present invention there is provided a system for enabling analysis of similarity of instances of communication content while preserving confidentiality, comprising: means for capturing communication content including instances of communication content that can be rendered into text; means for processing the captured communication content to adjust a level of similarity between separate instances of communication content; and means for hashing at least part of the processed communication content to obscure the actual communication content and to produce hashed tokens.
- According to the present invention there is also provided a method of enabling analysis of similarity of instances of communication content while preserving confidentiality, comprising: capturing communication content including instances of communication content that can be rendered into text; processing the captured communication content to adjust a level of similarity between separate instances of communication content; and hashing at least part of the processed communication content to obscure the actual communication content and to produce hashed tokens.
- According to the present invention there is further provided a method of visualizing a communication interaction between at least two social units, comprising: choosing a period of time; selecting at least one entire communication between at least two social units which occurred during the chosen period of time; and visually indicating when during the chosen period of time at least one of the selected entire communications occurred and a direction of the visually indicated entire communication.
- According to the present invention there is still further provided a method of visualizing a social network, comprising: selecting information related to a social network to visualize; and displaying a node representing a social unit at a radius whose length is reflective of the information.
- According to the present invention there is yet further provided a method of analyzing the similarity of communications while preserving the confidentiality of the communications, comprising: capturing at least two entire communications; processing the at least two entire communications to improve the similarity of any similar content within the at least two entire communications and to reduce the similarity of any dissimilar content within the at least two entire communications; encrypting the at least two processed communications to generate tokens which obscure the actual content and are similar in nature for similar content; and comparing the tokens to identify similar content within the at least two processed communications without determining the actual content of the least two processed communications.
- The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
-
FIG. 1 is a block diagram of a system for gathering and handling communications, according to an embodiment of the present invention; -
FIG. 2 is a flowchart of a method for gathering and handling communications, according to an embodiment of the present invention; -
FIG. 3 is a thread graph illustrating the interaction between four social units in a given time period, according to an embodiment of the present invention; and -
FIG. 4 is a circular graph illustrating a social network, according to an embodiment of the present invention. - Described herein are embodiments of the present invention including methods and systems for enabling analysis of communication content while preserving confidentiality. More specifically, the systems and methods apply linguistic techniques to adjust the level of similarity of separate instances of communication content, if the level is imprecise, while applying cryptographic techniques to obscure the actual content.
- The term text-renderable communication and variants thereof as used below refers to any form of communication that can be digitized and rendered into text. Examples of text-renderable communications include inter-alia: email, sms, fax, and text transcripts of voice communications (for example rendered into text through a voice recognition system).
- The term entire communication and variants thereof as used below refer to a whole communication unit, for example, one email, one sms, one fax, one voice conversation, one correspondence letter, etc., which is separated from other communication units by time and/or space.
- The term instance of communication content and variants thereof as used below refer to a distinct unit of communication content. Examples of distinct units include inter-alia: a word within an entire communication a phrase within an entire communication, the contents of one field within an entire communication, and the contents of an entire communication.
- The term communication network and variants thereof as used below refers to any suitable combination of physical communication means and application protocol. Examples of physical means include, inter-alia: cable, optical (fiber), wireless (radio frequency), wireless (microwave), wireless (infra-red), twisted pair, coaxial, telephone wires, underwater acoustic waves, etc. Examples of application protocols include inter-alia Short Messaging Service Protocols, File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Hyper Text Transport Protocol (HTTP), Simple Network Management Protocol (SNMP), Network News Transport Protocol (NNTP), Audio (MP3, WAV, AIFF, Analog), Video (MPEG, AVI, Quicktime, RM), Fax (Class 1, Class 2, Class 2.0), and tele/video conferencing. In some embodiments, communication network can alternatively or in addition to be identified by the middle layers, with examples including inter-alia the data link layer (modem, RS232, Ethernet, PPP point to point protocol, serial line internet protocol-SLIP, etc), network layer (Internet Protocol-IP, User Datagram Protocol-UDP, address resolution protocol-ARP, telephone number, caller ID, etc.), transport layer (TCP, Smalltalk, etc), session layer (sockets, Secure Sockets Layer-SSL, etc), and/or presentation layer (floating points, bits, integers, HTML, XML, etc). For example the term “Internet” is often used to refer to a TCP/IP network. In some embodiments, communication network includes one technology whereas in other embodiments communication network includes a combination of technologies.
- The term internal systems and variants thereof as used below refers to one or more systems of an organization, company, individual, group, or any other type of host entity which owns the text-renderable communications by virtue of the communications residing on those systems, the communications originating or destined for that entity, or any other reason which confers ownership. The term host entity and variants thereof as used below refers to the organization, company, individual, group or any other type of entity which owns the text renderable communications.
- The term connected systems and variants thereof as used below refers to one or more systems connected to the internal systems by any communication network.
- Examples of internal and or/connected systems include inter-alia computer systems, computer servers, fax systems, telephone systems, sms systems, mail servers, IMAP clients, etc.
- The term social unit and variants thereof as used below refers as appropriate to an individual, a group of individuals, a company, an organization, a computer or another information/knowledge processing entity.
- The term social network analysis and variants thereof as used below refers to the mapping and measuring of relationships and flows among individuals, groups of individuals, companies, organizations, computers or other information/knowledge processing entities (i.e. among social units). The nodes in the network represent the social units, while the links (i.e. connections) show relationships or flows between the nodes.
- The term token and variants thereof as used below refers to a unique identifier comprising a string of symbols.
- The term hashing and variants thereof as used below refers to a mathematical function that maps one set of tokens to another, with a measurable level of information loss, possibly zero.
- The term level of information proximity and variants thereof as used below refers to the level of closeness by any appropriate information distance metric.
- The term small world effects and variants thereof as used below refers to a pattern of connection that has two properties. The first property is short average path lengths between random nodes. The second property being a high clustering coefficient, where the clustering coefficient is an index of the extent in which the neighbors of a given node tend to be connected to each other independent of that node.
- The term weak ties and variants thereof as used below refers to a link or tie between nodes that has a lower frequency of interaction, lower affiliation, or otherwise lower volume of information flow.
- The term structural holes and variants thereof as used below refers to a gap in the ties between two groups of nodes that represent distinct information pools.
- The term polar geometrical measure and variants thereof as used below refers to a geometrical measure used in a circular layout. Examples of polar geometrical measures include inter-alia: radius, diameter, angle from horizontal axis, and angle from vertical axis (where the angle is a measure of arc).
- The term centrality measures and variants thereof as used below captures the extent to which nodes are better positioned to send and receive flows between nodes in an undirected network. The three most popular measures for a node are Degrees, Betweenness, and Closeness. Degrees measure the number of direct connections a node has. Betweenness measures if a node lies on several short paths between pairs of other nodes. Closeness measures the accessibility to other nodes.
- The term prestige measures and variants thereof as used below refers to measures of influence or support for a node in a directed network.
- The terms knowledge groups and informal practice groups and variants thereof as used below refer to groups whose members have and exchange similar information.
- The principles and operation for preparing communication content for analysis while preserving confidentiality according to the present invention may be better understood with reference to the drawings and the accompanying description. All examples given below are non-limiting illustrations of the invention described and defined herein.
-
FIG. 1 illustrates a block diagram of asystem 100 for gathering and handling text-renderable communications, according to an embodiment of the present invention. -
System 100 can be made up of any combination of software, hardware and/or firmware that performs the functions as defined and explained herein. The division ofsystem 100 into the modules shown inFIG. 1 is for ease of understanding and in other embodiments any illustrated module may be separated into a plurality of modules or alternatively combined with other modules. Unless specifically stated otherwise below, the modules ofsystem 100 may be centralized or the modules may be distributed over more than one physical unit and/or physical location. Each ofmodules -
FIG. 2 illustrates amethod 200 for gathering and handling text-renderable communications, according to an embodiment of the present invention, wheremethod 200 can be executed bysystem 100. The invention is not bound by the specific stages or order of the stages illustrated and discussed with reference toFIG. 2 . It should also be noted that alternative embodiments can include only selected stages from the illustrated embodiment ofFIG. 2 and/or additional stages not illustrated inFIG. 2 . - In
stage 202capture module 102 collects one or more text-renderable communications from one or moreinternal systems 104 of one or more host entities and/or from one or more connected system 106. For ease of description, the plural form of systems will be used below even though the collection can be from a singleinternal system 104 and/or from a single connected system 106. - The collection of text-renderable communications requires several considerations including inter-alia: what types of text-renderable communications to collect, how to collect communications, when to collect the communications, and the attributes of the collected communications.
- Examples of text renderable communications which can be collected include one or more of the following inter-alia: email, sms, fax, and text transcripts of voice communications.
- Depending on the embodiment, the communications collected can include live communications, archival communications, combinations of live and archival communications other time dependent communications and/or other time independent communications.
- Depending on the embodiment the text-renderable communications can be collected remotely or locally to
internal systems 104 and/or connected systems 106, each collection method having advantages. In an embodiment where text-renderable communications is collected remotely,capture module 102 captures the text renderable communications frominternal systems 104 and/or from connected systems 106 using any suitable communication network which allows a remote connection. For example,capture module 102 can remotely access one or more mail servers and/or personal IMAP servers to capture email communications. In an embodiment with remote capture, the external access bycapture module 102 tointernal systems 104 and/or connected systems 106 may in some cases increase the risk of malicious tampering. In addition or alternatively, remote access may in some cases increase the risk of legal liability for potential access to other critical data resident on the sameinternal systems 104 and/or connected systems 106. - In an embodiment where text-renderable communications are instead collected locally, software may in some cases be installed on
internal systems 104 and/or connected systems 106 in order to locally capture the communications. For example, in order to locally capture email communications, the installed software for local collection can be for example code written for the commercially dominant e-mail server package MS Exchange using published application program interfaces (APIs) for scanning directories and gathering data. In some cases by installing capture software on on-site internal systems, increased system load, system crashes, and/or maintenance responsibilities can result. - The collection of text-renderable communications can involve differing levels of staffing (ranging from none/automatic, to a dedicated staff) depending on the embodiment.
- With regard to timing of the collection of text-renderable communications, depending on the embodiment, collection can be continuous throughout the day or confined to certain hours during the day (where here and below the term “day” refers to a 24 hour period). In addition depending on the embodiment, text-renderable communications can be collected during a long time period or during a short time period.
- Depending on when the collection takes place, the text-renderable communications can be those sent and/or received during the collection period, those sent and/or received since the last collection (which are still stored on
internal systems 104 and/or connected systems 106), or stored text-renderable communications. For example continuous collection may in one embodiment collect the text-renderable communications as the communications are sent and/or received. As another example, time-confined collection may in one embodiment collect the text-renderable communications sent and/or received since the last collection which are still stored oninternal systems 104 and/or connected systems 106. As another example, the collected text-renderable communications can be text-renderable communications stored in archives which are collected bycapture module 102 for example only after a pre-determined time period has elapsed from the sending or receiving of those text-renderable communications. - Data bias may be more likely if stored text-renderable communications are collected only during certain hours during the day and/or for a shorter period of time. For example, intermittent collection may in some cases result in potentially serious data loss from deletions of stored text-renderable communications. If the pattern of deletions is inconsistent the sample may in some cases be unrepresentative and much less useful for inferential statistics. For example the sample may in some cases be unrepresentative if certain social units within a host entity are more likely to delete text-renderable communications, if certain host entities are more likely to delete text renderable communications, if text renderable communications on certain topics are more likely to be deleted, if communications received/sent at certain time periods are more likely to be deleted, etc.
- Despite the risk for data bias, in some embodiments there may be compelling reasons to confine communication collection to certain hours during the day and/or to a short period of time. For example, if communications are collected locally then in some cases in order to reduce system load, the collection may be run only during low load periods and not continuously. In these embodiments, data bias can be reduced or eliminated by other means, for example by resetting system switches based on common system backup methods. Continuing with the example, in some systems configuration parameters can be set to prevent expunging of emails for a period of 24 hours, thereby providing a window of time to create a backup.
- Depending on the embodiment one or more of the following characteristics of a text-renderable communication inter-alia can affect whether a communication is captured: topic of the communication, ingoing versus outgoing status, and identities of senders/receivers.
- In certain embodiments, text-renderable communications related to all topics are collected whereas in other embodiments text-renderable communications relating to only certain pre-determined topics may be collected. For example, assuming an email communication the topic of an email may be determined based on the “subject” line of the email and only those emails whose subjects relate to predetermined topics are collected. The topics that are collected may or may not change during the collection period.
- Depending on the embodiment, sent communications, received communications, or both sent and received communications can be collected.
- Depending on the embodiment, text renderable communications relating to differing numbers of social units within a host entity and/or differing numbers of host entities may be collected. For example, in one embodiment text-renderable communications originating or destined for any social unit within a host entity may be collected whereas in another embodiment only those communications originating or destined for individuals belonging to one or more groups (e.g. belonging to one or more departments, having one or more ranks, fitting one or more profiles, etc) within one or more host entities may be collected.
- In some embodiments, the number of social units on whom data is collected may be limited due to concern for personal privacy, and/or due to organizational information gathering policies. For example, in some embodiments perceived intrusions on personal privacy can dramatically reduce sample sizes. As another example in some embodiments, voluntary participation of individuals may be required, as human subject review boards may require both informed consent and voluntary participation. Preferably, privacy is assured through the configuration of
system 100 so that voluntary participation is encouraged and not discouraged. - In
optional stage 203,capture module 102 transforms the captured text-renderable communications into text. For example, assuming that the captured communication is a bitmapped printed fax, character recognition tools can be applied to the fax to render the fax into text. As another example, application specific formatting characters (for example bold fonts or italic fonts in MS word or HTML files) may be stripped from the communication. As another example speech recognition tools may be applied to a voice communication to render the communication into text. - If the captured text-renderable communication is already in a satisfactory text format, then stage 203 may be omitted.
- In
optional stage 206, the collected (and optionally transformed) text-renderable communication are transferred todatabase 110. The transfer of the communications is via any suitable communication network as defined above. For example, ifcapture module 102 anddatabase 110 are located in the same physical location, the communication network may be a local area network. As another example, ifdatabase 110 andcapture module 102 are separated by a distance, the communication network may be configured to transfer data remotely. Remote transfer can occur by any means, such as for example using secure FTP to transfer one way out fromcapture module 102 todatabase 110. - In some embodiments transfer
stage 206 optionally includes a prior encryption of the text-renderable communications to avoid interception problems during transmission. Also optionally in some embodiments,transfer stage 206 may include backing up the transmitted communications at least for a certain period of time, for example for several days, so that retransmission todatabase 110 can reoccur in the event of failure. The backing up can occur for example atcapture module 102,internal systems 104 and/or connected systems 106. In some embodiments, communications transferred instage 206 are eventually deleted frominternal systems 104 and/or connected systems 106 (either immediately after capture and/or after correct transmission was ensured), while in other embodiments, copies of some or all of the transferred communications may be retained, for example oninternal systems 104 and/or connected systems 106. For example copies of some or all of the transferred communications may be retained so that the one or more host entities can ensure compliance with agreed upon access. - Transfer stage 206 (and the associated communication network) may be omitted, for example if
database 110 is integrated withcapture module 102. - In
stage 207 the text-renderable communications are preprocessed by preprocessing module 112 (interchangeably referred to asprocessing module 112 below). Depending on the embodiment, preprocessing stage 207 (interchangeably referred toprocessing stage 207 below) can include any appropriate techniques to adjust, if necessary, the level of similarity between separate instances of communication content and produce (natural language) tokens which after hashing can be effectively analyzed, for example for content patterns. - Depending on the techniques used in a particular embodiment, the level of similarity can be increased for instances of communication which superficially appear to be dissimilar and/or the level of similarity can be decreased for instances of communication which superficially appear to be similar, as will be apparent to the reader from the description below.
- In one embodiment where the text-renderable communications had been encrypted prior to transfer in
stage 206, the communications may first be decrypted instage 207 before applying appropriate techniques to produce tokens. - In one embodiment, pre-processing in
stage 207 identifies and separates spam among email communications from public broadcast and group lists, and discards the spam before applying appropriate techniques to produce tokens. - Examples of techniques which can be applied to text-renderable communications (in order to produce tokens which after hashing can still be effectively analyzed) include one or more of the following inter-alia: correcting typographical errors, identifying communications related to the same social unit even though the communications appear to be related to different social units, identifying idiomatic expressions and diagramming sentence structure, dropping stop words, and applying morphological techniques to reduce the dissimilarity of similar words and expressions and/or increase the dissimilarity of dissimilar words and expressions.
- In some
embodiments preprocessing module 112 implements several filters to apply one or more of these techniques but also leaves enough flexibilities to let users adjust the process themselves. In other embodiments, all the preprocessing techniques are handled automatically without user intervention. - For example correcting typographical errors can include running the communications through a spell check to correct any misspellings.
- For example, identifying the same social units can include merging multiple identities, multiple aliases, multiple accounts, multiple phone/fax numbers, multiple email boxes/email addresses etc., for the same social unit. Continuing with the example, if an individual has a first and last name, a commonly used nickname, two email addresses, one fax number, one cellular phone number and one landline phone number,
preprocessing module 112 can map all of these to the same individual. - In one embodiment for example, in order to merge multiple identities for email communications,
preprocessing module 112 may automatically use a heuristic searching process to map the names of social units with corresponding email addresses while allowing users to import a name-email address dictionary from organization directories intopreprocessing module 112 to improve the mapping results. - In one embodiment, for example, in order to merge multiple aliases,
preprocessing module 112 may use a table of likely abbreviations (e.g. David=Dave=D., etc or William=Will=Bill) and also shortenings and permutations of string matches within names. - For example, identifying idiomatic expressions and diagramming sentence structure can include identifying the parts of each sentence (i.e. noun phrases, verb phrase, prepositional phrases, etc). Continuing with the example, by identifying the parts of a sentence,
preprocessing module 112 can help reduce the diversity of interpretation of words in different uses thereby enabling a reduction in the level of similarity for dissimilar words, for example “wind” (noun: moving air) versus “wind” (verb: as in turn a clock spring) and “saw” (noun: cutting tool) versus “saw” (verb1: to cut) versus “saw” (verb2: past tense of “to see”).Preprocessing module 112 can then map the correct interpretation of the word to a correct corresponding token. - For example stop words can include words with low information content or which are redundant. Continuing with the example words that may be dropped by preprocessing
module 112 and excluded from mapped tokens can include one or more of the following words inter-alia: determiners (“a”, “an”, “the”, etc.), possessives (“his, “her”, “its”, etc), conjunctions (“and”, “but”, etc) and prepositions (“of, “at”, etc) after a prepositional phrase has been identified. Typically these words can be dropped from a communication and a person would still understand the original intent of the communication. - For example, morphological techniques which may be applied to reduce the dissimilarity of similar words include one or more of the following inter-alia: dropping prefixes, dropping suffixes, root stemming nouns, reducing irregular verbs to a single base (for example “be”, “is” “are” “was” “were” would all be reduced to the same root), and eliminating past present and future tenses.
- In some embodiments, preprocessing
stage 207 also includes changing the order of the natural language tokens resulting from the preprocessing techniques described above. For example the sequence of tokens comprising a text-renderable communication can be sorted in any number of ways (for example by frequency of token occurrence, by alphabetical order, etc.) in order to disturb the ability to reconstruct the original communication. Depending on the embodiment, the disordering can be applied within a sentence of the communication, within a section of the communication, within one or more fields of the communication, across the entire text-renderable communication, etc. In one embodiment, the disordering is applied separately within each field (and not across fields), where each field contains different specific document header information such as subject, to, from, cc, bcc, timestamp, etc. - In embodiments where there is a loss of both word order and specific morphological cues, literal interpretation is difficult even without the later hashing (see below stage 208).
- In one embodiment the output of
preprocessing module 112 andstage 207 is for example, a set of natural language tokens that are recognizable as English (or whatever the language the text-renderable communications were in) but are not standard language and would be difficult although not impossible to interpret. - Preferably the preprocessing performed in
stage 207 by preprocessingmodule 112 increases the probability that the hashing applied instage 208 does not destroy the underlying similarity of superficially dissimilar communications. Therefore even after hashing content patterns for example have a higher likelihood of being preserved. - In
stage 208, at least part of the pre-processed data is hashed byhash module 113. Hashing is executed in order to map natural language tokens output frompre-processing stage 207 into tokens that are not recognizable as English (or whatever the language the text-renderable communications were in). The hashing therefore obscures the actual content of the text-renderable communications and thereby protect the privacy of the host entity and/or any components thereof (e.g. workers, departments, etc). The communication content which is obscured by hashing includes one or more of the following inter-alia: the author of the communication, the recipient of the communication, the topic of the communication, the body of the communication, and any other part of the communication. Any suitable hashing algorithm can be performed instage 208 byhash module 113 in order to obscure the actual content. - The hashing algorithm is preferably non-invertible, meaning that even using standard cryptanalysis it would be very difficult to map the output hashed tokens back to natural language tokens from the input.
- In some embodiments, the sequence of hashed tokens comprising a text-renderable communication can be sorted in any number of ways, for example by frequency of token occurrence, by alphabetical order, etc. further disturbing the ability to reconstruct the original communication. The result of the disordering is disordered symbol vectors. Depending on the embodiment, the disordering can be applied within a sentence of the communication, within a section of the communication, within one or more fields of the communication, across the entire text-renderable communication, etc. In one embodiment, the disordering is applied separately within each field (and not across fields), where each field contains different specific header information such as subject, to, from, cc, bcc, timestamp, etc.
- The hashed tokens output by
hash module 113 have obscured actual content, but due to the preprocessing are similar for similar instances of communication content and/or dissimilar for dissimilar instances of communication content so that analysis can be effectively performed. - In some embodiments, the output of hashing
stage 208 may retain certain (unhashed) natural language tokens and/or retain the format of certain fields (without compromising confidentiality) in order to facilitate analysis in stage 210 (see below). For example, the natural tokens “date”, “time”, “subject”, “to, “from”, etc may be retained to facilitate later analysis. - If the analysis to be performed in
stage 210 includes social network analysis, the output of hashingstage 208 may in some embodiments retain certain (unhashed) natural language tokens and/or retain the format of certain fields which allow the identification of links between nodes (without comprising confidentiality). For example, for email communications, the fields “to”, “from”, “cc’, and “bcc” may in these embodiment be retained in recognizable form in order to allow the identification of links between nodes. Continuing with the example, the natural language tokens “to”, “from”, “cc” and “bcc” may be retained. - It should be noted that without the preprocessing of
stage 207, whole sentences in a communication or even an entire communication may have in certain cases been reduced by hashingstage 208 to a single lengthy hashed token. This single lengthy hashed token may in some cases not have been as conducive to effective analysis as the set of hashed tokens resulting from thepreprocessing stage 207 and hashingstage 208 in the described embodiments. For example, if each entire communication is reduced to a single lengthy hashed token, analysis of the hashed tokens would in some cases provide only information on redundancy between two or more entire communications and/or would only be effective for an analysis algorithm which was anticipated prior to hashingstage 208. - In one embodiment, a limit is placed on the number of text-renderable communications processed with a given hashing algorithm, and above the limit the hashing algorithm is switched or optionally switched. In another embodiment a limit is placed on certain patterns of behavior, such as trading one-word text-renderable communications. These limits may in these embodiments enhance security protection by lowering the risk from cryptographic attacks, for example attacks which include the creation of a backwards lookup table.
- In some embodiments, the specific hash algorithm upon conclusion of hashing the collected and pre-processed communications may be destroyed in order to prevent a “chosen plaintext” attack by any third party malicious or otherwise.
- In some embodiments, once
pre-processing stage 207 is completed or once hashingstage 208 is completed, the collected communications (i.e. the raw data) is discarded. The raw data may be discarded for any reason, for example in order to reduce liability, increase privacy, etc. In other embodiments, the raw data may be retained for any reason, for example, for record keeping, verifiability, for additional semantic analysis on the raw data, etc. - In some embodiments even if the raw data is discarded, it is possible to perform ex-poste analysis, including unanticipated analysis techniques (i.e. which were not in the original analysis algorithm), using the output of hashing
stage 208. In these embodiments, because of the pre-processing techniques described here, even for some analyses that were not anticipated prior to hashingstage 208, there is no need to use the raw data, thereby increasing the flexibility and privacy ofsystem 100. - An example is now provided to illustrate elements of
stages -
Stage 202—Fetch Original Email - From: Ann <ann@univ.edu>
To: Michael Jacobs <mjacobs@univ.edu>
Cc: averhey@univ.edu, Geofrey Parkes, <gparkes@medical.com> - Ok, i will look for all the pieces today then and try to get everything in Fastlane tonight. Meeting is up to you. I have to go to DRDA first thing in the morning to hand them all the PAFs so they can process all the proposals.
-
Stage 207—Preprocess Email - Step 1. Markup the text in XML format (for example using third party API)
-
<P><S><NG><W C=‘NNP’ T=‘W’ S=‘Y’>Ok</W></NG><W C=‘,’>,</W> <NG><W C=‘NN’>i</W></NG> <VG><W C=‘MD’>will</W> <W C=‘VB’>look</W></VG> <W C=‘IN’>for</W> <NG><W C=‘PDT’>all</W> <W C=‘DT’>the</W> <W C=‘NNS’>pieces</W></NG> <W C=‘RB’>today</W> <W C=‘RB’>then</W> <W C=‘CC’>and</W> <VG><W C=‘VB’>try</W></VG> <VG><W C=‘TO’>to</W> <W C=‘VB’>get</W></VG> <NG><W C=‘NN’>everything</W></NG> <W C=‘IN’>in</W> <NG><W C=‘NNP’>Fastlane</W></NG> <W C=‘RB’>tonight</W><W C=‘.’ T=‘.’>.</W></S> <S><NG><W C=‘NN’ T=‘w’ S=‘Y’>Meeting</W></NG> <VG><W C=‘VBZ’>is</W> <W C=‘RB’>up</W></VG> <W C=‘TO’>to</W> <NG><W C=‘PRP’>you</W></NG><W C=‘.’ T=‘.’>.</W></S> <S><NG><W C=‘PRP’ L=‘SL’ T=‘w’ S=‘Y’>|</W></NG> <VG><W C=‘VBP’>have</W> <W C=‘TO’>to</W> <W C=‘VB’>go</W></VG> <W C=‘TO’>to</W> <NG><W C=‘NNP’>DRDA</W></NG> <NG><W C=‘JJ’>first</W> <W C=‘NN’>thing</W></NG> <W C=‘IN’>in</W> <NG><W C=‘DT’>the</W> <W C=‘NN’>morning</W></NG> <VG><W C=‘TO’>to</W> <W C=‘VB’>hand</W></VG> <NG><W C=‘PRP’>them</W></NG> <NG><W C=‘PDT’>all</W> <W C=‘DT’>the</W> <W C=‘NNP’>PAFs</W></NG> <W C=‘IN’>so</W> <NG><W C=‘PRP’>they</W></NG> <VG><W C=‘MD’>can</W> <W C=‘VB’>process</W></VG> <NG><W C=‘PDT’>all</W> <W C=‘DT’>the</W> <W C=‘NNS’>proposals</W></NG><W C=‘.’ T=‘.’>.</W></S></P> ... <P><W C=‘NNP’ L=‘LL’ T=‘W’ S=‘Y’>Ann</W> </P> - The meaning of the markup tags is shown below in tables 1 and 2.
-
TABLE 1 Description of XML markup applied by NLProcessor: P paragraph level element S sentence level element QUOTE quoted text NG noun group VG verb group W word C attribute part of speech class. e.g. C = JJ. For the explanation of the part-of-speech tag-set look at table 2 N attribute abbreviation flag: N = A - a word is an abbreviation L attribute signals strategy which has been applied for resolving ambiguously capitalized words. The only unreliable strategy is List Lookup (LL) and in your post- processing you can pay special attention to such cases. chunk For flat XML output (see below) marks chunking attribute information in attributes rather than NG and VG items. Possible values NGstart -- word start noun group NGend -- word ends noun group NGin -- word is internal to a noun group e.g. not starting or ending NGstart_end -- word is starting and ending noun group (e.g. noun group of -- single word) VGstart -- word start verb group VGend -- word ends verb group VGin -- word is internal to a verb group e.g. not starting or ending VGstart_end -- word is starting and ending -
TABLE 2 Modified Penn Treebank Tag-Set (open class categories) POS Tag Description Example JJ adjective green JJR adjective, greener comparative JJS adjective, greenest superlative RB adverb however, usually, naturally, here, good RBR adverb, better comparative RBS adverb, best superlative NN common noun table NNS noun plural tables NNP proper noun John NNPS plural proper Vikings noun VB verb base form take VBD verb past took VBG gerund taking VBN past participle taken VBP verb, present, take non-3d VBZ verb present, takes 3d person FW foreign word d'hoevre - Step 2. Process the Tagged xml Text
- Deleting stop words
- Stemming
- Counting frequency
-
TABLE 3 Keywords Tag frequency Fastlane NNP 1 DRDA NNP 1 Meeting NN 2 PAFs NNP 1 process VB 1 Proposal NN 2 . . . -
Stage 208 Hash the Keywords -
TABLE 4 Keywords Hash Tag frequency 7253578015604498574 NNP 1 8763687632651980147 NNP 1 8871153132300476476 NN 2 6293576012604293570 NNP 1 6916544271211441138 VB 1 5894537654329429962 NN 2 . . . - To complete this example, the email after hashing
stage 208 is shown below in table 5 along with the original email. -
TABLE 5 Before After Header Date: Sun, 17 Nov. 2002 09:54:23 -0500 Message-ID: 00000000C74E9F197619354B91 From: Ann <ann@univ.edu> Date: 11/17/2002 09:54:23 PM To: Michael Jacobs <mjacobs@univ.edu> From: ChiUserWWW2 Cc: averhey@univ.edu, Geofrey Parkes To: ChiUserWWW34 <gparkes@medical.com> CC: ChiUserWWW2, ChiUserEEE137 Subject: Re: YOUR PROPOSAL Subject: 2234380046220310381 -4543232654336644202 Body Ok, i will look for all the pieces today then and -7488330257252326972<8>; 3461049762598860849<5>;- try to get everything in Fastlane tonight. 4469441121190040841<4>; 4122472038465781083<4>;- Meeting is up to you. I have to go to DRDA 2485003116886841409<3>; 8003219831352894262<3>; 1698764591947117759<2>; 5894537654329429962<2>;- first thing in the morning to hand them all the 9076192449175488644<2>; 7750988586697557362<2>; 8871153132300476476<2>; -7527789141644698404<2>; PAFs so they can process all the proposals. 8763687632651980147<1>; 3129683954660429336<1>;- . . . 6916544271211441138<1>; 6293576012604293570<1>; . . . -- Ann -- Attachment proposal-draft.doc Attachment Number: 1 Attachment type list: doc<1> - In some embodiments, the output of hashing
stage 208 is stored indatabase 110. Depending on the embodiment,analysis module 116 can be located in the same unit, in the same location or in a different location fromdatabase 110. If located in a different location, the output of hashingstage 208 may be transferred from the location ofdatabase 110 to the location ofanalysis module 116 by any suitable communication network inoptional stage 209, oranalysis module 116 may accessdatabase 110 remotely via any suitable communication network. In another embodiment,transfer stage 209 can be omitted, for example ifanalysis module 116 is located in the same location asdatabase 110. - In one embodiment, the analysis may be done by the same entity which performed the preprocessing and hashing. In another embodiment, the analysis is performed by a different entity, for example by the host entity, or by a third party entity.
- Depending on the embodiment the hashed tokens can be mined by
analysis module 116 for any particulars inanalysis stage 210 - For example, in one embodiment the hashed tokens are mined for information on social networks. For example, one or more of the following inter-alia relating to social networks can be analyzed: 1. the degree of collaboration, 2. the level of information proximity, 3. the level of knowledge exchange, 4. any differences in behavior by status, 5. any differences in effectiveness correlated with differences in use of communications technology, 6. the network tie strength for example by measuring communication frequency, longevity, and reciprocity, etc., information and productivity, 7. how information flows affect social unit output and/or other connections between information and productivity and 8. any differences in productivity based on how social units use information.
- Any type of analysis can be performed in
stage 210. For example, in one embodiment, the analysis can measure and/or reduce the redundancy between two or more entire communications (i.e. how much of one entire communication is included in another entire communication). - As another example in other embodiments, the analysis can instead or also measure the similarity between instances of communication content. For example in one of these embodiments, analysis includes searching for common hashed tokens across sets of hashed tokens resulting from more than one instance of communication content. Continuing with the example,
analysis module 116 can search for the frequency that a hashed token corresponding to the name of a particular social unit occurs in the “to”, “from”, “cc”, “bcc” fields of more than one entire email communication, and therefore know the frequency that the particular social unit sent/received email communications without knowing the identity of that social unit. - As another example, in another of these embodiments analysis can also or alternatively include comparing and classifying the hashed tokens resulting from more than one separate instances of communication content using methods of information retrieval, including one or more of the following inter-alia: statistics, linguistic structure analysis, information distance metrics, and syntactic or semantic cues analysis.
- Examples of information distance metrics include inter-alia: cosine indexes on the vector of tokens, Kulback-Liebler distance, entropy, n-dimensional cluster, etc. Some examples of these metrics are listed below where
- tD1j=The weight of an occurrence of hashed token j in entire communication D1.
tD2j=The weight of an occurrence of hashed token j in entire communication D2.
T=the maximum number of hashed tokens in both entire communications (D1, D2) - A. Generic Document Similarity:
-
- B. Dice's Coefficient:
-
- C. Jaccard's Coefficient
-
- D. Cosine Coefficient
-
- E. Entropy:
-
- F. Information Content:
-
ic(c)=−log p(c) - G. Information Similarity:
-
sim(c 1 , c 2)=maxcεS(c1 c2 )[−log p(c)] - where p(c) simply as relative frequency:
-
- H. Lin's Information Similarity:
-
- I. Jiang and Conrath's Information Similarity:
-
distjcn(c 1 , c 2)=(iC(c 1)+ic(c 2))−2×sim(c 1 , c 2) - J. Relative Entropy or Kullback-Leibler Divergence:
-
- K. Mutual Information:
-
- The usage of a cosine metric will now be expanded upon for the sake of further illustration. In one embodiment using cosine indexes,
analysis stage 210 classifies text-renderable communications using a vector based semantic similarity algorithm. In this algorithm, the hashed tokens resulting from the hashing of an instance of communication content can be viewed as a hashed words vector in N-dimension space. Therefore, by calculating the cosine similarity of vectors resulting from the communications, communications can be classified or clustered into several categories. - In one embodiment, the weight given to hashed token j in the cosine formula depends on the position of hashed token j The usage of a weight which is based on position in this embodiment assumes that the hashed tokens are not completely disordered across the entire text-renderable communication, so that position retains significance.
- The hashed token j used for calculating the similarity can be any hashed token, for example hashed tokens corresponding to the time of the communication, the topic of the communication, the sender or recipient of the communication, part of the body of the communication, etc.
- In one embodiment, the analysis of the hashed tokens resulting from email communications takes advantage of one or more of the following known attributes of email. First, email provides plentiful data on personal communications in a standard electronic form that is relatively easy to process. Second, the high volume of data enables discovery of shared working process and relationships that were previously unknown. Third, the ubiquity of email usage makes it a good resource for identifying organizational social structure and for studying large-scale social structures across organizations, which may be more difficult to conduct with other methods. Fourth, topological patterns and tie strengths can be determined comparatively easily. These include social networks, weak ties, effects of centralization and decentralization, and small world effects. Fifth, email not only records who links to whom, but also the frequency, longevity, and reciprocity of such social interactions which might more precisely reflect a weighted organizational social network structure. Sixth, email records the content of communication, which can be used to categorize different types of social relationship by text or genre analysis. Seventh, email automatically archives the timestamp of the occurrence of social interactions in a small segment level. The temporal dimension analysis of email archives can enable looking into the dynamics of the organizational social structure. Eighth, partial social networks generated from email are close to complete social networks of organizations because of multiple copy characteristics—an email is stored in both sender's and receivers' email boxes.
- In one embodiment using cosine indexes where the hashed tokens are resultant from email communications, the cosine-based algorithm is adapted to handle the special text characteristic of email communications. For example, a relatively high weight may be set to hashed tokens resulting from words in the subject line field and a relatively low weight is set to hashed tokens resulting from words in quoted replies. As another example, lower or higher weights may be granted to hashed tokens based on authors, recipients, cc and bcc recipients, as well as core substance. For example hashed tokens resulting from words in the “to” field may be granted a higher weight whereas hashed tokens resulting from words in the “cc”, and “bcc” fields are granted a lower weight.
- In one embodiment if not done during
pre-processing stage 207, the analysis of the hashed communications can include identifying and separating spam messages from public broadcast and group lists in email communications. -
Stages - In
stage 212, amessage module 130 outputs one or more message analysis related to the text-renderable communications. For examplemessage analysis module 130 can output message statistics that relate for example separately to a part (for example field) of each text-renderable communication, to each entire text-renderable communication, to the text-renderable communications on average, to the text-renderable communications of a particular type on average, to the total of communications, to the total of text-renderable communications of a particular type etc. The message statistics can include data on one or more attributes of the communications relating to amount, size, contacts, time, etc. Examples of message statistics include inter-alia size of text-renderable communication, number of recipients, whether recipients are “to” or “cc”, the number of attachments, timestamps of a sent text-renderable communication, timestamps of received text-renderable communications, and the number of replies to a text-renderable communication. - To give an example of data on one possible message attribute, the statistics can output one or more of the following inter-alia: the number of attachments for a particular text-renderable communication, the average number of attachments for all analyzed text-renderable communications, the average number of attachments for text-renderable communications of a particular type (for example sent on the last day of the month), the total number of attachments for all analyzed text-renderable communications, the total number of attachments for text-renderable communications of a particular type (for example sent on the last day of the month).
- In optional stage 214 a usage module 124 outputs usage analysis, for example usage statistics and/or usage patterns which relate to usage of text-renderable communications by social units. The usage patterns can show for example predictable links and flows among social units (nodes). Preferably, the outputted usage analysis correlate with measures of social unit output.
- Examples of usage statistics which can be outputted in
stage 214 includes one or more of the following inter-alia for social units: time spent receiving text-renderable communications, time spent sending text-renderable communications, the quantity of private text-renderable communications, the quantity of public text-renderable communications, response rates of a social unit, the number of senders sending text-renderable communications to a social unit, the number of recipients of text-renderable communications from a social unit, the average size of text-renderable communications sent by a social unit, the blocks of time during the day when a social unit is active, how many simultaneous threads a social unit is carrying, the number of new topic threads per social unit, the number of replied threads per social unit, average topic thread length, what fraction of correspondence a social unit replies to, what proportion of correspondence is internal versus external, etc. - In one embodiment one or more of the outputted message and/or usage statistics is applied directly into one or more different statistic packages for exploring the correlations between usage of text-renderable communications and social unit outputs, such as revenues, etc.
- In
optional stage 214, usage module 124 also or alternatively generates data on usage patterns. In one embodiment, the analyzed data on usage patterns can be aggregated and presented in graphs so as to enable researchers for example through human visual or automated graphical analysis, to find patterns that would otherwise not be noticed. Types of graphs include inter-alia time distribution graphs and thread interaction graphs. For example, a bar graph could show that different social units have different patterns of developing, sending, receiving and/or handling text-renderable communications. Continuing with the example, the bar graph could show for instance the distribution of instances of communication content over time by individual author. Aggregating individual patterns into groups, for example by job type, can further explore such patterns. As yet another example, the analysis of an interaction between two or more social units can be presented visually, for instance by using a thread graph showing the direction and timing of sending and responding among two or more social units. -
FIG. 3 illustratesthread graph 300 which shows the interaction among fourindividuals including individuals renderable communication 320 is distinguished by line type from reply text-renderable communication 330. The direction of each text renderable communication is shown through the usage of filled and unfilled line ends in this example. Due to the temporal quality ofFIG. 3 , the average response time to a communication, the duration of time a thread continues, and other time-based statistics can be visualized. - Optionally, a thread graph can also visually demonstrate which communications belonging to the same threads. For example each new text-renderable communication can be connected by a vertical line with any replies stemming from that new text-renderable communication. The use of connecting lines allows a better visualization of simultaneous threads among social units. Usage of connecting lines also allows easier visualization of the totality of each thread, for example of the frequency that a new communication results in reply communications, the number of reply communications in a thread, etc.
- In
optional stage 216,network module 138 outputs network analysis. For example, the network analysis can provide a network visualization which illustrates for example patterns in social networks. - In some embodiments, one or more filters can be used in
stage 216 to dynamically change the size (i.e. complexity) and/or the threshold of connectivity of the visualized network so that real time analysis on live data can be performed. For example, in one of these embodiments, the filters can include inter-alia one or more of the following filters: traffic filter, degree filter (for example in-degree or out-degree which are the number of links in or out from a node respectively) and job type filter. For example, by setting the traffic filter between an upper and a lower threshold, users can get a network view showing only links whose strength falls between those two numbers. Such dynamic filtering may enable users to study network variables quickly and with flexibility. For example by setting a lower bound on traffic level, analysis may be able to focus on high contact social units. As another example by setting an upper bound on traffic level, analysis may be able to focus on low contact social units. Setting a lower and/or upper bound may also in some cases make a graph of the network more readable. - In another embodiment, dynamic network change is not supported. Instead, a static network map from network traffic data is generated and exported into a network visualization software to graph interesting patterns. In this embodiment, changing one parameter in constructing the network may dramatically alter the final network topologies. For example, a network generated by cutting connections above a thirty communication threshold may be very different from that generated by cutting connections above twenty communications. Therefore in this embodiment network maps may need to be recreated multiple times.
- In one embodiment,
network module 138 provides network visualization through one or more different graphical layout algorithms. Forexample network module 138 may provide general network layouts which focus on a clear network view by minimizing node overlap and/or minimizing overlap of connections between nodes. - As another example, network module may instead or additionally output a distinctive circular layout which preferably emphasizes the social context, communication patterns, and/or social unit attributes. The distinctive circular layout in some embodiments does not necessarily avoid node and/or connection overlap and therefore in some cases maintains some status and social influence information which for example may become important in analyzing effects on productivity.
- In one embodiment, the circular view has two components: a circular graph and a cluster context background, both of which are discussed below.
- In the circular graph view in some embodiments, a polar geometrical measure of the node allows a visualization of information. The information that is visualized can be extrinsic and/or intrinsic. For example, in one embodiment the position of a node from the center of the circle (radius) as measured in radians represents one of the centrality or prestige measures defined for social networks. Continuing with the example, using social network measures, patterns such as which social units have more access and/or influence over others in the social network can be identified. Continuing still with the example, a social unit with fewer replies could be placed at a greater distance from the center than a social unit with more replies. In another of these embodiments the radius may visualize a measure of communication patterns (intrinsic behavior) of a social unit, e.g. number of text-renderable communications sent out, how quickly a social unit responds to communications from others, percentage of communications received which are responded to, who sends more communications, who sends more communications related to a specific topic, time spent on communications, message similarity etc. As another example, the position of the node from the center can be based on other attributes, for example an extrinsic attribute such as job type.
- In some embodiments using polar geometrical measures, for example the radius, the polar measures may not display a normal distribution and therefore the distribution of the nodes along the diameter tends to be congested. To minimize this problem, in one embodiment the Box-Cox power transformation reproduced here can be used so as to automatically select the power p based on the distribution of the original polar measures. For example, if nodes are skewed to the edge or alternatively to the center, reducing distinctiveness between nodes, the transformation can reduce the skew.
- The standard Box-Cox transformation from regression analysis is given by the formula T(x)=(xp−1)/p where ln(x) is used for p=0 and p is chosen to render the data as close to normal distribution as possible.
- The Box-Cox transformation not only decreases the congestion problem of the graph, the transformed polar measures also typically provides good variables for further multivariate analysis.
- In another embodiment, an alternative power transformation such as the Affifi and Clark power transformation or no power transformation may be applied.
- In one embodiment, a second polar geometrical measure such as a measure of the arc optionally also allows visualization of information. The visualized information can be extrinsic and/or intrinsic, relating to centrality/prestige, intrinsic behavior, extrinsic attribute etc, similarly to the description above
- For example to further elaborate, in the cluster context background, the position of a node along the angle (arc of node) may be decided by the communication clusters in which the social unit participates. The clusters that are used to group the nodes can be defined in any appropriate manner. For example, in some embodiments same/similar job types are spatially grouped more closely (for example by angle). In one embodiment the clusters are defined as formal organizational departments. In another embodiment, the clusters are defined as informal practice groups/knowledge groups extracted from the communication network by an automatic clustering process. For example in this other embodiment, clusters can be generated by looking for content overlap among people with similar job descriptions or looking for behavioral patterns such as the number of simultaneous conversational threads among people with similar job descriptions. In another embodiment, clusters can be generated based on one of the centrality or prestige measures defined for social networks. In another embodiment, clusters may be defined by a combination of the above or differently.
- Optionally in one embodiment, other aspects of the circular graph allow visualization of information, for example the color of the node, the color of the link, the darkness (shading) of the node, the darkness (shading) of the link, the line type used for the link etc. For example, the nodes and/or links can be color/darkness/line-type coded by job type, topic of communication represented by the link (based on body of communication and/or subject line) or by any other intrinsic or extrinsic attribute (for example relating to centrality/prestige, intrinsic behavior, extrinsic attribute etc, similarly to as described above) in order to facilitate the recognition and analysis of patterns.
- Referring to
FIG. 4 , there is shown an example of a circular graph 400 which provides network visualization, according to an embodiment of the present invention. A node representing an individual identified asc65 402 is placed at the origin. (Theidentity c65 402 as well as the other identities in the graph are preferably hashed tokens to preserve confidentiality).Individual c65 402 is placed in the center because in this figureindividual c65 402 is the focus of the analysis. Depending on the embodiment,c65 402 can be chosen as the focus for any reason, for example because the visualization is of the ego network of c65 402 (withc65 402 requesting the visualization), becausec65 402 is the most central person in the collection of nodes, because the requester of the visualization selectsc65 402 to be the focus, etc. The other nodes inFIG. 4 are placed at different circular orbits whose radius provides visualization of social network information. For example, assuming the radius of a node measures the number of times the corresponding individual is the recipient of a communication,c22 404 is the recipient of more communications thanc7 406. The degrees of the arc can capture a second index. Continuing with the example, assuming the measure of the arc captures the similarity of the analyzed communications,c2 408 andc31 410 are clustered together in group A but apart fromsay c71 412 andc41 414. Therefore, the communications ofc2 408 andc31 410 are more similar to one another than to the communications ofc71 412 andc41 414. The level of darkness of each node inFIG. 4 can also provide additional visualization information. Continuing with the example the level of darkness of the node can represents the formal job type of the corresponding individual. For example different levels of darkness differentiatec27 416 as a consultant fromc2 408 as a partner. InFIG. 4 , connections below three communications are hidden to improve readability. The level of darkness of the connections can also provide additional visualization information. Continuing with the example, the level of darkness can distinguish communications based on topic of communication (for example based on the body and/or the subject line of the communication). Continuing with the example, in graph 400 all the connections are of equal darkness because all the communications are on the same topic. - In one embodiment,
network module 138 may instead or additionally extend a single circular layout into multiple circular layouts. In this view, each sub-group has its own circle and each node's polar geometrical measure is calculated solely from intra-group communication data, thereby allowing investigation of inter-and-intra group patterns. As another example,network module 138 may instead or additionally output a spring layout with a bird's-eye view. Node and/or link colors in this view could for example represent different types of information flows categorized by the automatic information clustering method discussed earlier This view enables a look at overall information flows within the organization. -
Network module 138 in some embodiments uses R Social Network Analysis as the engine for network analysis. R is an open source statistics package available at www.maths.lth.se/help/R/.R/library/sna/html/00Index.html. In addition, network visualization andanalysis module 138 may in some embodiments export data to other social network analysis and visualization tools, such as UC Irvine Network (UciNet) and Pajek. UciNet is published by Analytic Technologies headquartered in Harvard, Mass. Pajek is an open package available at vlado.fmf.uni-lj.si/pub/networks/pajek/default.htm. - While the invention has been described with respect to a limited number of embodiments, it will be appreciated that it is not thus limited and that many variations, modifications, improvements and other applications of the invention will now be apparent to the reader.
Claims (20)
1. A method of visualizing a communication interaction between at least two social units, comprising:
choosing a period of time;
selecting at least one entire text-renderable communication between at least two social units which occurred during the chosen period of time; and
visually indicating when during the chosen period of time at least one selected communication occurred and a direction of the communication.
2. The method of claim 1 , further comprising at least one technique selected from a group comprising:
visually demonstrating which visually indicated entire communications are included in same threads, and visually distinguishing a visually indicated entire communication which begins a new thread from a visually indicated entire communication which continues a thread.
3. The method of claim 1 , wherein the text-renderable communication is at least one of: a new communication and a reply communication.
4. The method of claim 1 , further comprising:
visualizing at least one time-based statistic of the at least one entire text-renderable communication.
5. The method of claim 1 , further comprising:
filtering the at least one entire text-renderable communication responsive to user-selected filters.
6. The method of claim 1 , further comprising:
filtering the at least two social units responsive to a user-selected threshold value.
7. The method of claim 1 , wherein a social unit is removed from display if it is associated with fewer text-renderable communications than the user-selected threshold value.
8. A method of visualizing a social network, comprising:
selecting information related to a social network to visualize; and
displaying a circular node representing a social unit with a radius whose length is reflective of the information.
9. The method of claim 8 , further comprising:
selecting other information related to the social network to visualize; and
visually indicating the information by one technique selected from a group comprising: color coding the node dependent on the information, color coding a link connecting the node with another node in the social network based on the information, shading the node dependent on the information, shading the link connecting the node with another node in the social network based on the information, choosing a line-type for the link based on the information, displaying the node at an angle whose measure depends on the information, and shading a range of angles based on the information.
10. The method of claim 8 , wherein the circular node is further displayed with an arc corresponding to the information.
11. The method of claim 8 , wherein the information is at least one of: frequency of communication, response time, semantic category, and communication volume.
12. The method of claim 8 , wherein the circular node represents at least one of: a social context, a communication pattern, and a social unit attribute within the social network.
13. The method of claim 8 , further comprising:
applying at least one of: a Box-Cox power transformation and an Affifi and Clark power transformation to minimize congestion in node distribution.
14. The method of claim 8 , further comprising:
automatically clustering a plurality of circular nodes in the social network based on similar social network characteristics.
15. A system for visualizing a communication interaction, comprising:
a processor, the processor configured to,
select a period of time of communications between at least two social units,
select a text-renderable communication between the at least two social units which occurred during the selected period of time, and
visually indicate when during the chosen period of time the selected communication occurred and a direction of the selected communication.
16. The system of claim 15 , further comprising at least one technique selected from a group comprising:
visually demonstrating which visually indicated entire communications are included in same threads, and visually distinguishing a visually indicated entire communication which begins a new thread from a visually indicated entire communication which continues a thread.
17. The system of claim 15 , wherein the text-renderable communication is at least one of: a new text-renderable communication and a reply text-renderable communication.
18. The system of claim 15 , further comprising:
visualize at least one time-based statistic of the at least one entire text-renderable communication.
19. The system of claim 15 , the processor further configured to
filter the at least one entire text-renderable communication responsive to user-selected filters.
20. The system of claim 15 , the processor further configured to
filter the at least two social units responsive to user-selected threshold values, wherein a social unit is removed from display if it is associated with fewer text-renderable communications than a threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/270,780 US20090144418A1 (en) | 2003-09-19 | 2008-11-13 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50438303P | 2003-09-19 | 2003-09-19 | |
US94464404A | 2004-09-17 | 2004-09-17 | |
US11/080,708 US7503070B1 (en) | 2003-09-19 | 2005-03-15 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
US12/270,780 US20090144418A1 (en) | 2003-09-19 | 2008-11-13 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/080,708 Continuation US7503070B1 (en) | 2003-09-19 | 2005-03-15 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090144418A1 true US20090144418A1 (en) | 2009-06-04 |
Family
ID=40417139
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/080,708 Expired - Fee Related US7503070B1 (en) | 2003-09-19 | 2005-03-15 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
US12/270,780 Abandoned US20090144418A1 (en) | 2003-09-19 | 2008-11-13 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
US12/361,482 Abandoned US20090158429A1 (en) | 2003-09-19 | 2009-01-28 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/080,708 Expired - Fee Related US7503070B1 (en) | 2003-09-19 | 2005-03-15 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/361,482 Abandoned US20090158429A1 (en) | 2003-09-19 | 2009-01-28 | Methods and systems for enabling analysis of communication content while preserving confidentiality |
Country Status (1)
Country | Link |
---|---|
US (3) | US7503070B1 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100325081A1 (en) * | 2009-06-22 | 2010-12-23 | Integrated Training Solutions, Inc. | System and associated method for determining and applying sociocultural characteristics |
US20100325082A1 (en) * | 2009-06-22 | 2010-12-23 | Integrated Training Solutions, Inc. | System and Associated Method for Determining and Applying Sociocultural Characteristics |
US20120158851A1 (en) * | 2010-12-21 | 2012-06-21 | Daniel Leon Kelmenson | Categorizing Social Network Objects Based on User Affiliations |
US20120166931A1 (en) * | 2010-12-27 | 2012-06-28 | Microsoft Corporation | System and method for generating social summaries |
US20130060864A1 (en) * | 2011-09-06 | 2013-03-07 | Karsten Ehms | Method and an apparatus for distribution of a message |
US20150106155A1 (en) * | 2011-06-08 | 2015-04-16 | Maria Guadalupe Castellanos | Determining and Visualizing Social Media Expressed Sentiment |
US9294576B2 (en) | 2013-01-02 | 2016-03-22 | Microsoft Technology Licensing, Llc | Social media impact assessment |
US9324112B2 (en) | 2010-11-09 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ranking authors in social media systems |
US10652280B2 (en) * | 2017-04-24 | 2020-05-12 | Unisys Corporation | User interface features for enterprise security management |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133916B2 (en) * | 2003-07-28 | 2006-11-07 | Etelemetry, Inc. | Asset tracker for identifying user of current internet protocol addresses within an organization's communications network |
US20060136372A1 (en) * | 2004-11-19 | 2006-06-22 | Schunemann Alan J | Inserted contextual web content derived from intercepted web viewing content |
US20060153167A1 (en) * | 2004-11-19 | 2006-07-13 | Schunemann Alan J | Computer tracking and locking |
US7606168B2 (en) * | 2005-01-28 | 2009-10-20 | Attenex Corporation | Apparatus and method for message-centric analysis and multi-aspect viewing using social networks |
US20090161910A1 (en) * | 2005-10-27 | 2009-06-25 | Slemens Aktiengesellschaft | Method and Device for Reading Addresses of Mail Items |
US20080040428A1 (en) * | 2006-04-26 | 2008-02-14 | Xu Wei | Method for establishing a social network system based on motif, social status and social attitude |
US7831928B1 (en) * | 2006-06-22 | 2010-11-09 | Digg, Inc. | Content visualization |
US8869037B2 (en) * | 2006-06-22 | 2014-10-21 | Linkedin Corporation | Event visualization |
US20080082349A1 (en) * | 2006-09-29 | 2008-04-03 | Zackrison John W | Using information about a financial transaction to augment information in an online social network |
US20080215581A1 (en) * | 2006-10-10 | 2008-09-04 | Bill Messing | Content/metadata selection and propagation service to propagate content/metadata to client devices |
US20080250450A1 (en) * | 2007-04-06 | 2008-10-09 | Adisn, Inc. | Systems and methods for targeted advertising |
WO2008134708A1 (en) * | 2007-04-30 | 2008-11-06 | Etelemetry, Inc. | Method and system for activity monitoring and forecasting |
US9591086B2 (en) * | 2007-07-25 | 2017-03-07 | Yahoo! Inc. | Display of information in electronic communications |
US8688595B2 (en) * | 2008-03-31 | 2014-04-01 | Pursway Ltd. | Analyzing transactional data |
US8762161B2 (en) * | 2008-10-06 | 2014-06-24 | Nice Systems Ltd. | Method and apparatus for visualization of interaction categorization |
US8312542B2 (en) * | 2008-10-29 | 2012-11-13 | Lockheed Martin Corporation | Network intrusion detection using MDL compress for deep packet inspection |
GB2486148A (en) * | 2009-09-10 | 2012-06-06 | Liverpool John Moores University | Analysis of communications in a social network |
AU2010330720B2 (en) * | 2009-12-18 | 2014-08-28 | Graphika Technologies, Inc. | System and method for attentive clustering and related analytics and visualizations |
US10324598B2 (en) | 2009-12-18 | 2019-06-18 | Graphika, Inc. | System and method for a search engine content filter |
US11409825B2 (en) | 2009-12-18 | 2022-08-09 | Graphika Technologies, Inc. | Methods and systems for identifying markers of coordinated activity in social media movements |
US8489588B2 (en) * | 2009-12-21 | 2013-07-16 | International Business Machines Corporation | Interactive visualization of sender and recipient information in electronic communications |
US8825760B1 (en) | 2010-08-10 | 2014-09-02 | Scott C. Harris | Event planning system that provides social network functions in advance of an actual event |
US8312056B1 (en) | 2011-09-13 | 2012-11-13 | Xerox Corporation | Method and system for identifying a key influencer in social media utilizing topic modeling and social diffusion analysis |
US20150347974A1 (en) * | 2014-05-29 | 2015-12-03 | Linkedin Corporation | Multi-objective recruiter search |
EP3214511B1 (en) | 2016-03-04 | 2018-05-09 | Siemens Aktiengesellschaft | Controlled provision of control data |
US10275444B2 (en) | 2016-07-15 | 2019-04-30 | At&T Intellectual Property I, L.P. | Data analytics system and methods for text data |
US10708297B2 (en) | 2017-08-25 | 2020-07-07 | Ecrime Management Strategies, Inc. | Security system for detection and mitigation of malicious communications |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020016918A1 (en) * | 2000-05-12 | 2002-02-07 | David Tucker | Information security method and system |
US20020116266A1 (en) * | 2001-01-12 | 2002-08-22 | Thaddeus Marshall | Method and system for tracking and providing incentives for time and attention of persons and for timing of performance of tasks |
US20020196292A1 (en) * | 2001-04-06 | 2002-12-26 | International Business Machines Corporation | Graph data visualization and graphics preparation |
US20030149727A1 (en) * | 2002-02-07 | 2003-08-07 | Enow, Inc. | Real time relevancy determination system and a method for calculating relevancy of real time information |
US20030227479A1 (en) * | 2000-05-01 | 2003-12-11 | Mizrahi Aharon Ronen | Large group interactions |
US6756983B1 (en) * | 2001-06-21 | 2004-06-29 | Bellsouth Intellectual Property Corporation | Method of visualizing data |
US6820081B1 (en) * | 2001-03-19 | 2004-11-16 | Attenex Corporation | System and method for evaluating a structured message store for message redundancy |
US20050105712A1 (en) * | 2003-02-11 | 2005-05-19 | Williams David R. | Machine learning |
US6941345B1 (en) * | 1999-12-03 | 2005-09-06 | Nortel Networks Limited | Real-time, text-based messaging between devices in plural communities |
US6978274B1 (en) * | 2001-08-31 | 2005-12-20 | Attenex Corporation | System and method for dynamically evaluating latent concepts in unstructured documents |
US7058543B2 (en) * | 2003-01-27 | 2006-06-06 | Fuji Xerox Co., Ltd. | Evaluation apparatus and evaluation method |
US7263474B2 (en) * | 2003-01-29 | 2007-08-28 | Dancing Rock Trust | Cultural simulation model for modeling of agent behavioral expression and simulation data visualization methods |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5323316A (en) * | 1991-02-01 | 1994-06-21 | Wang Laboratories, Inc. | Morphological analyzer |
US5794177A (en) * | 1995-07-19 | 1998-08-11 | Inso Corporation | Method and apparatus for morphological analysis and generation of natural language text |
US6799199B1 (en) * | 2000-01-11 | 2004-09-28 | The Relegence Corporation | Media monitor system |
US20040073617A1 (en) * | 2000-06-19 | 2004-04-15 | Milliken Walter Clark | Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail |
AUPR464601A0 (en) * | 2001-04-30 | 2001-05-24 | Commonwealth Of Australia, The | Shapes vector |
US6892193B2 (en) * | 2001-05-10 | 2005-05-10 | International Business Machines Corporation | Method and apparatus for inducing classifiers for multimedia based on unified representation of features reflecting disparate modalities |
CA2475319A1 (en) * | 2002-02-04 | 2003-08-14 | Cataphora, Inc. | A method and apparatus to visually present discussions for data mining purposes |
US7007069B2 (en) * | 2002-12-16 | 2006-02-28 | Palo Alto Research Center Inc. | Method and apparatus for clustering hierarchically related information |
-
2005
- 2005-03-15 US US11/080,708 patent/US7503070B1/en not_active Expired - Fee Related
-
2008
- 2008-11-13 US US12/270,780 patent/US20090144418A1/en not_active Abandoned
-
2009
- 2009-01-28 US US12/361,482 patent/US20090158429A1/en not_active Abandoned
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941345B1 (en) * | 1999-12-03 | 2005-09-06 | Nortel Networks Limited | Real-time, text-based messaging between devices in plural communities |
US20030227479A1 (en) * | 2000-05-01 | 2003-12-11 | Mizrahi Aharon Ronen | Large group interactions |
US20020016918A1 (en) * | 2000-05-12 | 2002-02-07 | David Tucker | Information security method and system |
US20020116266A1 (en) * | 2001-01-12 | 2002-08-22 | Thaddeus Marshall | Method and system for tracking and providing incentives for time and attention of persons and for timing of performance of tasks |
US7577656B2 (en) * | 2001-03-19 | 2009-08-18 | Attenex Corporation | System and method for identifying and categorizing messages extracted from archived message stores |
US6820081B1 (en) * | 2001-03-19 | 2004-11-16 | Attenex Corporation | System and method for evaluating a structured message store for message redundancy |
US20020196292A1 (en) * | 2001-04-06 | 2002-12-26 | International Business Machines Corporation | Graph data visualization and graphics preparation |
US6756983B1 (en) * | 2001-06-21 | 2004-06-29 | Bellsouth Intellectual Property Corporation | Method of visualizing data |
US6978274B1 (en) * | 2001-08-31 | 2005-12-20 | Attenex Corporation | System and method for dynamically evaluating latent concepts in unstructured documents |
US20030149727A1 (en) * | 2002-02-07 | 2003-08-07 | Enow, Inc. | Real time relevancy determination system and a method for calculating relevancy of real time information |
US7058543B2 (en) * | 2003-01-27 | 2006-06-06 | Fuji Xerox Co., Ltd. | Evaluation apparatus and evaluation method |
US7263474B2 (en) * | 2003-01-29 | 2007-08-28 | Dancing Rock Trust | Cultural simulation model for modeling of agent behavioral expression and simulation data visualization methods |
US20050105712A1 (en) * | 2003-02-11 | 2005-05-19 | Williams David R. | Machine learning |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8407177B2 (en) | 2009-06-22 | 2013-03-26 | Integrated Training Solutions, Inc. | System and associated method for determining and applying sociocultural characteristics |
US20100325082A1 (en) * | 2009-06-22 | 2010-12-23 | Integrated Training Solutions, Inc. | System and Associated Method for Determining and Applying Sociocultural Characteristics |
WO2010151465A1 (en) * | 2009-06-22 | 2010-12-29 | Integrated Training Solutions, Inc. | System and associated method for determining and applying sociocultural characteristics |
US20100325081A1 (en) * | 2009-06-22 | 2010-12-23 | Integrated Training Solutions, Inc. | System and associated method for determining and applying sociocultural characteristics |
US8423498B2 (en) | 2009-06-22 | 2013-04-16 | Integrated Training Solutions, Inc. | System and associated method for determining and applying sociocultural characteristics |
US9324112B2 (en) | 2010-11-09 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ranking authors in social media systems |
US8738705B2 (en) * | 2010-12-21 | 2014-05-27 | Facebook, Inc. | Categorizing social network objects based on user affiliations |
US20120158851A1 (en) * | 2010-12-21 | 2012-06-21 | Daniel Leon Kelmenson | Categorizing Social Network Objects Based on User Affiliations |
US9672284B2 (en) | 2010-12-21 | 2017-06-06 | Facebook, Inc. | Categorizing social network objects based on user affiliations |
US10013729B2 (en) * | 2010-12-21 | 2018-07-03 | Facebook, Inc. | Categorizing social network objects based on user affiliations |
US20120166931A1 (en) * | 2010-12-27 | 2012-06-28 | Microsoft Corporation | System and method for generating social summaries |
US9286619B2 (en) * | 2010-12-27 | 2016-03-15 | Microsoft Technology Licensing, Llc | System and method for generating social summaries |
US20150106155A1 (en) * | 2011-06-08 | 2015-04-16 | Maria Guadalupe Castellanos | Determining and Visualizing Social Media Expressed Sentiment |
US20130060864A1 (en) * | 2011-09-06 | 2013-03-07 | Karsten Ehms | Method and an apparatus for distribution of a message |
US9614798B2 (en) * | 2011-09-06 | 2017-04-04 | Siemens Aktiengesellschaft | Method and an apparatus for distribution of a message |
US9294576B2 (en) | 2013-01-02 | 2016-03-22 | Microsoft Technology Licensing, Llc | Social media impact assessment |
US9672255B2 (en) | 2013-01-02 | 2017-06-06 | Microsoft Technology Licensing, Llc | Social media impact assessment |
US10614077B2 (en) | 2013-01-02 | 2020-04-07 | Microsoft Corporation | Computer system for automated assessment at scale of topic-specific social media impact |
US10652280B2 (en) * | 2017-04-24 | 2020-05-12 | Unisys Corporation | User interface features for enterprise security management |
Also Published As
Publication number | Publication date |
---|---|
US7503070B1 (en) | 2009-03-10 |
US20090158429A1 (en) | 2009-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7503070B1 (en) | Methods and systems for enabling analysis of communication content while preserving confidentiality | |
US8041719B2 (en) | Personal computing device-based mechanism to detect preselected data | |
JP5165126B2 (en) | Method and apparatus for handling messages containing preselected data | |
US8011003B2 (en) | Method and apparatus for handling messages containing pre-selected data | |
US8312553B2 (en) | Mechanism to search information content for preselected data | |
Ratkiewicz et al. | Truthy: mapping the spread of astroturf in microblog streams | |
US8620916B2 (en) | System and method for social inference based on distributed social sensor system | |
US8225371B2 (en) | Method and apparatus for creating an information security policy based on a pre-configured template | |
US20060184549A1 (en) | Method and apparatus for modifying messages based on the presence of pre-selected data | |
US7886359B2 (en) | Method and apparatus to report policy violations in messages | |
AU2010202627B2 (en) | Automated forensic document signatures | |
US20050060643A1 (en) | Document similarity detection and classification system | |
US20130031183A1 (en) | Electronic mail processing and publication for shared environments | |
AU2006279982A1 (en) | Annotating shared contacts with public descriptors | |
JP4903386B2 (en) | Searchable information content for pre-selected data | |
Brophy et al. | Through the net to freedom: information, the Internet and human rights | |
JP2002117135A (en) | Web site security system | |
US20130145289A1 (en) | Real-time duplication of a chat transcript between a person of interest and a correspondent of the person of interest for use by a law enforcement agent | |
CA2804851A1 (en) | Monitoring communications | |
Iqbal | Messaging forensic framework for cybercrime investigation | |
RU2789629C1 (en) | System and method for detection of information attack | |
US11886229B1 (en) | System and method for generating a global dictionary and performing similarity search queries in a network | |
Elmas | The Role of Compromised Accounts in Social Media Manipulation | |
French | Evaluation of HTML Tag Susceptibility to Statistical Fingerprinting for Use in Censorship Evasion | |
Williams | Incremental Hacker Asset Collection and Classification for Proactive Cyber Threat Intelligence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MARSHALL VAN ALSTYNE, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHANG, JUN;REEL/FRAME:023101/0477 Effective date: 20050515 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |