論文
DBSJ Letters Vol.4, No.2――――――――――――――――――――――――――――――――――――

仮想世界データベースシステムにおけるマルチモーダル問合せ実現のための融合文法の導入
Introduction of a Fusion Grammar for the
Realization of Multimodal Queries in the
Virtual World Database System

横川 明子♥

増永 良文♠

Akiko YOKOGAWA Yoshifumi MASUNAGA
我々は，仮想世界データベースシステム(Virtual World
Database System：VWDB)の設計と実装を進めている．既に，
VWDB における問合せ言語として，マルチモーダル問合せ言語の基礎開発がなされ，ユーザは音声とマウス入力によって，実世界に近い自然なインタラクションで単純な問合せを行うことが可能となっている．しかしながら，この言語は仮想世界における距離・方向・位相・可視性に関して，個別に問合せを発行できるものの，それらを融合した問合せを発行することはできなかった．そこで本論文では，融合文法を導入して問題解決を図る．
The Virtual World Database System (VWDB) is
currently under development at Ochanomizu University.
A preliminary design and implementation was done toprovide a multimodal query language by which users canissue simple queries using a mouse and voice in anatural manner. However, it was not complete in thatqueries on any combination of distance, direction,
topology, and visibility relations are not allowed,
although it allows queries on either one of them.
To
resolve this problem, a fusion grammar is introduced inthis paper.

1. はじめに
現在，リレーショナルデータベースシステムやオブジェク
ト指向データベースシステムが広く使われている．しかしながら，データベースの基本的概念「実世界とその中のオブジ
ェクトをコンピュータの中にできるだけ忠実に写像する」という原点に立ち返ると，実世界の事物には，通常，大きさ・形を持っているものが大半なのに，いずれのシステムも，それらを厳密に表現できていないという問題がある．そこで我々は，バーチャルリアリティ(VR)システムに注目し，VRの概念をデータベースに取り入れた新世代データベースシ
ステムとして，仮想世界データベースシステム(Virtual
World Database System: VWDB)を構築してきた．
これまで，VWDB データベーススキーマ言語の定義[1]や共同作業に向けたトランザクション管理の研究[2,3]が行われ，仮想世界をデータベースとする VWDB の概念が具体化されて♥学生会員 お茶の水女子大学大学院人間文化研究科博士前期課程 akiko@db.is.ocha.ac.jp♠
正会員 お茶の水女子大学理学部情報科学科
masunaga@is.ocha.ac.jp

1

きている．さらに，仮想空間において，距離・方向・位相・可視性に関してそれぞれに問合せができる単純なマルチモ
ーダル問合せ言語の開発が行われた[4]．
VWDBシステムに音声認識機能を搭載することで，ユーザは実世界に近い自然なインタラクションで問合せを発行することが可能となった．しかしながら，複雑で本格的なマルチモーダル問合せ言語の開発はまだなされていなかった．そこで本研究では，上記の問合せ言語を拡張して，本格的な問合せ言語の開発を可能とする融合問合せ法を提案する．
以下，2 章では VWDB システムの構成および空間関係の問合せについて，3 章では融合問合せと融合文法について述べ，
融合問合せ構文木を用いて問合せを処理する方法，4 章でまとめと今後の課題について述べる．

2. 仮想世界データベースシステム：VWDB
2.1

システム構成VWDB はバックエンドのオブジェクト指向データベースシ
ステムと，フロントエンドの VR システム群で構成される．
フロントエンドの VR システムは NVR(Networked Virtual
Reality System)により互いに接続されており，複数のユー
ザが仮想環境を共有できるようになっている[1,2]．VR クラ
イアントは，Java 言語用の仮想世界構築 API である Java3Dを用いて実装し，バックエンド DB は商用のオブジェクト指
向 DB である ObjectStore を利用し，Java 言語で実装している．さらに,問合せインタフェースとして Advanced Media 社の AmiVoiceSDK の音声認識エンジンを用いてルール設計が進められている．

