2010-04-19 47 views
19

有人可以指向我可以在哪裏下載英文字典作爲txt或xml文件。我正在爲自己構建一個簡單的應用程序,並在不學習複雜的API的情況下立即開始使用。英文字典作爲支持同義詞的txt或xml文件

支持同義詞會很好,也就是說,檢索特定單詞的所有同義詞應該更容易。

如果字典將列出英語和美國拼寫不同的單詞,這將是非常棒的。

即使它是小字典(幾千字)沒關係,我只需要一個小項目。

如果價格合理,我甚至會願意購買一本,而且字典很容易使用 - 簡單的XML會很棒。

任何方向請。

+0

http://superuser.com/questions/120699/word-list-sources – warren 2010-07-07 21:19:41

+1

[Wiktionary可以下載爲XML](http://dumps.wikimedia.org/enwiktionary/latest/enwiktionary-latest-pages- articles.xml。bz2),但它包含格式化,這可能是痛苦的解析。它確實包括同義詞和替代拼寫。 – hippietrail 2011-08-04 08:50:41

+0

找到github上的csv文件列表https://github.com/airshipcloud/dictionary-seed/tree/master/wordnet/Thesaurus – dikirill 2015-10-05 23:12:29

回答

16

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.domestic_dog'), 
Lemma('dog.n.01.Canis_familiaris')] 
... 
[Lemma('frank.n.02.frank'), Lemma('frank.n.02.frankfurter'), 
... 

雖然是共發現了美式英語的偏見,它支持英國的拼寫和用法。例如,您可以查看「顏色」,「lift」的其中一個同義詞是'elevator.n.01'。

注意事項XML

如果其表示爲XML是至關重要的數據,你可以很容易地使用這些API的一個訪問數據庫的WordNet和 其轉換成XML,例如見Thinking XML: Querying WordNet as XML

+1

如果您更喜歡raw xml,Guy Lapalme(蒙特利爾大學)[已經完成了這項工作] (http://www.iro.umontreal.ca/~lapalme/WordNet-XML/) – Titou 2015-01-13 09:51:14

+0

我想補充一點,wordnet不包含形容詞或副詞的變形,複數形式或其他擴充。 – 2016-03-27 15:20:53