Bahay Pag-iwas Ang tagasalin ng neural network ay mas mabilis, mas malapit, mas tumpak. Gagawin ng neural network ang mga pagsasalin sa Yandex.Browser na mas tama

Ang tagasalin ng neural network ay mas mabilis, mas malapit, mas tumpak. Gagawin ng neural network ang mga pagsasalin sa Yandex.Browser na mas tama

Mayroong higit sa kalahating bilyong kopya ng mga website na na-index ng mga search engine, at kabuuan mayroong sampu-sampung libong beses na mas maraming mga web page. Ang nilalaman sa wikang Ruso ay tumatagal ng 6% ng buong Internet.

Paano isalin ang nais na teksto nang mabilis at sa paraang mapangalagaan ang nilalayon na kahulugan ng may-akda. Ang mga lumang pamamaraan ng mga module ng pagsasalin ng nilalaman ng istatistika ay gumagana nang napakaduda, dahil... Imposibleng tumpak na matukoy ang declination ng mga salita, panahunan, atbp. Ang likas na katangian ng mga salita at ang mga koneksyon sa pagitan ng mga ito ay kumplikado, kung kaya't ang resulta kung minsan ay mukhang hindi natural.

Ngayon ang Yandex ay gumagamit ng awtomatikong pagsasalin ng makina, na magpapahusay sa kalidad ng resultang teksto. Maaari mong i-download ang pinakabagong opisyal na bersyon ng browser na may bagong built-in na pagsasalin.

Hybrid na pagsasalin ng mga parirala at salita

Ang Yandex browser ay ang tanging isa na maaaring magsalin ng isang pahina sa kabuuan, pati na rin ang mga salita at parirala nang paisa-isa. Ang function ay magiging lubhang kapaki-pakinabang para sa mga user na higit pa o mas kaunti ang nagmamay-ari Wikang banyaga, ngunit minsan ay nahaharap sa mga kahirapan sa pagsasalin.

Ang neural network na binuo sa mekanismo ng pagsasalin ng salita ay hindi palaging nakayanan ang mga nakatalagang gawain, dahil Napakahirap mag-embed ng mga bihirang salita sa teksto at gawin itong nababasa. Ngayon ang isang hybrid na paraan ay binuo sa application gamit ang mga lumang teknolohiya at mga bago.

Ang mekanismo ay ito: tinatanggap ng programa ang mga napiling pangungusap o salita, pagkatapos ay ibibigay ang mga ito sa parehong mga module ng neural network at sa statistical translator, at tinutukoy ng built-in na algorithm kung aling resulta ang mas mahusay at pagkatapos ay ibibigay ito sa user.

Tagasalin ng neural network

Ang banyagang nilalaman ay naka-format sa isang napaka-partikular na paraan:

  • ang mga unang titik ng mga salita sa mga heading ay nakasulat sa malalaking titik;
  • ang mga pangungusap ay binuo gamit ang pinasimple na gramatika, ang ilang mga salita ay tinanggal.

Ang mga menu ng nabigasyon sa mga website ay sinusuri na isinasaalang-alang ang kanilang lokasyon, halimbawa ang salitang Bumalik, wastong isinalin pabalik (bumalik), at hindi pabalik.

Upang isaalang-alang ang lahat ng nabanggit na mga tampok, ang mga developer ay nagsanay din ng isang neural network, na gumagamit na ng malaking hanay ng data ng teksto. Ngayon ang kalidad ng pagsasalin ay apektado ng lokasyon ng nilalaman at disenyo nito.

Mga resulta ng inilapat na pagsasalin

Ang kalidad ng pagsasalin ay maaaring masukat sa pamamagitan ng BLEU* algorithm, na naghahambing ng machine translation at propesyonal na pagsasalin. Marka ng kalidad mula 0 hanggang 100%.

Kung mas mahusay ang pagsasalin ng neural, mas mataas ang porsyento. Ayon sa algorithm na ito, ang browser ng Yandex ay nagsimulang magsalin ng 1.7 beses na mas mahusay.



Malayo na ang narating ng machine translation gamit ang mga neural network mula noong una siyentipikong pananaliksik sa paksang ito hanggang sa inanunsyo ng Google ang kumpletong paglipat ng serbisyo ng Google Translate sa malalim na pag-aaral.

Tulad ng nalalaman, ang neural translator ay batay sa mekanismo ng bidirectional recurrent neural network (Bidirectional Recurrent Neural Networks), na binuo sa mga kalkulasyon ng matrix, na nagpapahintulot sa pagbuo ng mas kumplikadong probabilistic na mga modelo kaysa sa statistical machine translators. Gayunpaman, palaging pinaniniwalaan na ang pagsasalin ng neural, tulad ng pagsasalin ng istatistika, ay nangangailangan ng parallel corpora ng mga teksto sa dalawang wika para sa pagsasanay. Ang isang neural network ay sinanay sa mga corpus na ito, na kinuha ang pagsasalin ng tao bilang isang sanggunian.

Tulad ng nangyari ngayon, ang mga neural network ay may kakayahang makabisado ang isang bagong wika para sa pagsasalin kahit na walang parallel corpus ng mga teksto! Dalawang papel sa paksang ito ang nai-publish sa preprint website arXiv.org.

“Isipin na binibigyan mo ang isang tao ng maraming aklat na Tsino at maraming aklat na Arabe - wala sa mga ito ang pareho - at ang taong ito ay natututong magsalin mula sa Tsino patungo sa Arabic. Parang imposible naman diba? Ngunit ipinakita namin na magagawa ito ng isang computer," sabi ni Mikel Artetxe, isang computer scientist sa Unibersidad ng Basque Country sa San Sebastian, Spain.

Karamihan sa mga neural network sa pagsasalin ng makina ay sinanay "na may isang guro," na isang parallel corpus ng mga teksto na isinalin ng isang tao. Sa panahon ng proseso ng pag-aaral, halos nagsasalita, ang neural network ay gumagawa ng isang pagpapalagay, sinusuri ang pamantayan, at ginagawa ang mga kinakailangang pagsasaayos sa mga system nito, pagkatapos ay natututo pa. Ang problema ay na para sa ilang mga wika ay walang malaking bilang ng mga parallel na teksto sa mundo, kaya hindi naa-access ang mga ito sa tradisyonal na machine translation neural network.