2.2 空間関係の問合せ（MPQ）
空間関係の 3 大要素[5]として挙げられる距離・方向・位
相と，さらにアバタからの可視性を判断する 4 種類の問合せ
述語が定義された[4]．
◇ 距離：Distance(OA,OB, Θ,dis)◇ 方向：Direction(OA,OB,dir)◇ 位相：Topology(OA,OB,top)◇ 可視性：Visibility (A,OB,vis)
ここに，OA : 基点オブジェクト，OB : 対象オブジェクト，
A : アバタ，Θ: 比較演算子(＝,＜,≦,≧,＞,≠)，dis : 距
離(数値)，dir: OAOB ，top : 位相(meet, disjoint, inside,
contains)，vis: true/false．
さらに，問合せ述語に基づいて，VWDBの空間関係の意味のあるプリミティブな問合せ(MPQ: meaningful primitive
queries)が31種類定義された[4]．

3. 融合問合せと融合文法
3.1

距離・方向・位相・可視性シグネチャ

本節では，VWDB システムにおける空間関係の MPQ を基に，融合問合せの基礎的事項を述べる．
まず，データ構造を規定するデータ型(data type)[6]の表
現を用いて，VWDB における空間関係を規定する．データ型は，
sort，operator，constant からなる．
Sort により，VWDB における空間関係の問合せに用いられる要素を定義し，sort を用いて，問合せの関係性を表現したものが operator である．

日本データベース学会 Letters Vol.4, No.2

論文
DBSJ Letters Vol.4, No.2――――――――――――――――――――――――――――――――――――
Operator σ ， operand s1 ～ sn (sort) ， return value s(sort)とすると operator は
σ：s１×s2×．．．×sn→ｓと表記できる．また，operand を持たない operator のことを
constant といい
σ：→ｓ
と表す．
VWDB の場合，それらは以下のようである．
◇距離シグネチャ■Sorts：Object ， DIS ， Θ ， set(Object) ， set(Object × DIS)，
set(Object×Θ)，set(Object×Object)，set(Object×
Object×DIS)■Operators：
dis :→ DIS
oi :→ Object (1 ≤ i ≤ n)
<:→ Θ
≤:→ Θ
=:→ Θ
≥:→ Θ
>:→ Θ
≠:→ Θ
distance 1 : Object × Object → DIS
distance 2 : Object × Object × DIS → Θdistance 3 : Object × Θ × DIS → set (Object )distance 4 : Object × Θ × DIS → set (Object )distance 5 : Object → set (Object × DIS )distance 6 : Object → set (Object × DIS )distance 7 : Object × DIS → set (Object × Θ)
distance 8 : Object × DIS → set (Object × Θ)
distance 9 : Θ × DIS → set (Object × Object )distance 10 :→ set (Object × Object × DIS )ただし，oi は，仮想空間内にある有限個のオブジェクトを意味する(1≦i≦n)．dis はオブジェクト同士の距離の小数点第三位を四捨五入した離散値(∈DIS)とする．
ここで，operator である distance 1，distance 5，distance
6，distance 10 の operand に，MPQ で用いられていたΘがな
いことに気づく．これは distance1，distance 5，distance 6，
distance 10 の問合せは，Θが‘=’のときのみ意味のある問合せとして定義されているからである．
Sort S を用いた operator のセットのことを S-sorted シグ
ネチャという．距離に関しては， S={Object ， DIS ，Θ，set(Object) ， set(Object × DIS) ， set(Object × Θ ) ，set(Object×Object)，set(Object×Object×DIS)}となる．
◇方向シグネチャ■Sorts:Object ， DIR ， set(Object) ， set(Object × DIR) ，set(Object×Object)，set(Object×Object×DIR)■ Operators：
oi :→ Object (1 ≤ i ≤ n)
dir :→ DIR
direction 1 : Object × Object → DIR
direction 2 : Object × DIR → set (Object )direction 3 : Object → set (Object × DIR)
direction 4 : Object → set (Object × DIR )2

