-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
770 lines (747 loc) · 37.9 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
<!DOCTYPE HTML>
<!--
Miniport by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html lang="en">
<head>
<title>SIM Spam Slam</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<link rel="stylesheet" href="assets/css/additional.css" />
<link rel="stylesheet" href="assets/fonts/ClearSans/font.css" />
<link rel="stylesheet" href="assets/fonts/Lato/font.css" />
<link rel="icon" type="image/x-icon" href="images/spam.png">
<script src="https://cdn.plot.ly/plotly-2.33.0.min.js" charset="utf-8"></script>
</head>
<body class="is-preload">
<!--
!MARK:Nav
-->
<nav id="nav">
<ul class="container">
<li><a href="#top">Top</a></li>
<li><a href="#overview">Overview</a></li>
<li><a href="#background">Background</a></li>
<li><a href="#dataCollection">Collection</a></li>
<li><a href="#methods">Methodology</a></li>
<li><a href="#results">Results</a></li>
<li><a href="#discussion">Discussion</a></li>
<li><a href="#conclusion">Conclusion</a></li>
<li><a href="#team">Team</a></li>
</ul>
</nav>
<!--
!MARK:Home
-->
<article id="top" class="wrapper style1">
<div class="container">
<div class="row">
<div class="col-8 col-12-small">
<header>
<h1>
Hi. We are <strong>Arbitrary</strong>.
</h1>
<h1 style = "font-size:2.75em">
This is our project,
</h1>
<h1 style = "font-size: 3.5em;">
<strong> SIM Spam Slam</strong>
</h1>
</header>
<p>
Like the popular canned food brand it is named after, <strong>spam texts can come in all kinds of varieties</strong>. This data project aims to uncover the commonalities between these messages and analyze the trends and patterns that they follow.
</p>
<ul id ="members" style = "padding-left: 0;">
<li style = "margin-left: 0em;">Hans Miguel Salazar <span class="classSection" >WFY <img src="images/maple-leaf.png"></span></li>
<li>Ehren Castillo <span class="classSection">WFY <img src="images/maple-leaf.png"></span></li>
<li>Kevin Trinidad <span class="classSection">WFY <img src="images/maple-leaf.png"></span></li>
</ul>
</div>
<div class="col-4 col-12-medium" style="display:none" id ="wordcloud">
<span class="image fit"><img src="images/wordcloud.png" alt="" /></span>
</div>
</div>
</div>
</article>
<!-- Overview -->
<article id="overview" class="wrapper style2">
<div class="container">
<header>
<h2>Overview</h2>
<h3>What is this project for?</h3>
<p class = "x-large">
The advent of Short Message Service (SMS) technology greatly shifted the nature of communication.
The ease and accessibility of this method led to a rise in the number of spam texts.
Bad actors are taking advantage of other people through malicous use of this technology.
</p>
</header>
<div class="row aln-center">
<div class="card col-4 col-6-medium col-12-small col">
<section class="box style1 boxMatch">
<img class="tile" src="images/sms-icon.png">
<h3><a href="https://www.philstar.com/business/2022/11/25/2226194/text-messaging-remains-relevant-philippines">SMS Relevancy</a></h3>
The rise of instant messaging (IM) has not eliminated SMS technology due to mobile data limitations and availability of devices.
<strong>Many people in the Philippines still rely on SMS regularly.</strong>
</section>
</div>
<div class="col-4 col-6-medium col-12-small col">
<section class="box style1">
<img class="tile" src="images/gavel.png">
<h3><a href="https://www.officialgazette.gov.ph/downloads/2022/10oct/20221010-RA-11934-FRM.pdf">Republic Act No. 11934</a></h3>
<p>
Also known as the <strong>Subscriber Identity Module (SIM) Registration Act</strong>, it was approved on 10 Oct 2022 with the primary purpose of assisting local authorities
in eliminating malicious usage of SMS technology.
</p>
</section>
</div>
<div class="card col-4 col-6-medium col-12-small col">
<section class="box style1">
<img class="tile" src="images/tech-chip.png">
<h3>Preventive Measures</h3>
<p>
Technology and society is ever-changing, hence, <strong>a static solution is a band-aid solution at best</strong>.
The use of machine models may allow an expandable framework for filtering spam texts.
</p>
</section>
</div>
<footer>
<h2>Our Solution</h2>
<p class="x-large">
To combat this, our data science solution aims to <strong>pinpoint the various patterns and trends in the content of these spam messages</strong> to make it easier for these messages to be tagged correctly as spam. The insights that we may find through this project can also be used in developing a more effective filter against spam.
<!-- This project aims to study the spam messages and extract data that could be used to develop an additional and effective filter
against them. -->
</p>
</footer>
</div>
</article>
<!--
!MARK:Background
-->
<article id="background" class="wrapper style2">
<div class="container">
<header>
<h2>Background</h2>
<h3>Despite the country's best efforts, Spam texts remain a prevalent and persistent form of cybercriminal activity, with millions of messages being detected as of 2024.</h3>
<p class="x-large">
Telecommunication companies such as Globe, PLDT and Smart have taken action against 5.5 million spam messages in the past year. However, even with this preventive action, <strong> the Cybercrime Investigation and Coordinating Center (CICC) noted that the losses of Filipino mobile phone users to spam texts have reached <em>millions of dollars.</em> </strong> Moreover, some instances of spam messages have also been found in instant messaging apps, which are not covered by the Sim Registration Act.
</p>
<p>References:
<a href="https://business.inquirer.net/427513/spam-still-hounding-ph-over-5-5m-messages-blocked">[1]</a>
<a href="https://www.gmanetwork.com/news/topstories/nation/846936/filipinos-lost-millions-of-dollars-due-to-text-scams-cicc/story/">[2]</a>
<a href="https://www.philstar.com/headlines/2023/09/02/2293211/text-scams-have-shifted-online-apps-globe-warns">[3]</a>
</p>
</header>
<div id="aims row">
<div class="col-12 x-small-margin-bot">
<h2>What do we aim to do?</h2>
<p class = "x-large">
Through this project, we want to be able to address the following questions in an effort to further understand the nature of SMS Spam Texts in the Philippines.
</p>
</div>
<div class="col-12 row">
<div class="col-2 col-12-medium col-12-small question-center" >
<h3 class="x-small-margin-bot">Main Question</h3>
</div>
<div class="col-10 col-12-medium col-12-small">
<h3 class="key-point question">What could be the trends and patterns of spam messages in the Philippines?</h3>
</div>
</div>
<br>
<div class="col-12 row">
<div class="col-2 col-12-medium col-12-small question-center">
<h3>Secondary Question</h3>
</div>
<div class="col-10 col-12-medium col-12-small">
<h3 class="key-point question">Is there a difference between Spam messages before and after the deadline of the Sim Card Registration Act?</h3>
</div>
</div>
<br>
<div class="col-12 row">
<div class="col-2 col-12-medium col-12-small question-center">
<h3>Null hypothesis</h3>
</div>
<div class="col-10 col-12-medium col-12-small">
<h3 class="key-point question">
There is <b style="font-weight:600;">no</b> difference in spam messages before and after the deadline of the SIM card registration act.
</h3>
</div>
</div>
<br>
<div class="col-12 row">
<div class="col-2 col-12-medium col-12-small question-center">
<h3>Alternative hypothesis</h3>
</div>
<div class="col-10 col-12-medium col-12-small">
<h3 class="key-point question">
There are differences in spam messages before and after the deadline of the SIM card registration act.
</h3>
</div>
</div>
<br>
<div class="col-12 row">
<div class="col-2 col-12-medium col-12-small question-center">
<h3>Action Plan</h3>
</div>
<div class="col-10 col-12-medium col-12-small">
<h3 class="key-point question">Utilize data science tools and Natural Language Processing (NLP) to identify the patterns and trends of Spam text content.</h3>
</div>
</div>
</div>
</div>
<!-- <footer>
<a href="https://docs.google.com/spreadsheets/d/1qfeeKcDPOK4uanmqMj5QxMkOqcvvSJ8LRvjnAAnBvwo/edit?usp=sharing" class="button">
Visit the Data Set
</a>
</footer> -->
</div>
</article>
<!--
!MARK: Data Collection
-->
<article id="dataCollection" class="wrapper style3">
<div class="container">
<header class = "reduceBottomMargin">
<h2>How was the data collected?</h2>
<p class = "x-large">
The dataset used is a compilation of <strong> two public datasets available on <a href="https://kaggle.com">Kaggle</a> </strong>.
Both of these datasets contain Philippine spam messages personally received and compiled by these Kaggle users.
Additionally, both datasets contain timestamps for when messages were received.
<table class = "tagForm">
<tr>
<td class = "tagLabel">Keywords</td>
<!-- TAGS HERE -->
<td class = "tags">
<span>Text</span>
<span>Spam</span>
<span>SMS</span>
<span>Registration</span>
<span>Scam</span>
<span>Philippines</span>
</td>
</tr>
</table>
</p>
</header>
<div class="row aln-center">
<div class="card col-4 col-6-medium col-12-small">
<article class="box style2">
<img class = "tile" src="images/kaggle-log.png" alt="" />
<h3><a href="https://www.kaggle.com/datasets/scottleechua/ph-spam-marketing-sms-w-timestamps">Data Set A</a></h3>
<ul class = "dataSetAttributes">
<li><span>Author:</span> Scott Lee Chua</li>
<li><span>Date Start:</span>09/30/2022</li>
<li><span>Data End:</span>02/27/2024</li>
<li><span>Raw Count:</span> 3464 </li>
<li><span>Processed Count:</span>467</li>
</ul>
</article>
</div>
<div class="card col-4 col-6-medium col-12-small">
<article class="box style2">
<img class="tile" src="images/kaggle-log.png" alt="" />
<h3><a href="https://www.kaggle.com/datasets/bwandowando/philippine-spam-sms-messages">Data Set B</a></h3>
<ul class = "dataSetAttributes">
<li><span>Author:</span>BwandoWando</li>
<li><span>Date Start:</span>12/11/2022</li>
<li><span>Data End:</span>03/31/2024</li>
<li><span>Raw Count:</span>619</li>
<li><span>Processed Count:</span>595</li>
</ul>
</article>
</div>
</div>
<footer>
<p class = "x-large">
The project's dataset was organized by <strong> applying Google sheets Regular Expressions on the SMS messages</strong>,
decomposing/extrapolating information from existing data (Day of Week, message length, sender carrier, url, topic clusters).
</p>
<a href="https://docs.google.com/spreadsheets/d/1qfeeKcDPOK4uanmqMj5QxMkOqcvvSJ8LRvjnAAnBvwo/edit?usp=sharing" class="button">
Visit the project's data set
</a>
<p style = "margin-top:2em" class = "x-large">
After processing, <strong> 1062 entries </strong> remained. Check out the <a href="#methods">methodology</a> section for more details.
</p>
</footer>
</div>
</article>
<article id="methods" class="wrapper style3">
<div class="container">
<header class = "reduceBottomMargin">
<h2>How was the data handled?</h2>
<p class = "x-large">
Through Python and its many libraries
<table class = "tagForm">
<tr>
<td><span class = "tagLabel" style = "font-size:xx-large">Tools</span></td>
<!-- TAGS HERE -->
<td class = "tags">
<span>Python</span>
<span>Jupyter Notebook</span>
<span>Google Colab</span>
<span>Google Sheets</span>
<span>Pandas</span>
<span>Deep Translator</span>
<span>Natural Language Toolkit</span>
<span>Regular Expressions</span>
<span>NumPy</span>
<span>Scikit-learn</span>
<span>Plotly</span>
<!-- <span class = "tag">SciPy</span> -->
<!-- <span class = "tag">Matplotlib</span> -->
<!-- <span class = "tag">Seaborn</span> -->
</td>
</tr>
</table>
</p>
</header>
<div class="row">
<div class="card col-6 col-6-medium col-12-small">
<article class="box style2">
<img class = "tile" src="images/cleaning.png" alt="" />
<h3>Cleaning</h3>
<p class = "x-small-margin-bot justify">
The datasets were cleaned by <strong> filtering out entries that had insufficient data or contained data which could not be used </strong>.
</p>
<p class = "x-small-margin-bot justify">
For this step, the entries containing the following properties were filtered out of the initial datasets:
<ul class = "filter-properties justify">
<li> non-exact duplicates </li>
<li> non-spam (Data Set A) </li>
<li> no phone number </li>
<li> no alphabetical characters in body </li>
<li> hidden or broken content <br> ("Content not supported" or "<Redacted>") </li>
</ul>
</p>
</article>
</div>
<div class="card col-6 col-6-medium col-12-small">
<article class="box style2">
<img class = "tile" src="images/preprocessing.png" alt="" />
<h3>Preprocessing</h3>
<p class = "x-small-margin-bot justify">
With both datasets cleaned, they were combined into a single compiled dataset.
From here, <strong> several pieces of information were extrapolated </strong> from each entry including:
<ul class = "filter-properties justify">
<li> year </li>
<li> month </li>
<li> day of week </li>
<li> sender carrier </li>
<li> SMS length </li>
</ul>
</p>
<p class = "x-small-margin-bot justify">
Lastly, <strong> the SMS messages were prepared for topic modeling </strong> by applying the following:
<ul class = "filter-properties justify">
<li> emoticons were removed </li>
<li> text was translated to English </li>
<li> tokenization </li>
<li> lemmatization </li>
<li> stopword filtering </li>
<li> stemming </li>
</ul>
</p>
</article>
</div>
<div class="card col-6 col-6-medium col-12-small">
<article class="box style2">
<img class="tile" src="images/modeling.png" alt="" />
<h3>Topic Modeling</h3>
<p class = "justify">
Using the prepared data obtained,
<strong> topic modeling was performed on the SMS messages </strong> in the dataset to form <strong> eleven </strong> topic clusters.
</p>
<p class = justify>
From this, each entry was assigned to a cluster depending on which topic it was most dominantly similar to,
thus grouping SMS messages with similar or possibly related content.
</p>
</article>
</div>
<div class="card col-6 col-6-medium col-12-small">
<article class="box style2">
<img class="tile" src="images/data-split.png" alt="" />
<h3>Dataset Splitting</h3>
<p class = "justify">
<strong> The deadline for SIM Card Registration was July 25, 2023. </strong>
The processed data set was split into two dataframes whether the message was received
before or after this data.
From each of these two dataframes, 200 random samples were taken to equalize them for statistical testing.
</p>
</p>
</article>
</div>
</div>
<footer>
<p class = "x-large">
The Jupyter notebook illustrating this process is available on Google Colab provided below.
</p>
<a href="https://colab.research.google.com/drive/1M8YJQMv2aG4FSf4ppGqhyp7ngR2VqLvG?usp=sharing" class="button">
Visit the Jupyter Notebook
</a>
</footer>
</div>
</article>
<!--
!MARK:RESULTS
-->
<article id="results" class="wrapper style3">
<div class="container">
<header>
<h2>Here are the results of data exploration.</h2>
<p class = "x-large">
With the data prepared, visualizations were generated. <strong> The confidence level for hypthesis testing was set to 95%. </strong>
This will determine if the SIM Card Registration deadline on July 30, 2023 has an effect on certain parameters of spam messages.
</p>
</header>
<div class="row box margin-bot">
<div class="col-12 x-small-margin-bot">
<h2 class = "x-small-margin-bot">Frequency of words</h2>
<hr>
</div>
<div class="col-12">
<p class ="x-small-margin-bot bold black">
There is an association between the period before and after the SIM card registration act and the frequency of the top 10 most common words in spam messages.
</p>
<p class="justify">
For the hypothesis testing, <b class="light-bold">chi-square test for independence</b> was used on the top 10 most frequent words found
in the spam messages and that resulted to <b class="light-bold">p-value = 5e-23</b>.
The primary goal of spam messages is to mislead people and incite thoughtless behaviors.
This can be accomplished through various methods but one of the most common tactics of spam messages
is to take advantage of scarcity and desires <a href="https://nogofallmaga.org/the-psychology-of-scamming-understanding-persuasion-techniques/" style="text-decoration:none;"><sup>[4]</sup></a>.
Certain words are more effective for this than others and may be an indicator of spam.
</p>
</div>
<div class="col-12 col-12-medium col-12-small">
<div class = "image fit"><img class="gray-border" src="images/wordfreq-bar.png"></div>
<hr class="graph-sep">
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>Before</h3>
<div class = "image fit"><img class="gray-border" src="images/wordfreq-bar-pre.png"></div>
<hr class="graph-sep">
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>After</h3>
<div class = "image fit"><img class="gray-border" src="images/wordfreq-bar-post.png"></div>
</div>
</div>
<div class="row box margin-bot">
<div class="col-12 x-small-margin-bot">
<h2 class = "x-small-margin-bot">Frequency of spam SMS received by day of the week</h2>
<hr>
</div>
<div class="col-12">
<p class="x-small-margin-bot bold black">
There is no association between the period before and after the SIM card registration act and the frequency of spam messages received by day of the week.
</p>
<p class="justify">
For the hypthesis testing, <b class="light-bold">chi-square test for independence</b> resulted to <b class="light-bold">p-value = 0.499</b>.
This lack of effect could be attributed to the prominence of automated bots and scripts.
While regular people only work during the weekdays, bots are different.
The day of the week could be said to be irrelevant to the sources of these spam messages.
</p>
</div>
<div class="col-6 col-12-medium col-12-small">
<h3>Before</h3>
<div class = "image fit"><img class="gray-border" src="images/dayWeeks-bar-pre.png"></div>
</div>
<div class="col-6 col-12-medium col-12-small">
<h3>After</h3>
<div class = "image fit"><img class="gray-border" src="images/dayWeeks-bar-post.png"></div>
</div>
</div>
<div class="row box margin-bot">
<div class="col-12 x-small-margin-bot">
<h2 class = "x-small-margin-bot">Links in spam SMS</h2>
<hr>
</div>
<div class="col-12">
<p class="x-small-margin-bot bold black">
There is an association between the period before and after the SIM card registration act and the presence of links in spam messages.
</p>
<p class ="justify">
For the presence of links hypothesis testing, <b class="light-bold">chi-square test for independence</b> was used and
it yielded <b class="light-bold">p-value = 0.023</b>.
Due to the ever increasing accessibility of the internet, website links are now often seen in spam messages.
If the words were meant to incite various psychological aspects, then the link is presented as the "gateway"
to resolve those. However, the presence of a link in a message, though a good indicator, is not a conclusive metric.
</p>
<p class = "justify">
Another important component of website links is the top-level domain (TLD) such as .com, .edu, and etc.
No hypothesis testing was done for TLDs,
TLDs are moderated by the Internet Corporation for Assigned Names and Numbers (ICANN) and the restrictions
for each type can vary, however, lesser known TLDs have less stringent restrictions when compared to TLDs like ".com.ph" <sup><a href="https://www.cloudflare.com/learning/dns/top-level-domain/">[5]</a></sup>.
As a result, websites within these lesser known TLDs can be malicious in nature, therefore, links' TLDS are also a good indicator.
</p>
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>Before</h3>
<div class = "image fit"><img class="gray-border" src="images/tld-bar-pre.png"></div>
<hr class="graph-sep">
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>After</h3>
<p class ="justify x-small-margin-bot">
Notice how the number of sites with TLDs of ".com" dropped sharply.
This may be attributed to the risk by association site of ".com" site owners gained after the deadline.
</p>
<div class = "image fit"><img class="gray-border" src="images/tld-bar-post.png"></div>
</div>
</div>
<div class="row box margin-bot">
<div class="col-12 x-small-margin-bot">
<h2 class = "x-small-margin-bot">Length of spam messages</h2>
<hr>
</div>
<div class="col-12">
<p class="x-small-margin-bot bold black">
There is no association between the period before and after the SIM card registration act and the character length of spam messages.
</p>
<p class="x-small-margin-bot justify">
For the hypothesis test, <b class="light-bold">Mann-Whitney U test</b> was used and it yielded <b class="light-bold">p-value = 0.639</b>.
Normality testing showed that the pre and post-deadline samples were not normally distributed, hence, a t-test would be unreliable.
The distribution can be attributed the 160 characters per peso that prepaid carriers charge users for sending SMS messages.
The test result may be an indicator that spammers made little to no changes in terms of content.
</p>
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>Before</h3>
<div class = "image fit"><img class="gray-border" src="images/charlength-bar-pre.png"></div>
<hr class="graph-sep">
</div>
<div class="col-12 col-12-medium col-12-small">
<h3>After</h3>
<div class = "image fit"><img class="gray-border" src="images/charlength-bar-post.png"></div>
</div>
</div>
<div class="row box margin-bot">
<div class="col-12 x-small-margin-bot">
<h2 class = "x-small-margin-bot">Clustering</h2>
<hr>
</div>
<div class="col-12">
<p class="justify">
For the machine learning algorithm, <b class="light-bold">Linear Discriminant Analysis</b> (LDA) with <b class="light-bold">topic count = 11</b>.
The spam messages were clustered through natural language processing (NLP) in Python through the scikit-learn
(sklearn) library. The resulting cluster plot can be found as an image below. Note that on larger displays, an interactive version is available.
</p>
<p class="justify">
Multiple values for topic count were tested, with 11 being the most optimal and reasonable result.
However, the resulting plot is still sub-optimal.
The 11 topics are not distinct enough. Some overlaps can be found between them when further inspected.
For example, multiple topics have keywords connected to gambling such as "draw, spin, and roulete".
Nonetheless, the plot still showcases the general themes of spam messages. These would be:
<b class="light-bold">False Security Alerts, Gambling "Opportunities, Free High-value items, and Easy Money.</b>
</p>
<p class="justify">
Recommendations for future projects would be to use other models aside from LDA clustering and increase the diversity of the data set further.
</p>
</div>
<div class="col-12 col-12-medium col-12-small">
<div class = "image fit mobile-only"><img class="gray-border" src="images/cluster.png"></div>
<div id="5d2d53df-bab9-4f86-83c8-d7292e7d08a7" class="plotly-graph-div"></div>
<script type="text/javascript" src="cluster.js"></script>
</div>
</div>
<footer>
<p>Want to learn more and inspect the process? Visit the Jupyter notebook.</p>
<!-- <a href="https://github.com/ktrin-u/CS132-Arbitrary" class="button scrolly">Github Repo</a> -->
<a href="https://colab.research.google.com/drive/1M8YJQMv2aG4FSf4ppGqhyp7ngR2VqLvG?usp=sharing" class="button">
Visit the Jupyter Notebook
</a>
</footer>
</div>
</article>
<!--
!MARK:DISCUSSION
-->
<article id="discussion" class="wrapper style2">
<div class="container">
<header class="margin-bot">
<h2>What do the results mean?</h2>
<p class = "x-large">
Now, the results need to be connected to our questions.
</p>
<hr class="graph-sep">
</header>
<div class="row">
<div class="col-12 x-small-margin-bot">
<p class="x-large">
As shown in the results, it was found that the period before and after the SIM card registration act was correlated with the frequency of the top 10
most common words appearing in spam messages and the presence of links in spam messages. On the other hand, it was also found that it did not
correlate with the day of the week spam messages are received and the character length of spam messages. <strong>At face value, these results show that
while the SIM card registration act did not correlate with any changes in the form of the spam message </strong> (i.e. character length, day of the week sent),
<strong> it did correlate with changes in the actual contents of the spam messages </strong> (i.e. presence of links, words that appear in a message).
</p>
<p class="x-large">
Therefore,
this suggests that we may <strong> reject the null hypothesis on the basis that whether a spam message was sent before or after the SIM card registration act
was correlated to some difference in the spam messages. </strong> However, the extent of this difference and whether this has a cause-and-effect relationship
cannot be conclusively determined.
</p>
<p class="x-large">
Moreover, it must be noted that this study is limited primarily due to <strong> the small number of parameters tested,
the relatively small sample size of the dataset, and the lack of dataset entry sources (results in bias) </strong>. As such, further study must be accomplished
with a larger and more comprehensive dataset and set of parameters to determine the validity of these correlations found and provide better
interpretations. Still, this all suggests that spam messages in the Philippines did change in some manner before and after the deadline of the SIM
card registration act. As for whether these differences are for the better or for the worse how this reflects on the overall effectiveness of the SIM
card registration act in the Philippines requires further research.
</p>
<p class="x-large">
Besides that, the results of the topic clustering also show the existence of some pattern or trend in the content of spam messages. However, again,
due to the limitations of the study and the nature of topic clustering, it is difficult to determine what exactly these patterns are. Still, this is
significant in showing that spam messages in the Philippines are not just random and do have some pattern in their contents. <strong> This is significant as the
information gained through the topic clustering can be used to better determine whether a certain SMS message is spam or not </strong> based on the presence of
certain words commonly found in a certain cluster, thus creating better filters for spam messages received in the country.
</p>
</div>
</div>
</div>
</article>
<!--
!MARK:CONCLUSION
-->
<article id="conclusion" class="wrapper style3">
<div class="container">
<header class ="margin-bot">
<h2>The Conclusion</h2>
<p class = "x-large">
TLDR, what now?
</p>
<hr class="graph-sep">
</header>
<div class="row margin-bot">
<div class="col-12">
<p class="x-large">
Even until today, SMS communication and instant messaging technology serve as the primary methods for communication within the Philippines
with millions of users making use of these nationwide. <strong> In line with Sustainable Development Goal number 9, it is in our best interest to make
this technology safer and easier to use - with our project primarily focusing on the fight against spam messages and their pernicious content. </strong>
</p>
<p class="x-large">
The data shows that certain trends and patterns can be determined based on the features of these messages such as the common terminologies found
within them as well as the presence of links. <strong> The identified patterns can be linked to the application of certain persuasive techniques combined
with malicious intent in order to trick unsuspecting Filipinos into getting scammed, providing personal information, or invest in shady financial
schemes. </strong> However, there were also some features that did not exhibit any trend such as the day of the week in which they are received and sent as
well as the length of the spam messages, which seemed to stay consistent, at least with the data that we were able to gather. This is understandable
as they are features that are more closely related to the method by which the spam messages are sent rather than their content, which is unlikely to
change barring major technological advancements in the medium. <strong> Moreover, some of the changes within these trends did seem to have at least been associated
with the recently implemented Sim Card Registration Act with some degree of statistical significance. </strong>
</p>
<p class="x-large">
Finally, the application of clustering on the data shows us that these spam messages have the potential to be further categorized based on their content,
which could be used in developing more robust spam detection filters and systems.
</p>
<p class="x-large concl-highlight">
<strong> The proponents of this project hope that these results will primarily serve as a reference that will aid Filipinos in discerning what messages follow the
patterns of malicious spam messages and help them avoid the concerning outcomes that may result from entertaining these kinds of messages.
<br>
<br>
It also serves as a data-driven look into the potential impact of the Sim Card Registration Act on one of the issues that it aims to address, assisting
future lawmakers and citizens to improve the implementation of this law further. </strong>
<br>
<br>
<h3>So join us in the fight to make sure that every Filipino <em>SIM</em> out there will have most of their <em>SPAM</em> messages <em>SLAM</em>med out of existence. </h3>
</p>
</div>
</div>
</div>
</article>
<!--
!MARK:TEAM
-->
<article id="team" class="wrapper style4">
<div class="container medium">
<div class="row">
<div class="col-12">
<h2>Meet the team.</h2>
</div>
<div class="col-4 col-12-medium col-12-small team-box">
<img class="image fit team-image" src="images/castillo.jpg">
<h3>Ehren Castillo</h3>
<hr>
<p class ="">
Hey! I'm Ehren. I'm a 2nd year BS Computer Science student at the University of the Philippines, Diliman. I'm generally interested in software and web development, as well as trying out a wide variety of technologies and programming languages. In my free time, I enjoy programming, playing games, and reading manga.
</p>
</div>
<div class="col-4 col-12-medium col-12-small team-box">
<img class="image fit team-image" src="images/salazar.jpg">
<h3>Hans Salazar</h3>
<hr>
<p class ="">
Heyo! I'm Hans Miguel Salazar, a 4th year computer science student with interests in web development, artificial intelligence and game development. I hope to contribute to the nation through the projects that we create and to make the world a better place, one line of code at a time. When I'm not doing that though, I read manga and novels, and play games as well.
</p>
</div>
<div class="col-4 col-12-medium col-12-small team-box" style="border-right:0">
<img class="image fit team-image" src="images/trinidad.jpg">
<h3>Kevin Trinidad</h3>
<hr>
<p class ="">
Hello! I'm Kevin and I'm a 2nd year computer science student with interests in game and software developement. I've been helping my dad with computers ever since I was young so both physical and digital aspects of computers are something I'm fond of. My free time is usually spent playing games, reading novels, and exploring software tweaks.
</p>
</div>
<!-- <div class="col-12">
<form method="post" action="#">
<div class="row">
<div class="col-6 col-12-small">
<input type="text" name="name" id="name" placeholder="Name" />
</div>
<div class="col-6 col-12-small">
<input type="text" name="email" id="email" placeholder="Email" />
</div>
<div class="col-12">
<input type="text" name="subject" id="subject" placeholder="Subject" />
</div>
<div class="col-12">
<textarea name="message" id="message" placeholder="Message"></textarea>
</div>
<div class="col-12">
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
<li><input type="reset" value="Clear Form" class="alt" /></li>
</ul>
</div>
</div>
</form>
</div>
<div class="col-12">
<hr />
<h3>Find me on ...</h3>
<ul class="social">
<li><a href="#" class="icon brands fa-twitter"><span class="label">Twitter</span></a></li>
<li><a href="#" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
<li><a href="#" class="icon brands fa-dribbble"><span class="label">Dribbble</span></a></li>
<li><a href="#" class="icon brands fa-linkedin-in"><span class="label">LinkedIn</span></a></li>
<li><a href="#" class="icon brands fa-tumblr"><span class="label">Tumblr</span></a></li>
<li><a href="#" class="icon brands fa-google-plus"><span class="label">Google+</span></a></li>
<li><a href="#" class="icon brands fa-github"><span class="label">Github</span></a></li>
<li><a href="#" class="icon solid fa-rss"><span>RSS</span></a></li>
<li><a href="#" class="icon brands fa-instagram"><span>Instagram</span></a></li>
<li><a href="#" class="icon brands fa-foursquare"><span>Foursquare</span></a></li>
<li><a href="#" class="icon brands fa-skype"><span>Skype</span></a></li>
<li><a href="#" class="icon brands fa-soundcloud"><span>Soundcloud</span></a></li>
<li><a href="#" class="icon brands fa-youtube"><span>YouTube</span></a></li>
<li><a href="#" class="icon brands fa-blogger"><span>Blogger</span></a></li>
<li><a href="#" class="icon brands fa-flickr"><span>Flickr</span></a></li>
<li><a href="#" class="icon brands fa-vimeo"><span>Vimeo</span></a></li>
</ul>
<hr />
</div> -->
</div>
<footer>
<ul id="copyright">
<li>© CS132 - Arbitrary. All rights reserved.</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
</ul>
</footer>
</div>
</article>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>