[INDEX] [HOME]

index

TEI 紹介 (J31 試訳)

1998.9.23
(* )は訳注。

  1. 標準化と TEI
  2. TEI とは何か。
  3. TEI 方式の組織
  4. TEI コア・タグ・セット
  5. TEI 基本タグ・セット
  6. TEI 付加タグ・セット
  7. 一般から特殊へ
  8. 結論

情報交換のためのテキスト・コーディング
− TEI 紹介(TEI J31)

L. バーナード ( Lou Burnard )
オックスフォード大学コンピューティング・サービス
1995.7
TEI J 31: Text Encoding for Information Interchange
— An Introduction to the Text Encoding Initiative
 
http://www-tei.uic.edu//orgs/tei/info/teij31/index.html

この HTML 版は、1995年10月、ロンドンにおける第2回言語工学会でのプレゼンテーション用に TEI Lite 形式で作った文書から自動的に作成したものである。
 (※訳者注…このノートは、各章毎のファイルをまとめ、手作業により作成したものである。)


[TOP]

1 標準化と TEI

標準が生れる理由や経緯はさまざまであり、いつでも説明しきれるものではない。例えば単独のメーカー、あるいはグループが市場シェアを思い通りにしようとしたり、消費者が購買決定を簡単に行おうとするなど、市場によって全く規定されてしまうことがある。また専門家など善意のグループからの圧力によって生じることもあり、公共の利害に関わる立法の結果として生れることもある。最後に、標準はいくつかの大きな共同体同士がにわかに合意したことの表現として生じる。この最後の方法はもっとも継続する見込みがあるが、達成することもまたきわめて難しい。

そのような合意を生み出す際には、単に手がけ、試験していたものを規範的で拘束力をもつものに移し替えなければならないという要求がある反面、狭窄衣や予期せぬ開発を無理強いされたくないとする気持ちもあり、両者の間に不可避の緊張関係が生れる。このことはとりわけ研究や開発の舞台に当てはまる。というのも、これらは存続のために絶えず革新する必要があり、したがって従来定式化されていない問題に解答を与える能力が要求されるからだ。しかも、同時に既存の慣習を法則化することにかけてはどんな共同体にもまさって関わっているのだ。研究社会には、最大限の柔軟性を必要とし、強制されることに不信を抱く専門家がいるが、同時に素人もいて、彼らはいずれは過去の学説に反抗し、そうして今度は自分が専門家になるためだけでも、一貫性と法則性をもって積み重ねられてきた専門的知見を学ぶ必要があるわけだ。

情報を蓄積し、(処理するのでなく)表現する方法の標準化は、いくつかの密接に関連し合った問題、学術的であれ商業的であれ、現代の情報技術の使い手にとっての中心的な関心事のすべてを解決する糸口となる。とくに言語資産の創造者たちにとって、標準化の問題は、情報が「再利用可能」なことを保証することの難しさ、さまざま異なった方法で表現してある情報をシームレスに「統合」できる可能性を保証することの難しさ、そして実にさまざまなプラットフォーム、アプリケーション・システム、言語同士でさえ情報を取りこぼしなく「交換流通」を進めることの難しさとなって現れる。

テキスト表示のレベルで標準化することにより、古いアプリケーションも続けて機能することを保証する一方で、新しいアプリケーションを開発するのに必要な柔軟さを残しておくことが期待できる。互いの合意が存在するレベルで、どの理論にも偏らない標準化を企てることによって、車輪を取り替えるのにいちいち発明し直す必要もなく、誰もが特定のブランドの自転車を運転するように要求するにも及ばなくなるのである。

この精神に立って、本書の主題をなす TEI ガイドラインは、特定のアプリケーションのための規範的な規則でなく、特定のアプリケーションに限られた規則はモジュール化され拡張可能な枠組みの中で定義できる形で提供することをねらいとする。そうした TEI に準拠した規則の開発がすでに EAGLES (*言語工学の標準に関して諮問にあたる専門家グループ Expert Advisory Group on Language Engineering Standards) やそれに関連した Multext (*多言語テキスト処理ツールとコーパス計画 Multilingual Text Tools and Corpora)のような EU (*欧州共同体 European Union)プロジェクトだけでなく、多種多様なコーパスの構築、学問的な編集、電子図書館プロジェクトなどいくつかの場面で始まっているということは、ご聴講の皆様にとって非常に重要なことである。こうしたプロジェクトのどれにも共通することだが、TEI によって定義された枠組みに対して、その開発目的である交換流通の可能性は実際に保持しながらも、これをカスタマイズしてより固有の性質を与えることを必要としている。この方法のもととなる一般的原則と特定手段の多くは、情報技術の大規模なユーザ層と明らかな関連性をもつものだ。

本書(注1)は TEI 方式の起源と組織を述べ、あわせてそれを多様な応用分野に適合させる方法の技術的な詳細とその適用範囲のあらましに触れている。


[TOP]

2 TEI とは何か。

テキスト・エンコーディング・イニシアチヴ( TEI )は、国際的な共同研究活動であり、その目的はテキスト資料を電子的形式で表すための共通ガイドラインを定めることにある。この計画は、関連分野で代表的な3つの専門学会から資金供与を受けて組織されている。すなわち、コンピュータ言語学学会(ACL)、文学・言語学コンピューティング学会(ALLC)、「コンピュータと人文学」学会(ACH)である。 TEI は大西洋を挟み、5年にわたっての活動期間を通して、合衆国国立人文学基金と欧州共同体第3次「言語学研究と工学」プログラムから主に資金を受け、さらにメロン財団とカナダ社会科学・人文学研究会議の補助金を得た。資金的援助と同じく重要なのは、さらに広範な研究社会からの大勢のメンバーが TEI 作業部会と作業グループを務め、多くの時間をさいてくれ、かつ専門的知識を提供してくれたことである。

