• 沒有找到結果。

Opinion Spam Analysis and Detection Leaked Confidential Information as Ground Truth

N/A
N/A
Protected

Academic year: 2022

Share "Opinion Spam Analysis and Detection Leaked Confidential Information as Ground Truth"

Copied!
70
0
0

加載中.... (立即查看全文)

全文

(1)

Opinion Spam Analysis and Detection

Leaked Confidential Information as Ground Truth

Yu-Ren Chen, Hsin Hsi Chen

National Taiwan University

(2)

What Is Opinion Spam?

● spreading commercially advantageous opinions as regular users on the Internet

positive opinions about own products/services

negative opinions about competitors

● also known as ‘review spam’ or ‘shilling’

● undoubtedly unethical

● in most cases illegal

● believed to be widely used in practice

○ potentially lucrative profits → strong incentives

(3)

‘Spam’ in General

● definition of ‘spam’

○ (Wikipedia) the use of electronic messaging

systems to send unsolicited bulk messages (spam), especially advertising, indiscriminately

○ (Oxford) irrelevant or unsolicited messages sent over the Internet, typically to large numbers of users, for the purposes of advertising, phishing, spreading malware, etc.

(4)

Various Kinds of Spam

● email spam

○ the most well-known kind of spam

○ spam is defined as ‘email spam’ in Merriam-Webster

● search engine spam

○ manipulation of search engine indices and rankings

○ content spam: keyword stuffing, meta-tag stuffing, scraper sites, article spinning, machine translation

○ link spam: link farms, hidden links, expired domains, comment spam, referrer log spam

● social network spam

○ bulk message, malicious links, fake friends, etc.

● many more...

(5)

Opinion Spam v.s. Other Spam

very carefully written to avoid getting caught

○ deemed as fraud → unacceptable

○ backfiring may cause serious damage to the

reputation of a brand (or a store, restaurant, etc.)

● initiated by a big brand in our case study

(Samsung)

○ high stakes

○ opinion spammers have to be really careful

(6)

Difficulty in Obtaining Dataset

● manual annotation is pretty much useless

○ low inter-annotator agreement score (Ott et al. 2011)

approximated ground truth

■ duplicate / near-duplicate reviews

● (Jindal et al. 2008)

■ crowdsourced fake reviews

● (Ott et al. 2011)

● utilizing confidential internal records in our study

○ real record of opinion spam in real world

‘true’ ground truth

(7)

Our Case Study - 三星寫手門事件

● conducted by ‘鵬泰顧問有限公司’, a subsidiary company of Samsung

● hired writers and designated employees were

instructed to make disingenuous reviews on web forums

● revealed by a hacker known as ‘0xb’

○ making confidential documents in 鵬泰 publicly available on TaiwanSamsungLeaks.org

Samsung was fined $10 million TWD by the Fair Trade Commission in Taiwan

(8)

About ‘Mobile01’

● the main battlefield of this marketing campaign

● where the leaked documents was first made public

● one of the most popular websites in Taiwan

○ #10 in Alexa traffic rank in Taiwan

● mainly featuring discussion about consumer electronics

○ mobile phones, tablets, etc.

● primarily a web forum site

○ rather than product review site such as Amazon

● written in Traditional Chinese for the most part

○ rather than in English

(9)

Structure of Mobile01 Forum

(10)

More about Web Forums

● thread (topic, 討論串)

○ collection of posts (from oldest to latest)

○ started by specifying the title and the first post

● post (文章)

○ first post (original post, thread starter, 一樓)

○ reply (回覆)

■ all posts except the first posts

■ can be used for bumping (手動置頂,頂)

● hierarchical structure

○ forum ⇢ board ⇢ thread ⇢ post

(11)

Dataset Collection

● leaked spreadsheets

○ HHP-2011.xlsx and HHP-2012.xlsx

○ containing URLs to the spam posts

○ source of the ground truth in our study

● Mobile01

contents of the posts

■ including spam and non-spam

○ other various kinds of information on Mobile01

○ all posts from 2011 to 2012 on SAMSUNG (Android) board

■ where the ‘spam density’ is the highest

○ all profiles of the posters of such posts

○ three SQLite tables: POSTS, PROFILES, THREADS,

(12)

a snippet of the leaked spreadsheet ‘HHP-2012.xlsx’

(13)

an example post on Mobile01

(14)

a snippet of the table ‘POSTS’ scraped from Mobile01

(15)

an example profile on Mobile01

(16)

a snippet of the table ‘PROFILES’ scraped from Mobile01

(17)

a snippet of the table ‘THREADS’ scraped from Mobile01