Ang "pangkalahatang wika" ng neural network ng Google Neural Machine Translation (GNMT). Sa kaliwang ilustrasyon iba't ibang Kulay Ang mga grupo ng mga kahulugan ng bawat salita ay ipinapakita, sa kanang ibaba - ang mga kahulugan ng salitang nakuha para dito mula sa iba't ibang wika ng tao: English, Korean at Japanese

Sa pagkakaroon ng pag-compile ng isang higanteng "atlas" para sa bawat wika, sinusubukan ng system na i-superimpose ang isang ganoong atlas sa isa pa - at narito na, mayroon kang ilang uri ng parallel text corpora na handa!

Ang mga disenyo ng dalawang iminungkahing hindi pinangangasiwaang mga arkitektura sa pag-aaral ay maihahambing.


Arkitektura ng iminungkahing sistema. Para sa bawat pangungusap sa L1, natututo ang system na magpalit ng dalawang hakbang: 1) pagpigil ng ingay(denoising), na nag-o-optimize sa posibilidad ng pag-encode ng maingay na bersyon ng isang pangungusap na may karaniwang encoder at muling pagbuo nito gamit ang L1 decoder; 2) baligtad na pagsasalin(back-translation) kapag ang isang pangungusap ay isinalin sa output mode (iyon ay, na-encode ng isang karaniwang encoder at na-decode ng isang L2 decoder), at pagkatapos ay ang posibilidad ng pag-encode ng isinaling pangungusap na ito sa isang karaniwang encoder at muling pagbuo ng orihinal na pangungusap ng Ang L1 decoder ay na-optimize. Paglalarawan: Michela Artetxe et al.


Iminungkahing arkitektura at mga layunin ng pagsasanay ng system (mula sa pangalawang gawaing siyentipiko). Ang arkitektura ay isang sentence-by-sentence translation model, kung saan parehong gumagana ang encoder at decoder sa dalawang wika, depende sa input language ID, na nagpapalit ng mga lookup table. Nangunguna (auto-encoding): Ang modelo ay sinanay na magsagawa ng denoising sa bawat domain. Ibaba (pagsasalin): tulad ng dati, kasama ang pag-encode namin mula sa ibang wika gamit bilang input ang pagsasalin na ginawa ng modelo sa nakaraang pag-ulit (asul na parihaba). Ang mga berdeng ellipse ay nagpapahiwatig ng mga termino sa function ng pagkawala. Paglalarawan: Guillaume Lampla et al.

pareho mga gawaing siyentipiko gumamit ng kapansin-pansing magkatulad na pamamaraan na may maliliit na pagkakaiba. Ngunit sa parehong mga kaso ang pagsasalin ay isinasagawa sa pamamagitan ng ilang intermediate na "wika" o, mas mabuting sabihin, isang intermediate na dimensyon o espasyo. Sa ngayon, ang mga hindi pinangangasiwaang neural network ay hindi nagpapakita ng napakataas na kalidad ng pagsasalin, ngunit sinasabi ng mga may-akda na madali itong mapapabuti kung gagamit ka ng kaunting tulong mula sa isang guro, hindi lang nila ito ginawa para sa kadalisayan ng eksperimento .

Mga akdang ipinakita para sa Komperensyang pang-internasyonal on learning representations 2018 (International Conference on Learning Representations). Wala pa sa mga artikulo ang nai-publish sa siyentipikong press.

Mayroong higit sa 630 milyong mga site sa modernong Internet, ngunit 6% lamang sa mga ito ang naglalaman ng nilalamang Russian-wika. Ang hadlang sa wika ay ang pangunahing problema ng pagpapakalat ng kaalaman sa pagitan ng mga gumagamit ng network, at naniniwala kami na kailangan itong malutas hindi lamang sa pamamagitan ng pagtuturo ng mga banyagang wika, kundi pati na rin sa pamamagitan ng paggamit ng awtomatikong pagsasalin ng makina sa browser.

Ngayon sasabihin namin sa mga mambabasa ng Habr ang tungkol sa dalawang mahahalagang pagbabago sa teknolohiya sa tagasalin ng Yandex Browser. Una, ang pagsasalin ng mga naka-highlight na salita at parirala ay gumagamit na ngayon ng hybrid na modelo, at ipapaalala namin sa iyo kung paano naiiba ang diskarteng ito sa paggamit ng mga purong neural network. Pangalawa, isinasaalang-alang na ngayon ng mga neural network ng tagasalin ang istruktura ng mga web page, ang mga tampok na pag-uusapan din natin sa ibaba ng hiwa.

Hybrid na tagasalin ng mga salita at parirala

Ang mga unang sistema ng pagsasalin ng makina ay batay sa mga diksyunaryo at tuntunin(esensyal na sulat-kamay na mga regular na character), na nagpasiya sa kalidad ng pagsasalin. Ang mga propesyonal na linguist ay nagtrabaho nang maraming taon upang bumuo ng mas detalyadong mga manu-manong panuntunan. Ang gawaing ito ay napakatagal na ang seryosong atensyon ay binayaran lamang sa pinakasikat na mga pares ng mga wika, ngunit kahit na sa loob ng mga ito ang mga makina ay hindi maganda ang trabaho. Ang buhay na wika ay napaka isang kumplikadong sistema, na hindi sumusunod sa mga tuntunin nang maayos. Mas mahirap ilarawan ang mga tuntunin ng pagsusulatan sa pagitan ng dalawang wika.

