我有一个单词列表,我想过滤掉它,这样我只有那个单词列表中的名词(使用Java)。为此,我正在寻找一种简单的方法来查询单词数据库的类型。
我的问题是,是否有人知道一个免费,简单的单词查找API,它可以让我找到一个单词的类,而不一定是它的语义定义。
谢谢!
本。
编辑:按照这个词的分类我的意思是'词性',感谢清除它
答案 0 :(得分:3)
单词类型?如动词,名词,形容词等?如果是这样,您可能会遇到一些问题,即某些单词可以以多种方式使用。例如:“你能把那张卡换成我吗?”,“这是一个糟糕的交易。”
请参阅this thread了解一些建议。
同时查看this,看起来它可能完全符合您的要求。
答案 1 :(得分:2)
我认为你要找的是一个单词的词性(POS)。一般来说,除了句子的上下文之外,无法确定。有许多单词可以有几个不同的潜在词性(例如'bank'可以用作动词或名词)。
您可以使用POS标记器获取所需信息。但是,以下词性标注者假设您在一个结构良好的英语句子中标记单词...
OpenNLP Java库通常非常好,并在LGPL下发布。英语版的词性标注器以及发行版中包含的其他一些语言。只需转到项目页面获取jar(也不要忘记下载模型)。
在GPL下还有用Java编写的Stanford part-of-speech tagger。我对这个图书馆没有任何直接经验,但斯坦福NLP实验室通常非常棒。
答案 2 :(得分:0)
查询单词数据库将导致Ben S.提到的问题,例如:它是铅(v。显示方式)还是铅(n.PB)。如果您想花一些时间来解决问题,请查看词性标注。 another SO thread中有一些很好的信息。
答案 3 :(得分:0)
对于英语,您可以使用WordNet与available Java APIs中的一个来查找单词的lexical category(在NLP中通常称为词性) 。使用专用的POS tagger将是另一种选择。