その名が示すとおり、TEI はテキストに強い関心を持つ。けれども、この関心は電子テキストを紙の文書を生産する一段階として用いることに限定されるものでは決してなく、テキストという言葉をあまり文字通りに捉えるべきではない。TEI は、研究用データベースの構成要素であろうと、紙以外の出版物の構成要素であろうと、電子的形式でのテキストと非テキストの資源両方に等しく関わるものである。

出版業と同じく、研究社会は元手となる知識が書物のページ上の単語にはなく、どんな特定の物質的表現とも切り離された情報であることが早くから分かっていた。テキストとグラフィックと音声をシームレスな情報伝達装置に統合する仕事に真にふさわしい技術が生れたように、その統合されたイメージの重要性がしだいに明らかになってきた。具体的な表現形式や媒体とは切り離した形で情報を記述する方法を定めたことにより、TEI 方式は他の SGML に基づいた方法と同じく、マルチメディア技術の構築と開発を大きく推進したのである。

同様の次第で、言語研究者が関わりを持っているテキストは、非常に雑多なものとなりがちである。英国国立コーパス(注2)のような言語コーパスの構成を見れば、新聞・書籍・社内文書・脚本・宣伝用パンフレット・手紙・日記・講義録・インタビュー・テレビやラジオの放送台本・脚本化されていない会話記録等々の種々雑多な資料が一つの資料群に統合されている。研究上の必要からは、この統合は情報の取りこぼしを最小限に抑え、同時に極力複雑にならぬように行わなければならない。ともかく、結果として出来る「テキスト」は印刷した著述というこれまでの概念とははるかに隔たったものだ。

電子テキストは、そのさまざまな特徴を明らかにして効果的に処理できるようにするためのマーク付け(コーディング)を含む点で、印刷テキストとは明らかに大きく異なっている。印刷テキストも同じような理由でさまざまな約束事を決めている(活字の字面を変える、伝達媒体を組織だてる、等)が、これらは形式的なマーク付け方式によるタグほど処理が簡単ではない。

TEI プロジェクトの目標は、当初から二重の焦点をもっていた。すなわち、電子テキストではテキストの「どんな」特徴をコーディングする(つまり、明らかにする)のがよいかという点と、データの取りこぼしなく、プラットフォームに依存せず交換するためには「どのように」コーディングを表したらよいかという点である。

プロジェクトを始めるにあたっては、あらかじめ標準汎用マーク付け言語(SGML = ISO 8879)がガイドラインに最もふさわしい表現手段として選ばれた。初めは、比較的表現力に富み、融通の利く形式的言語を作ることがそれ自身、主な研究プロジェクトになるという全く実用的な理由からであった。結果的には、その垢抜けしない面をたびたび指摘されることがあるものの、SGML は研究者の要求に十分適合するものであり、5年後に至ってなお、年ごとに新製品の発表もあるなど、ソフトウェア産業への支配力を増している。そこで TEI は、前述した当初の目標に示したテキストの特徴を表現するのに、SGML を使うことで努力を傾注することができた。

TEI プロジェクトが初めに生み出し得たものは、SGML の要素と属性で表現し、それと結びついた説明と用例を挙げた(400以上に及ぶ)膨大なテキスト特性の定義である。これらの要素は、以下に述べるように、諸種の「タグ・セット」にグループ分けされ、それぞれが結びついてどんなハードウェア、ソフトウェア、アプリケーションにも依存せず、あらゆる言語、時代、種別に及ぶテキストをコーディングするために形成されるモジュールによる方式を構成する。

TEI タグ・セットは、必然的に既存のコーディング方式に基づくが、それに制約を受けるというわけではない。包括的であると同時に、拡張可能であるように設計されている。それらは、さらなる拡張開発作業のための5年間の後、1994年 5月に『テキストの交換流通のためのコーディングのガイドライン』という大部のリファレンス・マニュアルにまとめられて世に出た。1,400ページにも及ぶこのマニュアルは、紙と電子的なハイパー・テキストの両方の形式で出版され、さまざまなフォーマットによってインターネットを通しても利用できる(注3)。


[TOP]

3 TEI 方式の組織

TEI 方式はSGML のアプリケーションであるところから、何らかの文書型定義(DTD)が必ずなければならない。今のところ、 DTD の設計を行う方法については、「世界には DTD がどれくらい必要か?」という問いに対する答えをめぐって、以下に述べる3つの陣営のどれかに身を投じなければならないという図式になろうかと思う。

SGML を初めて使うユーザの多くにとって、適切な解答は「1つ」だ。作業の目的は、あらゆるテキストを厳密に、整合性をもって検証できるようなテンプレートを定義することだけである。この方法の特徴は、「いちばん良い答えは分かっている。」というような言い方によって表せるかと思う。技術文書などのアプリケーションにおいては確固たる地位を占める方法なのだが、構造的文書を設計するという福音が世に啓示される前夜に作られたテキストを記述することが作業の目的である場合にはこれまた明らかに不適切な方法である。

この方法の対極にあるのは、「なし」という解答だ。この陣営にとっては、記述するテキストの複雑多様さを扱うにはどんな DTD をもってしてもうまくいかない。こうした姿勢は、「だれにも私の悩みはわからない。」というイメージでまとめられるだろう。一方また、通常の例で ANY の有用性はそれほど明らかでないが、内容モデルが ANY の要素だけから成る DTD が完全に当てはまるようなアプリケーションを思い浮かべることは不可能だ(オックスフォード英語辞典の最初の電子テキスト版が明らかな例である)。