Ang tanging paraan para sa isang makina na patuloy na umangkop sa nagbabagong mga kundisyon ay upang matuto nang nakapag-iisa mula sa isang malaking bilang ng mga parallel na teksto (magkapareho sa kahulugan, ngunit nakasulat sa iba't ibang wika). Ito ang istatistikal na diskarte sa pagsasalin ng makina. Ang computer ay naghahambing ng mga parallel na teksto at independiyenteng kinikilala ang mga pattern.

U tagapagsalin ng istatistika may mga pakinabang at disadvantages. Sa isang banda, natatandaan niyang mabuti ang mga bihira at masalimuot na salita at parirala. Kung ang mga ito ay matatagpuan sa parallel na mga teksto, ang tagasalin ay maaalala ang mga ito at patuloy na magsasalin ng tama. Sa kabilang banda, ang resulta ng pagsasalin ay maaaring maging tulad ng isang natapos na palaisipan: ang kabuuang larawan ay tila malinaw, ngunit kung titingnang mabuti, makikita mo na ito ay binubuo ng magkakahiwalay na piraso. Ang dahilan ay ang tagapagsalin ay kumakatawan sa mga indibidwal na salita bilang mga pagkakakilanlan, na sa anumang paraan ay hindi nagpapakita ng kaugnayan sa pagitan ng mga ito. Ito ay hindi naaayon sa paraan ng karanasan ng mga tao sa wika, kung saan ang mga salita ay binibigyang kahulugan sa pamamagitan ng kung paano sila ginagamit, kung paano ito nauugnay at naiiba sa ibang mga salita.

Tumutulong sa paglutas ng problemang ito mga neural network. Ang pag-embed ng salita, na ginagamit sa pagsasalin ng neural machine, ay karaniwang iniuugnay ang bawat salita sa isang vector na ilang daang numero ang haba. Ang mga vector, hindi tulad ng mga simpleng identifier mula sa istatistikal na diskarte, ay nabuo kapag nagsasanay ng isang neural network at isinasaalang-alang ang mga relasyon sa pagitan ng mga salita. Halimbawa, maaaring makilala ng modelo na dahil ang "tsaa" at "kape" ay madalas na lumalabas sa magkatulad na konteksto, ang parehong mga salitang ito ay dapat na posible sa konteksto ng bagong salitang "spill," na, sabihin nating, isa lamang sa mga ito ang lumabas sa ang data ng pagsasanay.

Gayunpaman, ang proseso ng pag-aaral ng mga representasyon ng vector ay malinaw na mas hinihingi sa istatistika kaysa sa pag-uulit ng mga halimbawa. Bilang karagdagan, hindi malinaw kung ano ang gagawin sa mga pambihirang salita sa pag-input na hindi madalas na nangyari para sa network na bumuo ng isang katanggap-tanggap na representasyon ng vector para sa kanila. Sa sitwasyong ito, lohikal na pagsamahin ang parehong mga pamamaraan.

Mula noong nakaraang taon, gumagamit na ang Yandex.Translator hybrid na modelo. Kapag nakatanggap ang Translator ng text mula sa user, ibinibigay niya ito sa parehong mga system para sa pagsasalin - ang neural network at ang statistical translator. Ang isang algorithm, batay sa isang paraan ng pag-aaral, pagkatapos ay sinusuri kung aling pagsasalin ang mas mahusay. Kapag nagtatalaga ng rating, dose-dosenang mga salik ang isinasaalang-alang - mula sa haba ng pangungusap (ang mga maiikling parirala ay mas mahusay na isinalin ng istatistikal na modelo) hanggang sa syntax. Ang pagsasalin na kinikilala bilang ang pinakamahusay ay ipinapakita sa gumagamit.

Ito ang hybrid na modelo na ginagamit na ngayon sa Yandex.Browser, kapag ang user ay pumili ng mga partikular na salita at parirala sa pahina para sa pagsasalin.

Ang mode na ito ay partikular na maginhawa para sa mga karaniwang nagsasalita ng isang banyagang wika at nais na isalin lamang ang mga hindi kilalang salita. Ngunit kung, halimbawa, sa halip na ang karaniwang Ingles ay nakatagpo ka ng Chinese, kung gayon ay magiging mahirap gawin nang walang tagasalin sa bawat pahina. Tila ang pagkakaiba ay nasa dami lamang ng isinalin na teksto, ngunit hindi lahat ay napakasimple.

Tagasalin ng neural network ng mga web page

Mula sa panahon ng eksperimento sa Georgetown hanggang sa halos sa kasalukuyan, ang lahat ng machine translation system ay sinanay upang isalin ang bawat pangungusap pinagmulang teksto magkahiwalay. Habang ang isang web page ay hindi lamang isang hanay ng mga pangungusap, ngunit nakabalangkas na teksto na naglalaman ng mga pangunahing elemento. Tingnan natin ang mga pangunahing elemento ng karamihan sa mga pahina.

Heading. Karaniwang maliwanag at malalaking teksto na agad nating nakikita kapag pumapasok sa pahina. Ang headline ay kadalasang naglalaman ng esensya ng balita, kaya mahalagang isalin ito nang tama. Ngunit ito ay mahirap gawin, dahil walang sapat na teksto sa pamagat at nang hindi nauunawaan ang konteksto maaari kang magkamali. Sa kaso ng English, ito ay mas kumplikado dahil ang mga pamagat sa wikang Ingles ay kadalasang naglalaman ng mga parirala na may hindi kinaugalian na grammar, infinitive, o kahit na nawawalang mga pandiwa. Halimbawa, Inihayag ang prequel ng Game of Thrones.

Pag-navigate. Mga salita at parirala na tumutulong sa amin na mag-navigate sa site. Halimbawa, Bahay, Bumalik At Aking Account Halos hindi sulit ang pagsasalin bilang "Home", "Balik" at "Aking Account" kung ang mga ito ay matatagpuan sa menu ng site at hindi sa teksto ng publikasyon.

Pangunahing teksto. Ang lahat ay mas simple dito; kaunti lang ang pagkakaiba nito sa mga ordinaryong teksto at pangungusap na makikita natin sa mga aklat. Ngunit kahit dito, mahalagang tiyakin ang pagkakapare-pareho ng pagsasalin, ibig sabihin, upang matiyak na sa loob ng parehong web page ang parehong mga termino at konsepto ay isinalin sa parehong paraan.

Para sa mataas na kalidad na pagsasalin ng mga web page, hindi sapat na gumamit ng neural network o hybrid na modelo - kinakailangan ding isaalang-alang ang istruktura ng mga pahina. At para magawa ito kailangan naming harapin ang maraming problema sa teknolohiya.

Pag-uuri ng mga segment ng teksto. Upang gawin ito, muli naming ginagamit ang CatBoost at mga kadahilanan batay sa mismong teksto at sa HTML markup ng mga dokumento (tag, laki ng teksto, bilang ng mga link sa bawat yunit ng teksto, ...). Ang mga kadahilanan ay medyo magkakaiba, kaya naman ang CatBoost (batay sa gradient boosting) ay nagpapakita ng pinakamahusay na mga resulta (katumpakan ng pag-uuri sa itaas ng 95%). Ngunit ang pag-uuri lamang ng mga segment ay hindi sapat.

Baluktot na data. Ayon sa kaugalian, ang mga algorithm ng Yandex.Translator ay sinanay sa mga teksto mula sa Internet. Mukhang ito ay isang mainam na solusyon para sa pagsasanay ng isang tagasalin ng web page (sa madaling salita, ang network ay natututo mula sa mga teksto na katulad ng mga teksto kung saan natin ito gagamitin). Ngunit sa sandaling natutunan naming paghiwalayin ang iba't ibang mga segment sa isa't isa, natuklasan namin kawili-wiling tampok. Sa karaniwan, sa mga website, ang nilalaman ay kumukuha ng humigit-kumulang 85% ng lahat ng teksto, na may mga heading at navigation accounting para lamang sa 7.5%. Tandaan din na ang mga heading at mga elemento ng nabigasyon mismo ay kapansin-pansing naiiba sa istilo at gramatika mula sa natitirang bahagi ng teksto. Ang dalawang salik na ito nang magkasama ay humahantong sa problema ng data skew. Ito ay mas kumikita para sa isang neural network na balewalain lamang ang mga tampok ng mga segment na ito, na kung saan ay napakahina na kinakatawan sa set ng pagsasanay. Natututo ang network na isalin lamang ang pangunahing teksto nang maayos, kaya naman naghihirap ang kalidad ng pagsasalin ng mga heading at nabigasyon. Upang i-level out ang hindi kasiya-siyang epekto na ito, gumawa kami ng dalawang bagay: sa bawat pares ng magkatulad na mga pangungusap, itinalaga namin ang isa sa mga tatlong uri segment (nilalaman, pamagat o nabigasyon) at artipisyal na nadagdagan ang konsentrasyon ng huling dalawa sa training corpus sa 33% dahil sa ang katunayan na nagsimula silang magpakita ng mga katulad na halimbawa sa learning neural network nang mas madalas.

Multi-task learning. Dahil maaari na nating hatiin ang text sa mga web page sa tatlong klase ng mga segment, maaaring mukhang natural na ideya na sanayin ang tatlong magkakahiwalay na modelo, bawat isa ay hahawak sa pagsasalin ng ibang uri ng text—heading, navigation, o content. Gumagana talaga ito, ngunit mas gumagana ang scheme kung saan sinasanay namin ang isang neural network upang isalin ang lahat ng uri ng mga text nang sabay-sabay. Ang susi sa pag-unawa ay nakasalalay sa ideya ng mutli-task learning (MTL): kung mayroong panloob na koneksyon sa pagitan ng ilang mga gawain sa pag-aaral ng makina, kung gayon ang isang modelo na natututong lutasin ang mga gawaing ito nang sabay-sabay ay matututong lutasin ang bawat isa sa mga gawain nang mas mahusay. kaysa sa isang makitid na dalubhasang modelo!

Fine-tuning. Mayroon na kaming magandang machine translation, kaya hindi magandang magsanay ng bagong translator para sa Yandex.Browser mula sa simula. Mas lohikal na kumuha ng pangunahing sistema para sa pagsasalin ng mga ordinaryong teksto at sanayin ito upang gumana sa mga web page. Sa konteksto ng mga neural network, ito ay madalas na tinatawag na fine-tuning. Ngunit kung lapitan mo ang problemang ito nang direkta, i.e. Pasimulan lamang ang mga timbang ng neural network na may mga halaga mula sa natapos na modelo at simulan ang pag-aaral sa bagong data, pagkatapos ay maaari mong maranasan ang epekto ng paglilipat ng domain: habang umuusad ang pagsasanay, ang kalidad ng pagsasalin ng mga web page (in-domain) ay tataas, ngunit bababa ang kalidad ng pagsasalin ng mga regular (out-of-domain) ) na teksto. Upang mapupuksa ang hindi kanais-nais na tampok na ito, sa panahon ng karagdagang pagsasanay ay nagpapataw kami ng karagdagang paghihigpit sa neural network, na nagbabawal dito na baguhin ang mga timbang nang labis kumpara sa paunang estado.

