Samples a specific project and creates a separate sample per supplier. Use cases:
- Evaluate the quality of work done in a project and per supplier
- Evaluate supplier translation quality
- Evaluate supplier machine translation post editing quality
- Many more
Warning |
---|
This API method works best with multilingual projects, where the documents to translate are all assigned to the same suppliers (one per target language). If your project does not follow this simple assignment pattern, the method is not the best to be used. The method lets you sample translators, revisers or other workflow steps. |
How it works:
The system starts with analyzing all the jobs (see filters below) in the project. This gives the a list of the samples to create: One per language combination and assigned supplier.Now the system attempts to sample all suppliers to sample as well as the different language combinations.
The system now attempts to find segments that were worked on by all ALL the suppliers in the different languages. The system "attempts" to select the same segments for all the suppliers (in different languages). If there is no such "shared" segment, you will receive an error message.
If the suppliers did not work on the same documents, then the samples will of course not share the same segments.
URL
...
If shared segments are found, the system returns a list of samples. One per supplier and language combination. Each of these samples contain the same segments.
URL
(POST) /resources/segments/randomsample/new
...
The user must be authorized to access the project and all its content.
EXAMPLE 1
Here we want to sample translations done in a project. We expect one sample per supplier and language combination. If your project has 3 target languages and 1 translator for each language then we will obtain 3 samples. The condition here is that a segment shall only be retained if all translators were involved: The first for the first target language, the second for the second and the third for the third. If a segment was translated into just one target language, it is excluded. The idea is to sample the exact same segments for all the suppliers/languages. Given this condition, the system may not be able to sample your project if your suppliers did not work on the same segments.
...
Code Block |
---|
{ "samples": [ { "segments": 2, "words": 50, "src": "en", "trg": "es", "tsk": "TR", "cid": 102, "uid": null, "dsid": 1849, "pid": 1678, "result": { "rows": [], "docs": {}, "users": {} }, "columns": [ { "index": 0, "fkey": "1~en~0", "fkeyLayout": "1~en~0", "ftype": 1, "fqualifier": 0, "name": "Anglais", "loc": "en", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 1, "fkey": "1~es~0", "fkeyLayout": "1~es~0", "ftype": 1, "fqualifier": 0, "name": "Espagnol", "loc": "es", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 2, "fkey": "12~es~0", "fkeyLayout": "12~es~0", "ftype": 12, "fqualifier": 0, "name": "Revisions - Espagnol", "loc": "es", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 3, "fkey": "9~en~0", "fkeyLayout": "9~en~0", "ftype": 9, "fqualifier": 0, "name": "Comments - Anglais", "loc": "en", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 4, "fkey": "9~es~0", "fkeyLayout": "9~es~0", "ftype": 9, "fqualifier": 0, "name": "Comments - Espagnol", "loc": "es", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false } ] }, { "segments": 2, "words": 50, "src": "en", "trg": "fr", "tsk": "TR", "cid": 75, "uid": null, "dsid": 1849, "pid": 1678, "result": { "rows": [], "docs": {}, "users": {} }, "columns": [ { "index": 0, "fkey": "1~en~0", "fkeyLayout": "1~en~0", "ftype": 1, "fqualifier": 0, "name": "Anglais", "loc": "en", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 1, "fkey": "1~fr~0", "fkeyLayout": "1~fr~0", "ftype": 1, "fqualifier": 0, "name": "Français", "loc": "fr", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 2, "fkey": "12~fr~0", "fkeyLayout": "12~fr~0", "ftype": 12, "fqualifier": 0, "name": "Revisions - Français", "loc": "fr", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 3, "fkey": "9~en~0", "fkeyLayout": "9~en~0", "ftype": 9, "fqualifier": 0, "name": "Comments - Anglais", "loc": "en", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false }, { "index": 4, "fkey": "9~fr~0", "fkeyLayout": "9~fr~0", "ftype": 9, "fqualifier": 0, "name": "Comments - Français", "loc": "fr", "loc_rtl": false, "loc_cmplx": false, "loc_ea": false } ] } ] } |
...
EXAMPLE 2
If you sample work of translators in a project, you may get a result like the following:
Code Block |
---|
{
"error": {
"operation": null,
"date": "2018-08-01T16:41:25.1227825Z",
"title": "The list of candidate segments is empty. A sample cannot be created.",
"details": null,
"errorurl": null,
"messages": []
}
} |
This means that the system was simply not able to find any segment that was worked on by ALL suppliers in the project. For example, if you assign a document to 3 translators in 3 languages, the segments of this document are shared. However if a 4th translator works on a different document, then there is no single segment worked on by all 4 translators. You then get the message above.
To resolve this you would delimit the suppliers in your query (see the suppliers parameter).