JP3639972B2 - 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置 - Google Patents
自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置 Download PDFInfo
- Publication number
- JP3639972B2 JP3639972B2 JP50776495A JP50776495A JP3639972B2 JP 3639972 B2 JP3639972 B2 JP 3639972B2 JP 50776495 A JP50776495 A JP 50776495A JP 50776495 A JP50776495 A JP 50776495A JP 3639972 B2 JP3639972 B2 JP 3639972B2
- Authority
- JP
- Japan
- Prior art keywords
- text
- function
- fact
- user
- database
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2428—Query predicate definition using graphical user interfaces, including menus and forms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
- G06F16/24526—Internal representations for queries
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/917—Text
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/964—Database arrangement
- Y10S707/966—Distributed
- Y10S707/967—Peer-to-peer
- Y10S707/968—Partitioning
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating 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)
Description
本発明は、コンピュータ・データベース・システムの構築、及びそこに含まれるデータの照会に関する。特に、本発明は、データベース設計をモデル化し、そのデータベースに含まれるデータの照会を指定するためのコンピュータ化されたツールに関する。
技術分野の背景
コンピュータ化された関係データベースは、現実の世界の問題をモデル化する情報システムを形成するのに用いられ、オブジェクト、関係(即ちそれらのオブジェクト間の事実)、及びこれらの関係とオブジェクトを管理する制約とルールから構成される。オブジェクトは物理エンティティー又は論理エンティティーであり、ユニークなものとして識別されうる。この点で、オブジェクトは基本的に名詞に似ていると言われる。事実は、オブジェクトの相互作用の方法を定義し、基本的に動詞であるかまたは動詞に似ている。制約は、オブジェクトと事実の間の相互関係を修正または制限し、このようなものは副詞かまたは代名詞に類似している。情報システムが多く利用されるにつれて、及びこのシステムの設計が進歩するにつれて、正確にモデル化しようとする現実の世界の問題も複雑になってくる。
情報システムを構築する際に、ユーザは正確に(データの外部ビューとしても知られる)現実世界のモデルを、実際の物理的な実施に、特定のコンピュータ・システムに関する特定のデータベース言語を用いて変換する必要がある。この実施は物理ビューとも呼ばれる。関係データベースにおける固有の能力を引き出すためには、コンピュータの知識がないかまたはコンピュータ教育を受けていない人が、情報管理システムの設計と実施、及びそこから意味のあるデータを特別なコンピュータ言語を習得する必要無しに照会することができなければならない。
情報システムの物理ビューは多くのデータベース設計言語のうちの1つで表現される。当業者に周知のデータベース設計言語の例は、構造化照会言語(SQL)とマイクロソフト社のACCESSである。これらのデータベース設計言語は記憶を実行し、その後データベースに記憶されたデータを検索するのに非常に適しているが、言語自身は自然言語でなく、高度な技術を要する。このことは、データベース設計言語が通常、その言語による情報システム・モデルのエンド・ユーザによって使用されていないか又は理解されていないと言うことを意味している。
外部ビューから物理ビューへの情報システムの変換には、時間を要し、それが技術的な形式から成る何かである限りは、すぐに形式化される。情報システム設計に関するデータをモデル化する際のデータベース分析を支援するために、いくつかのCASEツール・セットが開発されており、当業者には周知である。
従来のCASEツール・セットは一般にエンティティー関係モデル(ER)に基づいていた。ERモデルは、アプリケーションの大部分の特徴を集約する便利な手段を提供するものの、通常は、そのアプリケーションで共通に発生する多くの制約と、派生ルールを表現することができない。ERベースのツールの概略は、Ovum(1992年)とReiner(1992年)に見ることができる。この技術の状況の例はCzejdo他において議論されている(IEEE Computer,1990年3月26−27ページ)。
アプリケーションの、より詳細な部分を把握するために、事実指向モデルとしても知られる、オブジェクト役割モデル(ORM)が開発された。当業者の周知のORMのバージョンは、自然言語情報分析技法(NIAM)、2進関係モデル(BRM)、自然オブジェクト役割モデル(NORM)、及び述語生成器セット・モデル(PSM)を含んでいる。あるORMのバージョンでは、形式オブジェクト役割モデル(FORM)が、NIAMに対する拡張に基づいており、グラフィック、及びテキスト形式の両方を有する(HalpinとOrlowska、1992年)支援言語(FORML)を備えている。FORMとFORMLの一部は、本発明の発明者の1人によって開発された。
シンボル駆動型CASEツール・セットを使用することによって、所与の情報システム・モデルを概念化するための強力な手段が提供されるが、これを使用することは、訓練されていないユーザにとって直感的な明確さに欠ける。こうしたユーザにとって、ユーザが既に容易に使いこなせる言語を用いて情報システムをモデル化できると言うことは、より強力なアプローチである。FORMLはユーザに自然言語に似たコマンド・セットを提供し、従って習得が容易である。
オブジェクト役割モデルに関するいくつかのCASEツール・セットが存在する。当業者に周知のこれらのツール・セットは、RIDL(1988年、Detroyer他;1989年、Detroyer;1990年、Nienhuys−cheng)、GIST(1988年、Shoval他)、及びIAST(1982年、Control Data)である。RIDLは現在Intellibaseによって販売されている。RIDLには最近、さらに大きなアリティの事実タイプの支援が追加されたが、それらのORMベースのCASEツール・セットは一般に、2進のみのバージョンのORMにしか適合しない。概して、これらのシステムは、図表上のシンボルの明白な「描画」に基づいている。これらのツール・セットのユーザは通常、図表上に直接シンボルを置くことによって情報システムを指定する。典型的なCASEツール・セットでは、使用されるシンボルのタイプ毎に別のツールが使われる。これらのツール・セットの重要な点は、シンボルの表記法に関するものであり、それは、その表記法が基づく言語の潜在的な意味に関するものではないことを意味している。
ORMから標準化された関係テーブルへのマッピングに関する「最適標準形式」技法は、1970年にNIAMにおいて紹介されている。この技法は、あるケースを無視し、制約マッピングに関する方法論について非常に不完全な仕様を提供した。NIAMに対する多くの拡張によって、FORMLのグラフィック・バージョンにおいて表現されるすべての概念スキーマを冗長フリーの関係スキーマに完全にマッピングすることができ、これはRMAP(関係マッピング、1992年、RitsonとHalpin)として紹介されている。RMAPは、例えばnに関する(n−ary)サブセット、同等、排他、閉鎖、及びリングなどの制約のバリエーションをより多くすることができる点で、RIDL−Mのような他のマッピング技法とは異なる。
ORMベースのCASEツール・セットを使用しているデータベースのプロは、そのツール・セットを使用していない同等の作業者よりも極めて生産性が高い。RMAPのようなマッピング・スキーマを含むツール・セットは、より強力でもあり、更に生産性を向上させる。RMAPを実装したFORMLベースのツール・セットは、ORMベースのツール・セットに関する技術の現在の状況を表現している。FORMLのグラフィカル、及びテキスト言語形式が提供されると、現代のコンピュータ・システムで共通のグラフィカル・ユーザ・インタフェースで簡単で迅速に使用することができるORMベースのCASEツール・セットの能力、柔軟性、及び正確さを兼ね備えることになる。このことは、コンピュータのプロによって使用された場合にCASEツール・セットの生産性を更に向上させる効果があるばかりでなく、コンピュータの初心者が使用した場合にも同様に強力なソフトウエア・エンジニアリング・ツールを提供する効果を有する。
従来の自然言語CASEツールがそれらの基本概念の約束のいくつかを果たしてはいるが、それらは、複雑なデータベースを容易にモデル化するためのシンボル駆動型システムの能力に欠ける。本発明の前までは、自然言語に似た構造をORMのシンボルに変換し、こうして形式化された概念スキーマを、多くのSQLに似たデータベース言語に関して実施される関係スキーマに自動的にマッピングするためのグラフィカル・ユーザ・インタフェースを備え、自然言語に似た構造を用いる、ORMの能力、柔軟性、及び正確さを兼ね備えたデータベース設計のためのCASEツール・セットはなかった。本発明は、ORMベースの図表上にシンボルを描画するのに必要なユーザ・オペレーションの数を、ユーザが自然言語に近いもので情報を記述できることによって1/6にするという効果を有する。ユーザは情報の意味について考えることができ、シンボルを描画するのに時間を費やさなくてすみ、このことが意味を考える処理を縮小させる。
前述した、従来のER、及びORMベースのツール・セットに加え、異なる方法論を用いてデータベースの指定処理を自動化する努力が研究者によってなされてきた。より関係のある試みのいくつかを後述する。
Thompson他による米国特許第4,688,196号は、初心者がメニュー駆動型インタフェースのシステムに基づいてデータベースを生成、照会できる、自然言語インタフェース生成システムを教示している。ユーザが自然言語で、インタフェース生成システムに対しコマンド・ワードを指定する場合は、ワードが入力されたときに各ワードの後に合法的に続くワードのメニューが提供される。このメニューは、事前に定義され、常駐するファイルを参照することによって提供される。Thompsonはこれらのファイルを文法、及び辞典と呼んでいる。ユーザによって入力されたコマンドは、システムによって変換され、それはその後、以下に示す方法で、必要なインタフェースを生成するための自動相互作用システムを提供する。
データベースがロードされた後、インタフェース生成システムは、ユーザの技術熟練者に対して一連の質問を行う。これらの質問に応答して、ユーザ、またはその熟練者はデータベース内のどのテーブルが使用されるべきか;特定のテーブルのどの属性がキー属性か;データベース内の様々なテーブル間の様々な接続は何か;及びこれらの関係を記述するフレーズと接続している自然言語は何かを確認しなくてはならない。
Davis他による米国特許第4,939,689号は、テキスト駆動型アウトライン・システムを使用することによって、データベース構造の生成と、これらの構造をその後照会するためのシステムを教示している。Davisのシステムは別の形式の常駐辞書テーブルを使用し、これもまた事前に定義される。Davisのシステムでは、ユーザはデータベースのフォーマットを定義するテキストのアウトラインを入力する。このアウトラインは次に、データ入力を容易にするデータ入力スクリーンを生成するのに用いられる。
データベース情報システムを生成した後で(かつ、これらのシステムに属するデータが、入力されたと仮定すると)、この情報システムは正確に照会されなければならない。他の当業者による努力によって、初心者に照会文の作成を可能にする2つの広い戦略が教示されている。
照会文を生成する問題に対する従来技術における解決法は、自然言語解析型を用いることである。この方法論は、英語や日本語のような好ましい自然言語で入力される照会文を採用し、照会文をその構成要素部分に解析する。照会文の各構成要素は次に、元の自然言語照会文をデータベース言語の照会文に変換するために使用される。本発明の前までは、これは通常、解析されたワードやフレーズを、それぞれデータベース設計言語におけるそれらの同義語に変換する常駐データベースまたは辞書の何らか形式によって達成される。
Takanashi他の、1992年7月10日に出願されたヨーロッパ特許出願、EP 0522591A2は、典型的なこの「解析とルップアップ」戦略のシステムを教示しており、このシステムによって、自然言語照会文が入力され、その構成要素部分に解析される。解析系は、常駐文法テーブルと常駐用語辞典を使用して、個々のコマンド・ワードとフレーズの意味をデータベース設計言語に変換する。この解決法を完全に実施する際に困難なのは、費用と能力であり、即ちほとんどの自然言語のサイズと可変構造である。可能な各ワード、および多くのフレーズは、システムを本当に役立つものにするため、常駐テーブル内に対応するエントリを有する必要がある。このエントリがないと、自然言語インタフェースの能力は、コマンドがシステムに理解されないという点で実質的に低下する。
金銭上、及びコンピュータのオーバヘッドにおいて、大きな、常時常駐する、任意の実質的な情報システムに対する自然言語インタフェースが生成され、維持コストは法外なものになる。更に、エンド・ユーザは依然とし て、解析系と常駐辞書ファイルが理解できる質問とキーワードのタイプを知る必要がある。これは、常駐テーブルの方法論が十分にデータ・オブジェクトとそれらのオブジェクトに関する制約の間の関係を考慮に入れていないためである。例えば、ユーザがスミス氏の年を知りたい場合、スミスは人であったり塔であったりするので、「How old is Smith?」と訪ねるだけでは不十分である。そうではなく、ユーザは「How old is the person called Smith?」とタイプしなければならない。従っ て、自然言語解析系を使用した場合の学習曲線は、依然として極めて高い。
従来技術における照会文生成の問題を解決する第2の方法は、照会ツールを使用することである。照会ツールはデータベースの物理構造に基づいており、その中の情報に基づいたものではない。情報が、相互作用概念オブジェクトの集合、即ち記憶させたいもの、例えば人、住所などの集合として広範に分類されうる。事実は、例えば、「a Person lives at an address」といったオブジェクト間の関係である。情報がデータベース内に記憶されたときに、その情報は、例えばテーブルのような物理構造の集合として表現される。エンド・ユーザの一部に、データベースの専門技術がかなり欠けているものがいる場合、データの物理表現は、彼らにとっては相変わらず理解できないものとなる。従って、こうした初心者が前記物理構造で記憶されたデータの、物理構造に基づく照会を行なうためには、これらの物理構造をしっかり理解するようにかなりの訓練を積む必要がある。
自然言語解析系、または物理構造照会ツールを用いて照会文を記述する際に、最後の問題が残っている。ユーザは最終的にどちらかの処理によって形成される照会文が、実際に正しく解析されるものになることを保証する ことができない。物理構造を照会する場合、十分な訓練がないと、初心者ユーザはデータが記憶される方法を理解できない。自然言語解析系を使用した場合、その自然言語におけるあいまいな固有情報のために同様の問題が生じる。例えば、ユーザが「How old is Smith?」と尋ねると、コンピュータは「55」と答える。この答えは、スミスという人に関するものかもしれないし、スミスの塔に関するものかもしれない。これは、ケーリー・グラントの年を尋ねようと彼の代理人に電報を打ったレポーターを思い出させる。レポーターは、送信する電報の文字数毎の料金を気にして、「ケーリー・グラントの年は幾つですか?(HOW OLD CARY GRANT?)」という質問文を打った。その俳優は、不注意でその電報が彼に配達されたとき、電報で「年をとったがケーリー・グラントは元気だよ(OLD CARY GRANT JUST FINE)」と返信した。明らかに、照会文の構文が正しくなければ、初心者ユーザは不確かな答えを得るかまたは、意図していない照会文に対する答えを得ることになる。
前述した、従来技術のCASEツール共通の設計上の特徴は、事前に定義されたテーブル、または自然言語入力の変換を行い、データ・オブジェクト、事実、制約、及びそれらの相互関係の正確な性質を指定するテーブルを使用することである。前述のように、この方法論は費用がかかり、効果的でなく、十分な効果が得られない。
現在情報システムの指定に使用されているCASEツールの更なる設計上の特徴は、自然言語の代わりにシンボルを使用していることである。シンボル駆動型CASEツール・セットは、シンボルのチャートからコンピュータ言語におけるデータベース指定に変換を行うためにいくつかのステップを必要とするため、すぐに不正確で厄介なものになる。
従って、ユーザが自然言語または自然言語に似たコマンドを用いて、情報システムを指定し、生成できる装置に対する需要があり、それは、システム・オブジェクト、事実、及び制約を、曖昧さや過度のオーバヘッドなしに正確に指定するものである。これは、曖昧さのない方法でデータ要素間の相互関係を定義するために、グラフィカルな描写が可能であることを意味している。システムを生成するために使用される情報は、データベース自身の構造と、一旦完成したデータベースに対するその後の照会文を定義するのに使用できる。初心者ユーザが、以前に入力された変換テーブル内の定義に制限されることのない、自然言語に似たコマンドを再び使用して、システムに対するこうした照会文を指定できる手段に関する別の需要がある。更に、情報システムにアクセスするために生成された任意の照会文が正確に、曖昧さなく、ユーザの意図する質問を伝えて、正確で曖昧さのない答えを返答することを保証する手段に関する別の需要がある。
発明の開示
本発明は、ユーザが、
1.自然言語に似たコンピュータ言語(こうした言語の1つはFORMLである)に対するグラフィカル・ユーザ・インタフェースを用いて情報システム記述を開発でき、
2.照会文生成に関する事実ツリーを指定でき、
3.意味が正しいか照会文をチェックでき、
4.データベース・システムに対して照会文を生成できるような方法、及び装置を提供する。
情報システムを生成する必要があるという決定がなされたら、本発明の事実コンパイラが実行される。事実コンパイラのコンパイル機能は、ユーザに自然言語に似たコンピュータ言語を使用した、テキストでのタイプを可能とする。このような言語の1つはFORMLである。テキストはシステムによって提供されるウインドウ内にタイプされ、オブジェクト(ここでは名詞としても呼ばれる)、事実(ここでは事実タイプまたは文としても呼ばれる)、及び/または制約を含む可能性がある。「図表上のドラッグ・アンド・ドロップ」と呼ばれる変換関数とグラフィカル・ユーザ・インタフェースを用いて、ユーザは、テキストを入力ウインドウから事実コンパイラのORM概念スキーマ図表上の適当な場所にドラッグする。次にユーザは、そのテキストを図表上にドロップする。事実コンパイラはその入力されたテキストを確認し、発生したエラーをユーザに知らせる。確認の間、事実コンパイラは最初にテキストを解析し、オブジェクト・リスト、事実リスト、及び制約リストをメモリ内に生成する。次に、事実コンパイラは反復的にテキストをリポジトリにコンパイルする。このリポジトリは、基本的に「データベースのデータベース」である。最後に、確認されたオブジェクト、事実、及び/または制約がORM概念スキーマ図表上に適当な記述で描写される。この時点で、情報システムの指定が完了したものと見なされる。
情報システムが生成された後、ユーザは以前に入力された情報をチェックし、及び/または編集することができる。これは、事実コンパイラの逆コンパイラ機能を使用して達成される。逆コンパイラは、それがORMの概念スキーマ図表をとり、リポジトリ内に入力されたオブジェクト、事実、及び制約からなるテキストのリストに戻るという点で、基本的に前述のコンパイラ機能の逆である。ユーザは、情報システムの指定を確認するかまたは、システムが存在する場合にシステムを編集するために、このリストを使用することができる。
情報システムの指定が一旦完了すると、情報システムのORM表現で描写された概念スキーマは、RMAPを用いて関係データベースにマッピングされる。RMAP処理は、McCormack他(1993年)に詳細に記述があり、ここで参照することにより、詳細な説明がなされたものとして本明細書に組み込まれる。事実の集合の例を以下に示す。
事実ツリーの例に関連する関係データベースが、
である場合、関連するRMAPのマッピングは以下のようになる。
照会処理の第1ステップは、事実ツリーを指定する。事実ツリーの指定では、ユーザは照会に関連する名詞を選択する。例えば、ユーザがスミス氏の住所、電話番号、勉強科目、及び先生を見つけたい場合、照会が基本的に人に関するものなので、人という名詞から始める。照会文の根として人を選んだ後、その人の住所などを見つけるために、その人に関する他の情報をさらに選択することができる。選択可能な情報は、事実に含まれるそ の人に関する情報だけである。即ち、次のようなもので ある。
この事実の集合は、特定の人に関する入手可能な情報全てである。この情報は概念的に表示され、ユーザは任意の特定キーワードやフレーズを知る必要がない。この場合、ユーザは以下の事実を選択する。
なぜなら、それがスミス氏について彼らが知りたいことであるからである。これにより、以下の事実ツリーが構成される。
最後に、ユーザは、スミス氏にしか興味がないので、ツリーの根にある人を、スミス氏であると制限する。
最終的なツリーの意味は、スミス氏という人、彼の住む住所、彼の持っている電話番号、彼が勉強している科目を表示し、彼の勉強している科目に関して、それらの科目を教えている人を表示するものである。
事実ツリーを生成した後、ユーザはその事実ツリーが正しいことを、本発明のツリー・インタプリタを使用して確認する。そうすることによって、生成された照会文が曖昧さを有する可能性を、あらかじめ除外することになる。ツリー・インタプリタの使用中に、ツリー・インタプリタ・アルゴリズムが、事実ツリーの自然言語記述を構成する。このアルゴリズムは、以下の最良の形態のセクションで記述される再帰的depth−first検索関数である。この解釈は、ユーザに、ユーザの質問が所望の情報を得ることを確認できるようにする。
ユーザが事実ツリーを指定し、それをツリー・インタプリタを使ってチェックし終えれば、後は関係照会文自体を生成するだけである。これを行うアルゴリズムは、再帰的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.0以上で動作するIBM互換コンピュータで実行可能である。実行には最小で6メガバイトの利用可能なRAMと、最小で6メガバイトのハードディスク記憶域が必要である。これらのコンピュータは通常CPU、主記憶装置、I/O資源、及び手動のキーボードとマウスを含むユーザ・インタフェースを含んでいる。本発明は、グラフィカル・ユーザ・インタフェースも必要であり、マイクロソフト・ウインドウズは周知な例の1つである。
本発明は、インテル80486のチップセットを有し、マイクロソフトのMS−DOSオペレーティング・システム、バージョン5.0で動作する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ステップは、事実ツリーを指定する。事実ツリーの指定では、ユーザは照会に関連する名詞を選択する。例えば、ユーザがスミス氏の住所、電話番号、勉強科目、及び先生を見つけたい場合、照会が基本的に人に関するものなので、人という名詞から始める。照会文の根として人を選んだ後、その人の住所などを見つけるために、その人に関する他の情報をさらに選択することができる。選択可能な情報は、事実に含まれるそ の人に関する情報だけである。即ち、次のようなもので ある。
この事実の集合は、特定の人に関する入手可能な情報全てである。この情報は概念的に表示され、ユーザは任意の特定キーワードやフレーズを知る必要がない。この場合、ユーザは以下の事実を選択する。
なぜなら、それがスミス氏について彼らが知りたいことであるからである。これにより、以下の事実ツリーが構成される。
最後に、ユーザは、スミス氏にしか興味がないので、ツリーの根にある人を、スミス氏であると制限する。
最終的なツリーの意味は、スミス氏という人、彼の住む住所、彼の持っている電話番号、彼が勉強している科目を表示し、彼の勉強している科目に関して、それらの科目を教えている人を表示するものである。
事実ツリーを生成した後、ユーザはその事実ツリーが正しいことを、本発明のツリー・インタプリタを使用して確認する。そうすることによって、生成された照会文が曖昧さを有する可能性を、あらかじめ除外することになる。ツリー・インタプリタを使用すると、ツリー・インタプリタ・アルゴリズムにより、事実ツリーに関する自然言語での説明が構成される。このアルゴリズムは、再帰的depth−first検索関数であり、以下で要約して示す。
このInterpret_Treeを先の事実ツリーの例に対して実 行すると、次のような結果が得られる。
この解釈によって、ユーザがした質問が、所望の情報を得られるか確認できる。
ユーザが事実ツリーを指定し、それをツリー・インタプリタを用いてチェックし終えれば、後は関係照会文を生成するだけである。これを実行するアルゴリズムも、事実ツリーのノードに対して再帰的に実施される。
child i(i=1...n)のどれかが子を持つ場合、Create_Queryを子に適用し、その結果を外部ジョインを用い て既存の照会文の中に含める。その結果、事実ツリーの例の場合、Create_Queryは科目を勉強する人の科目ノードに対して実行され、以下の照会文が得られる。
SQLが記述上便利なものとして使用され、かつその使用がアルゴリズムを背景とした論理とは無関係であることに注意すべきである。任意の関係言語が使用可能であることは、本発明の大きな特徴である。本発明の事実コンパイラ、照会文マッパ、及びツリー・インタプリタのアルゴリズムの利点は、それらが実質的に概念の数と、初心者が関係データベースにおいて意味のある照会文を表現できるために必要な訓練の時間を削減したことである。本発明のアルゴリズム・セットによって、ユーザは、キーワードや物理構造を知ることなく、概念的な照会文を形成することができる。また、本発明のアルゴリズムは、照会文が文法的に正しいことを保証するために、照会文の自然言語表現を生成する。これらの利点は、前述した例と、自然言語、及びSQLの実施における現在の技術で表現された同様の例を対比することによって例示される。
照会文を自然言語で表現するためには、ユーザは、次 のような文を構成し、照会文としてタイプする必要がある。
この照会文を作成するために必要な情報は次のような ものである。
1.この照会文(Personなどのキーワードを含める必要がある)を表現する方法に関する全体的知識。
2.住所、電話番号、科目などを尋ねるときの知識。
事実コンパイラ
本発明の事実コンパイラは100において選択される。本発明の事実ツリーは300で選択される。前述したように、事実コンパイラが本発明によって提供され、以下により詳細な説明がなされる。図4を参照すると、事実コンパイラを選択(100)した後で、ユーザはモデル化される情報システムの1つのレベルを表現する図表を開く。その事実コンパイラの図表を開いた後で、ユーザは、自然言語に似たコンピュータ言語を用いて、実際の文でオブジェクト・タイプ、又は制約をタイプする。こうした言語の1つはFORMLである。そのような入力の例 は、‘the INSTRUCTOR with the ID“100"is qualified to teach the SUBJECT with the name“database desi gn"at the SUBJECT LEVEL“300"'である。この時点で、ユーザは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に詳細に示されている。現在の編集ウインドウにあるテキストを収集した後、テキストは、解析関数142を用いて解析される。解析の後、エラー・チェッカー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で設定される。各トークンは、そのタイプに関するテストを173で受ける。セクションがオブジェクトである場合、オブジェクト指定を検索する関数174が実行される。セクションが事実である場合、事実指定を検索する関数175が実行される。テストされたセクションが制約であった場合、制約指定を検索する関数176が実行される。関数174、175、又は176のいずれかが実行された後、テストされたセクションがターミナル・セクションかどうか判定するテストが行われる。ターミナル・セクションでない場合、次のセクションが、同じテストの対象になる。セクションがターミナル・セクションである場合、解析関数142は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で終了する。事実がまだ事実セクションにある場合、システムはテキストの構成要素を事実リスト内に記憶される構造に分割する(203)。その後、事実の状況が204でテストされる。事実が新しい事実である場合、新しい事実を割り当てる関数230が実行され、その後、事実解析は206で終了する。事実が既に事実リストに存在する場合は、関数175がまたも206で終了する。事実がリポジトリ内に存在し、事実リスト内にない場合、システムは、205でリポジトリからその構造を読み取り、それを事実リスト内に出力する。その後関数175がもう一度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で形成される。事実ツリーの例は以下のようなものである。
事実ツリーの各ノードは名詞(例えば、Person)を持つ。
事実ツリーの各ノードは制限(例えば、“=Mr.Smit h")を有する場合がある。
事実ツリーの根でない各ノード(最上位のノード以外全て)はフレーズ(例えば、“is taught by")を持つ。
次に301でツリーの根が変数Rootに割り当てられる。この場合、影付きのノード(Person)がRootに割り当てられる。
事実ツリーをSQL照会文にマッピングする場合、Rootは、関数Fact_Tree_To_SQL400にパラメータとして渡される。この関数の戻り値はSQL照会文となる。関数Fact_Tree_To_SQLは、関数400ないし465を用いて記述される。
事実ツリーを英語の説明にマッピングする場合、Rootは、関数Fact_Tree_To_SQL500にパラメータとして渡される。この関数の戻り値はない。関数Fact_Tree_To_Descriptionにより、ツリーの説明がプリントアウトされ る。関数Fact_Tree_To_Descriptionは、関数500ないし535を用いて記述される。
ツリー・インタプリタ
本発明は、以下で説明するように、関数Fact_Tree_To_Descriptionとして呼び出されるツリー・インタプリタも提供する。図25を参照すると、関数Fact_Tree_To_Description(500)は、事実ツリーのノードを入力とし、そのツリー又はサブ・ツリーによって表現される照会文の説明を返す、再帰的な関数である。パラメータRootは、関数が動作するノードである。
関数501は、いくつかの作業変数を割り当てる。Rootはサブツリーのツリーの根であって、親を有する場合も 有しない場合もあり、子を有する場合も有しない場合も ある。例えば、先のツリーの例において関数Fact_Tree_To_Descriptionに渡された影付きのノード(Person)に は親がなく、子が3つある。Parent(この場合はヌル)をRootの親に割り当てる。NodesをRootの子(3つ)に割り当てる。Child(i...Nodes)は、Rootの子に割り当てられた配列である。Personは、“that lives at Addr ess",“that has a phone number",および“that studi es a subject"の3つの子をもつ。
次に、一時変数TextをRootの「説明」に割り当てる(502ないし504)。Rootが親を持たない場合(それは事実ツリーの根である)、Rootは関数Create_Text_For_Root(503)に渡される。Rootが親を持つ場合、Rootは関数Create_Text_For_Node(507)に渡される。それらの関数の戻り値は、いずれもRootに関する説明である。
505で、Textをプリントアウトし、改行復帰する。Roo tがノードPersonを指している場合、関数Create_Text_For_Root(503)が使用され、Textは“For all Person(s)(where Person=Mr.Smith)show:"になる。Root が“that studies subject"というノードを指している場合、関数Create_Text_For_Node(504)が使用され、T extは“the Subject(s)that the Person studies,an d for those Subject(s)show:"になる。
次のステップは、505ないし510の関数に示すdepth−first検索アルゴリズムを用いてRootの子を再帰的に処理することである。NodesはRootが有する子の数であり、Child[i...Nodes]はRootが有する実際の子である。
変数Iは、カウンタ変数として使用される。506で変数Iは最初に1に割り当てられる。Iが「ノード」より大きい場合(処理すべき子が、もうない場合)、関数Fact_Tree_To_Descriptionの具体化が完了し(507−508)、それ以外の場合、509で関数Fact_Tree_To_DescriptionがChild[1]に対して実行され、501でIをインクリメントし、処理すべき子がなくなるまで、このループを継続する(507)。
関数Fact_Tree_To_Descriptionを先のツリーの例にお けるノードPersonに適用した場合、その結果は次のよう なものになる。
図25の503で、事実ツリーの根ノードを引数(Root) として関数Create_Text_For_Rootを実行し、そのノードの説明を返す。
520で、根は名詞(例えば、Person)を有し、これがn ounに割り当てられる。「根」は制限(例えば、“=Mr.Smith")をさらに有することがあり、これがRestrictionに割り当てられる。変数Textに、‘For all'+noun+ ‘s'(例えば、‘For all Person(s)が割り当てられる。
根が「制限」を有する場合、521および522で、その制限をTextに追加する(例えば、Text=“For all Person (s)(where Person=Mr.Smith)”のように)。
523で“show:"をTextに追加し、524でそのText(例え ば、Text=“For all Person(s)(where Person=M r.Smith)”)を返す。
図25に戻り、事実ツリーの根でないノードを引数(Ro ot)としてとり、そのノードの説明を返す関数Create_Text_For_node504の詳細は、図27に記されている。例えば、“that studies a Subject"というノードが引数として渡される。
530で、「根」は名詞(例えば、Subject)を有し、それがNounに割り当てられる。Rootはフレーズ(例えば、“studies")を含み、それがPhraseに割り当てられる。Rootの親は名詞(例えば、Person)を有し、これがPare nt−Nounに割り当てられる。根は制限(例えば、=スミス氏)をさらに有することがあり、これがRestrictionに割り当てられる。変数Textには、‘the'+noun+ ‘(s)that the'+Parent−Noun+‘’+Phrase(例えば、‘Subject(s)that the Person studies')が割り当てられる。
「根」が制限を有する場合、531および532で、その制限がTextに追加される。
「根」が子を有する場合、533および534で、‘,and f or those'+Noun+‘:(s)show:'がTextに追加される。
535で、Textを返す(例えば、Text=‘the Subject (s)that Person studies,and for those Subject (s)show:')。
照会文マッパ
本発明はさらに、Fact_Tree_to_SQL_Queryとして実行される照会文マッパも提供する。以下では、これについ て詳細に説明する。図19に戻り、関数400の詳細は、図20に記されている。この関数は事実ツリーの根ノードを入力としてとり、それに対応するSQL照会文を返す。パラメータRootは、この関数の実行対象となるツリーの根である。
事実ツリーの根以外のノード(最上位のノード以外)はそれぞれ、そのノードに関する関係マッピングを有する。この関係マッピングは、関係データベースにおけるノードの表現を指定する。例として、以下に事実の集合の例を示す。
事実ツリーの例に関する関係データベースが、
である場合、関連するRMAPのマッピングは以下のようになる。
テーブルは、事実の記憶されたテーブルを示す。第1の名詞カラムはノードの親に関するカラムを表す。第2の名詞カラムは、ノードの名詞に関するカラムを表す。
例えば、“(Person)lives at Address"に関連するマッピングは、全住所がPerson_Tableに記憶され、その住所に住んでいる人がPersonカラムに、そして実際の住所が住所カラムに記憶されることを意味している。
述部のマッピングは、McCormackとHalpinの、Automated Mapping of Conceptual Schemas to Relational Schemas、Proc CAiSE 93、Sorbonne大学,パリ、1993年、に記載されるものと同様のアルゴリズムによって導出される。
SQL照会文は、SelectList、FromList、及びWhereClau seの3つの部分を含む。これらは、関数Node_To_SQLを再帰的に呼び出すことによって徐々に構築される。
最初に、SelectList、FromList、及びWhereClauseを空の文字列(“”)にセットする(401)。
402で、Rootをパラメータとして関数Node_To_SQLを呼び出し、照会文を構築する。
403、404、及び405で、SelectList、FromList、及びWhereClauseをそれぞれフォーマットする。406で関数に より照会文を組み立て、407でそれを返す。
402で、関数Node_To_SQLを実行する。これは、事実ツリーのノードをSQL照会文にマッピングする再帰関数である。この関数を連続して呼び出すことによって、SelectList、FromList、及びWhereClauseの変数が構築される。
関数Node_To_SQLは3つのパラメータを持っている。第1のパラメータRootは、マッピングされるツリーまたはサブ・ツリーの根である。第2、及び第3のパラメータは、根のサブ・ツリーに関する照会文を残りの照会文に結合するのに使用される、テーブルおよびカラムである。
410で、ParentはRootの親であり、NodesはRootの子の数であり、Child[i...Nodes]はRootの子である。
Rootが子を持たない場合、処理の必要はなく、この関数は単純にリターンする(411、412)。
それ以外の場合、Rootの子が以下のようにして照会文に追加される。
Rootが親を有している場合、関数JoinTalbe413および 関数JoinColumn414を用いてその親を照会文に結合し、4 15でRootを照会文のselectlistに追加しなければならな い。
Rootの子を全て照会文に結合するためには、それらの子を以下のように順番に処理する。416で、カウンタ変数iを1に初期化する。417で、ノードの値をチェックし、iがノードよりも小さければ、419でAdd_Selector_2(node)を実行する。419でAdd_Selector_2を用いて子のそれぞれをselectlistに追加し、421で関数Node_To_SQLを再帰的に呼び出すことにより、その子の子を照会文に追加する。420で、各ノードについてセレクタを使用 し、サブ・ツリーの照会文をまとめて結合する。414で実行される関数Create_Joinの詳細を図22に示す。この関数は、内部ジョインをwhere節に追加することによって、副照会文を主照会文に結合する。この結合は、通過ノード(Node)内の第1の名詞と送られたパラメータに基づいて行なわれる。
再び図21に戻ると、関数Add_Selector_1(415)の詳 細が図23に示されている。この関数は、NodeのテーブルをFromListに追加し、Nodeの第1の名詞に関するカラム をSelectListに追加する。
もう一度図21に戻ると、関数Add_Selector_2(419)の詳細が図24に示されている。この関数は、NodeのテーブルをFromListに追加し、Nodeの第2の名詞に関するカラムをSelectListに追加する。
前述の実施例は、本発明の原理に基づくアプリケーションを表す多くの特定の実施例のうちのいくつかを例示しているに過ぎないことが理解される。当業者には、本発明の範囲から逸脱することなく、数多くの変更を容易に実施できることは明らかである。
Claims (4)
- 中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、データ記憶手段、及びグラフィカルユーザインタフェースを備えたデータベースの設計仕様を指定するための汎用プログラム可能なデジタルコンピュータを含む装置であって、
モデル化される情報を表現する図表を前記表示手段上に 表示するための図表手段と、
前記図表上でカーソルの動きを制御するためのカーソル制御手段と、
前記コンピュータ上で実施される関係データベース手段を含むリポジトリ手段と、
ユーザが、データオブジェクト、該データオブジェクトに関する事実、及び該データオブジェクトに対する制約を項目に含むコンパイルのためのソーステキストを、前記データ入力手段を用いて編集ウィンドウに入力できるテキスト入力手段と、
前記テキストを確認するための、ユーザが選択可能なテキスト確認手段と、
前記テキスト入力手段から入力されたテキストを前記図表に変換するための、ユーザが選択可能な変換手段と、
前記テキストを前記リポジトリ手段にのみコンパイルするための、ユーザが選択可能な第1のコンパイル手段と、
からなる装置。 - 中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、データ記憶手段、グラフィカルユーザインタフェース、及びコンピュータ上で実施される関係データベース手段を含むリポジトリ手段を備えた汎用プログラム可能なデジタルコンピュータ上で、データベースの設計仕様を指定するための方法であって、
モデル化される情報を表現する図表を前記表示手段上に 表示するステップと、
前記図表上でカーソルが移動されたことを示す指示を受信するステップと、
前記データ入力手段から編集ウィンドウに入力された、データオブジェクト、該データオブジェクトに関する事実、及び該データオブジェクトに対する制約を項目に含むコンパイルのためのソーステキストを受け取るステップと、
ユーザが選択可能なオプションに応答して、前記テキストを確認するステップと、
ユーザが選択可能なオプションに応答して、前記テキスト入力手段から入力されたテキストを前記図表に変換するステップと、
ユーザが選択可能なオプションに応答して、前記テキストを前記リポジトリ手段にのみコンパイルするステップと、
からなる方法。 - 中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、及びデータ記憶手段、並びに、データベースの設計仕様を指定し、該データベースに対する照会文を作成し、該照会文を自然言語で記述するためのグラフィカルユーザインタフェースを備えた汎用プログラム可能なデジタルコンピュータを含む装置であって、
モデル化される情報を表現する図表を前記表示手段上に 表示するための図表手段と、
前記図表上でカーソルの動きを制御するためのカーソル制御手段と、
前記コンピュータ上で実施される関係データベース手段を含むリポジトリ手段と、
ユーザが、データオブジェクト、該データオブジェクトに関する事実、及び該データオブジェクトに対する制約を項目に含むコンパイルのためのソーステキストを、前記データ入力手段を用いて編集ウィンドウに入力できるテキスト入力手段と、
前記テキストを確認するための、ユーザが選択可能なテキスト確認手段と、
前記テキスト入力手段から入力されたテキストを前記図表に変換するための、ユーザが選択可能な変換手段と、
前記テキストを前記リポジトリ手段にのみコンパイルするための、ユーザが選択可能な第1のコンパイル手段と、
前記照会文に基いて事実ツリーを形成するための事実ツリー形成手段と、
根ノードを含む前記事実ツリーに関する説明を前記自然言語で生成するための事実ツリー記述手段と、
前記根ノードを入力として用い、前記根ノードに対応する第1の照会文を前記データベースに適したコンピュータ言語で返すことにより、照会文を前記関係データベース手段にマッピングするための、照会文マッピング手段と、
からなる装置。 - 中央演算処理手段、バス手段、表示手段、データ入力手段、メモリ手段、データ記憶手段、及びグラフィカルユーザインタフェースを備えた汎用プログラム可能なデジタルコンピュータ上で、データベースの設計仕様を指定し、該データベースに対する照会文を生成し、該照会文を自然言語で記述するための方法であって、
モデル化される情報を表現する図表を図表手段を用いて前記表示手段上に表示するステップと、
前記図表上でカーソルが移動されたことを示す指示を受信するステップと、
前記コンピュータ上で実施される関係データベース手段を含むリポジトリ手段を作成するステップと、
データオブジェクト、該データオブジェクトに関する事実、及び該データオブジェクトに対する制約を項目に含むコンパイルのためのソーステキストを、前記データ入力手段を用いて編集ウィンドウに入力するステップと、
ユーザが選択可能なテキスト確認手段を用いて、前記テキスト入力手段からの前記テキストを確認するステップと、
ユーザが選択可能な変換手段を用いて、前記テキストを前記図表に変換するステップと、
ユーザが選択可能な第1のコンパイル手段を用いて、前記テキストを前記リポジトリ手段にのみコンパイルするステップと、
事実ツリー形成手段を用い、前記照会文に基いて事実ツリーを形成するステップと、
事実ツリー記述手段を用いて、根ノードを含む前記事実ツリーに関する説明を自然言語に近いコンピュータ言語で生成するステップと、
照会文マッピング手段を用いて、前記根ノードを入力として用い、前記根ノードに対応する第1の照会文を前記データベースに適したコンピュータ言語で返すことにより、照会文を前記関係データベース手段にマッピングするステップと、
からなる方法。
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 JPH09502039A (ja) | 1997-02-25 |
JP3639972B2 true 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)
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)
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 |
-
1993
- 1993-08-25 US US08/112,852 patent/US5495604A/en not_active Expired - Lifetime
-
1994
- 1994-08-24 AT AT94927247T patent/ATE213348T1/de not_active IP Right Cessation
- 1994-08-24 EP EP94927247A patent/EP0715739B1/en not_active Expired - Lifetime
- 1994-08-24 DE DE69429866T patent/DE69429866T2/de not_active Expired - Lifetime
- 1994-08-24 CA CA002170235A patent/CA2170235C/en not_active Expired - Lifetime
- 1994-08-24 AU AU76753/94A patent/AU7675394A/en not_active Abandoned
- 1994-08-24 JP JP50776495A patent/JP3639972B2/ja not_active Expired - Lifetime
- 1994-08-24 WO PCT/US1994/009658 patent/WO1995006292A1/en active IP Right Grant
-
1995
- 1995-06-06 US US08/488,384 patent/US5592668A/en not_active Expired - Lifetime
- 1995-06-06 US US08/485,210 patent/US5574908A/en not_active Expired - Lifetime
- 1995-06-06 US US08/482,726 patent/US5590322A/en not_active Expired - Lifetime
-
2004
- 2004-10-20 JP JP2004305091A patent/JP3921479B2/ja not_active Expired - Lifetime
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 |
ATE213348T1 (de) | 2002-02-15 |
JP3921479B2 (ja) | 2007-05-30 |
US5495604A (en) | 1996-02-27 |
JPH09502039A (ja) | 1997-02-25 |
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 |
---|---|---|
JP3639972B2 (ja) | 自然言語に似た構造を用いたデータベースのモデル化及び照会に関する方法及び装置 | |
Fox et al. | An R companion to applied regression | |
Jarke et al. | A framework for choosing a database query language | |
US5634121A (en) | System for identifying and linking domain information using a parsing process to identify keywords and phrases | |
US4688195A (en) | Natural-language interface generating system | |
US6256627B1 (en) | System and method for maintaining a knowledge base and evidence set | |
WO1996023266A1 (en) | End user query facility | |
JPH07182147A (ja) | コンピュータプログラムを発生する方法及びシステム | |
US5727195A (en) | Document retrieving object instructing apparatus | |
Miller | Lightweight structure in text | |
Owei et al. | Enriching the conceptual basis for query formulation through relationship semantics in databases | |
Borsje et al. | Graphical query composition and natural language processing in an RDF visualization interface | |
Wu et al. | KDA: a knowledge-based database assistant with a query guiding facility | |
Chen | Electronic geometry textbook: a geometric textbook knowledge management system | |
Owei et al. | A formal basis for an abbreviated concept-based query language | |
JPH07146785A (ja) | プログラム自動生成方法および装置 | |
Halpin | Conceptual queries | |
Biller et al. | Interactive authoring of logical forms for multilingual generation | |
Harnoš et al. | DSL to Support the Process of Creating Security Documentation for Classified Systems | |
Neto et al. | Compiler construction-a pedagogical approach | |
Johanna | Generating Coding Exercises for Language Concepts by Searching, Simplifying, and Annotating Existing Code | |
KR970011904B1 (ko) | 임의 질의 생성 및 처리장치와 그 방법 | |
Nirfarake et al. | Conversion of Natural Language to SQL Query | |
Orailoglu | Software design issues in the implementation of hierarchical, display editors | |
Göres et al. | GEM: A generic visualization and editing facility for heterogeneous metadata |
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 |