-2

我正在尝试使用 Java API(没有斯坦福提供的 Apache OpenNLP)来构建一个标记器。我已经能够通过使用正则表达式和 Java Pattern/Matcher 来分离单词:

"[a-zA-Z]+".

我现在想找到这个词的引理。由于许可问题,我不想使用 StanfordNLP。接下来是什么?我想我确实需要一本字典作为参考/比较的模型。和 ...?有人做过吗?尝试使用 Java 构建单词 lemmatizer?提前致谢。:)

4

1 回答 1

0

如果您有单词列表并且想知道两个单词是否相同,例如“run”、“runs”、“ran”和“running”。您可以向字典发出 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

你可以阅读 :

动词(runs,running;过去跑/ran/;过去分词run)

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

在 Java 中,您可以使用以下命令轻松创建 http 请求:

HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(URL);
于 2016-04-29T04:47:51.313 回答