(18)

amount of data collected

(19)

Looking into the Dataset

● main observations

subtlety in spam posts

low spam post ratio of some spammers

○ types of spammer accounts

reputable accounts

throwaway accounts

first posts v.s. replies in threads

○ pattern in submission time of spam posts

activeness of threads

collusive activities of spammers

(20)

examples of subtly written spam posts

(21)

examples of subtly written spam posts

(22)

examples of subtly written spam posts

(23)

Low Spam Post Ratio of Some Spammers

● our definition of spammer

○ poster who had submitted any spam post

● only 33% of the posts from spammers are spam in this dataset

(24)

Different Types of Spammer Accounts

● reputable accounts

○ hired reputable writers

low spam ratio

● throwaway accounts

○ registered in batch

high spam ratio

low number of threads initiated

● others

○ hired non-reputable posters?

○ borrowed accounts?

(25)

pattern in registration time

(26)

First Posts v.s. Replies

● first post

initiating the thread

richer in content

higher spam ratio

● reply (2nd, 3rd posts in thread)

○ usually quite concise

(27)

Submission Time of Spam Posts

● hypothesis: spam posts are more often made during work time compared to normal posts

○ because spamming is a job rather than a leisure activity

(28)

Activeness of Threads

● threads started by spam first posts are expected to be more active

○ written to draw attention and exposure

● measuring of ‘activeness’ of a thread

○ number of posts in the thread

○ number of clicks on the thread

(29)

Collusion between Spammers

different spam accounts submit spam posts to the same thread

○ fabricating the majority opinion

bumping the same spam thread

67% of the spam posts are in the threads containing multiple spam posts

● could be different actual human posters

● or just one human login with different accounts

○ still can be seen as collusion between the accounts

(30)

Detection

● evaluation metric

● data splitting

● machine learning

● spam detection for first posts

● spam detection for replies

● spammer detection

(31)

Evaluation Metric

● spam / spammer is in minority (<5%)

○ accuracy

✘ 

● high precision / recall on the spam / spammer class is preferable

○ F-measure

(32)

Data Splitting

● posts (spam detection)

○ made in 2011 → training set

○ made between Jan 2012 and May 2012 → test set

● user accounts (spammer detection)

○ who had submitted a post in 2011 → training set

○ who had submitted a post between Jan 2012 and May 2012 → test set

○ who had submitted a post in both → training set

■ probabilistic prediction on posts will be used in spammer detection

(33)

Test Set* for Posts

● concern: capturing the writing habit of spammers?

○ favorite words, preferred writing style and etc.

■ might be purely personal preference

■ not essential to opinion spamming

● solution: removing posts by ‘cross-posters’ from test set for posts

○ cross-posters: users who have made a post in both of training set and test set

○ result set: test set*

(34)

number of instances in each split

(35)

Machine Learning

● Scikit-Learn (Pedregosa et al. 2011)

○ machine learning in Python

● SVM with RBF kernel

○ outperforms SVM with linear kernel, logistic regression, AdaBoost, random forests, etc

Python wrapper for LibSVM

○ scaling features to zero mean and unit variance

■ (Hsu et al. 2003)

○ two primary hyperparameter (c, γ) to tune

■ 5-fold cross-validation on the training set

■ grid search on (c, γ) with F-measure as the metric to optimize

(36)

Spam Detection for First Posts

● specifically for first posts in threads

● expected to be have nicer results than for replies

○ higher spam ratio

○ richer content

● only show the performance on test set* in the following slides for conciseness

(37)

Random Baseline

● predict whether a first post is spam

according to the result of a fair coin flip

● precision ≈ ratio of spam

● recall ≈ 50%

features\metrics precision recall F-measure

random 2.52% 55.71% 4.82%

(38)

(Dimension-reduced) Bag-of-Words

● Chinese word segmentation with Jieba

● words with < 5 occurrences are removed

● words appeared in over 30% of the posts are removed

○ stop words like

● Randomized PCA (Halko et al. 2011) to reduce the dimension of bag-of-words

○ efficient on large matrices

○ mitigating overfitting

○ speed up the training process

(39)

Number of Dimension to Reduce to

● determined by the result of the 5-fold cross validation

● F-measure is the highest when bag-of-words is reduced to 150 dimensions

(40)

Bag-of-Words Performance

● tremendous performance boost

○ F-measure improved by 46%

● how?

features\metrics precision recall F-measure

random 2.52% 55.71% 4.82%

bag-of-words 50.00% 51.43% 50.70%

(41)

Finding the ‘Keywords’

● finding the features that decide the predictions