direction 5 : DIR → set (Object × Object )direction 6 : DIR → set (Object × Object )direction 7 :→ set (Object × Object × DIR)DIR は仮想空間オブジェクトの方向関係を表すベクトルである．VWDB において方向を表す時は，dir∈{前，後，左，右，
上，下，右前，左前，右後，左後，東，西，南，北，北東，
北西，南東，南西，天頂，天底}を用いる．
◇位相シグネチャ■Sorts：Object，TOP，set(Object)，set(Object×TOP)，set(Object
×Object)set(Object×Object×TOP)■Operators：
oi :→ Object (1 ≤ i ≤ n)meet :→ TOP
disjo int :→ TOP
inside :→ TOP
contains :→ TOP
topology1 : Object × Object → TOP
topology 2 : Object × TOP → set (Object )topology 3 : Object × TOP → set (Object )topology 4 : Object → set (Object × TOP)
topology 5 : Object → set (Object × TOP )topology 6 : TOP → set (Object × Object )topology 7 :→ set (Object × Object × TOP )TOP はオブジェクトの位相関係を表す．VWDB における位相関係は，meet，disjoint，inside，contains を用いて表す．
◇可視性シグネチャ■Sorts：Object，Bool，Avt，set(Object)，set(Avt),set(Object
× Bool) ， set(Avt × Bool), set(Avt × Object),set(Object×Object×Bool)■Operators：
oi :→ Object (1 ≤ i ≤ n)true :→ Boolfalse :→ Boolavt j :→ Avt (1 ≤ j ≤ m)visiblity1 : Avt × Object → Boolvisiblity 2 : Avt × Bool → set (Object )visiblity 3 : Object × Bool → set ( Avt )visiblity 4 : Avt → set (Object × Bool )visiblity 5 : Object → set ( Avt × Bool )visiblity 6 : Bool → set ( Avt × Object )visiblity 7 :→ set ( Avt × Object × Bool )可視の場合を true，不可視の場合を false とする．仮想世界に存在しているアバタを，avtj とする(1≦j≦m)．

3.2

距離・方向・位相・可視性文法の導入

Operator で構成される表現を term という．Term は次のよ
うに定義されている．
(a) Constantσ：→ｓ に対して，表現“σ”は term である．
(b) Operator σ：s1×s2×．．．×sn→ｓと
sort si の term ti(1≦i≦n)に対して，
表現“σ(t1×t2×．．．×tn) ”は term である．

日本データベース学会 Letters Vol.4, No.2

論文
DBSJ Letters Vol.4, No.2――――――――――――――――――――――――――――――――――――
全ての term を生成することができる文法をシグネチャから構成することができる．つまり，各 sort は非終端記号に置き換えられる．
各 operatorσ：s1×s2×．．．×sn→ｓ (n>0)は生成則
s→σ(s1，s2，･･･，sn)に置き換えられ，各 constant σ：→ｓ は生成則s→σと置き換えられる．したがって，文法を定義できる．
◇ 距離文法Object → oi (1 ≤ i ≤ n)
DIS → dis
Θ →<
Θ →≤
Θ →=
Θ →≥
Θ →>

Avt → avt j (1 ≤ j ≤ m)
Bool → visibility 1( Avt × Object )set ( Avt ) → visibility 2(Object , Bool )set (Object ) → visibility 3( Avt × Bool )set ( Avt , Bool ) → visibility4(Object )set (Object , Bool ) → visibility 5( Avt )set ( Avt , Object ) → visibility6( Bool )set ( Avt , Object , Bool ) → visibility73.3 融合文法の導入
3.3.1 距離・方向・位相・可視性ごとの問合せ構文木
シグネチャから導出された文法によって，各 sort は非終端記号に置き換えられるため，VWDB における問合せは，例えば図 1 に示すような構文木を形成することになる．

