On 1 Sep, 16:21, "Diez B. Roggisch" <de...@nospam.w eb.dewrote:
hussainsai...@g mail.com wrote:
On 1 Sep, 11:55, "Diez B. Roggisch" <de...@nospam.w eb.dewrote:
hussainsai...@g mail.com schrieb:
I am trying to convert a python module (that contains the use of
NLTK.Corpus) by jythonc. It is not able to include nltk dependencies
within the java class it creates. So when i use this class in java, it
fails to recognize nltk. Can anyone please let me know how should i
use nltk in python/jython modules so i can use in Java.
If there are any binary dependencies, you are out of luck. It won't
work. You would need to write a RPC-Server then, with technologies such
as XMLRPC or CORBA.
Diez
So does that mean that Jython does not support nltk uptil now. I ask
this because when I try to import nltk in Jython (which is assumed to
replace Python), i get the same error. Its just nltk that I am not
able to use. The rest of the jython functions and libraries work fine
within Java.
I don't know for sure - how about you post the error-message? Otherwise we
can't assess the problem.
Diez- Hide quoted text -
- Show quoted text -
Hi,
What i did was create a python file as:
import nltk
from java.util import Random
class NLPPresentation (Random):
def nextDouble(self ):
return 1
def TagByBrown(self ,sent):
"@sig public String[] TagByBrown(Stri ng sent)"
brown_a = nltk.corpus.bro wn.tagged_sents (categories='a' )
bigram_tagger = nltk.BigramTagg er(brown_a, cutoff=0)
lst = bigram_tagger.t ag(sent.split() )
return lst
I processed the following code through jythonc compiler to form a JAR
file. I then imported this jar
file into java ide (Java Builder). I then wrote the following program
in java to access this python class:
import org.python.core .PyException;
import org.python.core .PyInteger;
import org.python.core .PyObject;
import org.python.util .PythonInterpre ter;
import java.util.Rando m;
import org.nltk.*;
import org.nltk.mallet .*;
public class SimpleEmbedded extends NLPPresentation {
public static void main(String[] args) throws PyException {
SimpleEmbedded so = new SimpleEmbedded( );
String s = "he is a boy";
so.Call(s);
}
public void Call(String s)
{
String[] arr = TagByBrown(s);
System.out.prin tln(arr[1]);
}
}
When i compile the above java code, i get the following error:
Exception in thread "main" Traceback (innermost last):
File "C:\jython2.2.1 \NLPPresentatio n.py", line 0, in main
ImportError: no module named nltk
Your comments are highly appreciated.