Sa matematika, ito ay ipinahayag sa pamamagitan ng pagdaragdag ng isang termino sa function ng pagkawala, na kung saan ay ang distansya ng Kullback-Leibler (KL-divergence) sa pagitan ng mga distribusyon ng posibilidad ng pagbuo ng susunod na salita, na inisyu ng orihinal at karagdagang sinanay na mga network. Tulad ng makikita sa ilustrasyon, humahantong ito sa katotohanan na ang pagtaas sa kalidad ng pagsasalin ng mga web page ay hindi na humahantong sa pagkasira ng pagsasalin ng ordinaryong teksto.

Pag-polish ng mga parirala ng dalas mula sa nabigasyon. Habang nagtatrabaho sa isang bagong tagasalin, nakolekta namin ang mga istatistika sa mga teksto ng iba't ibang mga segment ng mga web page at nakakita ng isang bagay na kawili-wili. Ang mga tekstong nauugnay sa mga elemento ng nabigasyon ay lubos na na-standardize, kaya madalas ang mga ito ay binubuo ng parehong mga parirala sa template. Ito ay isang napakalakas na epekto na higit sa kalahati ng lahat ng mga parirala sa nabigasyon na matatagpuan sa Internet ay isinasaalang-alang ng 2 libo lamang sa mga pinakamadalas.

Siyempre, sinamantala namin ito at nagbigay ng ilang libong pinakakaraniwang parirala at ang mga pagsasalin ng mga ito sa aming mga tagasalin para sa pagpapatunay upang maging ganap na sigurado sa kanilang kalidad.

Mga panlabas na pagkakahanay. May isa pang mahalagang kinakailangan para sa tagasalin ng web page sa Browser - hindi nito dapat i-distort ang markup. Kapag ang mga HTML tag ay inilagay sa labas o sa mga hangganan ng pangungusap, walang mga problemang lilitaw. Ngunit kung sa loob ng pangungusap ay mayroong, halimbawa, dalawa may salungguhit mga salita, at sa pagsasalin ay gusto nating makita ang “dalawa may salungguhit mga salita". Yung. Bilang resulta ng paglipat, dalawang kundisyon ang dapat matugunan:

  1. Ang nakasalungguhit na fragment sa pagsasalin ay dapat na eksaktong tumutugma sa nakasalungguhit na fragment sa pinagmulang teksto.
  2. Ang pagkakapare-pareho ng pagsasalin sa mga hangganan ng may salungguhit na fragment ay hindi dapat labagin.