おそらくもっとも数が多いのは、肩をすくめて「必要な分だけ」だと答える人たちだろう。世界は常に新しい DTD を必要としている。極端な例では、1文書に1つという具合に。実用主義の名の下に、こういう姿勢はまだほんの雛に過ぎない情報交換の可能性をその巣から押し出してしまう危険を冒すものだ。にもかかわらず、これほどの人気からみれば、もともと文書というものは DTD に操られるのでなく、逆に DTD を操るものでなければならない場合のあることが分かる。

TEI の採用する方法は、これら3つの方法すべての長所を組み合わせようというものだ。これまで開発された他の汎用 DTD ではほとんどの場合困難か、まず不可能な方法で、特別のアプリケーションの注文にも応じられるように、1つでなく、可能な DTD をできるだけ多く定める。こうして TEI 方式のユーザは、各自の条件に合致した DTD を構築する機会に恵まれるものの、交換流通を進める方法を採らなければならない。

このことを表すのに、「シカゴ風ピザ」モデルというちょっと面白い例を挙げてみよう。ピザはどれも(チーズとトマト・ソースというように)ある程度中身が決まっているものだが、シカゴなどではパスタ生地の形がまるでちがっていて、その形によってお客は自分でトッピングの種類を選ぶようになっている(のが普通だ)。SGML の構文を使ってこれをまとめれば、次のようになるだろう。


  <!ENTITY % base    "(deepDish | thinCrust | stuffed)" >
  <!ENTITY % topping "(sausage | mushroom | pepper | anchovy ...)">
  <!ELEMENT pizza - - (%base, cheese & tomato, (%topping;)* )>

同様にして、TEI 方式のユーザはコア・タグ・セット(どの場合にも必要だ)と1つだけの「基本」タグ・セット、および自分で選んだ「付加」タグ・セットすなわちトッピングを組み合わせて TEI DTD のイメージを作るのである。

ここで「タグ・セット」という言葉は、SGML の要素とその属性をまとめて定義したものを指すだけの意味に使っている。これらのタグ・セットは TEI 方式の基本的な組み立て規則であり、4つのグループに分かれる。

  • コア (core) タグ・セットはすべての文書に必要となるような要素を定義しているので、どの場合にもデフォルトとして使うことができる。
  • 基本 (base) タグ・セットは全体構造が区々になる可能性のある文書の特定の階層を定義している。通常、一定の文書に当てはまるタグ・セットはただ1つである。
  • 付加 (additional) タグ・セットは文書のどの階層にも現れる要素でありながら、ある種の特別なアプリケーションもしくは細かな主題領域と結びつく代表的な要素のセットを定義している。
  • 補助 (auxiliary) タグ・セットはコーディング方式の一部を記述するなどの例に代表されるように高度に専門的な役割をもった要素、そして主な DTD とは別個の DTD を形成する要素から成る。

現在のモデルは異なった基本タグ・セットの中に同じ要素を重ねて定義する場合にも配慮しているが、一般に要素はただ1つのタグ・セットの中に現れる。1つ以上の付加タグ・セットの中では要素を重ねて定義してはならない。

こうしたモジュール化は、TEI DTD の中でパラメータ・エンティティ(実体)を使って実現される(後述)。基本的な仕組みを表すため、散文用の基本タグ・セットとリンクのための付加タグ・セットを一緒に選んだ TEI 準拠の最も小さな文書の開始部分をここで示しておく。


  <!DOCTYPE tei.2 [
  <!ENTITY % TEI.prose "INCLUDE">
  <!ENTITY % TEI.linking "INCLUDE">
  ]>
  <tei.2>
    <!-- ここに文書内容が入る。 -->
  </tei.2>

上の例に見るように、このタグ・セットの選択は DTD のサブセット中の宣言によって明示的に行われるので、文書のいかなる器もどの TEI タグ・セットが処理に必要なのかを示すことができる。 TEI 定義のどのような逸脱・変更も(たとえば、要素名の変更や新しい要素の付加など)、同じように宣言する方法で行うことができる。TEI DTD の一定の外観がいったんこのように定義されると、これ以上変更させないために、また TEI DTD の不正な拡張用法によって必然的にもたらされる複雑さを取り除くためにもその外観は固定あるいは「コンパイル」される。


[TOP]

4 TEI コア・タグ・セット


 すべての基本文書構造で使える要素  ヘッダ

形式ばらないすべての TEI 文書では2種類のコア・タグ・セットが使える。一つ目は、どのような基本タグ・セットが使われていようと、ほとんどあらゆる種類の文書に現れる多数の要素を定義するものだ。二つ目は、電子テキスト用の扉ページに似た働きをするヘッダを定義するものである。

[SECTION TOP]

すべての基本文書構造で使える要素

すべての TEI 文書に共通するコア・タグ・セットは、テキストの特徴を適度に洗練された形でコーディングする手段を提供する。その特徴は例えば、印字面の強調句や引用句(強意、専門術語、外国語、題字その他を強調するための字面変更を識別してもよい)、引用句(会話そのもの、引用、割り注、引用句その他を識別してもよい)、名前・番号・尺度・日付・時間等の「データのような」語句、あらゆる種類のリスト、基本的な編集上の改変(すなわち明らかな誤りの訂正、正規化・標準化、付加、削除、省略)、基本的なハイパーテキストの特徴を与える単純リンクと相互参照、注釈・索引・書誌的引用・参照システムなどの仕掛けなどである。これらの特徴のなにがしかを表さない文書はほとんどなく、特別に1種類の文書だけに限定される特徴というようなものもない。場合によっては、これらの特徴の外観をさらに詳しく(たとえば、韻文用や戯曲用、名前用の特徴など)コーディングしたい向きのためのより細分化した要素を提供する付加タグ・セットも利用できるが、このコア・タグ・セットで定義した要素は、ほとんどどの場合にも、どのアプリケーションにも当てはまるものと思われる。


