X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(1)
まえがき
この規格は,工業標準化法に基づいて,日本工業標準調査会の審議を経て,経済産業大臣が制定した日
本工業規格である。
制定に当たっては,日本工業規格と国際規格との対比,国際規格に一致した日本工業規格の作成及び日
本工業規格を基礎にした国際規格原案の提案を容易にするために,ISO/IEC 13249-2:2000,Information
technology - Database languages - SQL multimedia and application packages - Part 2:Full-Text
を基礎として
用いた。
この規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権又は出願公開後の実
用新案登録出願に抵触する可能性があることに注意を喚起する。主務大臣及び日本工業標準調査会は,こ
のような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権又は出願公開後の実用新案登録出
願に係る確認について,責任はもたない。
JIS
X
3006-2
には,次に示す附属書がある。
附属書1(参考) ISO/IEC 13249-2:2000,Information technology ― Database languages ―
SQL multimedia and application packages ― Part 2:Full-Text
JIS X 3006
の規格群には,次に示す部編成がある。
JIS
X
3006-1
データベース言語 SQL マルチメディア及び適用業務パッケージ 第 1 部:枠組
JIS
X
3006-2
データベース言語 SQL マルチメディア及び適用業務パッケージ 第 2 部:フルテキスト
JIS
X
3006-3
データベース言語 SQL マルチメディア及び適用業務パッケージ 第 3 部:空間情報
JIS
X
3006-5
データベース言語 SQL マルチメディア及び適用業務パッケージ 第 5 部:静止画像
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(2)
目 次
ページ
序文
1
1.
適用範囲
1
2.
引用規格
1
2.1
標準規格
1
2.2
公的に利用可能な規格
2
3.
定義,表記法及び規約
2
3.1
定義
2
3.1.1
第 1 部で規定する定義
2
3.1.2
第 2 部で規定する定義
2
3.1.3
JIS X 3005 で規定する定義
3
3.1.4
ANSI/NISO Z39.19 で規定する定義
3
3.2
表記法
3
3.3
規約
3
4.
概念
3
4.1
テキストモデル
3
4.2
テキスト識別機能
3
4.2.1
単一語のパターン(形式<語>のパターン)
4
4.2.2
単一句のパターン(形式<句>のパターン)
4
4.2.3
単一語の集合を表現するパターン
5
4.2.4
単一句の集合としてのパターン
6
4.2.5
文脈条件を指定するパターン
8
4.2.6
ブール演算子を含むパターン
9
4.2.7
与えられたテキストに関連する FullText 値の識別
10
4.3
テキスト順位付け機能
10
4.4
言語相
11
4.4.1
多言語テキスト及びパターン
11
4.4.2
ストップワードの扱い
12
4.5
語の正規化
12
4.6
この規格で提供される型及びルーチン
13
4.6.1
公開使用を意図した型及びルーチン
13
4.6.2
定義のための型及びルーチン
13
4.6.3
カテゴリ 1 の Contains メソッドの意味を定義する方法
13
5.
フルテキスト型
14
6.
構造化探索パターン型
14
7.
FullText_Token 型
14
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(3)
8.
SQL/MM フルテキストシソーラススキーマ
14
9.
SQL/MM フルテキスト情報スキーマ
14
10.
SQL/MM フルテキスト定義スキーマ
14
11.
状態コード
14
12.
適合性
14
附属書 A(参考) 処理系定義要素
14
附属書 B(参考) 処理系依存要素
14
附属書 1(参考)ISO/IEC 13249-2:2000
15
JIS C 0068
:1995
(1)
日本工業規格
JIS
X
3006-2
:2003
(ISO/IEC 13249-2
:2000
)
データベース言語
SQL
マルチメディア及び適用業務パッケージ
第 2 部:フルテキスト
Information technology
Database languages
SQL multimedia and application packages
Part 2:Full-Text
序文 この規格は,2000 年に第 1 版として発行された ISO/IEC 13249-2:2000,Information technology -
Database languages - SQL multimedia and application packages - Part 2:Full-Text
について,技術的内容を変更
することなく作成した日本工業規格である。1.∼4.については,原国際規格の同項目を全文翻訳し,5.以降
については,それぞれ原国際規格の同項目の内容を引用するものとした。
なお,この規格で点線の下線を施してある“参考”は,原国際規格にはない事項である。
1.
適用範囲
この規格の適用範囲は,次のとおりとする。
a)
フルテキストの導入
b)
この規格に必要な引用規格の提示
c)
この規格固有の表記法及び規約の定義
d)
この規格固有の概念の定義
e)
フルテキスト利用者定義型及びそれと関連したルーチンの定義
備考 この規格の対応国際規格を,次に示す。
なお,対応の程度を表す記号は,ISO/IEC Guide21 に基づき,IDT(一致している)
,MOD(修
正している)
,NEQ(同等でない)とする。
ISO/IEC 13249-2:2000
,Information technology ― Database languages ― SQL multimedia and
application packages
― Part 2:Full-Text (IDT)
2.
引用規格
次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの
引用規格のうちで,発効年(又は発行年)を付記してあるものは,記載の年の版だけがこの規格の規定を
構成するものであって,その後の改正版・追補には適用しない。発効年(又は発行年)を付記していない
引用規格は,その最新版(追補を含む。
)を適用する。
2.1
標準規格
JIS X 3005-1:2002
データベース言語 SQL 第 1 部:枠組(SQL/Framework)
備考 ISO/IEC 9075-1:1999 Information technology ― Database languages ― SQL ― Part
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(2)
1:Framework (SQL/Framework)
が,この規格と一致している。
JIS X 3005-2:2002
データベース言語 SQL 第 2 部:基本機能(SQL/Foundation)
備考 ISO/IEC 9075-2:1999 Information technology ― Database languages ― SQL ― Part
2:Foundation (SQL/Foundation)
が,この規格と一致している。
JIS X 3005-4:2002
データベース言語 SQL 第 4 部:永続格納モジュール(SQL/PSM)
備考 ISO/IEC 9075-4:1999 Information technology ― Database languages ― SQL ― Part
4:Persistent Stored Modules (SQL/PSM)
が,この規格と一致している。
JIS X 3006-1:2002
データベース言語 SQL マルチメディアおよび適用業務パッケージ第 1 部:枠組
備考 ISO/IEC 13249-1:2000, Information technology -Database languages -SQL Multimedia and
Application Packages - Part 1: Framework
が,この日本工業規格と一致している。
2.2
公的に利用可能な規格
ANSI/NISO Z39.19-1993, Guidelines for the Construction, Format, and Management of Monolingual Thesauri.
3.
定義,表記法及び規約
3.1
定義
この規格では,次の定義を用いる。
3.1.1
第 1 部で規定する定義
この規格では,この規格群の第 1 部で定義しているすべての用語を用いる。
3.1.2
第 2 部で規定する定義
3.1.2.1
上位語(broader term)
階層関係の中で,上位にある用語(例えば,
“SQL”の上位語は,
“データベース言語”)。
3.1.2.2
同格関係(coordinate relation)
用語又は用語のクラスを並置している形式的な関係。
3.1.2.3
階層関係(hierarchical relation)
一方の用語が他方の用語の下位にある二つの用語間又は二つのクラス間の形式的な関係。
3.1.2.4
下位語(narrower term)
階層関係の中で,下位にある用語(例えば,
“SQL”の下位語は,
“SQL/MM”)。
3.1.2.5
優先使用用語(preferred term)
等 価 語 の 集 合 の 中 か ら デ ス ク リ プ タ ( ド キ ュ メ ン テ ー シ ョ ン 用 語 ) と し て 選 ば れ た 用 語 ( 例 え ば ,
“Structured Query Language”に対する優先使用用語は,
“SQL”)。
3.1.2.6
関連語(related term)
同格関係によって他の用語と結びつけられる用語(例えば,
“SQL”に対する関連語は,
“DB2”)。
3.1.2.7
同音語(soundex term)
用語の発音が他の用語と似ているが,異なる形式をもつ用語(例えば,“there”に対する同音語は,
“their”)。
3.1.2.8
同義語(synonym term)
他の用語と全く同じか又は似た意味をもつが,異なる形式をもつ用語(例えば,
“SQL/MM”に対する同義
語は,
“SQL Multimedia and Application Packages”)。
3.1.2.9
最上位語(top term)
階層関係の中で,最も上位の用語。
“計算機言語”が“データベース言語”の上位語であると定義されて
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(3)
いるならば,
“SQL”の最上位語は“計算機言語”である。
3.1.3
JIS X 3005
で規定する定義
この規格では,JIS X 3005 で定義している次の用語を用いる。
3.1.3.1
含む(contain)
3.1.3.2
直に含む(immediately contain)
3.1.3.3
単純に含む(simply contain)
3.1.3.4
SQL
呼出しルーチン(SQL-invoked routine)
3.1.4
ANSI/NISO Z39.19
で規定する定義
この規格は,ANSI/NISO Z39.19 で定義している次の用語を用いる。
3.1.4.1
シソーラス(thesaurus)
3.2
表記法
この規格で用いる表記法は,この規格群の第 1 部で定義している。
3.3
規約
この規格で用いる規約は,この規格群の第 1 部で定義している。
4.
概念
4.1
テキストモデル
この規格の型及びルーチンでモデル化されるテキストは,次のうちの一つを表現する文字の任意の並び
とする。
・ 単一語
・ 語の並び
・ 単一文
・ 文の並び
・ 単一段落
・ 段落の並び
文は,一つ以上の語からなる。段落は,一つ以上の文からなる。
この規格の
FullText
型の値としてモデル化されるとき,テキストの値は特定の言語と関連づけられる。
語,文,及び段落の境界の認識は,主として言語特有の規則,規約及び発見的方法で決定される。与えら
れた処理系によってどの規則,規約及び発見的方法が適用されるかは,処理系定義とする。
4.2
テキスト識別機能
FullText
値の集まりの中で,特定の
FullText
値を識別するために,この規格は,その
FullText
値によ
って表現されるテキストが,あるパターンに一致するかどうか(すなわち,そのパターンがそのテキストの
中に現れるかどうか)を試験する機能を提供する。
テキストと同様に,パターンは,次のうちの一つを表現する文字の並びとする。
・ 単一語(形式<語>のパターン)。
・ 語の集合(ワイルドカード文字を含む形式<語>のパターン,形式<トークンリスト>のパターン, 形
式<語幹>のパターン,形式<展開関数呼出し>のパターン,又は形式<テキスト定数リスト>のパター
ン)。
・ 単一句,すなわち語の並びの表現(形式<句>のパターン)。
・ 句の集合(ワイルドカード文字を含む形式<句>のパターン,形式<語幹句>のパターン,形式<展開関
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(4)
数呼出し>のパターン,又は形式<テキスト定数リスト>のあるパターン)。
・ 語及び/又は句の集合(形式<テキスト定数リスト>のパターン又は形式<展開関数呼出し>のパター
ン)。
・ 二つ以上のパターンの複数の集合で,それぞれの集合が,パターンが単一語若しくは単一句からな
る集合か,又は文脈のパターンから構成される集合のいずれかからなる(形式<近接展開>のパターン
又は形式<文脈条件>のパターン) 。
・ パターン,及び否定,論理積又は論理和を表すブール演算子によって構成されるパターン (形式<
探索式>|<探索項>のパターン,形式<探索項>&<探索因子>のパターン,又は形式 NOT<探索一次子>
のパターン)。
それぞれの語のパターン及び単一句のパターンは,特定の言語と陽に関連づけられるか又は暗に関連づ
けられるかのいずれかとする。
パターンの効果を説明するために,
(firstSample,
secondSample
及び thirdSample として参照される)FullText
型の値の表現として次のテキストの例を用いる。
firstSample:
As assumed by this International Standard, every text value is associated with
a specific language. The recognition of word, sentence and paragraph boundaries
is largely governed by language specific rules, conventions, and heuristics;
it is implementation-defined which of these rules, conventions, and heuristics
are applied by a given implementation.
secondSample:
The test
firstSample.Contains(’ "International" ’) = 1
succeeds since the word International is contained in this text
sample.
thirdSample:
die ≅ Würfel
4.2.1
単一語のパターン(形式<語>のパターン)
単一語のパターンは,最も基本的なパターンで,与えられた言語において語の中に許される文字の並び
からなる。その文字の並びは,次の例のように,先行及び後続の二重引用符で修飾される。
' "International" '
参考 1 上の例で,二重引用符の外側の空白文字は有効ではない。それらは単に,例におけるテキス
トを読みやすくするために付け加えられている。
参考 2 パターンの中で使用可能な<キーワード>のリストは,“5.3.2 FT_Pattern キーワード”で与え
られる。これらの<キーワード>は以降の例において大文字になっているが,これらの<キー
ワード>を含む引数を受け入れるメソッドは,これらの<キーワード>の文字の大文字,小文
字に関わらない。
テキスト値は,語のパターンに一致する少なくとも一つの語を含むならば,その語のパターンに一致す
る。したがって,次の試験は,語
International
が
firstSample
中に含まれているので成功する。
firstSample.Contains(' "International" ') = 1
4.2.2
単一句のパターン(形式<句>のパターン)
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(5)
単一句のパターンは,語の並びを表現する。それぞれの語は,単一語のパターンにおける語と同様に表
現される。与えられた言語での必要性に応じて,処理系定義の語の区切りが用いられる。次の例では,語
の区切りは,空白文字である。単一語のパターンと同様に,単一句のパターンは,次の例のように,先行
及び後続の二重引用符で修飾される。
' "International Standard" '
その並び中のどの語に対しても、その並びの
i
番目の語が単一句のパターンの
i
番目の語と一致するよ
うな語の並びをテキスト値が少なくとも一つ含むならば,そのテキスト値は,その単一句のパターンと一
致する。したがって,次の試験は,語の並び
International Standard
が
firstSample
の中に含まれている
ので成功する。
firstSample.Contains(’ "International Standard" ’) = 1
4.2.3
単一語の集合を表現するパターン
単一語の集合を表現するパターンは,次のうちの一つの方法で指定することができる。
4.2.3.1
ワイルドカード文字を含む形式<語>のパターン
ワイルドカード文字である下線文字(_)又はパーセント(%)を単一語の任意の文字の位置に用いることに
よって,可能性として無限個の単一語のパターンが実効的に指定される。例えば,次の例で,下線文字は,
任意の一つの文字を表現する。
’ "Standard_" ’
したがって,このパターンは,存在する文字の数と同じくらい多くの数の語(必ずしもそのうちのすべて
に意味があるとは限らない)を表現する。ワイルドカード文字は,(空を含む)任意の文字の並びを表現する
ので,このパーセントのワイルドカード文字が用いられるとき,実質的に表現される単一語のパターンの
数は,無限となる。このような単一語のパターンによって実効的に表現される語のパターンの集合のうち
の一つの語と一致する語をテキスト値が少なくとも一つ含むならば,そのテキスト値は,その単一語のパ
ターンと一致する。したがって,次の試験は,パターンが語
Standard
と一致するので(語
Standards
も,
一致することに注意)成功する。
firstSample.Contains(’ "Standard%" ’) = 1
次の試験は,
Standard
で始まり何か他の文字(“s”など)で終わる語が
firstSample
に存在しないので
失敗する。
firstSample.Contains(’ "Standard_" ’) = 1
4.2.3.2
展開機能パターン
展開機能パターンは,
database
のような単一語を表現する開始用語から,単一語(及び/又は単一句)の
パターンから構成される集合を実効的に生成することを可能にする(単一句も,
開始用語として許されるこ
とに注意)。指定されている特定の生成に依存して,生成される用語(すなわち,単一語又は単一句のパタ
ーン)は,次のいずれかでよい。
・ 生成元の用語と同様に聞こえる用語
・ 生成元の用語の上位語となる用語
・ 生成元の用語の下位語となる用語
・ 生成元の用語と同義語となる用語
・ 生成元の用語の優先使用語となる用語
・ 生成元の用語の関連語となる用語
・ 生成元の用語の最上位語となる用語
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(6)
このようなパターンによって実効的に表現される単一語のパターンと一致する語をテキスト値が少なく
とも一つ含むならば,そのテキスト値は,そのパターンと一致する。したがって,シソーラス
computer
science
が
list
と
sequence
とを互いに同義語であると設定しているならば,(同義語展開パターンを用い
ている)次の試験は,成功する。
firstSample.Contains(’ THESAURUS "computer science"
EXPAND SYNONYM TERM OF "list" ’) = 1
参考 この試験は,firstSample 中に
sequence
という語が含まれているならば,成功する。ただし,
実際には,
sequence
という語は,含まれていない。
4.2.3.3
単一語のパターンの列挙(<トークンリスト>及び<テキスト定数リスト>のパターン)
単一語のパターンの列挙は,
次の例のように,
コンマで区切られた単一語のパターンのリストからなる。
’ ( "Standard", "International", "method" ) ’
次の例のように,単一語のパターンのいずれかが,ワイルドカード文字を含んでもよい。
’ ( "Standard", "International_", "method" ) ’
ワイルドカード文字が用いられるとき,パターンによって実効的に表現される語の数は,それを構成し
ている単一語のパターンの数よりも大きい。
このような<トークンリスト>のパターンを構成するパターンのうちの少なくとも一つとテキスト値が一
致するならば,そのテキスト値は,その<トークンリスト>のパターンと一致する。<トークンリスト>のパ
ターンは,<近接展開>のパターンを構成するパターンとしてだけ用いることができる。
4.2.3.4
共通切詰め式を用いて語の集合を表現するパターン(形式<語幹>のパターン)
形式[ STEMMED ] FORM OF <語> のパターンは,実効的に<語>のパターンの集合として扱われ,その
集合のすべての要素は,同じ切詰め式をもつ。例えば,
STEMMED FORM OF ’ "mice" ’
は,
’ ( "mouse" , "mice" ) ’
が指定されたものとして扱われる。
したがって,<語幹>のパターンに等価な<トークンリスト>のパターンとテキスト値が一致するならば,
そのテキスト値は,その<語幹>のパターンと一致する。この条件は,次のように言い換えることができる。
<語幹>のパターンがその切詰め式によって置き換えられるとき,<語幹>パターンによって表現される切
詰め式の結果となる語のパターンに一致する語をテキスト値が少なくとも一つ含むならば,そのテキスト
値は,その<語幹>のパターンと一致する。したがって,次の試験は,
Standards
の切詰め式が
Standard
で,
firstSample
に含まれるので成功する。
firstSample.Contains(’STEMMED FORM OF "Standards" ’) = 1
4.2.4
単一句の集合としてのパターン
句の集合を表現するパターンは,次のうち一つの方法で指定することができる。
4.2.4.1
ワイルドカード文字を含む形式<句>のパターン
単一句のパターンにおいて,ワイルドカード文字を次のように用いてもよい。
・ 構成しているどの語の表現においても,任意のワイルドカード文字を次の例のように用いてもよい。
’ "International Standard%" ’
実効的に,多数の単一句のパターンが次のように生成される。すなわち,生成された語の表現及
びワイルドカード文字を含まない語の表現のすべての可能な組合せが(適当な語の位置を考慮しな
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(7)
がら),結果として生成される単一句のパターンの一つによって反映される。
・ 語の表現の代わりに,単一のパーセント(%)ワイルドカード文字を次の例のように用いてもよい。
’ "this % Standard" ’
このように用いられたワイルドカード文字は,任意の省略可能な語を表現する。したがって,上
記のパターンは,実効的に 2 語の句,すなわち,次の句,並びに this 及び Standard をそれぞれ最初
及び最後の語としてもつ無限の個数の 3 語の句を表現する。
’ "this Standard" ’
ワイルドカード文字を用いるこれら二つの様式は,組み合わせることができる。
ワイルドカード文字を含む単一句から実効的に生成されるパターンのうちの少なくとも一つとテキスト
値が一致するならば,そのテキスト値は,その単一句のパターンと一致する。したがって,次の試験は,
そのパターンが,(数ある中でも)
firstSample
中に含まれる
this International Standard
の語の並びを
表現するので成功する。
firstSample.Contains(’ "this % Standard%" ’) = 1
4.2.4.2
展開機能のパターン
展開機能のパターンは,
data base
のような句を表現する開始用語が与えられると,単一句(及び/又は
単一語)のパターンから構成される集合を実効的に生成することを可能にする(単一語も,開始用語として
受け入れられることに注意)。指定されている特定の生成に依存して,生成される用語(すなわち,単一語
又は単一句のパターン)は,次のいずれかでよい。
・ 生成元の用語と同様に聞こえる用語
・ 生成元の用語の上位語となる用語
・ 生成元の用語の下位語となる用語
・ 生成元の用語と同義語となる用語
・ 生成元の用語の優先使用語となる用語
・ 生成元の用語の関連語となる用語
・ 生成元の用語の最上位語となる用語
このようなパターンによって実効的に表現される単一句のパターンの一つと一致する句をテキスト値が
少なくとも一つ含むならば,そのテキスト値は,そのパターンと一致する。したがって,シソーラス
computer science
が
rule of thumb
と
heuristics
とを互いに同義語であると設定しているならば,(同義
語展開パターンを用いている)次の試験は,成功する。
firstSample.Contains(’ THESAURUS "computer science"
EXPAND SYNONYM TERM OF "rule of thumb" ’) = 1
4.2.4.3
単一句のパターンの列挙(<テキスト定数リスト>のパターン)
単一句のパターンの列挙は,
次の例のように,
コンマで区切られた単一句のパターンのリストからなる。
’ ( "this % Standard", "International Standards" ) ’
それを構成しているパターンの一つがワイルドカード文字を含むならば,この<テキスト定数リスト>の
パターンによって実効的に表現される句のパターンの数は,それを構成している単一句のパターンの数よ
りも大きい。
このような<テキスト定数リスト>のパターンを構成するパターンのうちの少なくとも一つにテキスト値
が一致するならば,そのテキスト値は,その<テキスト定数リスト>のパターンと一致する。<テキスト定数
リスト>のパターンは,<文脈条件>のパターンを構成するパターンとしてだけ用いることができる。
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(8)
<テキスト定数リスト>のパターンは,単一語のパターンと単一句のパターンとの両方を含んでもよいこ
とに注意せよ。
4.2.4.4
共通切詰め式を用いて句の集合を表現するパターン(形式<語幹句>のパターン)
形式[ STEMMED ] FORM OF <句>のパターンは,実効的に,次のように構成される<句>のパターンの集合
SPP
として扱われる。
<語幹句>中に単純に含まれる<句部分表現>
PPRi
の数を
N
とする。
PPRi
が省略可能な語を表現するならば,
1 を
Ni
とする。そうでなければ,
PPRi
の切詰め式を共有する<句部分表現>
WPij
の数を
Ni
とする。
N1
* ...
*
NN
個の<句>のパターンを含む
SPP
を
SPP
とする。
与えられた<句部分表現>
i
に対して,
WPij
の実現値だけがあり,どの
WPij
も,その位置で発生する。例
えば,
’ STEMMED FORM OF GERMAN "Internationale Standards" ’
は,次のように扱われる。
’ ( GERMAN “International Standard”,
GERMAN
“Internationaler Standard”,
GERMAN
“Internationales Standard”,
GERMAN
“Internationalem Standard”,
GERMAN
“Internationale Standard”,
GERMAN
“Internationalen Standard”,
...)
’
したがって,
SPP
の<句>のパターンの一つとテキストが一致するならば,そのテキストは,<語幹句>の
パターンと一致する。この条件は,次のように言い換えることができる。すなわち,<語幹句>のパター
ンの切詰め式によってそれぞれの含まれる語が置き換えられるとき,変換された句のパターンと一致する
少なくとも一つの句をテキスト値が含むならば,そのテキスト値は,その<語幹句>のパターンと一致す
る。ここで,変換された句のパターンは,それぞれの含まれる<句部分表現>をその切詰め式のうちの一
つで置き換えることによって<語幹句>から得られる。したがって,次の試験は,句
International
Standards
が
firstSample
中に含まれるので成功する。
firstSample.Contains(’ STEMMED FORM OF GERMAN
"Internationale Standards" ’) = 1
4.2.5
文脈条件を指定するパターン
文脈条件に対するパターンは,最初に二つ以上の部分パターンの集合を指定する。ここで,それぞれの
部分パターンは,単一語及び/又は単一句のパターンの集合を実効的に指定する。次に,すべての部分パ
ターンがその中で一致しなければならないウィンドウを指定する。
4.2.5.1
<
近接展開>のパターン
<近接展開>のパターンは,次によって特徴づけられる。
1)
第 1 番目及び第 2 番目のパターンで,それぞれ単一語のパターンか又は単一語のパターンの集合の
いずれかを表現。
2)
構成の単位の整数によって指定されるウィンドウ幅で,既定義の単位は,文字,語,文及び段落と
する。
3)
一致が順序どおりであることが要求されるかどうかの標識。
参照目的のために,これらの構成要素は,次の例の中に印されている。
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(9)
’ ( "Standards", "International" ) –-
第 1 番目のパターン
NEAR "language" –-
第 2 番目のパターン
WITHIN 0 --
単位の数
SENTENCES --
単位の種類
IN ORDER -–
一致は順序どおり
)’
次のすべての条件を満たすならば,テキスト値は,<近接展開>のパターンと一致する。
1)
テキスト値が第 1 番目のパターンと一致する。
2)
次のようなテキスト値の部分文字列を SubS とする。
・ 第 1 番目のパターンと一致する部分の最初の文字,又はその最初の文字を含む最初の指定された
単位(文字,語など)で始まる。
・ その長さが,1 に<近接展開>のパターンで指定された単位の数を加えたものである。
3) SubS
が第 2 番目のパターンと一致する。
4)
順序が指定されているならば,第 2 番目のパターンと一致する部分が,第 1 番目のパターンと一致
する部分に先行してはならない。
したがって,次の試験は,
firstSample
の第 1 番目の文が,語
International
及び
language
を含み,最
初の語が第 2 番目の語よりも前に表れるので成功する。テキストは,語
Standard
を含まないが,そのパタ
ーンと一致することに注意せよ。
firstSample.Contains(’ ("Standards", "International" )
NEAR "language"
WITHIN 0 SENTENCES
IN ORDER ’) = 1
4.2.5.2
<
文脈条件>のパターン
<文脈条件>のパターンは,次によって特徴づけられる。
1)
二つ以上のパターン Si で,それぞれ単一語のパターン,単一語のパターンの集合,単一句のパター
ン,単一句のパターンの集合,又は,単一語及び/又は単一句のパターンを要素とする集合のいずれか
を表現。
2)
一つの SENTENCE,又は一つの PARAGRAPH 幅としてもよいウィンドウの仕様。
この表記を用いると,前の箇条の例のパターンは,次のように再定義される。
’ ( "Standards", "International" ) --
第 1 番目のパターン
IN SAME SENTENCE AS --
ウィンドウの仕様
"language" ’ --
第 2 番目のパターン
<文脈条件>のパターンと<近接展開>のパターンとは,お互いに補完し合う。<近接展開>のパターンは,
ウィンドウ及び順序の指定に関して柔軟であるが,二つの部分パターンしか許さない。これに対して,<
文脈条件>のパターンは,指定できるウィンドウに関して制限があるが,与えられたウィンドウ内で三つ以
上のパターンを一致させることを許す。
すべてのパターン
Si
に一致する少なくとも一つの文(段落)をテキスト値が含むならば, そのテキスト
値は,このような<文脈条件>のパターンと一致する。
4.2.6
ブール演算子を含むパターン
4.2.6.1
OR
演算子を含むパターン
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(10)
どんな形式の部分パターンも,次の例のように“|”で区切られた部分パターンのリストを形づくるこ
とによって,新しいパターンに合体できる。
’ "Standard" | "International" | "language" ’
部分パターンのうちの少なくとも一つとテキスト値が一致するならば,そのテキスト値は,このような
パターンと一致する。したがって,次の試験は,
secondSample
が語
International
を含むので成功する。
secondSample.Contains(’ "Standard" | "International" | "language" ’)=1
4.2.6.2
AND
演算子を含むパターン
形式<探索因子>の部分パターンは,次の例のように“&”で区切られた部分パターンのリストを形づくる
ことによって,新しいパターンに合体できる。
’ "Standard" & "International" & "language" ’
部分パターンのすべてと少なくとも一回テキスト値が一致するならば,そのテキスト値は,このような
パターンと一致する。したがって,次の試験は,
firstSample
がそれぞれの語
Standard
,
International
及び
language
を含むので成功する。
firstSample.Contains(’ "Standard" & "International" & "language" ’)=1
4.2.6.3
否定を含むパターン
形式<探索一次子>のパターンは,次の例のように NOT を前につけることによって否定できる。
’NOT "International Standard" ’
NOT という接頭辞がつけられているパターンとテキスト値が一致しないならば,そのテキスト値は,こ
のような NOT を前につけているパターンと一致する。したがって,次の試験は,テキスト
secondSample
が句
International Standard
を含まないので成功する。
secondSample.Contains(’NOT "International Standard" ’) = 1
4.2.6.4
ブール演算子の優先順序
ブール演算子は,次の順序で優先順序をもつ。
・ NOT
・
&
・
|
したがって,次の試験は,テキスト
secondSample
が語
test
を含むが,句
International Standard
を含
まないので成功する。
secondSample.Contains(’ NOT "International Standard" & "test" ’) = 1
優先順序は,部分パターンを囲む括弧を置くことによって優先させることができる。例えば,先の試験
を,NOT に続くパターンを括弧の中に入れるように変更するならば,次の試験は,テキスト
secondSample
が語
test
と句
International Standard
との両方を同時に含まないので成功する。
secondSample.Contains(’ NOT ("International Standard" & "test") ’)=1
4.2.7
与えられたテキストに関連する FullText 値の識別
形式 IS ABOUT <句>のパターンは,処理系定義の方法において,句に“関する”又は関連する
FullText
値の識別を考慮する。パターンを評価するときに,処理系が適用する規準に依存して,次の試験は,成功
又は失敗する。
firstSample.Contains(’ IS ABOUT "International Standard on text
search facilities" ’) = 1
4.3
テキスト順位付け機能
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(11)
テキスト値があるパターンと一致するとき,そのテキストがそのパターンによってどの程度効果的に特
徴づけられているかを示す標識はない。例えば,次のようなパターンに含まれる語の少なくとも一つ(例え
ば,
Standard
)が,少なくとも 1 回テキスト中に現れるならば,そのテキストは,そのパターンと一致する。
’ ( "Standard", "International", "method" ) ’
この試験を行うために用いるメソッド Contains は,このテキスト値中の一致した語数又はこれらの語の出
現回数についての標識を返さない。
この目的のために,この規格は,FullText 型の Rank メソッドを提供する。このメソッドは,次の例のよ
うにテキスト識別のためにも用いることができるどんなパターンもとる。
firstSample.Rank(’ ( "Standard", "International", "method" ) ’)
Rank
メソッドは,関連性の尺度を負でない浮動小数点数として返し,より大きい数ほど,テキスト値(上
記の例では,
firstSample
)と与えられたパターンとの間でのより良い一致を示す,
。テキスト値とパターン
との間の正確な関係,及びそれらと関連づけられる順位値は,処理系定義とする。
4.4
言語相
FullText
型のすべての値は,特定の言語と関連づけられる。同じことが,実効的に,次の形式のパター
ンに対しても保持される。
・ <語>
・ <語幹>
・ <句>
・ <語幹句>
言語情報は,次の目的のために必要とされる。
・ 語,文及び段落の境界の認識。
・ 同じように聞こえる語からなるパターンの集合への語の展開。
・ 切詰め式を用いた一致の認識。
・ ストップワードの扱い。
・ 語の正規化。
4.4.1
多言語テキスト及びパターン
パターンは,次の例のように異なる言語に関連づけられた部分パターンから構成されてもよい。
' ENGLISH "die" & GERMAN "Würfel" '
多言語のパターンは,
非常に有用なこともあり得る。ドイツ語が既定の言語として設定されている場合,
語
die
は,ストップワードとして無視されるが,英語の語として印されているときは,ストップワードと
して無視されることはない。
対照的に,
FullText
型のテキスト値は,単一の言語にだけ関連づけられる。しかし,規格に適合する処
理系は,
FullText
値のテキスト内容が厳密に単一の言語であるように強いる必要はない。その代わり,こ
ういったテキストに関する言語特有の処理は,与えられた
Fulltext
値に関連づけられた言語の規則,慣習
及び発見的方法(それぞれ処理系定義による)に従って行われる。
テキスト値をパターンに対して一致させるとき,
テキストの言語とパターンの言語とが異なっていても,
次の試験のように適切であるとしてもよい。
thirdSample.Contains(' ENGLISH "die" & GERMAN "Würfel" ') = 1
この試験は,
thirdSample
の言語がたまたま英語であり,Würfel が構造上の規準に従って語として受
け入れられるならば,成功する。この試験は,
thirdSample
の言語がドイツ語であり,
die
がストップワー
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(12)
ドとして認識されるならば,失敗する。
die
(すなわち,
the
の女性形)は,多くの場合,処理系定義のス
トップワードの一つになることに注意せよ。
4.4.2
ストップワードの扱い
ストップワードは,テキストを識別する目的では役に立たないという見込みのもとに,テキスト値の中
に現われる語とする。ある語(例えば,
die
)がストップワードとして扱われるべきかどうかは,主として言
語に依存する。論議領域のようなその他の要因も考慮してもよい。
与えられた言語のストップワードの集合は,処理系定義とする。
パターン中のストップワードは,次の規則に従って,テキスト値の識別に影響を与える。
・ 形式<句>又は形式<トークンリスト>のパターンの一部でない限り,
形式<語>又は形式<語幹>のパタ
ーンは,ストップワードを表現してはならない。
・ 形式<トークンリスト>又は形式<テキスト定数リスト>のパターンがストップワードを表現する形
式<語>又は形式<語幹>の部分パターンを単純に含むならば,ストップワードが無視されるか又はエ
ラーを引き起こすかは,処理系定義とする。
・ 形式<句>又は形式<語幹句>のパターン中で離れている二つの語 W1 と W2 との距離が,W1 と W2
との間の連続したストップワードの数に正確に一致するか又は高々一つ超えるかは,処理系定義と
する。後者の場合,ストップワードは,実効的に省略可能な語のように振る舞う。
・ そのうちの幾つかがストップワードを表現する n 個の<句部分表現>を単純に含んでいる形式<句>又
は形式<語幹句>のパターンを P とする。ストップワードが省略可能な語のように振る舞わないなら
ば,テキスト値 text は,次の条件のときに P と一致する。その条件とは,P の i 番目の語がストッ
プワードならば、text のすべての(j+i)番目の語がストップワードであり,そうでなければ,P の i 番
目の語によって一致するような,ある位置(j+1)で始まる n 個の語の連続した並びを text が含むとき
とする。
したがって,次の試験は,firstSample が sentence and paragraph という句を含むので成功する。
firstSample.Contains(’ ( "sentence or paragraph" ) ’) = 1
句が最初若しくは最後の語としてストップワードをもつこと又はストップワードだけから構成さ
れることが許されるかどうかは,処理系定義とする。後者の場合が許されるならば,次の試験は,
firstSample
が三つの連続したストップワードを含むならば(実際にはそうではない),成功する。
firstSample.Contains(’ ( "this and that" ) ’) = 1
4.5
語の正規化
Rank
又は
Contain
のメソッド呼出しを評価するときに,
Rank
又は
Contain
メソッドによって試験又は順
位付けされているテキスト値に含まれる語を実効的に同じ方法で処理するという条件で,この規格に適合
する処理系は,処理系定義の方法で語のパターンを正規化することが許される。
例えば,語のパターン
' "Müller" '
は,次によって置き換えられてもよい。
’ "Mueller" ’
試験の実行前に Müller という語が実効的に Mueller によって置き換えられるので,このパターンは,
Müller
という語の出現を少なくとも 1 回含むどんなテキスト値とも一致する。
正規化は,正規化をしないで観測されるよりも,結果としてより多くの一致が起こる可能性がある。ド
イツ語のテキストにおいて,(Müller とは対照的に)語 Mueller は,その出現確率が低い。Mueller を含むテ
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(13)
キスト値が識別されるべきであっても,望まないテキスト(すなわち,Mueller ではなく Müller を含むテキ
スト)も,結局識別されてしまう。
4.6
この規格で提供される型及びルーチン
この規格で提供される型及びルーチンは,二つの大きなカテゴリに分類される。
a) 1)
公開使用のための型及びルーチン,
b) 2) Rank
メソッド以外のカテゴリ 1 の型及びルーチンの意味を捕えるために用いられる定義向けの型及
びルーチン(“5.3.1 FT_Pattern 型”を参照)。
4.6.1
公開使用を意図した型及びルーチン
次の型及びルーチンは,公開使用されることを意図している。
・ 次のルーチンをもつ FullText 型
・ メソッド Language
・ メソッド Contains
・ メソッド Rank
・ メソッド FullText
・ FullText 値を文字列に型変換するための関数 FullText_to_Character
・ FT_Pattern 型
4.6.2
定義のための型及びルーチン
“4.6.1 公開使用を意図した型及びルーチン”に含まれない他のすべての型及びルーチンは,カテゴリ
1 の型及びルーチンの意味を規定するために用いられる。この規格に適合する処理系は,これらの型及び
ルーチンを公開使用のために提供する必要はない。
4.6.3
カテゴリ 1 の Contains メソッドの意味を定義する方法
可能な限り,
この規格の型及びルーチンは,
JIS X 3005 の機能によって定義される。
カテゴリ 1 の
Contains
メソッドに関しては,その定義は,間接的に行われる。JIS X 3005 の定義機能を用いて,
Contains
メソ
ッドは,
“6. 構造化探索パターン型”の構造化パターンのために定義される。カテゴリ 1 の
Contains
メソ
ッドによって受け入れられる与えられたパターンに対して,その意味は,等価な構造化パターンによって
定義される。例えば,次のパターンは,
'ENGLISH "die" & GERMAN "Würfel" '
次の構造化パターンと等価であり,
NEW FT_Term(ARRAY[NEW FT_TextLiteral('die', 'ENGLISH'),
NEW FT_TextLiteral('Würfel', 'GERMAN')])
今度は,次のような事実によって捕えられ,
NEW FT_Term(ARRAY[NEW FT_TextLiteral(’die’, ’ENGLISH’),
NEW FT_TextLiteral('Würfel', 'GERMAN')]).StrctPattern_to_FT_Pattern()
質問のもとで,幾つかの空白文字を除いて次のパターンと等しいパターンを返す。
' ENGLISH "die" & GERMAN "Würfel" '
最終的に,次の意味は,
thirdSample.Contains(' ENGLISH "die" & GERMAN "Würfel" ') = 1
次の意味によって定義される。
NEW FT_Term(ARRAY[NEW FT_TextLiteral('die', 'ENGLISH'),
NEW FT_TextLiteral('Würfel', 'GERMAN')]).Contains(thirdSample)
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(14)
5.
フルテキスト型 ISO/IEC 13249-2: 2000 の 5. Full-Text Types による。
6.
構造化探索パターン型 ISO/IEC 13249-2: 2000 の 6. Structured Search Pattern Types による。
7.
FullText_Token
型 ISO/IEC 13249-2: 2000 の 7. FullText_Token Type による。
8.
SQL/MM
フルテキストシソーラススキーマ ISO/IEC 13249-2: 2000 の 8. SQL/MM Full-Text
Thesaurus Schema
による。
9.
SQL/MM
フルテキ スト情報 スキーマ ISO/IEC 13249-2: 2000 の 9. SQL/MM Full-Text Image
Information Schema
による。
10. SQL/MM
フルテキスト定義スキーマ ISO/IEC 13249-2: 2000 の 10. SQL/MM Full-Text DefiniItion
Schema
による。
11.
状態コード ISO/IEC 13249-2: 2000 の 11. Status Codes による。
12.
適合性 ISO/IEC 13249-2: 2000 の 12. Conformance による。
附属書 A(参考) 処理系定義要素 ISO/IEC 13249-2: 2000 の Annex A(informative) Implementation-defined
elements
による。
附 属 書 B( 参 考 ) 処 理 系 依 存 要 素 ISO/IEC 13249-2: 2000 の Annex B(informative)
Implementation-dependent elements
による。
X 3006-2
:2003 (ISO/IEC 13249-2:2000)
(15)
附属書 1(参考)ISO/IEC 13249-2:2000
この附属書(参考)は,本体及び附属書(規定)に関連する事柄を補足するもので,規定の一部ではな
い。