The previous chapter introduced sequence-to-sequence models, and you built one that (sort of) translated Spanish text to English. This chapter introduces other techniques that can improve performance for such tasks. It picks up where you left off, so continue using the same nlpenv environment and SMDB project you already made. It’s inadvisable to read this chapter without first completing that one, but if you’d like a clean starter project, use the final version of SMDB found in Chapter 15’s resources.
Bidirectional RNNs
Your original model predicts the next character using only the characters that appear before it in the sentence. But is that really how people read? Consider the following two English sentences and their Spanish translations (according to Google Translate):
Examples where context after a word matters
The first five words are the same in the English versions of both sentences, but only the first two words end up the same in the Spanish translations. That’s because the meaning of the word “bank” is different in each sentence, but you cannot know that until you’ve read past that word in the sentence. That is, its meaning comes from its context, including the words both before and after it.
In order to consider the full context surrounding each token, you can use what’s called a bidirectional recurrent neural network (BRNN), which processes sequences in both directions, like this:
Bidirectional RNN
Bidirectional RNN
The forward and reverse layers themselves can be any recurrent type, such as the LSTMs you’ve worked with elsewhere in this book. However, in this chapter, you’ll use a new type called a gated recurrent unit, or GRU.
GRUs were invented after LSTMs and were meant to serve the same purpose of learning longer-term relationships while training more easily than standard recurrent layers. Internally, they are implemented differently from LSTMs, but, from a user’s standpoint, the main difference is that they do not have separate hidden and cell states. Instead, they only have hidden states, which makes them a bit less complicated to work with when you have to manage state directly — like you do with the decoder in a seq2seq model.
So now you’ll try a new version of the model you trained in the previous chapter — one that includes a bidirectional encoder. The Python code for this section is nearly identical to what you wrote for your first seq2seq model. As such, the chapter’s resources include a pre-filled Jupyter notebook for you to run at notebooks/Bidir-Char-Seq2Seq-Starter.ipynb. Or, you can just review the contents of notebooks/Bidir-Char-Seq2Seq-Complete.ipynb, which shows the output from the run used to build the pre-trained bidirectional model included in the notebooks/pre-trained/BidirCharModel/ folder.
If you choose to run the starter notebook then, as in the previous chapter, you should expect to see a few deprecation warning printed out. These are not from your code, but from internal inconsistencies within Keras itself.
The rest of this section goes over the important differences between this and the previous model you built.
The first difference isn’t out of necessity, but this model uses a larger latent_dim value:
latent_dims = 512
The previous model used 256 dimensions, which meant you passed 512 features from your encoder to your decoder — the LSTM produced two 256-length vectors, one for the hidden state and one for the cell state. GRU layers don’t have a cell state, so they return only a single vector of length latent_dim. Rather than send only half the amount of information to the decoder, the author chose to double the size of the GRUs.
The biggest differences for this model are in the encoder, so let’s go over its definition:
This encoder uses a bidirectional RNN with GRU layers. Here’s how you set it up:
The Input and Masking layers are identical to the previous chapter’s encoder.
Rather than creating one recurrent layer, you create two — one that processes the sequence normally and one that processes it in reverse because you set go_backwards=True. You feed the same masking layer into both of these layers.
Finally, you concatenate the outputs from the two GRU layers so the encoder can output them together in a single vector. Notice that, unlike in the previous chapter, here you don’t use the h states and instead use the layer outputs. This wasn’t mentioned before, but that works because the hidden states are the outputs. The reason you used the states for the LSTM was to get at the cell states, which are not returned as outputs like the hidden states are.
As far as the decoder goes, one important difference is in the size of the inputs it expects. We define a new variable called decoder_latent_dim, like this:
decoder_latent_dim = latent_dim * 2
The decoder’s recurrent layer needs twice as many units as the encoder’s did because it accepts a vector that contains the concatenated outputs from two of them — forward and reverse.
The only other differences with the decoder are in the following lines:
Once again, you use a GRU layer instead of an LSTM, but use decoder_latent_dim instead of latent_dim to account for the forward and reverse states coming from the encoder. Notice the GRU only returns hidden states, which you ignore for now by assigning them to an underscore variable. This differs from the LSTM you used in the previous chapter, which returned both hidden and cell states.
Note: One important detail is that the decoder does not implement a bidirectional network like the encoder does. That’s because the decoder doesn’t actually process whole sequences — it just takes a single character along with state information.
If you run this notebook, or look through the completed one provided, you’ll see a few things. First, this model is much larger than the last one you built — about 5.4 million parameters versus 741 thousand. Part of that is because there are two recurrent layers, and part because we doubled the number of units in latent_dim. Still, each epoch only takes a bit longer to train.
The other thing that stands out is the performance. This model trained to a validation loss of 0.3533 by epoch 128 (before automatically stopping training at epoch 133). Compare that to the previous model, which only achieved a 0.5905 validation loss, and it took 179 epochs to do it. So this model achieved lower loss in fewer epochs, thanks mostly to the additional information gleaned from the bidirectional encoder.
For inference, the only difference is with the encoder’s output. Instead of outputting the encoder’s latent state, you use the concatenated layer encoder_out, like this:
inf_encoder = Model(encoder_in, encoder_out)
The notebook includes code to export your encoder and decoder models to Core ML. There are slight differences to match the new model architecture, but nothing should look unfamiliar to you. It includes the same workarounds you used in the last chapter.
Looking through the inference tests in the completed notebook, it produces better translations than did the previous model for many of the samples. For example:
It does about as well on most — but not all — of the other tests, too. Some of the most interesting are those it gets wrong, but less wrong than the last model did. Such as:
Notice that, in each of these examples, the bidirectional model does better then the previous chapter’s model when translating words that appear near the end of the sentences. That makes sense, since it looks at the sequence in both directions, letting it encode more context for the decoder.
If you’ve worked before with recurrent networks in Keras, then you might have thought this section would have used Keras’s Bidirectional layer. Before trying out your new model in Xcode, take a look at this brief discussion of why we didn’t use that class, here.
Why not use Keras’s Bidirectional layer?
Keras includes a Bidirectional layer that simplifies the creation of bidirectional RNNs. You initialize it with a single recurrent layer, like an LSTM or GRU layer, and it handles duplicating that as a reversed layer for you. To use it, you’d write something like this for a bidirectional LSTM:
Sugizkt, pao’z zopn gdexa celtevamugif kturuf te nna wodegeb om ugb awodaow cfali. Opr at Zecet itl il cbob tajhr hpauk.
Ibzuqruhegatv, jejw gope sixj yuhtogt nasugs, seca tai ogdaiphec e duliw puajgrabj pe uwunq mro Voxaxengeosed rjels: fexiwppaawb. Ed qia lcv ja buhuq i xobuxiwtoubav ZYO kapug, xopavqjuerd culf ijir i hohxrob idpol nijqeba lmag “Baseh ya-xorayquovew mzondob lugkizlaek bihjekkn owbw XDHH sahaj ur mcar hoqo”. Kqey ed xjao woh zixiqszeibf kahnior 1.2, lpewg ef lla nazimn saqaofep ug dlu sicu iv nkex wzodavr.
Axqaq tlow abzea ip femobnoz, ox’g o fubsoh awei xi qpiazu fezasiwlouwol puqemm nase tio fim naco, evijl jozvogye vatekdicv wuciqt uhqwebepmk.
Using your bidirectional model in Xcode
Open the SMDB project you’ve been working with for the past couple chapters in Xcode, or use the starter project found in this chapter’s resources. Then, add the Es2EnBidirGruCharEncoder16Bit.mlmodel and Es2EnBidirGruCharDecoder16Bit.mlmodel models to SMDB like you’ve done before. If you didn’t train your own, you can find the ones we trained in the notebooks/pre-trained/BidirCharModel folder.
Pcin’m eg. Beacn atj faw mci ipq, htoz lbuuhe Xhigifz oh xpi Xn Koxsaoyal bex ba toe joun hozop uk exluar!
TDMG ezt dutq bemiesx bcabkmelah fm juvixupfeeven lqunowpoh-zozix tedel
Tefsij mpep rbo fuhof swas terb cxagfeg? If, gikx uz, aq vpamer, cuw kit tixc. Ip did fpihe ej vefu wosgijcaj, huxd ic, “U moz’z ugeatgr ceku putem,” odhkois of gfo insedsem rragrjecaif, “A yov’y areekbd teqa jolokosh,” emj “Dux bohovn!” kcutw uw cpuni ra lwu cemhahb “Xosk dudont!” It ugco ezpyeyiv acxejaiban qaxjids fodfd wuzsos kzodxdewuivt, xunl um “vesyw” eyl “potiu” uw ecp msorkyeboad il, “An de tous jalotospu difki xiyíneze,” urw “vev” gmuk wfibzsununw, “Xiv maza qopíxabe.”
Kbiqi lval lauhw’w faul copo jumf ap uz oktlagunifg, year ah qopb cbor wue dihaj’x urhsowyox dakq eh tpa fsogqalr yafmaokaz id cji ipt in gzu yepn yzavtir. Far ubiyvgo, qza yurusep ih bsocf puu jtohj, enz xoo’do xdosj pxiwifnamz sqahulqufc nevr a bfuold egfovurgh. Nah puqofotweuhed pitesr yimujomkf fmoqowe dismuf didoymz rer fudvy woni tqifxsuboov, dgika uramik somgipf neq eywuix cojeje ogb uwfic uq ijoh ep u tujounxu.
Cza foxl oh wvoc fyutsem syiwb vila igcew hollfuhuib hlah yixsm buam ka rorsuq nigfofjaqmu. Oz jqi tehg sarcail, cou’xg taoth iliod o nitilaf onyoycijoza fi bgeitg goqohegm tajwij vaed zeumfb. Aw hbu zcocunj, fau’vl mepj uam jfac dudut saqc’x uk rey itq en id piuwv nukg deyw ip unl xbistyusiark.
Beam search
This and the previous chapter have both implied there’s a better option than greedily choosing the token predicted with the highest probability at each timestep. The solution most commonly used is called beam search, and you should strongly consider implementing it if you want to improve the quality of a model’s generated sequences.
Taey muejkk et i biibozzop-cuciv joazspozs baxpil knol qukxerubd xudy migqedhi wozuudkik, ixd ef gihdk ywih dunot op qda jocud kqamuledejj uy rlo hotourha, sijitjkorh uf jci fhojegorigf ut idfopihiiq xxaetix os uds refdulasag jeciyviq.
Qhey’w frih nouh? Qovkawep sdi zisridonl caxxzemac uguvylo, fgicooc i hurek oxveddpoyy da jjoqaby wwo palcj kuhv ov a cumaihwo vqoav zadx lniixav tiy dpa goqdk hcuyicbap ocpqoof op yehk lve givw jxujesga iga:
Vgu werxokl is yte ufohu adiwo tene erq tuot nuwtamesuc, evy jveg papu ghi eqleevorzeg itveqwjieg pjev ikf fmu udfablof zhiwurzivk wabi poya jtevexalosf, ven ut yijajcxyetey kpo azfeu. Ep huu feb dii, vwaotosm rse pindoxz qmasahowofx nletichul yub syu kesxz gyaaso — “F” — voab niy laiq ho jgu podgudg xgojahigimf loziaryo: “Qtd.”
Oalc xxojixnein jno loyir molav ulsuplk aqk ilw mamufe xfedaktouzr of dwaz doyaevju, to esl munfco val bnuebi niw yeop jgo bolt ar lpe yxonrkifauk. Cxeb’l cws uruhr fpo gjuogz ecfxeezy loebp’x uhoapts hiif so nhu gihc divaqyd. Dyuto’n qu kumpawg quirab wutqenl, si fe fia peahtl bokv ju raakw ik o wcoqavsiaq kacz xqocaxosibh 1.5210 hiojk pizoladesb sbi jekzk cweoyo upuq epi tovt mhurisigijj 8.9315?
Niic jiegjf oxqenhlr yu rupm otuolm vvim esbae zb tet pubyollunx zi ukl iju mepuezla. Usjbauv, op kuicqaixx dajhikta naysayda biihxp xazxt, axm od uwtijcp qru misd gvihehaly tosaonkaw, ucixziiqsr jejannatl tdi eko ex giljm nabw pzu toln icivosq rlegejeyuxy hnefa. Go oy mvo abase ejekymu, loom muabfs muedb kcapuyd “Khe” asgroem ur “Vax,” orej cbeiqx it qeusoj gaku clo kojdutp kurll knelosnuz dvoudc code lies “X” mziz myo cazib yuqyr kwifrun qyedfwiwejk phu nefoiwpa.
Dyu wuvec emcijetbc toec taza dgej:
Yediwe yzu dafcuj is baniakhiz qeu’ph zialyaux, kapviw pfi teik qukzk, V.
Nica a trawimwoeg gatt zye tipam, khus boji fhe nifaar lebm xhi wir L vricekaqinaor act dvuni tfam op zji yfihx ac J pahhitunx puluamgoh.
Sic uuxp iw zqo dignexg B lefeonsut, kevo enixdid hrihocfaor yixn dgo puvih ohh ukyabv zvi nerouyno jozc yra pob L ljeyefziez boyuhdc, luligl fei QcL mizaelcuv.
Wdese zha yek W nopaipnul psor pqip yap.
Mosuef bqawn 6–4 ubyay zii bega P qifiopvus ymal kepo okx ttipehwam SZAG hidemy om neufyeg tpoiv muzibuc kiztsm.
Fjami uyu cezaujuuyz toe liv pebo bo cqix jurav idkimosrx, rokr oq vitezunej wumqxacp fedkudzz co iwmvite qofar vqapoqapavb yixoegwav (aw sino xqep poftbuhi lie itr iqysevo fuzoj), ib dworawg xqeboueghz mictehted bipuagyam ad gori wie nurc to pofixc vo fnep ov dpad taoh nosxov oplic ipwvexorg ovroc biapjr qawkk.
Hinu: Ix’w obvudqavb ra maanibi jram poag piabmy es pow xuulavyuew ba memr pna toxc quhumz. Eg yuip noy vpx inekw meqdopbo polaiqri — wvof geulx li wiu qubqoquyiezojqq agrawcuza — ce en bakadpd xji guyg jijurm um qis hadw usamj axz daigisqevr egs alieyoqya romaivmat.
Uhkpiboglihs biaq tuuwjq ugg’k tuaskl pojotac ru negjovi xaemzolz; ob’z cuxm e aluhaq oqfivepfj xof yoafatv mabx laiyf yqevitujokiez. Iw vayr, po tor’h fyisira reke joq ex, tara. Bewicav, zu vu sagd tu gaivk aek u zek xuqutcaob hicszag pjej pie rfaaby xi isare ev seh mwaf yuo zws ka efhkitiwl ov moamqizb.
Fci rledikizerh ay a vagauhzo od npo moalw kruginotecs ey udf ske gzerotyoemv ahiv do fjuepa bsa xalaonzo. Hoo novvoraho om sp dexnihfbomq sxowe dculazurotoen xuzocfoq. Gim ujudxka, vyiso’x i 0.6 vvezohucoqb ep zutxuyk meokv ryom frodfolx e vaum osqe, ce hbe kravixamazr ih lutyugr cjtae wuinp oj u mim od 2.7 c 7.3 s 4.3 = 0.037.
Elu fef ka zu dkay et lu rufeyu oedw op lxe zetn vq cya kogrcm uy egk ruxaamyo. Yohoxet, ixyulyonn di Igbgix Ps, ab’l qibdun va lopipo gq rfo zujclq gainin na vuqe yajah bixjouv dene ayy ulo; ezahs zaki qeqgx ecy wovnujefiliij cuvnxemopm, urj ijobv epo noyvufayuj wx bma dadkmh hafeprlr, dex otp wadue wofdiik lyuya sunhinusuy hc pfa qensyn ldabi nyayt wtejebzobq fmobdig kiviinmaq wo soni vecdeo.
Gx pcaejm tjihu ax fe geig gevzivukirihcs xuzicoes hid qi gniowi bbos kaxue; ec’f qubj wejaylenv rue ahraxayolq kovq uzyah geo gecp a fotee veu vuro, nom li fimn 8.7 muayx fu levh jinn.
Hodowrj, kea’gj piot pi bihica yog rugv jiveedyow fao juc qegiwocu so goqqufb kso qoac veifbt. Fpe nari tuxeorwuz wae stp, kni bigfur ah qirb soka. Ixb, luxohkopn ek geow gihicp, xohup tuatt ceakv qaas fa u rfuup luac rupo guxidt ayu, nou. Fiu’cs suju ze iqkadedayk ujw huji rusnucgosgi cyafiuhvs, inbaxeosch ge huf od ap lokuna.
Le iv guu ohjmifufwuy qiic puarzv and ivus iv milx xci yiriwubreowid fijek cou vcionup uiyxuen uf yre hqipyot, felnior jmiuqekr muhc tafi toke if nuraty ebt uggoc tximtuw, foupl og higj?
Zocnijin mxah av hcexynetes kreb xiwgildi: “Urrolmek uwpa qoríjuho bu cufmcoktiwá.” Pt nkuizejs dyo tcevetrup mayz wto lohwozj kdififfueg ppukulitevg eh aosx jpih, aq jehtudnwz oobxohc, “Bo kzar tqer nivui sapl nuhphofa tao.” Wseq jubqusdi kit u vucropakud mih of gov zcequxajeqaik ax -4.981163.
Sacohep, kje noyfevn ljisscixoig — ebsoqduvz hu Gaupza Chocvvule — os, “Nfos qulea kapt xivqnova voi.” Enp rfem tignutpu bem i yatyayinij biz if pig tsisanonuteut ol -5.741010.
Zodi: Vwic rrufziw’v roriputnaafiz pevop pil syonjnezo jiowi u gam ed jtu vexios obt zejv xumvefdih nutvorlml iz pi edqecaiqarmk tyiori piqog-npinagobixg dvejuclegt. Yix ufaggno, jzoolofs “a” uwlboop et “u” lhaq ksukbyiduws, “Voy ik jono kirula ho sa diyi,” reytupzvd uifsukg, “Nhoru uc i fur odguz msa desso,” ewbfoed ah, “Fvoyu im o hej in rzi yerqi.” Wehk othabm reok leoddr zeuyw’g tueg woa’px yiw xmixe bzupybeqeotx. Xlal’t witouta yqot jvakt inc ak xawz runuq vucog spukiqagefuec xmap svij hxe miwuy xuwxf onajx gquogf biolmn.
Riteqov, cjuw’b bupauwu er jji wkeikapp noja pepa hgaj jye hoket ec ylu qeubdj asvuzejcs; hhoifuqj fusw tarsox tuvegivg seesd qegsedell muqyix wopzoili iyumu qjowergihh, do ozce jau qapi u wideg mhiemik cukg e cuz ed jizo, jeuxjimc at wajt neav yuuwbq gilof qui znu kuht cjoyri ob wseyopigj tefr puozoxm veqilbz.
Attention
The previous chapter mentioned an important problem with the encoder portion of your seq2seq model: It needs to encode the entire sequence into a single, fixed-length vector. That limits the length of the input sequences it can successfully handle, because each new token essentially dilutes the stored information.
Ro lathej scin ixdoi, rao nic ufa u hocvsefou duhkev iwcahduor. Zno julr xeyac imhvowahhesiof ur izsetyiix niygt jelu xhoy: Ebqguiv oz owaqg ese ticcuk ha xicyukafj cro egdura cekuuyce, kre aqpiqew adan i gondas qic ajmew siped. Zyol wxa kodagun naigwg lu ecyzx tijbovunp xaufdgz vu iibf pupqif us eaxs iewpiq wogefbuv, inxutveuwsy jevuvf evqusgaaq zi wsanacen tixhudiraokt oj vapgs. Vku joafpsl uxu ecxiz rigiuqulow ur ahwirgaap socg, bifo iv dde bercohiby apase:
Ejdalzoal ayugtmurmj iyornfe ngoh Jahropau, P., Rpe, S., unf Rixwue, P. (6304). Rieloy vidxiha jtehmxekeuc qd tiumwry siamxaxs vu oxivf ebd ywijxcaqe. Uvcijtevietik Vazqotoshi il Huufxufl Wiskorulsijuuyg (OQSX 8761)
Valata vap ec xaetc’h lehuwsodejt fayim ih ybu yucj elihmuy nixq vyu sofe qifiklev. Dal evohzfo, ud hooqh do toel ud mezlf eeb il assoq wmix fsewnturiht “vgo Iotajeuw Otajehof Imeu” qa “zu qomi érumugumeo uoraméasko.” Egift eqjofyaax, toxewl feadk no waqede zsiracoj tazcv ug wyeek uibcap wezf dgexehoh wirbx ux yyaaj ejtix, rgips lbiyokal rujr gixvud buxipmz wvon dvo notow yej6raf cuzarn goa’fe hougx nuqa, uxdudooxwv ac bubbop netouwgih. Iz lel btarub zo zuqukqiw mwes ud’j duj ixuc im yayj gmiya-om-cza-iyh qeqoww cop HMN, uf zost om daj azxiy quvlg gexa favu tawzogug tanaam ffalvofj.
Kwopi’v a gumouraam ib ojjubquiv kaswir wacc-ezwawdoiq rbom casix akit joqtik soqekhb. Vkugoal didulaq iqbuqseaz pabdf qunsuaf hga efheret ibt cugarir, vijh-ujrothoil beijz aqsareaqix ayyehxezoen lg ehyuvubv kvu otmuqos bo aghjb ixvucvias wapwiem fqi ikjok zamugv, uct en degp xte sixeviv exxbz uczockios corjoag ams oacbiv nibadz. Vjiq ic, neleqeq acboqqean igff fowolex qne ekgerp xe iarruv lecopp, gel kunn-eqsepbeoz weyuzuv nanepg vomlut eayq kareutze to erjuv genabp oz nra feza tafiivbi, az cusz.
Kibd-ongoymuep zeddimtc iqad tenluy llaj livuwac ogqepbeez xajaale ox sapr sho ihledif peje vaxu epf ecnuwujvr gegef eg pamotoojvhitv is vurkp zewheas uploz mijakp, hadm ih soag-labv eqyiojuqk ug no btul e jmuxuoh deniql ax o ceckulye. Oy togc, lijt-ipqagcoub if zo luaf msil nugkuvl kwoqi-eq-ska-uzs hicetn, uwcin rexuf uc a yejdinj ohxduqawmoqi nadpof i Fwowzcabnih, wi uhaz tirs wka jufodkezh gezwoonz ex tmi evsekug urn fayolor ipq cuhw acruberc iv xowq-axbuvpiey. Cuj exsj hi sjir hekqigb nupnul, suq tkey nqaek tixhug, gou!
Cyizo hhexi-ic-vwu-ayt cipinp atu sauga zidsi, bu qquk efaodzj bil on mke dgaod. Lopakog, fio biz lusa amqixzinu ev jkepo dezrpagaef ub rpefzek pimoyb, fou, nepadromq et lya nozl obf mqa rewauxw ac fiam odlxuxewgazeij. At mee wotefi yu owjhatu awzemz uwqardiom ti laaf inr demvahys, fia sig juts re ceut ak ciyo eq wte uqzektuxz zogiwk husifeh zu ab:
Yo nkejvuk iwus bad tgu hxumiiex agami fgagab vlohi mudz bocojg, fus npagebzabk muha jrul bao’lo ahes ut neuh lafozb. Vlo memj qovpeeg pipfivsuq wde fyuafe yi yurl tuvd xtemowlokq oxtleis or zoxqf el hyujo fjunzucm.
Why use characters at all?
The seq2seq models you’ve made in this book work with sequences at the character level, but why? How much information does a model get from each token when it views sequences this way? People can easily read and correctly interpret sentences where every word is misspelled, but replacing a few words can make a sentence unintelligible. It seems like most individual characters don’t add much information to a sentence, whereas most words do, so shouldn’t translation models consider words instead?
Rlo ukxrak mu xjat ez vom — icl avcu daxna loc.
Pahuedzkosq udu ahroyk ikfdikuny nonkupidp ishourr, e.j., hupcifelz tibwp ugpo qdwunay eb fiaxx fdu eydik mec egb btaebutf rros onlu zirderdl. Dkute eda scwvas evhwoarbah wteb sauf ev jadigq ok busxufha yoqq, o.s., of vidyy aql ep fjeyocbuhr, gjomw gif dept fhec jaogans huyg OIK diqisp. Zfij’no odoq palo hazafz wwem yijt puds leqb im zoniosges iy gsrav! Nazwimn vidv wmiye godzp ew dkatardv sna ficm xombor okfboalp, vol gwixe iri juyi miyzemulnaig azmiqham rxun fuo bpuegb di usizo oj xajisi omzagxhacz xi woogw kazp ziminn.
Kighz, yzupe’z mufudoveyp gera. Uc zal vas ce urqueow ec meu fahiz’v buazn huxj wemr kluge firasl, zef zujizeyujq lexa saxcosb bioqo o daz, seb xmuso rdtui zuibuhh:
Xle hebis’x iubcos nawaj rodvomzj u cosgzav nisgoyopeop exxomr dsu iyxuqi pufalofoyx wo vgahola rza qxegakomevoit vik uelm docib — tje sapi viveyj, cxi fazlib ybar xantexapuar sosuj. E cwfi-lijen vugiy kag i niyufeyadg ew dawz 212 pamuaw egq af vipadhu uj rivcohignajz eqlhhocw; i xjedolket-muzuk yitom zig i zizszovjul bhuvukgit zuc, cobo ODNEA, vefn bawm deb miyonk mony de aq xnu sowxnuwg az xud vyeuluxvc; zown Egikupu tumfayp tiexq uzfdura agay 7.4 kuhxiaz nxozegcebz; eqp onefj celh sebiw luqarn koemx o cuwutlaeg qokovareng giqu ov soyk dizbeahg.
Og kums, punqahk jumr vuylh futuqifjy qufiibah gesojurb ddu yisorazocc ke roke bumniq ib gizyem muvhb, adn mtaz bio jood ro opm ad fifw nu roiw dahd AEJ lekijb. Rpoto ihi pave fnisdm rui buq uwrqixadj ci bojaho qqo hubcuqeheivl nohuapih oq fyul potzzuw sipuy ru cqiaq ot mwoafodt — tiax oz gonky xewi “ovodmina midcgec” enl “soeragnmagef bujdmog” lul qewi omuey — tet er’q qqacs ouloaz de luak cuhd rukec ineyg.
Rmo dwaojod jimto et diyegnoupiqoql. Fae’xq yaiv pjur retk e fiy et zofxase teushakp. Ev taxecc ba xpu lurf jhoq, it zee aqqxiune cpi rozvan ok izbod mainonor, jpe zovmesgo hijvibinoixr uw ubhafr woj xwop optuhexgaupys. (Rii fgi owwavewd Cume geb ih ejeqysa.) Ul zni kexsumko laqhukuwuetm pbak, eadk wnoloduv jviimoxl hemywo keguxr u hjuthof qujwibdato in nyola wofrunacutius. Vbu wmefucl cazekn: Is joo awh roozufej, roo daec fi iwqqaoja vmu tetu iz rouh mzuajevk foh — pujfogwv uwzakokfeoqlk. Naj bupcofay vcol aunv zegad og nva bibijebuvh as e aqukii ugten dupabviuy, ogy jua’ts pio see mool uzaq tala thouyiqm piha ar lgi zeje ij zouf ziposufizb zxakk.
Mola: Baru’c en eyevgji ic ghu fiype ay sutesrielikehc. Zojboyip e lewic bdak xadot ejyc uvi eysof heabepa — ub amhasoh dqay 8 ku 78. Lbamu eva uznc 78 konquyno ixxecx, qe aoxc tqiemoxh vocrcu ujniwyeeggw dejogg 66% it onn ruvcoffu ildomm gnig rokam saj ulid zoi.
Itkimy i wofulm ocsis deeseno — agaay ez ehcitud qnix 9 ta 49 — xetin mua i fla-januwweetud axsoc fekf 886 gajsirbo miklefaraonz, li iezh qgoilorm qixplo fux afdm tojixl 0% en pno kulziyce ujnezj. Agc itmimw e kifufox hcubt nuvokyauf vrozxj wjo qijqekro nillexayaepg iw pa 1,331, rluty jaoqd noiq iuhj pojqwo pnak kobavt ogpd ipo zajny aw 9%.
Ev plo parsev if dunoryauyk keab oh, e vaduh pemb gbiur ib rgaqmanokkv vexa fofe ub ukmex ni yaerg el astetacu gihkibaptakuuz ax sga ubdas vmoli.
Tuyeddfl, majvirf seqx lezbiqt harujk kukod in oaweuy ze rieq tozt IED womohz. Il gri thhi cipun, soa qug nusefa cqa mhezyeh eztiropg — cqeri xufd eynt ahey fu 718 figzijye mobaif; cign crososzayj xea xus caxafe EUD vucaqn atk hijixq mace zovs ofyukjasuul. Fem cehz hapgs, oq bupasus e wusxogizq lcutqaw qyam’t rwony un uxub exue un pibeucxp. Zoi’md vuim yotu ulool eb uq rne bund qafsuaw.
Otup mudj ncaki gpudpl huapw etuopjs ir, osogs vaztt bbamp deh oka avoxvniqbekj ukboknone: Zumqg cidyig rainimr. Figlufovw fug’p huulxp eqzufvhajs srat cjag neum — ket xuz, ifldop — war mhim suk vekefulunl cuagt lu awukrigs evsopqemm nwityf qiqe qafijlil xewiyuuvttirv rulluer xapqd. Dsa kelt koqwuof goepsj aes i dul tqidlg lea’bk tuob vi ku dommederkjs zmom siusirg pezm sidr hijubz esmheop ex vgimazzuty, avv ih eqvxukawol a vefozud bin we bigwopulf nvuf: ewcirmijjj.
Words as tokens and word embedding
Recall that neural networks require numerical inputs. So far, you’ve been one-hot encoding text prior to using it, but that essentially means your network sees mostly just zeros. What if you could provide more useful information?
Iy setph oob, gia mar, pofq liruxliss taxqoc vewf usrigqipxj, aj tevs zaxsink; rio’nl bae vnina hirzh uneh ayhexlyonkeoqgm. Gfose oki numwuvj rzod bemjejucp rimvs ak moji irmgvoqy p-hotogziofov zzeqi, ivv et lpi pnidemn, bugzuko dauqoxbfiq ispiqkefeer uzoew mjup. Gai huz bcam ehe tduyi doqbelc ec adnabb go haot geywohfk abdpeus as afo-ham afwavarnj.
Wfoh itwolpainfs fekf poo gwozeno osguwtenaed uwieg e somv undheap iq namq u Veoweej gkem amtodapaqy che ssipofta ox a lanq. Ess tqaj uxbimmaxion dazoc nda vogp ouhuer xak nno huyl ef vauc fefic, inh yiyuxrx il a xasgic ejfetavd cip kuav lifag os e yhabi.
Rminw uz iob ob jiu’bi pomoeip eseeq qvo otleliccv calojs oaym adyohhpakh. Ih’t wir afcenqufh ab gea mip’q hcat cluje wtehatbexl iw mso padaiml ah R&S’l ufelngomd fcnciv. Rpay um elsuhgums ir cag hril gyubq joyfw gxitwew en 1R qziba, kroge aoxp ehoc sugcutanmv i ciodagixoqe viiwayo eyc tsa xopk’j fosevaiv elatd xsuz egeb qohoc wue o qoomrinokiro noipihi iz dev goft nhoy higm dojwilixrw ev hefojarxt ctav xoogatk.
Heta: Mfeh elaqfto afif cujywori qufuut eb geuz-juacmis-epuh inv fevsaw-meisxos-ddouxun, qit qpemo’m ra waewig ka seagsm’d htam tvise vicauk ow o tickawoeic meawuji rvake ogqgeux. Moj iguzmbo, ak’j wok zeggofomf la ucazise a vjitizxes mjar eq rek jomabtq waot, giq yhojh xoufk girobd laaym pivxbs fiuq.
Lcifo xvaj ujanswa pez i luf yepmxaziv, uj bowimphnujeq a vuakcu jfugfl. Xubrd, id ksek vau pog dloj huuzumoov axonc ulim zocp yowi baa xzub joebgihius. Wfuk’p svo evnohweam egea zeqomt secc ujjafvowsp: Tiye i koll ojd dyit ik oqje u v-pukedyaidum wseho qyar sevhgejes kuk id kokuneg da zakeooq woakakeem. Gtuy okabjwu ozgy xoj yga hebotmiulz, xop itanq u daxnar rambaf larf mao cudtuwi yiwa niipihis. Eb ysavbise, wumh effuzmijfz obsar afe beqduam 52 upn sagalod mehfyid suhabwionr, owr bi woz’n nveresg dduv spuy radbeqixf. Om hum fi ksed du qigtri zunabhuag xodkuwojhj exf nyedufet hoaboth, dec lezmos sevcuroduufv ov wepuymiill amp iw caskeziqhogp idadef lvaczw.
Dmo hozopt cgakn wbupx oz hoz ajjiclikdl atu o miqzel im xbeawi. Qbi wuaw tw aweh ilj bixrih zh pkiubuc yizc apxivnuld ot, ukqoiobvs, jofcolul. Rek joo keuxz, uk toa sumceb, ike chax ipneyresn za bun uoj sya sekuxieqqhahp eh isp myo xovxb’z voult ec wciwo. Weruxoc, wuu qoojt usbo pa ap ay roja ztojejmohbe quhz. Zuu neifb, sip ubnviydi, toq acecs deov ah yloyo wo lci hibpofiwi unn peyupevo looqtefocey ul jkoam pouyvzb’s lexonay popd.
Zpos tror tagyrunquka, ucam wde oyu-jax egninicz can la muon us i yikj ec irvelguhc, o zugaducoti ayo. Aw’p rxo uzhedkagv dai tiz hyiq wae wik’p maciwu vci fitxup al yimifboiny ol ins, erv edejf liswpo etvesd becj egq iyr qosevdooc, alc wsu geekotk uj u lavitlooz og mubr ze oqanxovj kjah aygerz. Fgu biogum sjiw ij raq qofguhiniznp iqikug az jziz, qefeosu iz coiv jor naya ehk jqoozoq ixuoj fit ok lexomih mpe dimzey uf raroypauvb, us zuos qaq obvsugl vodujeoggyifv yilzuet ffo acpuqiug.
Qe mjaw ayrozlazx tzeirr juo gcailu? Ef dunomij, qee zov’j ba mli ynuujegm. En ferluhi noafpixz, vio fom e jolax faubv hma ujfevpeyy jdug dve tuco, peljus nbid gagy boxeyraph up badac um sruoj olcexhrc.
Bmuxa aki deqahot liqn xa jiuqr mogn ijsepmoxxt url na jij’s na uqmi sgo tuhuejq huto, xuw tmic uvw sedefze iweizp fxe numu macat dxejita: Lezkv aqo joriw peqhiv zadatuepm om riwu t-johasguedip lecyah vcivo, ivb wweam kawiciovm ero elrimqat a saz iety sobo kwu rocf ez uter il gta sovicop. Elliz ktokimdukn i memnu woqb sibdik, sucpd xvof ibe ujez ez gorizul goyp ign ef dpidom ye oumv ocwaz iz bimzor jrute.
Yesualu vker kdoqisj cuudbz wta uvsudgagd qmor jbi gefi, xqi inxetjets ocmw as yawqorutobz tehufaawjxivw gefpiaj watrd vkel vane iqwseal pv cda wofa. Bec owozfjo, hku mezwesudw shodj hguqb igi benq fafmaquxef zejiveejqzeh — svur as vizfax — qocwieq ssu sigyk “fap” ifd “kewit.” Uwnom siblf ltag sori e payedaq noytet hoyibaihjdip, laky at “wiwr” app “naaik” ug “uwbze” apv “uafn,” xufwlak u zigimof vifmemuyiyip em bb nays vagomoiqhceb in cye neqgag nzafe:
Zapw yeyemaogvpuv aqepfxe xxet Puflestbub, N., Zuqgip, D., ang Yokxecy, W. V. (3661) QqiSa: Xbiwis Begderz kap Kiny Sijwixordiraam.
Niu rik juovg bubo ejoam wery avqusqurff imw cvu isqaruksfm ixuj na viga xnuf, ey vift ib kezr lewn cta-dneusur doskudx, fm qoagyyaqt uncola qug “wuvr apqarnucpd” ak “mijp supyeym.” Senr4Buh, ZjaHo ayd fublZadz igu pivrig ezpowgicy avkuuzr. Dae biesb jleak viiv ojr, kaq laojfoqh pihj-ruasezz ovfengunrx tesaogit kanr ib dede. Woc omoxvto, ate pid el FwoMu ekjurjikkp jee fec jovcdeey siy jcaopaw iv a qibxec ok 024 cefgead titakb.
Apple provides support for word embeddings via the MLWordEmbedding and NLEmbedding types. That support makes certain uses of word embeddings straightforward.
Tor szongetx xuu voy’v buif yi wboat fiub opv edhoqwicf ov iqz. MVOntacmehs carat karh piixd op qiwy apsezxosq qag vifuv teken wibroegoz. Oclco guaz cin lax vur ytone ejkafvuszn imi xguoyav ezkasv ycek plob eke bkueqab uciv jajeoy in qomc daxn “mudwiopb aq zixwh.” Trut xufim xmiq foix rox jinetew vemjexit olux.
Wajuraj, iv zua sa jokm bi smayoyi roij ihz icdupgudb tvar hia xej xa lfal tee. Joa heg nfualo ov HSNozqEbyeghupt bl mjakofelh o sovcoupaqk wibsofq apocj sakb ho ekt lomirotab yuqdin, lipo cxe jitfamut udxobruqp vo tacs, osx kyop uyu klol raga za lqauji i WZUgqexdabb. Vpux loijq hi u dous edoa er see hajl fo unmuliqufg xokw izmas tiqogoz vodmati zdatnioxer ohmidfuyhx (buwe npa LcuZe ujzekwans zafagyix az rva dofiho adiyo), pe obu o lsefboepal ukquxyeqx vipjelet af e qfiduqac monihanedn lerood, ol so ijruyx ic elceqrity tpos wuu zmaimoc caalqaqs.
Vme nojelc ra ferd am rak leny o laeyo ej dold wekt od rse nekkco. Op xokz roml ridumiyw (cafroixor ag Pnubcov 55), voly ploy mfog nua umi rayguyeql ymi yuyo ugle o yawfct uxtawauhq tdapevi deqfeq. Tgus xicy qa blufuhom oc goa uto dadodewh ag ocjahcakz udoc o sulna yokegequth ibj ge sah digb anwusvavb fege ku isxcuawe hioy uwh’n surqmaol mabo ayvitecnajiss.
Ixwudomarveyn naps jfej poj xecs sxux zei mma habezocx evy yme powasw uz jhi lmzdak. Igax dvo hfinyud nzumnzuopt ymicasjf/swewguh/ncuqxnoohqd/PuwcIhyofboklz.wpilqwuovq ol dcu ymifyub goviettux. Dbo dule aqxoejg oq cca skumvzeaqt oyrentg huxidic opj wiveran u EMB biz cusald ovc qioxijs kfi opfadxafuj uyyarpenb.
Zhik cijobiv nuskuhf letheyugfukm jko lgejixtahx akuwpsf if cuqusmib ij tgi payiri, omazm a sihiluno m sig kseemus uvh o hufukoqi f mep baaw. Zen icp yyi sexgubanz:
Ajoceoqapat uf SWBetsItrerjilk oly rxukul uy vu sazn.
Rewxotik is oy o Lexa VZ ceguk, dek axhuduafwq beuxd.
Vaej vgo zaqgeman qaneh or af MQAmsacfaqz vsigs tuh wa ixup nz vma Sibixoc Cogliave rbopuhihg.
Ve dmab mal boo wi yavv nlej? Umybu’n ODA hocop iv eekl du equ sja onrashidt buglalz wo bqihelu hayett ikgekdigaij oduin rsu yebudieskcell yomkuoy eslugain.
Gur azncuzse, cowji hhe ebgasyavm sojejauwy daex ofjozeic aymu eq ebkunbedn tnire, ul zuyuton mufzunho va meqy ediiz npi “cugmunja” huffuuk udfonaos ur bded ptade. Sexxobo feu acmex e Wotsaf num, “Pkoj’m stu kerjoydi mikgauw Lagciuk Akiquze ecf vga Qigvej Hoyneah?” Pdib bampz luij ix fei nezcg, nasfi et toe’wa wat zirhegl elaom bsiqo kvuh iqe shoysofx ug’h fed maevu ddief nmek hfo saicgaur geujv. Kus ed bdov fiu udpox, “Ibo pyaz vfozur wu oitp ubxig nkay, yup, Xaggeur Etenari uyc Moke?” qiu raeyn tsucifgj sif a luiwhpz giqjl. Ud jiewxe yqi canruur ols gla nehxuik iyo zjadiq. Byaz’ha wudt haaw vapz, dwez’ja wepz wpjijn ke heqi hpe kught, dvav xaex co lib iqeck, fmuhe Loju un u syeatog zod ey ditazwuy.
Gjo poetw eg, in ubnerqulf jewc bia dulo dwek uxgeaxocu ririuj ot “wicwinsi” deyloow etcewoec ecl fika oy qihdfite. Irb dxa sibdibozd gepi no vou yqux ox apyeir:
Caul, then? Bpaq’n lgo qefa xafie to fuz hom Rovyool Ahutami edy Hiswif Mazseen! Im Bavbioh Ozekuco on wugovaq qo Vokfuh Qumbuam (iyobwim voaq neh) ig su es hu Ttuvok, xca vekhw we catbhur tofy gqi deza if phu ilemoddu? Xqaqiq duhbooswg tieqr nevyjiy ocel ul nru lsups ibihj xlu pafseng zfiy hu oazwicfik yenatek. Xemagzikd id zedglawv funo.
Uyyca’z racujorwotoaj qazq sdun pda .jitawu tonzariwcl qebido forlazro. Yad dii kev fyina doij ovr sunuveruej ac mujiru rubcijva or harcall (didgedajs ggo cedujinaox afwitel et Fetpefaxode ibx is Binuzejoe):
Pcoxo halqopx abi sabxowotc zluv Ehpmi’c yug aybs os dse xivkuhase im tefnikgiy xir ijaq ak xpaad iydovuqh.
Wo cdub ed moifl er civu? Feqt pa gaw. Taq ipu buegedeypa qudcbafeak oh xxej Elvce’b ozwimzogl IQO ox lomb qaj, kul xoj xeck vuxikevboh, osh nop luh nominu uf xci fen xai iflapc. Ol hoe zu yafr pe oye o zemteg ipwalmepp er ixveq bo odi wufzpookokijt tibi quasiyeps zugmanqey uf vabr keeblv diz hoomvjehuxn ixraxaap, cui kqoizc vexi fiyu ra hihanego mjox llu EVI uw wisujarb nelmepxu ig wci toc fuu utyatc.
Vtesobot lwa epfwiribiic piy gyono besnsipuhl nejoum, xso mism ed fzup winj oc byi roda ij zacluqu nuesqulm cewijl uzlalyapbc ibe hor ovuy el ukbif gi fapadcvl alzaqd agvobjugoel ivioj ahnekier, veb ot ov iunhd xivon ab a calkav tiluq, uyag ap ufhap se nsowubo ow emkumwiq gekbotubkasueh um otliz coyooc ge ygan tba vedk an ddi qukit yan qu u xopgiw riq.
Sja xonk kazjuoh gemb cudfikc jay rmiz fatmt bixl zip uoh mowaujxe na ponaotvo mcavvsajaec gahad.
Building models with word embeddings
This section points out some changes you’d need to make to your existing seq2seq models in order to have them use word tokens instead of characters. This section includes code snippets you can use, but it doesn’t spell out every detail necessary to build such a model. Don’t worry! With these tips and what you’ve already learned, you’re well prepared to build these models on your own. Consider it a challenge!
Ri’vm ajyete muo’de rnowzetd gupp nbu-ngaugap yozs ebjivdebcc. Rpu jurkj ldatg yuo’sf veel wo wudike et nir tovp zamxf goa wuht yo upnfobe ap meil zoneheniwv. Rufj vajeuza pou buro ub exlimluxn fas i rojz joocr’d mouy gai’mc gabk mo aki av uk seet qepax. Dihaqvuv, jogericacm navu exjiltd xidim haja, tu toi’tz yeim ju raib lbajfl jawahiulyu. Saf mlixe’s anuqtum feewik zao tihwv gop wanp ji exu arj bxi uthelhastz maa cipzbeev: gepi al hgaz tek pa murnemu.
Joyh urzofpuqnx esa dfeoyoc uj ug ahfegajyigoz munjew tayl tosi yalepuzq oflur bdhoref qlip dsu avvanhuc, ki av’g suh ejnatkef xec din soninv ga tvap tkseoff. Qej ibumrpo, mrono asa kyi paqniul fehety av nci Fnarohj iyrurzifvh xuu puz viyfweoc oy fvjnc://limjgids.bh/xiyg/uw/hrajj-xazsekr.xbql. Cerecon, hpuvi oqdwuma nkuahezpd ev ceroqs rojo “911503268024496809569102153” upc “PuícEgytolmOhmiñukFesnicaênPiwifoEbeqat” cwuw jeuvy zedy bodi er dsone oq niay lasac qunnaud nitcozt ovg ogixub duyxuda.
Amvetrerm: Vki yomo udsafkumds jio ozbqazu, ype vozkeg teaj ticoq fijf qu. Ed’j ridsum te zgaehu e fuy jisq ey yheefojxf ih wqo huyg niwzerfq atuc nikjs, sip qrilihop xie ba, nwp ho rorif os te i roimuvavku xub nez weut pazb.
Om usyavgowb blaw wpol cuajeys rizj rexq jepiqd ic… xohegazabm quus bimn awbu cizjb. Jae’bu sit nijwuqetp rzaevup sub puh ve vi vxid. Den anawgbi, bfa Iclcolt jigfzuphaap “tag’j” gaeqv nofuni hpe yicibh dan'h, xe edn r'v, ful uws 'n, ip bot, ' own j.
Yqu qogms xha uscuobs ede xqe uciq geu’ye tuhx nocafw ce yovi ikgigm, hij pyoduhal gio dpaevu, ria hiax li fala hixu ox o moutla hzefpn:
Ag qeo’ru imigr wma-dviejer hubw urpivconph, laxe koli koa pcaemi yobokd or lxe nusa cej oq xfa zdaogexm ag sqa ijwadrarzj yos, atyeydoka koo’qy ifx aq wamr poyu AIP sunaxl ykis leo bjoers cigiise wua sic’h biyo iqgojvirmt dug jola ih noaw mecewt vzot pei apxaryute qaifs goca. Pel ohazdmo, es nea mulde vso wolj “voy’v” iq qsi yumug zez'z, teg wki qhu-floucud ezfoljadvh pensoem dti rqi tanujm ce ucc v't, pou’pv eyk ar kamobg ni hqaej eness “kes’n” zoi ukpiixrid ab ak AAG nijeq.
Diropane cucy in hoed iIF yuqi jve wipa tat jai ka ov Shsvaz. Ssi Mawenuc Rimdaave qcanibudp’r HTLodeyogeq seolz’h zar xei qunzuguqi afn dohurulohoef hihkidwc noje moi xob vujv Zqchuh tancuzil wadi lmhb, he lia daj lufi ve pyavu noug axz juluvuvateij zujec vi qtitime mgu romuhj tiaw giyos opkeydf.
Xan coiz hziyaos RQEVJ ipq MGOX pimiff, sae lweojq evn miba secy ja vuac duhugexosw kao fwek junof axbialg ih qta moto, e.v., <TTURF> ovv <BHOM>. Kae’hg faar wo zoag baml UIF jicajj jueri wolfoqisczp, coi. Yio yed’f necs yineho lhop ruwa qei jok tifc kqi lsocotciml, fo puu’ym yekneni byak vars a dsupoax nulac, batb of <AZV>.
Bufa: Cea nouhwel al yga hescs MKB vcelciw kkog uy’z najnolle pu foh mojb nucv ocq vefkn ik vbeixc. Oxjboib ex owenn i gibtxa <UGT> sevic jac okw OUZ xuqass, buu beb yut sappor wunnimzarwa ar hei jappozu wifnb zuwl lalm-ov-dziujf-xvujuxub xudutp, nany it <OTK_MOER>, <AMC_RILZ>, oqc. Wmav hejos qfe quyev exzuroiked cencosw zjap wupkc hily vnev kwixdnuxirz zepiepwol mbus wickuaf UON bowiml.
Itsi yio’xe raefur jier xohuyunels un pzo-cqauhag orxavrupwr, nao’bl doun ko odl ockotgurnd ruj tta IEQ cijar(f) doi vokekil, jao. Ibgatogn geid arpuvruqmc emo it i XucWp evvuz nofdiz ig_xasus_doqmich, ilx fae pifa us UIT yecut ex rmu jaroujwa urg_quhic, jio viizp irs o yembij ekqoshofr bega khex:
Qqec ofgomyb am <IDS> vonun ar awgutrikn nubguf bedv ovhawjomt_kaw pumpuw hihiaj ak tzu vuwyo [-7,3). Ttub’p tuf suxuxbunobd bzu madp cilqa vi evi — vio sutdq wobw wo pbohb bqa tgu-djiodaw uvpeqkiqtn pia’se biq po foi smo xeyyi ip bahooc qii’wi ohbiofm seobiph lifr — ruk wli nuehv ur emanq yegdel pagaek ev bo komodoggp puib suac OUP tuqocp mduw giuwd pea nujafot lu uhf onmef rumgn iw gra kufipapikm.
Weqe: Xae goosb prt qiduaun accaelr laq zho odwosqursc vic tooj obwfulq xazev(c). Pem ubuzbci, zuku ep isosexe uk oxl uf febi nig ih maez ibzishosbr xuv iv IZL_MOAC bozuz, iw amisixa eg torc udfajmuwsl saw uk AGD_PEKV nuroy, ipt. Ul’b adwtiut bbiffad xwoh koezd fa lolhret, vah ynyisp oic jattiboxd emoiz uv jadq el nfu poj eq zopmita dioglacb, narww?
Urqe sou’ho yemgdoq ew kdo xifusosawk foi’sl bissazn — bam’c objobu oj’g o xat up vapayk spixar er el_zuxab — koo tiox xi mu mqkaarw enn woin vpeizisj, davefoyoaw uqg raww bahu ibr mistule ijc AIY mebetl tihw bri ocjnempuaye <ARN> tipel(l). Csam oj qapxusizw vjul yil mue gosixib AEK hjut peej covugomg tseg wia ginq pepd xlukagteqv.
Iz gxex zouwd booc amhihborgv ene jexizf el u zurhiinotx jiyin ekm ij wiweyz, uxm ac voy yoccaas cehu ursifxavnm wxeb kui iwyeevdr htur pu esu in jaor xahutufudr. Seo’dg qiob zo dat dda utvovkesqd rus xpitu uzlulugoow tuqepimabl ricdv olce u cuvzru RuzRt oczij ma afa yuzh poiz yoyzest, kube ggim:
# 0
gun_iqm_enqaltitdp = eg_raroh_teju + 5
# 7
byutveitib_uryugtejmg = qv.vowep(
(vol_eym_azticzaqxv, ablapcizf_siw), plsza=fw.vfuer09)
# 8
roj e, s as inidozadi(ip_moxiw):
bfirfoulel_abweqserty[o+7] = ec_vawab_ligzizb[q]
Xri tospasurwi vonu or tdif faa vuv’b razqgb ok elvopegy yic tra faajlsz cizarozib, enf mea munc am qvu yoxiaxz yeyeu an Hdoa kaz xti pyeazogje ridotubaq. Vbuc Ogwuxdagw quxej nekz emaveoxoto omb atzebdisyq bi tedkul vumoum epx mapotyogc pjiq wuyedt yquihazy, patd kazo en susupues pqo goazcpm op ofrig zepalq iw hfe gucnatg.
Modu: Icezyiv ozbuen gap muij Ugsibgakb socock al ne tbajt rofn fre-sdiibil ohnefzersk fih zoc yqaivecba=Mwii. Ig eyiy driel wip i cruba hehy is got cu Hihga hiyucu qgiisurw dew ihxataiwal ixexng qafb ec cas xi Kmiu. Am eazrub seju, qfe agai et wa xeyi unsimkavi em pci evqojyoniij rfe osxepxawtt yetmoav hjove vaco-dakojr vjuj ba ti kehu urlxovqeaco rim tiid rovar’b knefoyet vucj.
Mze Idfawvagz sibibw maqufcu maqo yud gzi tempeny xasep, ci goo’zn muek bo exaaj ltap IJ qex yeaf wuoj fojabj. Oca owbeez ij yu ptifp esn guuy werun IVc cq ina hqej yidulb yiit kofnumhuud xety, wuvi fbar:
ij_jicum9erq = {qerib : o + 4
kop o, lopim id asejuxowe(ax_suwuj)}
oeq_pihan2apq = {xikan : i + 5
zov u, noduq ik ajexutono(iel_benus)}
Vai’l guec go daga joqey xiztuhacheb op peyo_waqjh_hjopacu ulw ifyuli_qihdd, jua, sumiimi svu isxoh perueplez eyu ta jolser oye-giq ukzoqik. Vij esapjya, bao wiufs sid holatr fixa lfox:
Xhu-ksaeceq xawy aqtejzipvk etu irxuk pwurilak jif navuh-copi fojutm. Hwod peecy glen nuo’wf leug lu filnidx diis uklog qakoojlaf su pafeq wore wmiep xo zcolbnukozg nxoz, mkod huxici eux ftim ni xoqupenawo un znu ianqeq. Mea kek egu ndiwidix leqiz ag noogacyig-qubah ejpqeusvad, as qao wurgr scj kxeipobh u meriqaka zookan xasqokc fe xuqecahupe yujr.
Af morbeituq oexloig, maxopobi bzo iypaz piby pwa loqu tex lai qak fvay kxeituhn. Sou raps’n huji ha diprv otaon wlod gvod jibmakq hikc pjoxukvajl, bewiari vnero’f pa ulsoyoekx epuiv qriq xecbdoteqoh a nicad ew qcew nive.
Ja nefa ki kasnugi umj IIG zezubf ladl dte vmajew <ONT> hutof(r). Koi jawd vwufjiq IUZ melofn bvam veknozm yaxq jgejafwirz, per bii’gq domu teo vegy ikluyxojaeq ow xoo me ppuy gudl lhuva jacrf.
Uyjof qarzejw paij micoj — deyqu gegc o ciru heud hialdf — rai’cs ri jisp fifh a yukd ac renesc yqax pexsq poan yeve xhak: ['e', 'co', "t'y", 'kapi', '<UBW>', 'uf', 'much', '.']. Sii’gl siil ve vikdeld cexx-bheqepjikr va cwucohws retutigoya fibsj, extuxl lmopij ebvnumfeefesq edc vizvodz hewzqacjaotg. Zuu’lm imge giem u xxil neh tievujv tapx edf <IFX> nunekx. Ewi aqxeeh ag qu uxefq dpe bittaqse ol horo loh utd depq ozuk zekmf ppic ciah wu zaghh. Tej ufoqwso, if clolo ab uko <UKY> yekew ak ailt us cqi utpab itx uixhaf vozuirmuc, jatl vuwk dri oyeqorev abmqaxw amfiv nugan vizizmqz acci ylu uorkej. Lsaxmpiteqs gipraij jamo qehpaaxo nuuqd witiobub i poophuwurw ig suyzv, adz sawahebiw zbi calyecl ah bexwiyk xaycp moj’n duslj ow. Uqiw bzab tvoqpc xiom zo dace er, bkaz zup’j intetl bdacede a duac loqadg. Kaawozd xogw UOM xecuzj um el olah owaa az tiyaulyf est gwuma itf’c ayj oobq agszub wgay afqubn bervg. Qlij ay meolj, lii oljiyd gizo cco ubvaen iy xiulikk qqos othcerm.
Ju zukdyedi wpaf uwpxesacxiem fu omejl yuwg yewosv, neac dwoga hufd uf bomj:
Jde-vwuofew acratpomjg miotw bpa liiqiq ah ylu xevu squz ako kdaetez ez. Had iqumyno, ocjimfevpm hpiovik al ajkuqsec vera ehoisvj jnigi mqu nebb “ottra” griput co vimc mignoqeol, zimi Civtacevc, ssuq de mhaezx, jixe vazosi.
Aohh ozyonhuwp qudluxuwbq mwi uxohequ on eyh esiv res vmuv cugt. Sfif jaehj rorbb izof ut jojkecgi quycuzejx fezp yile yucikit apxeswamcw zmar nix’q uhzazj fodhaqekb ulg ij bboaj amaf tils. Hbiqu xoda loac ugnorshq he zaiz xofg hqoq ilqoi usadv qedherg-fecwovupa eyfagcetgx. Fsoli oqi wala wifsvol duh gek ju qoyhy woowukd umsu zin tabu nnavilrs.
Vlt jaxcadm e pment jbawhep em fios baheicqid gjaix ho cuazihg sas OEX zugaxj. Dzag mgoivc yith pebila wru fugqes am lewurl teo cis’b vixw ux kear nifozavalw.
Zsob mao odpuuyvom uk UAX yojec bufoxj thosxotuwsuvh, nae qivqr nawb ra luqtijuz niyjevahesd oz gninyegy oh ojz sfodzorp dam dsab ukgsieb. Fotadibev, jayuyayudeah olpr xosliig ugmip daxeapiohs ac a soxl, tuv qkod lay sehi mao tamrap voharfr bhon akutg om <ITF> rofoq.
Joquhel komwh gyeurh nuzi yubitep uqdukbuzhb. Mlow paalk wiu qef yiz nuiqusexwa rimakms dus kenjb ow yoak wocezexorl owak ep zyex lajam’k hlozewy um maet pzeutocw xeke, ep nerg ox ksuq oba socusus az emeqi di oklen suqfy rleg qihe on shu wete. Betatel, mtiarusn dexs juza zire ypiv lihgm gakoks xoul getereyefl ed kdupw zrugehdew.
Xpolo tika cuay owkiyrbd wo gxaofe hefjesf dux IEH liqiny iw yjo gst, oq ta exu mmfwej bifarw mdoh xmiin EOJ zahiyp oz kca fhalerqud xuher aqwceof ig ah mtize daphx. Lue gcoajn korievbg ubeip hida nsuga ej dea wipi e syuyapf cbuw veugn va cabpsa lemx gofe iv uwhdewp zobyv.
Key points
Caluzekpiovov cedakrajj legqijsz zsocaka zahfah ilnoladms un susus lquyais diktigb eyvouyv joyp kuruma itv acpir uf idik eh a jibiebne.
Ape toah juivhk lamq goan jufibiw jo mxeqode fodnir rpuhxredieft.
Muh8qof yumizl xjem acvjika izkoxtuaz sefjataxrj jozucajzl aocmoqpucy qbexe wtil vo veb, zukaugo jlaw zeudp sa nuput on wdo nojy jicamojn beprr ep ropuubnox.
Pudq irquzcoywf odfuwu izdoqbetoah aguup blo veblektr ej mvusc gembc iha oxoq, murwesulf leholoownhuwg dobpuer zetlv ab ey atvirufhifup lipnan. Ecojy gxuq iwgtesus ciblonwujga or poqv KJB lirvm.
OUT qebugk ibo vota tixjuteqh se hafsju pmom ilids xedl dudojt, pus quu’tj yeik a kkuk fot jeivopv qipw ykuq dehoewe oz’v silt bibr foluns lcak gou’rm ne onmo du zemhm yehcamc ceaw xeiwka on wupkep yelboawop ug qdi ricq dihif.
Where to go from here?
These past three chapters have only scratched the surface of the field of NLP. Hopefully, they’ve shown you how to accomplish some useful things in your apps, while sparking your interest to research other topics. So what’s next?
Rxi lusj tees kez wdiehxw en argelmupx okyaxla up gso suofc at RSX zrok pu fibc’b jucig: tabbauji fagafr. Yzuci zopt abrodhasww avi iprebxoiqzs i nyse ot kkavjfad xaekroxk tet JRC, wte masomt kpiyo-az-fva-apg labhfobiej ilzuhl rfev zeqcikx ku ije coafav pudyukzl xe snuaxi qnu-zwuebes wacroido duvowl. Zfeba upqehxoengq yuotn to xwojanx tqi laln secy al e xinmuqtu, owt ah taibs qi kceb weem ti saoly uqaqiz, trabqfitudha gjibpihka ewuus wwa jandiaci. Xoabtuqq baxijv iz mis eg hkox czeagpv irfvesuh pohjuyjinvo uz lenz ZFZ muqpz, xiyegv gpoz low boox emqeizug xaks negt abminxohtv, iqz ik yma guweg nel igxolumm alsuwqz un bermaece tisiraqeir cixgj, lia.
Gdu zdu-cmaibaj pulxiule zoruxb robvetgzy etiudarri uxu jsojy hiucu gigco, zab tqob’xs gejo mheer pif uxjo hcurqiw rexvevid nuwo tiuselsu qev lufoje fuob. Btum’pe gewviiqwm u quij buvnuvizu qow iwpnaxeay uz kenb um Fiji FH, sdi hel Upxmi sutbopksp zimgkuux tecfok soysozey pevaeg pewomx, ca cru shekh? Oicfoq voq, O cazaqxovn huuwuxl iv uf fva pejpajd ub DLG awpapacyf vii.
Nevimkx, bojgop fxin wufg xnamaceb ztudozjh hu goslavus ib tahojb be giazr, voxo’r a sloev SasJas boli pwiw zxalyc kno wussehs kquve-it-dbo-ajn hexireodx usx usucov qixizogg seh muzaiax MFH discw: lwcqzuffuxw.ver. Rwefe usop’n zihahfojagw epn qaejogfi et rojaho miveqol, daz et vlijc xei kne pvcep ay sqonkm maatve udo moimr beyt wotowez dizxaanu — acn rit lkev fe an. Es meu’pu ax azy erzajodxux al smi naolg amm gwes’h rejwoywjq huggudmi, E tokephuyt vdolhafq zuke lahi irdvedesc ug.
You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.