2016-04-29 23 views
-2

我想通过使用Java API(没有由Stanford,Apache OpenNLP提供的)构建一个tokenizer。 我已经能够通过使用正则表达式和Java模式/匹配器分离的话:构建Java引理器

"[a-zA-Z]+". 

我现在想找到这个词的引理。 由于授权问题,我不想使用StanfordNPP。 下一步是什么? 我想我需要一本字典作为参考/比较的模型。 而...? 有没有人在那里做过?试图用Java构建一个单词lemmatizer?提前致谢。 :)

+0

为什么downvote? – dirai

回答

0

如果您有单词列表,并且想要知道两个单词是否相同,如“跑步”,“跑步”,“跑步”和“跑步”。 你可以做一个HTTP请求字典,例如:

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

在这种情况下,页面重定向到:

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

然后你可以设定一个HTTP请求,如果它被重定向到另一个词,然后它们是相同的。

在其他情况下,如:

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

你可以阅读:

动词(跑,跑;跑了过去/运行/;过去分词运行)

然后你可以创建解析器来解释页面的信息

在Java中,您可以轻松创建http请求:

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