当前位置: 首页 > 知识库问答 >
问题:

从Wordnet中提取词表

姜松
2023-03-14

我想为我的搜索引擎从数据库中提取一个基本的同义词列表。这包括通常拼写的名字,如Shaun vs.Shawn,Muhammad的不同变体,命名实体的首字母缩写,如United Nations(UN)或SARS(Severe acute respiratory syndrome)。

在提取之后,这个同义词列表将被放置在服务器中,并以这样的方式存储--相关术语/同义词的字符串。

示例

我使用了jaws API并设法获得我输入的特定单词的同义词。这是我试过的例子之一。

    null
/**
 * Main entry point. The command-line arguments are concatenated together
 * (separated by spaces) and used as the word form to look up.
 */
public static void main(String[] args)
{
    arg[0]="NASA";
    if (args.length > 0)
    {
        //  Concatenate the command-line arguments
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < args.length; i++)
        {
            buffer.append((i > 0 ? " " : "") + args[i]);
        }
        String wordForm = buffer.toString();
        //  Get the synsets containing the wrod form
        WordNetDatabase database = WordNetDatabase.getFileInstance();
        Synset[] synsets = database.getSynsets(wordForm);
        //  Display the word forms and definitions for synsets retrieved
        if (synsets.length > 0)
        {
            System.out.println("The following synsets contain '" +
                    wordForm + "' or a possible base form " +
                    "of that text:");
            for (int i = 0; i < synsets.length; i++)
            {
                System.out.println("");
                String[] wordForms = synsets[i].getWordForms();
                for (int j = 0; j < wordForms.length; j++)
                {
                    System.out.print((j > 0 ? ", " : "") +
                            wordForms[j]);
                }
                System.out.println(": " + synsets[i].getDefinition());
            }
        }
        else
        {
            System.err.println("No synsets exist that contain " +
                    "the word form '" + wordForm + "'");
        }
    }
    else
    {
        System.err.println("You must specify " +
                "a word form for which to retrieve synsets.");
    }
}

谢谢你

共有1个答案

甄云
2023-03-14

我在我的项目上也遇到了同样的情况,但我确实找到了一个已经做过各种WordNet摘录的人:https://sourceforge.net/projects/wordnetport/files/?source=navbar

这对我没有很大帮助,因为WordNet同义词组非常肤浅,但希望它们能为您(或同义词的某人)提供帮助

 类似资料:
  • 问题内容: WordNet很棒,但是我很难在nltk中获得同义词。如果您在此处类似地搜索“ small”一词,则会显示所有同义词。 基本上,我只需要了解以下内容: 哪里的选项可以是化名和反义词,但是获取同义词的选择是什么? 问题答案: 如果您想要同义词集中的同义词(又称组成集合的引理),则可以使用以下命令获取它们:

  • 问题内容: 不久前,SO上有人问如何使用NLTK的wordnet包装器检索给定同义词集的单词列表。这是建议的响应之一: 使用NLTK 3.0运行此代码将产生。 我尝试了每个先前提出的解决方案(上面链接页面上描述的每个解决方案),但是每个都抛出错误。因此,我想问:NLTK 3.0是否可以为同义词集列表打印单词?我将很感谢其他人在这个问题上可以提供的任何建议。 问题答案: WordNet在NLTK 3

  • 问题内容: 有谁知道从文本中仅提取名词的最简单方法? 我听说过TreeTagger工具,但尝试尝试一下,但由于某种原因而无法使用。 有什么建议? 谢谢菲尔 编辑: 那是我的代码,英语是语言。我遇到了错误:new TokenHandler(){}类型必须实现继承的抽象方法TokenHandler.token。难道我做错了什么? 问题答案: 首先,您必须标记文本。这看似微不足道(在任何空格处分割都可以

  • 问题内容: 我有一个项目,需要了解一个单词的词义。我正在考虑使用WordNet,因为它具有自己的词典编辑器类,也称为超级感官。我刚刚下载了MIT JWI,并尝试查看该JWI是否支持它。手册中没有任何关于返回单词附带的词汇信息的说明。 我设法运行了MIT提供的示例。关于如何获取使用MIT JWI或任何其他工具提交的单词的词法信息的任何线索或建议,都是很好的。有关如何调用该方法的示例也将不胜感激。 问

  • 问题内容: 我正在尝试获取词典列表中所有键的列表,以便填写csv.DictWriter的fieldnames参数。 以前,我有这样的事情: 我当时习惯于使用列表中的第一本字典并提取其键。 现在我有了类似的东西,其中一个字典比另一个字典具有更多的key:value对(可能是任何结果)。新密钥是根据来自API的信息动态添加的,因此它们可能会或可能不会出现在每个字典中,而且我事先也不知道会有多少个新密钥

  • 问题内容: 假设您有一个像这样的文本文件:http : //www.gutenberg.org/files/17921/17921-8.txt 有没有人有一个好的算法或开放源代码从文本文件中提取单词?如何获得所有单词,同时避免使用特殊字符,并保留诸如“ it’s”之类的内容… 我在用Java工作。谢谢 问题答案: 这听起来像是正则表达式的正确工作。如果您不知道如何开始,以下是一些Java代码,可以