標準報告書(TR)   TR X 0108:2005

日本語検索機能記述のための指針

Guideline for description of Japanese searching functionality



序文

この標準報告書(TR)は,日本規格協会 情報技術標準化研究センター 将来型文書統合システム調査研究委員会の調査研究をもとに,工業標準化の促進に関して特に重要と判断される技術情報をまとめ,標準報告書(TR)として公表するものである。

1. 適用範囲

この標準報告書(TR)は,日本語文字列検索を実行可能な情報処理システムにおいて,利用者が入力した索引語から,それと同じ文字列を含むデータを検索する場合にどのような規則を用いて,同じとみなしているかの仕様を記述する指針を与えるものである。意味内容による検索(主題検索)は,対象としない。

2. 背景

情報処理システムの利用が一般化し,図書館での資料検索,インターネットでの情報検索など,一般利用者も日常的に検索システムを用いるようになった。索引語を入力して,それと同じ文字列を含むデータを検索する場合,“同じ”とみなすための規則を正確に知らないと,目的のデータがあるのに見つけられなかったり,無駄な検索を何度も繰り返すことになる。例えば,ある検索システムで平仮名と片仮名とを同じとみなすかどうかを知らないと,“ぱそこん”という索引語に対して“パソコン”が検索できるのかどうかわからないため,同じとみなさないシステムで“ぱそこん”だけを入力して“パソコン”というデータがあるのに見つけられなかったり,同じとみなすシステムで両方を入力して無駄な検索をしてしまったりする。

このような検索漏れ及び無駄検索の問題をなくすために,利用手引書などで仕様を明確に記述することが望まれる。その際,どういった事項を記述すればよいかを,この標準報告書(TR)は,列挙する。この標準報告書(TR)の指針に従って,利用手引書,ヘルプなどに仕様記述を行って利用者に周知することで,利用者は,検索漏れがなく,無駄のない問い合わせを実行することが可能になり,情報検索システムの利便性が向上する。

日本語文字列検索仕様が不明確であると,検索漏れ又は無駄検索が生じる。そのような例を次に示す。

a) 異体字の問題
“齋藤”という姓の人名を検索する際,“斎藤”と入力しても同じとみなされるのか。

b) 漢字,平仮名,片仮名及びローマ字の間の相互変換の問題
“規格”と“きかく”とは同じとみなされるのか。

c) 表記のゆれの問題
例1“デジタル”と“ディジタル”とは同じとみなされるのか。
例2“サーバー”と“サーバ”とは同じとみなされるのか。

d) 記号類の取扱いの問題
“C#.NET”と“CNET”とは同じとみなされるのか。

e) 文字符号体系の差異
“5”(1バイトの文字符号)と“5”(マルチバイトの文字符号)とは同じとみなされるのか。ただし,幅狭の文字(いわゆる半角文字)は1バイトの文字符号,幅広の文字(いわゆる全角文字)はマルチバイトの文字符号で表されるとする。

3. 定義

3.1 検索
データベースに蓄積された情報を探し引き出すこと。このTRでは,更に狭義に,“索引語”を検索システムに入力して問い合わせると,検索システムから索引語に対応した情報の一覧が出力されるという一連の処理をさす。ここでは検索(retrieve)及び探索(search)は同義として取り扱い,検索という語を用いる。

3.2 検索システム
検索を行う情報処理システム。

3.3 索引語
問合せにおいて,検索対象として,検索システムに与える文字列。一般に,利用者は,端末画面上の索引語入力フィールドにキーボードから入力し,“検索”などのボタンを押して検索を実行する。

3.4 日本語文字列検索規則
日本語文字列の検索において,索引語とデータベースに格納されている文字列との照合を行った際,両者が同じとみされる判断の規則。ここで,“同じとみなされる”とは,検索条件に合致することをいう。一般に“ヒットする”又は“一致する”ともいう。

4. 日本語検索機能記述項目

この箇条は,この標準報告書(TR)の中心を成すものであって,日本語文字列検索規則を記述する場合に,どのような項目を記述すればよいかを列挙する。検索システムの実装者は,この箇条に示す項目を実装するか,しないか,実装する場合どのような仕様とするかを検討し,設計仕様書,取扱い説明書,利用手引書,ヘルプなどに仕様を記述する。

4.1 使用する文字集合に関する記述項目

無駄のない正確な検索をするためには,使用できる文字の範囲を明らかにする必要がある。

4.1.1 文字集合名

