JPH08235221A - インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法 - Google Patents

インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法

Info

Publication number
JPH08235221A
JPH08235221A JP7268904A JP26890495A JPH08235221A JP H08235221 A JPH08235221 A JP H08235221A JP 7268904 A JP7268904 A JP 7268904A JP 26890495 A JP26890495 A JP 26890495A JP H08235221 A JPH08235221 A JP H08235221A
Authority
JP
Japan
Prior art keywords
database
probability
node
handwritten
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP7268904A
Other languages
English (en)
Inventor
Baabara Danieru
バーバラ ダニエル
Efu Koosu Henrii
エフ.コース ヘンリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/324,231 external-priority patent/US5524240A/en
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JPH08235221A publication Critical patent/JPH08235221A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Character Discrimination (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】インデックス付けされたデータベースを生成す
る。 【解決手段】ルートノード及び複数のリーフノードを有
するインデックスが確立され、各リーフノードは、経路
によってルートノードに接続されたおり、ルートノード
から複数のリーフノードの1つへの各経路は、シンボル
の入力シーケンスに各々対応している。各リーフノード
の入力シーケンスは、該組の部分集合へのポインタの集
合を含んでいる。各手書きオブジェクトの出力シーケン
スを分析し、各入力シーケンスが出力シーケンスにマッ
チする確率を決定するために、隠れマルコフモデル(H
MM)が各々実行される。出力シーケンスが少なくとも
しきい値以上の確率で入力シーケンス(前記リーフノー
ドに対応する)にマッチする組を指すポインタが、各リ
ーフノード中のポインタ集合中に含められる。この確率
は、各手書きオブジェクトの出力シーケンスのための各
HMMによって決定される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース中の
文書を探索(search)する方法一般に関し、特に、手書き
の電子文書をインデックス付けし、探索するための方法
に関する。
【0002】
【従来の技術】コンピュータにおいて、ペン型インター
フェースの導入とともに、電子絵画および手書きの文書
が普通に用いられるようになってきている。最近の製品
においてキーボードは、全てのデータ入力を実現可能な
ペンによっておきかえられている。
【0003】D.LoprestiおよびA.Tomk
insは、論文「絵文字名(Pictrographic Naming)」、
INTERCHI、1993年4月、補会報(絵文字名(pic
tographic name)の使用に関する教示について援用)に
おいて、文書名の許容範囲を、任意の手書きの絵を含む
ように拡張することを提案している。文書を作成したと
き、または初めて記憶媒体に記憶するときに、作者は、
文字による名前を打つ代わりに、絵文字名を描く。後に
文書の1つを検索するときには、絵文字名をメニューま
たは「ブラウザ」に表示し、使用者は所望の絵文字名を
選択する。データベースが約8から12以上の文書を含
むときには、検索中に全ての絵文字名を表示することは
現実的ではなくなる。
【0004】後で文書の1つを検索するための別の方法
では、ペン型のインターフェースを用いて絵文字名をも
う1度描く。手書きの絵は毎回全く同じには描かれない
ので、任意の手書きの絵(すなわち入力シーケンス)が
どの文書(すなわち出力シーケンス)を表しているかを
決定するためには、パターン認識技術が必要となる。手
書きの絵の使用によって文書を識別(identify)するため
に提案された技術の1つは、隠れマルコフモデル(HM
M:Hidden Markov Model)を用いて入力シーケンスに
最も似た絵文字名を有する文書候補のリストを与えるも
のである。このリストから、ペンを用いて1つのファイ
ルが選択される。HMMによれば、絵および手書き文書
マッチングのための強力なツールが提供される。数人の
研究者が、HMMを用いて手書きおよび手書きされた文
書をモデル化してきた。
【0005】Rabiner L.R.の「音声認識に
おける隠れマルコフモデルおよび選ばれたアプリケーシ
ョンに関するチュートリアル(A Tutorial on Hidden Ma
rkovModels and selected Applications in Speech Rec
ognition)」IEEE会報、77(2):257−285、1989年2
月を、HMMのパターン認識への使用に関する教示に関
して援用する。
【0006】形式的には、HMMは、観察され得ない
(隠れた)推定的(stochastic)プロセスであって観察さ
れたシンボルのシーケンスを生成する1群の推計的プロ
セスによって明らかにされるような推計的プロセスを含
んだ2重に推計的なプロセスである。数学的には、HM
Mは組<σ、Q、a、b>である。
【0007】上記式において、 1)σは出力シンボルの(有限の)アルファベット文字
である。シンボルは、典型的には文字の部分集合であ
る。
【0008】2)Qは状態の集合であり、N個の状態モ
デルに対し、Q={0、...、N−1}である。
【0009】3)aは状態間の遷移(transition)を支配
する確率分布である。状態iからjへ遷移する確率は、
ijによって表される。遷移確率aijは、0から1の間
であって、下記の式(1)を満たす実数である。
【0010】
【数1】
【0011】この分布は状態の初期分布すなわち最初の
状態をiとしたとき、確率aiを含む。
【0012】4)bは、各状態における出力シンボルの
分布を支配する出力確率分布bi(s)である。すなわ
ち、bi(s)は状態iの間にシンボルs ∈ σを生成
する確率である。これら確率は、以下の法則に従う。
【0013】
【数2】
【0014】
【数3】
【0015】通常、HMMが用いられる場合、遷移確率
(a)および状態集合(Q)は、モデルを1連のサンプ
ルに最適に適合させることによって計算される(これは
モデルを「訓練すること(training)」として知られてい
る)。各サンプルは、出力シンボル(ポイント)シーケ
ンスからなり、この出力シンボル(ポイント)シーケン
スを用いることによってモデルのパラメータが調整され
得る。しかし、手書き文書認識のようなアプリケーショ
ンの場合、モデルは1つのサンプル(インデックスされ
る文書の出力シンボルのシーケンス)を用いて記述され
る。よって非常にしばしば、モデルの構造は、それを訓
練するために用いるサンプルの欠如を補うために「固
定」されている。すなわち、モデルが一旦インデックス
に対して選択されると、そのモデルは前記インデックス
に対して常に用いられる。このモデルはインデックスの
生成後に動的に変化されることはない。例えば、「左か
ら右(left-to-right)」HMMを用いることが、可能で
ある。この「左から右」HMMとは、現状態に留まるこ
と、またはシーケンス中の次の状態にジャンプすること
のみが可能なモデルのことである。
【0016】
【発明が解決しようとする課題】手書き文書問題に関し
ては、データベース中の各絵または文書は、HMMによ
ってモデル化される。従って、入力パターンが与えられ
たとき、認識プロセスは、データベース中の各HMMを
実行しかつ最も高い確率で入力パターンを生成するHM
Mを選択することを包含する。これは非常に時間を浪費
する。HMMを用いることの主な障害は、実行速度、特
に大型データベースの場合における実行速度である。1
つの文書を検索するためにデータベース中の各文書に対
してリアルタイムにHMMを実行することは、1文書の
検索プロセスにおいて容認できない遅れをもたらし、こ
の方法による絵文字名の使用を非実用的なものにする。
【0017】
【課題を解決するための手段】本発明は、コンピュータ
システムに記憶されたインデックス付けされたデータベ
ースを生成するための方法である。
【0018】本方法は、複数のデータオブジェクトを含
むデータベースを確立することを包含する。各データオ
ブジェクトは、属性値の各組によって規定される(ここ
において、組という語は、従来の意味で用いられる。す
なわち、エンティティ(entity)とその属性値とを識別す
る関係の一部という意味で用いる。リレーショナルデー
タベースの場合、組とは、リレーションテーブル中の1
つの列である。)。属性値は、手書きオブジェクトを含
む領域の値を有する少なくとも1つの属性値を含んでい
る。各手書きオブジェクトは、出力シーケンス中に順序
づけられた複数の出力シンボルを含む。
【0019】ルートノードおよび複数のリーフノードを
有するインデックスが確立される。各リーフノードは、
ルートノードから複数のリーフノードの1つへの各経路
が、各入力シーケンス中シンボルに対応するように各経
路(path)を通ってルートノードにつながっている。それ
ぞれのリーフノードのための入力シーケンスは、その組
のサブセットに対する一連のポインタを含んでいる。
【0020】各手書きオブジェクトの出力シーケンスを
分析するため、および各入力シーケンスが出力シーケン
スにマッチする各確率を決定するために、各隠れマルコ
フモデル(HMM)を、実行する。
【0021】各出力シーケンスが入力シーケンスにマッ
チする確率が少なくともしきい値であるような任意の組
へのポインタが、各リーフノード中の各ポインタ集合中
に含まれている。確率は、各手書きオブジェクト出力シ
ーケンスのHMMによって決定される。
【0022】
【発明の実施の形態】図1を参照して、本発明の1つの
局面は、複数の電子手書きオブジェクトをインデックス
付けするための方法である。複数の電子手書きオブジェ
クトは、文書D1〜D10のような手書き文書を包含し得
る。本方法は、パーソナル・デジタル・アシスタント(p
ersonal digital assistant)(PDA)に使用され得るが、
ペン型のインターフェースを用いる他のハードウェアシ
ステムにも拡張し得る。
【0023】説明を簡潔にするため、図1は、アルファ
ベットが2つのシンボル(0および1)しか有さず、か
つシーケンス長が3シンボルである簡略化されたインデ
ックスを示す。本発明では、各オブジェクトの特徴を、
インデックス付け時の前処理段階においてHMMを用い
て分析し、インデックス中に格納する。
【0024】HMM分析結果は、後のオブジェクト検索
操作(operation)において、類似の特徴を有する入力シ
ーケンスを認識するために用いられる。オブジェクトを
検索する度毎にHMMを実行する必要はない。検索中に
おいて、特徴はインデックスに格納されたシーケンスに
対して単純に比較され、予め実行されたHMM結果によ
り、入力シンボルによって表されている確率の高いオブ
ジェクトが識別される。このように、入力シーケンスが
検知されるとき、マッチする出力シーケンスを識別する
ために直接解釈されるわけではなく、格納されたHMM
を用いることによって、予め認識された出力シーケンス
に対して比較を行う。
【0025】第1の実施例において、オブジェクトは、
リポジトリ(repository)またはデータベースに格納され
た複数の手書き文書である。インデックスを組立て、適
用するための方法を、まず手書き文書を包含するデータ
ベースについて図1を用いて説明する。
【0026】各文書D1〜D10は、出力シーケンス中に
順序づけられた複数のシンボルを有する。文書がデータ
ベースに追加されるとき、文書からある固定整数(T)
個のシンボルがインデックス付けに用いられる。このT
個のシンボルは、絵文字名を形成していてもよく、また
は文書のテキスト自体の最初のT個のシンボルであって
もよい。本実施例において、出力シーケンス長Tは、文
書名中のシンボル数とする。
【0027】各文書D1〜D10は、各HMMによってモ
デル化される。HMMは、n個の出力シンボルを含む共
通のアルファベットを有し、T個のシンボルからなる共
通の出力シーケンス長を有する。ここで、nは整数であ
る。
【0028】以下、文書中の出力シンボルとは、文書名
中の出力シンボルを示す。
【0029】インデックスは、トリー10として構築さ
れる。トリー10は、T+1個のレベルを有する(ただ
しTは、レポジトリもしくはデータベース中の文書に関
連づけられたHMMにおける出力シーケンス長または出
力シーケンスのステップ数である)。トリー10のルー
トは、レベル0におけるノード12であり、rによって
示される。トリーの各レベルは文書中の各連続シンボル
に対応する。トリー10の各レベルは、検索の精度を制
御するしきい値に関連づけられている。
【0030】トリー10の各内部ノード12、22、2
4および31〜34(ルートノード12を含む)は、n
個の組であり、n個の組中の各エントリは、出力アルフ
ァベットσのそれぞれ異なるシンボルに対応し、サブト
リーへのポインタを有している。ν[k]は、ノードν
上のk番目のエントリを示す。ただし、kは0からnの
間の整数である(図1に示す例ではn=2)。
【0031】T−1番目のレベルにおける各内部ノード
31〜34は、リンクされたポインタのリストを含んで
いるT番目のレベル中のリーフノード41〜48を指し
ている。例えば、リンクされたリスト41は、ポインタ
41a〜41cを含んでいる。リンクされたリスト41
〜48は、レポジトリ中に文書を含んでいるファイルD
1〜D10へのポインタを格納している。
【0032】トリーの各ブランチ内の連続するポインタ
は、ポインタのシーケンスを形成する。例えば、図1
に、入力シーケンス0、1、0に対するポインタのシー
ケンス50を示す。すなわち、最初の入力シンボル0が
与えられると、ノード12のゼロ番目のポインタ12a
はノード22を指す。次の入力1が与えられると、ノー
ド22の1番目のポインタ22kはノード32を指す。
次の入力0が与えられると、ノード32のゼロ番目のポ
インタ32aはリーフノード43を指す。
【0033】当業者であれば、可能な入力シーケンスと
リーフノードの間に1対1の対応が成り立っていること
が理解できるであろう。表1は、図1に示される入力シ
ーケンスおよび対応するリーフノードをリストしたもの
である(参照符号によって示す)。
【0034】
【表1】
【0035】文書D1〜D10をインデックス10に加え
るとき、文書に対するHMMが実行される。インデック
ス10中の、対応入力シーケンスがこの文書の出力シー
ケンスにマッチする確率が少なくともしきい値以上であ
る各ブランチのリーフノード41〜48の、各リンクさ
れたリスト(例えば41a〜41c)に対して、文書D
1〜D10へのポインタが、加えられる。問い合わせ(quer
y)動作において、入力シーケンスが一旦識別されると、
識別された入力シーケンスに対応するリーフノード41
〜48によって、そのシーケンスを有する確率が最小し
きい値以上であるオブジェクト(文書)にポインタが与
えられる。このとき、その文書に対してHMMを再実行
することはない。これにより、問い合わせへの反応時間
がかなり減少する。
【0036】上記のように、インデックス10は、実際
のデータオブジェクトD1〜D10を指し示す(図7(a)に
簡略的に示す)。本発明のもう1つの局面によれば、複
数のデータオブジェクトのそれぞれが属性値の各組によ
り規定され、また少なくとも1つの属性値が手書きオブ
ジェクトを含む領域の値を有しているようなより一般的
なデータベースのインデックス付けのために、インデッ
クスを用いることが可能である。この方法により、パー
ソナル・デジタル・アシスタントまたはパームトップ型
コンピュータに記憶されたデータベース中のオブジェク
ト属性値を、ペン入力することが可能になる。
【0037】図7(b)は、リレーショナルデータベース
502中のあるリレーションを有する属性値510およ
び511を指し示すインデックス700の概略図であ
る。インデックス700は、インデックス10(図1に
示す)またはインデックス300(図4(c)に示す)と
同じ構造を有し得る。属性値510および511の各々
は、手書きオブジェクトを包含する各領域を有してい
る。例えば、手書き属性の値は、データベースに対して
問い合わせを行うときに用いられる絵またはラベルであ
ってもよい。属性値510〜512は、個々の手書きデ
ータオブジェクト701〜703を規定する。
【0038】第1の実施例と同様に、各手書きオブジェ
クトは、各HMMによってモデル化される。インデック
ス700は、手書き属性値511または512を探索キ
ーとして用いることによって確立される。インデックス
700のルートノードからインデックス700のリーフ
ノードの1つ(例えば741)への経路の各々は、各シ
ンボルシーケンスに対応している。各リーフノード74
1は、リレーション502における組502a〜502
fの部分集合へのポインタ集合を含んでいる。各部分集
合は、HMMの決定に基づき、手書き属性(オブジェク
ト)の値がそのリーフノードに対応する各シーケンスに
少なくともしきい値以上の確率でマッチするような組
(例えば502a、502b)を、含んでいる。
【0039】例えば、図7(b)に示すように、属性値5
11は、探索キーとして用いられ得る。インデックス7
00中のリーフノード741は、リレーション502に
おける組502aおよび502bへのポインタのリスト
を含んでいる。組502aおよび502bの各手書き属
性値511は、リーフノード741に対応する各入力シ
ーケンスにマッチする確率が少なくともしきい値以上で
ある。
【0040】本発明の更なる局面においては、少なくと
も1つの属性が手書きオブジェクトを含む領域の値を有
するようなデータベースのためのリレーショナル代数演
算(operation)が規定される。これらの動作を、図6(a)
および図6(b)を用いて後述する。
【0041】本発明の更に別の局面においては、ペン型
例示問い合わせ(Query-by-Example)(PQBE)システ
ムが提供される。PQBEにより、使用者は、スタイラ
スおよび電子デジタイザ(digitizer)パッド(例えばパ
ーソナル・デジタル・アシスタントまたはパームトップ
コンピュータにおけるデジタイザパッド)を用いて手書
きオブジェクトをスケルトンテーブルに入力することに
よって、データベースに問い合わせをすることが可能に
なる。これらの動作を、図8を用いて後述する。
【0042】インデックス構築 図1を再び参照して、本発明の第1の実施例による複数
の手書き文書にインデックス付けする方法を詳細に説明
する。
【0043】文書を挿入するために、T個の出力シンボ
ル集合が文書から抽出される。図1の例においては、3
つのシンボル(T=3)が抽出され、各シンボルはゼロ
または1である。
【0044】n個のアルファベットおよびシーケンス長
Tに対し、nT個の可能な出力シーケンスが存在する。
よって、(図1に示す)トリー10は、各可能な出力シ
ーケンスに対し1つずつ、計nT個のリーフノード41
〜48を有している。発明の第1の実施例においては、
挿入されている文書D1〜D10に対するHMMは、前処
理(挿入)段階においてnT回実行される(各HMMは
全ての可能なシーケンスに対して異なる回数ずつ実行さ
れる)。もし任意の出力シーケンスが文書の出力シーケ
ンスを示している確率がしきい値よりも高いとHMMが
決定すると、その文書へのポインタが、その出力シーケ
ンスに対応するポインタシーケンスによって識別される
リンクされたリストに、付加される。この決定は、各リ
ーフノード41〜48に対して行われる。
【0045】例えば、トリー10が与えられるとき、文
書D1に対するHMM(HMM1と呼ぶ)は、8回実行さ
れる(表1に示す出力シーケンスの各々に対し1回ず
つ)。HMM1が所与の出力シーケンスに対して実行さ
れるとき、HMM1は、その出力シーケンスが文書D1
出力シーケンス中のT個のシンボルを示している確率を
決定する。図1に示すように、前記出力シーケンスを示
している確率を所望の値以上有している(すなわち確率
がしきい値より高い)のは、出力シーケンスの2つのみ
(0、0、0および1、1、0)である。従って、文書
1へのポインタ41 aおよび47bがリーフノード4
1および47のリンクされたリストのそれぞれに付加さ
れる。
【0046】リンクされたリストは、その他のHMM
(HMM2、...、HMM10と呼ぶ)を、可能な出力
シーケンスに1回ずつ8回実行することによって完成さ
れる。その後、各出力シーケンスが文書の出力シーケン
スに等しい確率が所望のしきい値を超える各リーフノー
ド41〜48のリンクされたリストに、各文書D2〜D
10に対するポインタが、付加される。
【0047】一旦文書が以上のように処理されかつイン
デックスされれば、1つの文書または1群の文書の検索
を非常に素早く行うことができる。文書を検索するため
には、使用者は入力デバイスを用いて絵文字名を描き、
入力されたシンボルのシーケンスが検知される。表1に
示した1対1の対応を用いて、トリーをトラバース(tra
verse)することにより(ルートノード12からリーフノ
ード41〜48へのポインタ経路を通って)、入力シー
ケンスに対応するリーフノード41〜48が発見され
る。
【0048】また、ポインタを格納してトリーをトラバ
ースする代わりに、リーフノード41〜48の位置を入
力シーケンスの関数として計算しても良い(トリーは全
てのノードが含まれる完全なトリーであるため)。一旦
リーフノードが発見されれば、リーフノードのリンクさ
れたリストに含まれる文書のリストが使用者に提供され
る。
【0049】好ましくは、探索によって発見された文書
の絵文字名は、グラフィカルユーザーインターフェース
を用いることによりメニュー内に絵文字的に表示され
る。使用者は、所望の文書を表示されたリストから選択
する。図1に示す例において一旦使用者が絵文字名を描
くと、発明の実施例においては、最も近い1つないし4
つの名前を有する文書が選択するために表示される。こ
のようにして、もし使用者が入力シンボル0、1、0
(シーケンス50)を有する絵文字名を描いた場合、シ
ステムは文書D3およびD4の絵文字名を表示する。使用
者は、10個の文書から選択をする手間が省け、文書検
索操作(operation)中にHMMを実行することにともな
う遅延が避けられる。
【0050】以上説明した第1の実施例は、各文書名中
のアルファベットのサイズおよびシンボル数が比較的短
い場合に効果がある。例えば、図1に示すインデックス
では、アルファベット中に2シンボルしかなく、またシ
ーケンス長が3シンボルであり、トリー中のノード総数
は15である。
【0051】しかし、もしアルファベットのサイズまた
は出力シーケンス長が大きくなると、インデックスのサ
イズおよびそれを生成するために必要とする時間が指数
的に増加する。例えば、50個のシンボルが出力シーケ
ンス中に存在し、アルファベットが250個のシーケン
スを含んでいるとすると、インデックスは約10120
のノードを含んでいる。この場合、多くのデータベース
に対して上記第1の実施例は非実用的となる。
【0052】インデックスを生成するために必要とする
時間を減少するために、図3を用いて下記に説明するよ
うに、本発明の第2の方法によれば、単に確率を計算
し、かつトリーの中の1つ以上の文書を指しているリー
フノードを有している可能性の高いブランチのためのイ
ンデックスエントリを格納するための方法が提供され
る。第2の実施例も、図1と同様のインデックスを用い
ることが可能である。この方法を図3のフローチャート
を用いて詳細に説明する。
【0053】本発明の更なる局面によれば、トリー10
は、各文書の、あるレベルにおける文書の出力シーケン
スを表している確率が少なくともしきい値以上である入
力シンボルを示している各レベルのノードのみを包含し
ていてよい。その結果、トリー10のサイズが相当小さ
くなる。本発明のこの局面を、図4(a)から図4
(c)を用いて詳細に説明する。
【0054】実施例においては、文書をデータベースに
加える際に各文書へのポインタをインデックスに追加す
ることにより、インデックスを時間の経過につれて構築
しているが、既存のデータベースに対しても、ここに記
載した方法によって本発明のインデックスを構築するこ
とが可能である。各文書のための、各入力シーケンスに
対して実行される各HMMおよびその文書を指すポイン
タは、インデックスのリーフノードに加えられる。
【0055】方法 文書を挿入するために、T個の出力シンボル集合がその
文書から抽出される。図1に示す概略図においては2つ
のシンボルしか示していないが、手書き文書のためのア
ルファベット例は、16個のシンボルを有する。手書き
の絵はポイントに分割され、各ポイントはシンボルによ
って示される。本シンボルアルファベット例において
は、ポイント毎につき4つの特徴が抽出される。すなわ
ち、方向、速度、方向の変化、および速度の変化であ
る。各特徴は、4つの可能な値の集合から導かれる。そ
の理由は、1つのポイントの特徴ベクタ(シンボル)は
4ペアのビットを用いて示されるからである。本シンボ
ルアルファベット例においては、σ中の出力シンボルの
各々は、8ビットのベクタ値を用いて表現される。他の
同等のシンボルアルファベットを用いてもよいと考えら
れる。当業者であれば、トリーの各ノードがこのアルフ
ァベット例ついて、16個のエントリを有することが理
解されるであろう。図を簡潔にするため、トリー全体は
示していない。
【0056】個々のシンボルは、ペン型インターフェー
ス等の従来技術を用いて検知されるとする。本実施例に
おいて、いったん個々のシンボルが検知されると、「左
から右」HMMがシンボルを分析するために用いられ
る。「左から右」HMMとは、現状態に留まることまた
はシーケンス中の次の状態にジャンプすることのみが可
能なモデルである。
【0057】このようなHMMの1例を図2に示す。こ
のモデルは、0から4までナンバリングされた5つの状
態を含んでいる。このHMM例において、状態iから状
態i+1にジャンプする確率piは、0 ≦ i ≦ n−
1 の時、0.5である。一方、同じ状態に留まる確率
(1− pi)は0.5である。最後の状態に留まる確率
nは、一旦到達すれば、1.0である。選択されたH
MMがインデックスの一 生を通じて固定であり、動的
に変化しなければ、他のHMMも使用され得ることが当
業者には理解されるであろう。
【0058】トリーの各レベルL(0≦ L≦ T)に
は、それぞれ最小確率値εL(0 ≦εL ≦ 1 が割り
付けられる。
【0059】トリー10中の各ノードq、レベルL、出
力アルファベット中の各シンボルoにおいて、Oq=O
[i1]O[i2]...O[iL]は、トリーのルート
12からノードqへの経路中のシンボルシーケンスを表
している。そして、データベース中の全てのHMMに対
し(すなわち全ての文書に対し)計算可能である関連づ
けられた剪定関数(pruning function)fm(L、q、
q、o)が存在する。
【0060】図3を参照して、本発明の別の局面に特徴
づけられる実施例を示す。ステップ100、102、1
04、および122を有するループが実行される。ステ
ップ100は、このループが実行されるべき1つの文書
を選択する。ステップ102において、レベルは、挿入
プロシージャ104を開始する前にゼロ(ルートノー
ド)にリセットされる。データベース内の各文書D1
10に対し、ステップ104のプロシージャが実行され
る。
【0061】ステップ104の挿入プロシージャは、ス
テップ108においてkの値をゼロにセットすることに
よって開始する。kは、トリー10の各レベルのゼロ番
目のノードにおいて0の値を有する整数のインデックス
である。ステップ110において、剪定関数計算が実行
される。与えられたレベルL、与えられたノードν、出
力シーケンスの部分集合O(ノードνとルートとの間の
経路の全てのノードを含む)、およびインデックスkの
任意の値の組み合わせに対し、剪定関数f(L、ν、
Oν、k)はO中の各シンボルが文書Dmの正しい対応
する出力シンボルを表している確率を与える。
【0062】挿入プロシージャのステップ110におい
て、レベルLのノードνおよび出力シンボルkを処理す
るとき、もし条件fm(L、q、oν、k)≧εLが真
であれば、ステップ112において、ノードν[k]か
ら始まるサブトリーが調べられる。もし真でなければ、
挿入アルゴリズムは、決定ステップ110の「No」ブ
ランチをたどることによって、ノードν[k]から始ま
るサブトリー全体をスキップする。このことにより、確
率計算の数が減り、結果として、各文書をデータベース
に挿入するときにインデックスする時間が減少する。
【0063】もしステップ110の「Yes」ブランチ
がとられた場合は、ステップ112において、現ノード
のレベルがチェックされる。もし現ノードが中間ノード
であれば(すなわちL≦ T−1)、制御はステップ1
16に移り、ステップ104の挿入プロシージャが、現
ノードポイントのk番目のエントリ(ポインタ)が指し
ているトリーのブランチに対し、再帰的に実行される。
ステップ104の再帰的実行の間、ステップ112のチ
ェックが、現レベルLがT番目のレベル(リーフノー
ド)であると決定したとき、文書Dmへのポインタがそ
のリーフノードに格納されたポインタリストに付加され
る。
【0064】ステップ118および120において、一
旦Dmに対するインデックス処理が現サブトリーにおい
て完了すると、ステップ110〜ステップ120をkの
各値(すなわち任意のレベルの各ノード)について繰り
返すことによって残りのサブトリーの全てが調べられ
る。kの値がnになった時、この文書の処理は完了し、
ステップ122において制御をステップ100に渡すこ
とによって他の文書を処理することが可能になる。
【0065】例えば、図1を再び参照し、文書Dをデ
ータベースに挿入しようとしているとする。入力装置の
シンボル検知部分(symbol detection facility)から、
シンボルストリング0、1、1が検知される。処理は、
ルートノード12から開始する。ステップ110におい
て、ノード12のゼロ番目のエントリ12a(ノード2
2を指している)に対し、関数fmが、ゼロ番目のレベ
ルの最小確率ε0よりも大きい確率値を返す。従って、
エントリ12aが指しているブランチが調べられる。
ステップ116において、ノード22のゼロ番目のエン
トリ22aに対し、関数fmが、1番目のレベルの最小
確率ε1よりも小さい確率値を返す。その結果、エント
リ22aが指しているブランチは調べられない。ノード
31に対しては、確率計算は全くなされない。次に、ノ
ード22の1番目のエントリ22k(ノード32を指
す)に対し、関数fmが部分シーケンス0、1について
評価され、ε1よりも大きい確率値を返す。このように
して、エントリ22kを指すポインタが調べられる。
【0066】ノード32において関数fmを評価した結
果、確率は、エントリ32aについて評価したときのレ
ベル2に対する最小確率値(ε2)よりも小さく、ま
た、エントリ32kについて評価したときの最小確率ε
2よりも大きい。従って、文書D7へのポインタは、エ
ントリ32kが指しているリスト44中に格納される。
次に、関数fmが、ノード12の1番目のエントリ12
kについて評価される。関数はε0よりも小さい確率値
を返し、その結果、エントリ12kが指すブランチは、
評価されない。このようにして、図3のプロシージャを
用いることにより、文書D7に対する確率計算は、ノー
ド31、24、33、および34においては行われな
い。しかし、挿入遅延(insertion delay:文書をレポ
ジトリに付加するときの前処理時間)は減少するが、図
3の方法によって生成されるインデックスは、n=2か
つT=3であるトリーに対して、図1に示したものと同
量のメモリを使用する。本発明の別の局面によれば、イ
ンデックスによって占められる空間も減少させることが
可能である。
【0067】本発明の更なる局面によれば、あるレベル
における文書の出力シーケンスを表している確率値が少
なくともεLであるような全ての各レベルの入力シンボ
ルを識別する各文書について、アレイを維持してもよ
い。各文書の各レベルにおける確率の高いシンボルを識
別するアレイを維持することによって、トリー10のサ
イズを相当減少することができる。
【0068】図1の文書D1の例を参照し、もし文書D1
がデータベース中の唯一の文書であれば、この文書はリ
ーフノード41および47の両方に関連づけられている
ため、トリーはノード12、22、24、31、34、
41、および47のみを含んでいる。このアレイは、レ
ベルゼロのノード12、レベル1のノード22および2
4、ならびにレベル2のノード41および47を識別す
る。ノード32、33 、42〜46、および48はト
リーには含まれない。アルファベットのサイズまたは文
書名の長さが大きいときは、本発明のこの局面によれ
ば、トリーサイズは大幅に減少される。
【0069】表2は、図3の方法を実行する際の疑似コ
ード例を示している。
【0070】
【表2】
【0071】表2の挿入プロシージャ(insertion proce
dure)の間、レベルlのノードνおよび出力シンボルk
を処理する際に(ステップ226)、もし条件(f
m(l、ν、Oν、k)≧ ε1)が真であれば、ステッ
プ228〜230において、サブトリーν[k]が調べ
られる。そうでない場合、ステップ228〜234が実
行されず、挿入アルゴリズムはサブトリー全体をスキッ
プする。これによって、各文書をデータベースに挿入す
るために必要な時間が減少する。
【0072】表3は、文書を検索する際にインデックス
をトラバースするための疑似コード例を示している。入
力文書Dに類似した文書の集合を選択するために、T個
の出力シンボル集合O={O[i]、0 ≦ i ≦
T}および {0 ≦ O[i]≦ n−1}が入力シー
ケンスから抽出され、トラバースプロシージャ(Procedu
re traverse:表3参照)が実行される。または、リー
フノードのアドレスは、出力シンボル集合Oを計算し、
それに関連づけられたk個のHMMに、直接アクセスし
てもよい。
【0073】
【表3】
【0074】図1を用いて上記に説明したインデックス
10は、剪定関数f(l,q,Oq,o)が提供され
る限り有効である。インデックスの「性能」は、剪定関
数がどのくらい有効であるかに影響される。インデック
スの性能は、その方法が正しい絵文字名を最初に選択す
るか、または、使用者が正しい名前を選択するためのリ
スト中の数個の名前の中に、正しい名前が含まれている
か否かによって測られる。
【0075】剪定関数 fm(l、q、Oq、o)を計算するために、文書の基本
的なデータベースによって以下の条件が満たされると仮
定する。
【0076】(1)データベース内のすべての文書は、
左から右HMMによってモデル化され、各HMMはN個
の状態を有している。これらのHMMの遷移確率は以下
のようになり得る。
【0077】
【数4】
【0078】
【数5】
【0079】
【数6】
【0080】データベース内のすべての文書について、
長さTの出力シンボルのシーケンスが抽出される。イン
デックスが用いられるすべての入力は、HMMのアルフ
ァベット(Σ)から取られたT出力シンボルのシーケン
スの形態で与えられる。
【0081】剪定関数fmのいくつかのバリエーション
を用いてもよい。第1の剪定関数例は、以下のように生
成され得る。
【0082】HMM Hmがその実行のステップi(0
≦i≦T−1、および0≦j≦N−1)において状態j
にある確率にφm i,jを定義する。φm i,jが出力シーケン
スOには依存しないことに注目されたい。そして、HM
M Hmが実行のステップiにおいてシンボルoを出力
する確率Φm i(o)を定義する。Φm i(o)はφm i,j
用いて以下のように計算され得る。
【0083】
【数7】
【0084】
【数8】
【0085】このとき、式(4)〜(6)に基づき、
【0086】
【数9】
【0087】
【数10】
【0088】および
【0089】
【数11】
【0090】ここで
【0091】
【数12】
【0092】式(4)〜(12)に基づき、φおよびΦ
を計算する過程は、トリー10のブランチが処理される
過程には依存しない。この過程は、HMMモデル
(Hm)のみに依存する。その結果、トリーにHMMモ
デルHmを挿入すると、Φm[i][j]が、j番目の出力シン
ボルがHMM Hmを実行するi番目のステップにおい
て現れる確率に対応するように、T×Nの大きさを有す
るマトリクスΦm[] []が構築される。すなわち、
【0093】
【数13】
【0094】モデルHmをトリー10に挿入している
間、図3の方法によってたどった(descended)経路の数
を剪定(prune)するために、マトリクスΦm[i][j]
がアクセスされる。
【0095】第2の例示的な剪定関数は、出力シンボル
間の依存性を利用する。例えば、HMMの実行のステッ
プiにおいて出力シンボルが現れる確率を計算する代わ
りに、HMMの初めのi個のステップを実行した後に、
シーケンスO[0]O[1]...O[i]が現れる確
率を計算してもよい。これによって、新しいHMMが挿
入されるトリー内の経路に依存する第2の例示的な剪定
関数が導かれる。
【0096】この方法は、シーケンスOq=O[0]O
[1]、...、O[T−1](トリー10のルート1
2からノードqまでの経路内のシンボルのシーケンスを
示している)がHmによって生成される確率が高い(あ
るいは、与えられたしきい値を超えている)とき、リー
フノードqに属するリンクされたリストにHMM Hm
のインデックスmを挿入する。これは、確率:Prob
[O[0]O[1]、...、O[T−1]|Hm]に
対応する。挿入時間および前処理時間を節約するため
に、トリー10の可能な限り全てのパターン(長さT
の)についてこの確率を計算すべきではない。その結
果、トリーをたどると、以下の剪定関数が与えられる。
従って、サブトリー全体が剪定される。
【0097】剪定関数の第2の実施態様を用いるため
に、iステップを実行し、状態jで終了した後、シーケ
ンスO[0]O[1]...O[i]がHMMによって
生成される確率にαm i、jを定義する。すなわち、
【0098】
【数14】
【0099】HMMモデルHmがトリー10に挿入され
た時点で、トリー10をたどっていくと、シーケンスO
[0]O[1]、...、O[i]を中断せずに構成し
ながらαが動的に計算される。ノードqでトリー10の
レベルjまでトリーが深さ優先の順位でたどられること
を仮定する。シーケンスOq=O[0]O
[1]、...、 O[i]は、ル−トからqに降順し
ていく間に出会うシンボルに対応する。この場合、αは
以下のように計算され得る。
【0100】
【数15】
【0101】
【数16】
【0102】
【数17】
【0103】
【数18】
【0104】
【数19】
【0105】第1の剪定関数例と第2の剪定関数例との
間の相違点はαは計算のステップiまでに生成された出
力シーケンスに依存するが、φは依存しないことであ
る。さらに、Φは一つの出力シンボルにのみ依存し、α
のようにはシンボルのシーケンスに依存しない。αを計
算する再帰的過程は、φ計算の代わりにα計算が用いら
れることを除いて、φを計算するために用いられた再帰
的過程と同一である。
【0106】全ての経路についてαを計算する時間を削
減する方法の一つとして、再帰的なステップの中間結果
のスタックを保持することがある。サブトリーのトラバ
ースが終了すると、スタックはサブトリーのルートレベ
ル(すなわち、トリーのルートに最も近い、サブトリー
内のノード)までポップアップされ、トリー10のルー
トから計算を開始する代わりに、そこから再帰が開始さ
れる。モデルHmを挿入するためにトリー10が降順さ
れる際、ノードqを処理するときには、処理はノードq
の親内のα群から開始する。再帰的処理の1ステップ
は、q内の各シンボルについてαを計算するために与え
られる。その結果得られたn計算は 、スタックに保管
される(qにはn個のシンボルがある)。
【0107】qより下のサブトリーの一つを降順する
間、例えば、ノードuにおいて、ノードqについて計算
されたα群がαを計算するための再帰式数式の付加的な
1ステップで用いられ、ノードuにおける対応するα群
が得られる。このように、α群を計算するためのオーバ
ヘッドが最小になる、なぜなら、トリー10内の各ノー
ドについて、再帰的数式の1ステップがノード内の各シ
ンボルに対してαを計算するために採用されるからであ
る。プロシージャ全体は、ノードごとに1度しか行われ
ない。つまり、1つのノードに対するα群は1度を超え
ては評価されない。
【0108】挿入時間にアクセスされたサブトリーを剪
定するために、αが新しい関数ψm iを計算するために用
いられる。この新しい関数ψm iは、シンボルO[i]が
計算のステップiで現れる確率である(すなわち、ψm i
は、HMMの状態に関する情報には依存していない)。
これは、すべての可能な状態jに関してαm i、jを合計す
ることによって達成され得る。従って、
【0109】
【数20】
【0110】
【数21】
【0111】ψは、ノード内の各シンボルに対して計算
され、しきい値と比較される。シンボルに対応するサブ
トリーは、ψのその対応する値がしきい値を超える場合
にのみアクセスされる。換言すれば、各ノードに対する
剪定関数は、
【0112】
【数22】
【0113】によって定義される。
【0114】ψに対する計算は正確であり、この為に、
各入力パターンおよび挿入アルゴリスムによってアクセ
スされる各トリー経路について評価を行うのは計算上不
経済である。第3の例示的な方法が示されるが、この方
法は剪定関数ψの近似であり、方程式(20)〜(2
2)に示されている。剪定関数ψは近似をとられ、その
結果、剪定関数ψはノードqのレベルにのみ依存し、q
に至るトリー経路全体には依存しない。
【0115】HMM Hmを実行するk番目の段階にお
ける出力シンボルsをモデルが予測する、計算された確
率(あるいはその推定)になるようにpm k(s)を定義
する。従って、pm 0(s)は、第1のステップにおいて
出力シンボルSを見いだす確率である。発明者らは、p
m k(s)が以下のように推定され得ることを決定した。
【0116】
【数23】
【0117】ただし、AT-k+1,jは、方程式(14)〜
(19)によって定義されるαi,jの上限であり、以下
のように推定される。
【0118】
【数24】
【0119】ここで、Rrは、k−1ステップにおける
状態rにたどり着くためにとられ得る経路の数であり、
以下のように評価される。
【0120】
【数25】
【0121】表4は、Aおよびpm k(s)を計算するた
めの疑似コード例を一覧している。
【0122】
【表4】
【0123】トリー用格納スペースの削減 上記のように、アルファベット内のシンボルの数および
文書出力シーケンス長が増大するにつれて、(図1に示
されている)トリー10の大きさが指数的に増大する。
別のトリー構造例を説明するが、これは格納複雑性の点
で図1のトリー10を改良したものである。
【0124】図4(a)から4(c)を参照すると、第
2の例示的なトリー300が示されている。トリー30
0において、剪定関数は、挿入時間を剪定するためだけ
ではなく、トリーによって占められたスペース量を剪定
するためにも用いられる。モデルHmがトリーに挿入さ
れると仮定する。剪定関数(上記の関数Φ、ψあるいは
pのいずれか)が与えられると2次元マトリクスPm
計算され、このとき、各エントリPm[i][o]はHm
が実行のステップiでシンボルoを生成する確率に対応
する。Pmの大きさはn×Tであり、従って、アルファ
ベットおよび出力シーケンスの大きさが増大するに従っ
て指数的に増大しない。Pm[i][o]から、新しい
ベクトルLmが生成され、このとき、Lm[i]として表
されているLm内の各エントリは、その実行のステップ
iにおいてHmによって生成される確率が高いシンボル
のみを含む。換言すれば、Lmの各エントリは、以下の
ような出力シンボルのリストである。
【0125】
【数26】
【0126】例えば、ベクトルの例L1、L2およびL3
を表5に一覧する。ベクトルL1、L2およびL3は、H
MM H1、H2およびH3にそれぞれ対応する。
【0127】
【表5】
【0128】図4(a)〜4(c)は、本実施態様によ
る、ベクトルL1、L2およびL3から形成されるトリー
300を示すブロック図である。簡略化のために、トリ
ー300の第4レベルにおけるノード対は、一つの楕円
内(例えば、楕円305)に示されている。2つのシン
ボル数を有する楕円は2つのノードを表していることが
理解される。例えば、図4(a)の楕円305は、数0
4および05を有し、出力シンボル04については第1
のノードを示し、出力シンボル05については第2のノ
ードを示す。さらに、トリー300の第5レベルにおけ
る(文書へのポインタのリンクされたリストを含む)リ
ーフノードは、図4(a)〜4(c)では簡潔にするた
めに省略される。
【0129】図4(a)、図4(b)および図4(c)
の実施例では、アルファベットの大きさnは13個のシ
ンボルであり、シーケンス長は4である。ノードが起こ
り得る出力シーケンスの一部であるか否かにかかわらず
全てのノードがトリーに含まれるならば(すなわち、図
1の方法によれば)、トリー300はおおよそnT+1
135=371,293個のノードを有する(図4
(a)〜4(c)に図示されていないリーフノードを含
む)。その代わりに、高い確率のシーケンス内のノード
のみを含むことによって、トリーの大きさは34個(ル
ートおよびリーフノードを含む)にまで削減される。マ
トリクスPm[i][o]およびLmを考慮したときで
も、スペースの削減量は3桁以上になる。
【0130】トリー300は、ルートノード301を除
いて初めは空である。図4(a)は、H1をトリー30
0に挿入した結果を示している。トリー300内の各ノ
ードの展開出力数はアルファベットの大きさであるn未
満である。出力シンボルは、必要な場合のみ内部ノード
において付加される。図4(b)および4(c)は、H
2およびH3を挿入した後のトリー300をそれぞれ示し
ている。トリー300は、少なくとも1つの文書を表す
可能性が最も高いと思われるシーケンス内のシンボルに
対応するノードを含むために必要となる場合に拡張され
るだけである。従って、トリー300は、いかなる文書
のポインタをも有さないリーフノードのポインタを格納
するスペースの浪費を防止する。
【0131】トリー300は、図1のトリー10の利点
と図3で用いられる剪定関数fmの利点を両方有し、ス
ペースの複雑性の点では両者の性能を凌いでいる。トリ
ー300は、図1のトリー10と同様の探索時間O
(T)を有し、図3を参照して上記した、挿入のための
同一の剪定戦略を用い、その結果、挿入時間が削減され
る。
【0132】手書きデータベース 図7(b)は、データ形(type)が手書きオブジェクトでも
良いようにデータベースモデルを拡張した手書きデータ
ベースの概略図である(手書きオブジェクトは、例えば
上記のストローク(stroke)(シンボル)等の前もって選
ばれた形式(format))で、認識を容易にするパラメータ
のセットと共に格納されている。使用者は、データを手
書き形式で入力し、その手書きデータに基づき、やはり
手書き表現を用いて問い合わせを形成する。本実施例に
おいてはリレーショナルモデルを用いているが、本発明
の手書きデータベースは、任意のデータベースモデルを
用いて実施し得る。
【0133】図5は、レシピおよび使用者の台所の材料
ストックを含む手書きデータベース500を示す概略図
である。データベース500は2つのリレーションを有
している。すなわち、レシピオブジェクトを含むリレー
ション502および、台所材料ストックを含むリレーシ
ョン504である。リレーション502中の各オブジェ
クトは、レシピ名(「レシピネイム」510)、材料名
(「材料」511)、およびレシピを作成するために必
要な量(「量」512)の3つの属性値を有している。
リレーション504中の各オブジェクトは、(「材料」
513)および台所材料ストックの量を表す(「キッチ
ンストック」514)の2つの属性値を有している。
【0134】データベース500に含まれている情報
は、基本的に、従来のデータベースに格納される情報と
同等であるが、手書きデータ形は、英数データとは異な
る扱いをされる。しかし、リレーショナルデータベース
500中におけるスキーマ定義(schema definition)は
手書きではないことに注意が必要である。すなわち、属
性名「レシピネイム」、「材料」、「量」、「材料」お
よび「キッチンストック」は周知であり、英数字列とし
て格納される。
【0135】データベースが手書きであるか従来型であ
るかに関らず、使用者は、データベース中のデータにア
クセスするための方法を必要とする。手書きデータベー
ス500において、従来のデータベースに用いられるも
のと同様のリレーショナル代数関係が定義される(当業
者には周知)が、オブジェクトが少なくとも1つの手書
き属性値を有するリレーションも含めるように拡張され
ている。値の領域が手書きオブジェクトを含むような属
性値を有するデータベースにおける主な問題点は、以下
の2つである。
【0136】(1)手書き属性値が所望の入力値を有す
るオブジェクトが問い合わせによって要求されるとき
に、入力値とデータベースに格納された値との比較を行
うリレーショナル演算子(operator)(例えば選択演算
子)が、従来のデータベースにおけるような完全なマッ
チではなく、近いマッチをチェックするように拡張され
なければならない。
【0137】(2)データベースに格納された2つ以上
のデータオブジェクトが共通の属性に対して同じ値を有
するとき、その属性値を表している各手書きオブジェク
トは、手書きの性質のため(格納されているインスタン
スの正確な複製をフリーハンドで使用者が作成するのは
不可能に近い)、互いに異なり得る。マッチする属性値
のチェックを含む(例えば、射影、自然結合および集合
差演算子(set difference operators)リレーショナル
演算子を、従来のデータベースにおけるような完全なマ
ッチではなく、近いマッチをチェックするように拡張さ
れなければならない。
【0138】上記問題点のいずれも、HMMを用いてデ
ータベース中の手書きオブジェクトを互いに比較するこ
と、または手書きオブジェクトを問い合わせにおける入
力値に対して比較することによって、記述され(address
ed)得る。どちらの場合でも、HMMが手書きオブジェ
クトのマッチ可能性を特定する。また、データオブジェ
クトを手書きデータベースに挿入するとき(上記に図1
または図4Cを用いて説明)にHMM分析の結果をイン
デックスに格納することによって、後の問い合わせにお
いて、HMMの実行を繰り返すことなく、手書きデータ
ベース中のデータに素早くアクセスすることが可能にな
る。
【0139】上記問題点(1)の例として、使用者は、
ホットケーキを作るために必要な材料を発見したいかも
知れない。同等の情報を格納している従来のデータベー
ス(不図示)においては、レシピネイム属性値(レシピ
ネイム)=「PANCAKES」(パンケーキ)との
RECIPE(レシピ)リレーションにおいて選択動作
を行い、その結果を材料属性値に射影することによって
回答が発生される。
【0140】また手書きデータベース500において、
使用者はデータベース500に、「PANCAKES」
レシピに対応する組を探す問い合わせを行いたいかもし
れない。しかし、問い合わせにおいてなされた手書き表
現に属性値が最も近い組を探すことは、属性値が入力英
数値に正確にマッチする組を探すことよりも、複雑な作
業である。システムは、手書き表現”Pancake
s”と、データベース500の属性レシピネイムに格納
された各手書きインスタンスとの類似度を分析する。手
書きの性質上、比較は部分マッチングに基づいて行われ
る。
【0141】システムは、確率の減少に従って回答をラ
ンク付けし、それをスクリーンに適合するような形で使
用者に表示してもよい。また、システムは、問い合わせ
で用いられた手書きデータに最も適合する回答のみを表
示してもよい。問い合わせの結果複数の正しい組が得ら
れそうである場合、前者のアプローチがより効果的であ
る。例えば、”パンケーキ”(以下、””に囲まれた文
字は、手書きデータオブジェクトを表す)レシピの材料
を探索する場合、正しく応答(reponse)すれば、3つの
アイテム(図5に示す”Flour”(小麦粉)、”M
ilk”(ミルク)および”Eggs”(卵))が含ま
れているはずである。これらのアイテムはすべてホット
ケーキの調理に使用されるものである。応答を1アイテ
ムのみに制限することは、結果のリレーションが1つの
組のみを含むことが期待される場合には適切ではない。
【0142】図6(a)は、データベース500に、レシ
ピネイム属性の値が”Pancakes”であるオブジ
ェクトを選択する問い合わせを行うことによって発生さ
れ得る、結果リレーション600の1例を示す概略図で
ある。正しい結果リレーションは、組602a−602
cを含むはずである。この例では、システムは、結果リ
レーションにおいて不正組602dおよび602eを提
示している(これらの組は、”Paundcakes”
(パウンドケーキ)のレシピに対応している)。 結果
リレーション600に”Paundcakes”のアイ
テム602dおよび602eが含まれているのは、(問
い合わせからの)手書き入力オブジェクトをデータベー
ス中に格納された手書きオブジェクトと比較するために
用いられるアルゴリズムが、これらが格納された手書き
オブジェクトとマッチすると考えてよいほど十分に類似
していると判断するためである。マッチを定義するため
に用いられるしきい値の確率は、より大きな類似度を要
求するように調節可能であるが(選択によって発見され
る不正なアイテムがこれによって減少する)、しきい値
の確率を高く設定しすぎると、正しいオブジェクトを見
逃す可能性が増加する。
【0143】類似度マッチングを、以下により正式に定
義する。2つの手書きオブジェクトO1およびO2が与え
られている場合、2つのオブジェクトがマッチする確率
pを出力するプロシージャが存在する。本実施例におい
ては、このプロシージャは、上述のように、オブジェク
トをモデル化するためのHMMの使用に基づいている。
例えば、O1を表現している最適なモデルを選択し、そ
のモデルがO2を表現している確率pを見出せばよい。
【0144】この後に表す 属性i=リレーションR上の(over)E(ただしEは手書
きオブジェクト である) を用いる選択演算子は、もしOijが組における属性j
値であればEとOijはp以上の確率でマッチしていると
いう要領で、R中の組tjを選択する動作と見ることが
できる。pはシステムによって非明示的に決定されても
よく、また使用者によって明示的に設定されてもよい。
ソフトウェア開発の当業者であれば、システムがpの値
をスクリーンサイズや所望の応答時間等の要素に基づい
て調整するような本発明の変形例が、想到可能であろ
う。
【0145】上記問題点(2)の例として、自然結合動
作がある。説明のため、ホットケーキを作るために必要
な各材料の量およびそれらの材料の台所でのストック量
を使用者が決定したいと仮定する。必要な情報は、異な
る2つのリレーション502および504に存する。結
合動作は、リレーション502および504のカルテシ
アン積(Cartesian Product)を形成し、両方のリレーシ
ョンの構成に現れる属性値(材料)に関して「公平さ」
を強要する選択動作を行う。従来のデータベースにおい
て、結合動作は結果リレーションから複製コラムを削除
していた。しかし、手書きデータベースにおいては、第
1のリレーション502のオブジェクトが第2のリレー
ション504のオブジェクトと同じ値を有しているとシ
ステムが不正に判断してしまう可能性があるため、複製
コラムを結果リレーション中に残しておくことによっ
て、結果リレーション中の不正オブジェクトの検知を容
易にする方が好ましい場合もある。
【0146】図6(b)は、結合リレーション502(図
5)をリレーション504に結合することによって形成
される結果リレーション例を示す概略図である。ここで
も、システムは類似度測定を用いることによって、リレ
ーション502中の共通属性値材料511と、リレーシ
ョン504中の共通属性値材料513とをペアにする。
属性値材料511および材料513は、共に結果リレー
ション600中に保持されている。2つの材料コラム
(リレーション502のコラム511の材料660およ
びリレーション504のコラム513の材料661)を
素早く比較することによって、3つの組652a、65
2bおよび652dが結果リレーション650に適切に
含まれる。類似度マッチングにより、追加的な組652
cが、結果リレーション650に不正に含まれている。
【0147】正式には、自然結合演算子を以下のように
見ることができる。リレーションR1およびR2が与えら
れ、A1jおよびA2jがそれぞれR1およびR2の属性値で
あるとき、2つのリレーションのA1jおよびA2j上の(o
ver)自然結合は、組O11、O12、O1j、O2j
21、...と定義される。ここで、O1kは、R1の属
性値であり、O2kはR2の属性値であり、O1iはA12
属性値であり、O2jはA2jの属性値であり、O1jおよび
2jは、p以上の確率でマッチする。
【0148】選択動作(または射影や集合差演算子等の
他のリレーション動作)の場合と同様に、pの値は、不
正組が結果リレーション中に含まれる尤度が減少するよ
うに調整することができる(pの値の設定が高すぎない
場合。もしpの値の設定が高すぎると、組が不正に結果
リレーションから省かれてしまう)。
【0149】図6(a)および図6(b)にそれぞれ示す結果
リレーション600および650の各々は、表示された
際にすぐに目視で発見され得るエラーを含んでいる。1
つのストラテジーは、結果リレーション中に不正に特定
された組が幾つか含まれようとも、結果リレーションに
属するいかなる組も省略されないようにpを十分低く決
定することである。この場合使用者は、結果リレーショ
ン中にあるべきでない組(リレーション600中の、6
02dおよび602eならびにリレーション650中の
652c)を削除するように、結果リレーションを編集
することが可能である。
【0150】従来のデータベースにおいては、データベ
ース操作は、インデックスの使用によって効率的に実行
される。インデックスは、操作に関与する組を探索する
助けとなる。従来のデータベースにおいては、インデッ
クスは通常特定の属性値について構築される。
【0151】本発明では、HMMを用いて手書きデータ
にインデックス付けする。図7(a)に示すように、イン
デックス10は実際のデータオブジェクトD1〜D3を示
しており、与えられた入力に類似したオブジェクトの探
索を助ける。
【0152】図7(b)は、インデックス700を示して
いる。インデックス700中のリーフノード741が、
文書D1〜D3ではなく、データベース500中の組にリ
ンクされたポインタのリストを有していること以外は、
インデックス700はインデックス10(図7(a))と
同じである。図7(b)に示すように、手書きデータベー
ス500において、手書き型の組属性値510〜512
は手書きデータオブジェクトを指している。そして、図
1および図4(c)に示すインデックス付け方法を用い
ることによって、要求されたオブジェクトに類似のオブ
ジェクトを指す組をインデックスが指すようにしてもよ
い。
【0153】上記例から明らかなように、手書きデータ
ベースでの操作の鍵は、属性値をマッチングするプロセ
スにある。上記に規定したインデックス付け方法により
効果が得られる。
【0154】図9は、手書きデータベース結合操作ステ
ップを要約したフローチャートである。ステップ900
において、複数のリレーションのうち第1および第2の
リレーションに共通でありかつ手書きオブジェクトを含
む領域の値を有する属性値の1つが、共通属性値として
識別される。ステップ902において、第1のリレーシ
ョンから得られる第1の組の共通属性および第2のリレ
ーションから得られる第2の組の共通属性の各値が、少
なくともしきい値以上の確率で互いに等しいかどうかが
チェックがされる。ステップ904において、もし第1
および第2の組が少なくともしきい値以上の確率で互い
に等しければ、第1の組および第2の組の属性値を有す
る結果組が形成される。ステップ906において、ステ
ップ902および904が第1のリレーション中の各組
に対して繰り返される。ステップ908において、第2
のリレーション中の各組に対してステップ902、90
4および906が繰り返される。ステップ910におい
て、結果リレーションが形成される。ステップ904に
おいて識別された結果組は、結果リレーションに含まれ
る。
【0155】標準的なデータベースにおける問い合わせ
の結果は、静的なアイテムである。本発明の実施例にお
いては、システムが使用者に最高のマッチ(最も高い確
率)をまず提示し、確率が低くなる順に続けていっても
よい。しかし、そうすることにより高価な問い合わせ処
理アルゴリズムがアプリケーションに要求することがあ
り得るため、最高のマッチでなくとも、マッチング基準
をかろうじて満たすような(所与の)当座の回答を提示
するだけで十分な場合もあり得る。
【0156】本発明の別の局面によれば、新規である動
的結果リレーションが提供され得る。問い合わせが最初
に処理される際、システムは、速いアルゴリズムを用い
てマッチングを実行し、発見された最高のマッチを提示
する。結果は最良のアルゴリズムよりは若干不正確であ
るが、速く提供することが可能である。バックグラウン
ドにおいて、システムが使用者からの更なる入力を待つ
間に、より正確なマッチング方法またはアルゴリズムを
用いて問い合わせが再計算される。適当な間隔で、結果
リレーションは改善された結果を反映するように更新さ
れる。使用者にとっては、これらの更新情報は、マルチ
ユーザシステムにおける、他の使用者による同時更新(c
oncurrent updates)(例えばマルチユーザデータベース
からのオブジェクトの削除等)と似ている。
【0157】システムは、当座の(必ずしも最高ではな
い)回答を選択するための非常に速い方法から、比較的
遅いがより良い処理を行い、最高の回答を見つけ出す方
法まで、複数の手書きオブジェクトをマッチングするた
めの方法が存在することによって、利益を得る。一般
に、速い方法および遅い方法を用いることは、異なる数
学的アルゴリズムの使用または、同じアルゴリズムをそ
れぞれ異なる正確さで用いることを包含する。本実施例
においては、後者の方法を用いる。
【0158】例えば、インデックス700(図7(b)に
示す)が構築されたデータベースについて考察してみ
る。ネスト化ループ結合アルゴリズムの2つのバージョ
ンを用いて問い合わせを実行し得る。第1のバージョン
は、第1のリレーションから所与の属性値が与えられた
とき、第2のリレーションをトラバースし、80%を超
える確率で値にマッチするk個の回答を発見したとき、
処理を中止する。第2のリレーションは、ループ全体を
完了し、k個の最高のマッチを回答として提示する。第
1のバージョンは速いが、最高の回答を逃す可能性があ
る。第2のバージョンは遅いかもしれないが、回答の質
が高い。この方法を用いることにより、使用者は、速い
(第1の)バージョンを実行することによって問い合わ
せに対する当座の大体の回答を得、システムが第2のバ
ージョンをバックグラウンドで実行することにより、よ
り良い回答が使用者に後に提供され得る。
【0159】同様に、図7(b)に示すインデックス70
0は、異なるしきい値の確率を用いることによってトラ
バースされてもよい。1回目にトリーをトラバースする
ときは、高いしきい値確率(例えば85%等)が用いら
れる。トリー中の様々な経路がトラバースされるため、
システムは、部分シーケンスがマッチしている確率が少
なくともしきい値であるようなノードに到達するとすぐ
に、多くの経路の調査を中止する。完全にチェックされ
る経路が少ないため、応答が速くなり、また応答中で挙
げられるアイテムの数が少なくなる。2回目にトリーを
トラバースするときは、しきい値が下げられることによ
り、より多くの経路が完全にチェックされ、結果リレー
ション中においてより多くの組が含まれる可能性が高く
なる。
【0160】次に、回答は、スクリーンに収まるように
使用者に提示されなければならない。これは、処理アル
ゴリズムのパラメータを選択する際に影響を及ぼす。好
ましくは、結果は確率が高い順番に提示される。
【0161】図10は、データベースを確立し、インタ
ラクティブな問い合わせを実行するためのフローチャー
トである。ステップ950において、各々が属性値の組
によって規定されている複数のデータオブジェクトを含
むデータベースを、確立する。属性値は、手書きオブジ
ェクトを含む領域の値を有する属性値を、少なくとも1
つ含んでいる。
【0162】ステップ952において、前処理の間、イ
ンデックスが確立される。このとき、インデックスのル
ートノードから複数のリーフノードの1つまでの各経路
が、各リーフノードが組の部分集合へのポインタの集合
を有するような各入力シンボルシーケンスに対応するよ
うにされる。ステップ954において、各手書きオブジ
ェクトの出力シーケンスを分析することによって各入力
シーケンスが出力シーケンスにマッチする各確率を決定
するために、各HMMが実行される。ステップ956に
おいて、リーフノード中において、少なくともしきい値
以上の確率で出力シーケンスがリーフノードに対応する
入力シーケンスにマッチする(各手書きオブジェクト出
力シーケンスに対する各HMMによって決定される)組
へのポインタが、加えられる。これにより、手書きデー
タの前処理が完了する。ステップ958において、問い
合わせが開始され、手書き入力オブジェクトの入力シン
ボルシーケンスが認識される。ステップ960におい
て、手書き入力オブジェクトの入力シーケンスに対応す
る経路の1つがトラバースされる。ステップ962にお
いて、前記1つの属性値が、少なくともしきい値以上の
確率で手書き入力オブジェクトの入力シーケンスにマッ
チする組の部分集合が、前記1つの経路に対応するリー
フノード中のポインタから、識別される。ステップ96
4において、識別された組に対応するデータオブジェク
トが、速いアルゴリズムを用いて問い合わせによって発
見されたものとして識別される。ステップ968におい
て、速いアルゴリズム実行後にバックグラウンドで第2
のアルゴリズムが実行され、問い合わせに対する第2の
回答が発生される。この第2の回答は、ステップ966
で表示されたものよりも正確である。このより正確な結
果が、次にステップ970において表示される。
【0163】PQBE−−QBE問い合わせ言語のペン
使用バージョン 手書きデータベースに関する内部システムのポイントは
上述した通りである。このセクションでは、使用者が挿
入、更新および問い合わせを表現するためのペン型例示
問い合わせ(Query-by-Example)(PQBE)問い合わせ
言語に、重点を置く。説明を簡潔にするために、問い合
わせを詳しく説明し、挿入および更新については軽く触
れるだけに留める。挿入および更新に関する基本的な概
念は、問い合わせに用いられる概念と同様である。
【0164】PQBEは、元来M.Zloof「例示問
い合わせ:テーブルおよびフォームの援用および定義」
(Proceedings of the International Conference on V
eryLarge Data Bases、1975年9月)中に提案された例
示問い合わせ(QBE)言語を改善したものである。こ
の文献を、そのデータベースシステム用データ操作言語
に関する教示に関してここに明示的に援用する。PQB
Eは、データベース問い合わせ言語への応用としては新
規である、ペン型インタラクション概念を導入してい
る。PQBEは様々なコンピューティング環境において
用い得るが、特にフルサイズのキーボードを装備するに
は小さすぎるパームトップコンピュータまたはパーソナ
ル・デジタル・アシスタント(PDA)において有効で
ある。PQBEは、スタイラスおよびデジタイザを用い
てペンストロークをシンボルに変換するシステムに適応
化される。
【0165】図8は、PQBE表示の一例を示してい
る。従来のオペレーティング・システムにおけるメニュ
ーバーおよびツールバーは、プログラミング分野の当業
者には周知であるため、簡潔さのために図8からは省略
してある。図8ではツール領域802およびディスプレ
イ800内に複数のキーまたはボタン804〜844が
存在ように示しているが、プログラミング分野の当業者
であればツール領域802中に示されるものと同じ特徴
を含んだポップアップまたはプルダウンメニューまたは
ダイアログボックスを容易に開発することが可能であろ
う。
【0166】QBEと同様に、PQBEでも、テンプレ
ートまたはスケルトンテーブル850、860および8
80を用いる。各テンプレート850、860および8
80は、その基礎となっているデータベース500(図
5に示す)におけるリレーションスキーム、そのスキー
ムのビュー(例えばテンプレート850および860
等)、または既存のスキームの部分集合ではないような
スキームを有する結果リレーションを構築するために用
いられる結果テンプレート880をリレーションスキー
ムとして有する、テーブルである。
【0167】テンプレートは、ペン/マウス型メニュー
選択に用いられる標準的な方法の1つを用いてメニュー
から選択される。例えば、テンプレートを選択するため
のボタン838を備えていてもよい。メニュー選択84
0により、結果テンプレート880が表示され、メニュ
ー選択842により、条件ボックス870が表示され
る。テンプレートは、問い合わせ形成中の任意の時刻に
使用者によって表示され得る。各テンプレート850、
860および880は、ウィンドウ859、869およ
び889中に表示されるので、標準的なウィンドウシス
テムコマンド(隠す、前面表示(pop)、アイコン化、お
よびアイコン選択等)が使用され得る。特に、使用者が
データを入力したテンプレートをアイコン化すること
は、複雑な問い合わせに際してはおそらく便利であろ
う。(従来のウィンドウ境界、メニューバーおよびツー
ルバーは、プログラミング分野の当業者には周知である
ため、図8では簡潔さのために省略している。)メニュ
ーアイテム844は、使用者が完成した問い合わせの実
行を要求することを可能にするものである。QBE問い
合わせは、テンプレート850、860および880の
特定のセル中に入力を行うことによって表現される。入
力は、 1.データ値 2.「例要素(example element)」(正式には例要素と
は、単にQBE問い合わせに直接対応する領域リレーシ
ョナル積分表現中の領域変数である。)および 3.データ値、例要素または演算子を用いた通常のQB
E方法に基づいた表現であり得る。ここで演算子とは、
比較(<、>、≦、≧、=および≠)、算術演算子
(+、−、*および/)、論理演算子(∧、∨および
¬)ならびに括弧書きを表現(parenthesized expressio
ns)を含む。演算子は、手書きによって入力してもよい
し、キー804〜829を用いて入力してもよい。正確
な問い合わせ処理のためには演算子は厳密に認識されな
ければならないため、演算子の入力はキー804〜82
9を用いて行った方が好ましい。
【0168】QBEにおいては、使用者は、カーソルを
位置決めし(ポインティングデバイスを用いて行う)、
入力事項をタイプすることによって入力を行う。PQB
Eにおいては、以下の方法で入力が行われる。
【0169】データ値:データ値は、手書きアイテムと
して入力され、手書きオブジェクトとしてシステムに格
納される。値は、上記セルに直接書き込まれる。値の書
き込み時においては、システムはマッチングまたは手書
き認識を行う必要はない。また、書き込まれた値がデー
タベースにすでに存在するデータに対応している必要も
ない。(これらの演算を必要とするような後の要求に素
早く応答できるためには、認識、マッチング、またはそ
の両方をバックグラウンドタスクとして行うことは有利
であり得る。) 例要素:QBEにおいては、例要素は、アンダースコア
(_)等の特殊な文字で飾られた文字列の名前を有する
ことによって、データ値から区別されるようにした変数
である。PQBEにおいては、使用者は、以下の2つの
方法うちの1つを用いて、最初に現れる例要素を入力し
得る。
【0170】1.使用者は、「例要素」キー834をメ
ニュー802から選択し、所望のセル中の例要素の名前
を手書きする。例えば、テンプレート850中の例要素
855および856およびテンプレート860中の85
8は、手書きによって形成され得る。
【0171】2.使用者は、「自動生成された例要素」
キー836をメニュー802から選択してから、所望の
セルを指す。システムは、この例要素を名前を、データ
ベース中の実際の値から選択する。結果として、従来Q
BEでは実現されていない、自動生成された、実物(rea
l-life)例要素が提供される。例えば、テンプレート8
50中の例要素857は、自動的に生成されている。
【0172】上記の方法で行われるメニュー選択は、パ
ームトップコンピュータまたはパーソナル・デジタル・
アシスタント(PDA)のデジタイザ上でスタイラスを
用いて作成したジェスチャによって置き換えられても良
い。
【0173】上記のいずれの場合でも、システムは、表
示中において反転画像および色などを用いて、例要素を
データ値から区別するようにする。ディスプレイの物理
的な特徴に応じて特定の選択がなされる。
【0174】PQBE問い合わせの一部として、使用者
が同じ例要素を1回以上入力することが必要な場合があ
る。「ホットケーキまたはパウンドケーキに用いられる
全ての材料を探索し、レシピ、必要な材料の量、および
ストックにある材料の量を識別せよ」という問い合わせ
を考えてみる。この問い合わせは、例要素ωがテンプレ
ート850および855ならびに条件ボックス870中
に現れ、例要素χがテンプレート850、860および
880中に現れ、例要素_Yがテンプレート850およ
び880中に現れ、かつ例要素
【0175】
【外1】
【0176】がテンプレート860および880中に現
れることを要求する。
【0177】例要素が2回目(以降)に入力されるとき
には、上記の2つの方法のいずれによっても入力は行い
得ない。代わりに、他のセルから例要素をコピーするこ
とによってその入力を行う。例要素の選択およびコピー
は、使用者が例えばキー830および832を用いて標
準的な「コピーアンドペースト」ペン方法を実行するこ
とによってなされる。(ホストオペレーティングシステ
ムの方法と同じ方法を用いて行ってもよい。) 例要素コピーの考え方は、使用者が実際にどのような方
法を用いてコピーを行う場合でも、非常に重要である。
言語の意味論は、例要素名間の平等さに大きく依存して
いる。よって、例要素においては、(データアイテムに
用いる)類似度マッチングには頼り得ない。コピー方法
は、ユーザーフレンドリーであり、かつキーボードの代
わりにペン(手書き)を使用することに起因する潜在的
な欠点を克服し得る単純な方法である。
【0178】演算子:言語の意味論にとって、演算子が
完全に正確に解釈されることは非常に重要である。幸い
なことに、認識するべき演算子の数は比較的少なく、な
かには限定された文脈でしか用いられないものも有る。
等しさは、演算子認識よりもむしろ、コピーによって表
現され得る。論理演算子は、条件ボックスの中にのみ現
れ得る。更に、演算子の数が制限されていることによっ
て、認識が失敗した場合のメニュー選択が、現実的なオ
プションとなり得る。
【0179】上記の方法を用いることによって、QBE
を用いて表現可能ないかなる問い合わせもPQBEを用
いて表現が可能である。しかし、データ値は問い合わせ
においてもデータベースにおいても手書きであり、デー
タ値のマッチングに近似法を用いているため、インタラ
クティブな形の問い合わせ仕様をサポートすることが有
利である。そのようなインタラクティブ仕様により、上
記の概念で効果的に手書きデータを処理することが可能
になる。
【0180】挿入および更新も同様な方法で実現可能で
あり、ここでは詳細は省略する。使用者は、組が追加さ
れるリレーションに対応するテンプレートの1つを選択
する。そのデータは、挿入ボタン846を選択すること
によって挿入される。データは、一般に手書きによって
入力され、コピーは必要ではない。
【0181】インタラクティブ問い合わせ仕様 商業データベースシステムにおいては、使用者は、問い
合わせを用意し、それを提出し、完全な回答をシステム
から得る。手書きデータベースのためのパーソナルデー
タベースにおいては、使用者は回答の一部だけ必要とし
ている場合が多い。もし使用者が回答全体を必要として
いるとしても、使用者は、個人的な都合により、回答を
一回につき少しずつだけ受け取りたいかもしれない。こ
れは、最高のマッチがまず示され、使用者の所望に応じ
て更なるマッチが提示されるシステムの場合に特にそう
である。
【0182】この結果を得るための1つの方法は、回答
全体を生成し、しかしその一部しか一度に表示しないこ
とである。そのような大変な計算は時間およびメモリス
ペース両方の意味で高価につくため、この方法は応答性
の面で深刻な欠点を有する。また、初回の回答に対する
使用者の反応にガイドされるような、インクリメンタル
問い合わせの実行を適用してもよい。
【0183】QBEにおいては、結果中の各組は、実際
のデータ値と例要素との特定の結合によって生成され
る。結合は、各テンプレート中の各列が、基礎となるリ
レーションまたはビュー中の組に対応するようになされ
なければならない。QBEは、結果テーブル中の結果組
を表示する。
【0184】部分的な回答を提供することに関する上記
の考察に鑑み、本発明の以下の変形例が用いられ得る。
【0185】(1)テンプレート中の使用者に表示され
た全ての例要素を、結果中の第1の組を生成する境界値
(bound values)(すなわち、結果中の組のうちで、全体
的な類似度マッチが最高であるもの)と置き換える。こ
のことにより、使用者が回答中の1組だけでなく、その
組がどのように生成されたかを知ることが出来る。使用
者が問い合わせを不適切に設定した場合(すなわち、問
い合わせの意味が使用者の意図にマッチしない場合)、
使用者は、問い合わせを保留し、テンプレートを変更
し、問い合わせを再実行することが出来る。使用者が問
い合わせを適切に設定したが、2つの手書きデータがシ
ステムによって不正に類似であると認識された場合、使
用者がこのエラーに気づいて、マッチングアルゴリズム
中の探索の残りに使用者からのフィードバックを取り入
れることが可能である。このようにして、手書き問い合
わせ処理のプロシージャは、結果を計算しながら「学
習」する。
【0186】(2)第2の変形例は、結果中の第1のn
個の集合が、テンプレート中の組でこれら結果組を生成
するために使用された全ての組とともに示される点以外
は、(1)と同様である。この変形例は、上記と同じ特
徴および効果を有する。使用者が複数の組を同時に考慮
する事が可能になるが、ディスプレイが小さい場合には
実用性が限られてくる。nの値は、ディスプレイサイ
ズ、テンプレート数、結果中のn個の組を計算するため
に必要な時間(統計的評価に基づく)、および含まれる
マッチの正確さの確率に依存する。
【0187】(3)第3の変形例は、結果リレーション
組のみを表示する点以外は、(2)と同様である。
【0188】以上本発明を実施例について説明してきた
が、これに限定される訳ではない。請求項は、本発明の
精神および範囲から逸脱することなしに当業者がなし得
るような他の変形例および実施例を包含するように解釈
されなければならない。
【0189】なお、手書きオブジェクとしてアルファベ
で書かれたものについて述べてきた。手書きオブジェク
としては、カタカナ、ひらがな、および/または漢字で
書かれたものであっても、上述した実施例と同様の効果
を得る。
【0190】
【発明の効果】本発明のインデックス付けされたデータ
ベースを生成するまたはデータベースにインデックス付
けする方法によれば、出力シーケンスが少なくともしき
い値以上の確率でリーフノードに対応する入力シーケン
スにマッチする組を指すポインタを、各リーフノード中
のポインタ集合に含めることができる。つまり、確率が
しきい値以上であるオブジェクトにポインタを与えるこ
とができる。そのオブジェクトに対してHMMを再実行
することがないため、問い合わせへの反応時間を減少さ
せることができる。
【図面の簡単な説明】
【図1】本発明による情報トリー例を示すブロック図で
ある。
【図2】図1の情報トリー例に用いられる隠れマルコフ
モデルを示す状態図である。
【図3】図1の情報トリー中の文書にインデックス付け
するためのプロシージャを示すフローチャートである。
【図4】(a)〜(c)は、本発明による別の情報トリ
ー例を示すブロック図である。
【図5】本発明の別の実施例による手書きデータベース
の一例を示す図である。
【図6】(a)および(b)はそれぞれ、図5に示すデ
ータベースの、選択および結合動作によって形成される
結果リレーションを示す図である。
【図7】(a)および(b)はそれぞれ、文書データベ
ースおよび手書きデータベースを示す概略図である。
【図8】図5に示すデータベースに問い合わせを行うた
めに、ペン型の例示問い合わせプロシージャを実行して
いるパーソナル・デジタル・アシスタントまたはコンピ
ュータのディスプレイを表す図である。
【図9】図5に示すデータベースに対して実行される結
合動作を示すフローチャート図である。
【図10】データベースを確立し、問い合わせを行うた
めの方法の一例を示すフローチャート図である。
【符号の説明】
10 トリー 12、22、24、および31〜34 内部ノード 41〜48 リスト 41a〜41c ポインタ D1〜D10 文書

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムに格納される、イ
    ンデックス付けされたデータベースを生成する方法であ
    って、 (a)各々が属性値の組によって規定される複数のデー
    タオブジェクトを含んでいるデータベースを確立するス
    テップであって、該属性値は手書きオブジェクトを含む
    領域の値を有する属性値を少なくとも1つ含んでおり、
    各手書きオブジェクトは出力シーケンス中に順序づけら
    れた複数のシンボルを含んでいるステップと、 (b)ルートノードおよび該ルートノードに経路によっ
    て各々接続された複数のリーフノードを有するインデッ
    クスを確立するステップであって、該ルートノードから
    該複数のリーフノードの1つへの各経路はシンボルの入
    力シーケンスに各々対応しており、該リーフノードが、
    該入力シーケンスに対して、該組の部分集合へのポイン
    タの集合を含んでいるステップと、 (c)各手書きオブジェクトの出力シーケンスを分析
    し、各入力シーケンスが出力シーケンスにマッチする確
    率を決定するために隠れマルコフモデル(HMM)を各
    々実行するステップと、 (d)出力シーケンスが少なくともしきい値以上の確率
    で該リーフノードに対応する該入力シーケンスにマッチ
    する組を指すポインタを、各リーフノード中の該ポイン
    タ集合中に含めるステップであって、該確率は、各手書
    きオブジェクトの該出力シーケンスの各HMMによって
    決定されるステップとを包含する方法。
  2. 【請求項2】 (e)手書き入力オブジェクトを前記コ
    ンピュータシステムに入力することによって前記データ
    ベースに問い合わせを行うステップを更に包含する、請
    求項1に記載の方法。
  3. 【請求項3】 前記ステップ(e)が、 (1)前記手書き入力オブジェクトのシンボルの入力シ
    ーケンスを識別するステップと、 (2)前記経路のうちで、該手書き入力オブジェクトの
    該入力シーケンスに対応する1つをトラバースするステ
    ップと、 (3)該1つの経路に対応する前記リーフノード中の前
    記ポインタから、少なくともしきい値以上の確率で該手
    書き入力オブジェクトの該入力シーケンスにマッチする
    前記1つの属性値を有する前記組の前記部分集合を識別
    するステップと、 (4)該識別された組に対応するデータオブジェクト
    を、前記問い合わせで発見された組として識別するステ
    ップとを包含する、請求項2に記載の方法。
  4. 【請求項4】 前記データベースは、複数のリレーショ
    ンを含むリレーショナルデータベースであって、前記方
    法は、 (1)該複数のリレーションの第1番目および第2番目
    のリレーションに共通しており、かつ手書きオブジェク
    トを含む領域の値を有している属性値を、共通属性値と
    して識別するステップと、 (2)該第1番目のリレーション中の各組および、該第
    2番目のリレーション中の各組に関して、 第1および第2の組に対する該共通属性値が少なくとも
    しきい値以上の確率で互いに等しい場合、該第1番目の
    リレーションからの第1番目の組および、該第2番目の
    リレーションからの第2番目の組の属性値を有する結果
    組を形成するステップを繰り返すステップと、 (3)ステップ(2)で識別された該結果組を含むよう
    に、結果リレーションを形成するステップとによって結
    合演算を実行することを包含する、請求項2に記載の方
    法。
  5. 【請求項5】 前記結果組を形成する前記ステップは、 (a)前記第1の組を選択し、該選択された組の前記共
    通値に含まれる前記シンボルの入力シーケンスを識別す
    るステップと、 (b)前記インデックスの前記経路のうちで、前記識別
    された入力シーケンスに対応する1つをトラバースする
    ステップと、 (c)該1つの経路に対応する前記リーフノード中の前
    記ポインタから、少なくともしきい値以上の確率で該識
    別された入力シーケンスにマッチする前記1つの共通属
    性値を有する前記組の前記部分集合を識別するステップ
    と、 (d)少なくともしきい値以上の確率で該識別された入
    力シーケンスにマッチする共通属性値を有する前記組の
    前記部分集合に、該第2の組が含まれる場合、該結果組
    を形成するステップと、 を包含する、請求項4に記載の方法。
  6. 【請求項6】 前記ステップ(e)は、 (1)前記問い合わせに対する近似的な回答を生成する
    ために、第1のアルゴリズムを実行するステップと、 (2)該近似的な回答を表示するステップと、 (3)該問い合わせに対する、該近似的な回答よりも正
    確な第2の回答を生成するために、該第1のアルゴリズ
    ムを実行した後に、第2のアルゴリズムを実行するステ
    ップと、 (4)該第2の回答を表示するステップとを包含する請
    求項2に記載の方法。
  7. 【請求項7】 前記データベースは、複数のリレーショ
    ンを含むリレーショナルデータベースであり、前記ステ
    ップ(a)は、 (1)該複数のリレーションのうちの1つのリレーショ
    ンスキームを表すスケルトンテーブルを表示するステッ
    プと、 (2)手書きオブジェクトを該スケルトンテーブルに入
    力するステップと、 (3)ステップ(a)(2)で入力された該手書きオブ
    ジェクトを、前記データオブジェクトの1つの前記1つ
    の属性の値として格納するステップとを包含する、請求
    項1に記載の方法。
  8. 【請求項8】 (e)前記スケルトンテーブルを表示す
    るステップと、 (f)手書き入力オブジェクトを該スケルトンテーブル
    に入力するステップと、 (g)前記1つの属性の値が少なくともしきい値以上の
    確率で該手書き入力オブジェクトにマッチするデータオ
    ブジェクトを、探索によって発見されたデータオブジェ
    クトとして識別するステップと、 によって前記データベースに問い合わせを行うことを更
    に包含する、請求項7に記載の方法。
  9. 【請求項9】 前記方法は、コンピュータのデジタル化
    (digitizing)パッドを用いて行われ、該コンピュータ
    は、コピーおよびペースト機能を有しているオペレーテ
    ィングシステムを有している方法であって、 (h)デジタル化(digitizing)パッドを用いて手書き例
    要素をスケルトンテーブルの第1の部分に書き込むこと
    によって、該手書き例要素の第1回目の入力を行うステ
    ップと、 (i)(1)手書き例要素を該スケルトンテーブルの該
    第1の部分からコピーし、(2)該手書き例要素を、第
    スケルトンテーブルの第2の部分にペーストすることに
    よって、該手書き例要素の第2回目の入力を行うステッ
    プとを更に包含し、前記ステップ(i)(1)および
    (i)(2)は、該コピーおよびペースト機能を用いて
    行われる、請求項8に記載の方法。
  10. 【請求項10】 前記データベースに問い合わせを行う
    前記ステップは、 (j)算術演算子および論理演算子の1つをメニューか
    ら選択およびコピーするステップと、 (k)算術演算子および論理演算子の該選択された1つ
    を、前記スケルトンテーブルの条件ボックスにペースト
    するステップとを有し、 ステップ(j)および(k)は、前記コピーおよびペー
    スト機能を用いて実行される、請求項9に記載の方法。
  11. 【請求項11】 データベースにインデックス付けを行
    う方法であって、 (a)各々が属性値の組によって規定される複数のデー
    タオブジェクトを含んでいるデータベースを確立するス
    テップであって、該属性値は手書きオブジェクトを含む
    領域の値を有する属性値を少なくとも1つ含んでおり、
    各手書きオブジェクトは出力シーケンス中に順序づけら
    れた複数のシンボルを含んでいるステップと、 (b)HMMを各々用いて、各手書きオブジェクトをモ
    デル化するステップであって、該HMMは、n個の出力
    シンボルを含む共通の(common)アルファベットおよび、
    T個のシンボルからなる共通の出力シーケンス長を有し
    ており、nおよびTはそれぞれ整数であるステップと、 (c)該1つの属性値に対し、T個のレベルを有するイ
    ンデックスを確立するステップであって、ゼロおよびT
    −1までの各レベルがそれぞれ最小確率値を有し、各レ
    ベルが少なくとも1つのノードを有しているステップ
    と、 (d)該インデックスの各レベルの各ノードに対して、 (1)該1つの手書きオブジェクトに対して各HMMを
    用いることによって、該ノードに格納されたシンボル
    が、該1つの手書きオブジェクト中の対応する出力シン
    ボルを表している確率を決定するステップと、 (2)ステップ(d)(1)で決定された該確率が、該
    1つのレベルの該最小確率値を超え、かつ次のレベルが
    第1番目のレベルと第T−1番目のレベルの間にある場
    合に、該インデックスの次のレベルに、ノードを追加す
    るステップと、 (3)次のレベル中の該追加されたノードに対して、該
    ノードがステップ(d)(2)で追加されたものである
    場合に、ステップ(d)を実行するステップと、 (4)次のレベルがT番目のレベルであり、ステップ
    (d)(1)で決定された確率がT−1番目のレベルの
    該最小確率よりも大きい場合に、該1つの手書きオブジ
    ェクトへのポインタを、該インデックスのT番目のレベ
    ルのノードに格納されたポインタのリストに追加するス
    テップとによって、該手書きオブジェクトの1つ中のシ
    ンボルをインデックス付けするステップと、 (e)該複数の手書きオブジェクトのうち、該1つの手
    書きオブジェクト以外の各手書きオブジェクトに対し
    て、ステップ(d)を繰り返すステップとを包含する方
    法。
JP7268904A 1994-10-17 1995-10-17 インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法 Withdrawn JPH08235221A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/324,231 US5524240A (en) 1994-05-24 1994-10-17 Method and apparatus for storage and retrieval of handwritten information
US08/324,231 1994-10-17

Publications (1)

Publication Number Publication Date
JPH08235221A true JPH08235221A (ja) 1996-09-13

Family

ID=23262669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7268904A Withdrawn JPH08235221A (ja) 1994-10-17 1995-10-17 インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法

Country Status (1)

Country Link
JP (1) JPH08235221A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202297A (ja) * 2005-01-21 2006-08-03 Microsoft Corp シリアルバイナリ形式でドキュメントを格納するシステムおよび方法
JP2022058529A (ja) * 2016-08-10 2022-04-12 ムーンシャドウ モバイル,インコーポレイテッド 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造
JP2023073104A (ja) * 2021-11-15 2023-05-25 株式会社Cogent Labs マッチング装置、マッチング方法、プログラム、及び記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006202297A (ja) * 2005-01-21 2006-08-03 Microsoft Corp シリアルバイナリ形式でドキュメントを格納するシステムおよび方法
JP2022058529A (ja) * 2016-08-10 2022-04-12 ムーンシャドウ モバイル,インコーポレイテッド 大規模データセットの高速検索またはフィルタリングのためのシステム、方法、およびデータ構造
JP2023073104A (ja) * 2021-11-15 2023-05-25 株式会社Cogent Labs マッチング装置、マッチング方法、プログラム、及び記録媒体

Similar Documents

Publication Publication Date Title
US5524240A (en) Method and apparatus for storage and retrieval of handwritten information
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
US10073829B2 (en) System and method for inputting text into electronic devices
EP3020005B1 (en) Active featuring in computer-human interactive learning
US5649023A (en) Method and apparatus for indexing a plurality of handwritten objects
US8805861B2 (en) Methods and systems to train models to extract and integrate information from data sources
US9424246B2 (en) System and method for inputting text into electronic devices
US20070055655A1 (en) Selective schema matching
CN113282689B (zh) 基于领域知识图谱的检索方法、装置
US5553284A (en) Method for indexing and searching handwritten documents in a database
CN110795526B (zh) 一种用于检索系统的数学公式索引创建方法与系统
CN113239071B (zh) 面向科技资源学科及研究主题信息的检索查询方法及系统
CN112988784B (zh) 数据查询方法、查询语句生成方法及其装置
US20230139614A1 (en) Efficient computation of maximum probability label assignments for sequences of web elements
US20100125725A1 (en) Method and system for automatically detecting keyboard layout in order to improve the quality of spelling suggestions and to recognize a keyboard mapping mismatch between a server and a remote user
CN112698831A (zh) 一种代码自动生成质量评估方法
CN111597400A (zh) 基于寻路算法的计算机检索系统及方法
JP5252596B2 (ja) 文字認識装置、文字認識方法及びプログラム
CN116860991A (zh) 面向api推荐的基于知识图谱驱动路径优化的意图澄清方法
Pandi et al. A novel similarity measure for sequence data
JPH08235221A (ja) インデックス付けされたデータベースを生成する方法およびデータベースにインデックス付けを行う方法
US11698933B1 (en) Using dynamic entity search during entry of natural language commands for visual data analysis
JP2795317B2 (ja) 多段表処理方式
JP4426893B2 (ja) 文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置
CN112214511A (zh) 一种基于wtp-wcd算法的api推荐方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030107