Upang makamit ang gawi na ito, isinasalin muna namin ang teksto gaya ng dati, at pagkatapos ay gumamit ng istatistikal na mga modelo ng pagkakahanay sa bawat salita upang matukoy ang mga tugma sa pagitan ng mga fragment ng pinagmulan at mga isinaling teksto. Nakakatulong ito upang maunawaan kung ano ang eksaktong kailangang bigyang-diin (sa mga italics, naka-format bilang isang hyperlink, ...).

Tagamasid ng intersection. Ang makapangyarihang mga modelo ng pagsasalin ng neural network na aming sinanay ay nangangailangan ng mas maraming mapagkukunan sa pag-compute sa aming mga server (parehong CPU at GPU) kaysa sa mga nakaraang henerasyon ng mga istatistikal na modelo. Kasabay nito, ang mga gumagamit ay hindi palaging nagbabasa ng mga pahina hanggang sa dulo, kaya ang pagpapadala ng lahat ng teksto ng mga web page sa cloud ay tila hindi kailangan. Upang makatipid ng mga mapagkukunan ng server at trapiko ng gumagamit, tinuruan namin ang Tagasalin na gamitin

o Ang dami ba ay nagiging kalidad?

Artikulo batay sa isang talumpati sa kumperensya ng RIF+KIB 2017.

Pagsasalin ng Neural Machine: bakit ngayon lang?

Ang mga neural network ay napag-usapan sa loob ng mahabang panahon, at tila ang isa sa mga klasikong problema ng artificial intelligence - pagsasalin ng makina - ay nagmamakaawa lamang na malutas batay sa teknolohiyang ito.

Gayunpaman, narito ang dynamics ng katanyagan sa mga paghahanap para sa mga query tungkol sa mga neural network sa pangkalahatan at tungkol sa neural machine translation sa partikular:

Malinaw na nakikita na hanggang kamakailan ay wala sa radar tungkol sa pagsasalin ng neural machine – at sa pagtatapos ng 2016, ipinakita ng ilang kumpanya ang kanilang mga bagong teknolohiya at machine translation system batay sa mga neural network, kabilang ang Google, Microsoft at SYSTRAN. Lumitaw sila nang halos sabay-sabay, ilang linggo o kahit na mga araw ang pagitan. Bakit ganon?

Upang masagot ang tanong na ito, kinakailangang maunawaan kung ano ang pagsasalin ng makina batay sa mga neural network at kung ano ang pangunahing pagkakaiba nito mula sa mga klasikal na sistema ng istatistika o analytical system na ginagamit ngayon para sa pagsasalin ng makina.

Ang neural translator ay batay sa isang mekanismo ng bidirectional recurrent neural network (Bidirectional Recurrent Neural Networks), na binuo sa mga kalkulasyon ng matrix, na nagbibigay-daan sa iyong bumuo ng mas kumplikadong probabilistic na mga modelo kaysa sa statistical machine translators.


Tulad ng istatistikal na pagsasalin, ang neural na pagsasalin ay nangangailangan ng mga parallel corpus para sa pagsasanay, na ginagawang posible na ihambing ang awtomatikong pagsasalin sa reference na "tao"; tanging sa proseso ng pag-aaral ay gumagana ito hindi sa mga indibidwal na parirala at kumbinasyon ng salita, ngunit sa buong pangungusap. Ang pangunahing problema ay ang pagsasanay sa naturang sistema ay nangangailangan ng higit na kapangyarihan sa pag-compute.

Upang pabilisin ang proseso, gumagamit ang mga developer ng mga GPU mula sa NVIDIA, pati na rin ang Tensor Processing Unit (TPU) ng Google, mga proprietary chip na partikular na inangkop para sa mga teknolohiya ng machine learning. Ang mga graphics chip ay unang na-optimize para sa mga algorithm ng pagkalkula ng matrix, at samakatuwid ang pakinabang ng pagganap ay 7-15 beses kumpara sa CPU.

Gayunpaman, ang pagsasanay sa isang neural na modelo ay tumatagal ng 1 hanggang 3 linggo, habang ang isang istatistikal na modelo na halos pareho ang laki ay tumatagal ng 1 hanggang 3 araw upang sanayin, at ang pagkakaibang ito ay tumataas habang lumalaki ang laki.

Gayunpaman, hindi lamang mga teknolohikal na problema ang humadlang sa pagbuo ng mga neural network sa konteksto ng gawain sa pagsasalin ng makina. Sa huli, posibleng sanayin ang mga modelo ng wika nang mas maaga, kahit na mas mabagal, ngunit walang mga pangunahing hadlang.

May papel din ang fashion para sa mga neural network. Maraming tao ang umuunlad sa loob, ngunit hindi sila nagmamadaling ipahayag ito, natatakot, marahil, na hindi nila matatanggap ang pagtaas ng kalidad na inaasahan ng lipunan mula sa pariralang Neural Networks. Ito ay maaaring ipaliwanag ang katotohanan na ang ilang mga neural translator ay inihayag nang sunud-sunod.

Kalidad ng pagsasalin: kaninong marka ng BLEU ang mas makapal?

Subukan nating maunawaan kung ang pagtaas sa kalidad ng pagsasalin ay tumutugma sa naipon na mga inaasahan at ang pagtaas ng mga gastos na kasama ng pagbuo at suporta ng mga neural network para sa pagsasalin.
Ang Google sa pananaliksik nito ay nagpapakita na ang neural machine translation ay nagbibigay ng Relative Improvement mula 58% hanggang 87%, depende sa pares ng wika, kumpara sa classical na statistical approach (o Phrase Based Machine Translation, PBMT, kung tawagin din ito).


Ang SYSTRAN ay nagsasagawa ng isang pag-aaral kung saan ang kalidad ng pagsasalin ay tinasa sa pamamagitan ng pagpili mula sa ilang ipinakita na mga opsyon na ginawa iba't ibang sistema, pati na rin ang "tao" na pagsasalin. At sinabi niya na ang kanyang neural translation ay mas gusto sa 46% ng mga kaso kaysa sa human translation.

