付録2:蔵書評価における文字コード問題について

付録2:蔵書評価における文字コード問題について

1. はじめに

 第3章において述べたように、本研究では、蔵書評価における書誌同定のための照合キーとしてISBNを用いた。複数の図書館間において、大量の所蔵資料の重複率を調査しようとする際、ISBNを照合キーとすることは、最も効率的かつ簡便なアプローチであると言える。その一方で、ISBNのみを用いることによってもたらされる調査バイアスが存在することも認識しておかなければならない。

 既に確認したように、まず、図書館間の資料の重複率を過少に評価してしまう要因として、

  1. ISBNコードが付与されていない図書が存在する場合
  2. ISBNコードが誤入力されている場合

等が想定される注1。逆に、重複率を過剰に評価してしまう要因としては、

  1. シリーズ物の書誌レコードに散見されるように、特定の(物理的に独立した)資料について、複数のISBNコードが付与されている場合
  2. 資料の内容は同一であるにも拘らず、装丁や出版国等が異なるものが存在するといったような理由により、複数のISBNコードが付与されている場合

等が想定される 。但し、(d)については、版が異なる場合は言うまでもなく、版が同一である場合であったとしても刷りが異なれば、内容自体が改変されるといった例も見られることから、メタデータとしての書誌情報のみによって、その同一性を確定することは困難であると言える。

 さて、以上のような要因を排除して、より精密な評価結果を得るためには、ISBNのみに依拠することなく、書名、著者名といった他の書誌項目を同一性の判断基準として含めることが望ましい。しかしながら、ISBNを照合キーとした際にはほとんど問題とはならないが、文字列照合を行う際には、比較・対照されるべき図書館の目録データベースが採用している文字コード(符号化方式)や文字セット(文字集合)の相違から派生する種々の技術的問題に対処しなければならないこととなる。

 本研究において、ISBNのみを照合キーとしたのは、そうしたバイアスを除去するためのコストと、積極的にバイアスを除去しなかった場合に含まれることが予想される誤差とのトレードオフを評価して、後者が比較的矮小であると判断したためであるが、今後、他の書誌項目を照合キーとして用いようとする際に惹起される種々の問題を認識しておくことは有効であると考えられる。なぜならば、そうした問題を適切に処理できなかった場合、ISBNのみを照合キーとした場合よりも、精度の劣る評価結果をもたらす可能性が高いからである。

 そこでここでは、国立国会図書館洋図書データにおける文字コードや文字セットに関する状況について概観した後に、他の大規模データベースの書誌事項との文字列照合を行うことを想定した場合の問題を確認する。


2. 国立国会図書館洋図書蔵書データにおける文字コードの概観


(1) 文字コードについて

 国立国会図書館における洋図書蔵書データでは、文字コードとしてEUC-JPを採用している。

 EUCとは、Extended UNIX Codeの略であり、1985年、日本語UNIXシステム諮問委員会によるUNIX上で日本語を扱うための文字コードに関する提案(「UNIX システム日本語機能提案書」)に基づいて、米AT & Tが規定した文字コード(符号化方式)の一種である。EUCは、各国語版への拡張が可能となるよう仕様が定められており、日本語版に限らず、韓国語版のEUC-KR、中国語版のEUC-CN、台湾版のEUC-TWなども存在する。

 EUC-JPは、EUCの符号化方式にしたがって、ASCII(American Standard Code for Information Interchange)とJIS X 0208注2といった文字セットを配置したものであり、UNIX系OSの内部コードとして用いられている。WindowsやMac OSの文字コードであるShift-JISと並んで、代表的な日本語文字コードとして認知されている。

 EUCは、米国議会図書館目録データベースで採用されている文字コードの一つであるMARC-8と同様に、ISO/IEC 2022注3に準拠した符号化方式である。ISO/IEC 2022とは、文字コード表の切り替え方式に関する国際標準規格であり、端的に言えば、数多くの文字集合を7ビット、もしくは、8ビットのみで表現するために、全く同じコード・ポイントに複数の文字を重複して割り当ててあり、エスケープ・シーケンスやシフト・コードを用いて、文字コード表を動的に切り替えることによって、同一のコードで異なる文字を表示することを可能にしたものである。EUCはISO/IEC 2022の8ビット方式を採用している。

 ちなみに、こうしたアプローチと対称的なのが、後述するUnicode(またはISO/IEC 10646注4)である。Unicodeでは、16ビット、あるいは、32ビットといった広大な文字コード空間を確保しておき、一つのコード・ポイントに一つの文字を対応させることによって、世界中で通用する普遍的な文字コード系を指向している。

 さて、EUC-JPの長所としては、コードによる文字種の識別が容易であり、文字列処理等を伴うプログラミングとの親和性の高い点が挙げられる。表 付2-1は、EUC-JPにおける「文字種」、「構造」、「コード範囲(16進数表記)」、「長さ(バイト数)」の対応関係を示したものである。

