Keeletuvasti (Language Detector)¶
Keeletuvasti abil saab tuvastada valitud indeksi iga dokumendi keelt. Keeletuvasti kasutab langdetect python moodulit. Selle abil saab kiire ülevaate andmestikus esinevatest keeltest ning parsida edaspidi vaid kindlas keeles dokumente.
Loomine¶
Parameetrid¶
- description:
Keeletuvasti töönimi. See on vajalik vaid selleks, et eristada kõiki keeletuvasti töid antud projektis.
- indices:
Analüüsitavaid dokumente sisaldavad Elasticsearchi indeksid.NB! Indeksid peavad olema antud sõnastike järjendiga, kus võti = „name“ ja väärtus = <index_name>, nt:
[{"name": "my_dataset"}]
- fields:
Analüüsitavate väljade nimede järjend sõnedena.
- query:
Päring, millega võetakse indeksist analüüsimisse minevad dokumendid välja API-s peab päring olema formeeritud JSON sõnena. GUI-s saab kasutada salvestatud otsinguid. Vaikimisi on päring tühi ning sel juhul analüüsitakse kõiki dokumente valitud indeksi(te)s.
GUI¶
Keeletuvasti töö alustamiseks mine „Tools“ -> „Language Detector“ ja vajuta „CREATE“-nupule ülal vasakul.Ilmub uus aken pealkirjaga „Apply Language Detector task“. Täida vajalikud väljad ja vajuta „Create“-nupule all paremal nurgas (Joonis 58). Uus Keeletuvasti töö peaks nüüd ilmuna uue reana Keeletuvasti tööde nimekirja. (kui ei ilmu, proovi lehe värskendamist).
Kui töö on lõpetatud (staatus näitab „completed“), saab tulemusivaadata Searcheris. Keeleanalüüsi tulemus on talletatud`välja <field_concept>` <algne_väli>_mlp.language_detected
.
API¶
Otspunkt /api/v1/-le : /projects/{project_pk}/lang_index/
Otspunkt /api/v2/-le : /projects/{project_pk}/lang_index/
Näidis:
curl -X POST "http://localhost:8000/api/v2/projects/1/lang_index/" \
-H "accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Token 8229898dccf960714a9fa22662b214005aa2b049" \
-d '{
"indices": [{"name": "index_name"}],
"description": "job_description",
"field": "field_name_to_detect_on"
}'
Vastus:
{
"id": 6,
"url": "http://localhost:8000/api/v2/projects/1/lang_index/6/",
"author_username": "test_user",
"indices": [
{
"id": 3949,
"is_open": true,
"url": "http://localhost:8000/api/v2/elastic/index/3949/",
"name": "index_name",
"description": "",
"added_by": "test_user",
"test": true,
"source": "",
"client": "",
"domain": "",
"created_at": "2021-07-27T13:56:46.118000+03:00"
}
],
"description": "job_description",
"task": {
"id": 163542,
"status": "completed",
"progress": 100.0,
"step": "",
"errors": "[]",
"time_started": "2021-07-27T16:58:46.886043+03:00",
"last_update": null,
"time_completed": "2021-07-27T16:59:09.632845+03:00",
"total": 0,
"num_processed": 0
},
"query": "{\"query\": {\"match_all\": {}}}",
"field": "field_name_to_detect_on"
}