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)
小智 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)
这些对应于:
例如,来自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)
s,对应形容词(wnutil.c,功能getpos)cut词汇ID 0shortened词汇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.
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)