361 lines
10 KiB
TeX
361 lines
10 KiB
TeX
\documentclass{beamer}
|
|
\usecolortheme{seagull}
|
|
\setbeamertemplate{navigation symbols}{}
|
|
\usepackage{graphicx}
|
|
\usepackage{tcolorbox}
|
|
\usetikzlibrary{positioning}
|
|
\usetikzlibrary{shapes.misc}
|
|
\usepackage{xcolor}
|
|
\usepackage{tikz}
|
|
\usepackage{environ}
|
|
\usepackage[style=authoryear]{biblatex}
|
|
|
|
\usepackage{tikz}
|
|
\usetikzlibrary{shapes.geometric}
|
|
|
|
\begin{document}
|
|
|
|
\title{Resuscitating the Semantic Web}
|
|
\date{}
|
|
\author{
|
|
Spencer Killen \\
|
|
\tiny{https://sjkillen.ca}
|
|
}
|
|
|
|
\begin{frame}
|
|
\titlepage
|
|
\end{frame}
|
|
|
|
|
|
\begin{frame}
|
|
\frametitle{A Brief History of Internet ``Versions''}
|
|
|
|
\begin{itemize}
|
|
\item Web 1.0
|
|
\begin{itemize}
|
|
\item Website, basic browsing, hyperlinks
|
|
\end{itemize}
|
|
\pause
|
|
\item Web 2.0
|
|
\begin{itemize}
|
|
\item Dynamically loaded content
|
|
\item Infinite scroll, more interactivity, etc.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{``Versions'' are Largely Marketing Slop}
|
|
|
|
\begin{itemize}
|
|
\item Hundreds of ``Web 2.0'' books sold
|
|
\pause
|
|
\item But... versions do signal a push for change
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{What is Web 3.0?}
|
|
|
|
\begin{itemize}
|
|
\item In the 2010s, people were pushing the Semantic Web as Web 3.0
|
|
\begin{itemize}
|
|
\item Academics
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{The Semantic Web}
|
|
|
|
\begin{itemize}
|
|
\item A phrase coined by Tim Berners-Lee
|
|
\begin{itemize}
|
|
\item Who is credited for ``inventing the internet''
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\begin{quote}
|
|
The essential property of the World Wide Web is its universality. The power of a hypertext link is that "anything must be able to link to anything"
|
|
\vskip 1em
|
|
\hfill -- Tim Berners-Lee
|
|
\end{quote}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{The Semantic Web}
|
|
\begin{itemize}
|
|
\item In Web 1.0/2.0 documents of structured information link to each other.
|
|
\begin{itemize}
|
|
\item But the documents don't {\em mean} anything except to a human reader.
|
|
\end{itemize}
|
|
\begin{verbatim}
|
|
<div>
|
|
<span>1-780-468-2639</span>
|
|
<span><a href="https://sjkillen">
|
|
Spencer Killen
|
|
</a></span>
|
|
<span>sjkillen@ualberta.ca</span>
|
|
</div>
|
|
\end{verbatim}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{Level 0: Data Annotation}
|
|
\begin{itemize}
|
|
\item Documents describe what they are
|
|
\begin{verbatim}
|
|
<div typeof="Person">
|
|
<span property="CellPhone">
|
|
1-780-468-2639
|
|
</span>
|
|
<span property="Website">
|
|
<a href="https://sjkillen">
|
|
Spencer Killen
|
|
</a>
|
|
</span>
|
|
<span property="Email">
|
|
sjkillen@ualberta.ca
|
|
</span>
|
|
</div>
|
|
\end{verbatim}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{Level 0: Data Annotation}
|
|
\begin{itemize}
|
|
\item Meaning ascribed to different sections of the document
|
|
\item There's an automated way of interrogating the web resource:
|
|
\begin{itemize}
|
|
\item Who is the website about?
|
|
\begin{itemize}
|
|
\item One person, Spencer
|
|
\end{itemize}
|
|
\item What is Spencer's email?
|
|
\begin{itemize}
|
|
\item sjkillen@uaberta.ca
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{The Good and the Bad}
|
|
\begin{itemize}
|
|
\item Website is {\bf more} machine readable
|
|
\item Easier for bad corpos to mine information
|
|
\begin{itemize}
|
|
\item But companies will use LLMs to mine this info with or without annotation
|
|
\end{itemize}
|
|
\item Good actors:
|
|
\begin{itemize}
|
|
\item Application interoperability
|
|
\item E.g. Very easy to build an application that looks through pages you've browsed
|
|
\begin{itemize}
|
|
\item ``Makes a list of the people I've read about online'' or
|
|
\item Poll https://sjkillen.ca periodically and update Spencer's contact info
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{Level 1: Distributed Authority and Ontologies}
|
|
\begin{itemize}
|
|
% \item An evolution of human knowledge
|
|
\item An information either asserts authority: \\``the sky is blue, trust me bro''
|
|
\item or cites a source: $e = mc^2$ (Einstein 1905)
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{Level 1: Distributed Authority and Ontologies}
|
|
\begin{itemize}
|
|
\item Ideally, anything and everything should be cited
|
|
\begin{itemize}
|
|
\item Current methods of citation are highly limited
|
|
\begin{itemize}
|
|
\item We reference a book, article, etc and expect the reader to find the relevant parts.
|
|
\item More granular systems exist (e.g. citing specific diagrams, bible verses, etc)
|
|
\item But these systems cite some structural part of the source material, not a semantic one.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{A Contrived Example}
|
|
\begin{example}
|
|
Writing a fanfic which combines Linux lore with Lord of the Rings.
|
|
|
|
Richard Stallman is a Hobbit character.
|
|
|
|
A reference to the Stallman Hobbit needs to cite both Linux lore and LOTR.
|
|
|
|
How will people know which idea comes from which source?
|
|
\end{example}
|
|
\begin{verbatim}
|
|
<span typeof="en.wikipedia.org/Richard_Stallman">
|
|
Richard
|
|
</span>
|
|
was a 3 foot tall
|
|
<span typeof="lotr.com/Hobbit">
|
|
Hobbit
|
|
</span>
|
|
\end{verbatim}
|
|
\begin{itemize}
|
|
\item Normal citations happen once, but we can cite every usage
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Authority Delegation}
|
|
\begin{itemize}
|
|
\item Now Wikipedia and lotr.com are the authoritative definitions of Stallman and Hobbits, respectively
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}[fragile]
|
|
\frametitle{Modeling Concepts, Relations, and Webs}
|
|
\begin{itemize}
|
|
\item Our citation doesn't describe the relation our character has to the real person our LOTR books.
|
|
\end{itemize}
|
|
|
|
\begin{verbatim}
|
|
<div target="OurProtagonist">
|
|
<span property="schema.org/isBasedOn">
|
|
<span href="en.wikipedia.org/Richard_Stallman">
|
|
Richard
|
|
</span>
|
|
</span>
|
|
was a 3 foot tall
|
|
<span typeof="lotr.com/Hobbit">
|
|
Hobbit
|
|
</span>
|
|
</div>
|
|
\end{verbatim}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Schema.org}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{We Can Define Our Own Concepts Too!}
|
|
\begin{itemize}
|
|
\item Someone can write a fanfic of our fanfic to cite and incorporate a new creature we define
|
|
\item Someone browsing for stories can search to find all works that incorporate our creature
|
|
\begin{itemize}
|
|
\item All usages are self-reported, therefore not susceptible to AI slop errors.
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Level 3: Semantic Services}
|
|
\begin{itemize}
|
|
\item A website can use these technologies to report the services it provides
|
|
\begin{itemize}
|
|
\item E.g. a pi digit calculator
|
|
\item An imperial-to-metric converting service
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{The Premature Death of the Semantic Web}
|
|
|
|
\begin{quote}
|
|
``A technology dies first when people stop using it, and then again when its name is lost. ''
|
|
\vskip 1em
|
|
\hfill -- Unknown
|
|
\end{quote}
|
|
\pause
|
|
\begin{itemize}
|
|
\item ``Crypto/Blockchain is now Web 3.0''!
|
|
\pause
|
|
\begin{itemize}
|
|
\item The name has been stolen from the Semantic Web
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{The Arduous Knowledge Engineering Barrier}
|
|
\begin{itemize}
|
|
\item Implementing the semantic web takes two types of experts working in tandem:
|
|
\begin{itemize}
|
|
\item Experts in web technologies (knowledge engineers)
|
|
\item Experts in the domain (e.g., Linux lore expert or LOTR expert)
|
|
\end{itemize}
|
|
\item This is why semantic web technologies never saw widespread adoption
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Reclaim the Web from the LLMs!}
|
|
\begin{itemize}
|
|
\item Large language models are stealing the web from us
|
|
\begin{itemize}
|
|
\item Automatically extracted data from websites is served in a chat client
|
|
\item Websites aren't visited by people, just LLM scrapers
|
|
\end{itemize}
|
|
|
|
\pause
|
|
\item Fighting back?
|
|
\begin{itemize}
|
|
\item Use LLMs to allow the domain expert to ``be the knowledge engineer''
|
|
\begin{itemize}
|
|
\item Ensures automatic data extraction is audited by an expert, unlike current LLMs
|
|
\item Data is accessible and reliable
|
|
\item Greatly decreases the cost of semantic web tech adoption
|
|
\end{itemize}
|
|
\item Build more tools that rely on the Semantic Web
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Semantic Web Technologys}
|
|
\begin{itemize}
|
|
\item RDF
|
|
\begin{itemize}
|
|
\item RDFa
|
|
\begin{itemize}
|
|
\item Used in examples. Annotate HTML with relations
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\item OWL
|
|
\begin{itemize}
|
|
\item Extends RDF with description logic
|
|
\end{itemize}
|
|
\item RIF
|
|
\begin{itemize}
|
|
\item Extends RDF with intuitionistic rule logic
|
|
\end{itemize}
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{How to Get Started}
|
|
\begin{enumerate}
|
|
\item Learn basic HTML
|
|
\begin{itemize}
|
|
\item Only very basic HTML is needed.
|
|
\end{itemize}
|
|
\item Learn RDFa Core
|
|
\item Annotate a document using schema.org
|
|
\end{enumerate}
|
|
\end{frame}
|
|
|
|
\begin{frame}
|
|
\frametitle{Exercise}
|
|
\begin{itemize}
|
|
\item Annotate HTML with RDFa, then verify using an RDF extractor
|
|
\end{itemize}
|
|
\end{frame}
|
|
|
|
\end{document}
|