Kalidad ng pagsasalin: may pambihirang tagumpay ba?

Kahit na ang Google ay nag-claim ng isang pagpapabuti ng 60% o higit pa, mayroong isang bahagyang catch sa figure na ito. Ang mga kinatawan ng kumpanya ay nagsasalita tungkol sa "Relative Improvement", iyon ay, kung gaano kalapit ang kanilang pinamamahalaan sa neural na diskarte sa kalidad ng Human Translation na may kaugnayan sa kung ano ang nasa klasikong istatistikal na tagasalin.


Ang mga eksperto sa industriya na nagsusuri ng mga resulta na ipinakita ng Google sa artikulong "Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation" ay medyo may pag-aalinlangan tungkol sa ipinakita na mga resulta at sinasabi na sa katunayan ang BLEU score ay napabuti lamang ng 10%, at kapansin-pansin ang makabuluhang pag-unlad kung kailan mga simpleng pagsubok mula sa Wikipedia, na malamang na ginamit sa proseso ng pagsasanay sa network.

Sa loob ng PROMT, regular naming ikinukumpara ang mga pagsasalin sa iba't ibang mga teksto ng aming mga system sa mga kakumpitensya, at samakatuwid palagi kaming may mga halimbawa na magagamit kung saan maaari naming suriin kung ang neural na pagsasalin ay talagang mas mataas kaysa sa nakaraang henerasyon gaya ng sinasabi ng mga manufacturer.

Orihinal na teksto (EN): Ang pag-aalala ay hindi kailanman nakatulong sa sinuman.
Google Translation PBMT: Walang nagawang mabuti sa sinuman nang hindi nag-aalala.
Google Translation NMT: Ang pag-aalala ay hindi kailanman nakatulong sa sinuman.

Sa pamamagitan ng paraan, ang pagsasalin ng parehong parirala sa Translate.Ru: "Ang pag-aalala ay hindi kailanman nagdala ng anumang benepisyo sa sinuman," maaari mong makita na ito ay at nananatiling pareho nang walang paggamit ng mga neural network.

Ang Microsoft Translator ay hindi rin nalalayo sa bagay na ito. Hindi tulad ng kanilang mga kasamahan mula sa Google, gumawa pa sila ng isang website kung saan maaari mong isalin at ihambing ang dalawang resulta: neural at pre-neural, upang matiyak na ang mga pahayag tungkol sa paglago sa kalidad ay hindi walang batayan.


Sa halimbawang ito, nakikita natin na mayroong pag-unlad, at ito ay talagang kapansin-pansin. Sa unang sulyap, tila totoo ang pahayag ng mga developer na halos nahuli na ng machine translation ang pagsasalin ng tao. Ngunit ito ba talaga, at ano ang ibig sabihin nito sa mga tuntunin ng praktikal na aplikasyon ng teknolohiya para sa negosyo?

SA pangkalahatang kaso Ang pagsasalin gamit ang mga neural network ay higit na mataas kaysa sa istatistikal na pagsasalin, at ang teknolohiyang ito ay may napakalaking potensyal para sa pag-unlad. Ngunit kung titingnan natin nang mabuti ang isyu, makikita natin na ang pag-unlad ay wala sa lahat, at hindi lahat ng mga gawain ay maaaring ilapat sa mga neural network nang hindi isinasaalang-alang ang mismong gawain.

Pagsasalin sa makina: ano ang mga hamon?

Mula sa awtomatikong tagasalin ang buong kasaysayan ng pagkakaroon nito - at ito ay higit sa 60 taon na! – inaasahan nila ang ilang uri ng mahika, iniisip ito bilang isang makina mula sa mga pelikulang science fiction na agad na ginagawang alien whistle at back ang anumang pananalita.

Sa katunayan, ang mga gawain ay dumarating sa iba't ibang antas, isa sa mga ito ay nagsasangkot ng "unibersal" o, kung sabihin, "araw-araw" na pagsasalin para sa pang-araw-araw na gawain at kadalian ng pag-unawa. Ang mga serbisyo sa online na pagsasalin at maraming mga mobile na produkto ay mahusay na nakayanan ang mga gawain sa antas na ito.

Kabilang sa mga naturang gawain ang:

Mabilis na pagsasalin ng mga salita at maikling teksto para sa iba't ibang layunin;
awtomatikong pagsasalin sa panahon ng komunikasyon sa mga forum, sa sa mga social network, mga mensahero;
awtomatikong pagsasalin kapag nagbabasa ng balita, mga artikulo sa Wikipedia;
tagasalin ng paglalakbay (mobile).

Lahat ng mga halimbawang iyon ng pagtaas ng kalidad ng pagsasalin gamit ang mga neural network na tinalakay namin sa itaas ay tiyak na nauugnay sa mga gawaing ito.

Gayunpaman, pagdating sa mga layunin at layunin ng negosyo tungkol sa pagsasalin ng makina, medyo naiiba ang mga bagay. Narito, halimbawa, ang ilan sa mga kinakailangan para sa mga corporate machine translation system:

Pagsasalin sulat sa negosyo kasama ang mga kliyente, kasosyo, mamumuhunan, dayuhang empleyado;
lokalisasyon ng mga website, online na tindahan, paglalarawan ng produkto, mga tagubilin;
pagsasalin ng nilalaman ng gumagamit (mga review, forum, blog);
ang kakayahang isama ang pagsasalin sa mga proseso ng negosyo at mga produkto at serbisyo ng software;
katumpakan ng pagsasalin sa pagsunod sa terminolohiya, pagiging kumpidensyal at seguridad.

Subukan nating unawain, gamit ang mga halimbawa, kung ang anumang mga problema sa negosyo sa pagsasalin ay malulutas gamit ang mga neural network at kung paano eksakto.

Kaso: Amadeus

Ang Amadeus ay isa sa pinakamalaking pandaigdigang sistema ng pamamahagi ng tiket sa eroplano. Sa isang banda, ang mga air carrier ay konektado dito, sa kabilang banda, ang mga ahensya na dapat tumanggap ng lahat ng impormasyon tungkol sa mga pagbabago sa real time at ihatid ito sa kanilang mga kliyente.