Θ →≠DIS → distance1(Object , Object )Θ → distance 2(Object , Object , DIS )set (Object ) → distance 3(Object , Θ, DIS )set (Object ) → distance 4(Object , Θ, DIS )set (Object × DIS ) → distance 5(Object )set (Object × DIS ) → distance 6(Object )set (Object × Θ) → distance 7(Object , DIS )set (Object × Θ) → distance 8(Object , DIS )set (Object × Object ) → distance 9(Θ, DIS )set (Object × Object × DIS ) → distance10◇ 方向文法Object → o i (1 ≤ i ≤ n)
DIR → dir
DIR → direction 1(Object × Object )set (Object ) → direction 2(Object × DIR )set (Object ) → direction 3(Object × DIR )set (Object , DIR ) → direction 4(Object )set (Object , DIR ) → direction 5(Object )set (Object , Object ) → direction 6( DIR )set (Object , Object , DIR ) → direction 7◇ 位相文法Object → oi (1 ≤ i ≤ n)
TOP → meet
TOP → disjo int
TOP → inside
TOP → contains
TOP → topology 1(Object × Object )set (Object ) → topology 2(Object × TOP )set (Object ) → topology 3(Object × TOP )set (Object , TOP ) → topology 4(Object )set (Object , TOP ) → topology 5(Object )set (Object , Object ) → topology 6(TOP )set (Object , Object , TOP ) → topology 7◇可視性文法Object → oi (1 ≤ i ≤ n)
Bool → true
Bool → false

3(a) DIS の一構文木(b)Θの一構文木(c)Θの一構文木
図 1 問合せ構文木の例

Fig.1 Examples of Syntax Tree of Queries
図 1(a)は，「o1 と o2 の距離は？」という問合せに対応し，
図 1(b)は，「o1 と o2 の距離は dis とΘの関係にあるか？」という質問に対応する．さらに，図 1(b)の DIS をさらに展開したものが図 1(c)で，「o1 と o2 の距離は o3 と o4 の距離とΘの関係にあるか？」という問合せに対応する．方向・位相・可視性に関しても同様に構文木が形成できる．

3.3.2 融合文法の考え方
本節では，距離・方向・位相・可視性に関する個々の問合せに加えて，それらを融合させた問合せ(融合問合せと呼ぶ)を考える．距離・方向・位相・可視性シグネチャに共通する
sort として Object と set(Object)が挙げられる．これらの共通した sort を介在して，距離･方向･位相･可視性に関する問合せを融合できると考えられる．生成則の右辺に operatorの変数として Object が出現するが，Object を左辺に持つ生成則は Object→oi という明らかな生成則以外にはない．しかし，set(Object)を左辺に持つ生成則は，構文木を評価して得られる一般には複数のオブジェクトの集合とみなせば，それを更に適用できると考えられる．例えば，生成則
DIS → distance1(Object, Object) の右辺に現れた Object を介在して，生成則 set (Object ) → visibility 3( Avt × Bool ) をさらに適用していく． これが，融合の意味である．
実際，set(Object)を左辺に持つ生成則を評価して得られたオブジェクト集合(ここでは，“これら”と書く)とあるオ
ブジェクト(ここでは，“あれ”と書く)について「これらとあれの距離は?」という質問は意味がある．従って，Objectと set(Object)を結合する文法規則を持つことで，距離･方
向･位相･可視性文法を融合する「融合文法」を導入することができる (図 2(a))．

日本データベース学会 Letters Vol.4, No.2

論文
DBSJ Letters Vol.4, No.2――――――――――――――――――――――――――――――――――――◇

融合文法
以下の 2 種類の生成則からなる文法と定義する．
(1) 距離･方向･位相･可視性文法の全ての生成則(2) 融合のための生成則
Object → fusion (set (Object ))め，結果として問合せ A の生成則の左辺にある sort の値が k個動的に得られることがわかる．これが fusion operator の意味である．

図 5 動的な融合問合せ評価のイメージ
Fig.5 Image of Dynamic Evaluation of a Fusion Query

4. まとめと今後の課題(a)融合文法(b)融合問合せ構文木の例
図 2 融合問合せ文法と融合問合せ構文木
Fig.2

Fusion Grammar and Syntax Tree of a Fusion Query

