Free-Form Linguistic Input In Mathematica 8 84
vbraga writes "With the release of Mathematica 8, it now allows input through free-form English instead of the Mathematica syntax, just like the Wolfram|Alpha engine. The results are impressive. From the blog post: 'I routinely found myself using free-form linguistics as an integral part of longer computations — randomly interspersing Mathematica syntax and free-form linguistics on different lines in a Mathematica session, and just using whichever was most convenient for a particular input. And here's an exciting part: in Mathematica 8 the free-form linguistics doesn't just operate line-by-line. It knows the context in which it's used in a notebook, so you can use it to build things up.'"
1 up (Score:5, Funny)
Re: (Score:2)
So long as you put the question mark in the right spot . . ..
http://www.wolframalpha.com/input/?i=first+post [wolframalpha.com]!
Re:1 up (Score:5, Funny)
.
Basically just Wolfram Alpha integration (Score:5, Interesting)
Judging from the article, this amounts to some fairly rich integration with Wolfram Alpha.
Now why would it make sense to, in essence, turn Mathematica into a partially cloud-based application? Could it be because of all the millions of college students around the world who have pirate copies? Surely not!
Re: (Score:1)
At US$139.95 for a student licence, it's actually pretty cheap by comparison with some software products of more dubious value. But wrt the GP post, I'm guessing that having the product partially cloud-based is an efficient way of making it available for multiple platforms with a minimum amount of work on their part. Makes sense to me.
Re: (Score:2)
Re: (Score:2)
...but for general day to day use it'll ... stop me putting such a load on the Wolfram Alpha servers when I have the odd bit of calculus to double check.
Now, interestingly enough that's the one thing it won't do - if you start with an = sign (indicating the natural language input) then your query is actually sent over the Internet to a Wolfram|Alpha server where it's interpreted and turned into Mathematica language and sent back to Mathematica for you...
Re: (Score:1)
Perhaps, but compared with Mathematica 3 or 4, 6 and 7 had some pretty nifty stuff that required an internet connection. Graphing data, etc. is, of course, where the money is, but there's a lot you can do with Mathematica that goes beyond making confusing diagrams. The best example I can think of was astronomy. With a wealth of data about the planets, we actually did some hefty gravity modeling. Or analyze the stock market, whatever suits your fancy, but you nicked it from the web. I'm sure you know al
Re:Basically just Wolfram Alpha integration (Score:4, Funny)
Thats why *I* pirated Maple.
Re: (Score:3, Informative)
More likely it makes sense because it
They're pirating software! Oh no! (Score:1)
To the cloud, to the cloud. Man the lawyers.
Wolfram alpha has just updated its TOS: By using this software, you agree you owe Wolfram $200 for each year of usage, and that he owns any findings in Maths that you may come by by using this software.
Post First (Score:5, Funny)
How is this going to help me find Natalie Portman get all these hot grits out of my pants? Natural language is all good, and this is a huge step forward, but in 2010, I won't be truly impressed with a tech demo until it can grasp antiquated slashdot memes from almost a decade ago. I know you guys at Wolfram are reading this, so I fully expect something unexpected when I calculate the number of surface area of football fields it takes to hold the library of congress printed out on 8.5x11" paper with 1" margins. Natural language is one thing for mathematicians, it's another for the average 4chan user. Now that's bleeding edge.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
You don't need to know the font size. A program that handles data on that level should be able to calculate the average amount of data stored on a sheet of paper, and extrapolate from there.
How much data stored on a sheet of paper (Score:2)
That could theoretically include the quantum states of all the atoms in ink on the piece of paper, so who knows, one sheet might be all you'd need.
</silly_pedantic_mode>
Re: (Score:1)
How is this going to help me find Natalie Portman get all these hot grits out of my pants?
is easy!
As Billy Joel said sometime in the 1970's, "All it takes is good looks and a whole lot of money."
The other question takes computer cognition and [computer simulated] understanding, One approach is to that is we have to map out and understand the human brain and thought process, and implement it in wetware. Another approach is that we have design computers which can evolve sufficiently to acquir
Re: (Score:2)
Wow, it turns up results!
Answer: 29 years
And you can't get there from here...Cannot
Re: (Score:2)
Damnit, forgot to say "Seems pretty accurate to me", then it would be funny.
Freeform linguistics no good unless perfect (Score:5, Interesting)
There is an inherent problem with free-form linguistic input to computer systems.
If it doesn't have near-perfect comprehension of a wide range of topics, it's
frustrating as hell. It's like talking to a person that is mostly there, but has
brain lesions that wiped out part of their memory or frontal lobe, making them
oblivious to some common concepts and ways of speaking.
It's directly analogous to the "uncanny gulf" between a near-perfect computer-graphics person
and a real person. It freaks the hell out of people.
I'm not saying that natural language interfaces are always going to be a bad idea, but
the system underneath needs true comprehension of the world and the motives of speakers,
and of many ways of expressing the same thing. The bar is very, very high.
Re:Freeform linguistics no good unless perfect (Score:4, Interesting)
Yeah, like AppleScript, the perfect read-only language. Anyone can read it because it just looks like English with a limited vocabulary. But trying to write it, and work out exactly what the tokeniser will accept, can be incredibly frustrating.
Re: (Score:1)
I think AppleScript is a great way to get an unexperienced someone some experience. It's easy enough to sit in front of your mac, open and screw around with a random script from your computer, and actually get some meaningful results, while introducing you to basic concepts that would make learning something else much easier. A gateway language, if you will. Automator defeats the purpose in my mind - it's easier and is kind of like AppleScript for dummies, but takes out a lot of the growthful learning re
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
That probably makes it much easier to teach. Learning mathematica was wonderful but you gotta buy the book or deal with the (truly excellent at times but always boring) help. If you can just say "Hey, do this" and be told what the proper command is, that goes a long way toward being able to learn the language. If there's a negative about most programming languages, it's that if you haven't had any formal training it can be a real pain to figure out the quirks.
Actually this looks pretty good (Score:5, Insightful)
When you are programming think about how often you use code completion because you can't remember parameter order, and how often you google stuff because you can't remember the exact class/function name. This lets you "google" without leaving the page, and cuts down on the amount of typing necessary. The fact that they allow you to refine the interpretation is what really makes this the difference between a frustrating and smooth experience.
Re: (Score:1)
And more importantly, even if it gets your query wrong, you can write the precise one based on the (usually at least partially correct) query it generated from natural language. This is very often more efficient than doing help/google queries for appropriate commands and their syntax...
Re: (Score:3, Informative)
Re: (Score:2)
That is very true. The worst part of Wolfram|Alpha is that sometimes you know it has the data you want, but you cannot get it to spit out what you want. The fact that it was explicitly designed to not have a an optional strict syntax drives me crazy.
In Mathematica you can try the freeform syntax, and if it fails, fall back on the strict syntax. Hopefully the Wolfram|Alpha API it uses also permits a strict form of accessing the data-sets Alpha uses, so you can query them strictly too if desired. (Some of Alp
Re:Freeform linguistics no good unless perfect (Score:4, Interesting)
There's a really good blog post here [blogspot.com] about why Wolfram Alpha is really hard to use. Fundamentally, the Alpha control interface tries to be intelligent; when it works, it's nice, but when it doesn't its output is not consistent. Unfortunately, because of this, you can't form a mapping between input -> output - in your example, for instance, you thought that "tensile strength of [whatever]" would give consistent results, so you formed a mapping in your head ("tensile strength of [whatever] results in the tensile strength of a material"). Then it turns out that this control mapping doesn't actually exist, which is incredibly frustrating.
Google, on the other hand, doesn't do any of that shit. You just get something that's kinda sorta like what you wanted. You don't expect anything beyond a certain probabilistic accuracy, so you don't form any control mappings beyond a general "if I search for [whatever] I'll get results related to [whatever]". When they do provide a control, it's very well defined; for instance searching for "site:[some site] [whatever]", which always work the way you expect it to.
Fundamentally, Google lets you build a model in your head of how their tool works, even if there's a gray unknown area where the results are; as an example, when you throw a ball, you have a mental model of how Newtonian physics works, so you have a general idea of where the ball is going to end up.
Alpha makes you think you're building a model, and then the model breaks somehow - like if when you threw a ball, it occasionally turned into a dove and crapped on you.
People don't like it when you break their models or crap on them.
Re: (Score:2)
Type in "tensile strength of steel", it gives you a table of mechanical properties for steel. Type in "tensile strength of aluminum", and it ignores the "tensile strength" and just gives you chemical info on Aluminum. Tried a few variations in syntax, and tried spelling it the British way, no luck. It's a useful tool, but the parser seems inconsistent, probably the worst thing a program can be.
Because its a bad question.
If you've got the cash, exotic alloys are available with exotic properties, but for the design purposes of someone whom doesn't know any better, HSLA steel is probably what they're talking about, without even knowing it. HSLA structural steels all specify a minimum of 50 ksi and most don't go a whole heck of a lot higher since they're made to be as cheap as possible while meeting the spec. So asking "the tensile strength of steel" a sloppy but mostly correct answer would be abou
Re: (Score:2)
Ideally, it would ask "what alloy are you asking about", but just giving an "average" result while having a little "this information is for alloy 113811742, click for more options" box in the corner, would be fine.
Re: (Score:2)
I think what is being "inconsistent" here is the data itself on which the "consistent" program relies to give the meaningful answer.
That being said , I completely understand that the end perception is the one you describe.
Re: (Score:1)
Re: (Score:2)
It's pretty good, except when it isn't.
I recently wanted to know when the sun would set in Yellowstone on a certain date. It took me four tries to figure out how to get sunset for a day other than today (hint: "sun set" always refers to today, "sunset" can refer to any day), and three tries to figure out how to get a location other than what my IP address geolocates to. It then took another five tries to find a location near Yellowstone that was in WolframAlpha's database (there are some remarkable incons
Re:Freeform linguistics no good unless perfect (Score:4, Insightful)
Re: (Score:3, Funny)
It's directly analogous to the "uncanny gulf" between a near-perfect computer-graphics person and a real person. It freaks the hell out of people.
I can sympathize. I've seen the same reaction when people are exposed to a mathematics person (near-perfect or not doesn't really seem to matter).
Re:Freeform linguistics no good unless perfect (Score:5, Interesting)
Did you read the article?
I think that they've hit on an excellent way of making imperfect freeform linguistics very useful. Basically, it's provided as an alternative to a more precise input language, one that works a lot of the time and when it does requires less effort by the user. When the computer can work out what you mean, it does. But it also always translates what it thought you meant into the precise, formal language and displays that so that you can tell whether it got it right. Further, if there are a few competing interpretations of the vague, freeform input, the tool makes it easy for you to pick the one that you meant.
As long as it gets what you mean right enough of the time, while allowing you to be vague enough that using the freeform input really is saving you mental effort, I can see tremendous value in this approach. And over time it will continue to get better.
I have no doubt that you'll quickly learn that there are some kinds of things which are just better-expressed in formal notation. Heck, we sometimes find that to be the case even when we're communicating with other humans. But there are also a LOT of cases where informal language works just as well and is a lot easier. I'm sure that set will be smaller when working with Mathematica than another person -- but it looks to me based on the article like the set is large enough to be useful.
In particular, I can definitely see using this as an easier route to a lot of the more obscure commands and options, such as the options to tweak graphs in various ways. And if it turns out that using the natural language didn't work, well, your next step was going to be to dig through the manual to figure out the formal notation anyway, so it didn't cost you much time.
I can see this freeform linguistics approach being quite valuable, even though it's quite imperfect.
Re: (Score:2)
Its not difficult at all with modern megacorps.
Based on current average programmer production, and the size of Apples new facility, I am sure it would only take few hundred dedicated programmers 8.3 years to build the comprehensive Eliza you speak of.
Re: (Score:1)
I see it as being extremely useful in scripting, and it will work wonders for me if the program can only remember the last line I wrote:
p = plot(something)
...
p.add_title(title)
p.add_legend(x,y,z)
p.remove_grid()
p.add_grid()
p.make_grid_minor()
p.make_x_axis(0,100)
p.make_x_axis(0,500)
p.make_y_axis_log()
to:
plot(something)
make the title 'title'
make the legend x,y,z
remove the grid
undo
make th
Re: (Score:2)
The same as Alpha? Not impressed.... (Score:4, Interesting)
I've actually found myself always needing to look up the exact syntax for Alpha, sometimes for even what I would think common tasks are, "solve for", "graph f and g", etc, because Alpha rarely seems to accept my "freeform" input.
This headline and "article" is another effing Slashdot sponsored advertisement.
Re: (Score:2, Insightful)
This headline and "article" is another effing Slashdot sponsored advertisement.
I find it more interesting than the other current headlines. Slashvertisement and news aren't necessarily distinct, depending on the crowd.
Re: (Score:2)
I've actually found myself always needing to look up the exact syntax for Alpha,
If you think that then you're just going to break down in a teary mess if you ever try to do something with Mathematica. Maybe this is news because it's actually news. "Science company with hard to use program which is the bane of every college student's existence responds by attempting to understand what students want." Given how complicated the syntax in many of these programs are it is actually genuinely refreshing to see a company make an effort even if it doesn't meet your stringent requirements. I lik
ability to turn it off (Score:5, Interesting)
Re: (Score:3, Informative)
To use freeform syntax, you prepend your command with an equals sign. So even if you cannot turn it off, you can very easily just ignore it as a feature. The idea is to use it where convenient, like tell it to graph a function, and let it take a guess at an appropriate range to graph it over. If you don't like the results, you can edit the displayed Mathematica syntax command it displays, and you still saved yourself a bit of work.
It emphatically is not intended for being used in scripts, but is only intend
Re: (Score:2)
I could not yet try Mathematica 8 out, but I hope one will be able to turn the feature on and off.
It's only used when you explicitly invoke it by beginning your input with "=" or "==".
Re: (Score:2)
The problem with making software try to guess what you are thinking is that even humans are bad at guessing what you are thinking. That's why mathematics itself has a formal language and notation, so that unambiguous communication of ideas can take place. My worry is that this sort of "feature" will fool people into thinking they've accomplished something when all they have is gibberish that runs and makes pretty pictures.
I remember in college I took a philosophy course, and one of the r
Re: (Score:2)
Re: (Score:2)
I could not yet try Mathematica 8 out, but I hope one will be able to turn the feature on and off. A switch like in "perl -w" should be built in. Mathematica is first of all also a programming language, especially for Mathematics and colloquial language is not precise. It could be be frustrating if wrong syntax still produces reasonable results. Incorrect, but working code might become the standard if one does not notice. Its like with memory allocation errors in C produced by incorrect code which still compiles. It will haunt the programmer in the long term.
I'm not in the field, so I've never seen anyone use Mathematica. But math is a continuum from colloquial to formal. Any tool that allows folks to play around with math in an informal, yet computationally sound way is a good thing. There is nothing wrong with VB and C coexisting -- it is a good thing to have different tools and abstractions available to the laymen and the experts.
Re: (Score:1)
I'm not in the field, so I've never seen anyone use Mathematica. But math is a continuum from colloquial to formal. Any tool that allows folks to play around with math in an informal, yet computationally sound way is a good thing. There is nothing wrong with VB and C coexisting -- it is a good thing to have different tools and abstractions available to the laymen and the experts.
I don't think that analogy quite holds up. The free-form language allowed is effectively a shorthand for programming language-style use of Mathematica. I think a more accurate analogy is VB.NET to C#.NET. The VB syntax is friendlier (eg. "MustInherit" for "abstract") but the differences are only skin deep since they compile to the same thing anyway.
"Colloquial" math to me means "non-rigorous", like high school calculus, which is not at all a direct translation away from formal math. The free-form syntax, o
Re: (Score:2)
Awesome (Score:1)
MATLAB, anyone? (Score:2, Interesting)
Maple was used primarily by undergrads to compute simple indefinite integrals and derivatives, and display them all "pretty" (insert MATLAB pun here) in a Tex-like format. Mathematica was almost on-par with MATLAB. Meanwhile, MATLAB seems to be the only math package used in all the physics and engineering labs I've visited, runs several orders of magnitude faster, and is excellent for algorithm testing. GNU
Re: (Score:1)
Re: (Score:2)
You could always learn the language
If you don't know the syntax, you have to go look it up in the documentation. The trouble with the documentation is that it is often hard to find exactly what you are looking for, or the examples might not be clear enough. So to improve the documentation search, it would help if you could type what you want in plain english, and it tells you the syntax for you on the spot. Which, of course, is what this feature does, plus it doesn't require you open up the documentation and it even executes the command for
Re: (Score:2)
I don't think that elegant syntax and reasonably straightforward function names are incompatible with a high-level computational language. Mathematica's syntax really is very nice and your first guess at a function name tends to be correct which can save some time. I don't think that the syntax of Mathematica generally gets in the way of writing scripts.
It's too bad that it falls behind MATLAB for numeric data and behind Maple for symbolic mathematics but in some cases cases (many cases) it's still handy to
Re: (Score:2)
I think you may be relying on dated experience with Mathematica. Mathematica has been pretty comparable to MATLAB in terms of speed since version 6. Look up scientificweb's ncrunch comparison.
Learn to use your F1 key (Score:1)
Re: (Score:2)
Since "getting used to [something]" is pretty much defined as reaching the point where [something] becomes quite easy for you, that's basically tautologically true and, for the same reason, essentially devoid of substantive meaning.
In short, (Score:2)
Very good for beginners, potentially useful for more experienced users, but something that's not really critical for serious development. Honestly though, I'd see this as useful for something like formatting TeX input. For something numerical though where innocent errors can turn out pretty serious, this could cause a lot of headaches. Use with caution....
Re: (Score:2)
Mathematics is the language of quantification. Philosophy attempts to provide interpretations for languages. They are not subsets of each other, but they are intimately related. There's a Galois connection between them.
This is so awesome! (Score:3, Interesting)
It makes me really wish that I knew enough math for the program to have any use.
I once tried to apologize to the developers for pirating Mathematica. The just laughed at me and said that was impossible. :(
Re: (Score:2)
Wow, people actually took my comment seriously...
Re: (Score:1)
Yes, but does it still have just one level of undo?
Probably. My observation is that anything front end related got worse since 5.2 - the new 6.0 front end trips up some window managers (because it doesn't completely conform to the X11 protocol), it doesn't any more support Shift-Del/Ctrl-Ins/Shift-Ins for cut/copy/paste (especially Shift-Del does a regular delete, which looks exactly like a cut so you'll not notice it until you try to paste, at which time thanks to the shitty undo functionality you already have lost whatever you wanted to cut), and the vers
Inform 7 (Score:2)
While not completely free-form, writing interactive fiction in Inform 7 [inform7.com] is done mostly in natural (if somewhat simplified) English. So it's not like these things are new.