如何从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 C API,请参阅文档here中的findtheinfo函数,尽管我认为该函数并非旨在返回使用该API调用所需的信息.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。