À la recherche

du sens

@matarld
@ElasticFR

À la recherche

du sens

@matarld
@ElasticFR

Moi, c'est

Mathias.

@matarld

Je m'appelle

Mathias.

@matarld

4A65206D27617070656C6C65

4D6174686961732E

4D6F692C206327657374

4D6174686961732E

Moi, c'est Mathias.

Je m'appelle Mathias.

@matarld

4.8

Comment quitter VIM?

Quitter son emploi avec rupture conventionnelle
Salon du
vigneron indépendant
VIM pour les nuls
Impossible de fermer VIM

2.4

1.2

0.6

@matarld
S(D,Q) = \sum_{i=1}^{n}IDF(q_i)\cdot\frac{f(q_i,D)\cdot(k_1+1)}{f(q_i,D)+k_1\cdot(1-b+b\cdot\frac{|D|}{avgdl})}
@matarld
@matarld
S(D,Q) = \sum_{i=1}^{|Q|} [\sqrt{|t_{iD}|} \cdot (1+\log (\frac{N}{n(t_i)+1}))] \cdot \frac{|Q_D|}{|Q|}

Pour chaque mot de la requête

Term frequency (TF)

Inverse document frequency (IDF)

Coordination factor (C)

\sum_{i=1}^{|Q|}
\sqrt{|t_{iD}|}
(1+\log (\frac{N}{n(t_i)+1}))
\frac{|Q_D|}{|Q|}
\sum [TF \cdot IDF] \cdot C
\sum
TF
IDF
C
@matarld

VIM pour les nuls

\sum
S= \sum [TF \cdot IDF] \cdot C
TF
IDF
C
= [TF_{VIM} \cdot IDF_{VIM} + TF_{pour} \cdot IDF_{pour} + TF_{les} \cdot IDF_{les} + TF_{nuls} \cdot IDF_{nuls}] \cdot C
TF_{VIM}
TF_{pour}
TF_{les}
TF_{nuls}
IDF_{VIM}
IDF_{pour}
IDF_{les}
IDF_{nuls}
C
@matarld

Term Frequency (n.f)

Ce mot apparaît souvent dans le document?

\sum [TF \cdot IDF] \cdot C
TF
@matarld
TF_t = \sqrt{|t_D|}

Nombre d'occurences du mot de la requête "t" dans le document "D"

Racine carrée

@matarld
TF_t \approx |t_D|
@matarld

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

@matarld

VIM et développeurs

= [1 \cdot IDF_{VIM} + 1 \cdot IDF_{et}] \cdot C
= [1 \cdot IDF_{VIM} + 1 \cdot IDF_{devs}] \cdot C

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

TF_{VIM} = \sqrt1
TF_{et} = \sqrt1
TF_{devs} = \sqrt0
TF_{VIM} = \sqrt1
TF_{et} = \sqrt0
TF_{devs} = \sqrt1
S = [\sqrt1 \cdot IDF_{VIM} + \sqrt1 \cdot IDF_{et} + \sqrt0 \cdot IDF_{devs}] \cdot C
S = [\sqrt1 \cdot IDF_{VIM} + \sqrt0 \cdot IDF_{et} + \sqrt1 \cdot IDF_{devs}] \cdot C

VIM et développeurs

@matarld

Ce mot est vraiment intéressant pour notre recherche ?

\sum [TF \cdot IDF] \cdot C
IDF

Inverse Document Frequency (n.f)

@matarld

Nombre de documents contenants le mot "t"

IDF_t = 1+\log (\frac{N}{n(t)+1})

Nombre de documents

@matarld
IDF_t \approx \frac{N}{n(t)}
@matarld
= 2.5 \cdot C

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

IDF_{VIM} = 1.7
IDF_{et} = 0.8
IDF_{devs} = 1.3
IDF_{VIM} = 1.7
IDF_{et} = 0.8
IDF_{devs} = 1.3
S = [1 \cdot IDF_{VIM} + 1 \cdot IDF_{et}] \cdot C
= [1 \cdot 1.7 + 1 \cdot 0.8] \cdot C
= 3 \cdot C
S = [1 \cdot IDF_{VIM} + 1 \cdot IDF_{devs}] \cdot C
= [1 \cdot 1.7 + 1 \cdot 1.3] \cdot C
@matarld

