57
2008/03/19 電電電電電電電電 2008 電電電電電 1 octgrid 電電電電電電電電電電電電電電電電 電電電電 ◎ 電電 電電 電電電電電 () 電電 電電 電電電電電 () 電電 電電 電電電電電 () 電電 電電 電電電電電 () 電電 電電 電電電電電 ()

octgrid に対する属性グラフ文法による矩形数え上げ

  • Upload
    rhett

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

octgrid に対する属性グラフ文法による矩形数え上げ. ◎金澤 佑治 (東洋大学) 切島 忠昭 (東洋大学) 塩野 康徳 (東洋大学) 夜久 竹夫 (日本大学) 土田 賢省 (東洋大学). 発表内容. 1 はじめに 1. 1 背景 1. 2 目的 2 準備 2. 1 octgrid 2. 2 Graph Grammar for Tessellation Graphs 3 本研究 3. 1 処理概要 3. 2 文脈依存グラフ文法における導出グラフの提案 3. 3 矩形数え上げのための属性定義 4 実装 5 まとめ. 1. 1 背景 - PowerPoint PPT Presentation

Citation preview

Page 1: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 1

octgrid に対する属性グラフ文法による矩形数え上げ

◎ 金澤 佑治 (東洋大学)切島 忠昭 (東洋大学)塩野 康徳 (東洋大学)夜久 竹夫 (日本大学)土田 賢省 (東洋大学)

Page 2: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 2

発表内容1 はじめに

1. 1 背景1. 2 目的

2 準備2. 1 octgrid2. 2 Graph Grammar for Tessellation Graphs

3 本研究3. 1 処理概要3. 2 文脈依存グラフ文法における導出グラフの提案3. 3 矩形数え上げのための属性定義

4 実装5 まとめ

Page 3: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 3

1 はじめに

1. 1 背景1. 2 目的

Page 4: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 4

1. 1 背景 (1/2)

• ユーザインターフェースの中で情報を表示するために,表は重要な役割を果たしている

• 我々のプロジェクト– 汎用な表のモデル化 →  octgrid– 汎用な表に対するグラフ文法の定義 →  GGTG– octgrid に基づく効率的な表処理系やアプリケーショ

ンの開発

– 表処理系には, GGTG に基づくパーザも組み込んだ

Page 5: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 5

1. 1 背景 (2/2)

• 関連研究– 表形式文書解析と合成システム

• A. Amano, N. Asada, T. Motoyama, T. Sumihoshi, and K. Suzuki, “Table Form Document Synthesis by Grammar-Based Structure Analysis,” 6th ICDAR, pp. 533-537, 2001.

• 文脈自由文法に基づく表構造を解析し,合成された文書を生成する

– スライス構造を持つ表のみを扱っており,表編集操作を考慮したものではない

Page 6: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 6

1. 3 目的

• グラフ文法の応用– 表が適正な矩形分割図形であるかどうかの判

定– 表に存在する各サイズの矩形の個数を種類ご

とに数え上げる形式的な方式の提案• それらの表処理系への実装

Page 7: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 7

2 準備

2. 1 octgrid

2. 2 Graph Grammar for Tessellation Graphs

Page 8: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 8

2. 1 octgrid

• 表のグラフ表現– セルをノードで表現– 表の周囲に,基準となる周辺セルを持つ– 辺の位置が等しいセルとの関係をエッジで定義– ノードの最大次数は 8

図 1  表の罫線図(左)とそれに対応する octgrid

Page 9: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 9

2. 2 Graph Grammar for Tessellation Graphs (1/3)

• 文脈依存グラフ文法– パーザの開発を想定

して構成– 非スライス構造を含

む任意の表構造を定義

– 生成規則数: 18,437個

 

M2

[8]

 

a-d-

v-w

we

a-u-v

-ww

e

a-d-

v-ew

e a-

u-v

-ew

e

El1

[1]

 

L3-r-h-nwe

L3-l-h-nwe L3-r-h-swe

L3-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

L2-r-h-nwe

L2-l-h-nwe L2-r-h-swe

L2-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

El2

[2]

 

Er1

[5]

 

