M-XML形式のデータはDisc1のM-XMLディレクトリの下に、サブコーパスごとにディレクトリ分けされて格納されている。ディレクトリ内にそれぞれ一つの圧縮ファイルがあり、これを展開することで1ファイルが1サンプルに対応する多数のXMLファイルが展開される。ファイル数の多いLB、PB、OC、OYについては、複数のサブディレクトリに分けてXMLファイルが展開される。
M-XML(統合形式XMLデータ)は、C-XML(文字ベースXML)フォーマットをもとにして、可変長・固定長サンプルを統合し、言語構造を一定程度反映させたXMLフォーマットである。短単位・長単位の形態論情報を、階層構造を維持したまま埋め込み、言語構造に関わる情報を扱いやすくしている。XMLファイルの符号化形式はUTF-8(BOMなし)である。
C-XMLでは、可変長サンプルと固定長サンプルが別のXML文書として構造化されている。しかし、二種類のサンプルは同一の文書から採集されているため、多くの部分が重複している。こうしたデータに形態論情報を付与し整備する場合には、同一内容のテキストを二回処理する必要がないように、統合して扱うことができた方が望ましい。しかし、タグが交叉することになるため、別の構造を持つ二つのXMLを単純に統合することはできない。そこで、統合形式では次のような方法で可変長と固定長を統合することとした。
そもそも、文書構造を意識して採集された可変長サンプルとは違い、均一な長さのサンプルを取得する目的で作られた固定長サンプルでは、文書構造を示すブロック要素タグは大きな意味を持たない。そこで、M-XMLでは、可変長サンプルの文書構造だけを保持し、固定長の範囲は形態素(長単位)に付与する属性で示すこととした。可変長部分から固定長部分がはみ出している場合には、はみ出した部分を単純なコンテナ(<div type="fiexdLength">)で囲み、インライン要素だけを保持した。
M-XMLは次のような属性を持つmergedSample要素をルートとして上記の要素をまとめ上げている。
<mergedSample sampleID="サンプルID" type="BCCWJ-MorphXML" version="1.0">
C-XMLは、サブコーパスによっては異なる文書定義(DTD)が用いられている。知恵袋(OC)、ブログ(OY)、教科書(OT)、韻文(OV)は、おおよそ共通の構造を持ちながらも、一般の可変長サンプルとは異なるそれぞれ独自の文書定義によっている。そのため、すべてのデータを統一的に処理しようとするとき問題となる場合がある。
そこで、M-XMLでは、タグセットを一部変更して、すべてのサブコーパスについて共通の文書定義で処理できるようにしている。C-XMLに比較してやや緩い制約での検証になるが、すべてのXMLファイルは単一のXMLスキーマで検証済みである。この統合に際してサブコーパス独自のタグを次のように一部変更している。
OC : <OCQuestion> → <article articleID="サンプルID-Question">
<OCAnswer> → <article articleID="サンプルID-Answer">
OC, OY: <br type='physicalLine_original /> → <webBr/>
OT : <root> → <squareRoot>
BCCWJにおける短単位・長単位・文節は、その定義から入れ子構造をなす。文節はこれが連なって文を構成するし、短単位は文字から構成されるから、BCCWJの形態論情報は、結局次のような言語単位の階層構造の中に位置づけられることになる。
文章/文/文節/長単位/短単位/文字
文書構造タグや階層化された形態論情報を活用するためには、この階層構造・包含関係がそのままXMLフォーマットに反映されることが望ましい。この考え方に従い、M-XMLでは、次のような構造で形態論情報を付与した。
以下はそのサンプルとして一つの文(sentence要素)を抜き出したものである(見やすさのため一部の属性を省略している)。
埋め込まれた短単位タグ(SUW)には以下の属性が付与されている。※印の属性は、出力する必要がない場合には、値だけでなく属性自体の出力を行っていない。
属性名 | 備考 |
---|---|
start | 原文文字列のサンプル頭からのオフセット値(10きざみ) |
end | |
orderID | 連番(TSVの連番と互換) |
lemma | 語彙素 |
lForm | 語彙素読み |
subLemma | 語彙素細分類 ※区別がある場合のみ出力 |
wType | 語種 |
pos | 品詞 |
cType | 活用型 ※活用語のみ出力 |
cForm | 活用形 ※活用語のみ出力 |
formBase | 語形 |
usage | 用法 ※区別がある場合のみ出力 |
orthBase | 書字形 ※活用語のみ出力 |
originalText | 原文文字列 ※要素となるテキスト(=書字形出現形)と異なる場合のみ出力 |
kanaToken | 仮名形出現形 ※語形と異なる場合のみ出力 |
pronToken | 出現発音形 |
なお、TSVにおける書字形出現形は、SUWタグが囲んでいるテキストに相当する。
仮名形出現形は、テキストに対する読みがな(あるいはIMEで入力する場合のカナ文字列)に相当するものである。
※参照:TSVデータ詳細
埋め込まれた長単位タグ(LUW)には次の属性が付与されている。※印の属性は、出力する必要がない場合には、値だけでなく属性自体の出力を行っていない。
属性名 | 備考 |
---|---|
B | 文・文節境界 文節境界=B,文境界=S |
SL | サンプル長 固定長=f,可変長=v | l_lemma | 語彙素 |
l_lForm | 語彙素読み |
l_wType | 語種 |
l_pos | 品詞 |
l_cType | 活用型 ※活用語のみ出力 |
l_cForm | 活用形 ※活用語のみ出力 |
l_formBase | 語形 |
l_orthBase | 書字形 ※活用語のみ出力 |
TSVにおける「長短一致」など、XMLの構造や、子要素となる短単位のタグから容易に取得可能な情報は属性としては付与していない。
上で示した形態論情報の階層にC-XMLの諸要素を当てはめるならば、以下の図「形態論情報付きXMLフォーマットの階層構造」のような階層構造が考えられる(色網掛けはすべてのテキストに必須の要素)。しかし、このときC-XMLにおける諸要素がこの階層と齟齬を来すことが問題となる。M-XMLでは、以下のようにC-XMLのタグを修正することで対処している。
C-XMLでは、文を示すsentenceタグに入れ子を許しており、大きな文の中に複数の文が何重にも含み込まれることがある。たとえば、次のように文中に引用がある場合には、全体をsentenceで囲みつつ、引用部分もsentenceでマークアップされている。
入れ子になった複雑な文であることを示すこのマークアップには積極的な意味があるが、(1) 上位のsentenceがきわめて長くなる場合がある (2) 形態素解析などの入力となる「文」を定めがたい (3) データを文番号で管理できない、などの問題がある。
そこでM-XMLでは、文タグの階層を整備するために、sentenceの入れ子を認めることをやめ、上位の文はsuperSentenceとして文書構造タグの一種とした。下位のsentenceはそのまま残し、superSentenceの直下に当たる部分を新たにsentence で囲みtype= " fragment "とした。
センテンスの内側に入る要素でもタグが形態論情報と齟齬を来す場合があるため、次のように対処した。
ルビ(ruby)
BCCWJでは、ふりがなは原則として一文字ごとに付与しているが、熟字訓や臨時的な読みでは複数文字をrubyタグで囲んでいる。たとえば次のような例がある。
これらはC-XMLでは次のようにタグ付けされている。
M-XMLでは、1a) 2a)のように、短単位タグの内側にrubyタグを置くことができる場合にはそのままとした。一方、3a) 4a) 5a)のように短単位を越えるルビについては、先頭の短単位をrubyタグで囲み、そのタグの属性値として本来のルビ範囲のテキストを保持することとした。これにより、元の状態に戻せるようにするとともに、複数単位に渡る特殊なルビを容易に取り出すことを可能にしている。
引用(quote)
次の例のように、短単位を分断する引用タグが現れる場合がある。
M-XMLでは、SUW ・LUW以外にも次のようなタグが新たに追加されている。
数字を解析しやすい表記に変換する処理(numTrans)を行った箇所に付けられている。変換前の本文はこのタグのoriginalText属性に保存されている。
帯分数以外にも分数にfractionタグが追加されており、分子・分母が次のようにタグ付けされている。NumTrans処理もあわせて行われている。
改ページ位置を示す参考情報が空要素のinfoタグに残されている。
以上のように、できる限り互換性を保持するように努めているものの、各種の変更を加えているため、M-XMLに付与されたタグとC-XMLのタグとの間に完全な互換性はない。