索引語に使う,又はデータベース中のデータに使われている,文字集合が何であるかを記述する。文字符号名と付加的な情報とで記述するとよい。UNICODE Version 3.0,JIS X 0208:1999,JIS X 0201:1997などの記述を行う。付加的な情報として,第1水準だけ,基本多言語面だけなどの情報を含める。規格番号で参照するときは,版によって,文字の追加,削除又は入換えがある場合があるので,使用している版も記述する。複数の文字符号を使用する場合,例えば,データベース中の符号化文字集合と索引語の符号化文字集合とが異なる場合,それらの変換規則についても記述する。

4.1.2 使用文字及び非使用文字

データベースに使用されている文字集合を指定したとしても,データベース作成時の入力規則として,使用禁止の文字が存在する。例えば,ローマ数字のT,U,Vは使ってはならず,“数学U”(ローマ数字のU)は,“数学II”(アルファベットのIを二つ)とデータベース入力しなければならないといった入力規則がある場合がある。

4.1.3 1バイト文字符号及びマルチバイト文字符号

日本では,いわゆる1バイト文字符号及びマルチバイト文字符号を混在して使用してきた経緯がある。1バイト文字は,パーソナルコンピュータでの実装上は,いわゆる半角文字であり,片仮名・アルファベット・数字・記号を表すことができる。マルチバイト文字はいわゆる全角文字であり,1バイト文字で表すことのできる文字・記号を含んでいる。索引語として受け付けるのか,同じ文字に対する1バイト文字符号とマルチバイト文字符号とを同じとみなすのか,同じとみなす場合その相互変換規則はどのようであるかを記述する。

JIS X 0201の8ビット符号化文字集合では,16進の21〜7Eにアルファベット・数字・記号があり,16進のA1〜FEの範囲に片仮名(日本語表記のための記号を含む。)があるが,この片仮名が使用可能であるかどうかを,記述する。

さらに,索引語入力フィールド中で利用することができる,検索演算のための特定の記号類について,1バイト文字符号とマルチバイト文字符号とを区別するかどうかも,演算子の使用方法の箇所などで別途記述する。例えば,“ ”(スペース),“&”,“AND”,“|”,“OR”,“!”,“NOT”などについてである。

4.1.4 スペース