Ang gawain ay upang i-localize ang mga kondisyon para sa paglalapat ng mga taripa (Fare Rules), na awtomatikong nabuo sa sistema ng reserbasyon mula sa iba't ibang mga mapagkukunan. Ang mga panuntunang ito ay palaging nabuo sa wikang Ingles. Ang manu-manong pagsasalin ay halos imposible dito, dahil sa katotohanan na mayroong maraming impormasyon at madalas itong nagbabago. Nais basahin ng isang ahente ng tiket ng eroplano ang Mga Panuntunan sa Pamasahe sa Russian upang kaagad at mahusay na mapayuhan ang kanilang mga kliyente.

Ang isang malinaw na pagsasalin ay kinakailangan na nagbibigay ng kahulugan ng mga patakaran ng taripa, na isinasaalang-alang ang mga tipikal na termino at pagdadaglat. At nangangailangan ito ng awtomatikong pagsasalin upang direktang maisama sa sistema ng booking ng Amadeus.

→ Ang gawain at pagpapatupad ng proyekto ay inilarawan nang detalyado sa dokumento.

Subukan nating ihambing ang pagsasalin na ginawa sa pamamagitan ng PROMT Cloud API, na isinama sa Amadeus Fare Rules Translator, at ang "neural" na pagsasalin mula sa Google.

Orihinal: ROUND TRIP INSTANT PURCHASE FARES

PROMT (Analytical approach): MGA RATE PARA SA INSTANT NA PAGBILI NG ISANG ROUND FLIGHT

GNMT: PABILOG NA PAGBILI

Ito ay malinaw na ang neural translator ay hindi makayanan dito, at kaunti pa ay magiging malinaw kung bakit.

Kaso: TripAdvisor

Ang TripAdvisor ay isa sa pinakamalaking serbisyo sa paglalakbay sa mundo na hindi nangangailangan ng pagpapakilala. Ayon sa isang artikulo na inilathala ng The Telegraph, 165,600 bagong review ng iba't ibang mga tourist site sa iba't ibang wika ang lumalabas sa site araw-araw.

Ang gawain ay isalin ang mga review ng turista mula sa Ingles patungo sa Russian na may sapat na kalidad ng pagsasalin upang maunawaan ang kahulugan ng pagsusuri na ito. Ang pangunahing kahirapan: mga tipikal na feature ng content na binuo ng user (mga tekstong may mga error, typo, nawawalang mga salita).

Bahagi rin ng gawain ang awtomatikong tasahin ang kalidad ng pagsasalin bago ilathala sa website ng TripAdvisor. Dahil hindi posible ang manu-manong pagtatasa sa lahat ng isinalin na content, ang isang machine translation solution ay dapat magbigay ng awtomatikong marka ng kumpiyansa upang matiyak na ang TripAdvisor ay nag-publish lamang ng mataas na kalidad na mga isinaling review.

Para sa solusyon, ginamit ang teknolohiya ng PROMT DeepHybrid, na ginagawang posible na makakuha ng mas mataas na kalidad ng pagsasalin na naiintindihan ng end reader, kabilang ang sa pamamagitan ng istatistika pagkatapos ng pag-edit ng mga resulta ng pagsasalin.

Tingnan natin ang mga halimbawa:

Orihinal: Kumain kami doon kagabi sa isang kapritso at ito ay isang magandang pagkain. Ang serbisyo ay matulungin nang hindi labis.

PROMT (Hybrid translation): Kumain kami doon kagabi sa isang kapritso at ito ay isang napakasarap na pagkain. Ang mga tauhan ay matulungin nang hindi nagmamalabis.

GNMT: Kumain kami doon kagabi sa isang kapritso at ito ay isang napakasarap na pagkain. Ang serbisyo ay matulungin nang hindi mapang-akit.

Narito ang lahat ay hindi nakakapanlumo sa mga tuntunin ng kalidad tulad ng sa nakaraang halimbawa. At sa pangkalahatan, sa mga tuntunin ng mga parameter nito, ang problemang ito ay maaaring malutas gamit ang mga neural network, at ito ay maaari pang mapabuti ang kalidad ng pagsasalin.

Mga hamon sa paggamit ng NMT para sa negosyo

Gaya ng nabanggit kanina, ang isang "unibersal" na tagasalin ay hindi palaging nagbibigay ng katanggap-tanggap na kalidad at hindi maaaring suportahan ang mga partikular na terminolohiya. Upang isama at gamitin ang mga neural network para sa pagsasalin sa iyong mga proseso, kailangan mong matugunan ang mga pangunahing kinakailangan:

Ang pagkakaroon ng sapat na dami ng mga parallel na teksto upang makapagsanay ng neural network. Kadalasan ang customer ay kakaunti lamang sa kanila o walang mga teksto sa paksang ito na umiiral sa kalikasan. Maaaring inuri ang mga ito o nasa isang estado na hindi masyadong angkop para sa awtomatikong pagproseso.

Upang lumikha ng isang modelo, kailangan mo ng isang database na naglalaman ng hindi bababa sa 100 milyong mga token (mga paggamit ng salita), at upang makakuha ng pagsasalin ng higit pa o hindi gaanong katanggap-tanggap na kalidad - 500 milyong mga token. Hindi lahat ng kumpanya ay may ganoong dami ng mga materyales.

Availability ng isang mekanismo o mga algorithm para sa awtomatikong pagtatasa ng kalidad ng resulta na nakuha.

Sapat na kapangyarihan sa pag-compute.
Ang isang "unibersal" na neural translator ay kadalasang hindi angkop sa kalidad, at upang mai-deploy ang iyong sariling pribadong neural network na may kakayahang magbigay ng katanggap-tanggap na kalidad at bilis ng trabaho, isang "maliit na ulap" ay kinakailangan.

Hindi malinaw kung ano ang gagawin sa privacy.
Hindi lahat ng customer ay handang ibigay ang kanilang content para sa pagsasalin sa cloud para sa mga kadahilanang panseguridad, at ang NMT ay isang cloud-first story.

mga konklusyon

Sa pangkalahatan, ang awtomatikong pagsasalin ng neural ay gumagawa ng mga resulta ng mas mataas na kalidad kaysa sa isang "puro" na diskarte sa istatistika;
Ang awtomatikong pagsasalin sa pamamagitan ng isang neural network ay mas angkop para sa paglutas ng problema ng "unibersal na pagsasalin";
Wala sa mismong mga diskarte sa MT ang perpektong kasangkapan para sa paglutas ng anumang problema sa pagsasalin;
Upang malutas ang mga problema sa pagsasalin ng negosyo, tanging mga dalubhasang solusyon lamang ang makakagarantiya ng pagsunod sa lahat ng kinakailangan.

