フリーの英語・日本語辞書データJMdictを詳しく紹介します

英和辞書を使ったアプリを考えているんだけど、無料で使える英和辞書データってないかな?
無料で使える英和辞書データ
フリーの英和辞書データと言えば、お薦めはJMdictです。
JMdictについて詳しく解説します。

無料で使える英和辞書データ

フリーで使える英和辞書データのJMdictを紹介します。

1.フリーの英和辞書データJMdictとは

JMdictとは

JMdictは機械で読み取り可能な大規模な英語・日本語辞書(※)です。2020年1月の時点で、186,000以上の単語が登録されています。

辞書ファイルは自由に使用できるためインターネットで広く採用されており、多くのコンピューターおよびスマホアプリで使用されています。

※捕捉) 厳密にはJMdictは日本語→多言語辞書です。英語だけでなくフランス語やドイツ語などにも対応しています。また、日本語から多言語への変換を目的に作られています。(多言語から日本語への変換の用途でも使えます。)

出展:Wikipedia
https://en.wikipedia.org/wiki/EDICT

JMdictの歴史

JMdict/EDICTプロジェクトは、1991年にJim Breenによって作成された英語・日本語辞書ファイル「EDICT」(EUC-JPエンコーディングのフラットテキストファイル)が起源になります。

その後、1999年に「JMdict」としてUTF-8でエンコードされたXMLファイルに拡張され公開されています。

JMdictは現在は電子辞書研究開発グループ(EDRDG)によって管理されており、辞書データベースはオンラインで更新出来ます。(ただし、辞書はJim Breenと他の6人の編集者を含む編集委員会によって管理されている)

JMdictのメリット

  • フリーである
    無料であり公開も自由に出来る。
  • 単語量が膨大である
    186,000単語という膨大な情報量があり、今も成長している。
  • 品詞情報がある
    単語の意味だけでなく品詞情報がある。翻訳ソフトを作ろうと思ったら品詞情報は必須。
  • 一括ダウンロード出来る
    APIと異なり全データを一括でダウンロード出来る。ローカルに全データを置いておけるので、高速なアプリが作れる。

2.フリーの英和辞書データJMdictの取得方法

JMdictは電子辞書研究開発グループ(EDRDG)が運営する「WWWJDIC日本語辞書サーバー」からダウンロード出来ます。

WWWJDIC日本語辞書サーバー

http://nihongo.monash.edu//wwwjdicinf.html

ダウンロードできる英語・日本語辞書

ファイル名 説明 ダウンロードサイト
JMdict 一般用語の日英辞書。150,000のエントリがある。 リンク
JMnedict 地名、姓、名などの日本の固有名詞の辞書。 リンク
COMPDIC IT・通信産業で使用される用語の辞書。 リンク

3.フリーの英和辞書データJMdictのフォーマット

JMdictのファイル形式

UTF-8のXMLファイル

JMdictの代表項目

※ 代表項目のみ記載します。詳細は本家サイトを参照下さい。
JMdictの構成(DTD)

要素 説明
ent_seq シーケンス番号
r_ele/reb 日本語単語(かな)
k_ele/keb 日本語単語(漢字)
sense 日本語単語に該当する英単語リスト
sence/gloss 英単語/フレーズ
sence/pos 品詞

JMdictの内容(抜粋)

<JMdict>
・・・
<entry>
  <ent_seq>1000710</ent_seq>
  <k_ele><keb>幾つも</keb></k_ele>
  <r_ele><reb>いくつも</reb></r_ele>
  <sense>
    <pos>&adv;</pos>
    <pos>&adj-no;</pos>
    <misc>&uk;</misc>
    <gloss>many</gloss>
    <gloss>much</gloss>
    <gloss>plenty</gloss>
  </sense>
</entry>
</JMdict>

4.JMdict XML→CSV変換方法

XMLだとデータベースにインポートするのが面倒なので、XML→CSV変換プログラムをPythonで組んだので紹介します

JMdict XML→CSV変換(Python)

import xml.etree.ElementTree as ET

def loadJmdict(path):
  tree = ET.parse(path)
  for child in tree.getroot():
    seq = find(child, 'ent_seq')
    pos = find(child, 'pos')
    keb = find(child, 'keb')
    reb = find(child, 'reb')
    for e in child.iter('gloss'):
      print(seq + "," + e.text + "," + pos + "," + keb + "," + reb)

5.JMdictの感想

無料で、これだけの情報が手に入るのは有難いですね。先人に感謝です。
調べてみたら、他にも英語→日本語変換が出来るオープンソースやAPIはありましたが、品詞情報が取れるのはJMdictくらいの様でした(そんなバカなとも思うので、もー少し調べてみようかなとは思います。)

これからアプリ作ってみます。何を作るつもりかは今のところ内緒。お楽しみにー。

それではまたー
JMdict

広告




スポンサーリンク
広告




広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
広告