User feedback to NLP services
NLP-API integration happened within #3.
We would like to provide the user the ability to give a feedback to the responses of our developed NLP services, so that we can consider the feedback in further experiments and offer better maintenance.
Currently the requirements are to obtain feedback for the following service:
- CS-NER
- Bioassays Semantification
For each we provide a particular feedback response schema needed to be used in an automated analysis script by the service maintainer/data analyst. Please consider that the schemas are similar to the response schemas of the respective service described in the OpenAPI Specification with a new feedback
field embedded.
The needed feedback
field within the response is described below:
Value | Meaning |
---|---|
ACCEPT |
The user accepted the provided entity. |
REJECT |
The user rejected the provided entity. |
ADD |
The user wants to add/suggest a new entity. The entity must have the same schema as the server already responded with. |
CS-NER:
{
"title": [
{
"concept": "some_concept",
"entities": [
{
"entity": "annotated entity",
"feedback": "ACCEPT" // or ADD or REJECT
}
]
}
],
"abstract": [
{
"concept": "some_concept",
"entities": [
{
"entity": "annotated entity",
"feedback": "ACCEPT" // or ADD or REJECT
}
]
}
]
}
Bioassays Semantifiaction
Case 1: Property is rejected == all its resources are rejected.
[
{
"property": {
"id": "some_id",
"label": "some_label",
"feedback": "REJECT" // <-- here
},
"resources": [
{
"id": "some_id",
"label": "some_label"
}
]
}
]
Case 2: New property is added == all its resources are added.
Here the frontend implementation would need to track the auto-generated property and resource id, which would be supplied in the response.
[
{
"property": {
"id": "some_id",
"label": "some_label",
"feedback": "ADD" // <-- here
},
"resources": [
{
"id": "some_id",
"label": "some_label"
}
]
}
]
Case 3: Property is accepted == its resources could have respective feedback
Here the frontend implementation would need to track the auto-generated resource id if a new resource is added, which would be supplied in the response.
[
{
"property": {
"id": "some_id",
"label": "some_label",
"feedback": "ACCEPT"
},
"resources": [
{
"id": "some_id",
"label": "some_label",
"feedback": "ACCEPT" // or ADD or REJECT
}
]
}
]