MDS 2011 Presentation: An Unsupervised Approach to Discovering and Disambiguating Social Media...

Post on 18-Dec-2014

1,436 views 3 download

description

 

transcript

An Unsupervised Approach to Discovering and Disambiguating Social Media ProfilesMining Data Semantics Workshop 2011Carlton NorthernOld Dominion University8/25/2011

1

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

Goal• Ascertain the set of social media profiles for

ODU CS students.

...{ }

3

4

What's out there already?

5

Intelius

Wink / my life

6

Google

7

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

Social Media Sites

9

Approach

10

11

Discovery Phase

Generate Usernames

Check Sites for Profiles

Check Social Graph

Check Google and

Yahoo

Check Sites For Profiles

Check Rapportive

Disambiguation Phase

Assign Points for Keywords, Email, Me and

Friend Links

Remove Duplicates

Algorithm

*Run multiple times

Discovery Phase

12

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

Username Generation

• Generate usernames from full name derivatives, i.e. for “Carlton Northern” we have:

• cnorthern• northernc• carlton.northern• carlton_northern• carlton-norther

14

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

• Run existing profile URLs through Google Social Graph to find “me” links.

16

Google’s Social Graph API

“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>

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

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

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

Disambiguation Phase

21

22

• From a public Facebook profile you can (sometimes) get a persons full name, city/area, friends and picture

23

Personally Identifiable Information Poor Profile

Personally Identifiable Information Rich Profile

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

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

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

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 ProfileNot-Validated Profile

Assign 5 points to Michael’s Twitter profile

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 ProfileNot-Validated Profile

Assign 10 points to Carlton’s Twitter profile

Experiment

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, recall and f-measure to assess our truth set

31

Truth Set Results Summary

32

Social Media Web Site Results

33

34

Whole Set Service Graph

35

36

Truth Set User Graph

37

Whole Set User Graph

38

39

Whole Set User Graph Without Blogger Links

40

Closeup

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

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

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

44

Carlton Northerncarlton.northern@gmail.com

http://carlton-northern.com/