[SECTION TOP]

ヘッダ

TEI 方式は、電子テキストに関する文書情報・書誌的情報の規定に特に重きをおく。そのような情報は、多様な原典に基づくテキストの満足な交換流通、あるいは長期間にわたる使用をもくろむ場合に不可欠である。

TEI ヘッダは TEI 文書の数少ない必須要素の一つである。それは以下の事項を文書化する細かな構文を相俟って規定する4つの主要部分から成る。

  • 電子文書そのものとその元になる原文
  • 使用したコーディング・システム
  • 文書とその主題を分類する解題
  • 改訂履歴

初めの@ ファイル記述 (file description) は、伝統的な書誌的事項、詳しい題名、電子テキストに関する知的責任と出版・配布情報を含む。今日、印刷媒体でない電子化資料を管理するという新しい役割を引き受けつつある進歩的な大学図書館、公共図書館がますます増えてきているが、そこで使う従来型のカタログ式書誌にもそれらの叙述を容易に変換できるようにするのである。

時事問題解説者の中には、経済のあらゆる部門が日々行っている情報処理が今やいかに電子的な形式のみで行われているかに気づき、これら歴史記録の新しい形式を取り扱う際に図書館員や文書管理者が直面する困難について懸念を表明する者も幾人かいる。一方、「インターネット」における豊かな情報に関わろうとして、ネットワーク化されたリソースや他の形式の電子出版物に対して何ら効果的な目録作成規準もないことを嘆いている者もいる。言語コーパスの制作者にとっても、そのようなメタ記述情報を規定することが不可欠であり、そのような標準なしには、複雑無比の言語を分析することはほとんど不可能である。TEI ヘッダは、これらの問題すべてを克服するために大きな貢献を果しているのである。

電子テキストの多くは、既存の印刷資料にキーワードを付けたり、スキャンしたり、あるいは既存の電子的資料を結びつけたり、修正したり、あるいはその両方だったりという具合に作られるわけで、本質的に派生的な作品である。TEI ヘッダの原典記述 (source description) の部分によって、コーディング担当者は昔ながらの書誌的概念に従ってテキストの元になる原典を明示することができる。こうして TEI 準拠のテキストの系統は、従来の書物が一般にその出版履歴を述べるのと同じやり方で明らかになる。テキスト作成の際になされた変更に関する詳細な形式的記述は、別個にA 改訂履歴 (revision history) として記録できる。このことは高度にダイナミックな(*流動的な)テキストのために特に有益である。

前に触れたごとく、TEI は固定したコーディング方式ではなく、異なった状況に応じてさまざまなオプションを提供している。その結果、TEI ヘッダの中のB コーディング方法の記述 (encoding description) は電子化文書のユーザにとってとりわけ重要となる。それは、構造的形式であろうとなかろうと、編集慣行や編集方針、設計見取り図、実際に文書中で使用しているタグの種類に至るまで、なくてはならない情報を備えている。

C プロファイルの記述 (profile description) は、使用言語の詳述、文書が作られた状況や社会的背景、主題と分類から、著者と関係者の人口統計学的もしくは社会的な特質などに及ぶ広範な付加的記述情報をグループ分けするのに使う。これらの情報分類をすべて必要とする者はありそうにないが、どれも誰かしらのユーザには無くてはならないものであろう。

TEI ヘッダを集めたものは別個の文書として見ることも可能であり、たとえば、図書館やアーカイブ同士におけるヘッダだけの交換流通をサポートするために補助的 DTD が用意されている。


[TOP]

5 TEI 基本タグ・セット


 テキスト区分  TEI クラス体系と修正機構  共通属性

TEI DTD の骨組みを組み立てるには、ユーザは常に1つの基本タグ・セットを選ばなければならない。現在、主に散文・韻文・戯曲・談話記録・辞書・語彙データベースの文書用に6つのタグ・セットが定義してある。他に、これらの基本タグ・セットを併せ持ったテキスト用に2つのタグ・セットを用意している。

基本タグ・セットを選ぶことにより、それが適用されるすべての文書の基本構造が決まる。しかし、例えば辞書などによく現われる副要素は、手紙や小説に現れるものとは全く種類が異なり、話し言葉の記録に見られるものとはさらに異なっているという事実は考慮しておかねばならない。このような多様性を満たすため、TEI の<text>要素内にあるすべての区分の構成要素は、明示的に定義されるのでなく、パラメータ・エンティティ (parameter entities) によって定義されている。その仕組みは DTD 中で以下のような定義を行うことであり、その一つをユーザは DTD のサブセットの中で適切な宣言を与えることで無効にしなければならない。


  <!ENTITY % TEI.prose "IGNORE">
  <!ENTITY % TEI.dictionary "IGNORE">

