12 ms·
Deep API Learning
- omarforgotpwd 10y agoYou may hate the tech industry for recklessly destroying other people's jobs, but just know that we're working hard to build a next generation AI that will destroy our jobs too.
- xiphias 10y agoAt least I hope that AI will think of Bitcoin as a good investment
- deleted 10y ago[deleted]
- thomasahle 10y agoGood thing is, that once they fully destroy our job, we will have achieved the singularity, and all jobs will be destroyed. Ergo, our jobs will be the last to be destroyed ;-)
- deleted 10y ago[deleted]
- amelius 10y agoMost likely, big corporations will reap the benefits of AI for quite a while before the AI will escape and take over the world. Those CEOs and perhaps a handful of supporting personnel will get paid long after programmers have lost their jobs. Turns out that there wasn't so much room on the shoulders of giants after all.
- whazor 10y agoWell, it might be that the research will be done but the hardware is not strong enough. In that case it could be the people creating (and managing) the hardware.
- visarga 10y agoProbably many unemployed will start farming to earn a living, if they have access to land. That's what's left when all the jobs are gone - the earth will hire you to farm it. Otherwise, unemployed people would have to depend upon state welfare, and that is unreliable. We'll see lots of innovation in the field of self sustainable living.
- joe_the_user 10y agoFarming requires skills, good land and inputs like fertilizer. The homeless in a sad way, go back to human roots and labor as "gathers" but primarily gathering refuse. I see a lot of homelessness now. There is a significant amount of innovation but it remains a miserable, dehumanizing and short existence.
- frik 10y agoYou only need some knowledge and natural seeds. And if you have eg some chicken dung, it works like a natural fertilizer. Gen manipulated seeds from Monsanto are only good for one year and only work with fertilizer.
- tangled_zans 10y agoThat is such a messed up and privileged attitude. "Homelessness isn't a problem, you just need some seeds. Ergo if the homeless are starving they must be too lazy or maybe they spend all their money on drugs so they can't even afford a few seeds!" Try being homeless, then go back and tell us how "easy" it is. (Speaking as someone who has been homeless before).
- frik 10y agoCome on, I answered to the first sentence: "Farming requires skills, good land and inputs like fertilizer." Not about homelessness at all.
- morgante 10y agoI don't understand this attitude at all. People don't magically turn to farming when they lose their jobs. It requires land, skill, and capital. When we reach mass unemployment, we'll either have to provide for everyone or have a revolution.
- jtolmar 10y agoThat's only really true if you're an AI researcher. You could automate away enterprise bucket-brigade code and web-based CRUD apps and destroy an awful lot of programming jobs with no singularity.
- CuriouslyC 10y agoWho says automating away jobs has to look like AI? I'm pretty sure libraries like Rails, React, etc have "automated" quite a few jobs away.
- markkanof 10y agoI don't think any of those libraries are sophisticated enough to have automated away any significant number of programming jobs. They just increase productivity an incremental amount which in turns increases user's expectations about what software can be and thus creates additional work that makes up for or even exceeds the initial amount of work required.
- raverbashing 10y agoOh I do want an AI to decipher an API for me, it's usually annoying to discover how it works
- daef 10y ago.oO( we're good at writing code, but bad when it comes to reasoning about code, so why not write code to solve that problem... )
- BillinghamJ 10y agoIf we struggle to reason about code we've written, perhaps we weren't so good at writing code?
- vog 10y agoNot quite. It also means that our languages are inadequate for the task. As a rough analogy, consider how ancient philosophers tried to reason about natural language explainations (as a vehicle to reason about the world). This led to the development of formal languages, especially in mathematics, but also e.g. in laws (both have lots of clearly defined terms in them that try to make up for the ambiguities of natural language). This is exactly what I like about languages like Haskell, where you can reason realtively easily about code (although it's far from perfect). Or OCaml, where in addition you can reason about the performance (although not perfectly, due to garbage collection etc.). Or Rust, where in addition the compiler helps you to reason clearly about memory usage and aliasing. This is all far from perfect, but my point is that improving languages (and actually _using_ these good languages!) is as important as writing good code in the first place.
- nothrabannosir 10y agoSorry, accidental down vote. Great point.
- kilotaras 10y agoHere's a direct link to demo[1]. Looks like it received a hug of death. [1] http://bda-codehow.cloudapp.net:88/ http://bda-codehow.cloudapp.net:88/
- simongray 10y agoThis is a pretty cool research area, but isn't this implementation basically just a Javadoc search engine? A basic keyword search of the javadoc descriptions would return similar results in most cases, wouldn't it?
- nl 10y agoSection 5.2 compares it to search techniques. It's a bit more than twice as good as the next best method.
- simongray 10y agoOk. I definitely see the value then.
- daveguy 10y agoThe technique is a bit more complex than simple text search. It uses actual click-through data to determine quality of the search result as it applies to the query about an API. The SWIM (synthesizing what I mean) paper can be found here: https://arxiv.org/abs/1511.08497 https://arxiv.org/abs/1511.08497 Also of note from section 5.2: SWIM uses Bing clickthrough data to build the model. Using a better (or simply more used) search engine like google search would likely improve the SWIM results. EDIT: The method they use to compare the methods is BLEU which stands for Bi-Lingual Evaluation Understudy and was developed for automated machine translation evaluation. Apparently CS authors no longer bother with expanding acronyms the first time they are used. Paper is here: http://www.aclweb.org/anthology/P02-1040.pdf http://www.aclweb.org/anthology/P02-1040.pdf EDIT2: Also, for the BLEU comparison they compare the computer generated API sequence to a human-written API sequence. However, they give no details on who or how the human-written sequence is developed. Are the researchers coming up with their own API sequence? Are they using mechanical turk? Interns? There could be significant bias depending on how these human-written sequences are generated.
- zodiac 10y ago> Apparently CS authors no longer bother with expanding acronyms the first time they are used. What does CS stand for? :p But yeah, I might expect BLEU to be unexpanded in an NLP paper maybe, but not here
- petra 10y agoDoes any of the advanced machine learning and information retrieval gets implemented in tools useful for searching API's and source code ? or is Google keeping all the cool tech to itself ?
- npalli 10y ago> The results show that our approach generates largely accurate API sequences OK then, humans still needed. Best case, it seems AI will take up what one would consider interesting work (algorithms, thinking) and humans will end up doing grunt work -- testing out bugs, cleaning up data, formatting data, explaining to other humans etc. Realistically though, this just creates two API's (instead of one) for humans to master, the original API and the 99% accurate machine API and knowing where the gap/bugs are.
- reality_hacker 10y ago> humans will end up doing grunt work labeling training examples for deep learning
- skoocda 10y ago> this just creates two API's (instead of one) for humans to master Not really, it's one mega-mecha-meta-API instead of hundreds of disparate small ones. So you'd need to be able to find API bugs, I agree with that, but overall you'd probably need less knowledge. Especially if a large number of humans use this DeepAPI system, the bugs can be fixed relatively quickly.
- vessenes 10y agoI just tried this, and it is surprisingly not bad functioning as a sort of oracle / suggester. I keep a notes.txt file with thoughts questions, ideas, etc. in most projects, and I would like this hooked up to it in vim, with a given line opening up the results window on the right as I moved to it. I tried "draw a 3d cube", apparently it doesn't have any 3d java libraries baked in, but it did give me a bunch of 2d APIs, and then "plot a math function", giving me some trig functions directly and some plotting functions. That would probably have saved me 80% of my time looking stuff up, especially in such a large search space
- karmacondon 10y agoThis is a good idea for a product. I guess it's kind of like a super grep
- vessenes 10y agoYes. It could be an API that stackoverflow licenses and puts on their question page.