Table Of ContentWeb-Scale Profiling of
Semantic Annotations in HTML Pages
Inauguraldissertation
zurErlangungdesakademischenGrades
einesDoktorsderNaturwissenschaften
derUniversita¨tMannheim
vorgelegtvon
Dipl.-Wirtsch.-Inf. RobertMeusel
ausBerlin
Mannheim,2016
Dekan: ProfessorDr. HeinzJu¨rgenMu¨ller,Universita¨tMannheim
Referent: ProfessorDr. ChristianBizer,Universita¨tMannheim
Korreferent: ProfessorDr. WolfgangNejdl,LeibnizUniversita¨tHannover
Tagdermu¨ndlichenPru¨fung: 10. Ma¨rz2017
Abstract
ThevisionoftheSemanticWebwascoinedbyTimBerners-Leealmosttwodecades
ago. The idea describes an extension of the existing Web in which “information
is given well-defined meaning, better enabling computers and people to work in
cooperation”[Berners-Leeetal.,2001].
SemanticannotationsinHTMLpagesareonerealizationofthisvisionwhich
wasadoptedbylargenumbersofwebsitesinthelastyears. Semanticannotations
areintegratedintothecodeofHTMLpagesusingoneofthethreemarkuplanguages
Microformats,RDFa,orMicrodata. Majorconsumersofsemanticannotationsare
thesearchenginecompaniesBing,Google,Yahoo!,andYandex. Theyusesemantic
annotationsfromcrawledwebpagestoenrichthepresentationofsearchresultsand
tocomplementtheirknowledgebases.
However, outside the large search engine companies, little is known about
the deployment of semantic annotations: How many web sites deploy semantic
annotations? Whatarethetopicscoveredbysemanticannotations? Howdetailed
aretheannotations? Dowebsitesusesemanticannotationscorrectly? Aresemantic
annotations useful for others than the search engine companies? And how can
semanticannotationsbegatheredfromtheWebinthatcase?
Thethesisanswersthesequestionsbyprofilingtheweb-widedeploymentof
semanticannotations.
The topic is approached in three consecutive steps: In the first step, two ap-
proachesforextractingsemanticannotationsfromtheWebarediscussed. Thethesis
evaluatesfirstthetechniqueoffocusedcrawlingforharvestingsemanticannotations.
Afterward,aframeworktoextractsemanticannotationsfromexistingwebcrawl
corpora is described. The two extraction approaches are then compared for the
purposeofanalyzingthedeploymentofsemanticannotationsintheWeb.
Inthesecondstep,thethesisanalyzestheoverallandmarkuplanguage-specific
adoptionofsemanticannotations. Thisempiricalinvestigationisbasedonthelargest
webcorpusthatisavailabletothepublic. Further,thetopicscoveredbydeployed
semanticannotationsandtheirevolutionovertimeareanalyzed. Subsequentstudies
examinecommonerrorswithinsemanticannotations. Inaddition,thethesisanalyzes
thedataoverlapoftheentitiesthataredescribedbysemanticannotationsfromthe
sameandacrossdifferentwebsites.
The third step narrows the focus of the analysis towards use case-specific
issues. Based on the requirements of a marketplace, a news aggregator, and a
travelportalthethesisempiricallyexaminestheutilityofsemanticannotationsfor
theseusecases. Additionalexperimentsanalyzethecapabilityofproduct-related
semanticannotationstobeintegratedintoanexistingproductcategorizationschema.
Especially,thepotentialofexploitingthediversecategoryinformationgivenbythe
websitesprovidingsemanticannotationsisevaluated.
Zusammenfassung
Vormehrals20Jahrenvero¨ffentlichteTimBerners-LeeseineIdeedesSemantic
Webs. BasierendaufseinerVision,solltedassemantischeWebeineErweiterungdes
bestehendenWebssein,indemdieenthaltenenInformationensemantischdefiniert
sind,wodurchdieKooperationzwischenMenschundMaschinevereinfachtwerden
wu¨rde.[Berners-Leeetal.,2001]
Semantische Annotationen in HTML Seiten sind eine konkrete Umsetzung
dieser Idee, die in den letzten Jahren von sehr vielen Webseitenbetreibern adap-
tiertwurden. SemantischeAnnotationenwerdendirektimHTMLQuellcodeder
Webseite mithilfe der drei HTML-Markup-Erweiterungen Microformats, RDFa,
undMicrodataeingefu¨gt. Hauptsa¨chlichwerdensoannotierteInformationenvon
dengroßenSuchmaschinenfirmen,Bing,Google,Yahoo! oderYandexverarbeitet.
Diese Firmen nutzen semantische Annotationen, die sie in dem HTML Quell-
codevongecrawltenWebseitenfinden,umdieAnzeigevonSuchergebnissenzu
verbessern oder ihren internen Wissensgraphen zu erweitern. Trotz der starken
NutzungdurchdieSuchmaschinenfirmenistwenigu¨berdieEinbindungundVer-
breitung von semantischen Annotationen im Web bekannt: Wie viele Webseiten
bietensemantischeAnnotationenan? WelcheThemengebietewerdenbeschrieben?
WiedetailliertsinddieannotiertenInformationenundnutzenWebseitenbetreiber
dieAnnotationenkorrekt? SinddiesoangebotenenInformationennu¨tzlichundwie
ko¨nnensieeffizientgesammeltwerden?
DieseFragenwerdenindendrei,aufeinanderfolgendenTeilendieserDisserta-
tionimZugeeinerumfassendenProfilierungdesDatenraumes,dervonsemantis-
chenAnnotationenaufgespanntwird,beantwortet.
ImerstenTeilwerdenzweiMo¨glichkeitenzurSammlungvonsemantischenAn-
notationen diskutiert. Zuerst evaluiert die Dissertation eine Methodik, die sich
an der Idee des fokussierten Crawlens orientiert. Daraufhin wird ein Frame-
workvorgestellt,welchessemantischeAnnotationenausbestehendenWebcrawl-
datensa¨tzenextrahierenkann. BeideVorgehensweisenwerdenverglichenundmit
BezugaufdieRepra¨sentativita¨tdergewonnenDatenevaluiert.
ImzweitenTeilanalysiertdieArbeitempirischdieallgemeine,wieauchmarkup-
spezifischeVerbreitungvonsemantischenAnnotationenimWebbasierendaufdem
gro¨ßteno¨ffentlichzuga¨nglichenWebcrawldatensatzes. U¨berdieVerbreitunghinaus
werdendieenthaltenenThemengebietesowiederenVera¨nderungu¨berdieZeitbe-
trachtet. NachfolgenduntersuchtdieArbeit,zuwelchemGradWebseitenbetreiber
semantischeAnnotationenkorrektbenutzen.
DerabschließendeTeilderArbeitfokussiertsichaufeineanwendungsbezogene
AnalysevonsemantischenAnnotationen. BasierendaufdenAnforderungeneines
Onlineshops,einerNachrichtenaggregationsseiteundeinesReiseportalswirddie
Nu¨tzlichkeitvonsemantischenAnnotationenevaluiert. Anschließendwirdunter-
sucht,inwieweitesmo¨glichist,dieseitenspezifischenProduktkategorisierungen
zunutzenumProduktinformationen, aufeinebestehendeProduktklassifizierung
abzubildenundsomiteinefeingranulareThemenanalysezuermo¨glichen.
Contents
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 ProblemDescriptionandContributions . . . . . . . . . . . . . . 5
1.3 ThesisOutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 PublishedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Preliminaries 13
2.1 SemanticMarkupLanguages . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Microformats . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.2 RDFa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 Microdata . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 CommonVocabularies . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 OpenGraphProtocol . . . . . . . . . . . . . . . . . . . . 17
2.2.2 Schema.org . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 OtherVocabularies . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 NamespacesandAbbreviations . . . . . . . . . . . . . . 21
2.3 ParsingSemanticAnnotationstoRDF . . . . . . . . . . . . . . . 21
2.4 Dataspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
I ExtractionofSemanticAnnotations 25
3 DataExtractionfromtheWebusingFocusedCrawling 27
3.1 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.1 StructureoftheWeb . . . . . . . . . . . . . . . . . . . . 28
3.1.2 Crawling . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.3 FocusedCrawling . . . . . . . . . . . . . . . . . . . . . 32
3.2 FocusedCrawlingMethodology . . . . . . . . . . . . . . . . . . 34
3.2.1 OnlineClassification . . . . . . . . . . . . . . . . . . . . 34
3.2.2 Bandit-BasedSelection . . . . . . . . . . . . . . . . . . . 36
3.3 ExperimentalSetup . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.1 SystemArchitectureandProcessFlow . . . . . . . . . . . 40
3.3.2 ResearchData . . . . . . . . . . . . . . . . . . . . . . . 41
iii
iv CONTENTS
3.3.3 ExperimentsDescription . . . . . . . . . . . . . . . . . . 42
3.3.4 EvaluationMetrics . . . . . . . . . . . . . . . . . . . . . 44
3.4 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.1 OnlineClassificationOptimization . . . . . . . . . . . . . 44
3.4.2 OfflineversusOnlineClassification . . . . . . . . . . . . 45
3.4.3 EvaluationofDifferentBanditFunctions . . . . . . . . . 46
3.4.4 AdaptabilitytoMoreSpecificSemanticAnnotationsCrawl-
ingTasks . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.4.5 EvaluationofRuntime . . . . . . . . . . . . . . . . . . . 50
3.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 DataExtractionfromWebCorpora 55
4.1 PublicWebCorpora . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2 OverallExtractionWorkflow . . . . . . . . . . . . . . . . . . . . 58
4.3 ExtractionofMicroformats,RDFa,andMicrodata. . . . . . . . . 59
4.4 AdditionalUseCases . . . . . . . . . . . . . . . . . . . . . . . . 60
4.5 DiscussionandConclusion . . . . . . . . . . . . . . . . . . . . . 61
5 ComparisonoftheExtractionApproaches 63
5.1 Representativity . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2 SamplingErrors . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
II AnalysisofSemanticAnnotations 69
6 OverallAdoptionofSemanticAnnotations 71
6.1 IntroductiontoDataProfiling . . . . . . . . . . . . . . . . . . . . 72
6.1.1 DifferentDimensionsofProfiling . . . . . . . . . . . . . 72
6.1.2 ProfilingSemanticAnnotationsinHTMLpages . . . . . 73
6.2 ProfilingoftheAdoptionofSemanticAnnotations . . . . . . . . 74
6.2.1 ResearchDataandMeasures . . . . . . . . . . . . . . . . 74
6.2.2 OverallAdoption . . . . . . . . . . . . . . . . . . . . . . 75
6.2.3 MicroformatsAdoption . . . . . . . . . . . . . . . . . . 76
6.2.4 RDFaAdoption . . . . . . . . . . . . . . . . . . . . . . . 76
6.2.5 MicrodataAdoption . . . . . . . . . . . . . . . . . . . . 78
6.3 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.3.1 WebDataProfiling . . . . . . . . . . . . . . . . . . . . . 81
6.3.2 Microformats,RDFaandMicrodata . . . . . . . . . . . . 82
6.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
7 Profilingofschema.orgMicrodata 85
7.1 ProblemStatement . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.1.1 Duplicates . . . . . . . . . . . . . . . . . . . . . . . . . 88
CONTENTS v
7.1.2 Non-compliancetotheSchema . . . . . . . . . . . . . . 90
7.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
7.2.1 SyntacticDuplicateRemoval . . . . . . . . . . . . . . . . 93
7.2.2 HeuristicstoCorrectSchemaViolations . . . . . . . . . . 94
7.2.3 CombinedApproach . . . . . . . . . . . . . . . . . . . . 96
7.2.4 SemanticIdentityResolution . . . . . . . . . . . . . . . . 97
7.3 EmpiricalFindings . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.3.1 SyntacticalDuplicateRemovalandCorrectionofSchema
Violations . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.3.2 SemanticDuplicateDetection . . . . . . . . . . . . . . . 103
7.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.4.1 QualityofStructuralDuplicateDetection . . . . . . . . . 107
7.4.2 LimitationofDuplicateDetectionbyRDFGraphEquivalence109
7.4.3 LimitationofHeuristicswithHighPrecision . . . . . . . 109
7.4.4 Selectionof(Pseudo-)KeyProperties . . . . . . . . . . . 110
7.5 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
7.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
8 EvolutionoftheDeploymentofschema.orgMicrodataoverTime 115
8.1 ResearchData . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
8.2 ResearchQuestionsandMethodology . . . . . . . . . . . . . . . 118
8.2.1 Top-downProcesses . . . . . . . . . . . . . . . . . . . . 118
8.2.2 Bottom-upProcesses . . . . . . . . . . . . . . . . . . . . 119
8.2.3 OverallConvergenceofVocabularyUsage . . . . . . . . 121
8.2.4 InfluenceofDataConsumers . . . . . . . . . . . . . . . . 122
8.3 EmpiricalFindings . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.3.1 Top-downProcesses . . . . . . . . . . . . . . . . . . . . 123
8.3.2 Bottom-upProcesses . . . . . . . . . . . . . . . . . . . . 128
8.3.3 OverallConvergenceofVocabularyUsage . . . . . . . . 131
8.4 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
8.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
III UseCase-SpecificProfiling 137
9 UseCase-specificUtilityAnalysisofschema.orgData 139
9.1 UseCases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.1.1 Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . 140
9.1.2 NewsAggregator . . . . . . . . . . . . . . . . . . . . . . 141
9.1.3 TravelPortal . . . . . . . . . . . . . . . . . . . . . . . . 141
9.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.3 ResearchDataandMethodology . . . . . . . . . . . . . . . . . . 142
9.3.1 ResearchData . . . . . . . . . . . . . . . . . . . . . . . 142
9.3.2 Methodology . . . . . . . . . . . . . . . . . . . . . . . . 143
vi CONTENTS
9.4 EmpiricalFindings . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.4.1 UseCase-IndependentAnalysis . . . . . . . . . . . . . . 144
9.4.2 Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . 146
9.4.3 NewsAggregator . . . . . . . . . . . . . . . . . . . . . . 148
9.4.4 TravelPortal . . . . . . . . . . . . . . . . . . . . . . . . 153
9.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
9.5.1 Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . 155
9.5.2 NewsAggregator . . . . . . . . . . . . . . . . . . . . . . 156
9.5.3 TravelPortal . . . . . . . . . . . . . . . . . . . . . . . . 156
10 ProductDataCategorization 157
10.1 ProblemDescription . . . . . . . . . . . . . . . . . . . . . . . . 158
10.2 RelatedWork . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
10.3 ResearchDataandEvaluationMethod . . . . . . . . . . . . . . . 160
10.3.1 Productschema.orgMicrodata . . . . . . . . . . . . . . . 160
10.3.2 GS1-GlobalProductCatalogue . . . . . . . . . . . . . . 161
10.3.3 ProductGoldstandard. . . . . . . . . . . . . . . . . . . . 162
10.3.4 BaselineandEvaluation . . . . . . . . . . . . . . . . . . 162
10.4 Distant-SupervisedProductCategorization . . . . . . . . . . . . . 163
10.4.1 FeatureVectorGeneration . . . . . . . . . . . . . . . . . 163
10.4.2 Baseline: SupervisedApproach . . . . . . . . . . . . . . 164
10.4.3 Hierarchy-BasedProductClassification . . . . . . . . . . 164
10.4.4 Similarity-basedProductCategoryMatching . . . . . . . 165
10.4.5 ClassificationonHigh-PrecisionMappings . . . . . . . . 168
10.4.6 GlobalOptimization . . . . . . . . . . . . . . . . . . . . 169
10.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11 Conclusion 171
11.1 PARTI:ExtractionofSemanticAnnotations . . . . . . . . . . . . 171
11.2 PARTII:AnalysisoftheDeploymentofSemanticAnnotations . . 172
11.3 PARTIII:UseCase-SpecificProfiling. . . . . . . . . . . . . . . . 173
11.4 ResearchImpact. . . . . . . . . . . . . . . . . . . . . . . . . . . 174
11.4.1 ResearchImpactofDataExtractionApproaches . . . . . 174
11.4.2 TheWebDataCommonsProject . . . . . . . . . . . . . . 174
11.4.3 ResearchImpactofProfilingSemanticAnnotations . . . . 175
ListofFigures 177
ListofTables 178
Listings 181
Bibliography 183
Chapter 1
Introduction
The vision of the Semantic Web was described by Tim Berners-Lee almost two
decades ago [Berners-Leeetal.,2001]. He thought of the semantic web as an
extensiontothe–atthatpointintime–currentWeb,offeringhumansandmachines
animprovedcommunication. Machinesshouldbeempoweredtounderstandthe
content,theinteractions,andthetransactionsintheWeb. Berners-Leeespecially
emphasized the necessity to infuse information with their well-defined meaning
withinthedocumentsoftheWeb,torealizehisvision.
Besidesotherexamples,thisnecessityofwell-definedmeaningbecomesmore
clearwithrespecttotheinformationcontainedinordinarywebpages. Humanscan
makesenseofthecontentpresentedbyapage,duetotheirbackgroundknowledge
andtheintendofrequestingthisparticularpage. Machines,parsingtheunderlying
HTMLcode,mighthavedifficultiesinidentifyingtheimportantcontentwithinthe
documentandmakingsenseofthepresentedinformation. Exemplary,itneedsto
bedecisiveforamachinethatthetermBremenisthemajorconceptofawebpage
andrepresentsacityinGermanyandnotacityintheUnitedStatesorashipinthe
particularcontext.
In the last decade, a large body of research has been going on, focusing on
variousaspectsoftherealizationoftheideaofthesemanticweb. Newandadapted
approacheshavebeenstudiedandevaluatedtoinfuseaconcretemeaningtoinfor-
mationprovidedintheWeb. DataformatslikeRDF havebeendevelopedprovid-
ingauniversaltechniquetoexchangesuchinformation[KlyneandCarroll,2004].
Specialized systems like triple stores and query languages like SPARQL have
been created and refined to efficiently store and query such kind of informa-
tion [Prud’Hommeauxetal.,2008]. Ontologies and vocabularies were extended
anddesignedtocover(partsof)thetopicsdescribedbyinformationcontainedin
theWeb.
Aconcrete(partly)realizationofthevisionofthesemanticwebiscalledlinked
open data (LOD). The idea is to create and maintain collections of well-defined
information(datasets),containingdescriptionsofvariousentities. Ifpossible,the
entitiesshouldbeconnectedtorelatedentitieswithinthesamedataset,aswellas
1
2 CHAPTER1. INTRODUCTION
acrossallLODdatasets. Theresultingconnectedgraphofdatasetsisreferredto
as the LOD cloud. The data, as the name indicates, should be open and publicly
available,allowingconsumerstoaccessthedataatanytime. Basedontheanalysis
oftheLODcloudby[Schmachtenbergetal.,2014],1014datasetsarecontained,
describingvarioustopicssuchasgovernment, publications, andlifesciences. In
comparisontotheoverallnumberofdifferentdataproviders(e.g.,websites)inthe
Webaswellthevarietyofcoveredtopics,thenumberofdatasetscontainedinthe
LODcloudandtheirtopicalcoverageseemratherlimited.
SemanticAnnotations Another,morerecent,concreterealizationofthevision
ofthesemanticwebistheinclusionofthemeaningofinformationdirectlyinthe
underlyingcodeoftheHTMLpage. Thetechnicalideaisbasedontheextensionof
thestandardHTMLmarkupbyfurthersemanticmarkuplanguages,whichdefine
additionalsetsofattributesandcanbeautomaticallyrecognized,e.g. byamachine.
The most observed semantic markup languages are Microformats, RDFa, and
Microdata. Inordertoinfusetheembeddedinformationwithmeaning,vocabularies
areusedtodescribetheresourcesandtheirattributes/properties.
Oneofthecurrentlyknown,majorconsumersofsemanticannotationsarethe
largesearchenginecompaniesBing,Google,Yahoo!,andYandex. Althoughnotall
serviceswheresemanticannotationsareusedforbythosecompaniesareknown,
one of the most popular ones is Google’s Rich Snippets1 [Goeletal.,2009]. For
aselectedsetoftopics(e.g.,productsandevents),Googleenrichesthedisplayed
searchresultswithadditionalinformationretrievedfromsemanticannotations. As
studieshaveshown,suchenhancedpresentationsofsearchresultsarepotentially
moreattractivetousers[CutrellandGuan,2007]. Thetherebygeneratedimproved
visibilityofdataproviders2 leadstoawin-winsituationfordataprovidersanddata
consumers.
Figure1.1depictsawebpageoftheonlinestoreofthesportinggoodsandfashion
providerAdidas. Ahumanvisitorofthiswebpagecandirectlyidentifythatashoe
withthenameace16.3indoorshoeisofferedforthepriceofUS$70. Wheneverwe
askamachinetotrytounderstandthecontentofthisparticularwebpagetheresults
might vary. A machine might for example mix up the real price with the model
number16.3. Inaddition,dependingontheunderlyingHTMLcode,theremightbe
additional,partlyunrelatedinformationwhichmightnotevenbeenshownbythe
browseratall(e.g.,metainformation,orinformationwhicharecommentedout).
1https://developers.google.com/structured-data/rich-snippets/
2Withinthisthesisweusethetermsdataprovider,website,pay-leveldomain(PLD)anddomain
todescribethesameadministrativeauthority,namelythepersonorgroupwhichisresponsibleforthe
content(data)providedwithinHTMLpagesbelongingtoonewebsitewhicharepublicavailable
withintheWeb.
Description:semantic annotations are considered in commercial applications, besides those of the search engine companies and .. 15General information about the API can be found on the Facebook developers page: https: Amazon Web Services (AWS)47 or Microsoft Azure48 provide, whenever needed,.