1 |
wakaba |
1.1 |
#?SuikaWiki/0.9
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
* データ字句化器 (DATATOK) グローブ / グローブ構築処理 (SGML)
|
5 |
|
|
|
6 |
|
|
[1] [CODE[[RUBYB[データ字句化器] [Data tokenizer]] (DATATOK) グローブ構築処理]]は、
|
7 |
|
|
下位「[[一致字句模型]]」を持つ[[字句模型]]を[[グローブ]]中の[[データ]]に適用して、
|
8 |
|
|
datatok グローブを生成します。
|
9 |
|
|
|
10 |
|
|
仕様書: [[ISO/IEC 10744]]:1997 A.4.4.2 Data tokenizer (DATATOK) grove construction
|
11 |
|
|
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.4.4.html#clause-A.4.4.2>
|
12 |
|
|
|
13 |
|
|
[2]
|
14 |
|
|
,段階 ,Datatok グローブ構築処理 ,例 ,例 ([CODE(SGMLa)[catsrc]]=☆)
|
15 |
|
|
,1a ,[[グローブ根]] [CODE(SGML)[[[tokroot]]]] を作成
|
16 |
|
|
,1b ,グローブ根の[[特性]] [CODE(SGML)[[[source]]]] は原始グローブのもとの[[節]]の並び
|
17 |
|
|
,2 ,原始節それぞれのデータから[[文字列]]の並びを作成 ,('Oregon' ' ' 'river otters' ' are cute') ,==
|
18 |
|
|
,3 ,原始連結分離子 ([CODE(SGMLa)[[[catsrc]]]]) が指定されていればそれで連結して1文字列に ,〃 ,('Oregon☆ ☆river otters☆ are cute')
|
19 |
|
|
,4 ,並び中のそれぞれの文字列に字句模型を適用
|
20 |
|
|
,4a ,字句模型中の一致字句模型を満足する部分文字列の並びを作成 ,(('Oregon') () ('river' 'otters') ('are' 'cute')) ,(('Oregon☆' '☆river' 'otters☆' 'are' 'cute'))
|
21 |
|
|
,4b ,各部分文字列は字句模型の応用の間中[[辞書式順序]]再順序付けされ続ける
|
22 |
|
|
,5 ,字句連結分離子 ([CODE(SGMLa)[[[cattoken]]]]) が指定されていれば部分並びはそれで連結して1文字列に ,〃 ,〃
|
23 |
|
|
,6 ,文字列の並びの並びを展開して、文字列の1つの並びに ,('Oregon' 'river' 'otters' 'are' 'cute') ,('Oregon☆' '☆river' 'otters☆' 'are' 'cute')
|
24 |
|
|
,7 ,結果連結分離子 ([CODE(SGMLa)[[[catres]]]]) が指定されていればそれで連結して1文字列に ,〃 ,〃
|
25 |
|
|
,8a ,並び中の文字列に対応する [CODE(SGML)[[[tokenstr]]]] 節の並びを作成
|
26 |
|
|
,8b ,各 [CODE(SGML)[tokenstr]] の特性 [CODE(SGML)[[[string]]]] の値は対応する文字列 ,({string: 'Oregon'} {string: 'river'} {string: 'otters'} {string: 'are'} {string: 'cute'}) ,({string: 'Oregon☆'} {string: '☆river'} {string: 'otters☆'} {string: 'are'} {string: 'cute'})
|
27 |
|
|
,8c ,各 [CODE(SGML)[tokenstr]] の特性 [CODE(SGML)[[[source]]]] の値は一部または全部が文字列に対応する原始グローブの節
|
28 |
|
|
,9 ,グローブ根の特性 [CODE(SGML)[[[strings]]]] の値を [CODE(SGML)[tokenstr]] 並びに
|
29 |
|
|
|
30 |
|
|
例には、仕様書にある
|
31 |
|
|
[SAMP(SGML)[<state>Oregon</state> <animal>river otters</animal> are cute]]
|
32 |
|
|
を使いました。
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
[4]
|
36 |
|
|
[CODE(SGMLa)[catsrc]] 以外の [CODE(SGMLa)[cat[VAR[*]]]] も、適用される場所が違うだけで似たような結果が得られます。仕様書には例があるので、そちらを参照してください。
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
|
|
[[#comment]]
|
41 |
|
|
|
42 |
|
|
|
43 |
|
|
* datatok 特性集合 (SGML)
|
44 |
|
|
|
45 |
|
|
[3]
|
46 |
|
|
:仕様書:[[ISO/IEC 10744]]:1997 A.4.4.2.1 Data tokenizer property set
|
47 |
|
|
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.4.4.html#clause-A.4.4.2.1>
|
48 |
|
|
:グローブ構築仕様文書 ([CODE(SGMLa)[[[gcsd]]]]) 記法公開識別子:
|
49 |
|
|
[CODE(SGML)[ISO/IEC 10744:1997//NOTATION Data Tokenizer Grove Construction Process//EN]]
|
50 |
|
|
:[[級]]:
|
51 |
|
|
,規格参照具象構文名 ,応用名 ,完全名 ,説明
|
52 |
|
|
,[CODE(SGML)[[[tokroot]]]] ,[RUBYB[[CODE(SGML)[tokenized root]]] [字句化根]] ,== ,結果グローブ根
|
53 |
|
|
,[CODE(SGML)[[[tokenstr]]]] ,[RUBYB[[CODE(SGML)[tokenized string]]] [字句化文字列]] ,== ,一つ以上の字句の文字列
|
54 |
|
|
|
55 |
|
|
|
56 |
|
|
[[#comment]]
|
57 |
|
|
|
58 |
|
|
* datatok 記法形式 (SGML)
|
59 |
|
|
|
60 |
|
|
[5] Datatok グローブ構築処理は、
|
61 |
|
|
[DFN[[RUBYB[データ字句化器][data tokenizer]] ([RUBYB[構築処理][construction process]]) ([CODE(SGML)[datatok]]) [[記法形式]]]]から[[派生]]した[[データ内容記法]]により宣言します。
|
62 |
|
|
|
63 |
|
|
仕様書: ISO/IEC 10744:1997 A.4.4.2.2 Data tokenizer notation form
|
64 |
|
|
<http://www.y12.doe.gov/sgml/wg8/docs/n1920/html/clause-A.4.4.html#clause-A.4.4.2.2>
|
65 |
|
|
|
66 |
|
|
[6] Datatok 処理が使用する[[字句模型]]は、
|
67 |
|
|
- Datatok 処理に内在のもの (自然言語の字句解析処理など) でも構いません
|
68 |
|
|
- Datatok 処理と一緒に規定した記法で別途データとして指定しても構いません
|
69 |
|
|
- Datatok 記法に適合する要素の内容として指定します
|
70 |
|
|
- [CODE(SGMLa)[[[NotNames]]]] を使えば属性値として指定できます
|
71 |
|
|
|
72 |
|
|
[7]
|
73 |
|
|
:公開識別子:[CODE(SGML)[ISO/IEC 10744:1997//NOTATION Data Tokenizer Grove Construction Process//EN]]
|
74 |
|
|
:属性:
|
75 |
|
|
,名前,宣言型,既定値,説明
|
76 |
|
|
,%[CODE(SGML)[[[altreps]]]],==,==,[CODE(SGML)[GenArc]] より
|
77 |
|
|
,%[CODE(SGML)[[[included]]]],==,==,[CODE(SGML)[GenArc]] より
|
78 |
|
|
,%[CODE(SGML)[[[superdcn]]]],==,==,[CODE(SGML)[GenArc]] より
|
79 |
|
|
,%[CODE(SGML)[[[bosdatt]]]],==,==,[CODE(SGML)[base]] より
|
80 |
|
|
,%[CODE(SGML)[[[egrvplan]]]],==,==,[CODE(SGML)[locs]] より
|
81 |
|
|
,[CODE(SGML)[[[boundary]]]],[CODE(SGML)[sodeod | sodiec | isceod | isciec | inmodel]],[CODE(SGML)[isciec]],打撃境界制約
|
82 |
|
|
,[CODE(SGML)[[[catsrc]]]],[CODE(SGML)[[[CDATA]]]],(なし),原始連結分離子
|
83 |
|
|
,[CODE(SGML)[[[cattoken]]]],[CODE(SGML)[CDATA]],(なし),字句連結分離子
|
84 |
|
|
,[CODE(SGML)[[[catres]]]],[CODE(SGML)[CDATA]],(なし),結果連結分離子
|
85 |
|
|
,[CODE(SGML)[[[maxtoksz]]]],[CODE(SGML)[[[NUMBER]]]],(システム定義),最大字句寸法
|
86 |
|
|
|
87 |
|
|
[[#comment]]
|
88 |
|
|
|
89 |
|
|
* メモ |