表 付2-1 EUC-JPにおける文字種とコードの対応関係1)

文字種構 造コード範囲長 さ
ASCIIASCII0x21〜0x7e1バイト
JIS第一/二水準漢字JIS X 02080xa1〜0xfe+0xa1〜0xfe2バイト
半角カナSS2 + 半角カナ0x8e+0xa1〜0xfe2バイト
JIS補助漢字SS3 + JIS X 02120x8f+0xa1〜0xfe+0xa1〜0xfe3バイト

 この表からも看取されるように、ASCII文字のコード・ポイントは0x21〜0x7eに固定されており1バイト、JIS第一水準漢字とJIS第二水準漢字は0xa1〜0xfeのうち2バイトを使って表現されている。「SS2」と「SS3」はシフト・コードであり、文字コード表を一時的に切り替えるために用いられる(ISO/IEC 2022で規定されているエスケープ・シーケンスはEUCでは用いられない)。したがって、「SS2(0x8e)」の直後の1バイトは半角カタカナであり、「SS3(0x8f)」に続く2バイトはJIS補助漢字であるということが分かる。


(2) 文字セットについて

 国立国会図書館における洋図書蔵書データの文字セットはJIS X 0208の範囲内であるが、海外で刊行された洋図書のアルファベット表記については、原則として、基本ラテン(Basic Latin)、及び、それに類する記号類のみを用いている(国内刊行洋図書については後述する)。したがって、洋図書の書誌レコードにおいて頻出する拡張ラテン(Extended Latin)については代替文字を、キリル文字(Cyrilic)、ギリシャ文字(Greek)等については、基本ラテンに翻字した上で必要に応じて代替文字を用いて対応している。以下にその例を示す。

 図 付2-1は、フランス国立図書館(Bibliotheque Nationale de France)の所蔵目録データベースであるCatalogue BN-OPALE PLUS(http://catalogue.bnf.fr/)の検索結果の一例である。ISBNからも分かるように、これはフランス語の資料であるので、そのレコード中には、「e」や「c」のようにアクサン・テギュやセディーユといったダイアクリティカル・マーク(diacritical mark)注5の付与された文字が用いられている。但し、Catalogue BN-OPALE PLUSで使用されている文字コードは、ISO-8859-1(Latin-1)注6であるため、その文字セットに含まれないものについては、やはり代替文字が用いられている。上記のタイトル・フィールド(Titre(s))には、本来、小文字のリガチャー(ligature)注7である「?」が出現するのだが、これはISO-8859-1に含まれていないため、「o e」によって置き換えられていることが分かる。

図 付2-1  フランス国立図書館目録データベースのレコード例


表 付2-2 フランス国立図書館と国立国会図書館における拡張ラテンの表記の比較

「タイトル」の表記
BN-OPALVerhaeren : biographie d’une oeuvre / Jacques Marx
NDL 内部データ形式Verhaeren : biographie d’une oe「&」uvre / Jacques Marx
NDL-OPACVerhaeren : biographie d’une oeuvre / Jacques Marx
「出版者」の表記
BN-OPALAcademie royale de langue et de litterature francaises
NDL 内部データ形式Acad「A」emie Royale de langue et de litt「A」erature fran「C」caises
NDL-OPACAcademie Royale de langue et de litterature francaises

 さて、表 付2-2は、図 付2-1に示した書誌データのうち、「タイトル」及び「出版者」について、フランス国立図書館と国立国会図書館の拡張ラテンの表記の相違を比較対照したものである。但し、国立国会図書館については、本調査で用いたデータ(国立国会図書館内部システムである統合書誌データベースにおけるデータ形式)における表記だけでなく、NDL-OPAC(http://opac.ndl.go.jp/)の出力結果も併せて示している。

 まず、国立国会図書館内部でのデータ形式について見ると、リガチャーである小文字の『?』が『oe「&」』によって置き換えられ、ダイアクリティカル・マークの付与された文字については、それぞれ、『e』→『「A」e』、『c』→『「C」c』となっていることが分かる。一方、NDL-OPACでは、ダイアクリティカル・マークを付与しない元のアルファベットによって代替され、リガチャーについては、文字を分離して表示している。

 以下にもう一件、キリル文字を含む書誌レコードの例を示す。キリル文字は、ロシア語だけではなく、ウクライナ語、セルビア・クロアチア語、ブルガリア語、ベラルーシ語、マケドニア語といったスラブ系の諸言語と、旧ソビエト連邦に属したカザフ語、キルギス語、タタール語等の諸民族の言語にも用いられている。したがって、一概にキリル文字といっても、言語圏によって用いられるアルファベット集合は異なっているし、同じアルファベットであっても発音が異なる場合がある。

図 付2-2  ロシア国立図書館目録データベースのレコード例


 また、単に固有のアルファベットが用いられているというだけではなく、西欧諸語における「R」と同じ発音のアルファベットが、キリル文字では「P」で表現されるといった例に見られるように、同じアルファベットが異なるアルファベット(キリル文字)として用いられる場合も多い。以上のようなことから、文字列照合の際には、単に、文字セットや文字コードの異同について精通しているというだけでなく、言語そのものの状況についても充分に留意することが必要である。

 さて、図 付2-2は、ロシア国立図書館(Russian State Library: Российская государственная библиотека)の所蔵目録データベース(http://aleph.rsl.ru/)の検索結果の表示画面の一部である。これはロシア語の資料であり、キリル文字で記述されている。ちなみに、このデータベースでは文字コードとしてUTF-8を採用しており、インターフェースはデフォルトのロシア語だけでなく、英語表示を選択できるようになっている。

 表 付2-3は、表 付2-2と同様に、「タイトル」及び「著者名」について、ロシア国立図書館と国立国会図書館のキリル文字の表記の相違を比較対照したものである。ちなみに、このタイトルを英訳すると「National Relation Dictionary」となる。民族問題や人種問題を扱った辞書とのことである。

表 付2-3 ロシア国立図書館と国立国会図書館におけるキリル文字の表記の比較

「タイトル」の表記
RSL-OPACНациональные отношения Словарь
NDL 内部データ形式Na「I」t「J」sional「’」nye otnosheni「I」i「J」a : slovar「’」
NDL-OPACNatsionalnye otnosheniia : slovar
「著者名」の表記
RSL-OPACВ. Л. Калашникова
NDL 内部データ形式V.L. Kalashnikova
NDL-OPACV.L. Kalashnikova

 ここで、タイトル・フィールド中に出現する「Национальные」と「отношения」の二語について、キリル文字をどのように翻字しているのか、その対応関係を逐一見ていくと以下の表のようになる。

RSL-OPACНАционалЬные
NDL MARCNA「I」t「J」sional「’」nye
NDL-OPACNAtsional nye

RSL-OPACотношениЯ
NDL MARCotnosheni「I」i「J」a
NDL-OPACotnosheniIa

 これによれば、『a』、『e』、『o』、『t』のように、同一のアルファベットが用いられる場合もあるが、『и』→『i』、『л』→『l』、『ы』→『y』、『ш』→『sh』のように、キリル文字固有のアルファベットを、われわれにとって既知のアルファベットで置き換えるものも多い。このほか、『H』→『N』のように、西欧諸語とキリル文字とで共通するアルファベットが異なる文字として用いられるもの、あるいは、


 『ц』→『「I」t「J」s』、『я』→『「I」i「J」a』


のように、キリル文字固有のアルファベットを代替表現によって置き換えたものなどが混在している。また、NDL-OPACで表示される場合は、国立国会図書館内部でのデータ形式において出現する代替表現のうち、カギ括弧(「 」)で括られた文字のみを削除していることが分かる。

 以上に見たような、異なる文字セット間での文字の置き換え作業を行うために、国立国会図書館では、「アルファベット置き換えリスト」や「キリル文字・ギリシャ文字翻字リスト」、及び、それらを運用するための「各種文字取扱い」等の諸規則を定め、それに基づいて、拡張ラテン、キリル文字、ギリシャ文字等を基本ラテンによって表現することを可能にしている。参考のために、本章末に「ギリシャ文字 翻字リスト」、及び、「キリル文字 翻字リスト(抜粋)」を転載した。

 さて、以上は、国立国会図書館洋図書蔵書データのうち、海外で刊行された洋図書の例であったが、一方で、全体から見れば僅かではあるが、国内で刊行された洋図書も存在している。これらについては、原則としてキリル文字を含む書誌レコードならばキリル文字を、ギリシャ文字を含む書誌レコードならばギリシャ文字をそのまま入力することとされており、翻字形については、読みのフィールドに入力することで対応している。但し、JISコードに含まれないもの(拡張キリル、拡張ギリシャ等)については、やはり外字扱いとしている。


3. 文字コードの異なる目録データベース間における書誌同定


(1) 海外の国立図書館の蔵書データにおける文字コードの概観

 本研究では、国立国会図書館の図書館情報学関係洋図書の蔵書評価のために、米国議会図書館における所蔵リスト、及び、中国国家図書館における所蔵リストを用いたチェックリスト法を採用した。米国議会図書館の蔵書データの文字コードはMARC 8、及び、UTF-8であり、中国国家図書館においても、やはりUTF-8を採用している。

 UTF-8(Unicode Transformation Format, 8-bit form)とは、上述したUnicodeにおける符号化方式の一種である。世界中には様々な言語や文字が存在しており、それらに対応するためには、様々な文字セットや文字コードを用いなければならず、互換性もない。1980年代頃から、こうした状況を改善すべく、文字コードの国際化(internationalization: i18n)注8が指向されるようになった。当初、Xerox等によって提唱されたUnicodeと、国際標準化機構(ISO)注9による規格(ISO/IEC 10646)とが並存していたが、1991年以降、両者が文字レパートリーの統合、及び、協調的な開発を推進するようになった。現在では、両者は概ね同一のものとみなされているが、厳密には異なっている2)

 現在、Unicodeの開発・普及については、1991年に、Apple、IBM、Microsoft、Sun Microsystems等の米国の情報関連企業が中心となって設立したNGOであるユニコード・コンソーシアム(Unicode Consortium)注10が行っている。一方、ISO/IEC 10646は、ISO/IEC JTC1/SC1/WG2(Working Group 2 of Subcommittee of the Joint Technical committee 1 covering Information Technology of ISO and IEC) 注11が担当している。また、上記のような経緯から、Unicode標準に新たな文字を追加するためには、ユニコード技術委員会(Unicode Technical committee: UTC)だけではなく、WG2の承認も受ける必要があり、現在でも、規格化待ちの文字が数多く存在している。さらに、UTCは、ワールド・ワイド・ウェブ・コンソーシアム(W3C) 注12等とともに、WG2のリエゾン会員となっている。

 さて、UTF-8は、Unicodeの符号化方式の一つであるが、本来、Unicodeにおける符号化方式では2バイト(オクテット) 注13、あるいは、4バイト(オクテット)固定長で1文字を表現しようとしていたのに対して、UTF-8では1文字を1〜6バイトの可変長数列で符号化し、理論上、31ビットの文字を統一のコード系で表現することを可能にしている。

 表 付2-4は、UTF-8における1バイト(オクテット)ごとの、ビットパターンを2進数で表記したものである。

表 付2-4 UTF-8におけるビットパターン


 このような符号化方式のため、以下のような利点が生じることとなる。

  1. ASCIIの128文字はASCIIのままエンコードされるため、ネットワーク環境や既存のシステムとの親和性が高い。
  2. 1バイト文字の先頭ビットは必ず0から始まり、2バイト以上の文字の先頭ビットは必ず1から始まるため、1バイト文字と多バイト文字の判別が容易。
  3. 2バイト以上の文字の先頭バイト中の上位ビットの1の数で、その文字が何バイト文字であるのかが判別可能。

 その一方で、文字レパートリーの大きいCJKの文字を表現するのに、3〜4バイトが費やされており、既存の文字コードでは2バイトで表現されていた日本語であっても3バイトとなるため、データ・サイズが長くなってしまうといった難点も指摘される。

 一方、MARC-8は、米国議会図書館が採用しているMARC 21形式の書誌データにおいて用いられる文字コードである。ASCIIのほか、拡張ラテンを扱うANSEL(American National Standard for Extended Latin Alphabet Coded Character Set for Bibliographic Use: ANSI/NISO Z39.47)や東アジア地域の言語を扱うEACC(East Asia Coded Character for Bibliographic Use: ANSI/NISO Z39.64)といった国内規格にしたがっており、上述したEUC-JPと同様に、7ビット及び8ビットにおける文字コードを拡張するための技術であるISO/IEC 2022を用いて、数多くの文字を表現することを可能にしている3)


(2) 他の国立図書館の書誌データとの文字列照合について

 さて、ここまで、異なる図書館間の蔵書データについて、ISBN以外の書誌項目を照合キーとする際の、文字コードや文字セットに関する現状と問題について概観してきた。但し、一般に、特定の目録データベースにおいて用いられる文字コードは既知であるから、未知の文字コードを自動判別するといった煩瑣な手続きを踏む必要はない。

 その一方で、第3章第2節で概観したように、当該データベースの文字セットに含まれない文字について、翻字・代替文字を用いている場合は、やや状況が困難なものとなる。幸いにも、国立国会図書館の洋図書データベースで用いられている代替文字がMARC-8においてどのように表現されるのかについては、文字コード・ベースのマッピング・ルール(→「NDL代替文字(MARC21)変換表」)が存在しており、変換を容易なものとしている。また、MARC 21の仕様書の中では、MARC-8とUTF-8の文字コードの対応表が記載されているから、それらを活用すれば、今回、比較・対照した三つの国立図書館(NDL、LC、中国国家図書館)間における蔵書データの文字列照合は決して困難なものではないかも知れない。

 ここでむしろ問題となるのは、特定の書誌レコードを照合した際に見られる、表記のゆれや誤入力をどこまで吸収することができるよう設計するのかという点にあると言える。例えば、ISBNの場合は、10桁(あるいは13桁)固定長数列であり、「4-09-157331-2」と「4091573312」のように、ISBN内の四つのパートを識別するためのデリミタである「−(ハイフン)」の存在だけを考慮すれば良い。しかしながら、文字列照合の場合、完全一致を条件とすると、本来、同一であるはずの書誌レコードの多くを異なるものと判定してしまう可能性が高い。

 これまで、引用索引データベース等への応用を想定して、全文データから、引用文献や参照文献を抽出し、その表記形式のゆれを統合して、書誌を同定するといった研究蓄積は存在するものの4), 5), 6)、異なる言語圏における大規模な書誌データベース間の書誌レコードの表記のゆれについて、どこまでを同一の書誌として同定するのか、あるいは、そのための技術に関する研究はほとんど行われていないと言って良いだろう。もちろん、現実には、ISBNによる同定と文字列照合による同定とを併用するべきであるのだが、両者の照合結果を比較することによって、同じ書誌レコードとみなすべき表記のゆれの範囲を確定するといった分析は、この種の問題を扱う際に有効な情報源となることであろう。


