JPH09502039A - 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置 - Google Patents

自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置

Info

Publication number
JPH09502039A
JPH09502039A JP7507764A JP50776495A JPH09502039A JP H09502039 A JPH09502039 A JP H09502039A JP 7507764 A JP7507764 A JP 7507764A JP 50776495 A JP50776495 A JP 50776495A JP H09502039 A JPH09502039 A JP H09502039A
Authority
JP
Japan
Prior art keywords
text
data
database
query
fact
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.)
Granted
Application number
JP7507764A
Other languages
English (en)
Other versions
JP3639972B2 (ja
Inventor
ハーディング,ジェイムズ・アラン
マッコーマック,ジョナサン・イアン
Original Assignee
アサイメトリックス・コーポレイション
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
Application filed by アサイメトリックス・コーポレイション filed Critical アサイメトリックス・コーポレイション
Publication of JPH09502039A publication Critical patent/JPH09502039A/ja
Application granted granted Critical
Publication of JP3639972B2 publication Critical patent/JP3639972B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24526Internal representations for queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/917Text
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • Y10S707/967Peer-to-peer
    • Y10S707/968Partitioning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 本発明は、データベース設計、及びデータベースに含まれるデータの照会文を指定するためのコンピュータ化されたツールである。情報システムを構築する必要がある場合、本発明の事実コンパイラ(100)が実行されて、そのシステムを生成する。情報システムを生成した後、ユーザは、「事実ツリー指定」モジュール(300)を用いて、システムに対する照会文を生成する準備段階として、事実ツリーを生成する。事実ツリーを生成した後、ユーザは「事実ツリー=>記述」モジュール(500)として実行される、本発明のツリー・インタプリタを用いて、それが正しいか確認する。事実ツリーが確認されると、「事実ツリー=>SQL照会文」モジュール(400)として実行される、本発明の照会文マッパが、情報システムの照会文を生成するのに使用される。

Description

【発明の詳細な説明】 自然言語に似た構造を用いたデータベースの モデル化及び照会に関する方法及び装置 技術分野 本発明は、コンピュータ・データベース・システムの構築、及びそこに含まれ るデータの照会に関する。特に、本発明は、データベース設計をモデル化し、そ のデータベースに含まれるデータの照会を指定するためのコンピュータ化された ツールに関する。 技術分野の背景 コンピュータ化された関係データベースは、現実の世界の問題をモデル化する 情報システムを形成するのに用いられ、オブジェクト、関係(即ちそれらのオブ ジェクト間の事実)、及びこれらの関係とオブジェクトを管理する制約とルール から構成される。オブジェクトは物理エンティティー又は論理エンティティーで あり、ユニークなものとして識別されうる。この点で、オブジェクトは基本的に 名詞に似ていると言われる。事実は、オブジェクトの相互作用の方法を定義し、 基本的に動詞であるかまたは動詞に似ている。制約は、オブジェクトと事実の間 の相互関係を修正または制限し、このようなものは副詞かまたは代名詞に類似し ている。情報システムが多く 利用されるにつれて、及びこのシステムの設計が進歩するにつれて、正確にモデ ル化しようとする現実の世界の問題も複雑になってくる。 情報システムを構築する際に、ユーザは正確に(データの外部ビューとしても 知られる)現実世界のモデルを、実際の物理的な実施に、特定のコンピュータ・ システムに関する特定のデータベース言語を用いて変換する必要がある。この実 施は物理ビューとも呼ばれる。関係データベースにおける固有の能力を引き出す ためには、コンピュータの知識がないかまたはコンピュータ教育を受けていない 人が、情報管理システムの設計と実施、及びそこから意味のあるデータを特別な コンピュータ言語を習得する必要無しに照会することができなければならない。 情報システムの物理ビューは多くのデータベース設計言語のうちの1つで表現 される。当業者に周知のデータベース設計言語の例は、構造化照会言語(SQL)と マイクロソフト社のACCESSである。これらのデータベース設計言語は記憶を実行 し、その後データベースに記憶されたデータを検索するのに非常に適しているが 、言語自身は自然言語でなく、高度な技術を要する。このことは、データベース 設計言語が通常、その言語による情報システム・モデルのエンド・ユーザによっ て使用されていないか又は理解されていないと言うことを意味している。 外部ビューから物理ビューへの情報システムの変換には、時間を要し、それが 技術的な形式から成る何かである限りは、すぐに形式化される。情報システム設 計に関するデータをモデル化する際のデ ータベース分析を支援するために、いくつかのCASEツール・セットが開発されて おり、当業者には周知である。 従来のCASEツール・セットは一般にエンティティー関係モデル(ER)に基づいて いた。ERモデルは、アプリケーションの大部分の特徴を集約する便利な手段を提 供するものの、通常は、そのアプリケーションで共通に発生する多くの制約と、 派生ルールを表現することができない。ERベースのツールの概略は、Ovum(1992 年)とReiner(1992年)に見ることができる。この技術の状況の例はCzejdo他にお いて議論されている(IEEE Computer,1990年3月26-37ページ)。 アプリケーションの、より詳細な部分を把握するために、事実指向モデルとし ても知られる、オブジェクト役割モデル(ORM)が開発された。当業者に周知のORM のバージョンは、自然言語情報分析技法(NIAM)、2進関係モデル(BRM)、自然オ ブジェクト役割モデル(NORM)、及び述語生成器セット・モデル(PSM)を含んでい る。あるORMのバージョンでは、形式オブジェクト役割モデル(FORM)が、NIAMに 対する拡張に基づいており、グラフィック、及びテキスト形式の両方を有する(H alpinとOrlowska、1992年)支援言語(FORML)を備えている。FORMとFORMLの一部は 、本発明の発明者の1人によって開発された。 シンボル駆動型CASEツール・セットを使用することによって、所与の情報シス テム・モデルを概念化するための強力な手段が提供されるが、これを使用するこ とは、訓練されていないユーザにとって直感的な明確さに欠ける。こうしたユー ザにとって、ユーザが既に容易に使いこなせる言語を用いて情報システムをモデ ル化できると 言うことは、より強力なアプローチである。FORMLはユーザに自然言語に似たコ マンド・セットを提供し、従って習得が容易である。 オブジェクト役割モデルに関するいくつかのCASEツール・セットが存在する。 当業者に周知のこれらのツール・セットは、RIDL(1988年、Detroyer他;1989年 、Detroyer;1990年、Nienhuys-cheng)、GIST(1988年、Shoval他)、及びIAST(19 82年、Control Data)である。RIDLは現在Intellibaseによって販売されている。 RIDLには最近、より高いアリティ(arity)の事実タイプに関する支援が追加され たが、これらのORMベースのCASEツール・セットは一般に、ORMの2進のみのバー ジョンに対してのみ適合する。概して、これらのシステムは、図表上のシンボル の明白な「描画」に基づいている。これらのツール・セットのユーザは通常、図 表上に直接シンボルを置くことによって情報システムを指定する。典型的なCASE ツール・セットでは、使用されるシンボルのタイプ毎に別のツールが使われる。 これらのツール・セットの重要な点は、シンボルの表記法に関するものであり、 それは、その表記法が基づく言語の潜在的な意味に関するものではないことを意 味している。 ORMから標準化された関係テーブルへのマッピングに関する「最適標準形式」 技法は、1970年にNIAMにおいて紹介されている。この技法は、あるケースを無視 し、制約マッピングに関する方法論について非常に不完全な仕様を提供した。NI AMに対する多くの拡張によって、FORMLのグラフィック・バージョンにおいて表 現されるすべての概念スキーマを冗長フリーの関係スキーマに完全にマッピング する ことができ、これはRMAP(関係マッピング、1992年、RitsonとHalpin)として紹介 されている。RMAPは、例えばnに関する(n-ary)サブセット、同等、排他、閉鎖 、及びリングなどの制約のバリエーションをより多くすることができる点で、RI DL-Mのような他のマッピング技法とは異なる。 ORMベースのCASEツール・セットを使用しているデータベースのプロは、その ツール・セットを使用していない同等の作業者よりも極めて生産性が高い。RMAP のようなマッピング・スキーマを含むツール・セットは、より強力でもあり、更 に生産性を向上させる。RMAPを実装したFORMLベースのツール・セットは、ORMベ ースのツール・セットに関する技術の現在の状況を表現している。FORMLのグラ フィカル、及びテキスト言語形式が提供されると、現代のコンピュータ・システ ムで共通のグラフィカル・ユーザ・インタフェースで簡単で迅速に使用すること ができるORMベースのCASEツール・セットの能力、柔軟性、及び正確さを兼ね備 えることになる。このことは、コンピュータのプロによって使用された場合にCA SEツール・セットの生産性を更に向上させる効果があるばかりでなく、コンピュ ータの初心者が使用した場合にも同様に強力なソフトウエア・エンジニアリング ・ツールを提供する効果を有する。 従来の自然言語CASEツールがそれらの基本概念の約束のいくつかを果たしては いるが、それらは、複雑なデータベースを容易にモデル化するためのシンボル駆 動型システムの能力に欠ける。本発明の前までは、自然言語に似た構造をORMの シンボルに変換し、こうして 形式化された概念スキーマを、多くのSQLに似たデータベース言語に関して実施 される関係スキーマに自動的にマッピングするためのグラフィカル・ユーザ・イ ンタフェースを備え、自然言語に似た構造を用いる、ORMの能力、柔軟性、及び 正確さを兼ね備えたデータベース設計のためのCASEツール・セットはなかった。 本発明は、ORMベースの図表上にシンボルを描画するのに必要なユーザ・オペレ ーションの数を、ユーザが自然言語に近いもので情報を記述できることによって 1/6にするという効果を有する。ユーザは情報の意味について考えることができ 、シンボルを描画するのに時間を費やさなくてすみ、このことが意味を考える処 理を縮小させる。 前述した、従来のER、及びORMベースのツール・セットに加え、異なる方法論 を用いてデータベースの指定処理を自動化する努力が研究者によってなされてき た。より関係のある試みのいくつかを後述する。 Thompson他による米国特許第4,688,196号は、初心者がメニュー駆動型インタ フェースのシステムに基づいてデータベースを生成、照会できる、自然言語イン タフェース生成システムを教示している。ユーザが自然言語で、インタフェース 生成システムに対しコマンド・ワードを指定する場合は、ワードが入力されたと きに各ワードの後に合法的に続くワードのメニューが提供される。このメニュー は、事前に定義され、常駐するファイルを参照することによって提供される。Th ompsonはこれらのファイルを文法、及び辞典と呼んでいる。ユーザによって入力 されたコマンドは、システムによって変換され、 それはその後、以下に示す方法で、必要なインタフェースを生成するための自動 相互作用システムを提供する。 データベースがロードされた後、インタフェース生成システムは、ユーザの技 術熟練者に対して一連の質問を行う。これらの質問に応答して、ユーザ、または その熟練者はデータベース内のどのテーブルが使用されるべきか;特定のテーブ ルのどの属性がキー属性か;データベース内の様々なテーブル間の様々な接続は 何か;及びこれらの関係を記述するフレーズと接続している自然言語は何かを確 認しなくてはならない。 Davis他による米国特許第4,939,689号は、テキスト駆動型アウトライン・シス テムを使用することによって、データベース構造の生成と、これらの構造をその 後照会するためのシステムを教示している。Davisのシステムは別の形式の常駐 辞書テーブルを使用し、これもまた事前に定義される。Davisのシステムでは、 ユーザはデータベースのフォーマットを定義するテキストのアウトラインを入力 する。このアウトラインは次に、データ入力を容易にするデータ入力スクリーン を生成するのに用いられる。 データベース情報システムを生成した後で(かつ、これらのシステムに属する データが、入力されたと仮定すると)、この情報システムは正確に照会されなけ ればならない。他の当業者による努力によって、初心者に照会文の作成を可能に する2つの広い戦略が教示されている。 照会文を生成する問題に対する従来技術における解決法は、自然 言語解析型を用いることである。この方法論は、英語や日本語のような好ましい 自然言語で入力される照会文を採用し、照会文をその構成要素部分に解析する。 照会文の各構成要素は次に、元の自然言語照会文をデータベース言語の照会文に 変換するために使用される。本発明の前までは、これは通常、解析されたワード やフレーズを、それぞれデータベース設計言語におけるそれらの同義語に変換す る常駐データベースまたは辞書の何らか形式によって達成される。 Takanashi他の、1992年7月10日に出願されたヨーロッパ特許出願、EP 052259 1A2は、典型的なこの「解析とルックアップ」戦略のシステムを教示しており、 このシステムによって、自然言語照会文が入力され、その構成要素部分に解析さ れる。解析系は、常駐文法テーブルと常駐用語辞典を使用して、個々のコマンド ・ワードとフレーズの意味をデータベース設計言語に変換する。この解決法を完 全に実施する際に困難なのは、費用と能力であり、即ちほとんどの自然言語のサ イズと可変構造である。可能な各ワード、および多くのフレーズは、システムを 本当に役立つものにするため、常駐テーブル内に対応するエントリを有する必要 がある。このエントリがないと、自然言語インタフェースの能力は、コマンドが システムに理解されないという点で実質的に低下する。 金銭上、及びコンピュータのオーバヘッドにおいて、大きな、常時常駐する、 任意の実質的な情報システムに対する自然言語インタフェースが生成され、維持 コストは法外なものになる。更に、エンド・ユーザはまだ、解析系と常駐辞書フ ァイルが理解できる質問と キーワードのタイプを知る必要がある。これは、常駐テーブルの方法論が十分に データ・オブジェクトとそれらのオブジェクトに関する制約の間の関係を考慮に 入れていないためである。例えば、ユーザがスミス氏の年を知りたい場合、スミ スは人であったり塔であったりするので、「スミスの年はいくつですか?」と訪 ねるだけでは不十分である。この代わりに、ユーザは「スミスと呼ばれる人の年 はいくつですか?」とタイプしなければならない。結果的に、自然言語解析系を 使用した場合の学習曲線は、依然として極めて高い。 従来技術における照会文生成の問題を解決する第2の方法は、照会ツールを使 用することである。照会ツールはデータベースの物理構造に基づいており、その 中の情報に基づいたものではない。情報が、相互作用概念オブジェクトの集合、 即ち記憶させたいもの、例えば人、住所などの集合として広範に分類されうる。 事実は、例えば、とある住所に住んでいる人といったオブジェクト間の関係であ る。情報がデータベース内に記憶されたときに、その情報は、例えばテーブルの ような物理構造の集合として表現される。エンド・ユーザの一部に、データベー スの専門技術がかなり欠けているものがいる場合、データの物理表現は、彼らに とっては相変わらず理解できないものとなる。従って、こうした初心者に、前記 物理構造で記憶されたデータの、物理構造に基づく照会が可能となるためには、 これらの物理構造をしっかり理解するようにかなりの訓練を積む必要がある。 自然言語解析系、または物理構造照会ツールを用いて照会文を記 述する際に、最後の問題が残っている。ユーザは最終的にどちらかの処理によっ て形成される照会文が、実際に正しく解析されることを保証することはできない 。物理構造を照会する場合、十分な訓練がないと、初心者ユーザはデータが記憶 される方法を理解できない。自然言語解析系を使用した場合、その自然言語にお けるあいまいな固有情報のために同様の問題が生じる。例えば、ユーザが「スミ スの年はいくつてすか?」と訪ねると、コンピュータは「55」と答える。この答え は、スミスという人に関するものかもしれないし、スミスの塔に関するものかも しれない。これは、ケーリー・グラントの年を尋ねようと彼の代理人に電報を打 ったレポーターを思い出させる。レポーターは、送信する電報の文字数毎の料金 を気にして、「ケーリー・グラントの年はどうてすか?(HOW OLD CARY GRANT?) 」という質問文を打った。その俳優は、不注意でその電報が彼に配達されたとき 、電報で「年をとったがケーリー・グラントは元気だよ(OLD CARY GRANT JUST F INE)」と返信した。明らかに、照会文の構文が正しくなければ、初心者ユーザは 不確かな答えを得るかまたは、意図していない照会文に対する答えを得ることに なる。 前述した、従来技術のCASEツール共通の設計上の特徴は、事前に定義されたテ ーブル、または自然言語入力の変換を行い、データ・オブジェクト、事実、制約 、及びそれらの相互関係の正確な性質を指定するテーブルを使用することである 。前述のように、この方法論は費用がかかり、効果的でなく、十分な効果が得ら れない。 現在情報システムの指定に使用されているCASEツールの更なる設 計上の特徴は、自然言語の代わりにシンボルを使用していることである。シンボ ル駆動型CASEツール・セットは、シンボルのチャートからコンピュータ言語にお けるデータベース指定に変換を行うためにいくつかのステップを必要とするため 、すぐに不正確で厄介なものになる。 従って、ユーザが自然言語または自然言語に似たコマンドを用いて、情報シス テムを指定し、生成できる装置に対する需要があり、それは、システム・オブジ ェクト、事実、及び制約を、曖昧さや過度のオーバヘッドなしに正確に指定する ものである。これは、曖昧さのない方法でデータ要素間の相互関係を定義するた めに、グラフィカルな描写が可能であることを意味している。システムを生成す るために使用される情報は、データベース自身の構造と、一旦完成したデータベ ースに対するその後の照会文を定義するのに使用できる。初心者ユーザが、以前 に入力された変換テーブル内の定義に制限されることのない、自然言語に似たコ マンドを再び使用して、システムに対するこうした照会文を指定できる手段に関 する別の需要がある。更に、情報システムにアクセスするために生成された任意 の照会文が正確に、曖昧さなく、ユーザの意図する質問を伝えて、正確で曖昧さ のない答えを返答することを保証する手段に関する別の需要がある。 発明の開示 本発明は、ユーザが、 1.自然言語に似たコンピュータ言語(こうした言語の1つはFORMLである)に 対するグラフィカル・ユーザ・インタフェースを用いて情報システム記述を開発 でき、 2.照会文生成に関する事実ツリーを指定でき、 3.意味が正しいか照会文をチェックでき、 4.データベース・システムに対して照会文を生成できるような方法、及び装置 を提供する。 情報システムを生成する必要があるという決定がなされたら、本発明の事実コ ンパイラが実行される。事実コンパイラのコンパイル機能は、ユーザに自然言語 に似たコンピュータ言語を使用した、テキストでのタイプを可能とする。このよ うな言語の1つはFORMLである。テキストはシステムによって提供されるウイン ドウ内にタイプされ、オブジェクト(ここでは名詞としても呼ばれる)、事実( ここでは事実タイプまたは文としても呼ばれる)、及び/または制約を含む可能 性がある。「図表上のドラッグ・アンド・ドロップ」と呼ばれる変換関数とグラ フィカル・ユーザ・インタフェースを用いて、ユーザは、テキストを入力ウイン ドウから事実コンパイラのORM概念スキーマ図表上の適当な場所にドラッグする 。次にユーザは、そのテキストを図表上にドロップする。事実コンパイラはその 入力されたテキストを確認し、発生したエラーをユーザに知らせる。確認の間、 事実コンパイラは最初にテキストを解析し、オブジェクト・リスト、事実リスト 、及び制約リストをメモリ内に生成する。次に、事実コンパイラは反復的にテキ ストをリポジトリにコンパイル する。このリポジトリは、基本的に「データベースのデータベース」である。最 後に、確認されたオブジェクト、事実、及び/または制約がORM概念スキーマ図 表上に適当な記述で描写される。この時点で、情報システムの指定が完了したも のと見なされる。 情報システムが生成された後、ユーザは以前に入力された情報をチェックし、 及び/または編集することができる。これは、事実コンパイラの逆コンパイラ機 能を使用して達成される。逆コンパイラは、それがORMの概念スキーマ図表をと り、リポジトリ内に入力されたオブジェクト、事実、及び制約からなるテキスト のリストに戻るという点で、基本的に前述のコンパイラ機能の逆である。ユーザ は、情報システムの指定を確認するかまたは、システムが存在する場合にシステ ムを編集するために、このリストを使用することができる。 情報システムの指定が一旦完了すると、情報システムのORM表現で描写された 概念スキーマは、RMAPを用いて関係データベースにマッピングされる。RMAP処理 は、McCormack他(1993年)に詳細に記述があり、ここで参照することにより、詳 細な説明がなされたものとして本明細書に組み込まれる。事実の集合を、例とし て示す。 人は住所に住む。 人は電話番号を持つ。 人は科目を勉強する。 科目は人に教えられる。 例の事実ツリーに関連する関係データベースが、 人_テーブル:(人、住所) 電話_テーブル:(人、電話番号) 勉強_テーブル:(人、勉強科目) 科目_テーブル:(科目、先生) であると、関連するRMAPのマッピングは以下のようになる。 事実 テーブル 第1名詞カラム 第2名詞カラム 人は住所に住む 人_テーブル 人 住所 人は電話番号を持つ 電話_テーブル 人 電話番号 人は科目を勉強する 勉強_テーブル 人 勉強科目 科目は人に教えられる 科目_テーブル 人 先生 照会処理の第1ステップは、事実ツリーを指定する。事実ツリーの指定では、 ユーザは照会に関連する名詞を選択する。例えば、ユーザがスミス氏の住所、電 話番号、勉強科目、及び先生を見つけたい場合、照会が基本的に人に関するもの なので、人という名詞から始める。照会文の根として人を選んだ後、その人の住 所などを見つけるために、人に関する他の情報を選択することができる。選択可 能な情報だけが、人に関する事実に含まれる情報である。即ち、 0 ある人はある住所に住む。 0 ある人はある電話番号を持つ。 0 ある人はある科目を勉強する。 0 ある科目はある人に教えられる。 この事実の集合は、特定の人に関する入手可能な情報全てである。この情報は 概念的に表示され、ユーザは任意の特定キーワードやフ レーズを知る必要がない。この場合、ユーザは以下の事実を選択する。 0 ある人はある住所に住む。 0 ある人はある電話番号を持つ。 0 ある人はある科目を勉強する。 0 ある科目はある人に教えられる。 なぜなら、それがスミス氏について彼らが知りたいことであるからである。こ れは、以下の事実ツリーで構成される。 人 _ある住所に住む _ある電話番号を持つ _ある科目を勉強する _ある人に教えられる。 最後に、ユーザは、スミス氏にしか興味がないので、ツリーの根にある人を、 スミス氏であると制限する。 最終的なツリーの意味は、スミス氏という人、彼の住む住所、彼の持っている 電話番号、彼が勉強している科目を表示し、彼の勉強している科目に関して、そ れらの科目を教えている人を表示するものである。 事実ツリーを生成した後、ユーザはその事実ツリーが正しいことを、本発明の ツリー・インタプリタを使用して確認する。そうすることによって、生成された 照会文が曖昧さを有する可能性を、あらかじめ除外することになる。ツリー・イ ンタプリタの使用中に、ツ リー・インタプリタ・アルゴリズムが、事実ツリーの自然言語記述を構成する。 このアルゴリズムは、以下の最良の形態のセクションで記述される再帰的depth- first検索関数である。この解釈は、ユーザに、ユーザの質問が所望の情報を得 ることを確認できるようにする。 ユーザが一旦事実ツリーを指定し、それをツリー・インタプリタを使ってチェ ックすると、関係照会文自体が生成されるのみである。これを行うアルゴリズム は、再帰的に再び事実ツリーのノード上にあって、本発明を実施する最良の形態 を詳述する以降のセクションで詳細に説明する。 図面の簡単な説明 本発明の様々な特徴と利点が、添付図面に関連して行われる以下の、好適実施 例の詳細な説明によって、より容易に理解される。この図面は、同じ参照番号が 同じ要素を示している。 図1は、本発明の動作のために構成された、プログラム可能な、デジタル汎用 コンピュータの外観を示す図である。 図2は、本発明によって構成された、図1のコンピュータのブロック図である 。 図3は、本発明の事実コンパイラを選択した後に、本発明の初期選択メニュー を例示するフロー・チャートである。 図4は、3つの主要関数を含んだ、本発明の事実コンパイラを例示するフロー ・チャートである。 図5は、本発明の事実コンパイラの「図表上のドラッグ・アンド・ドロップ」 関数を例示するフロー・チャートである。 図6は、「図表上のドラッグ・アンド・ドロップ」関数によって実行される、 「ドラッグ・アンド・ドロップ解析」関数のフロー・チャートである。 図7は、事実コンパイラによって実行される、「リポジトリのみへのコンパイ ル」関数のフロー・チャートである。 図8は、「リポジトリのみへのコンパイル」関数によって実行される、解析関 数のフロー・チャートである。 図9は、解析関数によって実行される、走査関数のフロー・チャートである。 図10は、本発明に従う、エラー条件を入力する手順を示すテーブルである。 図11は、解析関数によって実行される、「オブジェクト指定検索」関数を例示 するフロー・チャートである。 図12は、解析関数によって実行される、「事実指定検索」関数を表すフロー・ チャートである。 図13は、解析関数によって実行される、「制約指定検索」関数を表すフロー・ チャートである。 図14は、「オブジェクト指定検索」関数によって実行される、「新オブジェク ト割り当て」関数を例示するフロー・チャートである。 図15は、「事実指定検索」関数によって実行される、「新事実割 り当て」関数を例示するフロー・チャートである。 図16は、「制約指定検索」関数によって実行される、「新制約割り当て」関数 を例示するフロー・チャートである。 図17は、「ドラッグ・アンド・ドロップ解析」関数と、「リポジトリのみへの コンパイル」関数の両方によって実行される、「リポジトリ内のレコード更新」 関数を表すフロー・チャートである。 図18は、本発明に従う、「事実ツリー指定」関数が選択された後の、本発明の 初期選択メニューを例示するフロー・チャートである。 図19は、「事実ツリー形成」関数と本発明の照会文マッパ、または「ツリー・ インタプリタ」関数のどちらかの選択を例示するフロー・チャートである。 図20は、ユーザが本発明の照会文マッパを選択した場合に実行される、「事実 ツリー=>SQL照会文」関数を表すフロー・チャートである。 図21は、「事実ツリー=>SQL照会文」関数によって実行される、「ノード=>SQL 」関数を例示するフロー・チャートである。 図22は、「ノード=>SQL」関数によって実行される、「ジョイン生成」関数を 表すフロー・チャートである。 図23は、「ノード=>SQL」関数によって実行される、「セレクタ1追加」関数 を例示するフロー・チャートである。 図24は、「ノード=>SQL」関数によって実行される、「セレクタ2追加」関数 を例示するフロー・チャートである。 図25は、ユーザが本発明のツリー・インタプリタを選択した場合 に実行される、「事実ツリー=>記述」関数のフロー・チャートである。 図26は、「事実ツリー=>記述」関数によって実行される、「根に関するテキス ト作成」関数のフロー・チャートである。 図27は、「事実ツリー=>記述」関数によって実行される、「ノードに関するテ キスト作成」関数を例示するフロー・チャートである。 本発明を実施する最良の形態 本発明の好適実施例は、図1に示すように構成されたコンピュータ・システム 1に組み込まれる。コンピュータ・システム1はプログラム可能なデジタル・コ ンピュータである。本発明はインテル80386、またはそれ以上のチップセットを 有し、MS-DOSオペレーティング・システム、バージョン5.O以上で動作するIBM互 換コンピュータで実行可能である。実行には最小で6メガバイトの利用可能なRA Mと、最小で6メガバイトのハードディスク記憶域が必要である。これらのコン ピュータは通常CPU、主記憶装置、I/O資源、及び手動のキーボードとマウスを含 むユーザ・インタフェースを含んでいる。本発明は、グラフィカル・ユーザ・イ ンタフェースも必要であり、マイクロソフト・ウインドウズは周知な例の1つで ある。 本発明は、インテル80486のチップセットを有し、マイクロソフトのMS-DOSオ ペレーティング・システム、バージョン5.Oで動作するIBM互換コンピュータにお いてプログラムされている。マイクロソフト・ウインドウズ・バージョン3.1が インストールされ、必要なグラ フィカル・ユーザ・インタフェースを提供する。最後に、以下に説明するシステ ムは、ボーランドのC言語でプログラムされている。 図2は、図1のプログラム可能汎用コンピュータのバス構成を示しており、本 発明は、このコンピュータ上で実施される。 図3を参照すると、ユーザは手動入力50でシステムを初期化し、関数セレクタ 51で所望の関数を選択する。 本発明は、ユーザが、 1.自然言語に似たコンピュータ言語(こうした言語の1つはFORMLである)に 対するグラフィカル・ユーザ・インタフェースを用いて情報システム記述を開発 でき、 2.照会文生成に関する事実ツリーを指定でき、 3.意味が正しいか照会文をチェックでき、 4.データベース・システムに対して照会文を生成できるような方法、及び装置 を提供する。 情報システムを生成する必要があるという決定がなされたら、本発明の事実コ ンパイラが実行される。事実コンパイラのコンパイル機能は、ユーザに自然言語 に似たコンピュータ言語を使用した、テキストでのタイプを可能とする。このよ うな言語の1つはFORMLである。テキストはシステムによって提供されるウイン ドウ内にタイプされ、オブジェクト、事実、及び/または制約を含む可能性があ る。「図表上のドラッグ・アンド・ドロップ」と呼ばれる変換関数とグラフィカ ル・ユーザ・インタフェースを用いて、ユーザは、テキストを入力ウインドウか ら事実コンパイラのORM概念スキーマ図表上の 適当な場所にドラッグする。次にユーザは、そのテキストを図表上にドロップす る。事実コンパイラはその入力されたテキストを確認し、発生したエラーをユー ザに知らせる。確認の間、事実コンパイラは最初にテキストを解析し、オブジェ クト・リスト、事実リスト、及び制約リストをメモリ内に生成する。次に、事実 コンパイラは反復的にテキストをリポジトリにコンパイルする。このリポジトリ は、基本的に「データベースのデータベース」である。最後に、確認されたオブ ジェクト、事実、及び/または制約が、ORM概念スキーマ図表上に適当な記述で 描写される。この時点で、情報システムの指定が完了したものと見なされる。 情報システムが生成された後、ユーザは以前に入力された情報をチェックし、 及び/または編集することができる。これは、事実コンパイラの逆コンパイラ機 能を使用して達成される。逆コンパイラは、それがORMの概念スキーマ図表をと り、リポジトリ内に入力されたオブジェクト、事実、及び制約からなるテキスト のリストに戻るという点で、基本的に前述のコンパイラ機能の逆である。ユーザ は、情報システムの指定を確認するかまたは、システムが存在する場合にシステ ムを編集するために、このリストを使用することができる。 情報システムの指定が一旦完了すると、情報システムのORM表現で描写された 概念スキーマは、RMAPを用いて関係データベースにマッピングされる。RMAP処理 は、McCormack他(1993年)に詳細に記述があり、ここで参照することにより、詳 細な説明がなされたものとして本明細書に組み込まれる。事実の集合を、例とし て示す。 人は住所に住む。 人は電話番号を持つ。 人は科目を勉強する。 科目は人に教えられる。 例の事実ツリーに関する関係データベースが、 人_テーブル:(人、住所) 電話_テーブル:(人、電話番号) 勉強_テーブル:(人、勉強科目) 科目_テーブル:(科目、先生) であると、関連するRMAPのマッピングは以下のようになる。 事実 テーブル 第1名詞カラム 第2名詞カラム 人は住所に住む 人_テーブル 人 住所 人は電話番号を持つ 電話_テーブル 人 電話番号 人は科目を勉強する 勉強_テーブル 人 勉強科目 科目は人に教えられる 科目_テーブル 人 先生 照会処理の第1ステップは、事実ツリーを指定する。事実ツリーの指定では、 ユーザは照会に関連する名詞を選択する。例えば、ユーザがスミス氏の住所、電 話番号、勉強科目、及び先生を見つけたい場合、照会が基本的に人に関するもの なので、人という名詞から始める。照会文の根として人を選んだ後、その人の住 所などを見つけるために、人に関する他の情報を選択することができる。選択可 能な情報だけが、人に関する事実に含まれる情報である。即ち、 0 ある人はある住所に住む。 0 ある人はある電話番号を持つ。 0 ある人はある科目を勉強する。 0 ある科目はある人に教えられる。 この事実の集合は、特定の人に関する入手可能な情報全てである。この情報は 概念的に表示され、ユーザは任意の特定キーワードやフレーズを知る必要がない 。この場合、ユーザは以下の事実を選択する。 0 ある人はある住所に住む。 0 ある人はある電話番号を持つ。 0 ある人はある科目を勉強する。 0 ある科目はある人に教えられる。 なぜなら、それがスミス氏について彼らが知りたいことであるからである。こ れは、以下の事実ツリーで構成される。 人 _ある住所に住む _ある電話番号を持つ _ある科目を勉強する _ある人に教えられる。 最後に、ユーザは、スミス氏にしか興味がないので、ツリーの根にある人を、 スミス氏であると制限する。 最終的なツリーの意味は、スミス氏という人、彼の住む住所、彼の持っている 電話番号、彼が勉強している科目を表示し、彼の勉強 している科目に関して、それらの科目を教えている人を表示するものてある。 事実ツリーを生成した後、ユーザはその事実ツリーが正しいことを、本発明の ツリー・インタプリタを使用して確認する。そうすることによって、生成された 照会文が曖昧さを有する可能性を、あらかじめ除外することになる。ツリー・イ ンタプリタの使用中に、ツリー・インタプリタ・アルゴリズムが、事実ツリーの 自然言語記述を構成する。このアルゴリズムは、再帰的depth-first検索関数で あり、以下で要約して示す。 関数:解釈_ツリー(事実ツリー_ノード)//事実ツリーの ノード上で機能する、解釈_ツリー begin(開始) ノードがそのツリーの根である場合、 「名詞」がそのノードの名詞である。 (例えば、人) 「全ての「名詞」に関して、」をプリントする。 (例えば、全ての人に関して) そのノードが制限を有している場合、 (例えば、スミス氏と等しい) 「「名詞」=制限内容であるもの」をプリントする。 (例えば、(人=スミス氏であるもの)) 「を表示する:」をプリントし、新しい行に移動する。 otherwise(上記以外の場合) 「名詞」がそのノードの名詞である。 (例えば、住所) 「親の名詞」がそのノードの親の名詞である。 (例えば、人) 「フレーズ」がその名詞のフレーズである。 (例えば、住む) 「「親の名詞」が「フレーズ」 「名詞」」をプリントする。 (例えは、人が住む住所) ノードが制限を有する場合、 (例えば、シアトルと等しい) 「「名詞」=制限内容であるもの」をプリントする。 (例えば、(住所=シアトルであるもの)) ノードがいくつかの子を有する場合、 「、更にこれらの「名詞」に関して..を表示する。」 をプリントし、新しい行に移動する。 ノードの全ての子について、 解釈_ツリーを子ノード上で呼び出す。 end(終了) 上記例の解釈_ツリーの結果、事実ツリーは、 全ての人に関して、(人=スミス氏であるもの)を表示する: その人が住む住所 その人が持つ電話番号 その人が勉強する科目 更にこれらの科目に関して、その科目を教える人を表示する。 この解釈によって、ユーザがした質問が、所望の情報を得られるか確認できる 。 ユーザが一旦事実ツリーを指定し、それをツリー・インタプリタを用いてチェ ックすると、関係照会文の生成のみが行われる。これを実行するアルゴリズムも 、再帰的に事実ツリーのノード上にある。 関数:生成_照会文(事実ツリー_ノード) begin(開始) ノードは、この呼び出しによって関数にマッピングされているノードである。 「子1」...「子n」は「ノード」の子である。 「文1」...「文n」はそれそれ「子i」...「子n」に対する文であり、各文 i (i=1...n)はその子に関連するマッピングを有している。このマッピングは、 文を表現するために用いられる関係構造に対応し、文がマッピングされたテーブ ル、第1の名詞に関するカラム、及び第2の名詞に関するカラムを含む。例えば 、人が住所に住むという文は、名詞1(人)がカラム1に、名詞2(住所)がカ ラム2となって、人_テーブルにマッピングされる。 「ノード」内の名詞、及び文1から文n内の、その名詞のそれぞれの位置に基 づく外部ジョインを用いて、文1...nに関する全てのマッピングを一緒にジョ インする。要求時に、制限を含んだ照会文 を生成する。これを表現する、例の事実ツリーに適用されたSQL照会文は: select人.人,電話番号,科目 from 人、人は電話番号を持つ、人は科目を勉強する 外部ジョイン 人.人=人は電話番号を持つ.人 外部ジョイン 人.人=人は科目を勉強する.人 where人.人=「スミス氏」.... 子i(i=1...n)のどれかが子を持つ場合、生成_照会文を子に適用して、外部ジ ョインを用い、その結果を既存の照会文内に含める。事実ツリーの例では、これ は結果的に、科目を勉強する人の科目ノード上で実行される生成_照会文となり 、また結果的に以下の照会文となる。 select人.人,電話番号,人は科目を勉強する.科目 科目.人 from 人、人は電話番号を持つ、人は科目を勉強する、科目 外部ジョイン 人.人=人は電話番号を持つ.人 外部ジョイン 人.人=人は科目を勉強する.人 外部ジョイン 人は科目を勉強する.科目=科目.科目 where人.人=「スミス氏」.... SQLが記述上便利なものとして使用され、かつその使用がアルゴリズムを背景 とした論理とは無関係であることに注意すべきである。 任意の関係言語が使用可能であることは、本発明の大きな特徴である。本発明の 事実コンパイラ、照会文マッパ、及びツリー・インタプリタのアルゴリズムの利 点は、それらが実質的に概念の数と、初心者が関係データベースにおいて意味の ある照会文を表現できるために必要な訓練の時間を削減したことである。本発明 のアルゴリズム・セットによって、ユーザが、キーワードと物理構造を知ること なく、概念的な照会文を形成することができる。また、本発明のアルゴリズムは 、照会文が文法的に正しいことを保証するために、照会文の生成された自然言語 記述を提供する。これらの利点は、前述した例と、自然言語、及びSQLの実施に おける現在の技術で表現された同様の例を対比することによって例示される。 自然言語で照会文を表現するために、ユーザは以下の照会文を構成、タイプす る必要がある: スミス氏という人、彼の住所、電話番号、及び彼が勉強している科目を表示し 、更にそれらの科目に関して、それを教えている人を表示する。 この照会文を表現するために必要な、別の情報は: 1.いかに(人のようなキーワードを有する必要のある)照会文を表現するかと いう全体の知識。 2.住所、電話番号、科目などを尋ねるときの知識。 事実コンパイラ 本発明の事実コンパイラは100において選択される。本発明の事実 ツリーは300で選択される。前述したように、事実コンパイラが本発明によって 提供され、以下により詳細な説明がなされる。図4を参照すると、事実コンパイ ラを選択(100)した後で、ユーザはモデル化される情報システムの1つのレベル を表現する図表を開く。その事実コンパイラの図表を開いた後で、ユーザは、自 然言語に似たコンピュータ言語を用いて、実際の文でオブジェクト・タイプ、又 は制約をタイプする。こうした言語の1つはFORMLである。この入力の例は、"ID が「100」のインストラクタは、「データベース設計」という科目を科目レベル3 00で教える資格がある。この時点で、ユーザは3つのオプションのうち、1つを 選択できる。3つのオプションは:確認専用の関数105を使用して、入力を確認 する;リポジトリのみに情報をコンパイルする(140);または事実を関数120で図 表上にドラッグ・アンド・ドロップする。 本発明の図4に示された確認専用の関数105を参照すると、全てのテキストが 編集ウインドウから組み合わせられた(110)後で、関数111を用いて構成要素のワ ードに解析される。112のエラー・チェックが、入力されたテキスト内にエラー があるかどうか判定する。エラーがなければ、システムは113で確認が成功した ことを示す。エラー・チェッカー112が、テキスト入力にエラーがあったと判定 した場合、エラーがエラー・ウインドウ114に示される。 「図表上のドラッグ・アンド・ドロップ」関数120が、図5に詳細に示されて いる。ユーザがドラッグ・アンド・ドロップ関数120を選択した後、ユーザはマ ウスを用いて編集ウインドウ121からアイコン 上にポインタを移動させる。ユーザは左のマウス・ボタンを押下し、その状態を 保持する(122)。システムは、編集ウインドウ内に入力された項目のタイプに関 するテストを行う(123)。項目種類セレクタ124は、編集ウインドウ内に入力され た情報のタイプに応じてカーソルの性質を変化させる。入力データが事実なら、 カーソルが事実カーソルに変化する(125)。入力データに制約がある場合、カー ソルは制約カーソルに変化する(126)。入力データがオブジェクトである場合、 カーソルはオブジェクト・カーソルに変化する(127)。ユーザは、変化したカー ソルを図表上にドラッグする(128)。カーソルが移動している間、編集ウインド ウは消える。カーソルが描画禁止領域の上を移動する場合、カーソルは「描画禁 止」カーソルに変化する。ユーザが、入力データの方向を再び回転させる場合、 右側のマウス・ボタンが使用される。右側のマウス・ボタンがクリックされる度 に、アイコンはその方向を90゜回転させる(130)。ユーザが左のマウスのボタン を放すと(131)、カーソルはデータを図表上にドロップする。カーソル・チェッ カー132は、カーソルが実際に図表上にいるかどうかを判定する。図表上にいる 場合、「ドラッグ・アンド・ドロップ解析」関数135が実行される。図表上にい ない場合は、カーソルが図表上にないことをユーザに知らせる。 「ドラッグ・アンド・ドロップ解析」関数135は、図6に詳細に示されている 。現在の編集ウインドウにあるテキストを収集した後、テキストは、解析関数14 2を用いて解析される。解析の後、エラー・チェッカー161が、入力テキスト内に エラーが生成されたかどうか判 定する。エラーが生成されていなかった場合、リポジトリにレコードを更新する 関数149を用いて、そのレコードがリポジトリに更新される。レコードがリポジ トリに更新された後で、図表上への項目描画関数164を用いて、図表上に項目が 描画される。エラー・チェッカー161で、エラーが存在すると判定された場合、 エラー条件入力関数162が実行され、関数135が165で終了する。 再び図4に戻ると、関数140によってユーザに、入力をリポジトリのみにコン パイルするオプションが与えられる。関数140が図7に詳細に記されている。関 数140、即ち「リポジトリのみへのコンパイル」関数を選択した後、システムは 全てのテキストを編集ウインドウから組み合わせ(141)、解析関数142を使用して 入力データを解析する。エラー・チェッカー143は入力テキスト内にエラーが生 成されたかどうかを判定する。エラーが生成されている場合、そのエラーはエラ ー・ウインドウに表示される(145)。エラーがなかった場合、状況バーにコンパ イルの成功が表示される(144)。反復的な処理が146に示されている。生成された オブジェクト・リスト、事実リスト、及び制約リストのそれぞれは、レコード毎 に検索される。各レコードは、それぞれのリストから検索されて(147)、その状 況が148でテストされる。レコードが変更された場合、レコードをリポジトリに 更新する関数149が実行される。レコードが変更されなかった場合、リスト・ポ インタが150でインクリメントされて、新しいレコードがリストから検索される 。レコードが新しいものである場合は、関数149が再び実行され、その後レコー ド・タイプが152でテストされる。新しい レコードがオブジェクトである場合、新しいオブジェクトを割り当てる関数154 が実行される。新しいレコードが事実データある場合、関数154を用いて新しい 事実が割り当てられる。新しいレコード・タイプが制約である場合、新しい制約 が155で割り当てられる。これらの割り当てのいずれかの後で、リスト・ポイン タが再び150でインクリメントされる。 図6及び7の解析関数142の詳細が、図8に示されている。解析関数142が実行 された後、走査関数170が実行され、トークンを検索する。トークンが検索され た後、それが171でセクションに区分化される。トークンのそれぞれにわたる反 復的なループが172で設定される。各トークンは、そのタイプに関するテストを1 73で受ける。セクションがオブジェクトである場合、オブジェクト指定を検索す る関数174が実行される。セクションが事実である場合、事実指定を検索する関 数175が実行される。テストされたセクションが制約であった場合、制約指定を 検索する関数176が実行される。関数174、175、又は176のいずれかが実行された 後、テストされたセクションがターミナル・セクションかどうか判定するテスト が行われる。ターミナル・セクションでない場合、次のセクションが、同じテス トの対象になる。セクションがターミナル・セクションである場合、解析関数14 2は179で終了する。 図8の走査関数170は、図9に詳細に示されている。解析関数142の後に、走査 関数170を実行する。これは、180で入力ソース・テキストからの文字を読み込む 。その関数は、181で辞書アナライザ宣言 における通常表現として示されたトークン指定と、それぞれの文字シーケンスを マッチングさせ、その後トークンが182で戻される。 図6で以前に実行されているエラー条件入力関数162は、図10で詳細に示され ている。エラーが起こる度毎に、システムはエラーの起こった文字位置と行番号 を検索する。この関数は次に、このエラー番号、エラー・テキスト、及びエラー ・リスト内のエラー内容情報を記憶する。 再び図8に戻ると、「オブジェクト指定検索」関数174が図11に詳細に示され ている。関数174が実行されると、オブジェクトが190で任意の「オブジェクト宣 言」によって文法的に指定される。この関数は「解析」と「走査」を継続して行 う。オブジェクトが依然としてオブジェクト・セクションであるかどうかに関し て、判定が191で行われる。オブジェクト・セクションでない場合、関数は192で 終了する。オブジェクトがまだオブジェクト・セクションにある場合、関数はテ キストの構成要素をオブジェクト・リスト内に記憶される構造に分割する(193) 。194で、オブジェクトの状況がテストされる。新しいオブジェクトである場合 、新しいオブジェクトを割り当てる関数220が実行される。オブジェクトが既に オブジェクト・リストに存在する場合は、関数174が198で終了する。オブジェク トがリポジトリ内に存在し、オブジェクト・リスト内にない場合、システムは、 196でリポジトリからその構造を読み取り、それをオブジェクト・リスト内に出 力する。関数196または220のどちらかが実行された後で、この関数が再び198で 終了する。 以前図8で実行された、事実指定を検索する関数175が、図12において詳細に 示されている。関数175が実行された後、事実が「事実宣言」によって文法的に 指定される。この関数は「解析」と「走査」を継続して行う。事実が依然として 事実セクションであるかどうかに関して、判定が201で行われる。事実セクショ ンでない場合、関数175は202で終了する。事実がまだ事実セクションにある場合 、システムはテキストの構成要素を事実リスト内に記憶される構造に分割する(2 03)。その後、事実の状況が204でテストされる。事実が新しい事実である場合、 新しい事実を割り当てる関数230が実行され、その後、事実解析は206で終了する 。事実が既に事実リストに存在する場合は、関数175がまたも206で終了する。事 実がリポジトリ内に存在し、事実リスト内にない場合、システムは、205でリポ ジトリからその構造を読み取り、それを事実リスト内に出力する。その後関数17 5がもう一度206で終了する。 同様に以前図8で実行された関数176が、図13に詳細に示されている。制約指 定の検索のために関数176が実行された場合、210で制約が「制約宣言」によって 文法的に指定される。このシステムは「解析」と「走査」を継続して行う。211 で、制約が依然として制約セクションであるかどうかの判定が行われる。制約セ クションでない場合、関数176は212で終了する。制約がまだ制約セクションにあ る場合、システムはテキストの構成要素を制約リスト内に記憶される構造に分割 する(213)。その後、事実の状況が214でテストされる。制約が新しいものである 場合、新しい制約を割り当てる関数240が実行 される。制約が既に制約リストに存在する場合は、関数176が217で終了する。制 約がリポジトリ内に存在し、制約リスト内にない場合、この関数は、216でリポ ジトリからその構造を読み取り、それを制約リスト内に出力する。関数240また は処理216のどちらかが達成された後で、関数176が217で終了する。 以前に図11で実行された関数220が、図14に詳細に示されている。関数220は、 221で空のオブジェクト構造体を生成し、その構造体に222で名前と全てのオブジ ェクト属性を入力し、そのオブジェクト構造を223でオブジェクト・リスト内に 配置し、224で終了する。 以前に図12で実行された関数230は、図15に詳細に示されている。関数230は、 231で空の事実構造体を生成する。232で、この関数は、その構造体に述部テキス ト、含まれるオブジェクト、及び内部制約情報を入力する。233で、この関数は 、事実構造を事実リストに配置し、234で終了する。 以前に図13で実行された関数240は、図16で詳細に示されている。関数240は以 下のように、新しい制約を割り当てる。この関数は241で空の新しい制約構造を 生成する。242で、この関数はその構造体に、制約情報(役割位置、述部ID) を入力する。243で、この関数は、制約構造を制約リストに配置し、244で終了す る。 以前に、図7及び8で実行された関数149は、図17に詳細に示されている。関 数149が実行された後で、更新されたレコードは、250に示すように、事実リスト 、オブジェクト・リスト、又は制約リスト内に存在する。251で、このレコード ・タイプがテストされる。この レコードがオブジェクトであれば、オブジェクト構造が252でオブジェクト更新 関数に送られる。レコードが事実であれば、事実構造が254で事実更新関数に送 られ、制約であれば、制約構造が253で制約更新関数に送られる。前述の更新関 数のいずれかが実行された後に、関数149が256で終了する。 事実ツリー形成 図18を参照すると、関数選択51で可能な第2のオプションは、「事実ツリー指 定」300の起動であり、図19に詳細に示されている。 図19を参照すると、事実ツリーが300で形成される。事実ツリーの例は以下の ようなものである。 人(=スミス氏).......................制限 |--ある住所に住む |--ある電話番号を持つ...............名詞 |--科目を勉強する |--ある人によって教えられる。 |.................フレーズ 事実ツリーの各ノードは名詞を持つ。(例えば、人) 事実ツリーの各ノードは制限を有する可能性がある。 (例えば、=スミス氏) 事実ツリーの根でない各ノード(最上位のノード以外全て)はフレーズを持つ 。(例えば、によって教えられる) ツリーの根は次に301で可変根に割り当てられる。この場合、変化するノード (人)が根に割り当てられる。 事実ツリーがSQL照会文にマッピングされるものである場合、根は、関数「事 実ツリー=>SQL照会文」400に対するパラメータとして送られる。この関数の戻り 値はSQL照会文となる。関数「事実ツリー=>SQL照会文」は、関数400ないし465を 用いて記述される。 事実ツリーが英語の記述にマッピングされるものである場合、根は、関数「事 実ツリー=>記述」500に対するパラメータとして送られる。この関数の戻り値は ない。関数「事実ツリー=>記述」の結果は、ツリーの記述を出力する。関数「事 実ツリー=>記述」は、関数500ないし535を用いて記述される。 ツリー・インタプリタ 本発明は、関数「事実ツリー=>記述」として実行され、以下で詳細に説明する 、ツリー・インタプリタも提供する。図25を参照すると、関数「事実ツリー=>記 述」(500)は、事実ツリーのノードを入力とし、そのツリー又はサブ・ツリーに よって表現される照会文の記述を戻す、再帰的な関数である。パラメータ「根」 は、関数が動作するノードである。 関数501は、いくつかの作業変数を割り当てる。「根」は、親を含む、または 含まない可能性があり、かつ子を含む、又は含まない可能性のあるサブ・ツリー の根である。例えば、例のツリーにおいては、変化するノード(親)が関数「事 実ツリー=>記述」に送られた場合、親がなく、子が3つある。「親」は、「根」 の親に割り当てられる(この場合はヌル)。「ノード」は「根」の子(3つ)に 割り当てられる。「子」(i..「ノード」)は、「根」の子に割り当て られた配列である(人に対する3つの子は、--「住所に住む」、「電話番号を持 つ」、及び「科目を勉強する」である)。 次に、一時変数「テキスト」が、「根」の「記述」に割り当てられる(502ない し504)。「根」が親を持たないとき(それは事実ツリーの根である)、その「根 」は関数「根に関するテキスト作成」(503)に送られる。「根」が親を持つ場合 、「根」は関数「ノードに関するテキスト作成」(507)に送られる。この関数の 戻り値は、両方とも「根」の記述である。 505で、「テキスト」は、改行復帰の後にプリントされる。人のノードとして 「根」が参照される場合、関数「根に関するテキスト作成」(503)が使用され、 「テキスト」は「全ての人に関して、(人=スミス氏であるもの)を表示する: 」となる。「科目を勉強する」というノードが「根」として参照されると、関数 「ノードに関するテキスト作成」(504)が使用され、「テキスト」は「その人が 勉強する科目、更にそれらの科目に関して表示する:」となる。 次のステップは、depth-first検索アプローチを用いて「根」の子を再帰的に 処理する、505ないし510に詳述の関数である。「ノード」は、「根」の子の数で あり、「子」(i..「ノード」)は「根」の実際の子である。 変数Iは、カウンタ変数として使用される。その変数は、506で最初に1に割 り当てられる。Iが「ノード」より大きい場合(処理する子が、もうない場合) 、関数「事実ツリー=>記述」の具体例が完了し(507-508)、それ以外の場合、関 数「事実ツリー=>記述」が509 て「子[1]」に関して実行され、Iが510でインクリメントされ、処理する子がな くなるまで、そのループを継続する(507)。 例のツリーにおける人のノードに適用された関数「事実ツリー=>記述」の結果 は: 出力 処理 全ての人に関して、(人=スミス 氏であるもの)を表示する: 「人」に関し関数「事実ツリー =>記述」が呼び出される。 人が住んでいる住所 「住所に住む」に関して関 数「事実ツリー=>記述」 が呼び出される。 人が持っている電話番号 「電話番号を持つ」に関し て関数「事実ツリー=> 記述」が呼び出される。 人が勉強する科目 「科目を勉強する」に関し て関数「事実ツリー=> 記述」が呼び出される。 更にそれらの科目に関して 表示する: その科目を教える人 「人によって教えら れる」に関して関 数「事実ツリー=> 記述」が呼び出さ れる。 関数「根に関するテキスト作成」503が図25で実行され、事実ツリーの根ノー ドを引数(「根」)としてとり、そのノードの記述を戻す。 520で、根が名詞(例えば、人)を含み、これが「名詞」に割り当てられる。 「根」はまた、制限(例えば、=スミス氏)を含み、これが「制限」に割り当て られる。可変「テキスト」は、「全ての」+名詞+「に関して、」 (例えば、 「全ての人に関して、」)に割り当てられる。 根が「制限」を含んでいる場合、その制限は521と522で「テキスト」に加えら れる(例えば、「全ての人に関して、(人=スミス氏であるもの)」)。 「を表示する:」が523で「テキスト」に加えられ、「テキスト」(例えば、 「全ての人に関して、(人=スミス氏であるもの)を表示する:」)が524で返 される。 図25に戻ると、事実ツリーの根でないノードを引数(「根」)としてとり、そ のノードの記述を返す、関数「ノードに関するテキス ト作成」504が、図27に詳細に記されている。例えば、「科目を勉強する」とい うノードは引数として送られる。 530で、「根」が名詞(例えば、科目)を含み、それが「名詞」に割り当てら れる。「根」がフレーズ(例えは、「勉強する」)を含み、それが「フレーズ」 に割り当てられる。「根」の親が名詞(例えば、人)を含み、これが「親の名詞 」に割り当てられる。根はまた、制限(例えば、=スミス氏)を含むこともでき 、これは「制限」に割り当てられる。可変「テキスト」は、「親の名詞」+「が 」+「フレーズ」+「名詞」(例えば「人が勉強する科目」)に割り当てられる 。 「根」が制限を含む場合、その制限は531と532で「テキスト」に加えられる。 「根」が子を持つ場合、533と534で「テキスト」に「、更にそれらの」+「名 詞」+「に関して表示する:」が加えられる。 535で、「テキスト」が返される(例えば、「人が勉強する科目、更にそれら の科目に関して表示する:」)。 照会文マッパ 本発明はまた、「事実ツリー=>SQL照会文」として実行される照会文マッパも 提供し、以下で詳細に説明する。図19に戻ると、関数400が図20に詳しく記され ている。この関数は事実ツリーの根ノードを入力としてとり、同等のSQL照会文 を返す。パラメータ「根」は、この関数が動作するツリーの根である。 事実ツリーの根でないノード(最上位のノード以外)は、そのノ ードに関する関係マッピングを有する。この関係マッピングは、関係データベー スにおけるノードの表現を指定する。例として、以下に事実の集合の例を示す。 人は住所に住む 人は電話番号を持つ 人は科目を勉強する 科目は人によって教えられる 例の事実ツリーに関する関係データベースが、 人_テーブル:(人、住所) 電話_テーブル:(人、電話番号) 勉強_テーブル:(人、勉強科目) 科目_テーブル:(科目、先生) であると、関連するRMAPのマッピングは以下のようになる。 事実 テーブル 第1名詞カラム 第2名詞カラム 人は住所に住む 人_テーブル 人 住所 人は電話番号を持つ 電話_テーブル 人 電話番号 人は科目を勉強する 勉強_テーブル 人 勉強科目 科目は人に教えられる 科目_テーブル 人 先生 テーブルは、それが事実の記憶されたテーブルであることを示す。 第1の名詞カラムはノードの親に関するカラムを表す。第2の名詞カラムは、ノ ードの名詞に関するカラムを表す。 例えば、(人が)住所に住むということに関連するマッピングは、 全ての住所が、その住所に住んでいる人を人カラムに、かつ実際の住所を住所カ ラムに有する、人_テーブル内に記憶されていることを意味する。 述部のマッピングは、McCormackとHalpinの、Automated Mapping of Conceptu a1 Schemas to Relational Schemas,,Proc CAiSE 93、Sorbonne大学,パリ、199 3年、で説明されるのと同様のアルゴリズムによって導出される。 SQL照会文は、Selectリスト、Fromリスト、及びWhere節の3つを含む。これら は、関数「ノード=>SQL」を再帰的に呼び出すことによって徐々に構築されてい く。 最初に、Selectリスト、Fromリスト、及びWhere節が空のストリング("")にセ ットされる(401)。 402で、「根」をパラメータとして関数「ノード=>SQL」が呼び出され、照会文 を構築する。 403、404、及び405で、Selectリスト、Fromリスト、及びWhere節がそれぞれフ ォーマットされる。406で、照会文は、関数の結果として組み立てられ、407で返 される。 402で、関数「ノード=>SQL」が実行される。これは、事実ツリーのノードをSQ L照会文にマッピングする再帰関数である。この関数を連続して呼び出すことに よって、Selectリスト、Fromリスト、及びWhere節の変数が構築される。 関数「ノード=>SQL」は3つのパラメータを持っている。第1は「根」であり 、これはマッピングされるツリーまたはサブ・ツリー の根である。第2、及び第3のパラメータは、根のサブ・ツリーに関する照会文 を、その照会文の残りとジョインさせるために使用する、テーブルとカラムであ る。 410で、「親」は「根」の親であり、「ノード」は「根」の子の数てあり、「 子[i..ノード]」は「根」の子である。 「根」が子を持たない場合、処理の必要はなく、関数は単純にリターンする(4 11、412)。 それ以外の場合、「根」の子が以下のように照会文に追加される。 「根」が親を持っていれば、それは、ジョイン・テーブル関数413とジョイン ・カラム関数414を用いて照会文の中にジョインされる必要があり、「根」は415 で照会文のselectリストに追加される必要がある。 「根」の子全てを照会文にジョインするために、その子は順に以下のように処 理される。カウンタ変数iは、416で1に初期化される。ノードの値が417でチェ ックされて、iがノードより小さければ、追加_セレクタ_2(ノード)が419で 実行される。それぞれの子は、419で追加_セレクタ_2を使用することによって 、selectリストに追加され、その子の子は、関数「ノード=>SQL」421を再帰的に 呼び出すことによって、照会文に追加される。各ノードに関するセレクタは、42 0でサブ・ツリーの照会文を一緒にジョインするために用いられる。414で実行さ れるジョイン生成が、図22に詳細に示されている。この関数は、副照会文をwher e節に対する内部ジョインを追加することによって主照会文にジョインする。こ のジョインは、通過ノード (「ノード」)内の第1の名詞と送られたパラメータに基づいている。再び図21 に戻ると、関数415の、追加_セレクタ_1が図23で詳細に示されている。この関 数は「ノード」のテーブルを、Selectリストに対する「ノード」の第1の名詞に 関するFromリストとカラムに追加する。 もう一度図21に戻ると、関数419の追加_セレクタ_2が、図24に詳細に示され ている。この関数は「ノード」のテーブルを、Selectリストに対する「ノード」 の第2の名詞に関するFromリストとカラムに追加する。 前述の実施例は、本発明の原理に基づくアプリケーションを表す多くの特定の 実施例のうちのいくつかを例示しているに過ぎないことが理解される。当業者に は、本発明の範囲から逸脱することなく、数多くの変更を容易に実施できること は明らかである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD),AM,AT, AU,BB,BG,BR,BY,CA,CH,CN,C Z,DE,DK,ES,FI,GB,GE,HU,JP ,KE,KG,KP,KR,KZ,LK,LT,LU, LV,MD,MG,MN,MW,NL,NO,NZ,P L,PT,RO,RU,SD,SE,SI,SK,TJ ,TT,UA,UZ,VN (72)発明者 マッコーマック,ジョナサン・イアン アメリカ合衆国ワシントン州98059レント ン,サウスイースト,コール・クリーク・ パークウエイ・7661

Claims (1)

  1. 【特許請求の範囲】 1.中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、デ ータ記憶手段、及びグラフィカル・ユーザ・インタフェースを有する、データベ ース設計を指定するためのプログラム可能な、デジタル汎用コンピュータを含む 装置であって、前記装置が更に、 前記表示手段上に図表を生成する図表手段、 前記図表上でカーソルの動きを制御する、カーソル制御手段、 前記コンピュータに実装された関係データベースを更に含むリポジトリ手段、 編集ウインドウに、前記データ入力手段を用いたテキスト、データ・オブジェ クトを含む前記テキストの項目、前記データ・オブジェクトに関する事実、及び 前記データ・オブジェクトに関する制約を入力する、テキスト入力手段、 前記テキストを確認するための、ユーザが選択可能なテキスト確認手段、 前記テキスト入力手段からの前記テキストを前記図表に変換するための、ユー ザが選択可能な変換手段、及び 前記テキストを、前記リポジトリ手段のみにコンパイルするためのユーザが選 択可能な第1のコンパイル手段を含むことを特徴とする、前記装置。 2.中央演算処理手段、バス手段、表示手段、データ入力手段、メ モリ手段、データ記憶手段、グラフィカル・ユーザ・インタフェース、及びリポ ジトリ手段を有する、プログラム可能な、デジタル汎用コンピュータ上でデータ ベース設計を指定するための方法であって、前記リポジトリ手段が更に前記コン ピュータ上で実施される関係データベース手段を含み、前記方法が、 前記表示手段上に図表を生成するステップ、 前記図表上でカーソルを移動させるステップ、 編集ウインドウに、前記データ入力手段からのテキスト、データ・オブジェク トを含む前記テキストの項目、前記データ・オブジェクトに関する事実、及び前 記データ・オブジェクトに関する制約を入力するステップ、 ユーザの選択可能なオプションに応答して、テキストを確認するステップ、 ユーザの選択可能なオプションに応答して、前記テキスト入力手段からの前記 テキストを前記図表に変換するステッブ、及び ユーザの選択可能なオプションに応答して、前記テキストを、前記リポジトリ 手段のみにコンパイルするステップを含むことを特徴とする、前記方法。 3.中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、デ ータ記憶手段、グラフィカル・ユーザ・インタフェース、及びリポジトリ手段を 有する、プログラム可能な、デジタル汎用コンピュータ上で事前に実装されてい るデータベースに対する照会文を、自然言語で記述する方法であって、前記リポ ジトリ手段が 更に前記コンピュータ上で実施される関係データベース手段を含み、前記記述方 法が更に、 前記表示手段上に図表を生成するステップ、 前記図表上でカーソルを移動させるステップ、 事実ツリー形成方法を用いて、前記照会文に基づく事実ツリーを形成するステ ップ、及び 事実ツリー記述方法を用いて、自然言語で前記事実ツリーを記述するステップ を含むことを特徴とする、前記方法。 4.中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、デ ータ記憶手段、及びグラフィカル・ユーザ・インタフェースを有する、プログラ ム可能な、デジタル汎用コンピュータ上で事前に実装されているデータベースに 対する照会文を生成する装置であって、前記装置が更に、 前記表示手段上に図表を生成する図表手段、 前記図表上でカーソルの動きを制御する、カーソル制御手段、 前記コンピュータに実装された関係データベースを更に含むリポジトリ手段、 事実ツリーを形成するための事実ツリー形成手段であって、前記事実ツリーが 更に根ノードを含んでおり、及び 前記根ノードを入力に用い、前記根ノードと同等な第1の照会文を、前記デー タベースに適応するコンピュータ言語で返すことによって、照会文を前記データ ベース手段にマッピングする照会文マッピング手段を含むことを特徴とする、前 記装置。 5.中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、デ ータ記憶手段、及びグラフィカル・ユーザ・インタフェースを有する、プログラ ム可能な、デジタル汎用コンピュータ上で事前に実装されているデータベースに 対する照会文を生成する方法であって、前記方法が更に、 図表手段を用いて、前記表示手段上に図表を生成するステップ、 カーソル制御手段を用いて、前記図表上でカーソルを移動させるステップ、 関係データベースを更に含むリポジトリ手段を、前記コンピュータに実装する ステップ、 事実ツリー形成手段に事実ツリーを形成するステップであって、前記事実ツリ ーが更に根ノードを含んでおり、及び 照会文マッピング手段を用い、前記根ノードを入力に用い、前記根ノードと同 等な第1の照会文を、前記データベースに適応するコンピュータ言語で返すこと によって、照会文を前記データベース手段にマッピングするステップを含むこと を特徴とする、前記方法。 6.中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、デ ータ記憶手段、及びグラフィカル・ユーザ・インタフェースを有する、データベ ース設計を指定し、前記データベースに対する照会文を生成し、前記照会文を自 然言語で記述するためのプログラム可能な、デジタル汎用コンピュータを含む装 置であって、前記装置が、 前記表示手段上に図表を生成する図表手段、 前記図表上でカーソルの動きを制御する、カーソル制御手段、 前記コンピュータに実装された関係データベースを更に含むリポジトリ手段、 編集ウインドウに、前記データ入力手段を用いたテキスト、データ・オブジェ クトを含む前記テキストの項目、前記データ・オブジェクトに関する事実、及び 前記データ・オブジェクトに関する制約を入力する、テキスト入力手段、 前記テキストを確認するための、ユーザが選択可能なテキスト確認手段、 前記テキスト入力手段からの前記テキストを前記図表に変換するための、ユー ザが選択可能な変換手段、 前記テキストを、前記リポジトリ手段のみにコンパイルするための、ユーザが 選択可能な第1のコンパイル手段、 前記照会文に基づいて事実ツリーを形成するための事実ツリー形成手段、 自然言語で前記事実ツリーを記述するための事実ツリー記述手段、 更に根ノードを含む、前記事実ツリー手段、及び 前記根ノードを入力に用い、前記根ノードと同等な第1の照会文を、前記デー タベースに適応するコンピュータ言語で返すことによって、照会文を前記データ ベース手段にマッピングする照会文マッピング手段を含むことを特徴とする、前 記装置。 7.中央演算処理手段、バス手段、表示手段、データ夕入力手段、メモリ手段、 データ記憶手段、及びグラフィカル・ユーザ・インタフ ェースを有する、プログラム可能な、デジタル汎用コンピュータを含む装置上に データベースに対する照会文を生成し、自然言語で照会文を記述するためのデー タベース設計指定方法であって、前記方法が、 図表手段を用いて、前記表示手段上に図表を生成するステップ、 カーソル制御手段を用いて、前記図表上でカーソルの移動を制御するステップ 、 リポジトリ手段が更に、前記コンピュータに実装された関係データベース手段 を含むステップ、 前記データ入力手段を用いて、編集ウインドウに、データ・オブジェクトを含 む前記テキストの項目、前記データ・オブジェクトに関する事実、及び前記デー タ・オブジェクトに関する制約を入力するステップ、 前記テキストを、ユーザが選択可能なテキスト確認手段を用いて確認するステ ップ、 ユーザの選択可能な変換手段を用いて、前記テキスト入力手段からの前記テキ ストを前記図表に変換するステップ、 ユーザの選択可能な第1のコンパイル手段を用いて、前記テキストを、前記リ ポジトリ手段のみにコンパイルするステップ、 事実ツリー形成手段を用いて、前記照会文に基づく事実ツリーを形成するステ ップ、 事実ツリー記述方法を用いて、自然言語に近いコンピュータ言語で前記事実ツ リーを記述するステップであって、前記事実ツリー手 段が更に根ノードを含む前記ステップ、及び 照会文マッピング手段を用い、前記根ノードを入力に用い、前記根ノードと同 等な第1の照会文を、前記データベースに適応するコンピュータ言語で返すこと によって、照会文を前記データベース手段にマッピングするステップを含むこと を特徴とする、前記方法。
JP50776495A 1993-08-25 1994-08-24 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置 Expired - Lifetime JP3639972B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/112,852 US5495604A (en) 1993-08-25 1993-08-25 Method and apparatus for the modeling and query of database structures using natural language-like constructs
US08/112,852 1993-08-25
PCT/US1994/009658 WO1995006292A1 (en) 1993-08-25 1994-08-24 Method and apparatus for the modeling and query of database structures using natural language-like constructs

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004305091A Division JP3921479B2 (ja) 1993-08-25 2004-10-20 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置

Publications (2)

Publication Number Publication Date
JPH09502039A true JPH09502039A (ja) 1997-02-25
JP3639972B2 JP3639972B2 (ja) 2005-04-20

Family

ID=22346188

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50776495A Expired - Lifetime JP3639972B2 (ja) 1993-08-25 1994-08-24 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置
JP2004305091A Expired - Lifetime JP3921479B2 (ja) 1993-08-25 2004-10-20 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2004305091A Expired - Lifetime JP3921479B2 (ja) 1993-08-25 2004-10-20 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置

Country Status (8)

Country Link
US (4) US5495604A (ja)
EP (1) EP0715739B1 (ja)
JP (2) JP3639972B2 (ja)
AT (1) ATE213348T1 (ja)
AU (1) AU7675394A (ja)
CA (1) CA2170235C (ja)
DE (1) DE69429866T2 (ja)
WO (1) WO1995006292A1 (ja)

Families Citing this family (259)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5584024A (en) * 1994-03-24 1996-12-10 Software Ag Interactive database query system and method for prohibiting the selection of semantically incorrect query parameters
US5625812A (en) * 1994-11-14 1997-04-29 David; Michael M. Method of data structure extraction for computer systems operating under the ANSI-92 SQL2 outer join protocol
US5717913A (en) * 1995-01-03 1998-02-10 University Of Central Florida Method for detecting and extracting text data using database schemas
US5761656A (en) * 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5802514A (en) * 1996-04-09 1998-09-01 Vision Software Tools, Inc. Automated client/server development tool using drag-and-drop metaphor
US5995921A (en) * 1996-04-23 1999-11-30 International Business Machines Corporation Natural language help interface
US5987450A (en) * 1996-08-22 1999-11-16 At&T System and method for obtaining complete and correct answers from incomplete and/or incorrect databases
US5909678A (en) * 1996-09-13 1999-06-01 International Business Machines Corporation Computer systems, method and program for constructing statements by dragging and dropping iconic representations of subcomponent statements onto a phrase template
US5836771A (en) * 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
US6498921B1 (en) 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US6278996B1 (en) * 1997-03-31 2001-08-21 Brightware, Inc. System and method for message process and response
US5899991A (en) * 1997-05-12 1999-05-04 Teleran Technologies, L.P. Modeling technique for system access control and management
US5987455A (en) * 1997-06-30 1999-11-16 International Business Machines Corporation Intelligent compilation of procedural functions for query processing systems
US6105036A (en) * 1997-08-27 2000-08-15 International Business Machines Corporation Computer system and method of displaying a source code file with an ordered arrangement of object definitions
WO1999033003A1 (en) * 1997-12-22 1999-07-01 Demichiel Linda G Methods and apparatus for efficiently splitting query execution across client and server in an object-relational mapping
US6738678B1 (en) 1998-01-15 2004-05-18 Krishna Asur Bharat Method for ranking hyperlinked pages using content and connectivity analysis
US6460043B1 (en) * 1998-02-04 2002-10-01 Microsoft Corporation Method and apparatus for operating on data with a conceptual data manipulation language
US6138100A (en) * 1998-04-14 2000-10-24 At&T Corp. Interface for a voice-activated connection system
US6339768B1 (en) 1998-08-13 2002-01-15 International Business Machines Corporation Exploitation of subsumption in optimizing scalar subqueries
US6772166B1 (en) 1998-10-02 2004-08-03 Ncr Corporation SQL-based analytic algorithm for clustering
US7162464B1 (en) 1998-10-02 2007-01-09 Ncr Corporation Data mining assists in a relational database management system
US6826556B1 (en) 1998-10-02 2004-11-30 Ncr Corporation Techniques for deploying analytic models in a parallel
US6718322B1 (en) 1998-10-02 2004-04-06 Ncr Corporation SQL-based analytic algorithm for rule induction
EP1116125A4 (en) 1998-10-02 2007-05-02 Ncr Corp SQL BASED ANALYTICAL ALGORITHMS
US6687695B1 (en) 1998-10-02 2004-02-03 Ncr Corporation SQL-based analytic algorithms
AUPP949599A0 (en) * 1999-03-30 1999-04-22 Griffith University Visual architecture software language
US6598039B1 (en) 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
US6594657B1 (en) 1999-06-08 2003-07-15 Albert-Inc. Sa System and method for enhancing online support services using natural language interface for searching database
US6446064B1 (en) 1999-06-08 2002-09-03 Albert Holding Sa System and method for enhancing e-commerce using natural language interface for searching database
US6442537B1 (en) * 1999-06-24 2002-08-27 Teleran Technologies, Inc. System of generating and implementing rules
GB2354849B (en) 1999-09-29 2004-08-25 Ibm Method and tool for graphically defining an expression
US6339776B2 (en) * 1999-10-04 2002-01-15 International Business Machines Corporation Dynamic semi-structured repository for mining software and software-related information
AU2212801A (en) * 1999-12-07 2001-06-18 Qjunction Technology, Inc. Natural english language search and retrieval system and method
US6829603B1 (en) 2000-02-02 2004-12-07 International Business Machines Corp. System, method and program product for interactive natural dialog
US6571240B1 (en) 2000-02-02 2003-05-27 Chi Fai Ho Information processing for searching categorizing information in a document based on a categorization hierarchy and extracted phrases
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
US7177798B2 (en) * 2000-04-07 2007-02-13 Rensselaer Polytechnic Institute Natural language interface using constrained intermediate dictionary of results
WO2001077904A1 (en) * 2000-04-11 2001-10-18 Revelink, Inc. Framework for creation, update, query, and view navigation of data objects and textual annotations of relations between data objects
US6993475B1 (en) * 2000-05-03 2006-01-31 Microsoft Corporation Methods, apparatus, and data structures for facilitating a natural language interface to stored information
US6999963B1 (en) * 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
US7249138B1 (en) * 2000-06-29 2007-07-24 Ncr Corporation Parallel selection processing for financial processing in a relational database management system
US7043413B2 (en) * 2000-06-29 2006-05-09 Object Reservoir, Inc. Method for modeling an arbitrary well path in a hydrocarbon reservoir using adaptive meshing
US7418415B1 (en) * 2001-12-10 2008-08-26 Teredata Us, Inc. Object-oriented representation of a generic profitability rule for financial processing in a relational database management system
US7325190B1 (en) 2000-10-02 2008-01-29 Boehmer Tiffany D Interface system and method of building rules and constraints for a resource scheduling system
US7660740B2 (en) * 2000-10-16 2010-02-09 Ebay Inc. Method and system for listing items globally and regionally, and customized listing according to currency or shipping area
US7137108B1 (en) 2000-10-26 2006-11-14 International Business Machines Corporation Identifying non-externalized text strings that are not hard-coded
US6996566B1 (en) 2000-11-21 2006-02-07 International Business Machines Corporation Method and system for an object model with embedded metadata and mapping information
US20020129342A1 (en) * 2001-03-07 2002-09-12 David Kil Data mining apparatus and method with user interface based ground-truth tool and user algorithms
US6996574B2 (en) * 2001-04-18 2006-02-07 Csg Systems, Inc. System and method for accessing database design information
US6789091B2 (en) 2001-05-02 2004-09-07 Victor Gogolak Method and system for web-based analysis of drug adverse effects
US7925612B2 (en) * 2001-05-02 2011-04-12 Victor Gogolak Method for graphically depicting drug adverse effect risks
US7542961B2 (en) * 2001-05-02 2009-06-02 Victor Gogolak Method and system for analyzing drug adverse effects
US6778994B2 (en) * 2001-05-02 2004-08-17 Victor Gogolak Pharmacovigilance database
US20030025730A1 (en) * 2001-08-03 2003-02-06 Brennan Declan M. Method for defining look and feel of a user interface obviating the requirement to write programming language code
US7461006B2 (en) * 2001-08-29 2008-12-02 Victor Gogolak Method and system for the analysis and association of patient-specific and population-based genomic data with drug safety adverse event data
US7290017B1 (en) * 2001-09-20 2007-10-30 Emc Corporation System and method for management of data replication
US7752266B2 (en) * 2001-10-11 2010-07-06 Ebay Inc. System and method to facilitate translation of communications between entities over a network
ITFI20010199A1 (it) 2001-10-22 2003-04-22 Riccardo Vieri Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico
US7209876B2 (en) * 2001-11-13 2007-04-24 Groove Unlimited, Llc System and method for automated answering of natural language questions and queries
US20030128239A1 (en) * 2001-12-27 2003-07-10 Full Degree, Inc. Method and apparatus for XML schema publishing into a user interface
US20030182273A1 (en) * 2002-03-22 2003-09-25 Goldberg Robert N. Method and apparatus for generating a query object
DE10219515A1 (de) * 2002-04-30 2003-11-13 Volkswagen Ag Werkstoffspezifische Kennzeichnung eines Bauteils
US8719041B2 (en) * 2002-06-10 2014-05-06 Ebay Inc. Method and system for customizing a network-based transaction facility seller application
US7941348B2 (en) * 2002-06-10 2011-05-10 Ebay Inc. Method and system for scheduling transaction listings at a network-based transaction facility
US8078505B2 (en) 2002-06-10 2011-12-13 Ebay Inc. Method and system for automatically updating a seller application utilized in a network-based transaction facility
US20030229554A1 (en) * 2002-06-10 2003-12-11 Veres Robert Dean Method and system for composing transaction listing descriptions for use in a network-based transaction facility
NO20031586L (no) * 2003-04-08 2004-10-11 Favourite Systems As Vindussystem for datainnretning
US8281253B2 (en) * 2003-04-08 2012-10-02 Favourite Systems As Windowing and controlling system thereof comprising a computer device
US7272818B2 (en) * 2003-04-10 2007-09-18 Microsoft Corporation Creation of an object within an object hierarchy structure
US7742985B1 (en) 2003-06-26 2010-06-22 Paypal Inc. Multicurrency exchanges between participants of a network-based transaction facility
US20050043940A1 (en) * 2003-08-20 2005-02-24 Marvin Elder Preparing a data source for a natural language query
US20050050042A1 (en) * 2003-08-20 2005-03-03 Marvin Elder Natural language database querying
US8230366B2 (en) * 2003-10-23 2012-07-24 Apple Inc. Dynamically changing cursor for user interface
US9189568B2 (en) * 2004-04-23 2015-11-17 Ebay Inc. Method and system to display and search in a language independent manner
US7862579B2 (en) 2004-07-28 2011-01-04 Ethicon Endo-Surgery, Inc. Electroactive polymer-based articulation mechanism for grasper
US7857183B2 (en) * 2004-07-28 2010-12-28 Ethicon Endo-Surgery, Inc. Surgical instrument incorporating an electrically actuated articulation mechanism
US8317074B2 (en) 2004-07-28 2012-11-27 Ethicon Endo-Surgery, Inc. Electroactive polymer-based articulation mechanism for circular stapler
US8905977B2 (en) * 2004-07-28 2014-12-09 Ethicon Endo-Surgery, Inc. Surgical stapling instrument having an electroactive polymer actuated medical substance dispenser
US8057508B2 (en) * 2004-07-28 2011-11-15 Ethicon Endo-Surgery, Inc. Surgical instrument incorporating an electrically actuated articulation locking mechanism
US7407074B2 (en) * 2004-07-28 2008-08-05 Ethicon Endo-Surgery, Inc. Electroactive polymer-based actuation mechanism for multi-fire surgical fastening instrument
US8050907B2 (en) * 2004-07-30 2011-11-01 Microsoft Corporation Generating software components from business rules expressed in a natural language
US7784663B2 (en) * 2005-03-17 2010-08-31 Ethicon Endo-Surgery, Inc. Surgical stapling instrument having load sensing control circuitry
US8677377B2 (en) * 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US20070118531A1 (en) * 2005-11-18 2007-05-24 Honeywell International, Inc. Issues database system and method
US20070208722A1 (en) * 2006-03-02 2007-09-06 International Business Machines Corporation Apparatus and method for modification of a saved database query based on a change in the meaning of a query value over time
US20090112828A1 (en) * 2006-03-13 2009-04-30 Answers Corporation Method and system for answer extraction
US20070219946A1 (en) * 2006-03-15 2007-09-20 Emmanuel Roche Information repository and answering system
EP2021951B1 (de) * 2006-06-01 2010-09-01 mediareif Möstl & Reif Kommunikations- und Informationstechnologien OEG Verfahren zum steuern eines relationalen datenbanksystems
US7962476B2 (en) * 2006-07-26 2011-06-14 Applied Minds, Inc. Method and apparatus for performing a depth-first join in a database
US8639782B2 (en) 2006-08-23 2014-01-28 Ebay, Inc. Method and system for sharing metadata between interfaces
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008058927A2 (en) * 2006-11-17 2008-05-22 Llinxx Database system
WO2008095209A1 (de) * 2007-02-06 2008-08-14 Mediareif Möstl & Reif Kommunikations- Und Informationstechnologien Oeg Verfahren zum steuern eines relationalen datenbanksystems
US8086593B2 (en) * 2007-03-01 2011-12-27 Microsoft Corporation Dynamic filters for relational query processing
US8954469B2 (en) 2007-03-14 2015-02-10 Vcvciii Llc Query templates and labeled search tip system, methods, and techniques
US10078414B2 (en) * 2007-03-29 2018-09-18 Apple Inc. Cursor for presenting information regarding target
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
WO2008131465A1 (de) * 2007-04-27 2008-11-06 Mediareif Möstl & Reif Kommunikations- Und Informationstechnologien Oeg Verfahren zur steurerung eines relationalen datenbanksystems
US8868620B2 (en) * 2007-06-08 2014-10-21 International Business Machines Corporation Techniques for composing data queries
US20080319957A1 (en) * 2007-06-19 2008-12-25 Microsoft Corporation Extensible command trees for entity data model platform
US9053089B2 (en) * 2007-10-02 2015-06-09 Apple Inc. Part-of-speech tagging using latent analogy
US8594996B2 (en) 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
ES2408321T3 (es) * 2007-12-20 2013-06-20 Tac Ab Método para generar documentación para un sistema de control de edificio
US9330720B2 (en) * 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8065143B2 (en) 2008-02-22 2011-11-22 Apple Inc. Providing text input using speech data and non-speech data
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US10496753B2 (en) 2010-01-18 2019-12-03 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US20090300054A1 (en) * 2008-05-29 2009-12-03 Kathleen Fisher System for inferring data structures
US8464150B2 (en) 2008-06-07 2013-06-11 Apple Inc. Automatic language identification for dynamic text processing
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8768702B2 (en) * 2008-09-05 2014-07-01 Apple Inc. Multi-tiered voice feedback in an electronic device
US8898568B2 (en) 2008-09-09 2014-11-25 Apple Inc. Audio user interface
US8712776B2 (en) 2008-09-29 2014-04-29 Apple Inc. Systems and methods for selective text to speech synthesis
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8862252B2 (en) * 2009-01-30 2014-10-14 Apple Inc. Audio user interface for displayless electronic device
US8380507B2 (en) 2009-03-09 2013-02-19 Apple Inc. Systems and methods for determining the language to use for speech generated by a text to speech engine
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10540976B2 (en) 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US9864796B2 (en) * 2009-06-24 2018-01-09 Microsoft Technology Licensing, Llc Databases from models
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US20110066438A1 (en) * 2009-09-15 2011-03-17 Apple Inc. Contextual voiceover
US8682649B2 (en) * 2009-11-12 2014-03-25 Apple Inc. Sentiment prediction from textual data
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US8381107B2 (en) 2010-01-13 2013-02-19 Apple Inc. Adaptive audio feedback system and method
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
WO2011089450A2 (en) 2010-01-25 2011-07-28 Andrew Peter Nelson Jerram Apparatuses, methods and systems for a digital conversation management platform
US8682667B2 (en) * 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9710556B2 (en) 2010-03-01 2017-07-18 Vcvc Iii Llc Content recommendation based on collections of entities
US8645125B2 (en) 2010-03-30 2014-02-04 Evri, Inc. NLP-based systems and methods for providing quotations
US8713021B2 (en) 2010-07-07 2014-04-29 Apple Inc. Unsupervised document clustering using latent semantic density analysis
US8719006B2 (en) 2010-08-27 2014-05-06 Apple Inc. Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis
US8719014B2 (en) 2010-09-27 2014-05-06 Apple Inc. Electronic device with text error correction based on voice recognition data
US8725739B2 (en) 2010-11-01 2014-05-13 Evri, Inc. Category-based content recommendation
JP5645614B2 (ja) * 2010-11-12 2014-12-24 キヤノン株式会社 文書管理装置、文書管理装置の制御方法およびコンピュータプログラム
US10515147B2 (en) 2010-12-22 2019-12-24 Apple Inc. Using statistical language models for contextual lookup
US10762293B2 (en) 2010-12-22 2020-09-01 Apple Inc. Using parts-of-speech tagging and named entity recognition for spelling correction
US8781836B2 (en) 2011-02-22 2014-07-15 Apple Inc. Hearing assistance system for providing consistent human speech
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9280535B2 (en) 2011-03-31 2016-03-08 Infosys Limited Natural language querying with cascaded conditional random fields
US8484218B2 (en) * 2011-04-21 2013-07-09 Google Inc. Translating keywords from a source language to a target language
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20120310642A1 (en) 2011-06-03 2012-12-06 Apple Inc. Automatically creating a mapping between text data and audio data
US8812294B2 (en) 2011-06-21 2014-08-19 Apple Inc. Translating phrases from one language into another using an order-based set of declarative rules
US8706472B2 (en) 2011-08-11 2014-04-22 Apple Inc. Method for disambiguating multiple readings in language conversion
US8994660B2 (en) 2011-08-29 2015-03-31 Apple Inc. Text correction processing
US8868546B2 (en) * 2011-09-15 2014-10-21 Oracle International Corporation Query explain plan in a distributed data management system
US8762156B2 (en) 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US8887076B2 (en) * 2011-11-01 2014-11-11 Aver Informatics Inc. Software user interface allowing logical expression to be expressed as a flowchart
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US9483461B2 (en) 2012-03-06 2016-11-01 Apple Inc. Handling speech synthesis of content for multiple languages
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US8775442B2 (en) 2012-05-15 2014-07-08 Apple Inc. Semantic search using a single-source semantic model
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
WO2013185109A2 (en) 2012-06-08 2013-12-12 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US9495129B2 (en) 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9576574B2 (en) 2012-09-10 2017-02-21 Apple Inc. Context-sensitive handling of interruptions by intelligent digital assistant
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US8935167B2 (en) 2012-09-25 2015-01-13 Apple Inc. Exemplar-based latent perceptual modeling for automatic speech recognition
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10642574B2 (en) 2013-03-14 2020-05-05 Apple Inc. Device, method, and graphical user interface for outputting captions
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US9733821B2 (en) 2013-03-14 2017-08-15 Apple Inc. Voice control to diagnose inadvertent activation of accessibility features
US9977779B2 (en) 2013-03-14 2018-05-22 Apple Inc. Automatic supplementation of word correction dictionaries
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
US10572476B2 (en) 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
CN105144133B (zh) 2013-03-15 2020-11-20 苹果公司 对中断进行上下文相关处理
CN105027197B (zh) 2013-03-15 2018-12-14 苹果公司 训练至少部分语音命令系统
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
CN110096712B (zh) 2013-03-15 2023-06-20 苹果公司 通过智能数字助理的用户培训
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9620105B2 (en) 2014-05-15 2017-04-11 Apple Inc. Analyzing audio input for efficient speech and music recognition
US10592095B2 (en) 2014-05-23 2020-03-17 Apple Inc. Instantaneous speaking of content on touch devices
US9502031B2 (en) 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9760559B2 (en) 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
CN114115460A (zh) 2014-08-06 2022-03-01 苹果公司 用于电池管理的减小尺寸的用户界面
US10446141B2 (en) 2014-08-28 2019-10-15 Apple Inc. Automatic speech recognition based on user feedback
EP3373122B1 (en) 2014-09-02 2022-04-06 Apple Inc. Reduced-size interfaces for managing alerts
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10552013B2 (en) 2014-12-02 2020-02-04 Apple Inc. Data detection
US9711141B2 (en) 2014-12-09 2017-07-18 Apple Inc. Disambiguating heteronyms in speech synthesis
US9865280B2 (en) 2015-03-06 2018-01-09 Apple Inc. Structured dictation using intelligent automated assistants
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9899019B2 (en) 2015-03-18 2018-02-20 Apple Inc. Systems and methods for structured stem and suffix language models
US9842105B2 (en) 2015-04-16 2017-12-12 Apple Inc. Parsimonious continuous-space phrase representations for natural language processing
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10127220B2 (en) 2015-06-04 2018-11-13 Apple Inc. Language identification from short strings
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
US10186254B2 (en) 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9697820B2 (en) 2015-09-24 2017-07-04 Apple Inc. Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10679000B2 (en) 2018-01-09 2020-06-09 International Business Machines Corporation Interpreting conversational authoring of information models
US10430606B1 (en) * 2018-04-30 2019-10-01 Aras Corporation System and method for implementing domain based access control on queries of a self-describing data system
US11068477B1 (en) * 2018-06-06 2021-07-20 Gbt Travel Servces Uk Limited Natural language processing with pre-specified SQL queries
US11386143B2 (en) 2019-08-30 2022-07-12 International Business Machines Corporation Searching for analogue subsurface structures based on topological knowledge representation (TKR)
CN113590085B (zh) * 2020-04-30 2023-06-16 广东中砼物联网科技有限公司 多源异构数据的处理方法、计算机设备、存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688195A (en) * 1983-01-28 1987-08-18 Texas Instruments Incorporated Natural-language interface generating system
US4506326A (en) * 1983-02-28 1985-03-19 International Business Machines Corporation Apparatus and method for synthesizing a query for accessing a relational data base
US4829427A (en) * 1984-05-25 1989-05-09 Data General Corporation Database query code generation and optimization based on the cost of alternate access methods
US4939689A (en) * 1987-04-09 1990-07-03 Crowninshield Software, Inc. Outline-driven database editing and retrieval system
US5088052A (en) * 1988-07-15 1992-02-11 Digital Equipment Corporation System for graphically representing and manipulating data stored in databases
SE466029B (sv) * 1989-03-06 1991-12-02 Ibm Svenska Ab Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5175814A (en) * 1990-01-30 1992-12-29 Digital Equipment Corporation Direct manipulation interface for boolean information retrieval
US5257365A (en) * 1990-03-16 1993-10-26 Powers Frederick A Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
JP2525275B2 (ja) * 1990-07-17 1996-08-14 三洋電機株式会社 デ―タベ―ス操作方法
JP2819517B2 (ja) * 1990-12-17 1998-10-30 インターナショナル・ビジネス・マシーンズ・コーポレイション データベース照会を行う方法およびシステム
WO1992016903A1 (en) * 1991-03-12 1992-10-01 Wang Laboratories, Inc. Database management system graphical query front end
GB9105367D0 (en) * 1991-03-13 1991-04-24 Univ Strathclyde Computerised information-retrieval database systems
US5247666A (en) * 1991-05-28 1993-09-21 Fawnwood, Inc. Data management method for representing hierarchical functional dependencies
US5442780A (en) * 1991-07-11 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Natural language database retrieval system using virtual tables to convert parsed input phrases into retrieval keys

Also Published As

Publication number Publication date
DE69429866T2 (de) 2002-06-20
JP2005108250A (ja) 2005-04-21
EP0715739A1 (en) 1996-06-12
DE69429866D1 (de) 2002-03-21
EP0715739A4 (en) 1998-04-01
WO1995006292A1 (en) 1995-03-02
AU7675394A (en) 1995-03-21
JP3639972B2 (ja) 2005-04-20
ATE213348T1 (de) 2002-02-15
JP3921479B2 (ja) 2007-05-30
US5495604A (en) 1996-02-27
US5574908A (en) 1996-11-12
EP0715739B1 (en) 2002-02-13
CA2170235A1 (en) 1995-03-02
US5592668A (en) 1997-01-07
CA2170235C (en) 2005-10-11
US5590322A (en) 1996-12-31

Similar Documents

Publication Publication Date Title
JP3921479B2 (ja) 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置
US11250842B2 (en) Multi-dimensional parsing method and system for natural language processing
Johnson A data management strategy for transportable natural language interfaces
Shipman The functional data model and the data languages DAPLEX
EP0387226A1 (en) Natural language analyzing apparatus and method
US20100121630A1 (en) Language processing systems and methods
WO2010051966A1 (en) Method for semantic processing of natural language using graphical interlingua
JPS61221873A (ja) 自然言語による質問応答方式
Bais et al. An Arabic natural language interface for querying relational databases based on natural language processing and graph theory methods
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
Bais et al. A model of a generic natural language interface for querying database
Owei Natural language querying of databases: an information extraction approach in the conceptual query language
Nisbet et al. Presentations of rase knowledge mark-up
Hettiarachchi et al. A Scenario-based ER Diagram and Query Generation Engine
Kiyavitskaya et al. Experimenting with Linguistic Tools for Conceptual Modelling: Quality of the models and critical features
Lowden et al. The REMIT System for Paraphrasing Relational Query Expressions into Natural Language.
Kellogg On-line translation of natural language questions into artificial language queries
US20030028370A1 (en) System and method for providing a fixed grammar to allow a user to create a relational database without programming
JPH07146785A (ja) プログラム自動生成方法および装置
Shneidebman A review of design techniques for programs and data
Anderson An Interactive Tool for Refining Software Specifications from a Formal Domain Model
Zhekova et al. Implementing Semantic Search in Decision Support System.
Beech Modularity of computer languages
Joshi Natural language processing
Reitter et al. Hybrid natural language processing in a customer-care environment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040420

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040709

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080128

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110128

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120128

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130128

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term