Newer
Older
web-services / authors-tools / README.md

# Authors-tools

URL du webservice : https://authors-tools-1.services.inist.fr.

Elle offre plusieurs services autour des auteurs dans les notices bibliographiques:

- `orcid-disambiguation`: octroie un orcid a un auteur si celui-ci existe dans l'API ORCID.
- `ml-orcid`: utilise des méthodes de Machine Learning pour désambigüsier un corpus co-écrit par un `nom d'auteurs` (à distinguer d'`auteur`)

## Configuration

Il faut préciser dans le fichier de configuration de l'instance qu'elle utilise des paquets nodes:

- `@ezs/analytics`
- `@ezs/basics`
- `@ezs/analytics`
- `@ezs/storage`

Bien sûr, les dernières versions sont préférables.

Exemple:

```json
{
    "packages": [
        "@ezs/analytics@1.13.0",
        "@ezs/basics@1.11.0",
        "@ezs/conditor@2.4.1",
        "@ezs/analytics@1.16.12"
    ]
}
```


## Utilisation

### v1/orcid-disambiguation

**Fichier d'entrée**
Un objet au format json représenté comme suite : 
```python
objet = {
        "id" : "0000-0002-8279-9690",
        "value" : {
            "authorname" : "Laurent DUPONT",
            "title" : "Applying a Living Lab Approach to Smart Grid Training Course Design",
            "affiliation" : "Université de Lorraine ERPI / ENSGSI: NANCY, FR ",
            "publication_date" : 2020       
    }
}
```
L'`id` peut prendre n'importe quel valeur qui permet d'identifier l'objet. Dans le cas ci-dessus, nous avons choisi l'Orcid de l'auteur.
`value` contient la notice. les champs de la notice qui seront traités sont : 
`authorname`, `title`, `affiliation`, `coauthors`, `ids`, `keywords`, `publication_date`, `journal`, `email`.

**NB** : Seul le champ authorname est obligatoire.

**Fichier de sortie**

On a  : 
```python
objet = {
        "id" : "000-0002-8279-9690",
        "value" : {
            "orcid": "000-0002-8279-9690"
            "score" : 0.23076923076923078,
}
```



<!-- cat authorname.json | curl --proxy "" -X POST --data-binary  @-  http://authorname-disambiguator-1.tdmservices.intra.inist.fr/orcid?indent=true -->



## ML disambiguation

**En cours d'élaboration**

<!-- 
La route de la ml-désambigüisation : `/ml`

### Fichier d'entrée : 
Un tableau de notices bibliographiques. Chaque notice doit contenir au moins les champs cités plus haut.


### Fichier de sortie : 
Un tableau d'objets. Ci-dessous, une illustration de cet objet.
```python 
objet = {
        "id" : "1",
        "value" : {
            "author" : 1,
} -->