2024-03-04 Subititles Project

Kopsavilkums

Sistēma paredzēta ātrai api.asya.ai rezultātu apskatei. Sistēma ir paredzēta gan klientiem, gan izstrādātājiem, kuriem ir nepieciešams ātri pārbaudīt api.asya.ai rezultātus. Sistēma atsūta epastu ar rezultātu linku un rezultātos vizuāli var pārbaudīt transkripcijas kvalitāti. Var redzēt ar ieraksta tēmu un kopsavilkumu. Ja izvēlas subtitru režīmu, var redzēt arī subtitrus kā SRT failu, kuru var lejupielādēt un testēt ar VLC player.

Test account pieeja: https://explorer.asya.ai u: evalds@asya.ai p: yug1niqg2HHwpEsmkIrA

GIT pieeja: (adrians un betija pievienoti) https://github.com/asya-ai/asya-api-explorer

image-20240304121932304

image-20240304121943374

 

Uzdevums

Demo jābūt funkcionējošam uz 4dienas rītu.

SRT paraugi pieejami šeit: https://nc.online.lv/index.php/s/exxbNkb9bd4TQzT

Tasks:

  1. Nepieciešams background workerī, kurš jau ir izveidots, sagatavot SRT failu 1.1. Nepieciešams sadalīt loģiski transkriptu tā, lai tas nebūtu aptuveni garāks par 2 rindām un ielīstu ekrānā, jāizmanto gan klusuma brīži, gan, kad mainās runātāji 1.2. Jāpielāgo, lai subtitri parādās īstajā brīdī ar laika zīmogiem (sazināties ar Mārci par API laika zīmogiem, tādiem jau tagad jābūt) 1.3. Iekļaut arī smieklu atpazīšanu un atbilstošā vietā ielikt tekstu ("Smiekli") (ja ir smiekli) - šis zemas prioritātes uzdevums, ja ir laiks

  2. Nepieciešams izveidot, ka failu, var lejupielādēt no pabeigta task atskaites skata un tabulas home page (ja task bija ar SRT)

  3. Izveidot ControllerMetrics, kas nomēra cik precīzi mūsu transkripti atbilst reālajiem subtitriem. Word error rate, character error rate, atbilstības procentuāli. Pārbaudīt gan atkarībā no tā kā dala subtitrus pa gabaliem, gan kopēji traksrriptu vienā rindā ņemot visu tekstu kopā. 3.1. task_view formā attēlot šos rād'tiājus, ja ir subtitri 3.2. Pārbaudīt, ka subtitri strādā ar VLC player un salīdzināt ar šiem Demo paraugiem: https://nc.online.lv/index.php/s/exxbNkb9bd4TQzT

  4. Refactoring uzdevumi

4.1. No ControllerPages iznest visus API izsaukumus uz api.asya.ai uz ControllerAPI

4.2. No API Git repo pārnest dataclasses_json, lai nebūtu jāstrādā ar magic dictionary, bet ar dataclass objektiem Nedrīkstētu būt tamlīdzīgs kods request_language = task_response["results"]["detected_language_code"] tā vietā jebkādai piekļuvei jābūt caur dataclass objektiem, piemēram request_language = task_response.results.detected_language_code

4.3. ControllerPages salabot /task-finished/<task_uuid> (task_uuid vispār nevajag, jo tas atnāk JSON POST body), lai apstrādā izmaiņas uzdevumos datu bāzē un tas nebūtu jādara workerim. Šeit tieši task progresa izmaiņas būtu jāapstrādā nevis SRT izveide. SRT tāpat izveidojam background workerī.

4.4. ControllerPages task_view pārtaisīt mazliet, lai iekārso katru bloku pēc runātāja.