Er2

[6]

 

L4-

d-v-

ww

e

L4-

u-v

-ww

e

L4-

d-v-

ewe

L4-

u-v

-ew

e

L1-

d-v-

ww

e

L1-

u-v

-ww

e

L1-

d-v-

ewe

L1-

u-v

-ew

e

Eu1

[3]

 

Ed1

[4]

 

[7]

 

M1

 

D1

[9]

 

El1  

[1]

 

L3-r-h-nwe  L3-l-h-nwe  n-r-h-swe

n-l-h-swe

a-r-h-nwe

a-l-h-nwe

n-r-h-nwe

n-l-h-nwe L2-r-h-swe  L2-l-h-swe  

a-r-h-swe

a-l-h-swe

El2  

[2]

 

Er1  

[5]

 

Er2  

[6]

 

L4-

d-v-

ww

e   L4-

u-v

-ww

e

L4-

d-v-

ewe

  L4-

u-v

-ew

e  

L1-

d-v-

ww

e   L1-

u-v

-ww

e

L1-

d-v-

ewe

  L1-

u-v

-ew

e  

Eu1  

[3]

 

Ed1  

[4]

 

 

M2

[8]

 

a-d-

v-w

we

a-u-v

-ww

e

a-d-

v-ew

e a-

u-v

-ew

e

El1

[1]

 

L3-r-h-nwe

L3-l-h-nwe L3-r-h-swe

L3-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

L2-r-h-nwe

L2-l-h-nwe L2-r-h-swe

L2-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

El2

[2]

 

Er1

[5]

 

Er2

[6]

 

L4-

d-v-

ww

e

L4-

u-v

-ww

e

L4-

d-v-

ewe

L4-

u-v

-ew

e

L1-

d-v-

ww

e

L1-

u-v

-ww

e

L1-

d-v-

ewe

L1-

u-v

-ew

e

Eu1

[3]

 

Ed1

[4]

 

[7]

 

M1

 

D1

[9]

 

El1  

[1]

 

L3-r-h-nwe  L3-l-h-nwe  n-r-h-swe

n-l-h-swe

a-r-h-nwe

a-l-h-nwe

n-r-h-nwe

n-l-h-nwe L2-r-h-swe  L2-l-h-swe  

a-r-h-swe

a-l-h-swe

El2  

[2]

 

Er1  

[5]

 

Er2  

[6]

 

L4-

d-v-

ww

e   L4-

u-v

-ww

e

L4-

d-v-

ewe

  L4-

u-v

-ew

e  

L1-

d-v-

ww

e   L1-

u-v

-ww

e

L1-

d-v-

ewe

  L1-

u-v

-ew

e  

Eu1  

[3]

 

Ed1  

[4]

 

図 2 文法 GGTG の生成規則の例

Page 10: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 10

2. 2 Graph Grammar for Tessellation Graphs (2/3)

 

M2

[8]

 

a-d-

v-w

we

a-u-v

-ww

e

a-d-

v-ew

e a-

u-v

-ew

e El1

[1]

 

L3-r-h-nwe

L3-l-h-nwe L3-r-h-swe

L3-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

L2-r-h-nwe

L2-l-h-nwe L2-r-h-swe

L2-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

El2

[2]

 

Er1

[5]

 

Er2

[6]

 

L4-

d-v-

ww

e

L4-

u-v

-ww

e

L4-

d-v-

ewe

L4-

u-v

-ew

e

L1-

d-v-

ww

e

L1-

u-v

-ww

e

L1-

d-v-

ewe

L1-

u-v

-ew

e

Eu1

[3]

 

Ed1

[4]

 

[7]

 

M1

 

D1

[9]

 

El1  

[1]

 

L3-r-h-nwe  L3-l-h-nwe  n-r-h-swe

n-l-h-swe

a-r-h-nwe

a-l-h-nwe

n-r-h-nwe

n-l-h-nwe L2-r-h-swe  L2-l-h-swe  

a-r-h-swe

a-l-h-swe

El2  

[2]

 

Er1  

[5]

 

Er2  

[6]

 

L4-

d-v-

ww

e   L4-

