L'instance data-computer utilise l'application ezmaster [lodex-workers`](https://github.com/Inist-CNRS/lodex-workers).
Elle offre plusieurs services asynchrones pour des calculs et de transformations de données simples.
Tous les services proposés acceptent uniquement en entrée des fichiers corpus standards au format tar.gz.
Il faut préciser dans le fichier de configuration de l'instance qu'elle utilise les paquets nodejs suivant :
@ezs/analytics@ezs/basicsBien sûr, les dernières versions sont préférables.
Exemple:
{
"packages": [
"@ezs/core@3.0.5",
"@ezs/analytics@2.1.0",
"@ezs/basics@2.5.3",
"@ezs/spawn@1.4.4"
]
}
Créer des segments glissant 2 à 2 de tous les éléments d'un tableau et agrège ces segments pour les compter.
Le segment étant glissant, ce traitement sert à créer des segments qui représente un arbre hiérachique.
par exemple avec ces données en entrée:
[
{ "value": ["a", "b", "c"] },
{ "value": ["a", "c", "d"] },
{ "value": ["a", "b", "d"] },
{ "value": ["a", "b", "c", "d"] },
{ "value": ["a", "c", "d", "e"] }
]
on obtiendra :
[
{"source":"a","target":"b","weight":3,"origin":["#1","#3","#4"]},
{"source":"b","target":"c","weight":2,"origin":["#1","#4"]},
{"source":"a","target":"c","weight":2,"origin":["#2","#5"]},
{"source":"c","target":"d","weight":3,"origin":["#2","#4","#5"]},
{"source":"b","target":"d","weight":1,"origin":["#3"]},
{"source":"d","target":"e","weight":1,"origin":["#5"]}
]
NOTE: Le service accepte des tableaux de tableaux (cas d'usage lodex/istex)
| nom | description |
|---|---|
| indent (true/false) | Indenter le résultat renvoyer immédiatement |
| nom | description |
|---|---|
| X-Hook | URL à appeler quand le résultat sera disponible (facultatif) |
# Send data for batch processing cat input.tar.gz |curl --data-binary @- -H "X-Hook: https://webhook.site/dce2fefa-9a72-4f76-96e5-059405a04f6c" "http://localhost:31976/v1/tree-segment" > output.json # When the corpus is processed, get the result cat output.json |curl --data-binary @- "http://localhost:31976/v1/retrieve" > output.tar.gz
Créer des segments 2 à 2 avex tous les éléments d'un tableau et agrège ces segments pour les compter Les segments reprsentent toutes la associations possibles, ce traitement sert à créer des segments qui représente un réesau.
par exemple avec ces données en entrée:
[
{ "value": ["a", "b", "c"] },
{ "value": ["a", "c", "d"] },
{ "value": ["a", "b", "d"] },
{ "value": ["a", "b", "c", "d"] },
{ "value": ["a", "c", "d", "e"] }
]
on obtiendra :
[
{"source":"a","target":"b","weight":3,"origin":["#1","#3","#4"]},
{"source":"a","target":"c","weight":4,"origin":["#1","#2","#4","#5"]},
{"source":"b","target":"c","weight":2,"origin":["#1","#4"]},
{"source":"a","target":"d","weight":4,"origin":["#2","#3","#4","#5"]},
{"source":"c","target":"d","weight":3,"origin":["#2","#4","#5"]},
{"source":"b","target":"d","weight":2,"origin":["#3","#4"]},
{"source":"a","target":"e","weight":1,"origin":["#5"]},
{"source":"c","target":"e","weight":1,"origin":["#5"]},
{"source":"d","target":"e","weight":1,"origin":["#5"]}
]
NOTE: Le service accepte des tableaux ou des tableaux de tableaux
| nom | description |
|---|---|
| indent (true/false) | Indenter le résultat renvoyer immédiatement |
| nom | description |
|---|---|
| X-Hook | URL à appeler quand le résultat sera disponible (facultatif) |
# Send data for batch processing cat input.tar.gz |curl --data-binary @- -H "X-Hook: https://webhook.site/dce2fefa-9a72-4f76-96e5-059405a04f6c" "http://localhost:31976/v1/graph-segment" > output.json # When the corpus is processed, get the result cat output.json |curl --data-binary @- "http://localhost:31976/v1/retrieve" > output.tar.gz
Créer à partir de l'ensemble des documents un champ "lda" constitué de 5 topics. Chaque topic contient un champ "word", qui est composé une liste de 10 mots qui sont les plus caractéristiques du topic, ainsi que d'un champ "weight" qui donne la probabilité que le document soit classé dans le topic. Le texte doit être en anglais ou en français.
Par exemple, pour un document pris dans un ensemble de document (l'id "85" est totalement arbitraire)
{"id": 85, "value": "L'anglais est souvent enseign\u00e9 comme langue seconde dans de nombreux pays \u00e0 travers le monde."}
On obtiendra :
{
"id": 85,
"value": "L'anglais est souvent enseign\u00e9 comme langue seconde dans de nombreux pays \u00e0 travers le monde.",
"lda": {
"topic_1": {
"words": [
"plus",
"nombreux",
"nombre",
"grand",
"philosophie",
"concept",
"physique",
"second",
"fondamentale",
"relativite"
],
"weight": "0.018401673"
},
"topic_2": {
"words": [
"revolution",
"concept",
"francaise",
"philosophie",
"comme",
"revolutionne",
"empereur",
"tels",
"stoicisme",
"vertu"
],
"weight": "0.01821572"
},
"topic_3": {
"words": [
"etatsunis",
"physique",
"philosophie",
"temps",
"principe",
"existence",
"histoire",
"siecle",
"trous",
"generale"
],
"weight": "0.01818413"
},
"topic_4": {
"words": [
"nombreux",
"postulat",
"mathematiques",
"domaines",
"algebre",
"anglaise",
"connu",
"theoreme",
"devenu",
"science"
],
"weight": "0.018459676"
},
"topic_5": {
"words": [
"anglais",
"production",
"connu",
"langue",
"litterature",
"nombreux",
"monde",
"revolutionne",
"travers",
"siecle"
],
"weight": "0.92673886"
}
}
}
NOTE : l'algorithme a besoin de beaucoup de documents pour fonctionner (plus d'une centaine), d'où la non exhaustivité de l'exemple.
| nom | description |
|---|---|
| indent (true/false) | Indenter le résultat renvoyer immédiatement |
| nom | description |
|---|---|
| X-Hook | URL à appeler quand le résultat sera disponible (facultatif) |
# Send data for batch processing cat input.tar.gz |curl --data-binary @- -H "X-Hook: https://webhook.site/dce2fefa-9a72-4f76-96e5-059405a04f6c" "http://localhost:31976/v1/lda" > output.json # When the corpus is processed, get the result cat output.json |curl --data-binary @- "http://localhost:31976/v1/retrieve" > output.tar.gz