opennlp-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Baldridge <jasonbaldri...@gmail.com>
Subject Liblinear wrapper
Date Thu, 30 Aug 2012 14:36:11 GMT
I've recently been using the Java port of Liblinear for training logistic
regression (maxent) models, and am really happy with it -- it uses TRON, a
method that is much faster than LBFGS. Jorn and I have discussed having
OpenNLP shed the maxent code and just use wrappers around better, more
up-to-date libraries like Liblinear. I don't have time to do this for
OpenNLP right now, but if anyone wants to take a crack at it, here's some
Scala code that I did for Breeze that has most of what you'd need to set
this up:

https://github.com/dlwh/breeze/blob/master/learn/src/main/scala/breeze/classify/Liblinear.scala

It includes an example for reading in data that is the same as the prep
attach data used for testing in OpenNLP, so that should make things
reasonably clear for someone with a decent understand of Scala syntax. (I'm
happy to help with any questions about it.)

More links for context:

   - The main C++ Liblinear page, with lots of documentation including
   papers: http://www.csie.ntu.edu.tw/~cjlin/liblinear/
   - The Java port (I'm currently using 1.8, but 1.91 was just wrapped up):
   http://www.bwaldvogel.de/liblinear-java/

Liblinear has support for several regimes for both logistic regression and
SVMs. OpenNLP would do well to hook into all that!

Jason

-- 
Jason Baldridge
Associate Professor, Department of Linguistics
The University of Texas at Austin
http://www.jasonbaldridge.com
http://twitter.com/jasonbaldridge

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message