主たる DTD の本体には、いずれかを選ぶべき一連の定義を含んでおり、次の単純化した例に示すように、それぞれの定義は対象となる基本タグ・セットの名をつけた SGML のマーク済みセクション (marked section) の中に埋め込んである。


  <![ %TEI.prose [
  <!-- この定義は散文用の基本セットを選んだときに有効になる。 -->
  <!-- これが有効になると、構成要素は段落またはリストと決まる。 -->
  <!ENTITY % component "p|list" >
  ]&null;]>
  
  <![ %TEI.dictionary [
  <!-- この定義は辞書の基本セットを選んだときに有効になる。 -->
  <!-- これが有効になると、構成要素は見出し語のみと決まる。 -->
  <!ENTITY % component "entry" >
  ]&null;]> 
  
  <!-- この定義は常に有効である。 -->
  <!-- これが有効であると、構成要素の並び (component.seq) は、 -->
  <!-- 現在有効になっている一つないし複数の構成要素と決まる。-->
  <!ENTITY % component.seq "(%component)+">

DTD の本体において、要素はこれらのパラメータ・エンティティ(実体)だけを使って定義する。その例。


  <!ELEMENT div - - ((%component.seq)+)>

基本タグ・セットを選ぶには、次のような宣言をその文書用の DTD サブセットの中で補うのがよい。


  <!ENTITY % TEI.prose "INCLUDE">

こちらは最初に与えられる(*読み込まれる)ので、これにより TEI DTD そのものの中で行われた宣言が無効になる。もともと何の基本タグ・セットも宣言されていない場合は、DTD はコンパイルされない。

こうして、component.seq というパラメータ・エンティティの値は、基本タグ・セットに従って異なったものとなる。こういう方法をとることにより、あるテキスト区分は、たとえば戯曲用基本セットを使えば会話とト書きから構成されるものとなり、また辞書用基本セットを使えば見出し語から構成されるものとなりうる。


[SECTION TOP]

テキスト区分

実際の構成要素というものはさまざまだが、ほとんどあらゆる種類のテキストにおいて、テキスト構成要素のグループはより高次の「区分」にまとめることも可能である。これら高次の単位は、「章」「節」「項」「幕」「部」などいろいろの名が付いているが、どれもだいたい同じような働きをするように思われる。どれも自身では完結せず、階層構造を作るということだ。そこで TEI 方式では、そのようなオブジェクトをまとめて同種の要素と見なしているが、ここではそれを区分 (division) と呼ぶ。

区分をその階層的位置以外の観点から識別するには、type 属性を使えばよい。この属性のとる値は(TEI 方式では、他にも同様の属性があるが)標準化されていない。それはまったく、包括的な分類体系というようなものにはいかなる合意もなく、またありそうにもないからである。しかしながら、処理するアプリケーション専用に TEI ヘッダの中に定義したり、またはユーザが変更の定義を行うことによって、まとまった一定の値を定めておくのがよい。

通常の場合、特定の基本セット中のすべての区分の構成要素は同質のものである。それらは component.seq に対してどれも同じ値をとる。けれども、その方式は2種類の異質なものも考慮している。もしも2つかそこらの基本セットに併せて一般的な (general) 基本セットが選ばれた場合、テキスト区分が異なると、それぞれの区分同士は同質のものであっても、主要構成要素としては別種のものになることがある。ただし、混合の (mixed) 基本セットも定義されており、そこではどのような基本セットを選択しても、その構成要素は区分の境界を越えて無差別に結びつくことがある。

このような方法は、より小さな単位のコーディングにも等しく当てはまる。異なった分析的単位をすべて数え上げようと試みるのは特別な規則を必要とする可能性があり、むしろ TEI は2つの包括的な分割要素を提案している。その1つ(<s>)は言語コーパスで普通に使われているような、単純に端から端までをマークして分割する要素であり、例えば正しい綴り方による文という概念とだいたい一致するものである。もう1つ(<seg>)は、それ自体が入れ子構造をとることのできる分割要素である。どちらの場合も、異なった種類の分割を識別するのに type 属性を使うことができる。


[SECTION TOP]

TEI クラス体系と修正機構

テキストの特徴とそれに伴って特徴をコーディングする要素とは、何通りかに類型化、分類することができる。TEI 方式では、属性クラス (attribute classes) とモデル・クラス (model classes) の2種の分類方式に分けており、どちらもだいたい同じような目的に使われる。

属性分類の成立要素は、一揃いの同じ属性を共有する。たとえば、要素同士のリンクや結合を表す要素はどれも pointer 属性クラスによって定義された一揃いの共通の属性を使うことでその機能を果たす。

モデル・クラスの成立要素は、同じ構造的属性を共有する。すなわち、SGML 文書構造の同じ位置に出現する。たとえば、divtop クラスは、テキスト区分の開始位置に出現するすべての要素(見出し、題辞、他)を含む。また、編集上の訂正や省略をマーク付けするのに使う要素は、どれも edit クラスの成立要素であり、書誌的引用などをマーク付けする要素はすべて bibl クラスの成立要素である、という具合である。

要素はもちろん一つ以上のクラスの成立要素となることができる。クラスは、上位クラスと下位クラスをもち、属性(密接に関連した属性)を継承できる。クラスは TEI DTD の中でパラメータ・エンティティによって定義され、DTD の保守、文書作成、拡張のためなど広範囲に使われる。

TEI 方式をユーザが変更するには3種類の方法が可能である。新しい要素を既存のクラスに付加すること、既存の要素の名前を変えること、あるいは定義しないことがそれだ。これらの操作は、クラス体系を使い、 TEI DTD それ自身を増補改訂する必要はまったくなく、統一した方法で実行する。

クラスに新しい要素を付加する過程は、以下のように表すことができる。先に触れた divTop モデル・クラスを参照のこと。いくぶん単純化して、この要素クラスを次のように定義する。


  <!ENTITY % x.divtop "">
  <!ENTITY % m.divtop "%x.divtop head | byline | epigraph">

