有人可以指出我可以将英文字典下载为txt或xml文件。我正在为自己构建一个简单的应用程序,并寻找可以立即开始使用的东西,而不需要学习复杂的API。
对同义词的支持是非常好的,那就是更容易地检索特定单词的所有同义词。
如果字典将列出英国和美国的拼写错误的话,这将是绝对梦幻般的。
即使它是小字典(几千字)也没关系,我只需要一个小项目。
如果价格合理,我甚至愿意买一个字典,而且字典很容易使用 – 简单的XML会很棒。
任何方向
WordNet是你想要的它很大,包含十万个条目,它是免费的。
但是,它并不存储为XML。要访问数据,您将需要使用现有的WordNet APIs之一选择您的语言。
使用API通常很简单,所以我不认为你不必担心“学习(一个复杂的API”)。例如,从WordNet How to借用基于Python的Natural Language Toolkit (NLTK):
>>> 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.Canis_familiaris')] ... [Lemma('frank.n.02.frank'),Lemma('frank.n.02.frankfurter'),...
虽然WordNet中存在美国英语偏见,但它支持英国的拼写和使用。例如,您可以查找“颜色”,“lift”的其中一个synset是“elevator.n.01”。
关于XML的注释
如果将数据表示为XML是必需的,您可以轻松地使用其中一个API来访问WordNet数据库
并将其转换为XML,例如见Thinking XML: Querying WordNet as XML。