[XML] 動詞活用表のデータ

英語も含めて外国語の活用形だけが調べたいことがたまにある。ウェブサイトの辞書サービスには活用形が引けないところがたまにあって困る。できればデスクトップで簡単なツールがないのかと思って探してみた。Java API for French verbs conjugationというプロジェクトがGoogle codeにある。

http://code.google.com/p/french-verbs-conjugation/

ここにはconjugation-fr.xml というフランス語動詞の活用をxmlで記述したデータと、verbs-fr.xmlという活用パターンの記述ファイルがあった。同じxml schemaでスペイン語のものがないか探してみたのだが、見つからない。このプロジェクトは汎用性は追わずにフランス語についてちゃんとできるものを目指しているようだ。
DOCTYPEをみると、ここで活用形とそれぞれにいくつ部品があるかを記述する。

<!DOCTYPE conjugation-fr [
	<!ELEMENT conjugation-fr (template+)>
	<!ELEMENT template (infinitive, indicative, conditional, subjunctive, imperative, participle)>
	<!ATTLIST template name CDATA #REQUIRED>

	<!ELEMENT infinitive (infinitive-present)>
	<!ELEMENT indicative (present, imperfect, future, simple-past)>
	<!ELEMENT conditional (present)>
	<!ELEMENT subjunctive (present, imperfect)>
	<!ELEMENT imperative (imperative-present)>
	<!ELEMENT participle (present-participle, past-participle)>

	<!ELEMENT infinitive-present (p)>
	<!ELEMENT present (p, p, p, p, p, p)>
	<!ELEMENT imperfect (p, p, p, p, p, p)>
	<!ELEMENT future (p, p, p, p, p, p)>
	<!ELEMENT simple-past (p, p, p, p, p, p)>
	<!ELEMENT imperative-present (p, p, p)>
	<!ELEMENT present-participle (p)>
	<!ELEMENT past-participle (p, p, p, p)>

	<!ELEMENT p (i*)>
	<!ELEMENT i (#PCDATA)>
]>

このパターンに基づいて、動詞の活用形を書く。

<conjugation-fr>

<template name="pla:cer">
	<infinitive>
		<infinitive-present>
			<p><i>cer</i></p>
		</infinitive-present>
	</infinitive>
	<indicative>
		<present>
			<p><i>ce</i></p>
			<p><i>ces</i></p>
			<p><i>ce</i></p>
			<p><i>çons</i></p>
			<p><i>cez</i></p>
			<p><i>cent</i></p>
		</present>
<!-- 略 -->
>

<template name="o:uïr">
	<infinitive>
		<infinitive-present>
			<p><i>uïr</i></p>
		</infinitive-present>
	</infinitive>
	<indicative>
		<present>
			<p><i>is</i></p>
			<p><i>is</i></p>
			<p><i>it</i></p>
			<p><i>yons</i></p>
			<p><i>yez</i></p>
			<p><i>ient</i></p>
		</present>
		<imperfect>
			<p><i>yais</i></p>
			<p><i>yais</i></p>
			<p><i>yait</i></p>
			<p><i>yions</i></p>
			<p><i>yiez</i></p>
			<p><i>yaient</i></p>
		</imperfect>
		<future>
			<p><i>irai</i><i>uïrai</i><i>rrai</i></p>
			<p><i>iras</i><i>uïras</i><i>rras</i></p>
			<p><i>ira</i><i>uïra</i><i>rra</i></p>
			<p><i>irons</i><i>uïrons</i><i>rrons</i></p>
			<p><i>irez</i><i>uïrez</i><i>rrez</i></p>
			<p><i>iront</i><i>uïront</i><i>rront</i></p>
		</future>
		<simple-past>
			<p><i>uïs</i></p>
			<p><i>uïs</i></p>
			<p><i>uït</i></p>
			<p><i>uïmes</i></p>
			<p><i>uïtes</i></p>
			<p><i>uïrent</i></p>
		</simple-past>
	</indicative>
	<conditional>
		<present>
			<p><i>irais</i><i>uïrais</i><i>rrais</i></p>
			<p><i>irais</i><i>uïrais</i><i>rrais</i></p>
			<p><i>irait</i><i>uïrait</i><i>rrait</i></p>
			<p><i>irions</i><i>uïrions</i><i>rrions</i></p>
			<p><i>iriez</i><i>uïriez</i><i>rriez</i></p>
			<p><i>iraient</i><i>uïraient</i><i>rraient</i></p>
		</present>
	</conditional>
	<subjunctive>
		<present>
			<p><i>ie</i></p>
			<p><i>ies</i></p>
			<p><i>ie</i></p>
			<p><i>yions</i></p>
			<p><i>yiez</i></p>
			<p><i>ient</i></p>
		</present>
		<imperfect>
			<p><i>uïsse</i></p>
			<p><i>uïsses</i></p>
			<p><i>uït</i></p>
			<p><i>uïssions</i></p>
			<p><i>uïssiez</i></p>
			<p><i>uïssent</i></p>
		</imperfect>
	</subjunctive>
	<imperative>
		<imperative-present>
			<p><i>is</i></p>
			<p><i>yons</i></p>
			<p><i>yez</i></p>
		</imperative-present>
	</imperative>
	<participle>
		<present-participle>
			<p><i>yant</i></p>
		</present-participle>
		<past-participle>
			<p><i>uï</i></p>
			<p><i>uïs</i></p>
			<p><i>uïe</i></p>
			<p><i>uïes</i></p>
		</past-participle>
	</participle>
</template>

</conjugation-fr>

コロンより後ろが活用語尾になる。活用形が並列になっている箇所がある。同じ語尾が複数パターンの活用になることがある、ということだろうか。ちょっとわかりづらいかも。

スペイン語だと語幹の変化があるので、コロンはより前に出るだろう。
このコロンで区切るやり方によって、活用パターンをまとめるのが簡単になる。

次にverbs-frは以下のようになっている。


<!DOCTYPE verbs-fr [
	<!ELEMENT verbs-fr (v+)>
	<!ELEMENT v (i, t, aspirate-h?)>
	<!ELEMENT i (#PCDATA)>  <!-- infinitive -->
	<!ELEMENT t (#PCDATA)>	<!-- template (radical:termination) -->
	<!ELEMENT aspirate-h EMPTY>  <!-- useful for verbs starting with h -->
]>

ある動詞が別の動詞のどれと同じかを並べることでパターンを記述。このファイルでどの動詞と同じかを調べて活用表の語尾と自分の語幹を合成する、という使い方を想定しているようだ。

<verbs-fr>
<v><i>abaisser</i>		<t>aim:er</t></v>
<v><i>abandonner</i>	<t>aim:er</t></v>
<v><i>abasourdir</i>	<t>fin:ir</t></v>
<v><i>zyeuter</i>		<t>aim:er</t></v>
</verbs-fr>

言語ごとの正しいxmlファイルがあってもよさそうに思う。実際には出版社などにはあるのかもしれない。これがGPLライセンスで使い勝手がいいかどうかもちょっと微妙。活用表の表現はどちらかというと整形する工数しかかからないもの。というのは活用そのものは決まっているものだから。結局、だれが作ってもだいたい似たようなものになるだろう。そういう意味では著作物かどうかは素人目には微妙な感じだ。

広告

コメントを残す

コメントを投稿するには、以下のいずれかでログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。