2010-04-19 27 views
19

¿Puede alguien indicarme dónde puedo descargar el diccionario de inglés como un archivo txt o xml? Estoy construyendo una aplicación simple para mí y buscando algo que podría empezar a usar inmediatamente sin aprender una API compleja.Diccionario de inglés como archivo txt o xml con soporte de sinónimos

El soporte de sinónimos sería genial, es decir, debería ser más fácil recuperar todos los sinónimos de una palabra en particular.

Sería absolutamente fantástico si el diccionario enumerara la ortografía británica y estadounidense de las palabras donde difieren.

Incluso si fuera un diccionario pequeño (unas pocas miles de palabras) está bien, solo lo necesito para un proyecto pequeño.

Incluso estaría dispuesto a comprar uno si el precio es razonable, y el diccionario es fácil de usar, XML simple sería genial.

Cualquier instrucción por favor.

+0

http://superuser.com/questions/120699/word-list-sources – warren

+1

[Wikcionario se puede descargar como XML] (http://dumps.wikimedia.org/enwiktionary/latest/enwiktionary-latest-pages- articles.xml.bz2) pero contiene un formato que puede ser doloroso de analizar. Incluye sinónimos y ortografía alternativa. – hippietrail

+0

Se encontró una lista de archivos csv en github https://github.com/airshipcloud/dictionary-seed/tree/master/wordnet/Thesaurus – dikirill

Respuesta

16

WordNet es lo que quiere. Es grande, contiene más de cien mil entradas, y está disponible gratuitamente.

Sin embargo, no se almacena como XML. Para acceder a los datos, querrá usar uno de los existentes WordNet APIs para el idioma de su elección.

El uso de las API generalmente es bastante sencillo, así que no creo que deba preocuparse demasiado por "aprender (a) una API compleja". Por ejemplo, los préstamos del WordNet How to para el pitón basado 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'), 
... 

Si bien existe un sesgo en Inglés Americano WordNet, es compatible con ortografía británica y su uso. Por ejemplo, puede buscar 'color' y uno de los sintonos para 'levantar' es 'elevator.n.01'.

Notas sobre XML

Si tener los datos representados como XML es esencial, se podría utilizar fácilmente una de las APIs para acceder a la base de datos WordNet y convertirlo en XML, por ejemplo, ver Thinking XML: Querying WordNet as XML.

+1

Si prefiere xml sin formato, Guy Lapalme (Université de Montréal) [ya hizo el trabajo] (http://www.iro.umontreal.ca/~lapalme/WordNet-XML/) – Titou

+0

Me gustaría agregar que wordnet no contiene conjugaciones, pluralizaciones u otras expansiones para adjetivos o adverbios. –

Cuestiones relacionadas