其他分享
首页 > 其他分享> > 从Wordnet提取以特定字母开头的所有单词

从Wordnet提取以特定字母开头的所有单词

作者:互联网

如何从wordnet中提取所有以特定字母开头的单词.例如,如果我键入A,则wordnet应该返回以字母A开头的所有单词.

解决方法:

我最容易看到的方法是从here下载其数据库,然后解析每行第五个元素的以空格分隔的数据文件(data.adj,data.adv,data.noun,data.verb),并将其放入相关数据结构.

可能是一个哈希表,其中以起始字母为键,每个元素为以该字母开头的单词数组.

是否使用动态数组还是常规数组,然后首先解析文件以获取每个字母的单词数(数组大小),由您决定.

下面的代码示例用C编写,并通过wordnet数据文件读取并打印有问题的单词.它绝不抛光,很快就制成了.

#include <stdio.h>
#include <string.h>
int main(int argc,char**argv)
{
  FILE *fp;

  fp=fopen("data.noun", "r");
  char line [ 3000 ];
  while ( fgets ( line, sizeof line, fp ) != NULL )
  {
      char *result = NULL;
      int count =0;
      result = (char*)strtok( line, " ");
      count++; 
      while( result != NULL ) 
      {
      if (count == 5) 
      {
          printf( "result is \"%s\"\n", result );
      }
      result = (char*)strtok( NULL, " ");
      count++;
      }
  }
  return 0;
}

有关WordNet数据库格式的更多文档,请参见here

如果您想使用WordNet C API,请参阅文档here中的findtheinfo函数,尽管我认为该函数并非旨在返回使用该API调用所需的信息.

标签:wordnet,nlp,c-3,python
来源: https://codeday.me/bug/20191105/1998554.html