README.md 2.05 KB
Newer Older
Prot Alexandre's avatar
Prot Alexandre committed
1 2
## Recherche d'informations web

Dos Santos David's avatar
Dos Santos David committed
3
### Lancement du programme
Prot Alexandre's avatar
Prot Alexandre committed
4

Dos Santos David's avatar
Dos Santos David committed
5 6 7 8 9 10 11 12 13 14 15
Pour lancer le programme en mode interactif :

```shell
$ # lancer le programme pour la collection stanford ou cacm
$ bin/gogole --collection <stanford|cacm>
```

#### Statistiques sur la collection

Vous pouvez ensuite :
* obtenir des statistiques sur les collections: nombre de tokens, taille du vocabulaire, loi de Heap et de Zipf :
Dos Santos David's avatar
Dos Santos David committed
16

Dos Santos David's avatar
Dos Santos David committed
17 18
```shell
gogole > analyze all
Prot Alexandre's avatar
Prot Alexandre committed
19
```
Dos Santos David's avatar
Dos Santos David committed
20 21 22 23 24

#### Opérations sur l'index

Sur l'index, vous pouvez :
* faire des opérations sur l'index. En général, la première opération dont on a besoin est la construction de l'index :
Dos Santos David's avatar
Dos Santos David committed
25

Dos Santos David's avatar
Dos Santos David committed
26 27
```shell
gogole > index build
Prot Alexandre's avatar
Prot Alexandre committed
28
```
Dos Santos David's avatar
Dos Santos David committed
29
Vous pouvez forcer la construction de l'index sans utiliser le cache :
Dos Santos David's avatar
Dos Santos David committed
30

Dos Santos David's avatar
Dos Santos David committed
31 32 33 34 35
```shell
gogole > index build --no-cache
```

Vous pouvez aussi rechercher les document ids dans lesquels aparait un mot :
Prot Alexandre's avatar
Prot Alexandre committed
36

Dos Santos David's avatar
Dos Santos David committed
37 38 39 40 41 42 43 44 45 46 47 48 49 50
```shell
gogole > index lookup <token>
```

#### Recherche

##### Recherche booléenne

La requête doit être en forme normale conjonctive. Par exemple `a OR b OR c AND d OR e` sera traité en `(a OR b OR c) AND (d OR e)`.

Pour effectuer une requête booléenne (attention l'index doit être construit à l'aide de `index build` auparavant):

```shell
gogole > search -b <query>
Prot Alexandre's avatar
Prot Alexandre committed
51
gogole > search --boolean <query>
Dos Santos David's avatar
Dos Santos David committed
52
```
Prot Alexandre's avatar
Prot Alexandre committed
53

Dos Santos David's avatar
Dos Santos David committed
54
##### Recherche vectorielle
Prot Alexandre's avatar
Prot Alexandre committed
55

Prot Alexandre's avatar
Prot Alexandre committed
56 57
La requête ne doit pas posséder de format spécifique, et va s'effectuer avec la pondération tf-idf par défaut:

Dos Santos David's avatar
Dos Santos David committed
58 59 60
```shell
gogole > search -v <query>
gogole > search --vectorial <query>
Prot Alexandre's avatar
Prot Alexandre committed
61
```
Prot Alexandre's avatar
Prot Alexandre committed
62 63 64 65 66 67 68 69

Il est également possible de spécifier la pondération utilisée:

```bash
gogole > search -v --tf-idf <query>       # tf-idf
gogole > search -v --norm-tf-idf <query>  # tf-idf normalisée
gogole > search -v --norm-freq <query>    # fréquences normalisées
```
70 71 72 73 74

#### Evaluation

Sur la collection cacm uniquement, il est possible d'évaluer la pertinence des recherches vectorielles effectuées avec les différentes pondérations.

75 76 77
```python
gogole > eval <n>      # where n is a number of queries to evaluate
```
78 79

NB: L'évaluation demande aussi d'avoir construit l'index avec la commande `index build`