VIM et développeurs

Récompense les documents avec le plus haut pourcentage de mots présents dans la requête

\sum [TF \cdot IDF] \cdot C
C
@matarld

Coordination Factor  (n.m)

Nombre de mots dans la requête

C = \frac{|Q_D|}{|Q|}

Nombre de mots de la requête dans le document

@matarld
= 1.6
S = 2.5 \cdot C = 2.5 \cdot \frac{2}{3}
= 2
S = 3 \cdot C = 3 \cdot \frac{2}{3}
@matarld

VIM et développeurs

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

C = \frac{2}{3}
C = \frac{2}{3}

1.6

2

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

\approx
@matarld

VIM et développeurs

Les Développeurs 🥰 développer avec,VIM!

@matarld

...

Les Développeurs 🥰 développer avec,VIM!
[token1]  [token2]  [token3]  [...]   

filtres de caractères

générateur de tokens

filtres de tokens

@matarld
un secret

Filtres de caractères:

xq vhfuhw
|| ||||||

html_strip, mapping, pattern_replace

@matarld

html_strip

Les Développeurs 🥰 développer avec,VIM!

filtres de caractères

Les Développeurs 🥰 développer avec,VIM!
||| ||||||||||||    |||||||||| ||||||||
@matarld
foo+bar=baz

Générateurs de tokens:

[foo]  [bar]  [baz]

letter, whitespace, simple_pattern, ...

@matarld

whitespace

Les Développeurs 🥰 développer avec,VIM!
[Les]  [Développeurs]  [🥰]  [développer]  [avec,VIM!]

générateurs de tokens

@matarld
[👍]  [and]  [D0WN]

Filtres de tokens:

[up]         [down]

synonym, phonetic, stopwords, ...

 |             |
@matarld

word_delimiter

[Les]  [Développeurs]  [🥰]  [développer]  [avec,VIM!]

filtres de tokens

[Les]  [Développeurs]  [🥰]  [développer]  [avec]  [VIM]
@matarld

lowercase

filtres de tokens

[Les]  [Développeurs]  [🥰]  [développer]  [avec] [VIM]
[les]  [développeurs]  [🥰]  [développer]  [avec] [vim]
@matarld

stopwords

filtres de tokens

[les]  [développeurs]  [🥰]  [développer]  [avec] [vim]
[développeurs]  [🥰]  [développer]  [vim]
@matarld

synonym

filtres de tokens

[développeurs]  [🥰]  [développer]  [vim]
[développeurs]  [aimer]  [développer]  [vim]
@matarld

stemmer

filtres de tokens

[développeurs]  [aimer]  [développer]  [vim]
[développ]  [aim]  [développ]  [vim]
@matarld

...

Les Développeurs 🥰 développer avec,VIM!
[développ]  [aim]  [développ]  [vim]
@matarld

Développer avec VIM, introduction pour développeurs débutants

VIM et nano, la comparaison

1.6

2

\approx
@matarld

VIM et développeurs

1.6

2

[1 \cdot 1.7 + 1 \cdot 0.8] \cdot \frac{2}{3} =
[1 \cdot 1.7 + 1 \cdot 1.3] \cdot \frac{2}{3} =
[VIM] [et] [nano]
[la] [comparaison]
[Développer] [avec] [VIM]
[introduction] [pour] [développeurs] [débutants]
\approx
@matarld

[VIM] [et] [développeurs]

\sum [TF \cdot IDF] \cdot C
[développ] [vim] [introduct] [développ] [début]
[vim] [nano] [compar]
[1 \cdot 1.7] \cdot \frac{1}{2} =

0.9

[1 \cdot 1.7 + \sqrt2 \cdot 1.3] \cdot \frac{2}{2} =

3.5

\lt
\approx
@matarld

[vim] [développ]

\sum [TF \cdot IDF] \cdot C
@matarld
@ElasticFR
@coopTilleuls

[Meetup] Elasticsearch

By Mathias Arlaud

[Meetup] Elasticsearch

  • 1,300