octgridに対する属性グラフ文法に よる矩形数え上げ ◎金澤 佑治 (東洋大学) 切島 忠昭 (東洋大学) 塩野 康徳 (東洋大学) 夜久 竹夫 (日本大学) 土田 賢省 (東洋大学) 2008/03/19 電子情報通信学会 2008年総合大会 1 発表内容 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 まとめ 2008/03/19 電子情報通信学会 2008年総合大会 2 1. 1 背景 1. 2 目的 1 はじめに 2008/03/19 電子情報通信学会 2008年総合大会 3 1. 1 背景(1/2) • ユーザインターフェースの中で情報を表示するため に,表は重要な役割を果たしている • 我々のプロジェクト – 汎用な表のモデル化 → octgrid – 汎用な表に対するグラフ文法の定義 → GGTG – octgridに基づく効率的な表処理系やアプリケーションの 開発 – 表処理系には,GGTGに基づくパーザも組み込んだ 2008/03/19 電子情報通信学会 2008年総合大会 4 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. • 文脈自由文法に基づく表構造を解析し,合成 された文書を生成する – スライス構造を持つ表のみを扱っており, 表編集操作を考慮したものではない 2008/03/19 電子情報通信学会 2008年総合大会 5 1. 3 目的 • グラフ文法の応用 – 表が適正な矩形分割図形であるかどうかの判定 – 表に存在する各サイズの矩形の個数を種類ごと に数え上げる形式的な方式の提案 • それらの表処理系への実装 2008/03/19 電子情報通信学会 2008年総合大会 6 2. 1 octgrid 2. 2 Graph Grammar for Tessellation Graphs 2 準備 2008/03/19 電子情報通信学会 2008年総合大会 7 2. 1 octgrid • 表のグラフ表現 – – – – セルをノードで表現 表の周囲に,基準となる周辺セルを持つ 辺の位置が等しいセルとの関係をエッジで定義 ノードの最大次数は8 図1 表の罫線図(左)とそれに対応するoctgrid 2008/03/19 電子情報通信学会 2008年総合大会 8 2. 2 Graph Grammar for Tessellation Graphs (1/3) • 文脈依存グラフ文法 [8] a-l-h-nwe a-r-h-swe a-l-h-swe Ed1 [4] L4-d-v-ewe L4-d-v-wwe L4-u-v-wwe a-l-h-nwe [5] D1 [9] n-r-h-nwe Er2 [6] El2 [2] n-l-h-nwe L2-r-h-swe a-r-h-swe L2-l-h-swe a-l-h-swe Ed1 [4] 図 2 文法GGTGの生成規則の例 2008/03/19 電子情報通信学会 2008年総合大会 Er1 n-l-h-swe L1-u-v-ewe M2 a-r-h-nwe n-r-h-swe L1-d-v-ewe L1-d-v-wwe L2-l-h-swe [1] L3-l-h-nwe L1-u-v-wwe L2-l-h-nwe L2-r-h-swe [5] El1 a-r-h-nwe L1-d-v-ewe [2] L3-r-h-nwe Er1 a-d-v-ewe a-u-v-ewe a-d-v-wwe a-u-v-wwe El2 a-l-h-nwe a-r-h-swe a-l-h-swe L3-l-h-swe L2-r-h-nwe a-r-h-nwe L1-d-v-wwe [7] L4-u-v-ewe L4-d-v-ewe M1 L1-u-v-ewe [1] L3-l-h-nwe L3-r-h-swe L4-u-v-wwe L4-d-v-wwe L3-r-h-nwe El1 L4-u-v-ewe [3] [3] L1-u-v-wwe – パーザの開発を想定し て構成 – 非スライス構造を含む 任意の表構造を定義 – 生成規則数:18,437個 Eu1 Eu1 9 Er2 [6] 2. 2 Graph Grammar for Tessellation Graphs (2/3) Eu1 Eu1 L4-d-v-ewe L4-u-v-wwe L4-d-v-wwe a-r-h-nwe a-l-h-nwe L3-l-h-nwe n-r-h-swe Er1 [5] n-l-h-swe D1 [9] a-l-h-swe Er2 [6] El2 [2] n-l-h-nwe L2-r-h-swe a-r-h-swe L2-l-h-swe a-l-h-swe Ed1 Er2 [6] L1-u-v-ewe a-l-h-nwe a-r-h-swe n-r-h-nwe L1-d-v-ewe [8] L1-d-v-ewe L1-d-v-wwe L2-l-h-swe [1] a-r-h-nwe M2 L1-u-v-wwe [2] L2-l-h-nwe L2-r-h-swe [5] El1 a-d-v-ewe a-u-v-ewe a-d-v-wwe a-u-v-wwe El2 Er1 a-l-h-swe L3-l-h-swe L2-r-h-nwe a-l-h-nwe a-r-h-swe L1-u-v-wwe [7] L4-u-v-ewe L4-d-v-ewe M1 L3-r-h-nwe L1-d-v-wwe [1] L3-l-h-nwe L3-r-h-swe a-r-h-nwe L1-u-v-ewe El1 L4-u-v-wwe L4-d-v-wwe L3-r-h-nwe L4-u-v-ewe [3] [3] Ed1 [4] [4] 図 2 文法GGTGの生成規則の例 2008/03/19 電子情報通信学会 2008年総合大会 10 2. 2 Graph Grammar for Tessellation Graphs (3/3) • 特徴 – あいまい性がない – 無用なルールはできるだけ排除している – 導出過程で,ホストグラフにおいて,生成規則が 適用できる箇所は1ヶ所しかない 2008/03/19 電子情報通信学会 2008年総合大会 11 3. 1 処理概要 3. 2 文脈依存グラフ文法における導出グラフの提案 3. 3 矩形数え上げのための属性定義 3 本研究 2008/03/19 電子情報通信学会 2008年総合大会 12 3. 1 処理概要 (1/3) • 矩形数え上げ – 表に存在する各サイズの矩形の個数を種類ごと に数え上げる形式的な方式 – GGTGに基づく属性グラフ文法を用いる 2008/03/19 電子情報通信学会 2008年総合大会 13 3. 1 処理概要 (2/3) 1. GGTGに基づく構文解析 – 入力グラフがoctgridであるかどうかの判定 入力:グラフ 構文解析 GGTG 導出グラフ 属性評価 意味規則 出力:存在する矩形の種類と その種類ごとの個数 図 3 矩形数え上げの処理の流れ 2008/03/19 電子情報通信学会 2008年総合大会 14 3. 1 処理概要 (3/3) 2. 意味規則を用いた属性評価 – 属性評価の結果(矩形数え上げの結果)を出力 入力:グラフ 構文解析 GGTG 導出グラフ 属性評価 意味規則 出力:存在する矩形の種類と その種類ごとの個数 図 3 矩形数え上げの処理の流れ 2008/03/19 電子情報通信学会 2008年総合大会 15 3. 2 文脈依存グラフ文法における 導出グラフの提案 (1/6) • 概要 – 導出におけるノードの置換過程を表す – 生成されるグラフに含まれるノード情報は持つが, ノード間のエッジに関する情報は持たない 2008/03/19 電子情報通信学会 2008年総合大会 16 3. 2 文脈依存グラフ文法における 導出グラフの提案 (2/6) • 例 – 文法GGTGの導出グラフ中の,生成規則P1-3-T02-0001 を適用する部分 P P C1 B B P1-3-T02-0001 P1-3-T02-0001 I C2 図 4 導出グラフの例 2008/03/19 電子情報通信学会 2008年総合大会 17 3. 2 文脈依存グラフ文法における 導出グラフの提案 (3/6) 生成規則名 P ノード P C1 B B P1-3-T02-0001 P1-3-T02-0001 I C2 図 4 導出グラフの例 2008/03/19 電子情報通信学会 2008年総合大会 18 3. 2 文脈依存グラフ文法における 導出グラフの提案 (4/6) • 実線枠と実線矢印 – マザーノード,ドーターノードと,その置換の流れを表現 – マザーノードは,エッジラベルの生成規則を適用すること で,ドーターノードへと置換 マザーノード P C1 ドーターノード P B B P1-3-T02-0001 P1-3-T02-0001 I C2 図 4 導出グラフの例 2008/03/19 電子情報通信学会 2008年総合大会 19 3. 2 文脈依存グラフ文法における 導出グラフの提案 (5/6) • 点線枠と点線矢印 – 枠内は近傍ノード – エッジは,その近傍ノードがどの生成規則中のドーター ノードに隣接しているかを表現 近傍ノード P P C1 B B P1-3-T02-0001 P1-3-T02-0001 I C2 図 4 導出グラフの例 2008/03/19 電子情報通信学会 2008年総合大会 20 3. 2 文脈依存グラフ文法における 導出グラフの提案 (6/6) S P1-1-T01-0001 A1 A2 生成規則 適用順序 P1-1-T02-0001 P1-1-T02-0001 A2 A3 P1-1-T03-0001 P1-1-T03-0001 1 : P1-1-T01-0001 2 : P1-1-T02-0001 3 : P1-1-T03-0001 4 : P1-1-T04-0001 ... ... A P1-1-T04-0001 P1-1-T04-0001 A P1-1-T04-0001 図A 1×1の表を導出する導出グラフの始めの部分 2008/03/19 電子情報通信学会 2008年総合大会 21 3. 3 矩形数え上げのための属性定義 (1/3) • GGTGを基に,矩形数え上げのための属性 グラフ文法を定義した 2008/03/19 電子情報通信学会 2008年総合大会 22 3. 3 矩形数え上げのための属性定義 (2/3) • 属性 表 1 矩形数え上げで用いられる属性 row 矩形の行数 column 矩形の列数 count 表に存在する各矩形の行・列数を連ねた文字列 – 属性countは,count自身の他,属性row,columnおよび 連接演算子‘・’により定義 2008/03/19 電子情報通信学会 2008年総合大会 23 3. 3 矩形数え上げのための属性定義 (3/3) • 意味規則 – 本文法では,マザーノードとドーターノードのラベルに付 随する属性のみ使用 – 意味規則の種類:10種類 Eu1 El1 m1 M1 Eu1 Er1 Er1 El1 D1 El2 m2 M2 Ed1 Er2 El2 Er2 row(M1) = row(D1)+1 row(M2) = 0 column(M1) = column(D1) column(M2) = 0 Ed1 図 5 生成規則(左)に付随する意味規則(右) 2008/03/19 電子情報通信学会 2008年総合大会 24 4 実装 2008/03/19 電子情報通信学会 2008年総合大会 25 4 実装 • 定義した矩形数え上げ文法とその属性評価 機構を表処理系に実装した – Javaで実装 – ステップ数 • 処理系全体:約510,000ステップ • 属性評価:約1,000ステップ 2008/03/19 電子情報通信学会 2008年総合大会 26 デモ • 矩形数え上げ – octgridである複雑な表 – octgridでない表 2008/03/19 電子情報通信学会 2008年総合大会 27 5. 1 まとめ 5. 2 今後の課題 5 まとめ 2008/03/19 電子情報通信学会 2008年総合大会 28 5. 1 まとめ • 矩形数え上げ文法の定義,実装 – 表に存在する各矩形の大きさを算出し,サイズ ごとに矩形の個数を数え上げる文法の定義 – 文脈依存グラフ文法における導出グラフの提案 – 矩形数え上げ文法の表処理系への実装 2008/03/19 電子情報通信学会 2008年総合大会 29 5. 2 今後の課題 • 今回定義した文法や手法を応用した,様々な 表に対する意味処理の実現 2008/03/19 電子情報通信学会 2008年総合大会 30 2008/03/19 電子情報通信学会 2008年総合大会 31 スライス構造と非スライス構造の例 図B スライス構造 2008/03/19 図C 非スライス構造 電子情報通信学会 2008年総合大会 32 2. 2 Graph Grammar for Tessellation Graphs (補足) • GGTGによるパーズの計算量 – O(n) • nは,パーズを行なうグラフに含まれるノードの個数 2008/03/19 電子情報通信学会 2008年総合大会 33 矩形数え上げ • パーズをすることで,処理対象のグラフが octgridであることを保証 2008/03/19 電子情報通信学会 2008年総合大会 34 属性評価の例(1/5) 図D 対象の表 2008/03/19 電子情報通信学会 2008年総合大会 35 属性評価の例(2/5) P-ul P-U P P-UR P-ul P-l I3 I2 P-r P-l P-U P P-UR I2 P-r I2 P-r P-d P-lr I3 P3-3-T01-0003 P-l I2 I2 P-r P-l P-ll P-d P-d P-lr P-ll P-d 図E セルを結合するための生成規則の適用の様子 2008/03/19 電子情報通信学会 2008年総合大会 36 属性評価の例(3/5) P3-3-T01-0003 P-ul P-U P P-UR P3-3-T01-0003 P-l I3 I2 P-r I3 P-l I2 I2 P-r P3-3-T01-0003 P-ll P-d P-d P-lr P3-3-T01-0003 図F 対応する導出グラフ 2008/03/19 電子情報通信学会 2008年総合大会 37 属性評価の例(4/5) P3-3-T01-0003 表A ノードラベルと属性 P-ul P-U P P-UR P3-3-T01-0003 P-l I3 I2 P-r ノードラベル 付加される属性 I2 row, column I3 row, column I3 P-l I2 I2 P-r P3-3-T01-0003 P-ll P-d P-d P-lr P3-3-T01-0003 2008/03/19 電子情報通信学会 2008年総合大会 38 属性評価の例(5/5) row(I3m) = row(I3d)+1 row(I2) = 0 column(I3m) = column(I3d) column(I2) = 0 P3-3-T01-0003 P-ul P-U P P-UR P3-3-T01-0003 P-l I3 I2 図G 意味規則 P-r I3 P-l I2 I2 表B 属性値 P-r マザーノード ドーターノード P3-3-T01-0003 P-ll P-d P-d P-lr P3-3-T01-0003 2008/03/19 属性 I3 I2 I3 row 2 0 1 column 1 0 1 電子情報通信学会 2008年総合大会 39 2008/03/19 電子情報通信学会 2008年総合大会 40 型の説明(1/6) グラフの形 NODE LABEL ewe NODE LABEL nwe wwe NODE LABEL swe NODE LABEL 2008/03/19 電子情報通信学会 2008年総合大会 41 型の説明(2/6) 型α(横増加) Mother Graph Daughter Graph nwe m1 d1 d2 swe 2008/03/19 電子情報通信学会 2008年総合大会 42 型の説明(3/6) 型β(縦増加) Daughter Graph m1 d1 ewe wwe Mother Graph d2 2008/03/19 電子情報通信学会 2008年総合大会 43 型の説明(4/6) 型γ(横結合) Mother Graph Daughter Graph nwe m1 m2 d1 swe 2008/03/19 電子情報通信学会 2008年総合大会 44 型の説明(5/6) 型δ(縦結合) Mother Graph Daughter Graph ewe wwe m1 d1 m2 2008/03/19 電子情報通信学会 2008年総合大会 45 型の説明(6/6) 型ω(縦横維持) Mother Graph Daughter Graph m1 d1 2008/03/19 電子情報通信学会 2008年総合大会 46 3. 3 矩形数え上げのための属性定義 (補足1/3) 表C 矩形数え上げに用いる属性 属性名 説明 row 付加されたラベルを持つノードに対応するセルの行数. 整数値が代入される. column 付加されたラベルを持つノードに対応するセルの列数. 整数値が代入される. count グラフに対応する表中に存在する各矩形の行数と列数を連ね た文字列. 矩形一つは「[r,c]」(rはその矩形の行数,cは列数を表す整数 値)と記述する.各矩形情報間はカンマ記号(,)で区切られる. 例:表中に4個の矩形が存在していた場合, 「[r1,c1], [r2,c2], [r3,c3],[r4,c4]」 2008/03/19 電子情報通信学会 2008年総合大会 47 3. 3 矩形数え上げのための属性定義 (補足2/3) 表D 数え上げに使用する意味規則 型 α β γ 意味規則 説明 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) = 0 column(m1) = column(d1)+1 column(m2) = 0 横結合の解除. row,columnは解除後の左側 のセルに受け渡す. columnの値を1増やす 2008/03/19 電子情報通信学会 2008年総合大会 48 3. 3 矩形数え上げのための属性定義 (補足3/3) 表D 数え上げに使用する意味規則(続き) 型 δ 意味規則 row(m1) = row(d1)+1 row(m2) = 0 column(m1) = column(d1) column(m2) = 0 ω row(m1) = 1 column(m1) = 1 説明 縦結合の解除. row,columnは解除後の上側 のセルに受け渡す. rowの値を1増やす 内部セルに使用. rowおよびcolumnの初期化 row(m1) = row(d1) column(m1) = column(d1) 内部セルに使用. row,columnの受け渡しのみ count(m1) = “” countの初期化 count(m1) = count(d1) countの受け渡しのみ 2008/03/19 電子情報通信学会 2008年総合大会 49 2008/03/19 電子情報通信学会 2008年総合大会 50 1. 1 背景(3/3) • 文献[8]では,グラフ文法に基づく構造解析を提示し ている.また,構造とレイアウト情報を含む,XMLに 基にしたTFML[8]の提案も行なっている. – TFMLの基本構造は,文書の表示パターンを反映してい る. • これらのシステムは,スライス構造を持つ表のみを 扱っており,表編集操作を考慮したものではない. • [8]のグラフ表現の次数は制限無く増加する. • TFMLは,表示構造を持つ非スライス構造の表を表 現することができない. 2008/03/19 電子情報通信学会 2008年総合大会 51 3. 1 処理概要 (1/3) 1. GGTGに基づく構文解析 – 入力グラフがoctgridであるかどうかの判定 2. 意味規則を用いた属性評価 – 矩形数え上げの結果を出力 2008/03/19 電子情報通信学会 2008年総合大会 52 3. 2 文脈依存グラフ文法における導出グラフ の提案 (1/7) • 属性評価を行なうためには,導出グラフが必 要 • 文脈依存グラフの導出過程を表す導出グラフ は存在しない? →導出グラフの提案 2008/03/19 電子情報通信学会 2008年総合大会 53 3. 2 文脈依存グラフ文法における導出グラフ の提案 (補足) 近傍ノード P P C1 マザーノード 2008/03/19 B B P1-3-T02-0001 P1-3-T02-0001 図 4 導出グラフの例 電子情報通信学会 2008年総合大会 I C2 ドーターノード 54 2008/03/19 電子情報通信学会 2008年総合大会 55 3. 2 文脈依存グラフ文法における導出グラフ の提案 (6/6) • 導出木と異なり,グラフ 単体では生成規則の適 用順序は分からない? S P1-1-T01-0001 A1 A2 P1-1-T02-0001 P1-1-T02-0001 A2 A3 P1-1-T03-0001 – 導出グラフと共に,生成規 則の適用順序をまとめて おく必要がある P1-1-T03-0001 A P1-1-T04-0001 P1-1-T04-0001 A P1-1-T04-0001 生成規則 適用順序 1 : P1-1-T01-0001 2 : P1-1-T02-0001 3 : P1-1-T03-0001 4 : P1-1-T04-0001 ... ... 図A 1×1の表を導出する導出グラフの始めの部分 2008/03/19 電子情報通信学会 2008年総合大会 56 属性評価の例 P-ul P-U P P-UR P-l I3 I2 P-r P-l I2 I2 P-r P-ll P-d P-d P-lr 2008/03/19 電子情報通信学会 2008年総合大会 57
© Copyright 2024 ExpyDoc