Vortaro kun 210 mil tradukoj
Kajero


Trovi parte kongruajn (Uzeblas regulaj esprimoj)

【vortaro.jpが辞書を再発明するはなし】

これは「語学・言語学・言語創作 Advent Calendar 2023」の 19 日目の記事です。

はじめに

Vortkajero(https://vortaro.jp/)とは、主にエスペラント語、日本語、イド語、英語、中国語に対応した多言語辞書です。インターネット上にすでに公開されているデータソースを主に利用し、訳語およそ20万対のデータから語彙間の関連を推定。多言語辞書引きを実現します。使い方、出典はこちらをご覧ください。

Vortkajeroは、データとして直接には保持していない訳語も導出できます。今回はその原理についてお話しします。

Vortkajero訳語導出原理

1. 辞書形式とその提示

Vortkajeroの辞書データは次のような形式をしています。

t(['forkomerci',eo],['売り払う',ja],[pejv],'').
t(['forkomerci',eo],['売りとばす',ja],[pejv],'').
t(['forkomerci',eo],['forvendi',eo],[pejv],'').
t(['forkomerci',eo],['to buy',en],['ESPDIC'],'').
t(['forkomerci',eo],['purchase',en],['ESPDIC'],'').
t(['forkomerci',eo],['take over',en],['ESPDIC'],'').
  • t( ). で囲われた部分はエントリを示し、
  • ['forkomerci', eo], ['売り払う', ja] が訳語の対になっています。ひとつのエントリには訳語を1対ずつ配置します。
  • 続く [pejv], が出典を示し、
  • 最後の '' は、補足の自由記述欄です。

この形式のエントリが連なって辞書データをなします。内蔵データは約20万行です。

Vortkajeroは、まずこの辞書データのとおりに訳語を出力します。実際の画面で確かめてみてください。

2. 非存在訳語提示

しかしこのページには、

  • (en) to sell off (aŭtomata sugesto)
  • (en) liquidate (aŭtomata sugesto)

という、元のデータでは関連付けられていない訳語が提示されています。これらは、forkomerci の同義語としてデータに掲載されている forvendi の訳語としてはデータが存在しており、ここから採用されたものです。出典欄にある「aŭtomata sugesto」の表示は、非存在訳語提示機構により提示されたものであることを示します。

t(['forvendi',eo],['売り払う',ja],[pejv],'').
t(['forvendi',eo],['売りとばす',ja],[pejv],'').
t(['forvendi',eo],['to sell off',en],['ESPDIC'],'').
t(['forvendi',eo],['liquidate',en],['ESPDIC'],'').

一方、先ほどのページには

  • (en) to buy (fonto: ESPDIC)

という表示もありますが、ここからほかの言語の訳語を引っ張ってくることはされていませんね。確証はありませんが、forkomerci を to buy の意味で使うという表示は、元データの時点での勘違いではないかと思われます(じきに消去するつもりです)。このエントリを辿ると「買う」などを表示することになるわけですが、Vortkajero はデータを選り好みするようプログラムされており、ここは深掘りしません。

Universala Vortaro

ザメンホフのあまり表立って評価されない成果のひとつに、Universala Vortaro があります。Universala Vortaro とは、見出しにエスペラントの単語を、内容に他の言語の単語を並べた辞書で、複数の言語が一度に引けるようになっている多言語辞書です。

実際にこれを作ってみるとわかりますが、見出し語はエスペラントでないとうまくいきません。中心語義がはっきりした単語でないと、見出しとして役立たず、徐々にずれた意味へと迷い込んでいく辞書ができあがるからです。この点、エスペラントは(接辞や語尾は多分に多義的である一方)一般の語彙の多義語はきわめて少なく抑制されており、この用途に適します。

Vortkajero はもちろんこの原理を応用しています。プログラムコードは Prolog で書かれたスクリプトで、核心コードはわずか15kBほどとなっています。

エスペラントが Ponta Lingvo として作動する Vortkajero は、言語をつなぐ機械のエスペランティストです。どうぞ自由に遊んでみてください。

2023年12月19日夜

Babilejo

Kajero

Programita de Sato kaj Cai Niao

Funkciigita de SWI-Prolog

2019-03-14 ver. 1

2023-09-01 ver. 2