Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
AI Math Programming Software Upgrades News

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.'"
This discussion has been archived. No new comments can be posted.

Free-Form Linguistic Input In Mathematica 8

Comments Filter:
  • by IICV ( 652597 ) on Monday November 15, 2010 @10:43PM (#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!

  • by presidenteloco ( 659168 ) on Monday November 15, 2010 @10:46PM (#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.

  • by _merlin ( 160982 ) on Monday November 15, 2010 @10:56PM (#34238508) Homepage Journal

    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.

  • Comment removed (Score:3, Interesting)

    by account_deleted ( 4530225 ) on Monday November 15, 2010 @10:56PM (#34238510)
    Comment removed based on user account deletion
  • by spagthorpe ( 111133 ) on Monday November 15, 2010 @11:13PM (#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.

  • by e**(i pi)-1 ( 462311 ) on Monday November 15, 2010 @11:57PM (#34238866) Homepage Journal
    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.
  • by swillden ( 191260 ) <shawn-ds@willden.org> on Tuesday November 16, 2010 @12:41AM (#34239020) Journal

    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.

  • by IICV ( 652597 ) on Tuesday November 16, 2010 @12:43AM (#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.

  • MATLAB, anyone? (Score:2, Interesting)

    by Dogbertius ( 1333565 ) on Tuesday November 16, 2010 @01:11AM (#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?
  • This is so awesome! (Score:3, Interesting)

    by Y-Crate ( 540566 ) on Tuesday November 16, 2010 @03:03AM (#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. :(

Neutrinos have bad breadth.

Working...