我正在尝试使用Java API构建一个tokenizer(没有Stanford提供的,Apache OpenNLP)。 我已经能够通过使用正则表达式和Java模式/匹配器来隔离单词:
"[a-zA-Z]+".
我现在想找到这个词的引理。 由于其许可问题,我不想使用StanfordNLP。 接下来是什么? 我想我确实需要一本字典作为模型来引用/比较。 而且......? 有人在那里做过吗?尝试使用Java构建一个单词变形器?提前致谢。 :)
答案 0 :(得分: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);