用支持同义词的txt或xml文件作为英语字典

24

请问有人能告诉我在哪里可以下载英语词典的txt或xml文件吗? 我正在为自己建立一个简单的应用程序,希望找到一些可以立即使用而无需学习复杂API的东西。

如果支持同义词将非常好,也就是说,应该更容易检索特定单词的所有同义词。

如果词典可以列出英式和美式拼写不同的单词,那真是太棒了。

即使只是小型词典(几千个单词),那也没关系,因为我只需要它来完成一个小项目。

如果价格合理并且词典易于使用 - 简单的XML将非常好 - 我甚至愿意购买一个。

请指点方向。


1
http://superuser.com/questions/120699/word-list-sources - warren
2
Wiktionary可以作为XML下载,但其中包含的格式可能很难解析。它包括同义词和替代拼写。 - hippietrail
1
在 Github 上找到了一个 CSV 文件列表 https://github.com/airshipcloud/dictionary-seed/tree/master/wordnet/Thesaurus - dikirill
4个回答

18

WordNet是你所需要的工具。它包含超过10万个词条,并且可以免费获取。

但是,它并不以XML格式存储。为了访问数据,你需要使用现有的WordNet API之一来选择你所使用的编程语言。

通常使用API很简单,因此我认为你不必担心“学习复杂的API”。例如,参考基于Python的自然语言工具包(NLTK)WordNet How to

 >>> from nltk.corpus import wordnet
 >>> 
 >>> # Get All Synsets for 'dog'
 >>> # This is essentially all senses of the word in the db
 >>> wordnet.synsets('dog')
 [Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), 
  Synset('cad.n.01'), Synset('frank.n.02'),Synset('pawl.n.01'), 
  Synset('andiron.n.01'), Synset('chase.v.01')]
 
 >>> # Get the definition and usage for the first synset
 >>> wn.synset('dog.n.01').definition
 'a member of the genus Canis (probably descended from the common 
 wolf) that has been domesticated by man since prehistoric times; 
 occurs in many breeds'
 >>> wn.synset('dog.n.01').examples
 ['the dog barked all night']

 >>> # Get antonyms for 'good'
 >>> wordnet.synset('good.a.01').lemmas[0].antonyms()
 [Lemma('bad.a.01.bad')]

 >>> # Get synonyms for the first noun sense of 'dog'
 >>> wordnet.synset('dog.n.01').lemmas
 [Lemma('dog.n.01.dog'), Lemma('dog.n.01.domestic_dog'), 
 Lemma('dog.n.01.Canis_familiaris')]

 >>> # Get synonyms for all senses of 'dog'
 >>> for synset in wordnet.synsets('dog'): print synset.lemmas
 [Lemma('dog.n.01.dog'), Lemma('dog.n.01.domestic_dog'), 
 Lemma('dog.n.01.Canis_familiaris')]
 ...
 [Lemma('frank.n.02.frank'), Lemma('frank.n.02.frankfurter'), 
 ...

尽管WordNet存在美式英语偏差,但它支持英式拼写和用法。例如,您可以查询“colour”,而“lift”的其中一个同义词集是“elevator.n.01”。

关于XML的注释

如果将数据表示为XML至关重要,则可以轻松使用其中一个API访问WordNet数据库并将其转换为XML格式,例如请参见Thinking XML: Querying WordNet as XML


2
如果您喜欢原始的XML格式,Guy Lapalme(蒙特利尔大学)已经完成了这项工作。链接 - Titou
1
我想补充一下,WordNet 不包含形容词或副词的变位、复数形式或其他扩展。 - Andrew White

13

我知道这个问题已经很老了,但我自己也遇到了找文本文件的问题,因此如果有人正在寻找同义词和反义词文本文件数据库,可以尝试使用最简单但非常详细的网址链接


再次提问,新评论。使用notepad++通过正则表达式修改输出非常容易。在您的查询中添加notepad++即可谷歌您的问题。 - pc_

6

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接