2016-04-29 11 views
-2

Ich versuche, einen Tokenizer mithilfe von Java-API (ohne die von Stanford, Apache OpenNLP bereitgestellten) zu erstellen. ich waren in der Lage, die Worte zu trennen, indem Sie regex und Java-Muster/Matcher:Erstellen von Java Lemmatizer

"[a-zA-Z]+". 

Ich möchte nun das Lemma des Wortes zu finden. Ich möchte StanfordNLP wegen seiner Lizenzprobleme nicht verwenden. Was nun? Ich denke, ich brauche ein Wörterbuch als ein Modell zu verweisen/zu vergleichen. Und ...? Ist jemand dort gewesen? Versuchen Sie, ein Wort Lemmatizer mit Java zu erstellen? Danke im Voraus. :)

+0

Warum der Downvote? – dirai

Antwort

0

Wenn Sie die Liste der Wörter haben und Sie wissen möchten, ob zwei Wörter gleich sind, wie "run", "runs", "ran" und "running". Sie können eine HTTP-Anfrage an ein Wörterbuch tun, zum Beispiel:

http://www.oxforddictionaries.com/definition/english/runs

In diesem Fall die Seite umleiten zu:

http://www.oxforddictionaries.com/definition/english/run?q=runs

Dann können Sie eine HTTP-Anforderung programmieren und wenn es wurde auf ein anderes Wort umgeleitet, dann sind sie gleich.

In anderen Fällen wie:

http://www.oxforddictionaries.com/definition/english/run

können Sie lesen:

verb (läuft, laufen, vorbei lief/ran /; Partizip run)

Sie dann kann einen Parser erstellen, um die Informationen der Seite zu interpretieren

In Java können Sie Erstellen Sie leicht http-Anfrage mit:

HttpClient httpClient = new DefaultHttpClient(); 
HttpGet httpGet = new HttpGet(URL);