You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@opennlp.apache.org by "Russ, Daniel (NIH/CIT) [E]" <dr...@mail.nih.gov> on 2015/06/22 18:29:39 UTC

Question regarding QNTrainer

Hi,
   Is the QNTrainer widely used?  I tried to switch from GIS to QN, and had some issues, maybe some of you had them also.
  
   For the GISTrainer, there is a GIS class that wraps the GISTrainer.  GISTrainer is not a public class, so you CANNOT use it, but GIS is fairly easy to use.  For QN, no such QN class exists, and you are required to use the QNTrainer class.  It appears that QNTrainer is trying to be the equivalent of both GIS and GISTrainer.  I have no problem with this, but QN is not giving me some trouble.

   I noticed that using the Default constructor for the QNTrainer leads to an illegalArgumentConstructor (the number of threads is 0), when trainModel is called.  Interestingly, there seems to be no way of setting the number of threads as the API has not setter for it.  doTrain throws a nullPointerException when the DefaultConstructor is used.  Using the other constructors with trainModel(int,dataIndexer) works. But if you use doTrain(dataIndexer) the code fails with a NullPointerException.  Is anyone using the QNTrainer? Is it ready for use?  

Dan

Re: Question regarding QNTrainer

Posted by "Russ, Daniel (NIH/CIT) [E]" <dr...@mail.nih.gov>.
I forgot to mention that I was running opennlp-1.6.0RC6

> Hi,
>   Is the QNTrainer widely used?  I tried to switch from GIS to QN, and had some issues, maybe some of you had them also.
> 
>   For the GISTrainer, there is a GIS class that wraps the GISTrainer.  GISTrainer is not a public class, so you CANNOT use it, but GIS is fairly easy to use.  For QN, no such QN class exists, and you are required to use the QNTrainer class.  It appears that QNTrainer is trying to be the equivalent of both GIS and GISTrainer.  I have no problem with this, but QN is not giving me some trouble.
> 
>   I noticed that using the Default constructor for the QNTrainer leads to an illegalArgumentConstructor (the number of threads is 0), when trainModel is called.  Interestingly, there seems to be no way of setting the number of threads as the API has not setter for it.  doTrain throws a nullPointerException when the DefaultConstructor is used.  Using the other constructors with trainModel(int,dataIndexer) works. But if you use doTrain(dataIndexer) the code fails with a NullPointerException.  Is anyone using the QNTrainer? Is it ready for use?  
> 
> Dan