u-v

-ww

e

L4-

d-v-

ewe

  L4-

u-v

-ew

e  

L1-

d-v-

ww

e   L1-

u-v

-ww

e

L1-

d-v-

ewe

  L1-

u-v

-ew

e  

Eu1  

[3]

 

Ed1  

[4]

 

 

M2

[8]

 

a-d-

v-w

we

a-u-v

-ww

e

a-d-

v-ew

e a-

u-v

-ew

e El1

[1]

 

L3-r-h-nwe

L3-l-h-nwe L3-r-h-swe

L3-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

L2-r-h-nwe

L2-l-h-nwe L2-r-h-swe

L2-l-h-swe

a-r-h-nwe

a-l-h-nwe a-r-h-swe

a-l-h-swe

El2

[2]

 

Er1

[5]

 

Er2

[6]

 

L4-

d-v-

ww

e

L4-

u-v

-ww

e

L4-

d-v-

ewe

L4-

u-v

-ew

e

L1-

d-v-

ww

e

L1-

u-v

-ww

e

L1-

d-v-

ewe

L1-

u-v

-ew

e

Eu1

[3]

 

Ed1

[4]

 

[7]

 

M1

 

D1

[9]

 

El1  

[1]

 

L3-r-h-nwe  L3-l-h-nwe  n-r-h-swe

n-l-h-swe

a-r-h-nwe

a-l-h-nwe

n-r-h-nwe

n-l-h-nwe L2-r-h-swe  L2-l-h-swe  

a-r-h-swe

a-l-h-swe

El2  

[2]

 

Er1  

[5]

 

Er2  

[6]

 

L4-

d-v-

ww

e   L4-

u-v

-ww

e

L4-

d-v-

ewe

  L4-

u-v

-ew

e  

L1-

d-v-

ww

e   L1-

u-v

-ww

e

L1-

d-v-

ewe

  L1-

u-v

-ew

e  

Eu1  

[3]

 

Ed1  

[4]

 

図 2 文法 GGTG の生成規則の例

Page 11: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 11

2. 2 Graph Grammar for Tessellation Graphs (3/3)

• 特徴– あいまい性がない– 無用なルールはできるだけ排除している– 導出過程で,ホストグラフにおいて,生成規

則が適用できる箇所は 1 ヶ所しかない

Page 12: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 12

3 本研究

3. 1 処理概要3. 2 文脈依存グラフ文法における導出グラフの提案3. 3 矩形数え上げのための属性定義

Page 13: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 13

3. 1 処理概要 (1/3)

• 矩形数え上げ– 表に存在する各サイズの矩形の個数を種類ご

とに数え上げる形式的な方式– GGTG に基づく属性グラフ文法を用いる

Page 14: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 14

3. 1 処理概要 (2/3)

1. GGTG に基づく構文解析– 入力グラフが octgrid であるかどうかの判定

入力:グラフ

出力:存在する矩形の種類と

その種類ごとの個数

導出グラフ

構文解析 GGTG

属性評価 意味規則

図 3  矩形数え上げの処理の流れ

Page 15: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 15

3. 1 処理概要 (3/3)

2. 意味規則を用いた属性評価– 属性評価の結果(矩形数え上げの結果)を出力

入力:グラフ

出力:存在する矩形の種類と

その種類ごとの個数

導出グラフ

構文解析 GGTG

属性評価 意味規則

図 3  矩形数え上げの処理の流れ

Page 16: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 16

3. 2 文脈依存グラフ文法における   導出グラフの提案 (1/6)

• 概要– 導出におけるノードの置換過程を表す– 生成されるグラフに含まれるノード情報は持

つが,ノード間のエッジに関する情報は持たない

Page 17: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 17

3. 2 文脈依存グラフ文法における   導出グラフの提案 (2/6)

• 例– 文法 GGTG の導出グラフ中の,生成規則 P1-3-T02-

0001 を適用する部分

P

C1

B

P

B I

C2P1-3-T02-0001

P1-3-T02-0001

図 4 導出グラフの例

Page 18: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 18

3. 2 文脈依存グラフ文法における   導出グラフの提案 (3/6)

