名词,动词,形容词等单独的单词列表

pol*_*nts 27 grammar dictionary spell-checking

通常单词列表是包含所有内容的1个文件,但是可以单独下载名词列表,动词列表,形容词列表等吗?

我特意需要英语.

小智 36

如果只从wordnet.princeton.edu/download/current-version下载数据库文件,则可以通过运行以下命令来提取单词:

egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z_]*\s" data.adj | cut -d ' ' -f 5 > conv.data.adj
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z_]*\s" data.adv | cut -d ' ' -f 5 > conv.data.adv
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z_]*\s" data.noun | cut -d ' ' -f 5 > conv.data.noun
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z_]*\s" data.verb | cut -d ' ' -f 5 > conv.data.verb
Run Code Online (Sandbox Code Playgroud)

或者如果你只想要单个单词(没有下划线)

egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z]*\s" data.adj | cut -d ' ' -f 5 > conv.data.adj
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z]*\s" data.adv | cut -d ' ' -f 5 > conv.data.adv
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z]*\s" data.noun | cut -d ' ' -f 5 > conv.data.noun
egrep -o "^[0-9]{8}\s[0-9]{2}\s[a-z]\s[0-9]{2}\s[a-zA-Z]*\s" data.verb | cut -d ' ' -f 5 > conv.data.verb
Run Code Online (Sandbox Code Playgroud)

  • 为自己说话,这正是我所需要的.谢谢寒冷! (17认同)

小智 31

这是一个排名很高的谷歌搜索结果,因此我正在挖掘这个2年前的问题,以提供比现有问题更好的答案.

"Kevin的单词列表"页面提供了基于WordNet 1.6的2000年的旧列表.

你最好去https://wordnet.princeton.edu/download/current-version并下载WordNet 3.0(仅限数据库的版本)或者当你阅读它时的最新版本.

解析它非常简单; 只需应用正则表达式"/^(\S+?)[\s%]/"来抓取每个单词,然后"_"用空格替换结果中的所有(下划线).最后,将结果转储到您想要的任何存储格式.您将获得单独的形容词,副词,名词,动词列表,甚至是一个特殊的(非常无用/有用取决于您正在做的事情)列表,称为"感官",与我们的嗅觉,视觉,听觉等感官有关. ,即"衬衫"或"刺鼻"等词.

请享用!如果您在项目中使用它,请记得包含他们的版权声明.


Mr.*_*ama 11

正如其他人所建议的那样,WordNet数据库文件是词性的重要来源.也就是说,用于提取单词的示例并不完全正确.每一行实际上都是一个"同义词集",由多个同义词及其定义组成.大约30%的单词仅作为同义词出现,因此简单地提取第一个单词会丢失大量数据.

行格式很容易解析(search.c,函数parse_synset),但如果你感兴趣的只是单词,那么行的相关部分的格式为:

NNNNNNNN NN a NN word N [word N ...]
Run Code Online (Sandbox Code Playgroud)

这些对应于:

  • 文件中的字节偏移量(8个字符整数)
  • 文件号(2个字符整数)
  • 词性(1个字符)
  • 单词数(2个字符,十六进制编码)
  • N次出现......
    • 带有下划线的空格的单词,括号中的可选注释
    • Word词汇ID(唯一出现ID)

例如,来自data.adj:

00004614 00 s 02 cut 0 shortened 0 001 & 00004412 a 0000 | with parts removed; "the drastically cut film"
Run Code Online (Sandbox Code Playgroud)
  • 文件中的字节偏移量为4614
  • 文件号为0
  • 词性s,对应形容词(wnutil.c,功能getpos)
  • 单词数为2
    • 第一个词是cut词汇ID 0
    • 第二个词是shortened词汇ID 0

一个简短的Perl脚本,只需转储data.*文件中的单词:

#!/usr/bin/perl

while (my $line = <>) {
    # If no 8-digit byte offset is present, skip this line
    if ( $line !~ /^[0-9]{8}\s/ ) { next; }
    chomp($line);

    my @tokens = split(/ /, $line);
    shift(@tokens); # Byte offset
    shift(@tokens); # File number
    shift(@tokens); # Part of speech

    my $word_count = hex(shift(@tokens));
    foreach ( 1 .. $word_count ) {
        my $word = shift(@tokens);
        $word =~ tr/_/ /;
        $word =~ s/\(.*\)//;
        print $word, "\n";

        shift(@tokens); # Lexical ID
    }
}
Run Code Online (Sandbox Code Playgroud)

可以在此处找到上述脚本的要点.
可以在此处找到更稳健的解析器,该解析器保持原始源.

这两个脚本的使用方式类似:./wordnet_parser.pl DATA_FILE.


JXG*_*JXG 8

凯文的单词列表.特别是"词性数据库".您必须自己进行一些最小的文本处理,以便为自己将数据库分成多个文件,但这可以通过一些grep命令轻松完成.

许可条款可在"自述"页面上找到.


Łuk*_*ski 5

http://icon.shef.ac.uk/Moby/mpos.html

每个词性词汇条目均由单词或短语字段,后跟(ASCII 215)的字段定界符和使用以下ASCII符号编码的词性字段组成(区分大小写):

Noun                            N
Plural                          p
Noun Phrase                     h
Verb (usu participle)           V
Verb (transitive)               t
Verb (intransitive)             i
Adjective                       A
Adverb                          v
Conjunction                     C
Preposition                     P
Interjection                   !
Pronoun                         r
Definite Article                D
Indefinite Article              I
Nominative                      o
Run Code Online (Sandbox Code Playgroud)