このクラスに新しい要素(例えば、<keywords> など)を付加して、それが同じクラスの他の要素と同じように内容モデルのどこにでも出現するできるようにするのに必要なことは、文書型サブセット中の「x-entity」を再定義するだけである。


  <!ENTITY % x.divtop "keywords |">

後ろについている縦棒が必須であることに注意。たまたま、<keywords> 要素はすでに TEI 方式の中で(ヘッダの中で)定義されている。もし定義されていなかったら、要素宣言も必要だっただろう。

パラメータ・エンティティは、上述の他の2種類の(*ユーザによる)変更を有効にするのにも使われる。要素を定義しない能力と要素名を変更する能力との2つである。

主たる TEI DTD の中で、それぞれの要素定義とそれに関連した属性リスト定義は、要素と同じ名をもつマーク済みセクションによって囲む。そのデフォルトの値は「INCLUDE」である。こうして、<mentioned> 要素を定義しないでおくために、必要なことは DTD サブセットの中で次のように宣言するだけである。


  <!ENTITY % mentioned "IGNORE">

同様の宣言は、あらゆる要素名を変更するのに使うことができる。例えば、<p><para> と変更するにはこのようにする。


  <!ENTITY % n.p "para">

これが機能するのは、TEI DTD を通して <p> 要素への参照がすべて n.p エンティティを使って間接的になされるからである。さらにまた、もともとの要素名には SGML アプリケーションによって戻すことができる。なぜなら、それは宣言された型を FIXED とする共通属性 teiform の値を形成するからである。

この種のユーザ定義の変更はすべて、付加タグ・セットを形成するものと見なされる。それは他のあらゆるタグ・セットと同様のやり方で、すなわち TEI.extensions パラメータ・エンティティを有効にすることによって DTD 中に埋め込まれる。このような方法で、TEI 文書はその処理用の基本 TEI 方式で求められるあらゆる変更の範囲と性質を明らかにする。補助タグ・セットも、この方式の他の部分のために使う要素といくらか両立する付加 SGML 要素をもった文書作成のために用意されている。


[SECTION TOP]

共通属性

とりわけ重要な一つのクラスは、共通 (global) 属性クラスである。デフォルトでは、以下の属性がこのクラスの成立要素であり、従って TEI 方式におけるすべての要素に用いることができる。

  • id は要素の SGML 識別子である。
  • n は要素のできるだけ唯一でない名前または番号を表す。
  • lang は言語を表し、従って要素に使う書記システム (writing system) を表す。
  • rend は他の方法で表せない場合の、要素の表し方についての情報を示す。

このリストは拡張できる。たとえば、分析のための付加タグ・セットを選べば、上のリストに分析的属性を加えることになる。id 属性と n 属性により、TEI 準拠のテキスト中にどんな要素が生じてもそれを表すことが可能となる。id 属性値をもつ要素は、リンクや相互参照のオブジェクトか、あるいは単純な SGML DTD の厳格な階層的構造を封じるために TEI によって提案された別の再編成の仕組みのなにがしかであるかもしれない。そのようなリンクへの要求がたいてい予想できないという事実が、この属性を共通のものとする一つの理由である。

id 属性の値は唯一のものでなければならない(その宣言された値が ID である)。ただし、n 属性の値は唯一のものである必要はなく、TEI の規範的参照を与えるために使うことができる。そのような規範的参照方式の構造を定義する方法も与えられているので、それを用いた文書は自動的に処理できる。

lang 属性は、言語とそれに基づいて要素内容に当てはまる書記システムとの両方を示す。このため、多言語のテキストや多種の文字を使ったテキストを明らかにサポートすることができる。もしも何の値も与えられていない場合は、要素の直接の親要素の値がそれであると見なされる。( TEI の属性のいくつかはこの特徴を備えており、TEI の定義したキーワードによって対応する。)この要素の値は、使用言語を明らかにするという特別な目的をもった <language> 要素を表し、または形式的な書記システム宣言 (writing system declaration: WSD) を行うことのできる外部エンティティ(外部実体)と結びつけることも自由である。

WSD は言語と書記システムの組み合わせを定義し(例えば、「TLG Beta Code を用いた標準ギリシア語 (Koine Greek)」など)、補助 DTD によって形式的に定義される。補助 DTD は、既存の国際的標準やその他の標準、公開実体セット (public entity sets) やシステム依存の実体セット、特別の字訳方式、明示的な諸定義、その4つすべてを組み合わせたものともども、こうしたものによって個々の文字を系統的に定義・解題できるようにしている。

最後に、他の方法では処理できないところでは、原文の実体的表現についての情報を与えるために共通の rend 要素を用いることができる。デフォルトの表現は一定の型のすべての要素のために指定することができる。いくつかの DSSSL (*文書スタイル情報指定言語、レイアウト指定言語)による素朴な手頃のセットが今後の版(*現在、第3版)で提案されることはありうるとしても、現在の草稿ではどんな特定の値のセットもこの属性のために定義されてはいない。

原文のおおよその外観に倣おうとする願望によって決定されるのでない限り、rend 要素は本来、ある要素の目指したフォーマッティング(整形)を指定する手段として使うことを考えたものではないことを強調しておかねばならない。他の SGML アプリケーションと同じく、TEI 方式も、すでにコーディングされたテキストを生産的に使用するのに欠かせないと判断されたテキストの特徴をコーディングするのに必要な要素を提供しようとするものだ。しかし、他の SGML アプリケーションの多くとは異なり、いくらかの要素に関しては、研究対象となるテキストの外観とまったく同じものであることを TEI 方式は認識している。


[TOP]