P

C1

B

P

B I

C2

ノード 生成規則名

図 4 導出グラフの例

P1-3-T02-0001

P1-3-T02-0001

Page 19: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 19

3. 2 文脈依存グラフ文法における   導出グラフの提案 (4/6)

• 実線枠と実線矢印– マザーノード,ドーターノードと,その置換の流れを表現– マザーノードは,エッジラベルの生成規則を適用すること

で,ドーターノードへと置換

P

C1

B

P

B I

C2

ドーターノードマザーノー

図 4 導出グラフの例

P1-3-T02-0001

P1-3-T02-0001

Page 20: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 20

3. 2 文脈依存グラフ文法における   導出グラフの提案 (5/6)

• 点線枠と点線矢印– 枠内は近傍ノード– エッジは,その近傍ノードがどの生成規則中のドー

ターノードに隣接しているかを表現

P

C1

B

P

B I

C2

近傍ノード

図 4 導出グラフの例

P1-3-T02-0001

P1-3-T02-0001

Page 21: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 21

3. 2 文脈依存グラフ文法における   導出グラフの提案 (6/6)

S

A1 A2

A2 A3

P1-1-T02-0001

A

P1-1-T01-0001

P1-1-T02-0001

P1-1-T03-0001P1-1-T03-0001

AP1-1-T04-0001 P1-1-T04-0001

P1-1-T04-0001

S

A1 A2

A2 A3

P1-1-T02-0001

A

P1-1-T01-0001

P1-1-T02-0001

P1-1-T03-0001P1-1-T03-0001

AP1-1-T04-0001 P1-1-T04-0001

P1-1-T04-0001

図 A   1×1 の表を導出する導出グラフの始めの部分

生成規則 適用順序

1 : P1-1-T01-00012 : P1-1-T02-00013 : P1-1-T03-00014 : P1-1-T04-0001......

Page 22: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 22

3. 3 矩形数え上げのための属性定義 (1/3)

• GGTG を基に,矩形数え上げのための属性グラフ文法を定義した

Page 23: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 23

3. 3 矩形数え上げのための属性定義 (2/3)

• 属性

– 属性 count は, count 自身の他,属性 row , columnおよび連接演算子‘・’により定義

row 矩形の行数

column 矩形の列数

count表に存在する各矩形の行・列数を連ねた文字列

表 1 矩形数え上げで用いられる属性

Page 24: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 24

3. 3 矩形数え上げのための属性定義 (3/3)

• 意味規則– 本文法では,マザーノードとドーターノードのラベ

ルに付随する属性のみ使用– 意味規則の種類: 10 種類

row(M1) = row(D1)+1row(M2) = 0column(M1) = column(D1)column(M2) = 0

図 5  生成規則(左)に付随する意味規則(右)

m1

m2M2

Er1

Er2

El1

El2

Eu1

Ed1

M1 Er1

Er2

El1

El2

Eu1

Ed1

D1

m1

m2M2

Er1

Er2

El1

El2

Eu1

Ed1

M1m1m1

m2m2M2

Er1Er1

Er2Er2

El1El1

El2El2

Eu1Eu1

Ed1Ed1

M1 Er1

Er2

El1

El2

Eu1

Ed1

D1

Er1Er1

Er2Er2

El1El1

El2El2

Eu1Eu1

Ed1Ed1

D1

Page 25: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 25

4 実装

Page 26: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 26

4 実装

• 定義した矩形数え上げ文法とその属性評価機構を表処理系に実装した– Java で実装– ステップ数

• 処理系全体:約 510,000 ステップ• 属性評価:約 1,000 ステップ

Page 27: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 27

デモ

• 矩形数え上げ– octgrid である複雑な表– octgrid でない表

Page 28: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19  電子情報通信学会 2008 年総合大会 28

5 まとめ

5. 1 まとめ5. 2 今後の課題

Page 29: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 29

5. 1 まとめ

• 矩形数え上げ文法の定義,実装– 表に存在する各矩形の大きさを算出し,サ

イズごとに矩形の個数を数え上げる文法の定義

– 文脈依存グラフ文法における導出グラフの提案

