Confucius dan Margarita





pengantar



Ada banyak kompetisi dalam pembelajaran mesin, serta platform tempat mereka diadakan, untuk setiap selera. Tetapi tidak terlalu sering tema kontes adalah bahasa manusia dan pemrosesannya, bahkan lebih jarang kompetisi seperti itu dikaitkan dengan bahasa Rusia. Saya baru-baru ini mengikuti kompetisi terjemahan mesin China-Rusia di platform ML Boot Camp dari Mail.ru. Tidak memiliki banyak pengalaman dalam pemrograman kompetitif, dan setelah menghabiskan semua liburan Mei di rumah, berkat karantina, berhasil menempati posisi pertama. Saya akan mencoba membicarakan hal ini, serta tentang bahasa dan penggantian satu tugas dengan tugas lain di artikel.



Bab 1. Jangan Pernah Berbicara Bahasa Mandarin



Penulis kompetisi ini mengusulkan untuk membuat sistem terjemahan mesin untuk keperluan umum, karena terjemahan dari perusahaan besar dalam pasangan bahasa Mandarin-Rusia secara signifikan tertinggal di belakang pasangan yang lebih populer. Namun karena validasi pada berita dan fiksi, menjadi jelas bahwa perlu belajar dari korpus berita dan buku. Metrik untuk mengevaluasi transfer adalah standar BLEU . Metrik ini membandingkan terjemahan manusia dengan terjemahan mesin dan, secara kasar, memperkirakan kemiripan teks pada skala 100 poin karena jumlah kecocokan yang ditemukan. Bahasa Rusia kaya akan morfologinya, jadi metrik ini selalu terasa lebih rendah saat diterjemahkan ke dalamnya daripada ke bahasa dengan cara pembentukan kata yang lebih sedikit (misalnya, bahasa Roman - Prancis, Italia, dll.).



Siapa pun yang melakukan pembelajaran mesin tahu bahwa ini terutama tentang data dan pembersihannya. Mari kita mulai mencari mayat dan pada saat yang sama kita akan memahami belantara terjemahan mesin. Jadi, dalam jubah putih ...



Bab 2. Pon Tiy Pi Lat



Dalam jubah putih dengan lapisan berdarah, gaya berjalan kavaleri yang terseok-seok, kami naik ke mesin pencari di belakang korps paralel Rusia-Cina. Seperti yang akan kita pahami nanti, apa yang kita temukan tidak cukup, tapi untuk saat ini mari kita lihat temuan pertama kita (saya mengumpulkan kumpulan data yang saya temukan dan bersihkan dan meletakkannya di domain publik [1] ):





OPUS adalah korpus yang cukup besar dan beragam bahasa, mari kita lihat contoh darinya:

“Apa yang dia dan saya alami bahkan lebih tidak biasa daripada apa yang Anda alami ...”

我 与 她 的 比 比 你 的 经历 离奇 多



“Akan saya ceritakan.”

我 给 你 讲讲 这段 经历 ...



“ Kota kecil tempat saya lahir ... ”

我 出生 那座 小镇 ...


Seperti namanya, ini sebagian besar adalah subtitle untuk film dan acara TV. Sub judul TED termasuk dalam jenis yang sama , yang, setelah diurai dan dibersihkan, juga berubah menjadi korpus yang sepenuhnya paralel:



Beginilah hasil eksperimen historis kami dalam penghukuman:

这 就是 关于 我们 印象 中 的 惩戒 措施 的 不为人知 的 一面



anak muda takut bahwa setiap saat mereka dapat dihentikan, digeledah, ditahan.

年轻人 总是 担心 随时 会 被 截停、 搜身 和 逮捕



Dan tidak hanya di jalan, tapi juga di rumah sendiri,

无论 是 在 街上 街上
WikiMatrix adalah teks selaras LASER dari halaman Internet (yang disebut perayapan umum ) dalam berbagai bahasa, tetapi untuk tugas kami hanya ada sedikit, dan terlihat aneh:

Zbranki (Bahasa Ukraina

但 被 其 否认。



Tapi sebaiknya Anda berpuasa, jika Anda hanya tahu!

斋戒 对于 你们 更好, 如果 你们 知道。



Dia menolak pernyataan ini.

后来 这个 推论 被 否认。
Setelah tahap pertama pengambilan data, muncul pertanyaan dengan model kami. Apa saja alatnya dan bagaimana Anda mendekati tugas itu?



Ada kursus NLP yang sangat saya sukai dari MIPT di Stepic [2] , yang sangat berguna saat online, di mana sistem penerjemahan mesin juga dipahami di seminar, dan Anda menulisnya sendiri. Saya ingat kegembiraan bahwa jaringan tersebut, yang ditulis dari awal, setelah pelatihan di Colab, menghasilkan terjemahan Rusia yang memadai sebagai tanggapan atas teks Jerman. Kami membangun model kami di atas arsitektur transformator dengan mekanisme perhatian, yang pada suatu waktu menjadi ide terobosan [3] .



Tentu, pikiran pertama adalah "berikan model input data yang berbeda" dan menang sudah. Namun, seperti yang diketahui oleh setiap anak sekolah Tionghoa, tidak ada spasi dalam tulisan Tionghoa, dan model kami menerima kumpulan token sebagai masukan, yang berupa kata-kata di dalamnya. Perpustakaan seperti jieba dapat memecah teks China menjadi kata-kata dengan presisi tertentu. Menanamkan tokenisasi kata ke dalam model dan menjalankannya pada korpus yang ditemukan, saya mendapat BLEU sekitar 0,5 (dan skalanya 100 poin).



Bab 3. Mesin terjemahan dan mengeksposnya



Baseline resmi (solusi contoh sederhana tapi berfungsi) diusulkan untuk kompetisi, yang didasarkan pada OpenMNT . Ini adalah alat pembelajaran terjemahan sumber terbuka dengan banyak hyperparameter untuk memutar. Pada langkah ini, mari melatih dan menyimpulkan model melalui itu. Kami akan berlatih di platform kaggle, karena memberikan 40 jam pelatihan GPU secara gratis [4] .



Perlu dicatat bahwa saat ini hanya ada sedikit peserta dalam kompetisi yang, setelah memasukinya, seseorang dapat langsung masuk ke lima besar, dan ada alasan untuk itu. Format solusinya adalah container buruh pelabuhan, dimana folder dipasang selama proses inferensi, dan model harus membaca dari satu folder, dan meletakkan jawabannya di folder lain. Karena baseline resmi tidak dimulai (saya pribadi tidak langsung merakitnya) dan tanpa bobot, saya memutuskan untuk mengumpulkannya sendiri dan meletakkannya di domain publik [5]. Setelah itu, peserta mulai melamar dengan permintaan untuk menyusun solusi dengan benar dan secara umum membantu buruh pelabuhan. Moral, wadah adalah standar dalam perkembangan saat ini, gunakan mereka, atur dan sederhanakan hidup Anda (tidak semua orang setuju dengan pernyataan terakhir).



Sekarang mari tambahkan beberapa lagi ke tubuh yang ditemukan di langkah sebelumnya:





Yang pertama adalah kumpulan besar dokumen hukum dari pertemuan PBB. Ini tersedia, omong-omong, dalam semua bahasa resmi organisasi ini dan diselaraskan sesuai dengan proposal. Yang kedua bahkan lebih menarik, karena langsung merupakan korpus berita dengan satu kekhasan - bahasa Mandarin-Inggris. Fakta ini tidak mengganggu kami, karena terjemahan mesin modern dari bahasa Inggris ke bahasa Rusia sangat berkualitas tinggi, dan Amazon Translate, Google Translate, Bing, dan Yandex digunakan. Untuk kelengkapannya, kami akan menunjukkan contoh dari apa yang terjadi.



Dokumen PBB

.

它是一个低成本平台运转寿命较长且能在今后进一步发展。



.

报告特别详细描述了由参加者自己拟订的若干与该地区有关并涉及整个地区的项目计划。


UM-Corpus



Facebook menutup kesepakatan untuk membeli Little Eye Labs pada awal Januari.

1 月初 脸 书 完成 了 对 Little Eye Labs 的 收购 ,



Empat insinyur di Bangalore meluncurkan Little Eye Labs sekitar satu setengah tahun yang lalu

一年 半 以前 四位 工程师 在 班加罗尔 创办 了



Perusahaan membuat alat perangkat lunak untuk aplikasi seluler, kesepakatan akan menelan biaya antara $ 10 dan $ 15 juta.

该 公司 开发 移动 应用 软件 工具, 这次 交易 值 1000 到 1500 万 美元,


Jadi, bahan baru kami: OpenNMT + enklosur berkualitas tinggi + BPE (Anda dapat membaca tentang tokenisasi BPE di sini ). Kami berlatih, merakit ke dalam wadah, dan setelah debugging / pembersihan dan trik standar, kami mendapatkan BLEU 6.0 (skalanya masih 100 poin).



Bab 4. Naskah paralel tidak terbakar



Sampai saat ini, kami telah menyempurnakan model kami selangkah demi selangkah, dan keuntungan terbesar berasal dari penggunaan korpus berita, salah satu domain validasi. Selain berita, alangkah baiknya memiliki literatur. Setelah menghabiskan cukup banyak waktu, menjadi jelas bahwa terjemahan mesin dari buku-buku berbahasa Mandarin tanpa sistem populer tidak dapat menyediakan - Nastasia menjadi seperti Nostosi Filipauny dan Rogozhin - Rogo Wren . Nama-nama karakter biasanya merupakan persentase yang cukup besar dari keseluruhan karya, dan seringkali nama-nama ini jarang ditemukan, oleh karena itu, jika model belum pernah melihatnya, kemungkinan besar model tersebut tidak akan dapat menerjemahkannya dengan benar. Kita harus belajar dari buku.



Di sini kami mengganti tugas terjemahan dengan tugas perataan teks. Saya harus segera mengatakan bahwa saya paling menyukai bagian ini, karena saya sendiri suka mempelajari bahasa dan teks paralel dari buku dan cerita, menurut saya, ini adalah salah satu cara belajar yang paling produktif. Ada beberapa ide untuk penyelarasan, yang paling produktif ternyata menerjemahkan kalimat ke dalam ruang vektor dan menghitung jarak kosinus antara calon kepatuhan. Menerjemahkan sesuatu menjadi vektor disebut embedding, dalam hal ini kalimat embedding . Ada beberapa perpustakaan yang bagus untuk tujuan ini [6] . Saat memvisualisasikan hasilnya, terlihat bahwa teks bahasa Mandarin sedikit tergelincir karena fakta bahwa kalimat rumit dalam bahasa Rusia sering diterjemahkan menjadi dua atau tiga dalam bahasa Mandarin.







Setelah menemukan semua yang mungkin di Internet, dan meratakan buku sendiri, kami menambahkannya ke korpus kami.



Dia mengenakan setelan abu-abu yang mahal, asing, dengan warna jasnya, sepatu.

他 穿 一身 昂贵 的 灰色 西装 , 脚上 的 外国 皮鞋 也 与 西装 颜色 十分 协调。



Dia terkenal memeras baret abu - abu di telinganya, membawa tongkat dengan warna kepala pudel

.



Dia terlihat lebih dari empat puluh tahun.

看 模样 年纪 在 四十 开外。


Setelah pelatihan di gedung baru, BLEU berkembang menjadi 20 pada dataset publik dan menjadi 19,7 pada dataset pribadi. Ini juga berperan dalam fakta bahwa karya dari validasi jelas masuk ke pelatihan. Pada kenyataannya, ini tidak boleh dilakukan, ini disebut kebocoran, dan metrik tidak lagi bersifat indikatif.



Kesimpulan



Terjemahan mesin telah berkembang pesat dari heuristik dan metode statistik hingga jaringan saraf dan transformator. Saya senang saya dapat meluangkan waktu untuk mengenal topik ini, yang tentunya perlu mendapat perhatian dari komunitas. Saya ingin berterima kasih kepada penulis kompetisi dan peserta lain atas komunikasi yang menarik dan ide-ide baru!



[1] Korpora Rusia-Tionghoa Paralel

[2] Kursus Pemrosesan Bahasa Alami dari MIPT

[3] Artikel terobosan Perhatian adalah semua yang Anda butuhkan

[4] Laptop dengan contoh pembelajaran di kaggle

[5] Umum buruh pelabuhan umum

[6] Perpustakaan untuk kalimat multibahasa embeddings



All Articles