Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
MDS 2011 Presentation: An Unsupervised Approach to Discovering and Disambiguating Social Media Profiles
1. An Unsupervised Approach to Discovering and Disambiguating Social Media Profiles Mining Data Semantics Workshop 2011 Carlton Northern Old Dominion University 8/25/2011 1
2. Background Digital Preservation How are students using social media as a digital preservation strategy? Evaluating Personal Archiving Strategies for Internet-based Information - Marshall, McCown, Nelson http://www.cs.odu.edu/~mln/pubs/archiving-2007/eval-personal-arch-strat-archiving07.pdf 2
3. Goal Ascertain the set of social media profiles for ODU CS students. { } ... 3
8. Requirements and Assumptions Approach must be automated - no human interaction except for search query consisting of: location organization profession/education domain. Achieve precision 0.7 or higher and f-measure 0.5 or higher comparable to a human level of the same activity Must find profiles not indexed by search engines Can use any means available including using search engines, page scraping, web service APIs, etc. Only publicly declared identities; do not expose obfuscated identities e.g., “Bruce Wayne“ -> “Batman" Find profiles from 25 pre-defined sites (next slide) Approach must be extensible, i.e. new social media sites can be added with minimal changes. 8
11. 11 Algorithm Discovery Phase Generate Usernames Check Rapportive Disambiguation Phase Assign Points for Keywords, Email, Me and Friend Links Check Google and Yahoo Check Sites for Profiles Check Sites For Profiles Check Social Graph Remove Duplicates *Run multiple times
13. Starting Information Given: Full name, i.e. Carlton Northern CS username, i.e. cnorther CS email, i.e. cnorther@cs.odu.edu .forward files -> carlton.northern@gmail.com CS profile URI, i.e. http://www.cs.odu.edu/~cnorther Inferred: School affiliation, i.e. Old Dominion Approximate location, i.e. Norfolk, Hampton Roads Computer Science affiliation, i.e. software engineer 13
14. Username Generation Generate usernames from full name derivatives, i.e. for “Carlton Northern” we have: cnorthern northernc carlton.northern carlton_northern carlton-norther 14
15. Poll Sites Issue HTTP GET to determine if a profile exists with a generated username Create site templates for links: http://www.facebook.com/’username here’ http://www.stumbleupon.com/stumbler/’username here’ https://picasaweb.google.com/’username here’ 2016 students, 6 usernames, 25 sites = 302k requests GET http://www.facebook.com/carlton.northern HTTP/1.1 If 200 accept response, profile exists, else it doesn’t. Soft 404’s can be somewhat problematic but can be handled. Some sites detect robots and will present a Captcha which is also problematic. 15
16. Run existing profile URLs through Google Social Graph to find “me” links. 16 Google’s Social Graph API
17. “Me” Links “me” links are links in Friend of a Friend (FOAF) and XHTML Friends Network (XFN) that specify the same identity For example, a me link from my CS profile page to twitter: 17 <html> <head> <title>Carlton Northern's CS Home Page</title> </head> <body> stuff here ... <a href=http://twitter.com/carltonnorthern rel=“me”>My Twitter</a> </body> </html>
18. Rapportive Rapportive is a contacts relationship management (CRM) tool that sits on top of Gmail Uses AJAX and JSON to serve up content to their Gmail widget. Mined .forward files on the CS departmental server Found only 24 email addresses out of 2016 students Run CS and non CS email addresses through Rapportive’s not-so-public API to access their results. Produced 15.9% of our truth set profile results with only 1.6% being unique to Rapportive 18
19. Google and Yahoo Query Google and Yahoo using their respective APIs. “carlton northern" AND norfolk “carlton northern" AND “computer science" “carlton northern" AND “old dominion“ “carlton northern” site:http://www.facebook.com Geonames could be used to derive nearby cities to automatically form search queries The same could be done with WordNet to derive profession or education terms 19
20. Google and Yahoo Calls to Google and Yahoo need to be limited because of API restrictions. Google restricts use to about 1,000 requests per hour Furthermore, best results are in the first 1 – 8 positions of the result set 20
24. Point System Simple point system: Keyword matching Link community structure analysis Extraction of semantic and feature data from profiles 11 points is considered a validated profile. Points can range from a total negative score to about 50. 25
25. Keyword Matching 1 point for weak indicators 1 word terms like “programmer” or “student” 4 points for stronger indicators 2 or more words terms like “computer science” or “software engineer” 7 points for very strong indicators locations i.e. “norfolk” or “portsmouth” Localized advertisements can be problematic 2 points for first name or given name 4 points for last name 26
26. Name Matching Facebook, Linkedin, Google, and Twitter, use real names so: 2 points for a first name or diminutive/nickname 5 points for a last name Subtract 21 points if neither a nickname or diminutive and a last name are found Watch out for diminutive/nicknames! http://code.google.com/p/nickname-and-diminutive-names-lookup/ Linkedin in provides location add or subtract 7 points 27
27. Link Community Structure Analysis Retrieve all links in a page and see if they point to other validated profiles in the data set, if so, assign 5 points 28 Validated Profile Not-Validated Profile Assign 5 points to Michael’s Twitter profile
28. Me Links and Email Matching 10 points if a profile is found from Rapportive 10 points if a profile has a me link from an already validated profile 29 Validated Profile Not-Validated Profile Assign 10 points to Carlton’s Twitter profile
30. Dataset 2016 students from our departmental server 142 graduate 1874 undergraduate Generated 9GB worth of data Truth set: 20 graduate students and 2 professors from our research group Web Science and Digital Libraries Use information retrieval metrics of precision, recalland f-measure to assess our truth set 31
40. Future Work Facial recognition Better link community structure analysis Perform quantitative social media digital preservation study Remove social media sites that produced no or little results (unpopular) and add new ones (foursquare.com)? 41
41. Potential Impacts/Uses Open source intelligence gathering “Open source” as in publicly available information Social media research Measure the social health of an organization 42
42. Conclusions Completely automated with the only human interaction being with the creation of the search query Precision 0.863, recall .526, f-measure 0.632 The approach uses non-traditional search mechanisms to achieve it's goals Only publicly available information was used 43