– 矩形数え上げ文法の表処理系への実装

Page 30: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 30

5. 2 今後の課題

• 今回定義した文法や手法を応用した,様々な表に対する意味処理の実現

Page 31: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 31

Page 32: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 32

スライス構造と非スライス構造の例

図 B スライス構造 図 C 非スライス構造

Page 33: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 33

2. 2 Graph Grammar for Tessellation Graphs (補足 )

• GGTG によるパーズの計算量– O(n)

• n は,パーズを行なうグラフに含まれるノードの個数

Page 34: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 34

矩形数え上げ

• パーズをすることで,処理対象のグラフが octgrid であることを保証

Page 35: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 35

属性評価の例 (1/5)

図 D  対象の表

Page 36: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 36

属性評価の例 (2/5)

P-ul

P-l

P-l

P-U

P-ll

P

I2

I2

P-d P-d

I3

P-UR

P-r

P-r

P-lr

P-ul

P-l

P-l

P-U

P-ll

P

I2

I2

P-d P-d

P-UR

P-r

P-r

P-lr

I3

I2

P3-3-T01-0003

図 E  セルを結合するための生成規則の適用の様子

Page 37: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 37

属性評価の例 (3/5)

図 F  対応する導出グラフ

P-d

I2

I3

P-U

P-d

I2

I2

P-l

P-l

P-ll

PP-ul

P-lr

P-r

P-r

P-UR

I3

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

Page 38: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 38

属性評価の例 (4/5)

ノードラベル 付加される属性

I2 row, column

I3 row, column

表 A  ノードラベルと属性

P-d

I2

I3

P-U

P-d

I2

I2

P-l

P-l

P-ll

PP-ul

P-lr

P-r

P-r

P-UR

I3

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P-d

I2

I3

P-U

P-d

I2

I2

P-l

P-l

P-ll

PP-ul

P-lr

P-r

P-r

P-UR

I3

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

Page 39: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 39

属性評価の例 (5/5)

row(I3m) = row(I3d)+1row(I2) = 0column(I3m) = column(I3d)column(I2) = 0

マザーノード

ドーターノード

属性 I3 I2 I3

row 2 0 1

column 1 0 1

図 G  意味規則

表 B  属性値

P-d

I2

I3

P-U

P-d

I2

I2

P-l

P-l

P-ll

PP-ul

P-lr

P-r

P-r

P-UR

I3

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P-d

I2

I3

P-U

P-d

I2

I2

P-l

P-l

P-ll

PP-ul

P-lr

P-r

P-r

P-UR

I3

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

P3-3-T01-0003

Page 40: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 40

Page 41: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 41

型の説明 (1/6)  グラフの形

NODELABEL

NODELABEL

nwe

swe

NODELABEL

NODELABEL

ww

e ewe

Page 42: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 42

Mother Graph Daughter Graph

型の説明 (2/6)  型 α (横増加)

m1 d1 d2

nwe

swe

Page 43: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 43

Mother Graph Daughter Graph

型の説明 (3/6)  型 β (縦増加)

m1 d1

d2

ww

e ewe

Page 44: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 44

Mother Graph Daughter Graph

型の説明 (4/6)  型 γ (横結合)

d1m1 m2

nwe

swe

Page 45: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 45

Mother Graph Daughter Graph

型の説明 (5/6)  型 δ (縦結合)

m1

m2

d1

ww

e ewe

Page 46: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 46

Mother Graph Daughter Graph

型の説明 (6/6)  型 ω (縦横維持)

m1 d1

Page 47: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 47

3. 3 矩形数え上げのための属性定義 (補足 1/3)

属性名 説明row 付加されたラベルを持つノードに対応するセルの行数.

整数値が代入される.column 付加されたラベルを持つノードに対応するセルの列数.

整数値が代入される.count グラフに対応する表中に存在する各矩形の行数と列数を

連ねた文字列.矩形一つは「 [r,c]」( r はその矩形の行数, c は列数を表す整数値)と記述する.各矩形情報間はカンマ記号( ,)で区切られる.例:表中に 4 個の矩形が存在していた場合,  「 [r1,c1], [r2,c2], [r3,c3],[r4,c4]」