○ no simple way since RBF kernel is non-linear

● falling back to SVM with linear kernel

○ suffering ~10% loss in F-measure

○ able to get the coefficients (weights) which indicate the importance of each feature

● PCA inverse-transformed the coefficients to get the importance of each word

(42)

words with the highest weights (spam keywords)

(43)

words with the lowest weights (ham keywords)

(44)

Comparing the ‘Keywords’

● words that are the strongest spam indicators

Samsung’s top products (galaxy, nexus, note, sii)

○ describing user experiences (體驗 , 看到 , 覺得)

○ focusing on the multimedia aspect (照片 , 拍照 , 影片)

● words that are the strongest non-spam indicators

○ seeking help (問題, 解決, 無法)

○ polite words (謝謝, 大大, 小弟)

○ technicalities (rom, 開機 , 設定)

● spam first posts put more emphasis on certain topics

○ bag-of-words able to exploit such characteristics

○ although each post looks rather unsuspicious

(45)

Bag-of-words of Titles

● titles of the threads may help too

○ but might have a different set of keywords

○ appending the title bag-of-words reduced to 50 dimensions

features\metrics precision recall F-measure

random 2.52% 55.71% 4.82%

bag-of-words 50.00% 51.43% 50.70%

title + content

bag-of-words 56.16% 58.57% 57.34%

(46)

Content Characteristics

(47)

symmetric KL divergence between spam and hams

(48)

distribution of #images and #words

(49)

Content Quantity of Spam First Posts

● spam first posts are essentially advertisements in disguise

○ ‘unboxing’ articles

○ experience with the products

○ containing lots of words and pictures

● regular users usually don’t bother to take effort to write long articles

○ often just seeking help

(50)

Impact on Performance

● precision ⇈ recall ↓

○ We prefer precision to be higher anyway.

● overall F-measure increased by 3%

features\metrics precision recall F-measure

random 2.52% 55.71% 4.82%

bag-of-words 56.16% 58.57% 57.34%

bag-of-words

+ content CHAR 64.91% 52.86% 60.32%

(51)

Non-content-related Features

● submission time

○ 24 binary indicator features for each hour

○ 7 binary indicator features for each day in a week

● thread activeness

○ number of posts in the thread initiated by the first post

features \ metrics precision recall F-measure

random 2.52% 55.71% 4.82%

bag-of-words 56.16% 58.57% 57.34%

BoWs + content CHAR 64.91% 52.86% 60.32%

BoWs + content CHAR

+ time + thread len 66.67% 57.97% 62.02%

(52)

Moving on to Detection for Replies

● compared with first posts

○ lower ratio of spam

○ less content

○ expected to be harder to detect

● replies sharing the same thread with some replies in training set are removed

(53)

Repeating the Procedures

● random baseline

○ worse F-measure due to lower spam ratio

● bag-of-words

○ not nearly as useful as for first posts

features\metrics precision recall F-measure

random 1.38% 50.15% 2.68%

bag-of-words 11.85% 19.83% 14.83%

bag-of-words

+ content CHAR. 12.32% 19.83% 15.20%

(54)

Content Characteristics of Replies

● three out of the top four content characteristics features in terms of symmetric KL divergence

○ n_emoticons, p_emoticon_pos, p_ntusd_neg

○ all about sentiment

○ side with the previous ‘pro-samsung’ posts

(55)

Content-centric Features Not as Effective for Replies

● replies tend to contain substantially less content that first posts

○ don’t need to initiate a topic discussion

○ concise first posts are less acceptable in the many forum cultures

● replies that are ‘just for bumping’

○ drawing more attention to the thread

■ often started by a spam first post

○ often not even trying to deliver any message

■ already in other posts in the thread

(56)

Non-content-related Features

● previously used: submission time, length of thread

● an additional one: position of the reply in the thread

○ nfloor and pnum

features\metrics precision recall F-measure

random 1.38% 50.15% 2.68%

bag-of-words 11.85% 19.83% 14.83%

bag-of-words

+ content CHAR. 12.32% 19.83% 15.20%

BoWs + content

CHAR. + others 14.65% 25.07% 18.49%

(57)

‘Spamicity’ of the First Post in Thread

● reply to a thread started by a spam first post

○ more likely to be spam

● spamicity of the first post in the thread

○ leveraging the model in spam detection for first posts

■ probabilistic prediction

■ more likely to be spam if closer to 1

features\metrics precision recall F-measure bag-of-words 11.85% 19.83% 14.83%

BoWs + content

CHAR. + others 14.65% 25.07% 18.49%

〃+

1st post spamicity

