Amit Prakash24:41
It's one of the problems that I'm really passionate about, and I've spent quite a bit of time finding a solution for this that can be turned into a product. We also have an alpha version of this thing out there where people are trying it. But I think it's going to take a lot more than something like GPT and BERT to be able to solve this specific problem. For lack of a better word—and I know some people frown on it—I think the solution to this problem really lies in how we can represent knowledge efficiently and how we can capture knowledge efficiently. GPT is capturing a lot of real-world knowledge, but I'll give you an example. I was talking to an airline company, and they were trying out our alpha product and being able to ask questions in natural language. In their domain, 'A0' means average departure delay for a flight segment, and 'D0' means average arrival delay. When they ask 'What's the A0 for DFW?', that means what's the average arrival delay for any flight segment where the arrival airport was Dallas Fort Worth. When they say 'What's the D0 for DFW?', that means what's the average flight segment delay where the departure airport was DFW. Only the people in that company know this correlation—that when I say A0, this filter changes to arrival, or when I say D0, this filter changes to departure airport. They're busy people, they're not going to generate a million training examples for you to be able to learn this context. This is the determining factor that's affecting this thing. Things get arbitrarily complex. I was talking to one of the travel agency companies, and one of their prime questions was 'How many of my customers are in New York right now?' New York happens to have 17 different meanings in their data set—whether it's the arrival airport, departure port, hotel, their office headquarters, the travel agent's headquarters, city, state, all the combinations. In this specific case, what they really want is that their departure date should be today. So the problem is about capturing the context and representing it and presenting it. That's one aspect of it that I've spent many cycles trying to understand what would be the right UX to capture it, what's the right data structure to capture it, what's the right way of inferencing. But we're not close. The other thing that's very interesting is that even though natural language is fantastic for short questions, when people go deep into analytics, typically the questions grow very, very fast. At some point, very quickly, the questions have no equivalent in natural language. For example, 'Show me all the products that were returned and discount the revenue by for each partner by the margin that we are providing them'—that kind of thing is very common. If you look at Google queries, the average query length is like three words. If you look at BI queries, the average query length is like 20-30 words. At that point, natural language is too noisy and ambiguous to even communicate precisely the meaning of the question. If you took their question and repeated it back to them a week later, they wouldn't know what exactly the interpretation for this question should be. So I think building a 99.9% accurate translation layer from natural language to this DSL will definitely move the state of the art.