In Part 1 of this mini-series (a long-time ago in a galaxy far, far away, or so it seems) I wrote about the almost sci-fiction-like desire to be able to chat with your computer to gain the information you needed, just the way that James T. Kirk of the Starship Enterprise did.
Computers, machine learning and artificial intelligence have come a long way over the last 50 years, so why must we query for data the old-fashioned ways of either writing a query in some weird language, or having to pick from a limited range of choices in an application interface?
What I want is a natural-language interface with my computer. I already use Dragon Dictation to help me produce my articles; although it sometimes makes errors in interpretation, it still does a very good job. But using voice-commands to speak into a Word document is a long way from the computer being able to interpret query requests in a natural language format, either spoken or written, find the data, perform the computations, and display information in whatever format I ask.
In Part 2, published a few days ago, we looked at the importance of query language and indexing in the identification, compilation and display of data requests (queries). There are just certain rules that computers have always followed, and programmers had to obey those rules, so they could instruct computers and then garner the data within the computer into a useful format. But, as I said earlier, times are changing.
Computers have transcended the rules of the past, they are learning from humans and original source data produced by humans in ways that no longer follow the old rules. Furthermore, they are becoming truly intelligent in, perhaps arguably, a not so artificial sense as we are led to believe. They are learning to not only mimic human intelligence but go well beyond.
Google has made good use of one form of natural language query, something called ‘keyword query’. In keyword query the terms a user enters, into the Google window for example, are used literally to retrieve the URL of the data sources that match the ‘keyword(s)’. Although effective (it has made Google the richest business on the planet), ‘keyword query’ is still very restrictive.
If we had a ‘keyword query engine’ that would run a natural language query on your QuickBooks data, you could type in the word "Balance" and the application would display every balance in the system. The balance of each account, the balance of each name (customer, vendor, etc.) and other balances would all be listed. That might be of some benefit, but you can see those things now in the QuickBooks User Interface just by opening the right window; for example, the Chart of Accounts for account balances, or the Customer Center for customer balances, etc.
If we take this concept one step further, we find another form of natural language query called ‘full-sentence query’ which allows you to use not only key words but grammatical sentences or sentence fragments. ‘Full-sentence query engines’ have typically excluded verbs, prepositions and articles…to this engine such sentence components are just ‘noise’. A full-sentence query engine would permit us to specify a sentence like “Highest Balance”. In that case the likely information displayed would be our QuickBooks account balance with the biggest balance, the customer balance with the highest value, and the balance of the vendor to whom we owe the most money.
The same engine could probably handle a query like “Highest Customer Balance” just fine. But if we try to go beyond this there have been issues encountered. Even the full-sentence natural language query engines are still applying standard computer rules. That is why they exclude ‘noise’ (words) and ignore them when the query is performed. Other engines may not exclude such words, but they rank them equally with all other terms in the query as optional (a Boolean OR) and then we are back to complicated results that don’t rule out inappropriate responses.
If I want to ask a question like “Customer with highest balance from purchase of Item X over the last three months” I need a natural language search engine that can make use of keywords properly, and full sentences the way that humans write (or speak) and can define the possibilities that exist by interpreting my intention. In other words, I need a search engine that can read my mind, despite the way that I word my query.
So, let me ask you, “When Captain Kirk ask the Enterprise Computer for ‘how to defeat the Borg’, do you think he was really asking the computer to tell him how to defeat the Borg, or was he simply asking the computer to confirm what he was already thinking was the best way to defeat the Borg?"
The next time you sit down at your QuickBooks, wouldn’t it be nice to just type in a simple little sentence to get the answer you are looking for? Well, the future of query has arrived, true ‘natural language query’ is here, and in today’s First Look Friday feature, you will lean how a little application called ‘Chata.ai’ is turning science-fiction computing into reality right before your eyes.
The question you maybe asking is, "have we achieved true natural language query, have we reached the point of really chatting with our computers?" Not really, this is just the beginning folks, at least in my opinion. Machine learning and artificial intelligence are breaking the barriers of all the computer rules of old, today’s learning computers want to ‘chat with us’ (humans) just as much as we want to ‘chat’ with them. To do that they must continue to evolve in respect to the ways that humans communicate.
Take ‘texting’ for example. How many times have you upset your husband, wife, boyfriend or girlfriend with a text message just because they didn’t get the ‘inference’ you intended on top of the words you actually wrote? Humans communicate with much more than verbal or textual language. Our facial expressions, body language, gestures, and even our tonal inflections all change the meaning of the words we say…and text doesn’t really capture any of those things.
If you look at what and how I write, I tend to use a lot of ‘(word)’ punctuation as emphasis even if my General Editor and Publisher hate that. It’s because I am trying to communicate the context and, in some cases, passion, of the point I am making.
I do believe that computers with text, vocal, and image recognition features may one day, in a not so distant future, finally achieve the ability to truly interpret our communications with them. What seriously is in doubt, at least in my mind, is the ability of computers to ever truly communicate with us in the same way in which humans communicate with each other on a face-to-face basis. But I could be wrong.
That's why I have the little plaque on my desk that reads, "Once I thought I was wrong, but I was mistaken."