6 TEI 付加タグ・セット

現在 TEI の提案によって10の付加タグ・セットが定義されている。これらは、例えば正字法に倣った談話記録、原稿や活字資料の詳細な実体的記述、伝統的な研究資料 (critical apparatus) にならった「電子的対校本」の記録等々の特別なアプリケーションの分野に使うタグ・セットを含んでいる。タグ・セットは他にも、名前や日付、ネットワークやグラフ、樹形図のような抽象的なもの、数学の公式や表、その他の詳細なコーディングはもちろん、言語コーパスによって必要とされる文脈情報の詳細な文書作成のためにも定義されている。

これらのアプリケーション専用の付加タグ・セットに加え、以下の目的でより汎用的なタグ・セットがいくつか定義されている。

  • リンクと配置
  • 分析と解釈
  • 特徴的構造の分析

リンクと配置のためのタグ・セットは、任意の位置と長さをもつテキストに対して、それが現在の文書の中にあろうとなかろうと、ターゲットが SGML 文書であろうとなかろうと、そこへリンクする手段を与えるため、既に TEI コア・タグ・セットにおいてリンクと指示のための要素セットが定義されているのを拡張するものである。そこには、たとえば多言語コーパスにおいてテキストの各部分の配置と対応関係を記録すること、あるいは音声と映像の配置をその記録を伴った形でマーク付けすることなどの仕組みも含まれている。そういうものとして、このタグ・セットは、HyTime (*マルチメディア記述言語、映像と音声へのリンク機構とアドレス指定を記述。)の標準によって提供される機構の必要十分な量のサブセットを提供するが、それはもっとずっと単純でより効果的なインターフェイスを備えている(注4)。

先に触れたように、あらゆる分析的方式に適した長さのテキストを特定するために包括的な分割要素が定義されている。一筋縄でいかない包括的な <interp> 要素は、任意の分割テキスト(入れ子にも連続しないものにもできる)をあらゆるユーザ定義の属性及び属性値を組み合わせた解釈とリンクするのに使うことができる。形態素・単語・句・文などを特定し、類別するなど、ごくあたりまえの言語分析の条件のための専用のタグも定義してある。

テキストと並行して作ったり、テキストの中に埋め込んだりして、テキストの抽象的解釈をコーディングするための専用のタグ・セットも用意されている。これは、理論言語学で採用している特徴的構造 (feature structure) の記法に基づいているが、言語理論を越えたアプリケーションがある(注5)。

この仕組みを使って、コーディング担当者はテキストに表れている種々様々の複雑な特徴を、自身の方法論的な考え方に従って任意に定義できる。このようにして、テキストの語学的、文学的、主題等にわたる解釈全般を、統一した方法でテキストに埋め込めるようになる。ガイドラインの定めている構文は、そのような特徴をコーディングする方法を公式化するだけでなく、正規の特徴の値とその組み合わせを詳細に指定する方法であるとか、例えばあまり明確な指定でないか、デフォルトになっている特徴の意味するところを決定する規則なども用意している。これは、特徴的構造の宣言 (feature system declaration) として知られ、補助的タグ・セットによって定義されている。

付加タグ・セットはまた、テキストのコーディングにおける不確かさや曖昧さの度合いをもコーディングするために用意されている。これらの特別なタグ・セットは、特に注目すべき形で、コーディングのための TEI の方法の主要な長所のひとつを明らかにする。つまり、コーディング担当者に、そのテキストの読み取りを明示するのに使える、十分に定義された一連のツールを与えるのだ。絶対の権威を主張する権利は、いかなるコーディング担当者も要求していないし、また要求すべきものでもない。TEI 方式はただ、コーディング担当者がテキストの中で気づいたことを、せいぜい適当と思われる程度に詳しく「打ち明ける」ことを可能にしているにすぎない。

TEI 方式のユーザは、自分の要求に応じるだけ多くの(あるいは少なめの)付加タグ・セットを組み合わせて使うことができる。現在の草稿に、特定のアプリケーションの領域のためのタグ・セットが存在しているのは、ある程度は、たまたまそうなったに過ぎない。組織的、ないし百科全書的に適用することを求めているわけではけっしてない。新しいタグ・セットが付加され、その定義はこの計画と後続の計画に引き継がれる仕事の重要な部分を成すことが予測されるのは確かである。


[TOP]

7 一般から特殊へ

TEI ガイドラインは5年以上を費やして今日の状態に至っており、かなりの程度に完成していると言える程度の第1段階である。振り返れば、研究者集団の関与がもっと少なく、一連の特定の目的についてその集団からもっとはっきりと意見をもらっていたら、はるかに早く出来ていただろうことは疑いない。しかし、そんな意見をもらっていたら、ちょうどわれわれが避けようとした狭窄衣のようなものを用意する羽目になって、結果としてできる方式の範囲は必然的に限られたものとなっていただろう。そのうえ、いかに明確に表現にもせよ、どれかひとつの研究テーマに優先権を与えることによって、他のすべての部門を事実上締め出し、疎外する結果となっていただろう。初期の教会の教夫たちにもいくぶん似て、TEI はできるだけ広く、普遍的な救済の手を差し伸べようとしているのだ。

同時に、TEI 方式はかの「essentia non sunt multiplicanda praeter necessitatem」(注6)の原則を厳格に採用している。異なった種類のリスト(ボタン式リスト、用語集、番号リスト、等々)に対して別々の要素を定義するのでなく、TEI 方式はこれらの多様な種類を識別するための type 属性を持つたった一つの <list> 要素を定義する。同様にして、文書要素の間のあらゆる種類のリンクも、その意味がいかなるものであれ、同じタグを使ってコーディングする。あらゆる分析と解釈を扱うのに必要と思われる無数の要素を扱うために、(前述の特徴的構造用タグ・セットを用いた場合)ほとんどあらゆる種類の解釈的判断を行うのに十分抽象的かつ一般的なわずかの包括的タグが提案されている。