21.10% 26.82% 23.62%

(58)

Spammer Detection

● definition of spammer

poster who had submitted any spam post

● each instance in the training and test set is an user account

○ instead of a post

● suitable for some applications

○ just ban the spammers

(59)

Features from User Profile

● numerical attributes from scraped profiles

○ n_threads, p_phone_section, score, n_posts, n_replies

● spammer accounts actually tend to be more ‘reputable’

○ hired reputable writers

○ higher degree of participation

○ most normal users are ‘lurkers’

features\metrics precision recall F-measure

random 0.91% 45.88% 1.78%

profiles 2.75% 22.62% 4.91%

(60)

Maximum Spamicity of First Posts of the User

● maximum spamicity of all first posts made by the user

○ taking the max is a natural choice considering our definition of spammer

● preferring the model for first posts to have precision > recall

○ ‘multiple chances’ to get it right

○ our model for first post happens to have this property

● if an user in test set(users) have a spam first post in training set(posts)

○ cheating?

(61)

Impact on Performance

● almost a 50% boost in F-measure

● 54 / 84 (64.3%) of the spammer in test set has a spam in training set for first posts

features\metrics precision recall F-measure

random 0.91% 45.88% 1.78%

profiles 2.75% 22.62% 4.91%

profiles +

max_spamicity_fps 66.67% 42.86% 52.17%

(62)

Burstiness of Throwaway Spammer Account Registrations

● number of throwaway spammer accounts registered within 20 days

features\metrics precision recall F-measure

random 0.91% 45.88% 1.78%

profiles 2.75% 22.62% 4.91%

profiles +

max_spamicity_fps 66.67% 42.86% 52.17%

profiles +

max_spamicity_fps

+ burstiness_reg 67.27% 44.05% 53.24%

(63)

Frequently Appeared Groups of Posters

● utilizing the ‘collusion between spammers’

observation mentioned earlier

● finding the groups of posters who often appear (make post) together in the same threads

○ frequent itemset mining

■ each itemset is 30 consecutive posters in a thread

■ implementation: Python Orange

(64)

As a ‘Smoothing’ Step

● not directly incorporated as a feature into the model

● if the sum of spamicity of the posters in a frequent appeared group is > threshold

○ predict all posters in that group as spammers

(65)

pseudocode of the remained parts

(66)

Impact on Performance

features\metrics precision recall F-measure

random 0.91% 45.88% 1.78%

profiles 2.75% 22.62% 4.91%

profiles + max_spamicity_fp

s

66.67% 42.86% 52.17%

profiles + max_spamicity_fp

s +

burstiness_reg

67.27% 44.05% 53.24%

profiles + max_spamicity_fp

s +

burstiness_reg + freq groups

67.95% 63.10% 65.43%

(67)

Caveat

● burstiness of throwaway spammer account registrations

○ result is meaningless if the test set is not temporally contiguous to training set

● frequent appeared groups of posters

○ similar situation

(68)

Conclusions

● the first dataset with the “true ground truth”

for opinion spam studies

● content-centric features are ‘unintuitively’

effective for finding spam first posts

● spam replies seem to be much harder to detect than first posts

● collusion between spammers is a big giveaway

(69)

Future Work

● sentiment shown in posts toward the brands

○ an algorithm to better capture sentiment of the posts

● interaction between posters

○ what forums are used for

○ reply to whom?

● integration of spam and spammer detection

○ just different perspectives

○ currently: first post → spammer

○ an united model?

(70)

Questions?

參考文獻

相關文件

– It is not hard to show that calculating Euler’s phi function a is “harder than” breaking the RSAa. – Factorization is “harder than” calculating Euler’s phi function

For obvious reasons, the model we leverage here is the best model we have for first posts spam detection, that is, SVM with RBF kernel trained with dimension-reduced

• Each row corresponds to one truth assignment of the n variables and records the truth value of φ under that truth assignment. • A truth table can be used to prove if two

Understanding and inferring information, ideas, feelings and opinions in a range of texts with some degree of complexity, using and integrating a small range of reading

 Promote project learning, mathematical modeling, and problem-based learning to strengthen the ability to integrate and apply knowledge and skills, and make. calculated

If amendment is necessary, please proceed before submission: Back to Form E Main Menu &gt; Enter Step 1: Update by Student &gt; Select Retrieve Record after

5 Longest domain token length Integer 6 Longest path token length Integer 7∼9 Spam, phishing and malware SLD hit ratio Real.. 10 Brand name

– S+U can also preserve annotations of synthetic images – Refined images really help improving the testing result – Generate &gt; 1 images for each synthetic