Lambda the Ultimate

inactiveTopic Translating human language to database query language
started 8/26/2003; 10:38:32 AM - last post 8/29/2003; 11:05:31 AM
Manuel Simoni - Translating human language to database query language  blueArrow
8/26/2003; 10:38:32 AM (reads: 6091, responses: 11)
Translating human language to database query language

Mitsubishi now owns the problem of translating natural language questions into database queries by using parsers and virtual tables. No parsers are disclosed.

To my mind, software patents (and other "idea patents") pose a serious threat to innovations and innovators. Please support the fight against software patents in Europe.


Posted to general by Manuel Simoni on 8/26/03; 10:48:08 AM

Ian Wehrman - Re: Translating human language to database query language  blueArrow
8/26/2003; 8:45:00 PM (reads: 774, responses: 0)
Sounds a lot like PRECISE, a research project at the University of Washington which "will reliably answer English queries to a database."

http://www.cs.washington.edu/research/projects/WebWare1/www/precise/precise.html

Works pretty well, too...

bryan rasmussen - Re: Translating human language to database query language  blueArrow
8/27/2003; 1:30:16 AM (reads: 751, responses: 0)
a propos Precise: Contrast the query Where is Washington D.C with the query Where is Washington

Ken Hirsch - Re: Translating human language to database query language  blueArrow
8/27/2003; 12:53:27 PM (reads: 679, responses: 1)
One and a half cheers for software patents

Although I would really prefer to not have software patents, I don't think that the case against them is so clear cut. There are many terrible software patents--vague, obvious, trivial, overly broad, and so on. But there are also software patents that are specific, novel, useful, innovative, implementable. And it is possible that software patents benefit us in a couple of ways.

First, companies are encouraged to publish details of their inventions that otherwise would have been held as trade secrets. In the database management world, most of the innovations have been made in industry, and before software was patentable most details were kept secret. For example, David Lomet tells me that Tandem held as secret the "repeating history" recovery scheme that was later re-invented by Mohan and published as part of IBM's ARIES system (parts of which were patented.). See ARIES for details of that system and links to good patents.

If it weren't for software patents, it's doubtful that IBM would have published such details.

Lomet himself has a couple of dozen patents. Of the ones I've looked at, they are all high quality patents. On the question of patents encouraging innovation, he says:

I believe that software patents increase the value of research to companies, and hence that there is more industrial research because of it. It is impossible to know which inventions would or would not have been made due to software patents, but I firmly believe that there would be less research, and that some of the inventions would not have been made- and some that would still have been made would be held as trade secrets. For example, almost all of my inventions were made while I was working in a research lab. It seems highly plausible to me that had I held a different job, I would not have made as many inventions.

(Personal Communication)

I'm not sure that this effect is as significant, and the ill effects of all the low-quality software patents may outweigh the benefits, but I think it's important to admit that there are some good effects.

Ehud Lamm - Re: Translating human language to database query language  blueArrow
8/27/2003; 1:00:47 PM (reads: 709, responses: 0)
Since this is LtU, how about relating this to programming languages?

Quite a few innovations, or at least widespread languages, came from research labs. Most of these were never patented as such.

Chris Rathman - Re: Translating human language to database query language  blueArrow
8/28/2003; 11:49:33 AM (reads: 626, responses: 3)
IMHO, patents don't work so well when it comes programming languages. For new languages or features within an old language, the push is to get people to use the language. Anything which interferes with the process will doom the language.

I guess you could try to patent a DSL, but it's only useful insofar as you can keep others from using your variation.

Ehud Lamm - Re: Translating human language to database query language  blueArrow
8/28/2003; 11:56:53 AM (reads: 638, responses: 2)
Of course. I think that even VB isn't patented (right?). Languages are standardized, and that is something completely different.

The Ada(83) mandate, which did more harm than good, is the closest thing to a language patent that I can think of.

Frank Atanassow - Re: Translating human language to database query language  blueArrow
8/29/2003; 7:08:07 AM (reads: 643, responses: 1)
The Ada(83) mandate, which did more harm than good, is the closest thing to a language patent that I can think of.

Miranda(tm), one of the predecessors of Haskell, is copyrighted or patented or something by Research Software, Ltd. Furthermore, the syntax of guards in Miranda is copyrighted or patented or something. They look something like this:

fac x = 1, if x = 0
      = x * fac (x-1), otherwise

It is partly for this reason that Haskell has a different syntax for guards. Needless to say, not many people are happy about the Miranda situation, not least authors who are always forced to put in a footnote to the effect that "Miranda(tm) is a trademark of Research Software, Ltd." (Yes, this really happens.)

Ehud Lamm - Re: Translating human language to database query language  blueArrow
8/29/2003; 7:10:49 AM (reads: 666, responses: 0)
Right. I should have remembered this. It is infinitely amusing to see the (tm)'s in academic papers. I just love it.

Ken Hirsch - Re: Translating human language to database query language  blueArrow
8/29/2003; 9:30:24 AM (reads: 588, responses: 1)
My thesis is that when inventions are patentable, companies will publish more technical details of things that could be kept as trade secrets than they otherwise would. The user-visible elements of a language wouldn't fall into that description, but code generation, VMs, JIT, and many other details of implementation would.

I don't know enough about the history of language implementation to know if companies are, in fact, publishing more details than they did before the 1980s. Perhaps some others could comment. Here are some patent searches on Class 717 for IBM, Microsoft, HP, the late DEC, Sun and Intel.

By no means are all of these the kinds of patents I'm talking about, but some are. Some do refer to user-visible aspects, and many are pretty trivial patents that the companies have to file defensively. I'm not sure how Microsoft feels about patents after the recent 520 million dollar judgment against them. As far as I'm aware, Microsoft has never sued anybody for patent infringement.

Chris Rathman - Re: Translating human language to database query language  blueArrow
8/29/2003; 11:05:31 AM (reads: 584, responses: 0)
Well, if you take the case of Miranda, the amount of documentation on the web is minimal (with half the links broken). Contrasted that with the open standard of Haskell which arose out of the concern that Miranda was a proprietary language. Not sure if the owners of Miranda made money by keeping the language to themselves, but in the long run Miranda is a doomed programming language, which is odd since it had at least a 5 year jump on Haskell.

Ehud Lamm - Re: Translating human language to database query language  blueArrow
8/29/2003; 2:05:38 PM (reads: 594, responses: 0)
The user-visible elements of a language wouldn't fall into that description, but code generation, VMs, JIT, and many other details of implementation would.

That's an interesting thesis. I am not sure its true (there are many publications about implementation techniques), but it's an idea worth thinking about.