diff --git a/data-computer/v1/lda-segment.ini b/data-computer/v1/lda-segment.ini new file mode 100644 index 0000000..f877e6b --- /dev/null +++ b/data-computer/v1/lda-segment.ini @@ -0,0 +1,65 @@ +# Entrypoint output format +mimeType = application/json + +# OpenAPI Documentation - JSON format (dot notation) +post.operationId = post-v1-lda-segment +post.description = Créer à partir de l'ensemble des documents un champ "lda" constitué de 5 topics eux-mêmes caractérisés par 10 mots. +post.summary = Classifie un ensemble de documents parmi 5 topics et créer des segment entre les mots et les topics. +post.tags.0 = data-computer +post.requestBody.content.application/x-tar.schema.type = string +post.requestBody.content.application/x-tar.schema.format = binary +post.requestBody.required = true +post.responses.default.description = Informations permettant de récupérer les données le moment venu +post.parameters.0.description = Indenter le JSON résultant +post.parameters.0.in = query +post.parameters.0.name = indent +post.parameters.0.schema.type = boolean +post.parameters.1.description = URL pour signaler que le traitement est terminé +post.parameters.1.in = header +post.parameters.1.name = X-Webhook-Success +post.parameters.1.schema.type = string +post.parameters.1.schema.format = uri +post.parameters.1.required = false +post.parameters.2.description = URL pour signaler que le traitement a échoué +post.parameters.2.in = header +post.parameters.2.name = X-Webhook-Failure +post.parameters.2.schema.type = string +post.parameters.2.schema.format = uri +post.parameters.2.required = false + +[env] +path = generator +value = lda + +[use] +plugin = basics +plugin = analytics +plugin = spawn + +# Step 1 (générique): Charger le fichier corpus +[delegate] +file = charger.cfg + +# Step 2 (générique): Traiter de manière asynchnore les items reçus +[fork] +standalone = true +logger = logger.cfg + +# Step 2.1 (spécifique): Lancer un calcul sur tous les items reçus +[fork/exec] +# command should be executable ! +command = ./v1/lda.py + +# Step 2.1.1 (spécifique): Propose un reformatage de sortie pour usage simplifier dans lodex +[fork/exchange] +value = get('value.topics').map((o, i) => _.zip(o.words, o.words_weights).map(x=>x.concat(i).concat(o.topic_weight))).flatten().map(y=> ({source: y[0], target: y[2], weight: y[1], origin: self.id})) +[fork/ungroup] + +# Step 2.2 (générique): Enregister le résulat et signaler que le traitment est fini +[fork/delegate] +file = recorder.cfg + +# Step 3 : Renvoyer immédiatement un seul élément indiquant comment récupérer le résulat quand il sera prêt +[delegate] +file = recipient.cfg +