Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Free-Form Linguistic Input In Mathematica 8

Soulskill posted more than 3 years ago | from the differentiates-concepts-and-integrates-words dept.

AI 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.'"

cancel ×

84 comments

Sorry! There are no comments related to the filter you selected.

1 up (5, Funny)

Anonymous Coward | more than 3 years ago | (#34238436)

So can you can say things like "there exists a post for which the ordinal index is one?"

Re:1 up (-1, Troll)

Anonymous Coward | more than 3 years ago | (#34238550)

So can you can say things like "there exists a post for which the ordinal index is one?"

Yes but it's more fun to say things like "why do niggers stink so bad? so the blind can hate them too!" Plus it fits in great with that other story about ADA.

Re:1 up (4, Funny)

RevWaldo (1186281) | more than 3 years ago | (#34238968)

Yes, and it can now handle classical written equations [themathteacher.org] previously resistant to artificial intelligence.

.

Re:1 up (0)

Anonymous Coward | more than 3 years ago | (#34297404)

Sir,

Thank your for your timely reminder that the noble art of first posting is not dead.

Yours, in sincere gratitude,
Reginald Q. Trollington Esq.

Basically just Wolfram Alpha integration (4, Interesting)

IICV (652597) | more than 3 years ago | (#34238442)

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:Basically just Wolfram Alpha integration (0)

Anonymous Coward | more than 3 years ago | (#34238496)

Actually the licensing on 7 is pretty sound. I bought 2 student copies and a home edition to cover all my systems. A lot of the software I use is "trial", but couldn't find a way with Mathematica. Plus, I'm happy to pay for it given all that it does.

Re:Basically just Wolfram Alpha integration (1)

BrokenHalo (565198) | more than 3 years ago | (#34239740)

Plus, I'm happy to pay for it given all that it does.

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:Basically just Wolfram Alpha integration (0)

Anonymous Coward | more than 3 years ago | (#34240470)

You personally had to buy three licenses to cover all your computers? And let me guess, you had to sign up three separate times to their annual charges to receive bug fixes for each of those licenses?

I was hit by a bug a couple of months after purchase, and when I asked for the point-point upgrade (x.y.(z+1)) that fixed the bug I was told to shell out annually for upgrades. Goodbye Wolfram, hello sage [sagemath.org] .

Re:Basically just Wolfram Alpha integration (1)

MoonBuggy (611105) | more than 3 years ago | (#34238554)

I don't know, I'd imagine that an awful lot of universities have site licenses for Mathematica. As I said below, I think it's a genuinely useful feature, and thus a selling point - it may not be strictly necessary, but it basically serves as fuzzy matching for syntax that I can't quite remember, which makes my use of the program that much easier and more efficient. If I need to do something particularly complex and/or precise, I can still fall back to the documentation for the rigidly ordered standard syntax, but for general day to day use it'll make my life easier (and/or stop me putting such a load on the Wolfram Alpha servers when I have the odd bit of calculus to double check).

Re:Basically just Wolfram Alpha integration (1)

PhunkySchtuff (208108) | more than 3 years ago | (#34240364)

...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:Basically just Wolfram Alpha integration (1)

Amorymeltzer (1213818) | more than 3 years ago | (#34238806)

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 all this but the point is that being more than just a fancy-schmancy calculator programming language means being more useful outside of that small world, which at this point honestly means more cloud.

Re:Basically just Wolfram Alpha integration (3, Funny)

Bill, Shooter of Bul (629286) | more than 3 years ago | (#34239098)

That's absurd!! what kind of a low life would steal money out of the mouths of Wolfram developers! I know those guys, they already have to live in Illinois, what more punishment would you inflict upon them you callous brutes!

Thats why *I* pirated Maple.

Re:Basically just Wolfram Alpha integration (0)

Anonymous Coward | more than 3 years ago | (#34239786)

While I do belive that Mathematica is a target for widespread student piracy, I don't belive that wolfram seriusly belives that the students who pirate are potential costomers, and I am fairly sure that larger license sales are the majority of their buisness.

The real reason for this cloud-based leap forward is that Steven Wolfram is pushing the agenda, and he personally believes that this will lead to a computation revolution, just like he believes that people are more interested in an Integrator that is capable of handling 11 new special functions then they are in a multilevel undo.

Re:Basically just Wolfram Alpha integration (2, Informative)

thegarbz (1787294) | more than 3 years ago | (#34239878)

I highly doubt going after students who have the choice between two free alternatives is the answer. For the vast majority of us engineering students the options are a) piracy, or b) use it at the university which already licences this kind of software per student. This is non-essential software for most people, and where it is essential it is often provided.

More likely it makes sense because it ... simply makes sense. Having the data right there at your fingertips inside Mathematica is a logical extension of Wolfram Alpha, much like the default action in Google Chrome to handle a non-url input in the address bar is to do a Google search.

They're pirating software! Oh no! (1)

paxcoder (1222556) | more than 3 years ago | (#34241332)

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 (4, Funny)

Hadlock (143607) | more than 3 years ago | (#34238448)

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:Post First (1)

Hardolaf (1371377) | more than 3 years ago | (#34238504)

It appears that this functionality is not yet in WolframAlpha http://www.wolframalpha.com/input/?i=the+number+of+surface+area+of+football+fields+it+takes+to+hold+the+library+of+congress+printed+out+on+8.5x11%22+paper+with+1%22+margins&incParTime=true [wolframalpha.com] Perhaps we should demand this functionality?

Re:Post First (1)

choongiri (840652) | more than 3 years ago | (#34238538)

Well of course that doesn't work. You didn't specify the font size.

Re:Post First (1)

Hadlock (143607) | more than 3 years ago | (#34238628)

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 (1)

zooblethorpe (686757) | more than 3 years ago | (#34238650)

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:Post First (1)

deodiaus2 (980169) | more than 3 years ago | (#34238642)

the part
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 acquire an intelligence of their own accord.

Re:Post First (0)

Anonymous Coward | more than 3 years ago | (#34239032)

i calculated it by filling a page of times new roman "A"s and got 2438 characters per page. I then found that 10 terrabytes was the size of the library of congress(http://www.jamesshuggins.com/h/tek1/how_big.htm). under the assumption that one character is a byte i calculated it to be 462000 football fields. http://www.wolframalpha.com/input/?i=%2810e13%29+%2F+2438+*+%288.5%22+*+11%22%29%2F+area+of+a+football+field

Re:Post First (0)

Anonymous Coward | more than 3 years ago | (#34239236)

How is this going to help me find Natalie Portman get all these hot grits out of my pants?

How does it make you feel to help me find Natalie Portman?

Natural language is all good,

What makes you say that Natural language is all good?

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.

Is it because you expect something unexpected that you calculate the number?

Natural language is one thing for mathematicians, it's another for the average 4chan user.

Is it because you underage girls that you average 4chan user?

Now that's bleeding edge.

ELIZA thinks you're a sick bastard.

Re:Post First (1)

dilvish_the_damned (167205) | more than 3 years ago | (#34239238)

How is this going to help me find Natalie Portman get all these hot grits out of my pants?

Wow, it turns up results!

Answer: 29 years
And you can't get there from here...Cannot

Re:Post First (1)

dilvish_the_damned (167205) | more than 3 years ago | (#34239250)

Damnit, forgot to say "Seems pretty accurate to me", then it would be funny.

Freeform linguistics no good unless perfect (5, Interesting)

presidenteloco (659168) | more than 3 years ago | (#34238450)

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 (3, Interesting)

_merlin (160982) | more than 3 years ago | (#34238508)

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:Freeform linguistics no good unless perfect (1)

Amorymeltzer (1213818) | more than 3 years ago | (#34238860)

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 required.

Re:Freeform linguistics no good unless perfect (2, Interesting)

MoonBuggy (611105) | more than 3 years ago | (#34238510)

I disagree, in this case at least. I was actually thinking about this a week or so ago - I noticed that I more often than not use Wolfram Alpha even though I've got a (site licensed) copy of Mathematica on my machine.

What it comes down to is that while Alpha might not be 'natural language input', it does use something probably best described as 'fuzzy syntax'. If I'm not doing industrial strength quantities of calculation, it's quicker to use Alpha, where I know I can just type "integrate foo from bar to infinity" than it is to check the Mathematica documentation to remind myself if the syntax is Integrate[function, variable, {upper, lower}], or whatever (I have no idea if that's right or not, and that's kind of my point!).

Re:Freeform linguistics no good unless perfect (0)

Anonymous Coward | more than 3 years ago | (#34238622)

Seems like a logical compromise would be to have the Mathematica parse linguistic input and replace it with the formal Mathematica expression (of whatever it thinks you were trying to say). The end result is thus unambiguous, and the user can check to see whether it translated correctly. If not, the user tweaks it as needed.

My concern with leaving the linguistic input as such in code is that human language is imprecise not just to the computer, but to other humans also. In the same way that commenting code is essential, so that others (including future versions of yourself) understand what is going on, I think leaving ambiguous language as commands in code is a bad idea. Even if Mathematica is parsing it in a consistent way behind the scenes, a user looking at the code might not be sure what it's doing with the input.

So, by all means include parsing for natural language... but use it as a way to input strict syntax, not as a replacement for clean, consistent, and strict code.

Re:Freeform linguistics no good unless perfect (2, Informative)

MoonBuggy (611105) | more than 3 years ago | (#34238644)

That's actually exactly how it does work! If you look at the images in the article, you'll see that each has a line of natural language, followed by a line showing how it was parsed into Mathematica syntax, and then the output below that.

Re:Freeform linguistics no good unless perfect (3, Insightful)

Amorymeltzer (1213818) | more than 3 years ago | (#34238836)

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 (4, Insightful)

pavon (30274) | more than 3 years ago | (#34238676)

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:Freeform linguistics no good unless perfect (1)

Radtoo (1646729) | more than 3 years ago | (#34238684)

I don't think there's a terrible problem with Wolfram Alpha in this regard. It's pretty good at guessing what you meant.

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:Freeform linguistics no good unless perfect (2, Informative)

gman003 (1693318) | more than 3 years ago | (#34238834)

Except it's inconsistent about things. 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.

Re:Freeform linguistics no good unless perfect (1)

Tacvek (948259) | more than 3 years ago | (#34238966)

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 Alpha's datasets are already part of Mathematica, so they already have a strict form, but other datasets are not.)

Re:Freeform linguistics no good unless perfect (3, Interesting)

IICV (652597) | more than 3 years ago | (#34239038)

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:Freeform linguistics no good unless perfect (1)

vlm (69642) | more than 3 years ago | (#34240644)

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 about 50 ksi. I would guess thats the answer you got? Yes I'm well aware that piano wire is several times stronger than HSLA, but I'm sure that by job or by pound, more structural calculations are done for things made of HSLA than for pianos...

Stainless Steel varies over a small range of about 60 to 100 KSI but aside from the weirdest stuff it hovers around 70 ksi. Claiming SS is around 70 ksi is sloppy because there are plenty of SS alloys that'll fail around 60 ksi, but assuming a realistic safety factor you'll probably live if you claim SS is 70 ksi. Your kitchen forks and spoons are probably about 20% lower and the space shuttle engine innards are probably about 20% higher but its a narrower range than you'd expect.

Aluminum? Theres about a thousand alloys for every possible purpose and they vary from darn near 10 ksi to darn near 100 ksi. There are probably even outliers outside that wide range. Its like when an accountant asks what you'd like a number to be, aluminum metallurgists can pretty much hook you up with whatever you'd like in that range, if you're willing to tolerate the other constraints. Its like, "how long is a piece of string"? The periodic table treatment is just a more polite way of replying that the question doesn't really have an answer.

Re:Freeform linguistics no good unless perfect (1)

gman003 (1693318) | more than 3 years ago | (#34240806)

But you're missing the point. It's not being consistent about it. I fully understand that there's thousands of alloys for both steel and aluminum, but the problem is that if WolframAlpha can parse one of them, it should be able to parse the other.

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:Freeform linguistics no good unless perfect (1)

Guignol (159087) | more than 3 years ago | (#34246268)

I'm not you' parent poster, but I respectfuly (because I really see your point but I think it's wrong) disagree
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:Freeform linguistics no good unless perfect (1)

NihilistDandy (1946506) | more than 3 years ago | (#34328460)

As it turns out, asking for the tensile strength of aluminum alloy does work. I guess "aluminum" is just too vague. It even gives the option to take it as a class of materials, allowing you to skirt around the problem of multiple alloys in order to make general calculations. It only provides the data in pascals unless you tell it otherwise, but it's trivial to convert from pascals to ksi. This link shows what I mean. [wolframalpha.com] I had to click once or twice, but it didn't exactly put me out of my way.

Re:Freeform linguistics no good unless perfect (1)

Carnildo (712617) | more than 3 years ago | (#34248882)

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 inconsistencies in what it includes, and I'm still not convinced that it can handle multi-word town names properly).

Re:Freeform linguistics no good unless perfect (3, Insightful)

noidentity (188756) | more than 3 years ago | (#34238824)

Put another way, a natural language system has to do better than I can do with a dumb system. The dumb system is predictable, so I can use my intelligence in best formulating my commands to it. A natural language system is not nearly as predictable, so I either have to learn its much more complex behavior, or just give up and hope it does what I want, but have little recourse if it doesn't. I know which type of system I'd want (and Google's unhelpful "hey, I think you were really searching for this, so I changed your query" is a perfect example of why I hate clever systems).

Re:Freeform linguistics no good unless perfect (2, Funny)

khallow (566160) | more than 3 years ago | (#34239010)

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 (4, Interesting)

swillden (191260) | more than 3 years ago | (#34239020)

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:Freeform linguistics no good unless perfect (1)

dilvish_the_damned (167205) | more than 3 years ago | (#34239280)

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:Freeform linguistics no good unless perfect (1)

Musically_ut (1054312) | more than 3 years ago | (#34239306)

I don't think a perfect comprehension is what one is looking for here.

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 the grid minor
set range of x axis to [0,100]
increase x axis by 400
make y axis logscale
...
Sounds much better to me and I can only see one line deep context dependence. This already is going a long way in helping the programmer.

Yes, it would need syntactical understanding of the Free-form language, but not deep comprehension.

Yes, it would be nice if the computer could ask me back 'which of the two plots you wanted to alter the title of?' and may seem frustrating, but I do not think such ambiguities will be a big hurdle, esp. for seasoned programmer who can keep what they are doing in mind.

Re:Freeform linguistics no good unless perfect (1)

martas (1439879) | more than 3 years ago | (#34240540)

Surely you mean the "uncanny valley?" /pedant

The same as Alpha? Not impressed.... (3, Interesting)

spagthorpe (111133) | more than 3 years ago | (#34238614)

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:The same as Alpha? Not impressed.... (2, Insightful)

FrootLoops (1817694) | more than 3 years ago | (#34239344)

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:The same as Alpha? Not impressed.... (0)

Anonymous Coward | more than 3 years ago | (#34239694)

We are all grownups here. If you feel you need to swear in order to communicate your opinion properly, then do so. Otherwise you look like a child.

Re:The same as Alpha? Not impressed.... (1)

thegarbz (1787294) | more than 3 years ago | (#34239902)

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 like most of my fellow college graduates have almost worn the "h" "e" "l" and "p" keys off our keyboard trying to understand matlab syntax.

Sometimes we just want to do something, not read a man page. Anything that helps this is refreshing news indeed.

ability to turn it off (4, Interesting)

e**(i pi)-1 (462311) | more than 3 years ago | (#34238866)

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.

Re:ability to turn it off (2, Informative)

Tacvek (948259) | more than 3 years ago | (#34239012)

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 intended for use in an interactive session, so you will notice the errors. Indeed using it in scripts is a very bad idea, since Alpha will continue to be updated, and may interpret the same phrase differently at a later date.

Re:ability to turn it off (1)

swillden (191260) | more than 3 years ago | (#34239028)

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:ability to turn it off (1)

RightwingNutjob (1302813) | more than 3 years ago | (#34239042)

Mod parent up.

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 readings in the text went into a very length "freeform language" discussion of what the meaning if "is" is. This went on for paragraphs and I stopped before it ended because it made me go cross-eyed trying to figure out if this "is" is is as in identical with or is as in has the attribute of.

Then I took a course in abstract algebra, where the first two weeks was spent learning the formal language of mathematics and mathematical proofs. Suddenly there was all sorts of helpful notation, like "=" \in, \subset, etc, which turns that page-long gobbeldygook the philosophy department tries to pass off as rational thought irrelevant and laughable.

The same principle applies to graphical programming languages too, by the way. You can sit all day clicking at a Simulink or LabView diagram making sure the lines go where they're supposed to, and the little metronome icon is where it's supposed to be. And it even works for the controls equivalent of "what's the area of a square with side 1", but the moment you try to do anything complicated with it, it all goes to hell, and that's why things like Simulink and LabView let you insert "code blocks" which are written in a plain, simple, and unambiguous declarative programming language, by the way. But none of this stops people who can't even spell "static int foo=1337;" from claiming that they are programmers when all they do is click at pictures all day without realizing how hobbled they are.

Re:ability to turn it off (0)

Anonymous Coward | more than 3 years ago | (#34244988)

Then I took a course in abstract algebra, where the first two weeks was spent learning the formal language of mathematics and mathematical proofs. Suddenly there was all sorts of helpful notation, like "=" \in, \subset, etc, which turns that page-long gobbeldygook the philosophy department tries to pass off as rational thought irrelevant and laughable.

You can pooh-pooh philosophy if you'd like, but it reads like gobbledygook because it tries to solve hard problems. What is "is" is a difficult semantic question, and can be approached from a variety of positions.

The same positions exist in mathematics. And this is reflected in the multitude of "equalities": "regular" (extensional) equality, intensional equality, equivalence relations, isomorphisms, and many many more ways of quantifying what "is" represents in mathematics. A field might choose one by fiat, because it is convenient. Just like in philosophy. If you want to ask, "which if these is right" (or better yet, how can they all be right?), you dive into philosophy.

The biggest theorems of the 19th and 20th centuries were logical proofs by philosopher mathematicians.

Re:ability to turn it off (1)

RightwingNutjob (1302813) | more than 3 years ago | (#34263258)

I'm not saying it's a stupid question to ask, my point is that many (most?) philosophy types who describe themselves with as philosophers and not as mathematicians are trying to make very fine distinctions using plain English alone, without the benefit of the notational convenience afforded by modern mathematics. Thus, gobbeldygook that mixes the symbolic relationships being analyzed right in with the narrative of the proof instead of separating the two out with formalized notation.

Re:ability to turn it off (0)

Anonymous Coward | more than 3 years ago | (#34239048)

As far as I can tell, this is completely optional. The free-form linguistic input is only used if you begin a cell with the "=" operator or hit some key combination.
Since this does not interfere with standard Mathematica input there is really no need to disable it.

Re:ability to turn it off (1)

farnsworth (558449) | more than 3 years ago | (#34239056)

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:ability to turn it off (1)

FrootLoops (1817694) | more than 3 years ago | (#34239384)

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, on the other hand, is pretty much a direct translation.

mathematica is not where it's at, man (0)

Anonymous Coward | more than 3 years ago | (#34239026)

sage [sagemath.org] is where it's at.

Re:mathematica is not where it's at, man (1)

gnapster (1401889) | more than 3 years ago | (#34239206)

Oh, and I see that Sage had an alpha, too. What fun!

MATLAB! (0)

Anonymous Coward | more than 3 years ago | (#34239078)

Yeh, yeh, but I still prefer MATLAB!

Awesome (1)

ollie231 (1745048) | more than 3 years ago | (#34239124)

This is awesome. I have (Well the Uni does) Mathematica installed, but I cant remember the last time I used it instead of Alpha. For heavy lifting I usually use MATLAB anyway.

MATLAB, anyone? (2, Interesting)

Dogbertius (1333565) | more than 3 years ago | (#34239146)

You could always learn the language, and excel at it. I've tried Maple, MATLAB, and Mathematica.

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 Octave also mimics it decently enough.

The equivalent of code completion or syntax interpretation/correction is nice, but I've never had any use for it W.R.T. standard or built-in library functions. Maybe for learning a random third-party library, at most. Even them, being a Vi user, it takes just as much time to look up a function prototype in FVWM + Vi as it does to wait on MS Visual Studio's code completion.

This looks like a nice feature for new users, but I can see it being useful for new users or people for whom math is not a strong subject. Sadly, this seems to fill a void: people who can't do math, thinking they now can thanks to the "magic" of technology.The examples demonstrated in TFA are trivial (ie: grade 8 level). Can it, say, determine the conditional variance based on a series of PDFs?

Re:MATLAB, anyone? (1)

FrootLoops (1817694) | more than 3 years ago | (#34239400)

I always think of Matlab as numeric and Mathematica as symbolic. Sure Mathematica can do some numeric things, but that never seemed to be its real purpose.

Re:MATLAB, anyone? (1)

T Murphy (1054674) | more than 3 years ago | (#34239590)

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 you so you can quickly see if the results are what you were looking for.

As an ME undergrad I have both Maple and MATLAB to use. I was slow getting Maple to do what I want, but thanks to prior Java experience MATLAB was a lot more natural to pick up, so I never really learned to use Maple. I think you have a false dichotomy here- the people using this plain english feature would be like me an Maple- they would have just given up on the program if it weren't for the feature. If anything, more people should pick up how to use Mathematica syntax thanks to this, as it makes them stick to it long enough to have a chance to learn.

Re:MATLAB, anyone? (1)

Interoperable (1651953) | more than 3 years ago | (#34240638)

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 have a single piece of software that does a decent job at both symbolic and numeric computations.

The only thing that's inexcusable is one undo level. Seriously, one undo level?

Re:MATLAB, anyone? (1)

Sometimes_Rational (866083) | more than 3 years ago | (#34250522)

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 have a single piece of software that does a decent job at both symbolic and numeric computations.

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 (1)

Takionbrst (1772396) | more than 3 years ago | (#34239258)

Mathematica syntax is actually quite easy once you get used to it. This is enhanced enormously by the excellent help/reference/tutorial database. Can't remember the syntax for a certain command? Curious about options? Need a similar command but can't remember/don't know it? Highlight your command and hit F1. Takes all of about 2 seconds, and you have all the requisite knowledge to construct some pretty sophisticated functions. I'm a physics student, and I've used Mathematica extensively for both quick and dirty and more involved numerical work, and in this respect its proved invaluable. My one reservation is that it's handling of procedural programming blows-- sometimes I wish I knew C better than I do...

Re:Learn to use your F1 key (1)

DragonWriter (970822) | more than 3 years ago | (#34249188)

Mathematica syntax is actually quite easy once you get used to it.

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, (1)

elashish14 (1302231) | more than 3 years ago | (#34239318)

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....

XKCD (0)

Anonymous Coward | more than 3 years ago | (#34239452)

The thing that always bothered me with this [xkcd.com] is that math only is a subset of philosophy.

Re:XKCD (1)

poopdeville (841677) | more than 3 years ago | (#34245050)

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! (2, Interesting)

Y-Crate (540566) | more than 3 years ago | (#34239528)

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:This is so awesome! (1)

Y-Crate (540566) | more than 3 years ago | (#34244890)

Wow, people actually took my comment seriously...

Undo? (0)

Anonymous Coward | more than 3 years ago | (#34239714)

Yes, but does it still have just one level of undo?

Re:Undo? (1)

maxwell demon (590494) | more than 3 years ago | (#34240116)

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 version 7 front end even eats CPU cycles at times it does nothing (even if you just have started it and never ever did a single calculation - I start). I hate to imagine what sort of degradation they added to version 8.

I'm sure the kernel improved a lot, but the front end problems are enough for me to not even explore it.

8th major release (0)

Anonymous Coward | more than 3 years ago | (#34241516)

and still no fucking undo. what a freaking pile.

meaning of life: (0)

Anonymous Coward | more than 3 years ago | (#34242418)

http://www.wolframalpha.com/input/?i=meaning+of+life

Result :
42

The high school market (0)

Anonymous Coward | more than 3 years ago | (#34247018)

There is a huge upcoming market for symbolic math programs in high school education. Right now a lot of students pay 200$ for a calculator, but in 5 years from now most of these students will be using a computer program. But frankly Mathematica is not user friendly enough to compete in this market.

My school uses a program named nspire CAS. This program has a user interface that looks like the wored formula editor. This is slightly annoying for a trained programmer, but it is really good for the high school students, because the don't have to worry about the parathesis and stupid spelling mistakes.

If mathematica wants to be useful, then they should focus on getting the basics right rather than adding speech recongnition.

Inform 7 (1)

the_arrow (171557) | more than 3 years ago | (#34252512)

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.

Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>