Is there a good natural language processing library [closed]
Asked Answered
C

3

92

I need to implement some NLP in my current module. I am looking for some good library that can help me here. I came across 'LingPipe' but could not completely follow on how to use it.
Basically, we need to implement a feature where the application can decipher customer instructions (delivery instructions) typed in plain english. Eg:

  • Will pick up at 12:00 noon tomorrow
  • Request delivery after 10th June
  • Please do not send before Wednesday
  • Add 10 more units of XYZ to the order
Cental answered 15/5, 2009 at 19:39 Comment(1)
see #22904525Merciless
O
80

LingPipe is very nice and well documented. You can also take a look at:

The last one specifically might be of interest to you, although I don't know whether there are any readily available Java implementations (and maybe that's too big of a gun for your problem anyway :-)

Paul's idea of using a DSL is probably easier and faster to implement, and more reliable to use for your customers. I, too, would recommend looking into that first.

Otis answered 16/5, 2009 at 13:49 Comment(3)
I presented my report based on the inputs I gathered from this forum and other places on the net. I also suggested the other options that you suggested and the Biz has decided to keep this on hold (Now begins the R&D to find the best possible candidate).Cental
If you compare LingPipe and others you listed which one would you prefer? I ask this not specific only for @Winnie's question, I ask it for general purpose.Iene
Check out MALLET: mallet.cs.umass.eduOutlook
H
11

I think whether or not you choose to use NLP might depend on the specific requirements for your system. Is it a requirement that free-form english should be accepted, or will only a certain set of instructions be accepted? It might be easier to build a domain specific language that supports what your users need to convey than to do full-on semantic analysis of free-form text.

In the Java space, Groovy has some support for building DSLs.

Howerton answered 15/5, 2009 at 21:45 Comment(2)
Here are a few lines from the requirement document: '.. and the user should be able to enter a note or a special instruction in plain english. The system should then parse the user instruction and populate the relevant fields (if any) of the order with the correct values."Cental
That's a pretty vague requirement. For example, does the note have to be grammatically correct? I'm not sure if the parties that came up with the requirements are familiar with the state of NLP, but the problem they've described is essentially reading comprehension, or natural language understanding, which is one of the problems described as 'the holy grail' of NLP. It's doubtful to me that you'll find a package that can just 'do this' for you -- it's probably far more realistic to give the user a UI where they can specify a limited number of special instructions.Howerton
P
8

For other JVM languages see

Peptize answered 9/8, 2010 at 7:50 Comment(1)
The NLP part of Scala NLP called Epic seems to be still coming soon though.Raskind

© 2022 - 2024 — McMap. All rights reserved.