融合問合せ文法を用いた融合問合せの構文木の一例を，図2(b)に示す．この構文木は「avt1 から見えるものと o1 の距離は？」という問合せを表現する．このように，融合文法を用いることにより，空間関係の融合問合せが表現可能となる．

3.3.3 融合問合せ構文木に基づく問合せ評価
図 3 に，図 1(a)に示した「これとあれの距離は？」という問合せの評価(evaluation)を，図 4 に，融合のための生成則を適用して記述できる図 2(b)の融合問合せ「avt1 から見えているものと o1 の距離は？」の評価をそれぞれ Java 擬似コードで書いた例を示す．

図 3 問合せ(図 1(a))評価の Java 擬似コード
Fig.3 Java Pseudo-code for Evaluating Query (Fig.1(a))

図4

問合せ(図 2(b))評価の Java 擬似コード

Fig.4 Java Pseudo-code for Evaluating of Query (Fig.2(b))

このように，距離・方向・位相・可視性に関する問合せ構
文木は，それぞれの生成則の左辺にある sort の値(value)を結果として出力する．
また，融合のための生成則を適用した構文木は，図 5 にあるように，set(Object)を，問合せ B の結果得られた k 個のオブジェクトからなる集合(0≦k≦n)とすると（k は実行時に決まる），問合せ A は，k 回繰り返し評価されることとなるた

4

本稿では，VWDB における問合せ言語の拡張として，融合文法を提案した．距離・方向・位相・可視性に関するシグネチ
ャを定義し，そこから生成則を導出し，問合せを構文木で表現した．さらに融合文法を導入することで距離・方向・位相・可視性に関する問合せを融合することを可能とした．
今後の課題として，構文木で表現された融合問合せを，どのようにして自然な言葉で表すかを検討し，音声認識ルールを構築することで，マルチモーダルな問合せインタフェースの実現が挙げられる． この際，音声で入力された問合せ文の解析法，問合せ結果の表示方法なども研究課題となる．

[文献］[1] 渡辺知恵美，“仮想世界データベースシステムの設計と実装，”お茶の水女子大学博士学位論文，2003.
[2] 渡辺知恵美，大杉あゆみ，佐藤こず恵，増永良文，“仮想世界データベースシステムにおける共有型作業環境のためのトランザクション概念の導入，”情報処理学会
論 文 誌 ： デ ー タ ベ ー ス （ TOD ）， Vol.43, No.SIG9(TOD15), pp.55-67, 2002.
[3] 渡辺知恵美，増永良文，“仮想世界データベースシステ
ム VWDB2 における仮想世界同期法,”情報処理学会論
文 誌 ： デ ー タ ベ ー ス ， Vol.44, No.SIG8 (TOD18),
pp.65-77, 2003.
[4] 矢野ナホコ，横川明子，増永良文“仮想世界データベー
スシステムにおけるマルチモーダル問合せ言語の開発，”日本データベース学会 Letters, Vol.4, No.1, pp.
5-8, 2005.
[5] M. Egenhofer, “Spatial Relation: Models, Interfaces,
and their Future Application,” Proceedings ofAdvanced Database Symposium '96, SIGDBS, IPSJ,
31p., 1996.
[6] J. Craig Cleaveland: An Introduction to Data Types,
AT&T Bell Laboratories, 239p., 1986.

横川 明子

Akiko YOKOGAWA

お茶の水女子大学大学院人間文化研究科博士前期課程在学
中．2004 お茶の水女子大学理学部情報科学科卒業．VWDBの研究・開発に従事．日本データベース学会学生会員．

増永 良文

Yoshifumi MASUNAGA

お茶の水女子大学理学部情報科学科教授．1970 東北大学大学院工学研究科博士課程修了，工学博士．データベースシス
テムの研究・開発に従事．情報処理学会および電子情報通信学会フェロー．日本データベース学会会長．著書に「リレーショナルデータベース入門〔新訂版〕」(サイエンス社)など．

日本データベース学会 Letters Vol.4, No.2