As part of my current post-grad module in Software Development, I have to track that discipline’s leading edge by keeping up to date with resources and materials found online in the form of blogs/podcasts and peer-reviewed papers. Here I take a look at recent articles and posts in my Software Development Goody Bag and write summaries on what I’ve found interesting and why.
1. Developments in Facebook’s AI: http://sdtimes.com/facebook-trains-ai-negotiate-slack-highlights-ibm-launches-new-cognitive-solutions-sd-times-news-digest-june-15-2017/
This interesting article looks at the developments being made by Facebook’s AI engineers at FAIR (Facebook Artificial Intelligence Research), who are working on the next level of chat bots. While existing chat bots allow good coverage of simple well-structured conversations such as booking a flight or hotel, or buying an item from an online catalogue, they can’t yet handle well the kinds of complex every day interactions we humans take for granted.
In particular FAIR have developed forms of Natural Language Processing which can engage in negotiations. The example they give in the article seems pretty simple (they’re not going to be using computers to negotiate Brexit any time soon!), but it does nevertheless highlight the multi-level knowledge required by an AI agent if it is to engage successfully in realistic real-world interactions.
There’s a need for the agent to know what kinds of responses might be encountered so it can understand the specifics of the interaction taking place. But it also needs to be grounded in a wider knowledge of the world. This latter is something humans have gained through years of social learning via our ongoing interactions with one another and our environments – and that learning has taken place not just in our own lifetimes to date, but is the result of longer-term learning at both the family (generational) level and in wider society too.
I wonder how AI could be expected to progress at speed given the need to encapsulate at least a good part of that social learning within the software programme?
FAIR’s original article is here: https://code.facebook.com/posts/1686672014972296/deal-or-no-deal-training-ai-bots-to-negotiate/
Download their paper here: https://s3.amazonaws.com/end-to-end-negotiator/end-to-end-negotiator.pdf
Access their open sourced code here: https://github.com/facebookresearch/end-to-end-negotiator
Of course AI remains my biggest area of interest in software and computing so I naturally gravitate towards articles about this subject, especially technical ones. I can only wish for more free time to allow me to dig deeper into this and other available code and research findings. It may yet be possible, and who knows, one day I might even be adding my own contributions to this field too.
2. White Collar Robotics: https://www.computer.org/intelligent-systems/2017/06/05/emerging-white-collar-robotics-the-case-of-watson-analytics/
Another article which caught my eye looks at broadly the same subject, but reviews the implications in the workplace of the rise of intelligent machines applied to business and managerial settings. I’ve read many an article penned by professionals such as accountants who believe a computer cannot replace them. But more and more tasks at operational and tactical levels (and even some at the strategic level too) are increasingly rule-based, making them perfect candidates for a cheaper robotic replacement.
The article above looks at the narrow implementation of robots or intelligent machines within business analytics. Here a pre-defined analytical task (or set of tasks) can be performed by the computer far more speedily (and cheaply) than the human it replaces. For example:
[W]e might give data to such a robot and ask it to “analyze it, and I will ask you some questions later—come back to me with some suggestions as to what you think the data says.”
There is analytics software available in the marketplace already at this stage of development: the article mentions Watson Analytics but many others can also be found. Such software allows junior staff – those with lower levels of analytical understanding – to perform the same kinds of analysis that would previously be carried out by more experienced, and hence more expensive, employees.
Such software is an example of active software: one which “makes recommendations and does analysis without needing the user to specify the models.” One element to active software is tat it gives “orders” to its human users: for example, someone using Google satnav who doesn’t know where they are will follow the orders of the Google program to allow it to guide them to their requested destination.
I find this an interesting idea at a philosophical level, as well as from the technical computing aspect: to what extent will humans be willing to give up autonomy to a computer?
Speaking to non-techie friends and colleagues, it’s clear to me the extent to which many computer users can’t stand using computers and find them infuriating at times. Yet many are increasingly happy to give away autonomy and control to a machine in certain settings. It seems likely in coming years we’ll see more employees being ‘directed’ by a machine rather than being the ones doing the directing.
The article goes on to highlight some important active software aspects of these “white-collar robots”, stating that they:
[will make] assumptions as to where or what the user wants or needs … [are] likely to make predictions about what would be useful to the user … may be autonomous and function largely without the user or its inputs … [are] likely to be goal oriented.
I also believe this raises an interesting point about how such software can be developed. While the analysis and design development process we’re learning on M813 provides a very thorough approach to development when able to elicit and validate requirements, and subsequent design artefacts, with stakeholders (the eventual users of the system solution being developed), to what extent will this process need to change in the case of such active software? Software developers of the not-too-distant future will likely be needed who have a greater grasp of business processes and business models, and who can cover off at least the first two of the three levels of a business (operational, managerial, strategic).
Perhaps we are now entering into a new post-specialist phase, to one of the multi-disciplinary business engineer. And that’s just the direction I wish to pivot my business career towards.