18 素性構造
素性構造とは,素性を特定したり,束ねたりする,汎用のデータ構造 をつくる要素である. 各素性により,名前と複数の値が関連づけられている. 素性構造は,汎用の要素であることから,各種の情報を記録するため に使われる. その中でも有用な用途は,言語学的な分析を記録することである. とりわけ,分析が部分的である,未定の状態においては有効である. 素性構造は,様々な情報を断片の関連を記録するものである. また,分析や解釈向けの汎用の表現方法となる「メタ言語」としての 機能も果たすことができる. さらに,素性構造では,素性に特定の型を付与することが可能で,ま た「素性システム宣言」を使うと,その素性の値に制約を付与するこ ともできる. 72
- » 18.2 素性構造と2値の素性値
- Home | 目次
18.1 本章の構成TEI: 本章の構成¶
この章は,次のような構成になっている. 18.2 素性構造と2値の素性値では,要素fsと要素fを解説する. これらの要素は,それぞれ,素性構造と素性を記録するものである. また,これと共に使用される2値の素性値について解説する. 18.3 その他の素性値で は,記号,数値,文字列といった,原始データ型を記録する要 素について解説する. 18.4 素性ライブラリと素性値ライブラリでは, 素性や素性値をまとめて規定してある「ライブラリ」について,そ の参照法と共に解説する. 18.5 複数の値から成る素性構造では,複雑な値,と りわけ,素性構造そのものが素性値となる場合,つまり,素性構 造が入れ子化する場合について解説する. 18.7 複数の値から成るコレクションでは,また 別な複雑な値,とりわけ,素性値が,集合や,バッグ,リストと いったコレクションを構成している場合について解説する. 18.8 素性値の表現では,素性 値の選択,否定,まとまりを示す方法を解説する. 18.9 規定値では,既定値,不定値などの表現の仕方を解説する. 18.10 テキストと分析の関連づけでは,分析と, 符号化されたテキストとの関連づけの方法について解説する. 18.11 素性システム宣言では,タイプ付けられた 素性構造の妥当性を検証する際に使われる情報となる「素性シス テム宣言」について解説する. ここで使われる要素の形式的な定義については, 18.12 形式的定義と用法で解説する.
- « 18.1 本章の構成
- » 18.3 その他の素性値
- Home | 目次
18.2 素性構造と2値の素性値TEI: 素性構造と2値の素性値 ¶
素性構造で使われる主たる要素は,素性名-素性値の組を示す要素 fと, これら素性名-素性値の組が構成する構造を示す要素fsである. 要素fsは, 選択的に属性typeを取り,当該素性構 造の型を示すことができる. また,複数の要素fを内容として取ることができる. 要素fは,必 須の属性nameを取ることになる. また,選択的に属性valueを取ることができる. この属性値には,例えば,2値,数値,記号(すなわち,規定された 値集合から選ばれたもの),文字列,これらのコレクション,例え ば,リストなどを取ることができる. さらに,これらの複合的なもの,例えば,素性構造自体が値とな り,入れ子構造となるものも取ることができる. また,値の特定値,既定値は複数の方法で定義することができる. これらの詳細は,以下にある節で解説する.
素性,すなわち,素性名-素性値の組による記録は(素性構造の記録 も含めて),XML文書のどの場所でも使うことが可能である. また,特定の目的に向け用意された素性名-素性値を「ライブラリ」 としてまとめることも可能である. ライブラリの構成要素は,別の場所にある,素性名-素性値の記録 から,属性featsまたは属性fValにより,参照される.
- fs
素性構造を示す.すなわち,構造単位となる素性名-素性値の
組の集合.
type 当該素性構造の種類を示す. feats 当該素性構造を構成する素性定義を参照する. - f
素性値定義を示す.すなわち,素性名とその様々な値を示す.
name 当該素性の名前を示す. fVal 素性値を表す要素を参照する. - binary/ 2値として,素性値を示す.
| consonantal + |
| vocalic - |
| voiced - |
| anterior + |
| coronal + |
| continuant + |
| strident + |
+--- ---+
<f name="consonantal">
<binary value="true"/>
</f>
<f name="vocalic">
<binary value="false"/>
</f>
<f name="voiced">
<binary value="false"/>
</f>
<f name="anterior">
<binary value="true"/>
</f>
<f name="coronal">
<binary value="true"/>
</f>
<f name="continuant">
<binary value="true"/>
</f>
<f name="strident">
<binary value="true"/>
</f>
</fs>
ある素性がある型の素性値を取るといった制約(例えば,stridentは2値をとる制約)を実現する には,付加的な検証が必要となる. これは,ある型を持つ素性構造にある素性に対する制約(例えば, 音声の型となる素性構造では,素性voicedが必須となる制約)でも同様である. このような制約は,文書レベルで特定の処理を施したり,スキーマ レベルで付加的な検証規則を使ったり,宣言レベルで,18.11 素性システム宣言 で解説する付加的な「素性構造宣言」をつかったりすること で,実現される.
今まで「2値」という用語を使ってきたが,これをXMLで記述すると きには,trueとfalse(または,1と 0)と表現される 但し,この値は,命題レベルの宣言のみに限定されて付与されるも のではないことに注意して欲しい. 例えば,先の例のような2値の素性でも使うことができる.
18.3 その他の素性値TEI: その他の素性値¶
<f name="case">
<symbol value="accusative"/>
</f>
<f name="gender">
<symbol value="feminine"/>
</f>
<f name="number">
<symbol value="plural"/>
</f>
</fs>
<f name="case">
<symbol value="accusative"/>
</f>
<f name="gender">
<symbol value="feminine"/>
</f>
<f name="singular">
<binary value="false"/>
</f>
</fs>
<f name="address">
<string>3418 East Third Street</string>
</f>
</fs>
<f name="houseNumber">
<numeric value="3418"/>
</f>
<f name="streetName">
<string>East Third Street</string>
</f>
</fs>
<f name="houseNumber">
<numeric value="3418" max="3440"/>
</f>
<f name="streetName">
<string>East Third Street</string>
</f>
</fs>
<f name="dailyRainFall">
<numeric value="0.0" max="1.3" trunc="false"/>
</f>
</fs>
<f name="dailyRainFall">
<numeric value="0.0" max="1.3" trunc="true"/>
</f>
</fs>
先にも示したように,ある素性が特定の値を取るようにするには, 付加的な処理が必要となる. 例えば,素性singularには symbol value="feminine"/という値は 取らないとような場合である. これを実現するには2つの方法がある. ひとつは,取り得る値の集合が小さい場合に使われるもので,「素 性ライブラリ」として知られる素性のリストを使うものである. これは,要素fsに,実データを直接記録するのではなく, 属性feats を付与し,そこにリストへの参照を記録することで実現する. この手法は,先に示した例では,大変有効である. なぜなら,先の例(訳注:名詞形の例)では,素性名-素性値の組み 合わせは10(5 + 3 + 2)にもなるからである. 同様に,ある素性構造では,特定の素性名-素性値の組み合わせの みを取るようにするには,「素性値ライブラリ」を使い,正しい全 ての素性構造をまとめて定義しておくことができる(素性構造は, 素性の値をまとめたものであるから,この名前が使われている). 計30(5 × 3× 2)もの素性構造の組み合わせにより,先の例にあ る,格,性,数の全ての組み合わせを定義することが可能となる. これら2つのライブラリについては,18.4 素性ライブラリと素性値ライブラリで解説 する.
しかしながら,特定の素性名-素性値の組み合わせをとるようにす る,もっとも一般的な方法は,18.11 素性システム宣言で解説する素性システム宣言を使 うことである.
- « 18.3 その他の素性値
- » 18.5 複数の値から成る素性構造
- Home | 目次
18.4 素性ライブラリと素性値ライブラリTEI: 素性ライブラリと素性値ライブラリ ¶
<f xml:id="CNS1" name="consonantal">
<binary value="true"/>
</f>
<f xml:id="CNS0" name="consonantal">
<binary value="false"/>
</f>
<f xml:id="VOC1" name="vocalic">
<binary value="true"/>
</f>
<f xml:id="VOC0" name="vocalic">
<binary value="false"/>
</f>
<f xml:id="VOI1" name="voiced">
<binary value="true"/>
</f>
<f xml:id="VOI0" name="voiced">
<binary value="false"/>
</f>
<f xml:id="ANT1" name="anterior">
<binary value="true"/>
</f>
<f xml:id="ANT0" name="anterior">
<binary value="false"/>
</f>
<f xml:id="COR1" name="coronal">
<binary value="true"/>
</f>
<f xml:id="COR0" name="coronal">
<binary value="false"/>
</f>
<f xml:id="CNT1" name="continuant">
<binary value="true"/>
</f>
<f xml:id="CNT0" name="continuant">
<binary value="false"/>
</f>
<f xml:id="STR1" name="strident">
<binary value="true"/>
</f>
<f xml:id="STR0" name="strident">
<binary value="false"/>
</f>
<!-- ... -->
</fLib>
feats="#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT0 #STR0"/>
<fs
feats="#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT0 #STR0"/>
<fs
feats="#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT1 #STR1"/>
<fs
feats="#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT1 #STR1"/>
<!-- ... -->
<fs
xml:id="T.DF"
feats="#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT0 #STR0"/>
<fs
xml:id="D.DF"
feats="#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT0 #STR0"/>
<fs
xml:id="S.DF"
feats="#CNS1 #VOC0 #VOI0 #ANT1 #COR1 #CNT1 #STR1"/>
<fs
xml:id="Z.DF"
feats="#CNS1 #VOC0 #VOI1 #ANT1 #COR1 #CNT1 #STR1"/>
<!-- ... -->
</fvLib>
このようにまとめられた素性構造は,アノテーションを拭かしたい テキスト部分とも関連づけることができる. これは,当該テキストからリンクを使う(例えば,要素linkを使う)ことで実現す る. この詳細は,18.10 テキストと分析の関連づけを参照のこと.
素性または素性構造が,この方法でリンク付けられる際には,当該 リンクの参照先にあるものがコピーされてくることになる点に注意 して欲しい. このようなリンクと「構造共有」とは区別する必要がある. 構造共有とは,あるアノテーション構造の一部が,当該構造の別の 場所で出現するものである. このようなアノテーションでは,18.6 参照される素性構造で解説する要素vLabelを使い,記録されるべきである.
18.5 複数の値から成る素性構造TEI: 複数の値から成る素性構造¶
素性は,原始的なデータ型に加えて,複数の値を取ることもできる. これを記録する一番簡単な方法は,要素fの内容として 要素fsを取 ることである. または,要素fsの識別子を,要素fの属性fValで 記録することである. これにより,素性構造は,いくらでも入れ子化することができる. 例えば,要素fsは,要素fを子要素として含むか参照することが 可能で,さらにその要素fは,別の要素fsを子要素として含むか参照することが可能で, さらにその要素fsは,別の要素fを子要素として含むか参照することが可 能で,これを続けることができる.
<f name="surface">
<string>love</string>
</f>
<f name="syntax">
<fs type="category">
<f name="pos">
<symbol value="verb"/>
</f>
<f name="val">
<symbol value="transitive"/>
</f>
</fs>
</f>
<f name="semantics">
<fs type="act">
<f name="rel">
<symbol value="LOVE"/>
</f>
</fs>
</f>
</fs>
<!-- ... -->
<fs xml:id="N" type="noun">
<!-- noun features defined here -->
</fs>
<fs xml:id="V" type="verb">
<!-- verb features defined here -->
</fs>
</fvLib>
<fs xml:id="ADJ" type="adjective" feats="#N1 #V1"/>
<fs xml:id="PREP" type="preposition" feats="#N0 #V0"/>
<!-- ... -->
<f xml:id="NN-1" name="nominal">
<binary value="true"/>
</f>
<f xml:id="NN-0" name="nominal">
<binary value="false"/>
</f>
<f xml:id="VV-1" name="verbal">
<binary value="true"/>
</f>
<f xml:id="VV-0" name="verbal">
<binary value="false"/>
</f>
<!-- ... -->
</fLib>
<f name="surf">
<string>love</string>
</f>
<f name="syntax">
<fs type="category">
<f name="pos" fVal="#V"/>
<f name="val" fVal="#TRNS"/>
</fs>
</f>
<f name="semantics">
<fs type="act">
<f name="rel" fVal="#LOVE"/>
</fs>
</f>
</fs>
属性fValは,各種の素性値が参照可能 であるが,原始的なデータ型を参照することは推奨されない.
18.6 参照される素性構造TEI: 参照される素性構造¶
- vLabel 素性構造中,複数箇所に現れる,素性値規定の値の部分を示す.
<f name="nominal">
<fs>
<f name="nm-num">
<vLabel name="L1">
<symbol value="singular"/>
</vLabel>
</f>
<!-- other nominal features -->
</fs>
</f>
<f name="verbal">
<fs>
<f name="vb-num">
<vLabel name="L1"/>
</f>
</fs>
<!-- other verbal features -->
</f>
</fs>
この例では,vb-numとnm-numという名前がつい た素性が,ある素性構造を共有している. 実際の素性値は,要素vLabelとして記録され,これは, 属性nameでラベル付けられている,あ る素性構造への参照を示している.
- « 18.6 参照される素性構造
- » 18.8 素性値の表現
- Home | 目次
18.7 複数の値から成るコレクションTEI: 複数の値から成るコレクション¶
- vColl 素性値規定において,複数の値を,集合,バック,リストなど で表す,値の部分を示す.
素性値が,集合,バック,リストとしてある場合,その値は0個以 上とることができる(従って,空集合,空バック,空リストも可能 となる). リストの各項目は,順序付きで,重複がある. 集合の各項目は,順序がなく,重複がない. バックの各項目は,順序がないが,重複はある. 集合とバックは,順序は問題とならないが,リストでは順序は問題 となる. また,集合は,重複が存在しないが,バックやリストでは重複が存 在する.
属性orgに属性値がない場合,要素vCollは, リストと解釈される. 要素vCollが空要素の場合,空リスト,空集合,空 バックのいずれかと解釈される.
<f name="forenames">
<vColl>
<string>Daniel</string>
<string>Edouard</string>
</vColl>
</f>
<f name="mother" fVal="#p002"/>
<f name="father" fVal="#p009"/>
<f name="birthDate">
<fs type="date" feats="#y1988 #m04 #d17"/>
</f>
<f name="birthPlace" fVal="#austintx"/>
<f name="siblings">
<vColl org="set">
<fs copyOf="#pnb005"/>
<fs copyOf="#prb001"/>
</vColl>
</f>
</fs>
この例では,要素vCollは,名(foremane)を構成する名前の 値をリストとして構成している. 他の素性は,参照として付与され,これらは外部の素性値ライブラ リで定義されているとしている(例中には書いていない). 例えば,兄弟(siblings)を示している要素vCollは, 各値を,リストではなく,集合として示している. 兄弟は,素性構造として記録され,その素性構造は,素性値ライブ ラリとして定義されている値のコピーとして記録されている.
<f name="category">
<symbol value="verb"/>
</f>
<f name="tense">
<symbol value="present"/>
</f>
<f name="agreement">
<fs>
<f name="person">
<symbol value="third"/>
</f>
<f name="number">
<symbol value="singular"/>
</f>
</fs>
</f>
</fs>
<f name="word.oddss">
<symbol value="verb"/>
</f>
<f name="tense">
<symbol value="present"/>
</f>
<f name="agreement">
<vColl org="set">
<symbol value="third"/>
<symbol value="singular"/>
</vColl>
</f>
</fs>
<f name="lex">
<symbol value="auxquels"/>
</f>
<f name="maf">
<vColl org="list">
<fs>
<f name="cat">
<symbol value="prep"/>
</f>
</fs>
<fs>
<f name="cat">
<symbol value="pronoun"/>
</f>
<f name="kind">
<symbol value="rel"/>
</f>
<f name="num">
<symbol value="pl"/>
</f>
<f name="gender">
<symbol value="masc"/>
</f>
</fs>
</vColl>
</f>
</fs>
内容を持たない集合やバックやリストは,null(空)集合,null(空) バック,null(空)リストとされる. 要素vCollに要素内容がなく,その属性featsにも値がない場合,属性orgに従い,空集合,空バック,空リストと解 釈される.
<vColl org="set"/>
</f>
要素vCollは, 例えば,集合の要素が集合であったり,2つのリストを束ねたりす る際には,複数の要素vCollをま とめることができる. このような場合,外側のコレクションでは,入れ子化された要素vCollの内 容には関与しないことに注意して欲しい. もし2つの集合の連接を作りたいのであれば,次節で解説する要素 vMerge を使い,新しいコレクションを作ることになる.
- « 18.7 複数の値から成るコレクション
- » 18.9 規定値
- Home | 目次
18.8 素性値の表現TEI: 素性値の表現¶
18.8.1 選択値TEI: 選択値¶
<numeric value="2" max="3"/>
</f>
<vAlt>
<numeric value="2"/>
<numeric value="3"/>
</vAlt>
</f>
<vAlt>
<fs>
<f name="number.of.bathrooms">
<numeric value="2"/>
</f>
</fs>
<fs>
<f name="number.of.bedrooms">
<numeric value="2"/>
</f>
</fs>
</vAlt>
</f>
<vAlt>
<fs>
<f name="number.of.bathrooms">
<numeric value="2"/>
</f>
</fs>
<fs>
<f name="number.of.bedrooms">
<numeric value="2"/>
</f>
</fs>
<vColl>
<fs>
<f name="number.of.bathrooms">
<numeric value="2"/>
</f>
</fs>
<fs>
<f name="number.of.bedrooms">
<numeric value="2"/>
</f>
</fs>
</vColl>
</vAlt>
</f>
<f name="selling.points">
<vColl org="set">
<string>alarm system</string>
<string>good view</string>
<vAlt>
<string>pool</string>
<string>jacuzzi</string>
</vAlt>
</vColl>
</f>
</fs>
<f name="selling.points">
<vColl org="set">
<vAlt>
<string>alarm system</string>
<string>good view</string>
</vAlt>
<vAlt>
<string>pool</string>
<string>jacuzzi</string>
</vAlt>
</vColl>
</f>
</fs>
もし,比較的少数の素性とその値から構成されるが,不明な点が 多くあり,但しそれを明示する必要がある場合,要素vAltを使うのではなく,要素altを使い,スタンドオ フスタイルで記録することが推奨される.
- « 18.8.1 選択値
- » 18.8.3 値のまとまり
- Home | 目次
18.8.2 否定TEI: 否定¶
<vNot>
<numeric value="2"/>
</vNot>
</f>
<f name="case">
<vNot>
<symbol value="genitive"/>
</vNot>
</f>
(ii)
<f name="case">
<vAlt>
<symbol value="nominative"/>
<symbol value="dative"/>
<symbol value="accusative"/>
</vAlt>
</f>
しかし,この様な素性システム宣言が使えない場合には,素性値 が否定されていることは,当該値以外のものが可能であることを 示すのみとなる.
素性値は否定することがかのうであるが,素性値-素性名の組は 否定することができない. 終端にある値が否定されることにより,当該値以外の値が,その 素性値となりうることが示される.
否定される値は,各種ものもがあり,これには(要素vCollで 示される)コレクションや,(要素fsで示される)素性構造も含まれる. このような複雑な値の否定では,提示されていない値の集合が示 されていると解釈される. 従って,例えば,素性構造Fを否定した場合,これは,素性構造F には出現していない素性構造の集合を示すものと判断される. 素性システム宣言のような,制約を示す仕組みが使えない場合, このようなコレクションの否定は,そこに示されていない,種類 も値も異なる複数の値を示すことになる. 従って,一般には,否定される値の構成と同じ構成を持つ値を示 すときに,これらは有効な手段となる. 例えば,ある集合の否定は,当該集合の補集合であると解釈する 場合である. 但し,この場合においても,何らかの制約を示す仕組みがなけれ ば,効果を発揮しない.
18.8.3 値のまとまりTEI: 値のまとまり¶
要素vMergeは,素性値が記録できるところで 使うことができる. 複数の素性値を取ることが可能で,これらをまとめる働きがある. 値のまとめ方は,属性orgで示される. この属性値が示す内容は,まとまりを構成する値のまとまりかた と同じである必要はない. 例えば,集合をリストとしてまとめたり,その逆も可能である.
<f name="genders">
<vColl org="set">
<symbol value="masculine"/>
<symbol value="feminine"/>
</vColl>
</f>
</fs>
<f name="genders">
<vMerge org="list">
<vColl org="set">
<symbol value="masculine"/>
<symbol value="feminine"/>
</vColl>
<symbol value="neuter"/>
</vMerge>
</f>
</fs>
- « 18.8 素性値の表現
- » 18.10 テキストと分析の関連づけ
- Home | 目次
18.9 規定値TEI: 規定値¶
- default/ 素性値定義の既定値を示す.
<f name="gender">
<vAlt>
<symbol value="feminine"/>
<symbol value="masculine"/>
<symbol value="neuter"/>
</vAlt>
</f>
<default/>
</f>
<symbol value="neuter"/>
</f>
<vNot>
<default/>
</vNot>
</f>
<vAlt>
<symbol value="feminine"/>
<symbol value="masculine"/>
</vAlt>
</f>
- « 18.9 規定値
- » 18.11 素性システム宣言
- Home | 目次
18.10 テキストと分析の関連づけTEI: テキストと分析の関連づけ¶
<w ana="#at0">The</w>
<w ana="#ajs">closest</w>
<w ana="#pnp">he</w>
<w ana="#vvd">came</w>
<w ana="#prp">to</w>
<w ana="#nn1">exercise</w>
<w ana="#vbd">was</w>
<w ana="#to0">to</w>
<w ana="#vvi">open</w>
<w ana="#crd">one</w>
<w ana="#nn1">eye</w>
<phr ana="#av0">
<w>every</w>
<w>so</w>
<w>often</w>
</phr>
<c ana="#pun">,</c>
<w ana="#cjs">if</w>
<w ana="#pni">someone</w>
<w ana="#vvd">entered</w>
<w ana="#at0">the</w>
<w ana="#nn1">room</w>
<!-- ... -->
</s>
<!-- ... -->
<fs xml:id="ajs" type="grammatical_structure" feats="#wj #ds"/>
<fs xml:id="at0" type="grammatical_structure" feats="#wl"/>
<fs xml:id="pnp" type="grammatical_structure" feats="#wr #rp"/>
<fs xml:id="vvd" type="grammatical_structure" feats="#wv #bv #fd"/>
<fs xml:id="prp" type="grammatical_structure" feats="#wp #bp"/>
<fs xml:id="nnn" type="grammatical_structure" feats="#wn #tc #ns"/>
<!-- ... -->
</fvLib>
<!-- ... -->
<f xml:id="bv" name="verbbase">
<symbol value="main"/>
</f>
<f xml:id="bp" name="prepbase">
<symbol value="lexical"/>
</f>
<f xml:id="ds" name="degree">
<symbol value="superlative"/>
</f>
<f xml:id="fd" name="verbform">
<symbol value="ed"/>
</f>
<f xml:id="ns" name="number">
<symbol value="singular"/>
</f>
<f xml:id="rp" name="prontype">
<symbol value="personal"/>
</f>
<f xml:id="tc" name="nountype">
<symbol value="common"/>
</f>
<f xml:id="wj" name="class">
<symbol value="adjective"/>
</f>
<f xml:id="wl" name="class">
<symbol value="article"/>
</f>
<f xml:id="wn" name="class">
<symbol value="noun"/>
</f>
<f xml:id="wp" name="class">
<symbol value="preposition"/>
</f>
<f xml:id="wr" name="class">
<symbol value="pronoun"/>
</f>
<f xml:id="wv" name="class">
<symbol value="verb"/>
</f>
<!-- ... -->
</fLib>
<w xml:id="S1W1">
<c xml:id="S1W1C1">C</c>ae<c xml:id="S1W1C2">s</c>ar</w>
<w xml:id="S1W2">
<c xml:id="S1W2C1">s</c>ei<c xml:id="S1W2C2">z</c>e<c xml:id="S1W2C3">d</c>
</w>
<w xml:id="S1W3">con<c xml:id="S1W3C1">t</c>rol</w>.
</s>
<fvLib xml:id="FSL1" n="phonological segment definitions">
<!-- as in previous example -->
</fvLib>
<linkGrp type="phonology">
<!-- ... -->
<link targets="#S.DF #S1W3C1"/>
<link targets="#Z.DF #S1W2C3"/>
<link targets="#S.DF #S1W2C1"/>
<link targets="#Z.DF #S1W2C2"/>
<!-- ... -->
</linkGrp>
<w xml:id="mds0901">The</w>
<w xml:id="mds0902">closest</w>
<w xml:id="mds0903">he</w>
<w xml:id="mds0904">came</w>
<w xml:id="mds0905">to</w>
<w xml:id="mds0906">exercise</w>
<!-- ... -->
</s>
<!-- ... -->
<link targets="#mds0901 #at0"/>
<link targets="#mds0902 #ajs"/>
<link targets="#mds0903 #pnp"/>
<link targets="#mds0904 #vvd"/>
<link targets="#mds0905 #prp"/>
<link targets="#mds0906 #nn1"/>
<link targets="#mds0907 #vbd"/>
<link targets="#mds0908 #to0"/>
<link targets="#mds0909 #vvi"/>
<link targets="#mds0910 #crd"/>
<!-- ... -->
</linkGrp>
18.11 素性システム宣言TEI: 素性システム宣言¶
- 素性名と素性値の全てをリスト化する.また,それらに関する 散文による解説を付与する.
- 型付き素性論理に従い,整形式の素性構造に加えて,妥当な素 性構造に対する制約を定義する. この制約には,素性値の取り得る範囲の指定や,素性が所属す る素性構造の型や,特定の素性名-素性値とは共起しない制約 などがある.
- このような制約を使い,特定の素性構造に対して,意図する解 釈を定義することができる. また,このような制約には,素性値が付与されていないものに 対する(実値または計算による)既定値の定義も含まれる.
この節で解説するスキームは,素性構造システムを記録するための ものである. 但し,本節の内容は,ISOの規格ISO 24610-1:2006で定義されてい る,素性構造を示すためものになっている. 素性構造については,本章でもある18 素性構造で解説されている (訳注:この章の内容は,ISO 24610として規格化された.この時, この節までの内容は,ISO 24610-1として,この節の内容はISO 24610-2として分冊化された.内容を共有した影響で,文章の一部 に,編集上の混乱が生じた所がある). この章(訳注:正しくは,本節)の内容は,ISOの規格中にある,形 式的な定義を基にするもので,それを修正するものではない. もし,本節の内容に曖昧または不明な点があれば,ISOの規格を参 照すべきである.
素性システム宣言(FSD)は,XMLデータ中で使われている素性構造の 構文に,どのような意味があるのかについて,記述する機能を提供 している. また,素性システム宣言(FSD)は,テキスト中にある素性構造の妥 当性をソフトウェアが検証し,その内容を解釈する際に使う推論規 則を規定する働きもある.
本節の中で使われる用語は,形式論理学で一般的に使われているも のとは異なることに注意して欲しい. また,言語学で使われているタイプ付き素性構造とも,異なる点に も注意して欲しい. とりわけ,「解釈」という用語が素性構造に使われたとき,それは モデル理論でいう解釈とは異なるものである. この場合の「解釈」とは,素性システム宣言(FSD)で宣言された制 約に従う素性構造に付加される程度の意味内容を持つものである. 言語学で使われる素性構造に課される制約とは,自然言語の文法を 記述する,第一の手法である. その様な言語学で使われるモデル理論における素性構造の解釈は, 本節で扱う制約とは,全く異なるものである. ちなみに,解釈に関する形式定義については,本ガイドラインでは 扱わない. 同様に,本ガイドラインで使われる,整形式の一部を示す「妥当 (valid)」という用語についても,これはタイプ付き素性構造にお ける文法を示すもので,本節における「整形式」とは,とは異なる ものである.???? 形式意味論にある概念を借用することなない.
まずはじめに,符号化テキストを,複数の素性システム宣言と関連 付ける手法を解説する. 次に,素性システムの全体像を示し,続いて,それらの記録方法の 詳細を解説する. 最後に,詳細な例を提示する. 素性システム宣言の必要性についてや,完全な例示については,Langendoen and Simons (1995)を参照のこと.
18.11.1 TEIテキストと素性システム宣言 TEI: TEIテキストと素性システム宣言 s¶
ソフトウェアが,素性システム宣言を使い,テキストを自動的に 解釈したり,人が,素性システムを定義している宣言を見つける ためには,符号化テキスト中には,素性システム宣言へのリンク がなくてはならない. しかし,素性システムの文法自体を宣言するスキーマは,その応 用である素性構造のスキームとは,厳密に分けるべきである.
タイプ付き素性構造をもつテキストには,その素性構造を定義す る素性システム宣言を記録することができる. 素性システム宣言のより一般的な使用法は,同じ素性システム宣 言(またはその一部)を複数のテキストで共有することである. この場合,素性構造の各タイプは,要素fsDecl で記録する必要がある. 素性のタイプは,素性構造にある属性typeで示されている.
- fsdDecl ひとつ以上の素性構造宣言または素性構造宣言へのリンクを含む,素性システム宣言を示す.
- fsdLink/ 素性構造宣言により素性構造の名前を示す.
- fsDecl ひとつの素性構造を宣言する.
要素fsDeclは,属性xml:idの値として,ユニークな識別子を持 る. 要素fsdLinkは,要素fsDeclの属性xml:idにあるURIで示された,素性構造 型と関連する.
<teiHeader>
<fileDesc>
<!-- doc1 -->
</fileDesc>
<encodingDesc>
<!-- ... -->
<fsdDecl>
<fsDecl type="gpsg">
<!-- information about this type -->
</fsDecl>
<fsDecl type="lex">
<!-- information about this type -->
</fsDecl>
</fsdDecl>
<!-- ... -->
</encodingDesc>
</teiHeader>
<text>
<body>
<fs type="lex">
<!-- an instance of the typed feature structure "lex" -->
</fs>
</body>
</text>
</TEI>
この例では,要素fsと要素fsDeclとの間には,リンクが張られてい ると解釈される. それは,この2つの要素には,属性typeに,同じ値が付与され,かつ,同一 文書内にあるからである. このような,リンクの簡単に表現する方法の他,要素fsdLinkを使い,より明 示的にリンクを表現する方法もある. これについては,以下で解説する.
<!-- ... --><fsdDecl>
<fsDecl type="gpsg" xml:id="GPSG">
<!-- information about this type -->
</fsDecl>
<fsDecl type="lex" xml:id="LEX">
<!-- information about this type -->
</fsDecl>
</fsdDecl>
<teiHeader>
<fileDesc>
<!-- doc2 -->
</fileDesc>
<encodingDesc>
<!-- ... -->
<fsdDecl>
<fsdLink type="gpsg" target="doc1.xml#GPSG"/>
<fsdLink type="lexx" target="doc1.xml#GPSG"/>
</fsdDecl>
<!-- ... -->
</encodingDesc>
</teiHeader>
<text>
<body>
<fs type="lexx">
<!-- an instance of the typed feature structure "lex" -->
</fs>
</body>
</text>
</TEI>
要素fsdDeclは,タイプ付き素性構造を が使われているTEI文書中の要素teiHeaderで使うことができる. または,要素fsdDeclは,素性構造とは独立し, それ自身が文書としてあることも可能である. この時,それ自身向けの要素teiHeaderを取ることも可能である. このような2つの使い方ができるのは,この要素が,クラスmodel.encodingPart と,クラスmodel.resourceLike の両方のメンバーだからである.
本ガイドラインでは,要素fsdDeclの属性typeの値として,ユニークさは求めていな い. また,同様に,要素fsの属性typeが,必ず要素fsdDeclでも定義されていることも求め ていない. もし,この様な制約を求めたい場合には,例えば,Schematronが するよう,これらの制約を強要させるソフトウェアを開発するこ とが推奨される.
18.11.2 素性システム宣言の概要TEI: 素性システム宣言の概要¶
- fsDescr 要素fsDeclで定義される素性構造の内容を,散文で示す.
- fDecl ひとつの素性を宣言する.名前,構造,定義域,デフォルト 値など.
- fsConstraints 妥当な素性構造の内容に課す制約を示す.
素性宣言と素性構造制約については,この後の章で解説する. これと似た要素fsDeclは,素性構造のタイプを継承すること で,簡易に表現することができることに注意して欲しい. 要素fsDeclは,複数の基礎タイプ(base type)を指定し,そこで指定されたところから,素性宣言や制約 を継承することができる. 例えば,要素fsDecl type="Basic"に は,要素fDeclname="One"や,要素 fDecl name="Two"があり,また,要 素fsDecltype="Derived" baseTypes="Basic"には,要素fDeclname="Three"があるとしよう. この時,要素fs type="Derived"の記 述には,3つの素性全てが含まれている必要がある. 理由は,要素fsDecltype="Derived" は,属性でBasicが基礎タイプとして 指定されていることから,2つの素性宣言を,要素fsDecl type="Basic"から継承しているため である.
<fsDescr>Describes what this type of fs represents</fsDescr>
<fDecl name="featureOne">
<!-- The declaration for featureOne -->
</fDecl>
<fDecl name="featureTwo">
<!-- The declaration for featureTwo -->
</fDecl>
<fsConstraints>
<!-- The feature structure constraints go here -->
</fsConstraints>
</fsDecl>
属性baseTypesには,複数のタイプ名 が示され,そこから素性の定義や制約が継承されることになる. もし,継承した内容に,同じ名前で定義された素性がある場合, または,同じ名前の複数の定義が継承された場合,当該素性の値 は,選言されたものとして,定義される. また,制約が継承される場合は,複数の制約が連接されたものと して,定義される. 基礎タイプが指定されていない場合には,継承される素性や制約 はない.
本ガイドラインにおいて,素性値の既定値が定義できるものの,素性 の継承では,定義内容が増える仕組みになっている.
制約を束ねる時,結果としてできたものが,矛盾を含む場合があ る. 例えば,同じ素性に対してある2つの制約で,素性値の範囲が選 択的に定義されている状況で,その制約のうちひとつは,必須の 制約としてある場合である. このような場合,定義されている正しい素性構造は,存在しなく なる.
属性baseTypesで指定されるタイプ は,正統なXML名前としての1単語である. 例えば,空白文字を伴ったり,数字で名前が始まったりすること はできない. 基礎タイプの値は,複数のものを空白文字で区切ることができ, 例えば,fsDecl type="Sub" baseTypes="Super1 Super2"のようになる.
18.11.3 素性宣言TEI: 素性宣言¶
- 選択的ではなく(つまり,必須であるが),
- 素性値が与えられていない,または要素defaultが用意されている状態で( ISO 24610-1, 5.10, 規定値を参照),かつ
- 既定値が定義されていないか,または,条件付き既定値 が規定されている中で,どの条件にも当てはまらない場合,
- 選択的で,
- 素性値が与えられていない,または,要素defaultが用意されている状態で,
- 既定値が定義されているか,または,条件付き既定値が規 定されている中で,どれかの条件に当てはまる場合,
素性構造は,既定値が示された範囲に収まらない場合,取り得 る妥当な値がないという事態もありうる. そのため,より制約を強力にするための仕組みが必要となる.
- fDecl
ひとつの素性を宣言する.名前,構造,定義域,デフォルト
値など.
name 素性の名前を示す.要素fの属性nameと一致するもの. optional 当該素性値があるかどうかを示す. - fDescr 当該素性により示されるものを,散文で示す.
- vRange 要素fs, vAltで示される素性値の範囲を定義する.要素fの 妥当な値は,その範囲内になければならない.要素fが複数 の値をとる場合(属性orgがそれを認めている時),各値は当 該要素vRangeが示す範囲内になければならない.
- vDefault 素性構造が要素fを持たないときのデフォルト値を宣言する.条件的でない場 合,要素fsまたは値がもうひとつ(または,要素 fDeclにある 属性orgの値に依存する数だけ)付与される.条件的な場合, 要素であればひとつ以上が付与される.デフォルト値が指定さ れてい ない場合,または条件が成立しない場合は,値noneを とるする.
- if 素性の条件におけるデフォルト値を定義する.当該値には,素性構造が指定される.
- then/ 要素if中のデフォルト値と条件部,または 要素cond中の前提部と帰結部を区切る.
素性値の妥当性を判断する仕組みや,既定値に付加された条件を 判断する仕組みを,「包摂(subsumption)」と呼んでいる. 包摂は,素性構造に対する基本演算となる. 直感的にいえば,素性構造FSは, 他の全ての素性構造,少なくとも自らと同等のものに「包摂され る」といえる(訳注:正しくない.整合性が保証されるという条 件付が必要となる.). つまり,当該FSが持つ素性値は,包摂されることで,それを定義する全て の素性構造もそれを定義することになる. また,当該FSにあるリンク(re-entrancies)も同様に解釈される. (Carpenter (1992), Pereira (1987),Shieber (1986)を参照) これについてのより厳密な定義は,ISO 24610-1:2006にある.
この様な定義を使い,包摂の考え方を,選択,否定,基本値,属 性を扱うケースにも当てはめることができる. 例えば,要素vAlt が素性値vを持っているとすると,こ れは値vに包摂されていることになる. また,値vの否定(これは18.8.2 否定で解説され た要素vNotで示される)は,vでない値に包摂されていることになる. 例えば,<vNot><numeric value='0'/></vNot> は,ゼロではない値に包摂されていることになる. また,fstype="X"/は,タイプが Xではない素性構造に,それが妥当で なくとも,包摂されていることになる.
INV {+, -}
CONJ {and, both, but, either, neither, nor, or, NIL}
COMP {for, that, whether, if, NIL}
AGR CAT
PFORM {to, by, for, ...}
FSD 1: [-INV]
FSD 2: ~[CONJ]
FSD 9: [INF, +SUBJ] --> [COMP for]
<fDescr>inverted sentence</fDescr>
<vRange>
<vAlt>
<binary value="true"/>
<binary value="false"/>
</vAlt>
</vRange>
<vDefault>
<binary value="false"/>
</vDefault>
</fDecl>
値の範囲は,選択(より正確には,排他的選言)として定義されて いる. これは,要素binaryを使っても同じように表現す ることができる. つまり,当該素性値は,真か偽のどちらか一方を取ることにな り,両方を選択したりどちらも選択しないことはできない,ということであ る.
<fDescr>surface form of the conjunction</fDescr>
<vRange>
<vAlt>
<symbol value="and"/>
<symbol value="both"/>
<symbol value="but"/>
<symbol value="either"/>
<symbol value="neither"/>
<symbol value="nor"/>
<symbol value="or"/>
<symbol value="NIL"/>
</vAlt>
</vRange>
<vDefault>
<binary value="false"/>
</vDefault>
</fDecl>
<fDescr>surface form of the complementizer</fDescr>
<vRange>
<vAlt>
<symbol value="for"/>
<symbol value="that"/>
<symbol value="whether"/>
<symbol value="if"/>
<symbol value="NIL"/>
</vAlt>
</vRange>
<vDefault>
<if>
<fs>
<f name="VFORM">
<symbol value="INF"/>
</f>
<f name="SUBJ">
<binary value="true"/>
</f>
</fs>
<then/>
<symbol value="for"/>
</if>
</vDefault>
</fDecl>
<fDescr>agreement for person and number</fDescr>
<vRange>
<fs type="Agreement"/>
</vRange>
</fDecl>
<fDescr>word form of a preposition</fDescr>
<vRange>
<vNot>
<string/>
</vNot>
</vRange>
</fDecl>
クラスmodel.featureValには, 代替値(vAlt)や,複雑な値(vColl)を含む,可能な全ての素性値がまとめら れている.
- « 18.11.3 素性宣言
- » 18.11.5 例
- Home | 目次
18.11.4 素性構造制約TEI: 素性構造制約¶
素性構造の妥当性を保証するためには,各素性が取り得る値の範 囲を特定する以上の仕組みが必要となる. 例えば,同じ素性構造,または埋め込まれている素性構造にあ る,ある素性値が他の素性値と共起する制約なども使うことも必 要となる.
そのような,素性構造の妥当性を保証する為の制約は, 要素fsDeclの中で,要素fsConstraintsを使い, 一連の条件節や,必要十分条件として与えられる. これにより,全ての制約を満たす素性構造のみが,妥当なものと されることになる. 素性condは,真偽値による条件判断を表現す るもので,これにより,前提部と帰結部の2つが共に真である時,ま たは,前提部が偽の時に,成立することになる. 要素bicondは,必要十分条件を示すものであ る. すなわち,条件判断される2つの項目が,それぞれ前提部と帰結 部となる条件判断が,共に成立することになる. 素性構造において,制約を構成する前提部と帰結部は,共に素性構造 として表現される. 各節は,そこで示されている素性構造に「包摂されている」( 18.11.3 素性宣言 を参照)場合にのみ,真となる. 但し,帰結部が表現するものは,単なる評価対象ではなく,真であ ることが示されることになる. つまり,この条件文とは,前節は,当該素性構造から包摂されて いないこと,または, 前節は当該素性構造から包摂されると同 時に後節と統合されることのいずれかを決めるものとなる(もし 条件が満たされれば,後節がその結果を包摂することになる). 実際,このような制約を課すことで,それが提示する素性構造と 合致する制約が知られていない際に,その効果が発揮される. 例えば,当該素性構造が情報を担うものであるには, 真理値が与えられているか,または何らかの理由でそれ決められ ないでいるかが分かるまで, 当該制約を常に注視しておく必要がある.
- fsConstraints 妥当な素性構造の内容に課す制約を示す.
- cond 素性構造の条件制約を定義する.前提部と帰結部は,素性構 造として定義さ れている.前提部と帰結部が共に真であった とき,または前提部が偽であったときに,当該条件節は真と なる.
- bicond 素性構造の制約を必要十分条件として定義する.前提部と帰 結部は,素性構造またはそのグループとして定義される.当該 制約は,与えられた2つの素 性構造が共に真であるか,または ともに偽である場合に,真になる.
- then/ 要素if中のデフォルト値と条件部,または 要素cond中の 前提部と帰結部を区切る.
- iff/ 必要十分条件における前提部と帰結部の区切を示す.
<fs>
<f name="INV">
<binary value="true"/>
</f>
</fs>
<then/>
<fs>
<f name="AUX">
<binary value="true"/>
</f>
<f name="VFORM">
<symbol value="FIN"/>
</f>
</fs>
</cond>
<fs>
<f name="BAR">
<symbol value="0"/>
</f>
</fs>
<iff/>
<fs>
<f name="N">
<binary value="true"/>
</f>
<f name="V">
<binary value="true"/>
</f>
<f name="SUBCAT">
<binary value="true"/>
</f>
</fs>
</bicond>
<fs>
<f name="BAR">
<symbol value="1"/>
</f>
</fs>
<then/>
<fs>
<f name="SUBCAT">
<binary value="false"/>
</f>
</fs>
</cond>
要素condと要素bicondでは,空要素である要素thenと要素iffが使われていること に注意して欲しい. これらは,前提部と帰結部を分ける役目を果たしている. この2つの要素は,主に,人が読んで理解しやすいために採用さ れたものである.
- « 18.11.4 素性構造制約
- Home | 目次
18.11.5 例TEI: 例¶
<teiHeader>
<fileDesc>
<titleStmt>
<title>A sample FSD based on an extract from Gazdar
et al.'s GPSG feature system for English</title>
<respStmt>
<resp>encoded by</resp>
<name>Gary F. Simons</name>
</respStmt>
</titleStmt>
<publicationStmt>
<p>This sample was first encoded by Gary F. Simons (Summer
Institute of Linguistics, Dallas, TX) on January 28, 1991.
Revised April 8, 1993 to match the specification of FSDs
in version P2 of the TEI Guidelines. Revised again December 2004 to
be consistent with the feature structure representation standard
jointly developed with ISO TC37/SC4.
</p>
</publicationStmt>
<sourceDesc>
<p>This sample FSD does not describe a complete feature
system. It is based on extracts from the feature system
for English presented in the appendix (pages 245–247) of
Generalized Phrase Structure Grammar, by Gazdar, Klein,
Pullum, and Sag (Harvard University Press, 1985).</p>
</sourceDesc>
</fileDesc>
</teiHeader>
<fsdDecl>
<fsDecl type="GPSG">
<fsDescr>Encodes a feature structure for the GPSG analysis
of English (after Gazdar, Klein, Pullum, and Sag)</fsDescr>
<fDecl name="INV">
<fDescr>inverted sentence</fDescr>
<vRange>
<vAlt>
<binary value="true"/>
<binary value="false"/>
</vAlt>
</vRange>
<vDefault>
<binary value="false"/>
</vDefault>
</fDecl>
<fDecl name="CONJ">
<fDescr>surface form of the conjunction</fDescr>
<vRange>
<vAlt>
<symbol value="and"/>
<symbol value="both"/>
<symbol value="but"/>
<symbol value="either"/>
<symbol value="neither"/>
<symbol value="nor"/>
<symbol value="or"/>
<symbol value="NIL"/>
</vAlt>
</vRange>
<vDefault>
<binary value="false"/>
</vDefault>
</fDecl>
<fDecl name="COMP">
<fDescr>surface form of the complementizer</fDescr>
<vRange>
<vAlt>
<symbol value="for"/>
<symbol value="that"/>
<symbol value="whether"/>
<symbol value="if"/>
<symbol value="NIL"/>
</vAlt>
</vRange>
<vDefault>
<if>
<fs>
<f name="VFORM">
<symbol value="INF"/>
</f>
<f name="SUBJ">
<binary value="true"/>
</f>
</fs>
<then/>
<symbol value="for"/>
</if>
</vDefault>
</fDecl>
<fDecl name="AGR">
<fDescr>agreement for person and number</fDescr>
<vRange>
<fs type="Agreement"/>
</vRange>
</fDecl>
<fDecl name="PFORM">
<fDescr>word form of a preposition</fDescr>
<vRange>
<vNot>
<string/>
</vNot>
</vRange>
</fDecl>
<fsConstraints>
<cond>
<fs>
<f name="INV">
<binary value="true"/>
</f>
</fs>
<then/>
<fs>
<f name="AUX">
<binary value="true"/>
</f>
<f name="VFORM">
<symbol value="FIN"/>
</f>
</fs>
</cond>
<bicond>
<fs>
<f name="BAR">
<symbol value="0"/>
</f>
</fs>
<iff/>
<fs>
<f name="N">
<binary value="true"/>
</f>
<f name="V">
<binary value="true"/>
</f>
<f name="SUBCAT">
<binary value="true"/>
</f>
</fs>
</bicond>
<cond>
<fs>
<f name="BAR">
<symbol value="1"/>
</f>
</fs>
<then/>
<fs>
<f name="SUBCAT">
<binary value="false"/>
</f>
</fs>
</cond>
</fsConstraints>
</fsDecl>
<fsDecl type="Agreement">
<fsDescr>This type of feature structure encodes the features
for subject-verb agreement in English</fsDescr>
<fDecl name="PERS">
<fDescr>person (first, second, or third)</fDescr>
<vRange>
<vAlt>
<symbol value="1"/>
<symbol value="2"/>
<symbol value="3"/>
</vAlt>
</vRange>
</fDecl>
<fDecl name="NUM">
<fDescr>number (singular or plural)</fDescr>
<vRange>
<vAlt>
<symbol value="sg"/>
<symbol value="pl"/>
</vAlt>
</vRange>
</fDecl>
</fsDecl>
</fsdDecl>
</TEI>
- « 18.11 素性システム宣言
- Home | 目次
18.12 形式的定義と用法TEI: 形式的定義と用法¶
↑ Contents « 17 簡易分析機能 » 19 グラフ,ネットワーク,木