スペース(“ ”)を索引語の一部として扱う,索引語の区切り子として扱う,又はスペースを無視するなど,スペースの扱いについて記述する。1バイト文字符号のスペースとマルチバイト文字符号のスペースとを区別して扱っているのかどうかについてもを記述する。索引語の一部としてスペースを使用したいときにどのように入力すればよいかについて記述する。例えば,2重引用符(“"”)で囲まれた文字列中のスペースは文字列の一部として扱うなどの規則がある場合など。

4.1.5 正規化

UNICODEのノーマライゼーションフォームの使用など,文字符号正規化の規則を使用していれば,それを記述する。

1バイト文字符号とマルチバイト文字符号との間の正規化,例えば,1バイト文字符号で“カ”に続けて“゛”(濁点)を入力した場合,マルチバイト文字符号で“ガ”にするのかどうかといった規則についても記述する。マルチバイト文字符号同士での表記のゆれの正規化についても,あれば仕様を記述する。

4.1.6 外字

外字を使用しているかどうかを記述する。外字を使用している場合,外字の一覧表を提示する方法及び外字を含むデータを検索する方法を記述する。外字を使用していない場合,外字を使わなければ表せないデータはどのように表されているのかを記述する。人名,地名,その他の固有名詞,又は古語は,外字を使わなければ表せない場合が多くある。

4.2 表記上のゆれに関する記述項目

4.2.1 平仮名・片仮名・ローマ字

日本語の場合,同じ発音の文字列を,平仮名,片仮名,ローマ字,漢字で表すことができるが、平仮名と片仮名とを同じとみなすかどうかを,さらにローマ字を同じとみなすかどうかを記述する。同じとみなす場合,比較的単純に相互変換が可能であるが,完全な1対1対応とはなっていないため変換規則を明示する必要がある。

4.2.2 漢字及び読み

漢字の場合,読みがあり,読みについてどのように扱っているのかを記述する。例えば,すべてのデータに対して平仮名で読みデータが付与され,データベースに格納されたデータがあり,平仮名による読みを使っても検索できるといった機能の仕様を記述する。

4.2.3 異体字

異体字の取扱い仕様について記述する。例えば,“齋藤”という姓の人名を検索する際,“斎藤”と入力して一致するかどうかなど。異体字のための前処理が行われているか,又は単に文字符号の比較だけで判定しているのかについて,特に前者の場合は,詳細仕様を記述する必要がある。

4.2.4 片仮名での日本語表記

片仮名の長音(“ー”)(例:“サーバ”及び“サーバー”),小さい片仮名(“フィルム”及び“フイルム”)などによる表記のゆれの処理について仕様を記述する。“バイオリン”及び“ヴァイオリン”など片仮名で外来語を表記する場合にはかなりの表記のゆれが存在するので注意が必要であり,システムが何らかの処理をしている場合はその仕様を記述する。長音記号として“ー”(長音記号)だけでなく“−”(ハイフン,マイナス)も許容している場合はその旨記述する。

4.2.5 平仮名・漢字での日本語表記

長音,拗音,促音,音便など,表記上の規則は様々にあり,システムが何らかの処理をしている場合はその仕様を記述する。

送り仮名,文法的な規則など,システムが何らかの処理をしている場合はその仕様を記述する。

4.2.6 記号類

索引語中に文字とみなされる記号類を含めても検索できるかどうかを記述する。例えば,図書のデータベースでは,書名データには記号類を含んでいるが,検索時には,索引語中の記号類をすべて無視して,純粋な文字だけの文字列にいったん変換したものを索引語として検索エンジンに渡すような場合が多い。例えば,“.NET”(ドットネット)の付く書名を検索したい場合“.”(ピリオド)が無視されるためそのような検索は行えず,“NET”が付く書名がすべて一致するといった事態が生じる。利用者は,このような記号類の使用に関する規則を正確に知らないと,正しい検索ができない。

4.2.7 アルファベット

アルファベットは,外国語表記及び日本のローマ字表記に使用される。大文字・小文字の別などの仕様を記述する。

4.2.8 ローマ字

ローマ字を含む検索では,ローマ字表記法の仕様を記述する。学術文献データベースなどでは,索引語としては,著者名などをすべてローマ字で入力するようなシステムがあるが,その際,ローマ字表記法にばらつきがあると,意図した人名を探せないことなどがある。

4.2.9 算用数字及び漢数字

日本語文字列で数を表す場合,算用数字と漢数字とを同じとみなすかなど,算用数字と漢数字との相互関係について記述する。

4.2.10 外国語

この標準報告書(TR)では外国語の使用については,適用範囲外とするので,実装者が,詳細を検討して記述することが望ましい。図書の書名,著者名など,日本語文字列であっても部分的に外国語文字列が使用されている場合があるから,利用者の検索漏れ及び無駄検索をなくすための配慮が必要である。

4.3 検索の基本的方策に関する記述項目

4.3.1 検索単位

索引語を照合させるために使用する単位が,文字列なのか,単語なのか,又はその他の単位なのかを記述する。

4.3.2 文字列比較

部分一致,完全一致,前方一致,後方一致など,検索のための基本的な文字列比較方法を記述する。それらが利用者によって指定できる場合は,その指定方法を記述する。類似度計算による距離に応じた比較など,完全照合法を使っていない場合には,利用者の索引語入力を助ける。

4.3.3 論理演算,比較演算及び近接演算

“AND”,“OR”,“NOT”などの演算ができる場合,複数の索引語の入力方法及び演算規則について記述する。例えば,ウェブ検索エンジンでは,スペース(“ ”)で区切って複数の語を入力すると,複数の語のOR検索となる。範囲指定又は大小比較をするための比較演算も使用できる場合には,その仕様を記述する。

複数の索引語の出現語順及び出現位置間の距離を指定できる,近接演算をサポートしている場合,その詳細仕様を記述する。

4.3.4 フィールドごとの日本語検索規則の差異

検索は単に書名だけとか著者だけではなく,いろいろな検索条件で検索される。図書データベースの場合,書名,著者名,出版社,出版年,分類コードなどの様々なフィールドがあり,それらのフィールドを使った複合的な検索ができる。そのこと自体は一般的な検索仕様の記述であり,この標準報告書(TR)の内容である日本語検索機能記述の範ちゅう(疇)ではないが,もし,フィールドごとに日本語検索上の仕様の違いがあれば,それらについて記述する。

4.3.5 検索のための統制語表現

データコード,シソーラス,キーワードリスト,標目形(書誌に付与するための統一的な形式)の利用など,日本語文字列を索引語とする検索であるが,文字列の直接の比較ではなく,別の形式に変換してから検索する場合は,その仕様を記述する。

出版社コードなどのように,ある特定の日本語のデータについてコードを割り当てる場合がある。フィールドによっては,索引語をいったんそのようなコードに変換して,検索する場合があり,そのような処理が含まれるときは,その仕様を記述する。図書資料データベースにおける著者名などの場合,標目形への変換規則である典拠ファイルというデータベースを利用し,実際の図書に記述されている著者名ではなく,同一著者に対しては同一表現となる標目形へいったん変換してから,検索を行う場合があるが,その場合には,その仕様を記述する。

学術分類などの場合,シソーラス, キーワードリストなどを作成して,表記ゆれにある程度頑健な,内容的な検索を可能にする場合がある。そのような処理が含まれるときは,その仕様を記述する。