Dumating kami sa ganap na halata at lohikal na desisyon na para sa iyong mga gawain sa pagsasalin kailangan mong gamitin ang tagasalin na pinakaangkop para dito. Hindi mahalaga kung mayroong isang neural network sa loob o wala. Ang pag-unawa sa mismong gawain ay mas mahalaga.

Mga Tag: Magdagdag ng mga tag

09.14.2017, Huwebes, 14:19, oras ng Moscow , Teksto: Valeria Shmyrova

Sa serbisyo ng Yandex.Translator, bilang karagdagan sa pagsasalin ng istatistika, ang opsyon ng pagsasalin mula sa isang neural network ay naging available. Ang kalamangan nito ay gumagana ito sa buong mga pangungusap, mas mahusay na isinasaalang-alang ang konteksto at gumagawa ng pare-pareho, natural na teksto. Gayunpaman, kapag ang neural network ay hindi naiintindihan ang isang bagay, nagsisimula itong magpantasya.

Paglulunsad ng neural network

Ang serbisyo ng Yandex.Translator ay naglunsad ng neural network na tutulong sa pagpapabuti ng kalidad ng pagsasalin. Noong nakaraan, ang pagsasalin mula sa isang wika patungo sa isa pa ay isinasagawa gamit ang isang istatistikal na mekanismo. Ngayon ang proseso ay magiging hybrid: parehong ang istatistikal na modelo at ang neural network ay mag-aalok ng kanilang sariling bersyon ng pagsasalin. Pagkatapos nito, pipiliin ng CatBoost algorithm, na nakabatay sa machine learning, ang pinakamagandang resultang nakuha.

Sa ngayon, ang neural network ay nagsasagawa lamang ng pagsasalin mula sa Ingles patungo sa Russian at sa web na bersyon lamang ng serbisyo. Ayon sa kumpanya, sa Yandex.Translator mga kahilingan para sa English-Russian na pagsasalin ay bumubuo ng 80% ng lahat ng mga kahilingan. Sa mga darating na buwan, nilayon ng mga developer na ipakilala ang hybrid na modelo sa ibang mga lugar. Upang payagan ang user na ihambing ang mga pagsasalin mula sa iba't ibang mekanismo, isang espesyal na switch ang ibinigay.

Mga pagkakaiba mula sa statistical translator

Ang prinsipyo ng pagpapatakbo ng isang neural network ay naiiba sa istatistikal na modelo ng pagsasalin. Sa halip na isalin ang teksto sa bawat salita, pagpapahayag sa pamamagitan ng pagpapahayag, ito ay gumagana sa buong pangungusap nang hindi hinahati ang mga ito sa mga bahagi. Dahil dito, isinasaalang-alang ng pagsasalin ang konteksto at mas mahusay na naihatid ang kahulugan. Bilang karagdagan, ang isinaling pangungusap ay pare-pareho, natural, madaling basahin at maunawaan. Ayon sa mga nag-develop, maaaring mapagkamalan itong gawain ng isang tagapagsalin ng tao.

Ang pagsasalin ng neural network ay kahawig ng pagsasalin ng tao

Ang mga kakaiba ng neural network ay kinabibilangan ng tendensyang "magpantasya" kapag hindi nito naiintindihan ang isang bagay. Sa ganitong paraan sinusubukan niyang hulaan ang tamang pagsasalin.

Ang isang istatistikal na tagasalin ay may mga pakinabang nito: mas matagumpay niyang isinasalin ang mga bihirang salita at ekspresyon - hindi gaanong karaniwang mga pangalan, toponym, atbp. Bilang karagdagan, hindi siya nagpapantasya kung ang kahulugan ng isang pangungusap ay hindi malinaw. Ayon sa mga nag-develop, mas mahusay na nakayanan ng istatistikang modelo ang mga maikling parirala.

Iba pang mga mekanismo

Ang Yandex.Translator ay may isang espesyal na mekanismo na pinipino ang pagsasalin ng isang neural network, tulad ng pagsasalin ng isang istatistikal na tagasalin, pagwawasto ng mga hindi tugmang kumbinasyon ng mga salita at mga error sa pagbabaybay. Dahil dito, hindi makakakita ang user ng mga kumbinasyon tulad ng "pumunta si tatay" o " matinding sakit", tiniyak ng mga developer. Nakakamit ang epektong ito sa pamamagitan ng paghahambing ng pagsasalin sa modelo ng wika - lahat ng kaalaman tungkol sa wikang naipon ng system.

Sa mahihirap na kaso, ang neural network ay may posibilidad na magpantasya

Ang isang modelo ng wika ay naglalaman ng isang listahan ng mga salita at expression sa isang wika, pati na rin ang data sa dalas ng paggamit ng mga ito. Nakahanap ito ng application sa labas ng Yandex.Translator. Halimbawa, kapag gumagamit ng Yandex.Keyboard, siya ang nahuhulaan kung anong salita ang susunod na gustong i-type ng user at nag-aalok sa kanya ng mga handa na pagpipilian. Halimbawa, nauunawaan ng modelo ng wika na ang "kumusta, paano" ay malamang na susundan ng mga variant ng "ginagawa" o "ikaw."

Ano ang "Yandex.Translator"

"Ang Yandex.Translator ay isang serbisyo para sa pagsasalin ng mga teksto mula sa isang wika patungo sa isa pa mula sa kumpanya ng Yandex, na nagsimulang magtrabaho noong 2011. Sa una, ito ay gumagana lamang sa Russian, Ukrainian at English.

Sa panahon ng pagkakaroon ng serbisyo, ang bilang ng mga wika ay tumaas sa 94 na mga wika. Kabilang sa mga ito ay mayroon ding mga kakaiba, tulad ng tirintas o papiamento. Maaaring gawin ang pagsasalin sa pagitan ng alinmang dalawang wika.

Noong 2016, nagdagdag si Yandex.Translator ng isang kathang-isip at artipisyal na nilikhang wika na ginagamit ng mga duwende sa mga aklat ni J. R. R. Tolkien.



Bago sa site

>

Pinaka sikat