One Day in Twitter: Topic Detection Via Joint Complexity Gérard Burnside1, Dimitris Milioris1,2 and Philippe Jacquet1 1Bell Labs, Alcatel-Lucent, France 2École Polytechnique ParisTech Snow Challenge @ WWW 2014 Overview Motivation & Challenges I-Complexity Joint Complexity Theoretical Background Snow Challenge Dataset Topic Detection Headlines Keywords Media URLs Benefits Conclusions Future work 2 Motivation Online social media services have seen a huge expansion: The value of information has increased dramatically Interactions and communication between users help predict the evolution of information The ability to study Social Networks can provide relevant info in real time 3 Challenges The study of Soc. Networks has several research challenges Searching in social media is still an open problem short size of posts, tremendous quantity in real time Information of the correlation between groups of users predict media consumption, network resources, traffic improve QoS Analyze the relationship between members of a group/community reveal important teams Spam and adv. detection continuously growing amount of irrelevant info 4 I – Complexity X is a sequence and I(X) is a set of factors (distinct substr.) Example: X = apple, then: I(X) = {a, p, l, e, ap, pp, pl, le, app, ppl, ple, appl, pple, apple, v} |I(X)| is the complexity of a sequence |I(X)| = 15 (v denotes the empty string) 5 Joint Complexity [1] The information contained in a string may be revealed by comparing with a reference string The Joint Complexity is the number of common distinct factors in two sequences J(X, Y) = |I(X) ∩ I(Y)| Efficient way to estimate similarity degree of two sequences The analysis of a sequence in subcomponents is done by Suffix Trees Simple, fast and low complexity method to store and recall from memory [1] P. Jacquet, D. Milioris and W. Szpankowski, “Classification of Markov Sources Through Joint String Complexity: Theory and Experiments”, in IEEE International Symposium on Information Theory 6 (ISIT’13), Istanbul, Turkey, July 2013. Suffix Trees Superposition JC(apple, maple) = 9 Suffix Tree superposition of X = apple and Y = maple It reveals the common factors of X and Y, and gives a similarity metric Time to build a S.T. = O(n logn) Space in memory = O(n), n is the length of the tweet 7 Theoretical Background [2] k JC is expected to be in n , κ < 2 2 n In presence of quasi duplicates of JC is in 2log2 When topics are the same JC= n , h = entropy of the source. h Used to verify the thresholds Thlow and Thmax [2] D. Milioris and P. Jacquet, “Joint Sequence Complexity Analysis: Application to Social Networks Information Flow”, in Bell Laboratories Technical Journal, Issue on Data Analytics, Vol. 18, No. 4, 2014. (DOI: 10.1002/bltj.21647). 8 Snow Data Challenge Collected Tweets for 24 hours; between Tue Feb. 25, 18:00 and Wed Feb. 26, 18:00 (GMT) by following 556,295 users, and also looking for specific keywords (Syria; terror; Ukraine; bitcoin) Total tweets: 1,041,062 N = 96 timeslots (new timeslot = every 15 minutes) Challenge: Provide one or more (max 10) different topics per timeslot (headline, set of keywords, Media URLs) 9 Topic Detection Timeslot representation via connected weighted graphs Each tweet is a node in the graph and an adjacency matrix (triangular) holds the weight (JC) of every edge 10 Topic Detection 11 Algorithms 12 Most Representative and Central Tweets The best-ranked tweet is chosen unconditionally The second one is picked only if its JC score with the first one is below a chosen threshold Thrlow, otherwise it is added to the list of related tweets of the first tweet Similarly, the third one is picked only if its JC score with the first two is below Thrlow, etc. This ensures that the topics are dissimilar enough and it classifies best ranked tweets into topics at the same time 13 Headlines By removing punctuation, special characters, etc., of each central tweet, we construct the headlines of each topic and we run through the list of related tweets to keep only tweets that are different enough from the central one’s (no duplicates) We do so by keeping only the tweets whose JC score with the central tweet and all previous related tweets is above a chosen threshold Thrmax. We first chose the values 400 and 600 for Thrlow and Thrmax respectively, but many topics had only one related tweet (all the others were RT), so we decided to lower that threshold to 240 14 Keywords In the bag of words constructed from the list of related tweets, we remove articles (stop-words), punctuation, special characters, etc. We get a list of words, and we order them by decreasing frequency of occurrence. Finally we report the k most frequent words, in a list of keywords 15 Media URLs The body of a tweet (in the json file format), contains a URL information for links to media files entities → media → media url. We scan the original json format in order to retrieve such a URL, from the most representative tweet or any of its related tweets, pointing to valid photos or pictures in a jpg, png or gif format, and then we report these pictures along with the headlines and the set of keywords Almost half of the headlines (47%) produced by our method had an image retrieved from the original tweet. 16 Benefits Both message classification and identification of the growing trends in real time (trend sensing) -- > submitted to KDD’14 Track the information and timeline within a social network Deal with languages other than English without specific preprocessing or dictionaries, because the method is: simple, context-free, with no grammar and does not use semantics 17 Conclusions Implementation of a topic detection method applied to a dataset of tweets emitted during a 24 hour period It relies heavily on the concept of Joint String Complexity which has the benefit of being language agnostic and does not require humans to deal with list of keywords has high algorithmic efficiency The results obtained are satisfactory and promising on the SNOW dataset and other non latin languages (e.g. Greek) 18 Future Work, Improvements Use the theoretical background in order to automatically fix the threshold values, than empirical ones chosen in this work Fix a discarding threshold to remove not significant enough topics; thus allowing some not very active time-slots to contain less or more than a fixed number of topics. Handle topics that where cut in half between two timeslots (since they where arbitrary divided in 15 min.) Extend the JC metric to make topological classification of tweets and perform clustering based on this distance 19 Publications related to JC D. Milioris and P. Jacquet, “Joint Sequence Complexity Analysis: Application to Social Networks Information Flow”, in Bell Laboratories Technical Journal, Issue on Data Analytics, Vol. 18, No. 4, 2014 P. Jacquet, D. Milioris, and W. Szpankowski, “Classification of Markov Sources Through Joint String Complexity: Theory and Experiments,” Proc. IEEE Internat. Symp. Inform. Theory (ISIT ’13) P. Jacquet and W. Szpankowski, “Joint String Complexity for Markov Sources,” Proc. 23rd Internat. Meeting on Probabilistic, Combinatorial, and Asymptotic Methods for the Anal. of Algorithms (AofA ’12) P. Jacquet, “Common Words Between Two Random Strings,” Proc. IEEE Internat. Symp. on Inform. Theory (ISIT ’07) ------------------------------------------------------------------------------------------------------ P. Jacquet and W. Szpankowski, “Analytical Depoissonization and Its Applications,” Theoret. Comput. Sci., 201:1-2 (1998), 1–62. P. Jacquet and W. Szpankowski, “Autocorrelation on Words and Its Applications: Analysis of Suffix Trees by String-Ruler Approach,” J. Combin. Theory Ser. A, 66:2 (1994), 237–269. 20 Questions ? gerard.burnside@alcatel-lucent.com dimitrios.milioris@polytechnique.edu 21