mltype – Typing practice for programmers
mltype ist ein Befehlszeilentool zur Verbesserung der Schreibfähigkeiten. Dies geschieht mit ein wenig Deep Learning.
Wenn Sie auf diesen Beitrag geklickt haben, in der Hoffnung, etwas über statische Typisierung, Typanmerkungen oder ähnliches zu erfahren, ist dies NICHT der richtige Artikel. Das Tippen, über das ich in diesem Beitrag spreche, ist das, was Sie mit Ihrer Tastatur tun. Oder um genau zu sein
Die Handlung oder Fähigkeit, etwas mit Hilfe einer Schreibmaschine oder eines Computers zu schreiben.
Vor ein paar Monaten habe ich beschlossen, Touch Typing zu lernen! Ich weiß, was du denkst … „Bist du eine schnellere Schreibkraft als zuvor und war der ganze Schmerz es wert?“ Ich würde definitiv ja und ja sagen. Das Internet ist jedoch voll von ähnlichen Vorher-Nachher-Testimonials und ich werde keine weitere schreiben.
Worüber ich sprechen möchte, ist, dass ich wirklich überrascht war, wie wenig Ressourcen es gibt, um das Tippen mit Programmiersprachen zu üben. Nach einer schnellen Google-Suche werden Sie wahrscheinlich die folgenden Websites entdecken:
Während die oben genannten Websites mehrere Stärken haben, lassen Sie mich auf einige ihrer Mängel hinweisen
- Mangelnde Variabilität und Überraschungsmoment
- Manuelle Auswahl der Quelldateien und der entsprechenden Zeilen
- Nicht anpassbar
- Nicht kostenlostyping.com )
- Nicht nerdig genug – wäre es nicht möglich, dies im Terminal zu tun?
Aus den oben genannten Gründen habe ich beschlossen, es zu versuchen und meine eigene Schreibübungssoftware zu schreiben: mltype.
Was macht es?
Kurz gesagt, es ist ein Befehlszeilentool (in Python geschrieben). Es verwendet neuronale Netze, um Text zu generieren, der wie eine Programmiersprache (oder eine normale Sprache) aussieht. Darüber hinaus bietet es nicht-maschinelle Lernfunktionen wie das Lesen von Text aus einer Datei oder Standardeingaben.
Wenn Sie sich fragen, welche Art von „neuronalem Netzwerk“ dahinter steckt, würde ich Sie mehr als ermutigen, die zu lesen Die unangemessene Wirksamkeit wiederkehrender neuronaler Netze von Andrej Karpathy. mltype macht mehr oder weniger dasselbe im Hintergrund. Um genau zu sein, gibt es ein Sprachmodell auf Zeichenebene. Es spuckt eine Wahrscheinlichkeitsverteilung über das nächste Zeichen bei vorherigen Zeichen aus. Am wichtigsten ist, dass versucht wird, die Komplexität und langweiligen Details des Trainings und der Inferenz vor dem Benutzer zu verbergen. Das Generieren von Text aus einem vorhandenen Modell und das Trainieren eines neuen Modells können beide in einem einzigen Befehl erfolgen.
Beispiele
Nachfolgend finden Sie einige Beispiele für verschiedene Programmiersprachen. Alle Modelle, die sie generiert haben, und viele andere vortrainierte Modelle stehen zum Download zur Verfügung (siehe README.md auf github).
Willst du es versuchen?
Wenn Sie mehr wissen und es selbst ausprobieren möchten, besuchen Sie die folgenden Links!
github: https://github.com/jankrepl/mltype
Dokumente: https://mltype.readthedocs.io/en/latest/