2010-04-19 4 views
19

누군가 영어 사전을 txt 또는 xml 파일로 다운로드 할 수있는 곳을 알려줄 수 있습니까? 나는 복잡한 API를 배우지 않고 즉시 사용할 수있는 것을 찾고 나 자신을위한 간단한 앱을 만들고있다.동의어를 지원하는 txt 또는 xml 파일로 영어 사전

동의어를 지원하는 것이 좋을 것입니다. 즉, 특정 단어에 대한 동의어를 모두 검색하는 것이 더 쉬워야합니다.

사전이 서로 다른 단어의 영국식 및 미국식 철자법을 나열하면 절대적으로 환상적입니다.

괜찮은 작은 사전 (수천 단어)이더라도 작은 프로젝트에만 필요합니다.

가격이 적당하고 사용하기 쉬운 경우에도 구매할 의향이 있습니다. 간단한 XML이 좋습니다.

방향을 선택하십시오.

+0

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

+1

[위키 낱말 사전를 XML로 다운로드 할 수 있습니다.] (http://dumps.wikimedia.org/enwiktionary/latest/enwiktionary-latest-pages- articles.xml.bz2)하지만 구문 분석하기가 어려울 수있는 서식이 포함되어 있습니다. 동의어 및 대체 철자가 포함됩니다. – hippietrail

+0

github https://github.com/airshipcloud/dictionary-seed/tree/master/wordnet/Thesaurus에서 csv 파일 목록을 찾았습니다 – dikirill

답변

16

WordNet은 원하는 것입니다. 100,000 개가 넘는 항목이 포함되어 있으며 무료입니다.

그러나 XML로 저장되지 않습니다. 데이터에 액세스하려면 선택한 언어로 기존 WordNet APIs 중 하나를 사용하고 싶을 것입니다.

API를 사용하는 것은 일반적으로 매우 간단하므로 "복잡한 API를 배우는"것에 대해 많이 걱정할 필요가 없다고 생각합니다. 예를 들어, Natural Language Toolkit (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'), 
... 

를 워드 넷의 미국 영어 편견이 있지만, 그것은 영국의 철자 및 사용을 지원합니다. 예를 들어, '색상'을 검색 할 수 있으며 '리프트'의 synset 세트 중 하나는 'elevator.n.01'입니다.

참고 XML

XML이 필수적으로 표현 된 데이터를 갖는 것은, 당신은 쉽게, 예를 워드 넷 데이터베이스 에 액세스하고 XML로 변환하는 API 중 하나를 사용할 수있는 경우에 Thinking XML: Querying WordNet as XML을 참조하십시오.

+1

원시 XML을 선호하는 경우 Guy Lapalme (Université de Montréal) [이미 작업을 수행했습니다] (http://www.iro.umontreal.ca/~lapalme/WordNet-XML/) – Titou

+0

형용사 또는 부사를위한 활용법, 복수화 또는 기타 확장을 포함하지 않는 단어를 추가하고 싶습니다. –

3

저는 과거에 Roget's thesaurus을 사용했습니다. 일반 텍스트 파일에는 동의어 정보가 있습니다. 또한 텍스트를 파싱하는 데 도움이되는 몇 가지 Java 코드가 있습니다.

이 페이지는 일부 시소러스/렉시 컬 리소스에 대한 링크를 제공하며 일부는 무료로 다운로드 할 수 있습니다.

http://www.w3.org/2001/sw/Europe/reports/thes/thes_links.html

http://www-a2k.is.tokushima-u.ac.jp/member/kita/NLP/lex.html

관련 문제