表 C  矩形数え上げに用いる属性

Page 48: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 48

3. 3 矩形数え上げのための属性定義 (補足 2/3)

型 意味規則 説明

α count(m1) = count(d1)“,”count(d2) count の結合

count(m1) = count(d2) count の受け渡しのみ

β count(m1) = count(d2) count の受け渡しのみ

count(m1) =count(d1)“,[“row(d1)“,”column(d1)“]”

count に矩形情報を 1 つ追加

γ row(m1) = row(d1)row(m2) = 0column(m1) = column(d1)+1column(m2) = 0

横結合の解除.row , column は解除後の左側のセルに受け渡す.column の値を 1増やす

表 D  数え上げに使用する意味規則

Page 49: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 49

3. 3 矩形数え上げのための属性定義 (補足 3/3)

型 意味規則 説明δ row(m1) = row(d1)+1

row(m2) = 0column(m1) = column(d1)column(m2) = 0

縦結合の解除.row , column は解除後の上側のセルに受け渡す.row の値を 1増やす

ω row(m1) = 1column(m1) = 1

内部セルに使用.row および column の初期化

row(m1) = row(d1)column(m1) = column(d1)

内部セルに使用.row , column の受け渡しのみ

count(m1) = “” count の初期化count(m1) = count(d1) count の受け渡しのみ

表 D  数え上げに使用する意味規則(続き)

Page 50: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 50

Page 51: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 51

1. 1 背景 (3/3)

• 文献 [8] では,グラフ文法に基づく構造解析を提示している.また,構造とレイアウト情報を含む, XML に基にした TFML[8] の提案も行なっている.– TFML の基本構造は,文書の表示パターンを反映して

いる.

• これらのシステムは,スライス構造を持つ表のみを扱っており,表編集操作を考慮したものではない.

• [8] のグラフ表現の次数は制限無く増加する.• TFML は,表示構造を持つ非スライス構造の表を

表現することができない.

Page 52: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 52

3. 1 処理概要 (1/3)

1. GGTG に基づく構文解析– 入力グラフが octgrid であるかどうかの判定

2. 意味規則を用いた属性評価– 矩形数え上げの結果を出力

Page 53: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 53

3. 2 文脈依存グラフ文法における導出グラフの提案 (1/7)

• 属性評価を行なうためには,導出グラフが必要

• 文脈依存グラフの導出過程を表す導出グラフは存在しない?→ 導出グラフの提案

Page 54: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 54

3. 2 文脈依存グラフ文法における導出グラフの提案 (補足 )

P

C1

B

P

B I

C2P1-3-T02-0001

P1-3-T02-0001

ドーターノードマザーノード

近傍ノード

図 4 導出グラフの例

Page 55: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 55

Page 56: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 56

3. 2 文脈依存グラフ文法における導出グラフの提案 (6/6)

• 導出木と異なり,グラフ単体では生成規則の適用順序は分からない?– 導出グラフと共に,生

成規則の適用順序をまとめておく必要がある

S

A1 A2

A2 A3

P1-1-T02-0001

A

P1-1-T01-0001

P1-1-T02-0001

P1-1-T03-0001P1-1-T03-0001

AP1-1-T04-0001 P1-1-T04-0001

P1-1-T04-0001

S

A1 A2

A2 A3

P1-1-T02-0001

A

P1-1-T01-0001

P1-1-T02-0001

P1-1-T03-0001P1-1-T03-0001

AP1-1-T04-0001 P1-1-T04-0001

P1-1-T04-0001

図 A   1×1 の表を導出する導出グラフの始めの部分

生成規則 適用順序

1 : P1-1-T01-00012 : P1-1-T02-00013 : P1-1-T03-00014 : P1-1-T04-0001......

Page 57: octgrid に対する属性グラフ文法による矩形数え上げ

2008/03/19 電子情報通信学会  2008 年総合大会 57

属性評価の例

P-ul

P-l

P-l

P-U

P-ll

P

I2

I2

P-d P-d

P-UR

P-r

P-r

P-lr

I3

I2