同時に、誰一人排除するまいと TEI の望んでいることが結果として一見相当に困惑するほどの区別の増加につながっているという多くの状況が残っている。実際そうしたばかでかい DTD も可能なのだが、すべての TEI タグ・セットを統合してありとあらゆる要素を定義したものを使って文書をコーディングすることは、どう見てもありそうもない。

出版物として、ガイドラインは電子的な形式とはいえ、普段ブラウズする(見る)にはふさわしくないほどボリュームのある文書である。それゆえ、TEI は特定のアプリケーションの領域に焦点をしぼった、よりささやかな入門的チュートリアルをいくつか利用に供する計画を立てている。そのうち2編がすでに出来ている。一つは用語システムを扱ったもの(注7)であり、もう一つは原稿の写しをコーディングすることに関するもの(注8)である。

最近になって3つ目のチュートリアルも出来上がった。これには、(コア・タグ・セットだけでなく)TEI 方式全体から選んだおよそ200の要素をすこぶる教育的配慮に基づいてまとめたものだ。TEI Lite として知られるこの DTD は、すでに2つの電子出版プロジェクトで使われ、そしてオックスフォード大学、ヴァージニア大学、ミシガン大学その他の電子テキスト・アーカイブでも使われている(注9)。

TEI の設計の有効性は、個々のプロジェクト特有の要求に応じてそれが広範に採用されるに従ってはじめて実際に証明されるだろう。初期の実装者の長いリストから判断するかぎり、そのような証拠はもうすぐ現われることだろう。


[TOP]

8 結論

この記事は、TEI 方式の複雑さと普遍性に主に焦点を当て、その知的な妥当性と多くの SGML アプリケーションのモデルとしての可能性を証明する目的で書いた。

それはまた、単純なモジュラー方式が情報交換がその中で起こる「交換流通の空間」を最大のものとする方法で、どのように実装できるかを証明しようとしたものでもある。

学問の世界における TEI 方式の起源は、それがあたう限り広い、ひと揃いのアプリケーションを備えて心の中に構想されたということである。特定のユーザ層のために最適化することが、新しい挑戦となることだろう。

●本文に戻る。

/←[1]/
/←[2]/
/←[3]/
/←[4]/
/←[5]/
/←[6]/
/←[7]/
/←[8]/
/←[9]/

[TOP]

参考文献

[1] 本書は「テキスト・エンコーディング・イニシアチヴの関連資料一斑」(「OII Spectrum」 1994.11)を改訂したものである。
[2] この1億語に及ぶTEI 準拠の現代イギリス英語のコーパスについての詳細は、http://info.ox.ac.uk/bnc を参照。
[3] スパーバーグ=マックウィーン(C.M. Sperberg-McQueen)、ルウ・バーナード(Lou Burnard)編『機械可読テキストのコーディングと交換流通のためのガイドライン(Guidelines for the encoding and interchange of machine-readable texts)』(シカゴ/オックスフォード、ALLC-ACH-ACL Text Encoding Initiative、1994)。現在の入手状況・入手先の詳細は、TEI 公式ホームページ(http://www-tei.uic.edu/orgs/tei)を参照。
[4] 1995年 5月現在、TEI 拡張ポインタ機構はすn and G.F. Simons D. T. Langendoen and G.F. Simons ``A rationale for the TEI recommでに Softquad 社 (http://www.softquad.com) の Panorama Pro 、及び Electronic Book Technology 社 (http://www.ebt.com) の DynaText に実装されているという事実を見よ。2社とも商業的 SGML ブラウザの市場での指導的存在である。
[5] このタグ・セットの入門が、ランジェンドウエン (D. T.Langendoen)、サイモンズ (G.F.Simons)「特徴的構造のマーク付けのための TEI 勧告の原理 (A rationale for the TEI recommendations for feature-structure markup)」(「コンピュータと人文科学[Computers and the Humanities]」1995年〔近刊〕。歴史的原文資料をコーディングする問題にこの特徴的構造を適用することについてのさらに詳しい論考は、D. I. グリーンスタイン(Greenstein), L. バーナード「意見が一致して (Speaking with one voice)」〔同誌〕を参照。)
[6] 一般にオッカムのウィリアム (William of Occam: 1300-1349) の言葉とされる。この提題は「オッカムの剃刀」として知られる。翻訳すれば、「本質は不必要にいくつも示すものではない。」となるだろうか。これは、古典注釈者によって本質間に設けられた区別を正しく指摘している。その型と付属物を定義する実体の属性とか、たった一つの実体の例に当てはまる属性とか。
[7] メルビー (Melby)、アラン (Alan)、他『用語交換形式−チュートリアル(Terminology Interchange Format (TIF): a tutorial)』(ウィーン Infoterm社 1993)。
[8] ロビンソン (Robinson)、ピーター (Peter)『 SGML を使った第一次資料のコーディング』(オックスフォード Office for Humanities Communication 1994)。
[9] この方式を定めた文書は電子的形式でのみ利用できる。C.M.スパーバーグ=マックウィーン、ルウ・バーナード「 TEI Lite − TEI コーディング方式入門」(シカゴ及びオックスフォード 1995.5)、URLはhttp://www-tei.uic.edu/orgs/teihttp://info.ox.ac.uk/~archive/teilite )。