ギリシャ文字翻字リスト(国立国会図書館書誌部書誌調性課作成資料)

キリル文字翻字リスト(国立国会図書館書誌部書誌調性課作成資料)

※クリックすると、別ウィンドウでリストをご覧いただけます。


引用文献

1) 深沢千尋『文字コード超研究』東京,ラトルズ,2003,614p.

2) トニー・グラハム『Unicode標準入門』乾和志;海老塚徹訳.東京,翔泳社,2001,455p.

3) Libray of Congress. “Character Sets: Part1 MARC-8 Environment”. MARC 21 Specifica-tions for Record Structure, Character Set, and Exchange Media.

4) Steve Lawrence., C. Lee Giles, Kurt Bollacker. “Digital Libraries and Autonomous CitationIndexing. IEEE Computer, Vol.32, No.6, 1999, p.67-71. 

5) 岡田崇, 高須淳宏, 安達淳. “SVM/HMMによる引用文献データの同定”. 情報処理学会研究報告, 2004-FI-74, 2004-DD-43, 2004, p.79-86.

6) 伊藤敬彦, 堀部史郎, 新保 仁, 松本 裕治. “複数尺度を用いた参考文献の同定”. 情報処理学会研究報告, 2003-DBS-130, 2003-FI-71, 2003, p.181-188.



