JMDict(Japanese-Multilingual Dictionary)는 Jim Breen교수가 만든 EDict를 기반으로 만든 일본어사전이다. 홈페이지
xml로 구성되어 있으며, 이해하기 위해서는 먼저 dtd를 이해해야 한다.
아래는 기본적으로 사용되는 엘리먼트에 대한 설명이다.
<!DOCTYPE JMdict [
<!-- root element는 JMDict이다. -->
<!ELEMENT JMdict (entry*)>
<!-- JMDict엘리먼트는 entry라는 엘리먼트가 0개 또는 여러개가 있다.-->
<!ELEMENT entry (ent_seq, k_ele*, r_ele+, info?, sense+)>
<!-- entry엘리먼트는 ent_seq(일련번호), k_ele(kanji elements, 0 또는 여러개),
r_ele(reading elements, 1개 또는 여러개), info(general information, 0개 또는 1개),
sense(sense elements, 1개 또는 여러개) 엘리먼트를 순서대로 가진다. 현재까지는 info 엘리먼트는 없는것으로 보인다.-->
<!ELEMENT ent_seq (#PCDATA)>
<!-- ent_seq엘리먼트는 각 entry엘리먼트마다 유일한 일련번호를 가지며,
그 속성은 파싱가능한 문자열로 이루어진다. (PCDATA) -->
<!ELEMENT k_ele (keb, ke_inf*, ke_pri*)>
<!-- k_ele(kanji element)는 keb(한개), ke_inf(0개 또는 여러개), ke_pri(0개 또는 여러개)등의 엘리먼트를 순서대로 가진다. -->
<!ELEMENT keb (#PCDATA)>
<!-- keb는 순수가나로만 이루어진 것을 제외한 단어나 구를 말한다. (대부분 한자이나, 영어등 다른 문자일수도 있다.) -->
<!ELEMENT ke_inf (#PCDATA)>
<!-- keb의 철자법(orthography)이나, 送り仮名(okurigana, 한자어 옆의 조사등으로 行(い)く의く를 말한다.)
-->
<!ELEMENT ke_pri (#PCDATA)>
<!-- 단어의 중요도나 빈도등을 나타낸다. news1/2는 마이니치신문으로 부터 단어 빈도를 추출한것으로 news1은 처음 12,000단어 news2는 그다음 12,000단어를 나타낸다. nfxx는 500단어씩 끊어서 단어빈도를 나타낸다. -->
<!-- -->
<!ELEMENT r_ele (reb, re_nokanji?, re_restr*, re_inf*, re_pri*)>
<!-- r_ele는 reading element로 re, re_nokanji, re_restr, re_inf, re_pri로 구성된다. -->
<!ELEMENT reb (#PCDATA)>
<!-- reb는 가나 또는 장음(chouon), 반복어(kurikaeshi)등을 표시한다. -->
<!ELEMENT re_nokanji (#PCDATA)>
<!-- keb에 해당되는 reb가 실제 kanji의 읽는법과 다를때 사용한다. 주로 외국지명등 외래어 표시때 사용한. (한국/중국 한자를 읽을때 인가?) -->
<!ELEMENT re_restr (#PCDATA)>
<!-- keb(한자)가 여러개 있을때 해당되는 reb(읽기)의 keb를 다시 보여준다. 주로 reb가 두개 이상있을때 나타나며, 히라가나, 가타가나로 읽는 reb가 있을때 자주 나타난다. -->
<!ELEMENT re_inf (#PCDATA)>
<!-- reb에서 특정한 상황에서 읽기를 해야할때 표시함. entity값이 들어감. -->
<!ELEMENT re_pri (#PCDATA)>
<!-- ke_pri와 동일하게, 중요도를 나타낸다. -->
<!-- -->
<!ELEMENT sense (stagk*, stagr*, pos*, xref*, ant*, field*, misc*, s_inf*, lsource*, dial*, gloss*, example*)>
<!-- sense는 단어의 뜻 및 관련된 다른정보를 표시한다. 다의어인 경우에는 sense가 여러개 나타난다.-->
<!ELEMENT stagr (#PCDATA)>
<!-- stagr의 속성에 해당되는 keb/reb에 국한되는 sense를 표시함.-->
<!ELEMENT xref (#PCDATA)*>
<!-- 다른 entry와 비슷하거나 관계있을때 사용. 속성은 다른 entry의 keb또는 reb이다.-->
<!ELEMENT ant (#PCDATA)*>
<!-- ant의 속성은 현재 entry의 반대어를 나타낸다. (예, 악행 - 선행) -->
<!ELEMENT pos (#PCDATA)>
<!-- 품사(Part-of-speech)를 나타내며 속성은 entity에 정의 되어 있다. -->
<!ELEMENT field (#PCDATA)>
<!-- 단어가 사용되는 분야을 설정한다.(불교계, 과학계용어등)-->
<!ELEMENT misc (#PCDATA)>
<!-- 단어에 대한 기타 정보들 -->
<!ATTLIST lsource xml:lang CDATA "eng">
<!-- 단어가 외래어일때 해당국가 표시 -->
<!ATTLIST lsource ls_type CDATA #IMPLIED>
<!-- 외래어에 대해서 fully 또는 partially로 설명할때를 구분. 생략하면 full이다.-->
<!ATTLIST lsource ls_wasei CDATA #IMPLIED>
<!-- 외래어로부터 일본어가 만들어졌지만, 해당 외래어에서는 그런 용어가 없을때 (콩글리쉬)-->
<!ELEMENT dial (#PCDATA)>
<!-- 어느지역 사투리인지-->
<!ELEMENT gloss (#PCDATA | pri)*>
<!-- 단어의 뜻 영어가 아닌 다른 언어로 뜻을 표시할때는 xml:lang="fr" 처럼 추가 표기해준다.-->
<!ELEMENT s_inf (#PCDATA)>
<!-- sense-information 엘리먼트는 단어에 대해서 추가정보를 준다.-->
<!ENTITY abbr "abbreviation">
<!ENTITY Buddh "Buddhist term">
<!ENTITY chem "chemistry term">
<!-- chem은 화확용어임.-->
]>
아래는 실제xml내용중 일부이다.
<JMdict> <entry> <ent_seq>1171270</ent_seq> <k_ele> <keb>右翼</keb> <ke_pri>ichi1</ke_pri> <ke_pri>news1</ke_pri> <ke_pri>nf04</ke_pri> </k_ele> <r_ele> <reb>うよく</reb> <re_pri>ichi1</re_pri> <re_pri>news1</re_pri> <re_pri>nf04</re_pri> </r_ele> <sense> <pos>&adj-no;</pos> <gloss>right-wing</gloss> <gloss xml:lang="fr">aile droite (oiseau, armée, parti politique, base-ball)</gloss> <gloss xml:lang="ru">пра́вое крыло́</gloss> <gloss xml:lang="ru">пра́вый фланг</gloss> <gloss xml:lang="de">die Rechte</gloss> <gloss xml:lang="de">rechter Flügel</gloss> </sense> <sense> <pos>&n;</pos> <gloss>right field (e.g. in sport)</gloss> <gloss>right flank</gloss> <gloss>right wing</gloss> <gloss xml:lang="de">{Sport}</gloss> <gloss xml:lang="de">rechte Flanke</gloss> <gloss xml:lang="de">rechter Flügel</gloss> </sense> </entry>
'일본어' 카테고리의 다른 글
아사히 TV로 일본어 뉴스와 대본(?)보기 (1) | 2014.01.27 |
---|---|
[일드] 라스트 신데렐라 ラスト・シンデレラ (0) | 2013.09.23 |
일본어한자에 자동으로 후리가나 달기 (0) | 2013.09.22 |