1

我有一个单词列表,我想对其进行过滤,以便我只有该单词列表中的名词(使用 Java)。为此,我正在寻找一种简单的方法来查询单词数据库的类型。

我的问题是,有没有人知道一个免费的、简单的单词查找 API,它可以让我找到一个单词的类别,而不一定是它的语义定义。

谢谢!

本。

编辑:我的意思是“词性”这个词的类,谢谢你澄清这个

4

4 回答 4

3

字型?比如动词、名词、形容词等?如果是这样,您可能会遇到一些单词可以以多种方式使用的问题。例如:“你能把那张卡交易给我吗?”、“那是一笔糟糕的交易。”

请参阅此线程以获取一些建议。

也看看这个,似乎它可能完全符合您的要求。

于 2009-03-04T19:43:50.437 回答
2

我认为您正在寻找的是单词的词性(POS)。一般来说,除非在句子的上下文中,否则无法确定。有很多词可以有几个不同的潜在词性(例如,“银行”可以用作动词或名词)。

您可以使用 POS 标记器来获取您想要的信息。但是,以下词性标注器假设您在一个结构良好的英语句子中标注单词......

  • OpenNLP Java 库通常非常好,并在 LGPL 下发布发行版中包含英语和其他几种语言的词性标注器。只需到项目页面获取 jar(也不要忘记下载模型)。

  • 还有斯坦福词性标注器,在 GPL 下用 Java 编写。我对这个库没有任何直接的经验,但斯坦福 NLP 实验室通常非常棒。

于 2009-03-11T08:00:04.347 回答
0

查询单词数据库将导致 Ben S. 提到的问题,例如它是领先(v. to show the way)还是领先(n. Pb)。如果您想花一些时间解决这个问题,请查看词性标记。在另一个 SO 线程中有一些很好的信息。

于 2009-03-05T03:38:07.553 回答
0

对于英语,您可以使用 WordNet 和可用的 Java API之一来查找单词的词汇类别(在 NLP 中最常称为词性)。使用专用的词性标注器是另一种选择。

于 2009-03-05T03:56:31.050 回答