【问题标题】:Filter words belonging to a broad category过滤属于广泛类别的词
【发布时间】:2012-04-03 11:32:39
【问题描述】:

我有一个单词列表(如果必须的话,假设它们存储在 String[] 中)。我想过滤掉属于广泛的一般类别的词,例如 MusicSports

是否有现成的解决方案(即使它仅适用于有限的一般类别)?

或者你会怎么做?

这是在 Java 1.6 中完成的,这是一个 NLP(自然语言处理)问题。输入的单词列表包含随机单词,我想从这个大列表中只提取属于给定一般类别的单词(这将是一个子集)。

另一种思路:给定一个词,我想判断这个词是否属于某个类别。 类似这样的:

String word1 = "football"; //the strings will always be single word units
String word2 = "telephone";
boolean b1 = belongsToCategory(Categories.SPORTS, word1); //true
boolean b2 = belongsToCategory(Categories.SPORTS, word2); //false

如果您需要更多信息,请询问。

【问题讨论】:

    标签: java nlp


    【解决方案1】:

    嗯,我的想法是为每个类别保存一组单词,然后在每个集合中查找单词。

    当然,如果您将所有屈折形式都保存在一个单词中,那么这个集合将变得庞大且无法维护。我会考虑使用词形还原来限制这个集合的大小。 您可能有兴趣查看以下链接: Lemmatization on WikipediaLemmatization java

    【讨论】:

    • 我现在正在做类似的事情,因为没有现成的解决方案建议可以提供优势。但我稍后会研究 Lemmatization(我发现使用 Stemmer 很糟糕)。
    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 2023-02-11
    • 1970-01-01
    相关资源
    最近更新 更多