Projekta mērķis ir izveidot mākslīgā intelektā balstītu produktu, līdzīgu kā visiem zināmais Grammarly, kuru varētu lietot, lai automātiski atrastu un salabotu komatu, rakstības, teikuma struktūras un stila kļūdas tieši latviešu valodas tekstā. Šobrīd pieejamie gramatikas labošanas risinājumi “Tildes birojs” programmatūra aprobežojas ar vārdu gramatikas labojumiem vai vienkāršiem pieturzīmju labojumiem, kuri balstīti uz likumiem. Vēl joprojām šie risinājumi pat nav spējīgi labot teikuma kļūdas saliktiem sakārtotiem teikumiem vai divdabja teicieniem. Taču ar mūsdienās pieejamiem risinājumiem mākslīgajā intelektā šādas kļūdas būtu ir iespējams izlabot.
Projektu plānots implementēt PyTorch matemātiskajā satvarā, kurš ir īpaši piemērots dziļās mašīnmācīšanās modeļu implementācijai. Izveidotos modeļus plānots apmācīt, izmantojot RTU HPC superdatoru un līdz ar projekta veikšanu plānots strādāt pie zinātniskām publikācijām. Projekta ietvaros plānots pielietot valodas modelēšanas uzdevumu ar nepārraudzīto apmācību. Tiks izmantoti Transformer tipa modeļi kā GPT-3, BERT u.c., kuri tiks pielāgoti latviešu valodas datu kopām. Tiks implementēta gan regresīva nākamo vārdu vai pieturzīmju prognozēšanas funkcija, gan vārdu un pieturzīmju maskēšanas funkcija. Iegūtos rezultātus plānots testēt arī ar runas atpazīšanas modeļiem, kurus piedāvā Tilde. Visbeidzot produktu plānots implementēt kā Python FastAPI servisu un tam izveidot ērtu lietotāju interfeisu, lai attēlotu iegūtos rezultātus. Lietotāju interfeisu plānots implementēt kā Web lietotni, izmantojot Python Flask. Lai implementētu Microsoft Word programatūras spraudni plānots izmanto Visual Studio, C# un .net vidi, bet Chrome interneta pārlūka spraudņa implementācijai plānots izmantot TypeScript un JavaScript.
PyTorch balstīts pieturzīmju un stila pārveidošanas modelis:
Sagatavot datu latviešu valodas korpusu datu kopas: LU un RTU maģistru un disertāciju darbi (8mil teikumi), latviešu grāmatu korpuss (50mil teikumi), latviešu wikipedia korpuss (6.2mil teikumi)
Augmentēt datus ar tipiskajām gramatikas un stila kļūdām, izmantojot algoritmus, kurus sastāda profesionāli latviešu valodas redaktori kā arī, ņemot datus no netīru datu avotiem, kā, piemēram, skolēnu ZPD darbi vai interneta portālu komentāri.
Implementēt dziļās apmācības modeli, izmantojot PyTorch, lai veiktu dabiskās valodas apstrādes uzdevumus, piemēram, gramatikas korekciju, teikumu aizpildīšanu un teksta stila pārnesi. Vēlams izmantot transformer, BERT tipa modeli, piemēram mT5.
Priekšapstrādājiet un tokenizējiet ievades teksta datus, izmantojot PyTorch iebūvētās funkcionalitātes. Vēlams izmantot torchtext.
Uzlabot un pielāgot modela arhitektūru, kas ietver rekurentus neironu tīklus, 1D konvolūciju neironu tīklus, transformerus, vārdu iegultnes vai to kombināciju.
Apmācīt modeli, izmantojot PyTorch apmācības un optimizācijas algoritmus, piemēram, Adamu, Radam.
Novērtēt modeli, izmantojot dažādas metrikus, piemēram, precizitāti, atgriešanos, un F1-score.
Samazināt modeļa apjomu, ievērojami nesamazinot metriku rezultātus, tā, lai to var uzstādīt uz mazjaudīgiem portatīviem datoriem.
TypeScript balstīts NodeJS serveris un Chrome spraudnis:
Izveidot REST API ar SwaggerUI, ExpressJS tīmekļa lietojumu, izmantojot TypeScript “Grāmatiņš” produktam.
Izmantot ReactJS un react-native kā priekšējās sistēmas pamatu un attīstītu lietotāja saskarni.
Izmantot WebSockets reāllaika sakaru nodrošināšanai starp klientu un serveri.
Izmantot TypeScript tipu pārbaudes funkcionalitātes, lai nodrošinātu tipu drošību un novērstu izpildlaika kļūdas.
Izmantot populāras bibliotēkas, piemēram, Redux vai MobX stāvokļa pārvaldībai un lietotāja interakciju apstrādei.
Izmantot CSS priekšapstrādētājus, piemēram, Sass vai Less, lai uzlabotu lietotāja saskarni un optimizētu stila proces
.net C# balstīts MS Word spraudnis:
Saderība: “Grāmatiņš” spraudnis ir saderīgs ar Microsoft Word operētājsistēmās Windows un macOS. Tas atbalsta Word 2016 un vēlākas versijas.
Instalēšana: Spraudni var instalēt, izmantojot Microsoft Office veikalu vai caur “Grāmatiņš” vietni. Lai uzstādītu to Windows, ir nepieciešamas administratīvās tiesības.
Lietotāja interfeiss: Spraudnis parādās kā atsevišķa cilne MS Word, ļaujot lietotājiem piekļūt tā funkcijām no Word interfeisa. Lietotāja interfeiss ietver iespējas ieslēgt vai izslēgt dažāda veida ieteikumus un skatīt papildu informāciju par sniegtajiem ieteikumiem.
Funkcijas: “Grāmatiņš” Word spraudnis piedāvā gramatikas, pareizrakstības un interpunkcijas pārbaudi, kā arī uzlabotas funkcijas, piemēram, stila ieteikumus, kontekstualizētus vārdu ieteikumus un žanra specifiskus rakstīšanas ieteikumus.
Veiktspēja: Spraudnis ir izstrādāts, lai darbotos nevainojami ar Word, nodrošinot reāllaika ieteikumus, kad lietotāji raksta. Tā arī ietver bezsaistes režīmu situācijās, kad nav pieejama interneta savienojuma.
Drošība: Spraudnis izmanto šifrēšanu, lai nodrošinātu, ka lietotāju dati ir aizsargāti, pārraidot tos uz un no “Grāmatiņa” serveriem. Turklāt lietotāju dati tiek anonimizēti un apkopoti, lai aizsargātu lietotāju privātumu.
Atjauninājumi: Spraudnis tiek regulāri atjaunināts, lai novērstu kļūmes un piedāvātu jaunas funkcijas. Atjauninājumi tiek automātiski instalēti fona režīmā, neprasa lietotāja iejaukšanos.
Šīs nodaļas sastādītas angliski, jo komandā visus materiālus parasti apkopojam angliski, jo visa terminoloģija un zinātniskie darbi ir šajā valodā, taču šos modeļus var un tie tiks pielietoti latviešu valodai.
Paper | Model | Dataset | Best result (Accuracy, f1, …) |
---|---|---|---|
(grammarly model) GECToR – Grammatical Error Correction: Tag, Not Rewrite: https://www.semanticscholar.org/paper/GECToR-%E2%80%93-Grammatical-Error-Correction%3A-Tag%2C-Not-Omelianchuk-Atrasevych/9f6b659033da6fff11da1af64fea7c0d728ab433 | Pretrained BERT transformer model. | Synthetic data: 9M parallel sentences with synthetically generated grammatical errors. Training data: National University of Singapore Corpus of Learner English (NUCLE); Lang-8 Corpus | |
of Learner English (Lang-8); FCE dataset; Write & Improve + LOCNESS Corpus; Evaluation dataset: CoNLL2014 test set | Precision - 77.5; Recall - 42.6; F_0_5 - 58.6; | ||
Improving Grammatical Error Correction via Pre-Training a | |||
Copy-Augmented Architecture with Unlabeled Data: https://www.semanticscholar.org/paper/Improving-Grammatical-Error-Correction-via-a-with-Zhao-Wang/f828b3c378434b8945c4e21472e7e2efa908b6eb | Denoising auto-encoder | Labeled - NUCLE, Lang-8 Unlabeled - One Billion Word Benchmark | Precision - 71.5; Recall - 38.6; F_0_5 - 61.1; |
A Multilayer Convolutional Encoder-Decoder Neural Network | |||
for Grammatical Error Correction:https://www.semanticscholar.org/paper/A-Multilayer-Convolutional-Encoder-Decoder-Neural-Chollampatt-Ng/6ed38b0cb510fa91434eb63ab464bee66c9323c6 | Multilayer Convolutional Encoder-Decoder | ||
Neural Network | Training: Lang-8, NUCLE Evaluation: CoNLL-2014 test set | Precision - 68.5; Recall - 33.1; F_0_5 - 54.7; | |
LM-Critic: | |||
Language Models for Unsupervised Grammatical Error Correction: https://www.semanticscholar.org/paper/LM-Critic%3A-Language-Models-for-Unsupervised-Error-Yasunaga-Leskovec/9cac09098aa611bd9a94d080d2401840632ab16f | GPT2 LM Critic model | Training: Unlabeled One-billion-word corpu dataset. Evaluation: CoNLL2014 test, BEA-2019 dev / test, GMEG-yahoo and GMEGwiki tests, | Precision - 64.4; Recall - 47.1; F_0_5 - 55.5; |
Mining Error Templates for Grammatical Error Correction: https://www.semanticscholar.org/paper/Mining-Error-Templates-for-Grammatical-Error-Zhang-Jiang/a4436ee59d7fb430a49fdc2d58f0a52b7a772f5b | Baseline GEC model + ET (Error Template) | Chinese language datasets: CTC-20216; NLPCC-2018; MuCGEC | Precision - 64.29; Recall - 67.28; F_0_5 - 59.21; |
Name | Publicaton | Year | Pretrained models | Data pairing | Code |
---|---|---|---|---|---|
So Different Yet So Alike! Constrained Unsupervised Text Style Transfer | https://aclanthology.org/2022.acl-long.32.pdf | 2022 | - | Described in 3.2.1. | https://github.com/abhinavkashyap/dct |
WIP | |||||
Efficient Reinforcement Learning for Unsupervised Controlled Text Generation | https://arxiv.org/pdf/2204.07696.pdf | 2022 | - | random / not described | - |
Civil Rephrases Of Toxic Texts With Self-Supervised Transformers | https://arxiv.org/pdf/2102.05456.pdf | 2021 | https://github.com/google-research/text-to-text-transfer-transformer#released-model-checkpoints | Described in 3 | https://github.com/LeoLaugier/conditional-auto-encoder-text-to-text-transfer-transformer |
Multi-Style Transfer with Discriminative Feedback on Disjoint Corpus | https://arxiv.org/pdf/2010.11578.pdf | 2021 | - | random / not described | - |
STYLEPTB: A Compositional Benchmark for Fine-grained Controllable Text Style Transfer | https://arxiv.org/pdf/2104.05196.pdf | 2021 | - | Figure 3 | https://github.com/lvyiwei1/StylePTB/ |
On Learning Text Style Transfer with Direct Rewards | https://arxiv.org/pdf/2010.12771.pdf | 2021 | - | Described in 3.1. | https://github.com/yixinL7/Direct-Style-Transfer |
Collaborative Learning of Bidirectional Decoders for Unsupervised Text Style Transfer | https://aclanthology.org/2021.emnlp-main.729.pdf | 2021 | - | Random / described in dataset details section | https://github.com/sunlight-ym/CBD_style_transfer |
Transductive Learning for Unsupervised Text Style Transfer | https://arxiv.org/pdf/2109.07812.pdf | 2021 | in repo | random / not described | https://github.com/xiaofei05/TSST |
Style Pooling: Automatic Text Style Obfuscation for Improved Classification Fairness | https://aclanthology.org/2021.emnlp-main.152.pdf | 2021 | in repo | Described in 3.2. | https://github.com/mireshghallah/style-pooling |
Generic resources are what you need: Style transfer tasks without task-specific parallel training data | https://arxiv.org/pdf/2109.04543.pdf | 2021 | in repo | Described in 4.2 | https://github.com/laihuiyuan/Generic-resources-for-TST |
Exploring Non-Autoregressive Text Style Transfer | https://aclanthology.org/2021.emnlp-main.730.pdf | 2021 | - | random / not described | https://github.com/sunlight-ym/nar_style_transfer |
Non-parallel text style transfer with domain adaptation and an attention model | https://link.springer.com/article/10.1007/s10489-020-02077-5 | 2021 | - | random / not described | https://github.com/mingxuan007/text-style-transfer-with-adversarial-network-and-domain-adaptation |