рдЬреНрдЮрд╛рди рд╣рд╕реНрддрд╛рдВрддрд░рдг рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдорд╢реАрди рдЕрдиреБрд╡рд╛рдж

рдиреНрдпреВрд░рд▓ рдорд╢реАрди рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди (NMT) рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИред рдЖрдЬ, рдЕрдкрдиреЗ рдЕрдиреБрд╡рд╛рджрдХ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдЙрдЪреНрдЪ рд╢рд┐рдХреНрд╖рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЙрд░реНрдкрд╕ (рдПрдХ рдХреЙрд░реНрдкрд╕ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рд╡рд╛рдХреНрдп рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╣рдо рдХрдо рд╕реЗ рдХрдо рджрд╕ рд▓рд╛рдЦ рдЬреЛрдбрд╝реЗ рд╡рд╛рдХреНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдИрдПрдордПрдл рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдХреНрд╖реЗрддреНрд░ рднреА рд╣реИ рдЬреЛ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд░реВрдк (рдЕрдВрдЧреНрд░реЗрдЬреА рдХрдо рд╕рдВрд╕рд╛рдзрди рдмреАрдПрдордбрдмреНрд▓реНрдпреВ) рдореЗрдВ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдЫреЛрдЯреА рд░рд╛рд╢рд┐ рдХреЗ рд╕рд╛рде рднрд╛рд╖рд╛ рдЬреЛрдбрд╝реЗ рдХреЛ рдкрдврд╝рд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдкрдбрд╝рддрд╛рд▓ рдХрд░рддрд╛ рд╣реИред

рд╣рдо рдЪреБрд╡рд╛рд╢-рд░реВрд╕реА рдХреЛрд░ рдПрдХрддреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рд╣рдо рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдЙрдкрд▓рдмреНрдз рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 90,000 рдЬреЛрдбрд╝реЗ рд╡рд╛рдХреНрдпреЛрдВ рдХрд╛ рдорд╛рдорд▓рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдордп рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд░рд┐рдгрд╛рдо рдЬреНрдЮрд╛рди рд╣рд╕реНрддрд╛рдВрддрд░рдг (Engред Transfer Learning) рдХреА рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЗрд╕ рдкрд░ рд▓реЗрдЦ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреАред рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдмрдбрд╝реА (рдореВрд▓) рдЗрдорд╛рд░рдд рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЙрд╕ рдкрд░ рдПрдХ рддрдВрддреНрд░рд┐рдХрд╛ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реА рдмреЗрдЯреА рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдиреБрд╡рд╛рдж рдХреА рд▓рдХреНрд╖рд┐рдд рднрд╛рд╖рд╛ рд╕рдорд╛рди рд╣реЛрдЧреА: рд░реВрд╕реАред рд╕рд╣рдЬ рд░реВрдк рд╕реЗ, рдЗрд╕рдХреА рддреБрд▓рдирд╛ рджреВрд╕рд░реА рднрд╛рд╖рд╛ рд╕реАрдЦрдиреЗ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдПрдХ рд╡рд┐рджреЗрд╢реА рднрд╛рд╖рд╛ рдХреЛ рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рджреЗрд╢реА рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрдХреАрд░реНрдг рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рджрд┐рдЦрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХреА рдЪрд┐рдХрд┐рддреНрд╕рд╛ рд╢рдмреНрджрд╛рд╡рд▓реА: рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕реАрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкреИрддреГрдХ рд╡рд╛рд╣рд┐рдиреА рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдордиреЗ рдЕрдВрдЧреНрд░реЗрдЬреА-рд░реВрд╕реА рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЛрд░ рд╕реЗ 1 рдорд┐рд▓рд┐рдпрди рдЬреЛрдбрд╝реЗ рдФрд░ рдХрдЬрд╛рдЦ-рд░реВрд╕реА рдХреЛрд░ рд╕реЗ 1 рдорд┐рд▓рд┐рдпрди рдЬреЛрдбрд╝реЗ рд▓реЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдХрдЬрд╛рдЦ рдбреЗрдЯрд╛ рдореЗрдВ 5 рдорд┐рд▓рд┐рдпрди рд╡рд╛рдХреНрдп рд╣реИрдВред рдЗрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ 2 рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдЧреБрдгрд╛рдВрдХ (рддреАрд╕рд░рд╛ рд╕реНрддрдВрдн) рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрдЬрд╝рд╛рдЦ рд╕рдВрд╕реНрдХрд░рдг рдиреЗ рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдо рджрд┐рдпрд╛ред рдпрд╣ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЪреБрд╡рд╛рд╢ рдФрд░ рдХрдЬрд╝рд╛рдЦ рднрд╛рд╖рд╛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рд╛рдмрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдорд╛рдорд▓реЗ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдкрд░ рднреА рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рд╢рд░реАрд░ рдХреЗ рдЪрдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред 90,000 рдЬреЛрдбрд╝реЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреА рд╕рд╣рд╛рдпрдХ рд╡рд╛рд╣рд┐рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЖрдк рдпрд╣рд╛рдВ рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдХреЛрдб рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рддреЗрдЬрд╝ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛рд░реНрдб рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдХреЛрд▓рд╛рдм рд╕рд╛рдЗрдЯ рдкрд░ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕реЙрдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди 3 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рд╣реИред

pip install sockeye 

рдЖрдкрдХреЛ рдПрдордПрдХреНрд╕рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдЕрд▓рдЧ рд╕реЗ рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡реАрдбрд┐рдпреЛ рдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдХреЛрд▓рд╛рдм рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

 pip install mxnet-cu100mkl 

рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдлреАрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рд╡реЗ рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рддреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╢рд░реАрд░ рдХреЛ рдкреВрд░реНрд╡-рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЗрд╕реЗ рдЯреЛрдХрди рджреЗрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдХрд┐ рдореЙрдбрд▓ "рдмрд┐рд▓реНрд▓реА!" рдФрд░ "рдмрд┐рд▓реНрд▓реА" рдПрдХ рд╣реА рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рд░реНрдл рдПрдХ рдкрд╛рдпрдерди рдЯреЛрдХреЗрдирд╛рдЗрдЬрд╝рд░ рдХрд░реЗрдЧрд╛ред

 from nltk.tokenize import WordPunctTokenizer def tokenize(src_filename, new_filename): with open(src_filename, encoding="utf-8") as src_file: with open(new_filename, "w", encoding="utf-8") as new_file: for line in src_file: new_file.write("%s" % ' '.join(WordPunctTokenizer().tokenize(line))) new_file.write("\n") 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдкреНрд░рдкрддреНрд░ рдХреЗ рд╡рд╛рдХреНрдпреЛрдВ рдХреЗ рдЬреЛрдбрд╝реЗ рдХреЛ рдЦрд┐рд▓рд╛рддреЗ рд╣реИрдВ

   ╙Ч  ╥л ╙│ ╙С╙С. ╙С ╙С ╙С ╙С╙Ч, ╙С ╙С╙С╙Ч,   ╙С  ╙Ч╙Ч -╙С ╙Ч╙Ч╥л,  ╥л╙Ч ╙Ч ╙Ч╥л ╙С╙С ╙С╙С, ╥л ╙Ч ╙Ч   ╙С ╙С ╙С╙С ╙С . 

рдФрд░

      .  , ,       , ,    ,        . 

рдЖрдЙрдЯрдкреБрдЯ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреЛрдХрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

   ╙Ч  ╥л ╙│ ╙С╙С . ╙С ╙С ╙С ╙С╙Ч , ╙С ╙С╙С╙Ч ,   ╙С  ╙Ч╙Ч  - ╙С ╙Ч╙Ч╥л ,  ╥л╙Ч ╙Ч ╙Ч╥л ╙С╙С ╙С╙С , ╥л ╙Ч ╙Ч   ╙С ╙С ╙С╙С ╙С  . 

рдФрд░ рд░реВрд╕реА рдореЗрдВ

       .   ,  ,        ,  ,     ,         . 

рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рдВрдпреБрдХреНрдд рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЖрдо рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдВрдЧреЗ:

 cp kk.parent.train.tok kkchv.all.train.tok cat chv.child.train.tok >> kk.parent.train.tok cp ru.parent.train.tok ru.all.train.tok cat ru.child.train.tok >> ru.all.train.tok 

рдЪреВрдВрдХрд┐ рдмрд╛рд▓ рдореЙрдбрд▓ рдХрд╛ рдЖрдЧреЗ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЙрд╕реА рд╢рдмреНрджрдХреЛрд╢ рдкрд░ рд╣реЛрддрд╛ рд╣реИред

рдЕрдм рдПрдХ рдЫреЛрдЯрд╛ рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╖рдпрд╛рдВрддрд░ред рдПрдордкреА рдореЗрдВ, рд╡рд╛рдХреНрдп рдХреЛ рд╢рдмреНрджреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рдорд╛рдгреБрдУрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╢рдмреНрджреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдХреНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдмрд╛рд░ рдХреЛрд╖ рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╢рдмреНрджреЛрдВ рд╕реЗ рдПрдХ рдмрдбрд╝реА рдкреВрдВрдЫ рдмрдирддреА рд╣реИред рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдЖрдХреГрддрд┐ рд╡рд┐рдЬреНрдЮрд╛рди (рдХреЗрд╕, рд▓рд┐рдВрдЧ, рд╕рдВрдЦреНрдпрд╛) рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдЪ рд╣реИред рд░реВрд╕реА рдФрд░ рдЪреБрд╡рд╛рд╢ рджреЛрдиреЛрдВ рд╣реА рдРрд╕реА рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рдЙрдкрд╛рдп рд╣реИред рдЖрдк рд╡рд╛рдХреНрдп рдХреЛ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдореЗрдВ рддреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдм-рдкрд╛рд╕рд╡рд░реНрдб рдореЗрдВред рд╣рдордиреЗ рдмрд╛рдЗрдЯ рдЬреЛрдбрд╝реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ ред

 git clone https://github.com/rsennrich/subword-nmt.git 

рд╣рдореЗрдВ рд▓рдЧрднрдЧ рдРрд╕реЗ рд╣реА рд╕рдм-рдкрд╛рд╕рд╡рд░реНрдбреНрд╕ рдорд┐рд▓рддреЗ рд╣реИрдВ

 @@   ╙Ч  ╥л ╙│@@  ╙С╙С . @@ ╙С ╙С ╙С @@ ╙С╙Ч , ╙С ╙С╙С@@ ╙Ч ,   ╙С@@  @@  ╙Ч╙Ч  - ╙С@@  ╙Ч@@ ╙Ч╥л ,  ╥л╙Ч@@  ╙Ч ╙Ч╥л@@ @@  ╙С╙С ╙С╙С , ╥л@@ @@ @@  ╙Ч ╙Ч @@ @@  @@  ╙С ╙С ╙С╙С ╙С  . 

рдФрд░

 @@    @@  @@   . @@  @@ @@ @@ @@  , @@  , @@ @@  @@    @@  @@ @@  @@ @@ @@ @@  ,  ,  @@  @@ @@ @@  @@ @@ @@  ,       @@ @@  @@ @@ @@  . 

рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдлрд┐рдХреНрд╕ рд╢рдмреНрдж рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВ: рд▓рдВрдмреЗ рд╕рдордп рддрдХ @@ рдирд╣реАрдВ рдФрд░ рдЕрдЪреНрдЫрд╛ @@ред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, bpe рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ

 python subword-nmt/subword_nmt/learn_joint_bpe_and_vocab.py --input kkchv.all.train.tok ru.all.train.tok -s 10000 -o bpe.codes --write-vocabulary bpe.vocab.kkchv bpe.vocab.ru 

рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЯреЛрдХрдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 python subword-nmt/subword_nmt/apply_bpe.py -c bpe.codes --vocabulary bpe.vocab.kkchv --vocabulary-threshold 50 < kkchv.all.train.tok > kkchv.all.train.bpe !python subword-nmt/subword_nmt/apply_bpe.py -c bpe.codes --vocabulary bpe.vocab.ru --vocabulary-threshold 50 < ru.all.train.tok > ru.all.train.bpe 

рд╕рд╛рджреГрд╢реНрдп рд╕реЗ, рдЖрдкрдХреЛ рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рд╕рддреНрдпрд╛рдкрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рддрд╛-рдкрд┐рддрд╛ рдФрд░ рдмрдЪреНрдЪреЗ рдХреЗ рдореЙрдбрд▓ред

рдЕрдм рд╣рдо рд╕реАрдзреЗ рддрдВрддреНрд░рд┐рдХрд╛ рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЙрдбрд▓ рд╢рдмреНрджрдХреЛрд╢ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 python -m sockeye.prepare_data -s kk.all.train.bpe -t ru.all.train.bpe -o kkru_all_data 

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореВрд▓ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рд╕реЙрдХреА рдкреГрд╖реНрда рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИред рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЛ рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рдХрд░рдирд╛

 python -m sockeye.prepare_data -s kk.parent.train.bpe -t ru.parent.train.bpe -o kkru_parent_data --source-vocab kkru_all_data/vocab.src.0.json --target-vocab kkru_all_data/vocab.trg.0.json 

рдФрд░ рд╕реНрд╡рдпрдВ рд╕реАрдЦрдиреЗ

 python -m sockeye.train -d kkru_parent_data -vs kk.parent.dev.bpe -vt ru.parent.dev.bpe --encoder transformer --decoder transformer --transformer-model-size 512 --transformer-feed-forward-num-hidden 256 --transformer-dropout-prepost 0.1 --num-embed 512 --max-seq-len 100 --decode-and-evaluate 500 -o kkru_parent_model --num-layers 6 --disable-device-locking --batch-size 1024 --optimized-metric bleu --max-num-checkpoint-not-improved 10 

рдХреЛрд▓рд╛рдм рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореЗрдВ рд▓рдЧрднрдЧ рдПрдХ рджрд┐рди рд▓рдЧрддрд╛ рд╣реИред рдЬрдм рдореЙрдбрд▓ рдХрд╛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

 python -m sockeye.translate --input kk.parent.test.bpe -m kkru_parent_model --output ru.parent.test_kkru_parent.bpe 

рдмрдЪреНрдЪреЗ рдХреЗ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
 python -m sockeye.prepare_data -s chv.child.train.bpe -t ru.child.train.bpe -o chvru_child_data --source-vocab kkru_all_data/vocab.src.0.json --target-vocab kkru_all_data/vocab.trg.0.json 

рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рд╛рд░рдВрдн рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ

 python -m sockeye.train -d chvru_child_data -vs chv.child.dev.bpe -vt ru.child.dev.bpe --encoder transformer --decoder transformer --transformer-model-size 512 --transformer-feed-forward-num-hidden 256 --transformer-dropout-prepost 0.1 --num-embed 512 --max-seq-len 100 --decode-and-evaluate 500 -o ruchv_150K_skv_dev19_model --num-layers 6 --disable-device-locking --batch-size 1024 --optimized-metric bleu --max-num-checkpoint-not-improved 10 --config kkru_parent_model/args.yaml --params kkru_parent_model/params.best 

рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдореВрд▓ рдореЙрдбрд▓ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд╡рдЬрди рдХреЛ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕реЙрдХреА рд╕реЗ рдореБрдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╡рд┐рд╡рд░рдгред рдПрдХ рдмрд╛рд▓ рдореЙрдбрд▓ рд╕реАрдЦрдирд╛ рд▓рдЧрднрдЧ 12 рдШрдВрдЯреЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рд╕рд╛рдорд╛рдиреНрдп рдорд╢реАрди рдЕрдиреБрд╡рд╛рдж рдореЙрдбрд▓ рдореЗрдВ 24.96 BLEU рдЧреБрдгрд╡рддреНрддрд╛ рдереА, рдЬрдмрдХрд┐ рдЬреНрдЮрд╛рди рд╣рд╕реНрддрд╛рдВрддрд░рдг рдореЙрдбрд▓ 32.38 BLEU рдерд╛ред рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рднреА рдЕрдВрддрд░ рджреГрд╖реНрдЯрд┐рдЧреЛрдЪрд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдмрдХрд┐ рд╣рдо рдорд╛рдорд▓реЗ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ, рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

Source: https://habr.com/ru/post/hi475750/


All Articles