注1 このほか、国立国会図書館では、シリーズ物の書誌の場合、後続刊行の巻号が出た際に、最初に作成した書誌に追記をするが、ISBNについては追記を行わない慣習があったことから、ISBNコードが存在するにも拘らず、書誌データは入力されていないといったケースも存在するとのことである。

注2 正式名称は「JIS X 0208:1997 7ビット及び8ビットの2バイト情報交換用符号化漢字集合」

注3 正式名称は「ISO/IEC 2022:1994 Information technology — Character code structure and extension techniques」

注4 正式名称は「ISO/IEC 10646:2003 Information technology — Universal Multiple-Octet Coded Character Set (UCS) 」。同規格は、我が国では、JIS X 0221として規格化されている。

注5 ダイアクリティカル・マークとは、ラテン文字のうち、字形は同じであるが、発音が区別される場合に付与される記号であり、「発音区分符」などと訳される場合がある。フランス語のアクサンやドイツ語のウムラウト等がその代表的なものであり、我が国における濁音符「゛」や拗音符「゜」に近いと言える。

注6 正式名称は「ISO/IEC 8859-1:1998 Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1」

注7 リガチャーとは、ドイツ語の「ss」→「s」(エスツェット)等のように、複数の文字が一つとなった文字であり、一般に「合字」と訳される。

注8 「国際化」の対義語は「地域化(localization: l10n)」である。

注9 International Organization for Standardization. < http://www.iso.org/ >

注10 Unicode, Inc. < http://www.unicode.org/ >

注11 ISO/IEC JTC1/SC2/WG2 < http://std.dkuug.dk/jtc1/sc2/wg2/ >

注12 World Wide Web Consortium. < http://www.w3.org/ >

注13 Unicodeでは、厳密には、8ビット=1バイトではなく、8ビット=1オクテットと定義している。