Slashdot Mirror


Open Source Natural Language Processing?

fieldmethods asks: "One area where Open Source and Free Software doesn't seem to have really taken off is Natural Language Processing (using computers to deal with human languages). There are a few projects that are open source, such as Festival (a speech synth system, now ported to Java), NLTK, a general-purpose NLP system in Python, and the Linguana project, a Perl implementation of a semantic network not unlike Wordnet (but better). Generally, though, there doesn't seem to be a lot of Open Source momentum behind the field as a whole. It's a challenging, difficult field that would benefit from collaboration, especially given the potential of replacing static corpora with on-the-fly corpora developed by search engines. Is anybody else interested in this?"

31 comments

  1. Doesn't look like it! by Some+Guy · · Score: 0
    Is anybody else interested in this?

    From the rousing response, I would guess not.

    1. Re:Doesn't look like it! by Some+Guy · · Score: 2, Informative

      Actually, I am interested in this. I did some computational linuguistics work while I was doing my BSc/MSc and really enjoyed it.

      You should also have mentioned your [?] interesting website fieldmethods.net as a good source for exploring all things NLP [which I thought referred to Neuro-Linguisitc Programming when I first saw it...].

    2. Re:Doesn't look like it! by fieldmethods · · Score: 1

      Neuro-Linguistic Programming is really different. It's actually something of a sore spot, I'd say, within the Natural Language Processing world, that this other field, which overlaps only under the most generous of definitions, has swiped some of the mindshare of the acronym. To be honest, the NeuroLinguistic Programming thing seems a little iffy to me. But I'll withhold judgement. The bottom line is that its goals are quite different from those of Computational Linguistics. (Also: I'm glad you think the site is interesting. It is my site, but I didn't want to shamelessly promote it.)

  2. oh me me me! by shaitand · · Score: 0

    I'm interested cliff... looks around screw you guys, *points to the side* I'm going home.

  3. It depends on what you call NLP by Boglin · · Score: 4, Funny

    If machines that attempt the Turing Test count as NLP, then NLP is a solved problem. You just need a random number generator to choose from a list of prechosen responses (face it, there's nothing less believable than talking to someone who actually listens to you.) Therefore, I submit Virtual Boglin:

    #include

    void main() {
    int i = 1;

    printf("Hello\n");
    while(i) {
    scanf();
    switch(i){
    case 1: printf("Microsoft Sucks! Use Linux!\n");break;
    case 2: printf("I need to boot back over to the Windows side to play System Shock 2.\n");break;
    case 3: printf("Sony is an evil monster who won't be content until we have lost all our rights.\n");break;
    case 4: printf("Have I shown you my Clie? Look, it can play the Spiderman Trailer!\n");
    }
    i=rand()%5;
    }
    printf("Leave me alone; I'm about to get a new high score.\n");
    }

    1. Re:It depends on what you call NLP by fieldmethods · · Score: 1

      You're absolutely right about the importance of definitions. Your code is funny (and it's not too far from what Eliza does, for instance), but actually, it's kind of surprising how "sensible" random content can seem if it's taken from a large enough database (like the internet.)

  4. Did you google? by FeatureBug · · Score: 4, Informative
    Is there a reason you haven't tried answering your question using Google? You're not chasing karma are you? Last I heard Google is free.

    There's a huge amount of open-source NLP resources and software for many languages on the web.

    Last but not least:

    Will.

    1. Re:Did you google? by Anonymous Coward · · Score: 0

      chill out, saying such cold hearted things doesn't make you feel good about yourself, does it now?

    2. Re:Did you google? by Anonymous Coward · · Score: 0

      I can't answer for him, but it made me feel good, because I laughed at the person asking the question.

    3. Re:Did you google? by fieldmethods · · Score: 1

      Suuuure I Google. I Google a LOT. About NLP, in fact. Maybe I didn't phrase the question so clearly: it's just my impression that your average opensource hacker isn't interested in NLP. I don't know whether this is because they aren't interseted in it, think it's boring, or what. That's what I was wondering. And karma? Eh? What's that?

    4. Re:Did you google? by Anonymous Coward · · Score: 0

      Here are some pointers to get started:

      www.aclweb.org
      www.dfki.de/lt/registry

      Our group has also release a public domain extractive summarization toolkit:

      www.summarization.com/mead

  5. Linguana by B.Smitty · · Score: 1

    How is Linguana better than WordNet when they haven't actually done anything?

    1. Re:Linguana by Anonymous Coward · · Score: 0

      Isn't Linguana just a Perl interface to WordNet? I belive it mostly just wraps them in BerkeleyDB files and adds an OO layer to traverse the structures.

  6. Perhaps... by Call+Me+Black+Cloud · · Score: 2

    ...the people that are knowledgeable in this field enjoy getting paid for their work.

  7. two projects by Kunta+Kinte · · Score: 3, Informative
    http://freespeech.sourceforge.net/
    http://www.speech.cs.cmu.edu/

    There are probably others ( search google.com, freshmeat.net, sourceforge.net )

    --
    Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
  8. open source NLP (in POESIA) by basiles · · Score: 2, Informative

    The POESIA (an opensource internet content filter, partly funded by the European Commission, safer Internet Access Plan IAP2117/27572) project will have some opensourced NLP components (for English, Spanish, Italian...).

    See POESIA site for details.

    POESIA (Public Opensource Environment for a Safer Internet Access) aims to protect European youth (in educational institutions) against harmful or inappropriate Internet content, and use several techniques (including NLP, Image processing, ...) to achieve this goal.

  9. Lack of interest by Koos+Baster · · Score: 1

    Judging by the responses to this post (or rather the lack thereof), NLP is not a very hot topic. Most of natural language processing research is in a very academic stage. Quite some universities study some NLP related small little subtopic, but there are hardly any real large departments - say the size of a computer science faculty.

    With Lernhout & Hauspie - the one major commercial software supplier in this field - gone bankrupt, there are only some small companies, trying to get by. Some have success in a very specialized sub-subject, like OCR, voice response or information retrieval.

    As a former Computational Linguistics student, I'd say the main problem is either the lack of computational power or the lack of manual labour. Ie.: even a very well defined liguistic area needs to be defined with too many rules (in a complex system) or needs too much data and CPU time (in a brute force) to be feaible, commercially viable, interesting in the Turing-sense... too much effort to just make it work.

    Where you'd expect high-level NLP to work, simpler techniques usually work better. Ask Jeeves and Q-go are great, but most people agree no search engine currently beats Google, even when it's taylored for a very small subject. NLP is just way immature, compared to most other computational topics - primarily because it is intrinsically complicated.

    I guess we'll have to wait for the killer-app for another decenium or two, though I'm a pessimist. Until that time I'd agree all institutions to collaborate as much as possible, and I really don't understand where some universities are going with their closed source research projects.

    --
    Recursive: Adj. See Recursive

    1. Re:Lack of interest by Anonymous Coward · · Score: 0
      Quite some universities study some NLP related small little subtopic, but there are hardly any real large departments - say the size of a computer science faculty.
      Try Carnegie Mellon's LTI, as an example of a large department doing more than just "small little subtopics" of NLP.
    2. Re:Lack of interest by Anonymous Coward · · Score: 0

      Although nobody will see this..

      If you install MSN8 from the CD on Windows XP you get some NLP features. You can type natural languages queries into the address bar and it will try to figure out what you meant. Works for both client-side features and server side features. For example, typing something like "send message to Bob" will navigate to email and begin a new message, filling "Bob" into the subject line (looking up the email address if you have it in your address book).

      It has a ways to go, but it's a start, and I'm not aware of any other products that can do this.

    3. Re:Lack of interest by Koos+Baster · · Score: 1

      True. But even in MSN8, it's not the "killer app" that boosts NLP into the front page media. Rather, a "geek" feature that many perceive as anoying as "Clippy the happy Word-wizzard" - primarily due to its immaturity.

  10. Intrinsically complicated by Tune · · Score: 2

    > [...] - primarily because it is intrinsically complicated.

    Yeah right. And databases, math and user interfaces are not?

    1. Re:Intrinsically complicated by Koos+Baster · · Score: 1

      And databases, math and [graphical] user interfaces are not?

      Indeed. As a language, "math" was designed to exclude many important aspects that evidentally exist in all human languages, like ambiguity, intonation,

      Databases and GUI existed before we learned how to use them: we simultaneously discovered the technique and adopted to using it. Language has been with us for (at least) tens of thousands of year. It has evolved and is constantly changing still. There was never a clean design, it was just there for as long as we can remember. Successful human-computer interaction, in the "2001 Space Odyssee" sci-fi sense can only be achieved if we build machines that can reason, handle paradoxes, and the whole trick we currenly call NLP.

      ...For now and in the forseable future the only way to build a machine like that is to have children.

    2. Re:Intrinsically complicated by tgv · · Score: 1

      Precisely.

      Processing mathematics is easy compared to natural language. There were calculators (think abacus, or Pascal's mechanical calculator) long before anyone made an attempt at implementing language processing. Solving equations on the other hand is difficult, and you will find that (open source) algebraic manipulation programs are much rarer than simple math programs.

      Plus, most people who do NLP know quite a lot of math, whereas most people who know math, know very little about NLP. So that explains part of the bias.

      Let's not compare the complexity of user interface (design/implementation) with that of a serious NLP application. GUIs are easy. Try Visual Basic if you don't believe me... The programming tools for building GUIs are (of course) more complex, but still straight-forward compared to NLP.

  11. answer by tongue · · Score: 2

    " Is anybody else interested in this?"

    judging from the lack of comments on this story, i'd say the answer is a resounding "No."

    1. Re:answer by Anonymous Coward · · Score: 0

      Maybe it's because it never made it to first page?

  12. Check out OpenCyc by jungd · · Score: 3, Informative

    One of the best speech understanding systems in existance is OpenCyc - and it is open source!

    --
    /..sig file not found - permission denied.
    1. Re:Check out OpenCyc by tgv · · Score: 1

      Sorry, but "speech" and "understanding" are not the words to use to describe (Open)Cyc. If you yourself would have take the trouble to read the page you're referring to, you would have read: "OpenCyc can be used as the basis of a wide variety of intelligent applications such as : * speech understanding, etc."

      So it's not NLP, but a module that could be coupled to a system that has an NLP component and needs to do some reasoning over it.

      And for this you got a score of 3? Lack of knowledge does clearly not interfere with your karma.

  13. I've got two links for you by perkr · · Score: 3, Informative
    General open source NLP tools:

    http://opennlp.sourceforge.net

    http://nlpfarm.sourceforge.net

    If you're looking for speech software there isn't that much good software as open source, since just about every aspect of modern speech processing is patented.

  14. The Myth of Labor by candot · · Score: 1

    As a former Computational Linguistics student, I'd say the main problem is either the lack of computational power or the lack of manual labour. Ie.: even a very well defined liguistic area needs to be defined with too many rules (in a complex system) or needs too much data and CPU time (in a brute force) to be feaible, commercially viable, interesting in the Turing-sense... too much effort to just make it work.

    This is a very popular opinion, conirmed by the amount of money corporations through at manual processes like taxonomy maintenance and training, but it's out of date. There are several scalable, commercially viable approaches that do not require manual labor or prohivitive processing to be feasible.

    Google News is an example of a large-scale application built with automated NLP. Think Tank 23 makes a NLP-based, ad-hoc categorization engine that powers, among other sites, the Waypath Project.

    Talk about a killer app!

  15. Unsuperviced Techniques by Koos+Baster · · Score: 1

    I'm not sure about ThinkTank23, but isn't Google news maintained by human droids? IMHO there's some really interesting NLP research going on at Google, but its all very pragmatic: focus is on assisting manual labor and getting proven, but simple, techniques to work on larger and larger problems.

    Nothing wrong with being pragmatic, but in the spectrum of unsupevised-NLP to automatic-aids-for-jobs-that-humans-find-tedious, only the left-most extreme is a cheap solution in the long run. And it's these unsuperviced techniques that just don't take off. Persoanlly, I tend to agree with the popular opinion that this will take a very long time - mainly because NLs are just intrinsically very complex, compared to the problems faced by mainstream computer science.

    But I certainly agree that NLP research has contributed to some killer apps.

    --
    If pro is the opposite of con, what is the opposite of progress?

  16. Emdros text database engine by ulrikp · · Score: 1

    Hi,

    my emdros text database engine is built specificially for storing and retrieving annotated or analyzed text. This makes it ideal as a back-end for certain classes of NLP projects.

    Ulrik Petersen