Skip to content

Commit 12da1b0

Browse files
author
Nicolas Hiot
committed
Fix typos & citatoin hyperlinks
1 parent f287a79 commit 12da1b0

File tree

9 files changed

+112
-20
lines changed

9 files changed

+112
-20
lines changed

main.tex

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,89 @@
238238
\theoremstyle{remark}
239239
\newtheorem*{remark}{Remarque}
240240

241+
% Babelbib hyperref fix with bibunits
242+
\makeatletter
243+
\def\hyper@natlinkstart#1{%
244+
\Hy@backout{#1}%
245+
\hyper@linkstart{cite}{cite.\@bibunitname.#1}%
246+
% ^^^^^^^^^^^^^^
247+
\def\hyper@nat@current{#1}%
248+
}
249+
250+
\def\hyper@natlinkbreak#1#2{%
251+
\hyper@linkend#1\hyper@linkstart{cite}{cite.\@bibunitname.#2}%
252+
% ^^^^^^^^^^^^^^
253+
}
254+
255+
\def\hyper@natanchorstart#1{%
256+
\hyper@anchorstart{cite.\@bibunitname.#1}%
257+
% ^^^^^^^^^^^^^^
258+
}
259+
260+
\def\bibcite#1#2{%
261+
\@newl@bel{b}{#1}{\hyper@@link[cite]{}{cite.\@bibunitname.#1}{#2}}%
262+
% ^^^^^^^^^^^^^^
263+
}%
264+
265+
\def\@lbibitem[#1]#2{%
266+
\@skiphyperreftrue
267+
\H@item[\hyper@anchorstart{cite.\@bibunitname.#2}%
268+
% ^^^^^^^^^^^^^^
269+
\@BIBLABEL{#1}\hyper@anchorend\hfill]%
270+
\@skiphyperreffalse
271+
\if@filesw
272+
\begingroup
273+
\let\protect\noexpand
274+
\immediate\write\@auxout{%
275+
\string\bibcite{#2}{#1}%
276+
}%
277+
\endgroup
278+
\fi
279+
\ignorespaces
280+
}%
281+
282+
\def\@bibitem#1{%
283+
\@skiphyperreftrue\H@item\@skiphyperreffalse
284+
\hyper@anchorstart{cite.\@bibunitname.#1}\relax\hyper@anchorend
285+
% ^^^^^^^^^^^^^^
286+
\if@filesw
287+
\begingroup
288+
\let\protect\noexpand
289+
\immediate\write\@auxout{%
290+
\string\bibcite{#1}{\the\value{\@listctr}}%
291+
}%
292+
\endgroup
293+
\fi
294+
\ignorespaces
295+
}%
296+
297+
\def\@citex[#1]#2{%
298+
\let\@citea\@empty
299+
\@cite{%
300+
\@for\@citeb:=#2\do{%
301+
\@citea
302+
\def\@citea{,\penalty\@m\ }%
303+
\edef\@citeb{\expandafter\@firstofone\@citeb}%
304+
\if@filesw
305+
\immediate\write\@auxout{\string\citation{\@citeb}}%
306+
\fi
307+
\@ifundefined{b@\@citeb}{%
308+
\mbox{\reset@font\bfseries ?}%
309+
\G@refundefinedtrue
310+
\@latex@warning{%
311+
Citation `\@citeb' on page \thepage \space undefined%
312+
}%
313+
}{%
314+
\hyper@natlinkstart{\@citeb}%
315+
% ^^^^^^^^^^^^^^^^^^^^^^^^
316+
\hbox{\csname b@\@citeb\endcsname}%
317+
\hyper@natlinkend%
318+
% ^^^^^^^^^^^^^^^^^^
319+
}%
320+
}%
321+
}{#1}%
322+
}%
323+
241324
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
242325
% En tete et pied de page :
243326
\usepackage{fancyhdr}

these/glossaries.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
\newglossaryentry{doing}{name=DOING, description={Action de recherche s'intéresant aux problématiques autours de l'extraction, le stockage et le traitement de données médicales. \url{https://www.univ-orleans.fr/lifo/evenements/doing/}}}
44
\newglossaryentry{wikipedia}{name=Wikip\'edia, description={Une encyclopédie universelle, multilangue, libre et collaborative. \url{https://wikipedia.org/}}}
55
\newglossaryentry{python}{name=Python, description={Un language de programmation interprété utilisant un typage dynamique. Il est principalement utilisé dans les sciences des données. \url{https://www.python.org/}}}
6-
\newglossaryentry{cypher}{name=Cypher, description={Un langage de requetage conçu pas Neo4J pour les bases de données graphes basée sur de la reconnaissance de motifs decrit en art ASCII}}
6+
\newglossaryentry{cypher}{name=Cypher, description={Un langage de requetage conçu par Neo4J pour les bases de données graphes basée sur de la reconnaissance de motifs decrit en art ASCII}}
77
\newglossaryentry{neo4j}{name=Neo4J, description={Un système de gestion de base de données utilisant des graphes de propriétés. \url{https://neo4j.com/}}}
88
\newglossaryentry{mysql}{name=MySQL, description={Un système de gestion de bases de données relationnelles. \url{https://www.mysql.com/}}}
99
\newglossaryentry{docker}{name=Docker, description={Docker est une plateforme permettant l'execution dans des environments reproductible et légers. \url{https://www.docker.com/}}}
@@ -99,7 +99,7 @@
9999
\newacronym{uri}{URI}{Uniform Resource Identifier}
100100
\newacronym[shortplural=TGDs,longplural=Tuple-Generating Dependencies]{tgd}{TGD}{Tuple-Generating Dependency}
101101
\newacronym{sql}{SQL}{Structured Query Language}
102-
\newacronym[shortplural=SGBDs,longplural=Syst\'emes de G\'estion de Base de Donn\'ees]{sgbd}{SGBD}{Syst\'eme de G\'estion de Base de Donn\'ees}
102+
\newacronym[shortplural=SGBDs,longplural=Syst\'emes de Gestion de Base de Donn\'ees]{sgbd}{SGBD}{Syst\'eme de G\'estion de Base de Donn\'ees}
103103
\newacronym{sparql}{SPARQL}{Simple Protocol and RDF Query Language}
104104
\newacronym{gql}{GQL}{Graph Query Language}
105105
\newacronym{mql}{MQL}{Multidimensional Query Language}

these/introduction.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ \section{Axes de recherche}
9494

9595
Dans cette thèse, nous partons du principe que notre instance initiale est constituée d'un ensemble de textes qui respectent une grammaire.
9696
L'objectif est de faire évoluer cette grammaire en la généralisant vers une autre grammaire qui représente des abstractions structurantes correspondant à un schéma de données.
97-
Cette évolution est réalisée par une suite de transformation appliquée à l'instance.
97+
Cette évolution est réalisée par une suite de transformations appliquée à l'instance.
9898

9999
\begin{example}
100100
\label{ex:runex}

these/part_1/chapter_1/discussion.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
\begin{example}
2121
En prenant comme exemple le graphe figure~\ref{fig:update:discussion:g1} et la contrainte $C: Document(x) \to AuthorOf(y, x)$.
22-
Les \gls{gfd} ne permettrais pas de corriger l'instance contrairement à une approche comme \gls{setup} qui autorise de rajouter le nœud $Person$ et l'arête $AuthorOf$ manquante pour obtenir l'instance figure~\ref{fig:update:discussion:g2} qui est cohérente par rapport à la contrainte $C$.
22+
Les \glspl{gfd} ne permettraient pas de corriger l'instance contrairement à une approche comme \gls{setup} qui autorise de rajouter le nœud $Person$ et l'arête $AuthorOf$ manquante pour obtenir l'instance figure~\ref{fig:update:discussion:g2} qui est cohérente par rapport à la contrainte $C$.
2323

2424
\begin{figure}[htb]
2525
\centering

these/part_1/chapter_1/graph_deps.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
Comme pour les langages d'interrogation de graphes (cf. \gls{cypher}), un motif est un graphe contenant un ensemble fini de variables pour les nœuds, les arêtes et les propriétés.
1111
Dans \cite{fanDependenciesGraphs2019}, un motif est défini comme un graphe dirigé $Q[\overline{x}] = (V_Q, E_Q, \lambda, \mu)$$V_Q$ est un ensemble fini de nœuds, $E_Q$ un ensemble fini d'arêtes, $\lambda : V_Q \cup E_Q \to L$ est une fonction partielle de labellisation, $\overline{x} \subset \textsc{var}$ est un ensemble de variables tel que $\lvert \overline{x} \rvert = \lvert V_Q \rvert$ ou $\lvert \overline{x} \rvert = \lvert E_Q \rvert$ et $\mu : \overline{x} \to V_Q \cup E_Q$ est une fonction bijective d'affectation de variables.
12-
La recherche du motif $Q$ dans un graphe attribué $G = (V, E, L, F_A)$ ($F_A(v)$ est l'ensemble des propriétés $A_i = a_i$$v.A_i$ est une propriété de $v$ et $a_i$ est une constante) consiste a retrouvé l'ensemble des homomorphismes $h$ de ces variables tel que le graphe $h(Q)$ sois un sous graphe de $G$.
12+
La recherche du motif $Q$ dans un graphe attribué $G = (V, E, L, F_A)$ ($F_A(v)$ est l'ensemble des propriétés $A_i = a_i$$v.A_i$ est une propriété de $v$ et $a_i$ est une constante) consiste a retrouver l'ensemble des homomorphismes $h$ de ces variables tel que le graphe $h(Q)$ sois un sous graphe de $G$.
1313
C'est-à-dire que pour chaque nœud $u \in V_Q$, $L_Q(u) = L(h(u))$ et pour chaque arête $e = (u, p, u')$ dans $Q$ il existe une arête $e' = (h(u), p, h(u'))$ dans $G$.
1414

1515
Une \glspl{gfd} est alors définie comme un tuple $(Q[\overline{x}], X \to Y)$$Q[\overline{x}]$ est le motif qui défini la contrainte topologique (le sous graphe sur lequel la contrainte s'applique) et $X$ et $Y$ sont deux ensembles de contraintes sur les variables dans $\overline{x}$.

these/part_1/chapter_1/introduction.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
Cela garantit un niveau de qualité de données uniforme pour tous les utilisateurs, même si cela implique une certaine limitation de la flexibilité.
1010
En effet, contrairement aux approches qui vise à appliquer un ensemble de contraintes lors de la requête, les contraintes imposées ne sont plus adaptées pour chaque utilisateur mais sont fixées et ne peuvent pas être modifiées.
1111
Cela permet tout de même d'avoir un ensemble de contraintes pour chaque exigence métier.
12-
Dans ce contexte, cette thèse s'intéresse au maintin de la cohérence (par rapport à des contraintes globales) lors des mises à jour d'une base de données avec des informations incomplétes.
12+
Dans ce contexte, cette thèse s'intéresse au maintien de la cohérence (par rapport à des contraintes globales) lors des mises à jour d'une base de données avec des informations incomplétes.
1313

1414
\paragraph{}
1515
L'importance de pouvoir gérer l'incomplétude se révèle dans l'intégration d'informations provenant de sources textuelles.
@@ -46,7 +46,7 @@
4646
\begin{enumerate}
4747
\item visent à appliquer cette approche de manière \emph{incrémentale} à des \emph{bases de données graphes}.
4848
\item capitalisent sur les avantages inhérents aux fonctionnalités d'accès, de manipulation et de gestion de données offertes par les \glspl{sgbd} orientés graphes contrairement à une version en mémoire présentée dans \cite{chabinConsistentUpdatingDatabases2020}.
49-
\item améliorent la création des ensembles d'atomes liés par des valeurs nulles pour le calcul du \gls{core}, processus qui permet d'eliminier la redondance d'information et constitue une étape coûteuse dans \cite{chabinConsistentUpdatingDatabases2020}.
49+
\item améliorent la création des ensembles d'atomes liés par des valeurs nulles pour le calcul du \gls{core}, processus qui permet d'éliminer la redondance d'information et constitue une étape coûteuse dans \cite{chabinConsistentUpdatingDatabases2020}.
5050
\end{enumerate}
5151

5252
\paragraph{Organisation de la partie}

these/part_1/chapter_2/evaluation.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ \subsection{Implémentation sur un modèle relationnel}
6666
La requête $Q_{chase}^{[c]}$ suit l'idée décrite pour les graphes (section~\ref{sec:update:chase}) et s'écrit en \gls{sql} avec la clause \verb|NOT EXIST|.
6767

6868
\begin{remark}
69-
La construction de l'ensemble \textsf{LinkedNull} ne peux être exprimée par une unique requête \gls{sql} et est donc réalisée par la procédure~\ref{algo:update:mysql:partition} suivante.
69+
La construction de l'ensemble \textsf{LinkedNull} ne peut être exprimée par une unique requête \gls{sql} et est donc réalisée par la procédure~\ref{algo:update:mysql:partition} suivante.
7070
En effet, l'utilisation d'une requête \gls{sql} récursive pourrait être envisagée, mais n'est cependant pas appropriée ici.
7171
Pour ce faire, une table supplémentaire doit être introduite pour stocker les paires de valeurs nulles liées.
7272
L'opération se traduirait alors par :

these/part_2/chapter_1/schema.tex

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,32 @@
4545

4646
\begin{figure}[htb]
4747
\centering
48-
\begin{tabular}{llllllll|l}
49-
Données textuelles & $\rightarrow$
50-
& $I_0$ & $\rightarrow$ & $ I_1$ & $\rightarrow$ & $ \dots$ & $I_t$ & Instances (arbres) \\
51-
& & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ \\
52-
& & $S_0$ & & $S_1$ & & $ \dots$ & $S_t$ & Arbres quotients \\
53-
& & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ \\
54-
& & $G_0$ & & $G_1$ & & $ \dots$ & $G$ & Grammaires \\
55-
& & $\searrow$ & & $\downarrow$ & & & $\swarrow$ \\
56-
\multicolumn{9}{c}{\fbox{Vérification par rapport à $\mathbb{G}$}}
48+
\begin{tabular}{cccccccc|l}
49+
Données textuelles & $\rightarrow$ & $I_0$ & $\rightarrow$ & $ I_1$ & $\rightarrow$ & $ \dots$ & $I_t$ & Instances (arbres) \\
50+
& & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ & \\
51+
& & $S_0$ & & $S_1$ & & $ \dots$ & $S_t$ & Arbres quotients \\
52+
& & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ & \\
53+
& & $G_0$ & & $G_1$ & & $ \dots$ & $G_T$ & Grammaires \\
54+
& & ~ $\searrow$ & & $\downarrow$ & & & $\swarrow$ ~ & \\
55+
& & \multicolumn{6}{c}{\fbox{Vérification par rapport à $\mathbb{G}$}} &
5756
\end{tabular}
58-
\caption{Procéssus itératif pour la structuration automatique}
57+
% \begin{tabular}{llllllll|l}
58+
% Données textuelles & $\rightarrow$
59+
% & $I_0$ & $\rightarrow$ & $ I_1$ & $\rightarrow$ & $ \dots$ & $I_t$ & Instances (arbres) \\
60+
% & & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ \\
61+
% & & $S_0$ & & $S_1$ & & $ \dots$ & $S_t$ & Arbres quotients \\
62+
% & & $\downarrow$ & & $\downarrow$ & & & $\downarrow$ \\
63+
% & & $G_0$ & & $G_1$ & & $ \dots$ & $G$ & Grammaires \\
64+
% & & $\searrow$ & & $\downarrow$ & & & $\swarrow$ \\
65+
% \multicolumn{9}{c}{\fbox{Vérification par rapport à $\mathbb{G}$}}
66+
% \end{tabular}
67+
\caption{Processus itératif pour la structuration automatique}
5968
\label{fig:struct:general}
6069
\end{figure}
6170

6271
L'axe horizontal de la figure~\ref{fig:struct:general} représente la progression du processus de l'étape $i$ à l'étape $i+1$. Cette progression est basée sur le raisonnement suivant :
6372
\begin{description}
64-
\item[Initialisation] Le processus commence par la transformation des phrases en arbres syntaxique, ce qui donne lieu à une instance désignée par $I_0$.
73+
\item[Initialisation] Le processus commence par la transformation des phrases en arbres syntaxiques, ce qui donne lieu à une instance désignée par $I_0$.
6574

6675
\item[Enrichissement] Une seconde étape consiste à enrichir les arbres de l'instance $I_0$ en incorporant les informations extraites par une analyse du texte.
6776
Il peut s'agir d'insérer des entités, des noms de relations ou d'autres informations pertinentes dans les arbres.

these/part_2/chapter_1/steps.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ \subsection{Enrichissement des arbres}
115115
La ligne~\ref{algo:struct:inslist:ent} se charge d'ajouter les entités dans l'arbre et la ligne~\ref{algo:struct:inslist:unnest} convertie les entités imbriquées.
116116
Après l'enrichissement des arbres syntaxiques, l'algorithme s'occupe de la simplification en commençant par supprimer les branches ne contenant pas d'entités (ligne~\ref{algo:struct:inslist:del}) avant de réduire l'arbre (ligne~\ref{algo:struct:inslist:reduce}).
117117

118-
Dans la suite, cette sous-section présentera de façon détaillée les différentes opérations n'nécessaire à l'enrichissement des arbres syntaxique.
118+
Dans la suite, cette sous-section présentera de façon détaillée les différentes opérations nécessaire à l'enrichissement des arbres syntaxique.
119119

120120
\subsubsection{Conjonctions de coordinations}
121121
La structure des arbres syntaxiques est dépendante de la langue étudiée.

0 commit comments

Comments
 (0)