KWT-2024/lab/lab_08.ipynb

1 line
18 KiB
Plaintext
Raw Permalink Normal View History

2024-04-23 23:54:26 +02:00
{"cells":[{"cell_type":"markdown","id":"improved-register","metadata":{"id":"improved-register"},"source":["![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n","<div class=\"alert alert-block alert-info\">\n","<h1> Komputerowe wspomaganie tłumaczenia </h1>\n","<h2> 8. <i>Wykorzystanie tłumaczenia automatycznego we wspomaganiu tłumaczenia</i> [laboratoria]</h2>\n","<h3>Rafał Jaworski (2021)</h3>\n","</div>\n","\n","![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"]},{"cell_type":"markdown","id":"hungarian-davis","metadata":{"id":"hungarian-davis"},"source":["W dzisiejszych czasach, niezwykle ważną techniką wspomagania tłumaczenia jest użycie tłumaczenia maszynowego. Tekst źródłowy do tłumaczenia jest najpierw tłumaczony całkowicie autommatycznie, a następnie tłumacz ludzki dokonuje korekty wyniku. Technologia tłumaczenia maszynowego jest już na tyle dojrzała, że oferuje bardzo wysoką jakość wyników. Coraz częstsze stają się scenariusze, w których ludzka korekta to niemal całkowicie machinalne (sic!) zatwierdzanie wyników tłumaczenia maszynowego. Na dzisiejszych zajęciach poznamy techniki ewaluacji tłumaczenia maszynowego oraz sprawdzania jego przydatności w procesie wspomagania tłumaczenia ludzkiego."]},{"cell_type":"markdown","id":"posted-commons","metadata":{"id":"posted-commons"},"source":["Jakość tłumaczenia maszynowego możemy oceniać na dwóch niezależnych płaszczyznach: dokładność i płynność. Płynność jest subiektywnie odbieranym odczuciem, że czytany tekst jest napisany językiem naturalnym i zrozumiałym. Systemy tłumaczenia maszynowego oparte na uczeniu głębokim z wykorzystaniem sieci neuronowych osiągają duży stopień płynności tłumaczenia. Niestety jednak ich dokładność nie zawsze jest równie wysoka."]},{"cell_type":"markdown","id":"referenced-implement","metadata":{"id":"referenced-implement"},"source":["Dokładność tłumaczenia maszynowego jest parametrem, który łatwiej zmierzyć. Wartość takich pomiarów daje obraz tego, jaka jest faktyczna jakość tłumaczenia maszynowego i jaka jest jego potencjalna przydatność we wspomaganiu tłumaczenia."]},{"cell_type":"markdown","id":"disturbed-january","metadata":{"id":"disturbed-january"},"source":["Najczęściej stosowaną techniką oceny tłumaczenia maszynowego jest ocena BLEU. Do obliczenia tej oceny potrzebny jest wynik tłumaczenia maszynowego oraz referencyjne tłumaczenie ludzkie wysokiej jakości."]},{"cell_type":"markdown","id":"dental-combination","metadata":{"id":"dental-combination"},"source":["### Ćwiczenie 1: Zaimplementuj program do obliczania oceny BLEU dla korpusu w folderze data. Użyj implementacji BLEU z pakietu nltk. Dodatkowe wymaganie techniczne - napisz program tak, aby nie musiał rozpakwowywać pliku zip z korpusem na dysku."]},{"cell_type":"code","source":["from google.colab import drive\n","drive.mount('/content/drive')"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"FpVMcKJrs2jm","executionInfo":{"status":"ok","timestamp":1713854799184,"user_tz":-120,"elapsed":19056,"user":{"displayName":"Marek Susniak","userId":"08092059492340254190"}},"outputId":"fc788f33-ab41-4b9d-db93-0c34183cdedf"},"id":"FpVMcKJrs2jm","execution_count":4,"outputs":[{"output_type":"stream","name":"stdout","text":["Mounted at /content/drive\n"]}]},{"cell_type":"code","execution_count":11,"id":"moving-clothing","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"moving-clothing","executionInfo":{"status":"ok","timestamp":1713855713156,"user_tz":-120,"elapsed":260,"user":{"displayName":"Marek Susniak","userId":"08092059492340254190"}},"outputId":"81e04954-55a6-4291-f102-335aa6c2487b"},"outputs":[{"output_type":"stream","name":"stderr","text":["[nltk_data] Downloading package punkt to /root/nltk_data...\n","[nltk_data] Package punkt is already up-to-date!\n"]}],"source":["import zipfile\n","import nltk\n","from nltk.translate.bleu_score import corpus_bleu\n","from nltk import wo