mltype-Typing practice for programmører

mltype er et kommandolinjeværktøj til forbedring af skrivefærdigheder. Det gør det med en lille smule dyb læring.

hvis du klikkede på dette indlæg i håb om, at du ville lære noget om statisk indtastning, skriv anmærkninger eller lignende, er dette ikke den rigtige artikel. Den skrivning, jeg taler om i dette indlæg, er den ting, du gør med dit tastatur. Eller for at være præcis

handlingen eller evnen til at skrive noget ved hjælp af en skrivemaskine eller computer.

for et par måneder siden besluttede jeg at lære touch typing! Jeg ved hvad du tænker… ” Er du en hurtigere maskinskriver end før, og var al den smerte det værd?”Jeg vil helt sikkert sige ja og ja. Imidlertid, internettet er fuld af lignende før og efter vidnesbyrd, og jeg vil ikke skrive endnu en.

hvad jeg vil tale om er, at jeg virkelig var overrasket over, hvor få ressourcer der er til at øve touch-typing med programmeringssprog. Efter en hurtig google-søgning vil du sandsynligvis opdage følgende sider:

mens ovenstående hjemmesider har flere stærke punkter, lad mig påpege nogle af deres mangler

  • manglende variabilitet og overraskelseselement
  • Manuelt valg af kildefiler og tilsvarende linjer
  • ikke tilpasses
  • ikke gratis (typing.com)
  • ikke nørdet nok-ville det ikke være muligt at gøre det i terminalen?

af de ovennævnte grunde besluttede jeg at give det et skud og skrive mit eget skrivepraksisprogram: mltype.

Hvad gør den?

kort sagt er det et kommandolinjeværktøj (skrevet i Python). Det bruger neurale netværk til at generere tekst, der ligner et programmeringssprog (eller normalt sprog). Derudover giver det ikke-maskinindlærings funktionaliteter som at læse tekst fra en fil eller standardinput.

hvis du spekulerer på, hvilken slags “neuralt netværk” der ligger bag det, vil jeg mere end opfordre dig til at (gen)læse den urimelige effektivitet af tilbagevendende neurale netværk af Andrej Karpathy. mltype gør mere eller mindre det samme i baggrunden. For at være præcis er der en sprogmodel på karakterniveau. Det spytter en sandsynlighedsfordeling over det næste tegn givet tidligere tegn. Vigtigst er det, at det forsøger at skjule al kompleksitet og kedelige detaljer om træning og indledning fra brugeren. Generering af tekst fra en eksisterende model og træning af en ny model kan begge udføres i en enkelt kommando.

eksempler

nedenfor er nogle eksempler på forskellige programmeringssprog. Alle de modeller, der genererede dem og mange andre pretrained modeller kan hentes (se README.md på github).

vil du prøve det?

hvis du vil vide mere og prøve det selv, besøg nedenstående links!

github: https://github.com/jankrepl/mltype
dokumenter: https://mltype.readthedocs.io/en/latest/