5 ms·
Show HN: Autocomplete Python with Deep Learning
- nikeee 7y agoIs this similar to Microsoft's IntelliCode? How does it differ?
- veselin 7y agoThis one is a character level language model. The Microsoft one is per token. This one should be the closest to the Microsoft model: https://miltos.allamanis.com/publicationfiles/allamanis2018learning/allamanis2018learning.pdf https://miltos.allamanis.com/publicationfiles/allamanis2018l... Btw, simple neural networks are far from doing the best for code. The kind of accuracy LSTM gives is already achieved with good n-gram models. E.g. see this one on a Linux code prediction: https://arxiv.org/pdf/1506.02078.pdf https://arxiv.org/pdf/1506.02078.pdf Also, there are other techniques that improve on top of the n-gram models: https://files.sri.inf.ethz.ch/website/papers/charmodel-iclr2017.pdf https://files.sri.inf.ethz.ch/website/papers/charmodel-iclr2...
- Der_Einzige 7y agoHit me up when this competes with tabNine
- Matumio 7y agoThis looks more like a research project. In contrast, tabNine is a closed-source commercial package. No need to compete with that.
- bobajeff 7y agoI've been thinking about using something like this for Swype-like keyboard for coding on phones.
- sho 7y agoI've been waiting for Apple to at least apply some ML in text prediction (and moreso, spellchecking) in its onscreen keyboards. What they have now is worse than useless and I would have thought it would be low-hanging fruit?
- logicprog 7y agoThis is pretty cool, but I'm not sure how much better this approach would be compared to language server based completion (something like RLS).
- make3 7y agoI wished they had an online demo, or jupyter notebook with an easy to download pretrained model so I can test it in colab
- etaioinshrdlu 7y agoAnother fun idea is to make a "code denoiser". Removing noise (bugs) from your code. It's quite simple to synthetically inject lots of noise into code, simply use the wrong variables, operators, numbers, structures, reverse statement ordering, transforming code at the AST level. Then you can learn mappings of bad code => good code! The same idea has worked for natural languages as well, correcting typos.