読者です 読者をやめる 読者になる 読者になる

Perlex屈折辞書への屈折辞の追加方法

Perlexの元となっているalexinaのフレームワークでは,主に

  • root辞書
  • 屈折辞辞書

から構成されている.
これをmakeすると,屈折活用済みのファイルが出来上がる仕組みになっている.

さて,ここで新しく屈折辞を追加する方法を記しておく.

いじるファイルはmorph.faというファイルだ.alexinaフレームワークの下では,morphから始まるファイルが屈折辞辞書になっているようだ.

このファイルはxmlで記述されている.
そして,(言語によるだろうが,Perlexの場合は)動詞,形容詞,副詞,名詞ごとに活用のカテゴリが分けて記述されている.

なので,新しく屈折活用を追加したいときは,任意の場所に記述すればOKだ.(タグ名,prefix,suffixも自分で自由に指定できる.だってハードコーディングだもの)

例えば,動詞āmdnに新しい屈折を追加し,my_āmdeという,直接法完了形で直接法過去形の「〜していた」とほとんど同じことを意味する(らしい)語を追加する.

まず動詞āmdnの屈折カテゴリーを調べる.
V.ilexファイルで検索をすると,āmdnはv24:vのカテゴリーだとわかる.

そこで,次にmorpho.faファイルのv24カテゴリーに移動する.
v24の階層の下ならどこに記述してもよいのだが,ここでは一応,似た文法規則と固めて記述する.

すると,v24の記述は以下のようになる.

  <table name="v24" canonical_tag="*10*inf" rads="..*[dt]">
    <!-- les verbes irr&#233;guliers qui pr&#233;sentent des formes de radicaux 1 et 2 isol&#233;es et un -y suppl&#233;mentaire devant certaines formes constitu&#233;es &#224; partir du radical 1-->

    <form suffix="n" tag="*10*inf" show="#"/>

    <form suffix="" tag="infApocope"/>

    略

    <form prefix="my_" suffix="eae" tag="3sgImpComp"/>
    <form prefix="my_" suffix="ean" tag="2*3plImpComp"/> <!-- Fam??? -->
    <!--testここを追加した-->
    <form prefix="my_" suffix="e" tag="RootImpComp"/>
    略

の行を追加した.prefixは直接法なので,my_で,suffixはeで終わらせたいので,e.そして,タグの名前は適当にRootImpCompにしておいた.

この記述をした後にmakeを行うと,V.ilexファイルの該当箇所は

my_āmde 208 V [pred="āmdn_____1",cat=V,@RootImpComp] āmdn_____1 Default RootImpComp %default v24:v

となる.