JP2020522788A - データ解析システムにおける検索クエリの妥当性確認 - Google Patents

データ解析システムにおける検索クエリの妥当性確認 Download PDF

Info

Publication number
JP2020522788A
JP2020522788A JP2019564431A JP2019564431A JP2020522788A JP 2020522788 A JP2020522788 A JP 2020522788A JP 2019564431 A JP2019564431 A JP 2019564431A JP 2019564431 A JP2019564431 A JP 2019564431A JP 2020522788 A JP2020522788 A JP 2020522788A
Authority
JP
Japan
Prior art keywords
constraints
pair
predicates
search query
constraint
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
JP2019564431A
Other languages
English (en)
Other versions
JP6995141B2 (ja
Inventor
大介 宅間
大介 宅間
洋平 伊川
洋平 伊川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2020522788A publication Critical patent/JP2020522788A/ja
Application granted granted Critical
Publication of JP6995141B2 publication Critical patent/JP6995141B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • 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/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】イベント・シーケンス解析システムにおいて、記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ実装の方法を提供する。【解決手段】本方法は、複数の述語と、各々が該複数の述語に関連付けられた1つ以上の制約とを含む検索クエリを受信するステップを含み、各述語は、肯定的または否定的であるように規定され、複数の術語は、1つ以上の制約と合わさって論理グラフを形成する。また、本方法は、このグラフから、複数の述語の中の肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップを含む。本方法は、このサブグラフが複数の構成要素を有するかどうかを判断するステップと、サブグラフが複数の構成要素を有すると判断されるのに応じて、当該検索クエリを無効にするステップとをさらに含む。【選択図】図4

Description

本開示は、一般にデータ解析に関し、さらに具体的には、データ解析システム中の記録の集合から情報を読み出すのに用いられる検索クエリをチェックするための技法に関する。
多様な領域において日毎に刻々と大量のデータが記録されているので、記録の集合から有意義な情報を抽出するための技法を開発するために多大な努力がなされている。イベント・シーケンス解析は、イベント・シーケンス・データから有意義なパターンを読み出すための技術である。かかるイベント・シーケンス・データの例には、病院における臨床データ、ソーシャル・ネットワーキング・サービスにおけるメッセージ・データなどを含めることができよう。
イベント・シーケンス解析で使われる検索クエリは、1つ以上の述語を含むことができ、そのそれぞれは、キー・値の対のリストおよび2つの述語の間の制約を読み出すために用いられ、そのそれぞれは、2つの述語に対するリストから、何らかの時間的関係を有するエレメントの対を抽出するために使われる。
その複雑性のため、通常はグラフィカル・ユーザ・インターフェースが開発されており、ユーザは、その上でイベント・シーケンス・データから所望のパターンを直観的に抽出するための検索クエリを生成することができる。しかしながら、典型的なグラフィカル・ユーザ・インターフェースでは、クエリに対するユーザの操作の組み合わせが、そのユーザに期待外れの結果をもたらすような類のクエリを生じることがある。かかる実際上無益なクエリは、たとえそれが構文的には正しくても、無効と見なされる。すなわち、そのようなクエリは、ユーザの意図に関係のない何らかの結果を提供し得る。
検索クエリ生成のためのグラフィカル・ユーザ・インターフェースに関し、正規表現に基づくデータのシーケンスでクエリを生成するための視覚的なクエリ・インターフェースが開発されている(例えば、非特許文献1)。この論文では、取り組み易い仕方による、正規表現の全表現力を提示するタッチ・ベースのシステム、および結果可視のインタリーブ・クエリ仕様が提案されている。しかしながら、この論文も、前述した、結果として得られたクエリの無効性は論じていない。
E.Zgraggenら著、シリーズ/クエリ「Visual Regular Expressions for Querying and Exploring Event Sequences」CHI’15、コンピューティング・システムにおけるヒューマン・ファクタについての第33回年次大会の論文集、2015年、p.2683〜2692。
必要とされるのは、実際に検索クエリを発行することなく、ユーザの意図と整合しない結果を提供しないように検索クエリの有効性を確認できる、コンピュータ・システムおよびコンピュータ・プログラム製品に関連付けられたコンピュータ実装の方法である。
本発明の或る実施形態によれば、記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ実装の方法が提供される。本方法は、各々が肯定的または否定的であるように規定された複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリを受信するステップを含む。これら複数の述語は、1つ以上の制約と合わさって論理グラフを形成する。また、本方法は、このグラフから、検索クエリ中の複数の述語の中に肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップを含む。本方法は、このサブグラフが複数の構成要素を有するかどうかを判断するステップと、サブグラフが複数の構成要素を有すると判断されるのに応じて、当該検索クエリを無効にするステップとをさらに含む。
本発明のこの実装形態の方法によれば、たとえ検索クエリが、一般に当該検索クエリの無効性に気付くのを難しくする、否定的であるように規定された述語を含んでいたとしても、検索クエリの有効性は、実際にその検索クエリを発行して記録の集合から得られる結果を待つことなく検証することが可能である。
或る好適な実施形態において、本方法は、サブグラフが複数の構成要素を有すると判断されるのに応じて、そのサブグラフ中の異なる構成要素に属し、グラフ中の、否定的であるように規定された1つ以上の述語を介して相互に連結を有する述語の対の間に新規の制約を加えることによって、代替クエリを設けるステップをさらに含む。これにより、ユーザは、当初の検索クエリに基づいて修正された、当初の検索クエリよりもユーザの意図により合致すると予期される結果を提供するような代替クエリをタイムリーに得ることができる。
他の好適な実施形態において、本方法は、否定的であるように規定された1つ以上の述語を介する述語の対、の間の2つ以上の制約から新規の制約の内容を導出するステップをさらに含む。これにより、ユーザは、新規の制約を加えられた述語の対の間の該2つ以上の制約により決まる新規の制約を備えた代替クエリを得ることができる。
さらなる他の好適な実施形態において、この導出するステップは、新規の制約の内容として、述語の対の間の2つ以上の制約の組み合わせの必要条件中の最強の制約を計算するステップを含む。これにより、ユーザは、述語の対の間の2つ以上の制約から得られる可能な制約の中で適切なものと予期される新規の制約を備えた代替クエリを得ることが可能である。
また、本明細書では、本発明の1つ以上の態様に関するコンピュータ・システムおよびコンピュータ・プログラム製品が説明され、請求される。
本発明の他の実施形態によれば、記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ実装の方法が提供される。本方法は、各々が肯定的または否定的であるように規定された複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリを受信するステップを含む。これら複数の術語は、1つ以上の制約と合わさって論理グラフを形成する。また、本方法は、このグラフから、検索クエリ中の複数の述語の中に肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップを含む。本方法は、対の中の述語がサブグラフ中の相異なる構成要素に属するような、サブグラフ中の述語の対を見出すステップをさらに含む。本方法は、さらに、当該述語の対を見出すのに応じて、代替クエリを設けるために、述語の対の間に新規の制約を加えるステップをさらに含み、この新規の制約は、グラフ中の述語の対の間の2つ以上の制約から導出された内容を有する。
本発明の他の実施形態の方法によれば、たとえ検索クエリが、一般に当該検索クエリが否定的であるように規定された述語を含んでいたとしても、ユーザは、実際にその検索クエリを発行して記録の集合から得られる結果を待つことなく、当初の検索クエリよりもユーザの意図により合致すると予期される結果を提供するような代替クエリをタイムリーに得ることができる。
新規の制約は、新規の制約を加えられる述語の対の間の2つ以上の制約により決まる内容を有すればよい。
本発明の別の実施形態によれば、記録の集合から情報を読み出すために用いられる検索クエリをその上で編集可能なユーザ・インターフェースを提供するためのコンピュータ・プログラム製品が提供される。本コンピュータ・プログラム製品は、具現化されたプログラム命令を有するコンピュータ可読のストレージ媒体を含み、これらプログラム命令は、コンピュータに以下の方法を実行させるため、コンピュータによって実行可能である。本方法は、検索クエリが画面上にグラフの形でグラフィカルに表現されるユーザ・インターフェースの画面を提供するステップを含む。検索クエリ中の各述語はノードによって表される。検索クエリ中の複数の述語に関連付けられた各制約はエッジによって表される。各述語は、画面上での操作を通して肯定的または否定的であるように規定される。また、本方法は、検索クエリの中の、肯定的であるように規定された1つ以上の述語を含むサブグラフが複数の構成要素を有する場合、現在表示されているその検索クエリが無効であることを通知するステップを含む。
本発明のこの実施形態のコンピュータ・プログラム製品によれば、ユーザは、たとえ検索クエリが否定的であるように規定された述語を含んでいても、当該検索クエリを発行して記録の集合から得られる実際の結果を待つことなくその検索クエリの有効性の通知を受けることが可能である。
さらなる特徴および利点が、本発明の諸技法を介して実現される。本明細書において、本発明の他の実施形態および態様が詳しく説明され、それらは請求される発明の一部と見なされる。
本発明と見なされる主題は、具体的に指摘され、本明細書に添付の特許請求の範囲で明確に請求されている。本発明の前述および他の特徴および利点は、添付の図面と併せて以下の詳細な説明によって明らかになろう。
本発明の例示的な実施形態による、イベント・シーケンス解析システムのブロック図を表す。 図2Aは、本発明の例示的な実施形態による、イベント・シーケンス解析システム中で扱われるイベント・シーケンス・データのデータ構造を示す。図2Bは、イベント・シーケンス解析のための検索クエリ、およびイベント・シーケンス・データからの、検索クエリと合致するエレメントのリストを読み出すクエリ処理の簡単な例を表す。 図3Aおよび図3Bは、イベント・シーケンス解析のための否定的述語を備えた検索クエリの例、およびイベント・シーケンス・データから検索クエリと合致したエレメントのリストを読み出すクエリ処理の例を示す。 本発明の例示的な実施形態による、イベント・シーケンス・データから情報を読み出すため用いられる検索クエリを確認するためのプロセスを表すフローチャートである。 本発明の例示的な実施形態による、代替検索クエリを設けるために検索クエリを修正するプロセスを表すフローチャートである。 図6A、図6B、図6Cおよび図6Dは、本発明の例示的な実施形態による、検索クエリを修正する処理の一例を表す。 本発明の例示的な実施形態による、イベント・シーケンス解析のための代替の有効な検索クエリ、およびイベント・シーケンス・データからの、その代替の有効な検索クエリと合致するエレメントのリストを読み出すクエリ処理の一例を表す。 図8A、図8Bおよび図8Cは、本発明の例示的な実施形態による、無効なクエリを生じる典型的なユーザの操作の概略図を、ユーザ・インターフェースの編集画面上に表示される検索クエリの一例と共に示す。 本発明の好適な実施形態による、イベント・シーケンス解析のための否定的述語を備えた複雑な検索クエリの一例を示す。 本発明の好適な実施形態による、代替検索クエリを設けるための新規の制約の内容を導出するためのプロセスを表すフローチャートである。 図11A、図11B、図11C、図11Dおよび図11Eは、本発明の好適な実施形態による、新規制約の内容を導出し、検索クエリを修正する仕方の一例を表す。 本発明の1つ以上の実施形態によるコンピュータ・システムを表す。
以降に、具体的な諸実施形態を用いて本発明を説明することとし、以降に説明される諸実施形態は例としてだけ参照されていると理解すべきであり、本発明の範囲を限定することは意図されていない。
本発明による1つ以上の実施形態は、データ解析システムにおいて記録の集合から情報を読み出すのに用いられる検索クエリを確認するためのコンピュータ実装の方法、コンピュータ・システム、およびコンピュータ・プログラム製品を対象としている。
イベント・シーケンス解析は、記録の集合からインサイトを、とりわけイベント・シーケンス・データから有意義なパターンを抽出するための技法の1つである。一連の図1〜11を参照すると、本発明の1つ以上の実施形態による、イベント・シーケンス解析のための検索クエリを確認するためのコンピュータ・システムおよび方法が示されている。
以降において、最初に一連の図1〜8を参照し、本発明の例示的な実施形態による、イベント・シーケンス解析のために用いられる検索クエリを確認するためのコンピュータ・システムおよび方法を説明することとし、これらにおいては、検索クエリの無効性を検出することができ、無効と判断された検索クエリは、代替検索クエリを設けるために修正することができる。次いで、一連の図9〜11を参照し、本発明の好適な実施形態による、イベント・シーケンス解析のために用いられる検索クエリを確認するためのコンピュータ・システムおよび方法を説明することとし、これらにおいては、無効と判断されたもっと複雑な検索クエリを修正することが可能である。
図1を参照すると、本発明の例示的な実施形態による、イベント・シーケンス解析システム100のブロック図が表されている。図1に示されるように、イベント・シーケンス解析システム100は、インターフェース上で検索クエリがグラフ構造体の形でグラフィカルに編集可能なグラフィカル・ユーザ・インターフェースを提供するための、検索ユーザ・インターフェース110と、入力された検索クエリに従って、イベント・シーケンス・データから情報を読み出すための、イベント・シーケンス解析エンジン120と、イベント・シーケンス・データを格納するための、イベント集合データベース130と、イベント情報をイベント集合データベース130の中に記録するための、イベント記録システム140とを含むことができる。
イベント記録システム140は、1つ以上のイベント源からもたらされるイベント情報を収集し、収集されたイベント情報を記録としてイベント集合データベース130の中に記録することが可能である。かかるイベント源には、以下に限らないが、電子健康記録システム、ソーシャル・ネットワーキング・サービス、ウェアラブル・デバイス、センサ・ネットワークなど数多くを含めることができる。
イベント集合データベース130は、イベント・シーケンス・データを構成する記録の集合を、1つ以上のストレージ媒体またはデバイスに格納することが可能である。図2Aを参照すると、イベント集合データベース130中に格納されたイベント・シーケンス・データのデータ構造が示されている。図2Aに示された例は、或る病院で扱われている概略的な臨床データである。
図2Aに示されるように、イベント・シーケンス・データは一連の記録を含み、その各々が、患者の識別子を保持するための識別子欄と、その患者に関するイベントの発生時間もしくは日付またはその両方を保持するための時間欄と、患者に関するイベントの内容を表すキー・値の対を保持するためのキー・値の対の欄とを含む。キー・値の対の欄に対するキーと対応値との対は、当該イベント・シーケンス・データがそこから取得されたドメインにより決まり得る。一例として臨床データを取れば、各キーは、「症状」、「投薬」または「回復」属性などの類であってよい。「症状」および「回復」属性に対する値には、例えば、「頭痛」、「胃痛」、「微熱」を含めることができよう。「投薬」属性に対する値は、例えば、「ロキソプロフェン」、「スクラルファート」、「イブプロフェン」を含めることができよう。
例示的な実施形態において、各記録は、キー・値の対、および各々が特定のキー・値の対を有する検索クエリ対象の記録を保持する。但し、他の実施形態では、各記録は、キー・値の対の代わりに単にラベルを保持してもよく、検索クエリは、各々が特定のラベルを有する記録を対象としてもよい。
また、イベント・シーケンス・データは臨床データに限定されない。ソーシャル・ネットワーキング・サービス中のメッセージ・データ、センサ・ネットワーク中のセンサ・データ等々を含む、任意の種類のイベント・シーケンス・データがイベント・シーケンス解析の対象となり得る。別の例として、ソーシャル・ネットワーキング・サービス中のメッセージ・データを取り上げると、各キーは「食物」または「形容詞」属性などの類であってよい。「食物」属性に対する値は、例えば、「クッキー」、「パンケーキ」を含むことができる。「形容詞」属性に対する値は、例えば、「おいしい」、「ジューシー」を含むことができよう。
図1に戻って参照すると、検索ユーザ・インターフェース110は、ユーザから検索クエリを受信し、イベント・シーケンス解析エンジン120に検索クエリを発行するように構成される。この検索クエリは、複数の述語および1つ以上の制約を含むことが可能である。各述語は、各述語によって指定される特定のキー・値の対を有するエレメントのリストを読み出すために使われる。各制約は述語の対に関連付けられ、各制約に関連付けられた述語に対するそれぞれのリストから、各制約を満たすそれぞれのエレメントの対を抽出するために使われる。各制約は、エレメントの対に対する相対的な条件であり、各制約に関連付けられた述語の間の時間ギャップの間隔(これは最小と最大との間の値の範囲を表す)を含み得る。しかして、各制約に関連付けられた述語のそれぞれのリストから、何らかの時間的関係を有するそれぞれのエレメントの対(例えば、5日以内に発生した、一イベントと他のイベントとの対)を抽出することができよう。
この例示的な実施形態において、各制約は、イベント・シーケンス・データが複数の源泉からもたらされる記録を含むので、イベントに関する対象を識別する識別子に対する条件(例えば、臨床データについては同じ患者IDを有する、センサ・データについては同じセンサIDまたはセンサ・グループIDを有する、など)をさらに含む。但し、制約の内容は、前述の特定の例に限定されなくてよい。他の実施形態において、イベント・シーケンス・データが、単一の源泉だけからもたらされるデータを含んでいる場合、この識別子に対する条件は省略が可能である。例えば、ウェアラブル・デバイスを用いて取得された個人健康ログ・データは、そのウェアラブル・デバイスを着用している単一人からもたらされたイベント・データを含み得る。また、検索クエリの対象は、イベント・シーケンス・データに限定されなくてよい。他の実施形態では、任意の種類の記録の集合がデータ解析の対象となり得る。例えば、所在地(店舗、レストラン、ホテルなど)の位置情報も対象にできる。したがって、制約の内容も前述の例に限定されない。他の実施形態において、各制約は、述語の間の距離的間隔を含み得る。これら所在地の位置情報に対しては、制約は述語の間の地理的距離の間隔を含んでよい(例えば、1km内に位置する店舗と駅との対)。
或る特定の実施形態において、検索ユーザ・インターフェース110は、ユーザ・インターフェースの編集画面を提供するように構成することができ、この画面上では、検索クエリがグラフの形でグラフィカルに表示され、編集可能であり、このグラフはエッジで連結されたノードから成る。このユーザ・インターフェースの編集画面上では、各述語はノードで表され、2つの述語に関連付けられた各制約は、これら2つの述語に対応する2つのノードに関連付けられたエッジで表される。また、検索ユーザ・インターフェース110は、編集画面上に生成された検索クエリを発行する要求を受信し、その検索クエリに対する検索結果をユーザ・インターフェースの画面上に表示するように構成されてよい。
イベント・シーケンス解析エンジン120は、検索ユーザ・インターフェース110から検索クエリを受信し、その検索クエリと合致する情報を読み出し、検索クエリに対する結果を検索ユーザ・インターフェース110に返すことができる。
図2Bを参照すると、イベント・シーケンス解析のための検索クエリ、およびイベント・シーケンス・データからの、検索クエリと合致するエレメントのリストを読み出すクエリ処理の簡単な例が表されている。
図2Bに示されるように、検索クエリ200のこの例は、間に制約206(「0〜5日」)の付いた2つの述語202、204(「症状−頭痛」および「投薬−ロキソプロフェン」)を含む。なお、図2Bに示された例において、制約206は、これら2つの述語の間の時間ギャップの間隔に加えて、2つの述語の間で患者IDが同一であるという黙示の条件を含む。この検索クエリ200は、「頭痛を有し、5日以内にロキソプロフェンを処方された患者」といったステートメントを満たすエレメントの対のリストを読み出すために用いることができる。
この検索クエリ200のクエリ処理は、
(i)イベント・シーケンス・データから、第一述語202(「症状−頭痛」)に対するリスト212を読み出すステップと、
(ii)イベント・シーケンス・データから、第二述語204(「投薬−ロキソプロフェン」)に対するリスト214を読み出すステップと、
(iii)図2B中の矢印線で連結された点線のサークルの対で示されるように、リスト212中のエレメントと、リスト212中のそのエレメントから5日以内に行われた、リスト214中の対応するエレメントとの対を抽出するステップと、
を含んでよい。
この例示的な実施形態において、各述語は、肯定的に、すなわち、包含のためその述語に合致するエレメントのリストを読み出すように、または否定的に、すなわち、それを除外するように規定することができる。述語を肯定的にするか、または否定的にするかは、検索ユーザ・インターフェース110によって提供される編集画面上での操作を介して規定することができる。或る特定の実施形態において、各述語は、NOT(否定)オプションを有し、これにより述語は肯定的または否定的に規定される。この述語のNOTオプションが偽に設定されると、述語(NOTオプションなし)は肯定的に規定され、肯定的(または是認的)述語と言われる。これに反し、NOTオプションが真に設定されると、述語(NOTオプションあり)は否定的に規定され、否定的述語と言われ、その述語の否認を意味する。
前述のユーザ・インターフェースを用いることによって、ユーザは、イベント・シーケンス解析のための望ましい検索クエリを容易に生成することができる。しかしながら、(1)制約の付いた新規述語の付加、(2)述語の削除、(3)述語のNOTオプションを真にセットするための設定など、ユーザの操作の或る種の組み合わせは、たとえそれが構文的には正しくても、ユーザに対して期待外れの結果をもたらすクエリの類を生成し得る。これらの実際上無用なクエリは、その検索クエリがユーザの意図と整合しない結果をもたらすという意味で「無効」と見なしてよい。特に、否定的術語の存在は、連結されたグラフ構造を有するクエリであってもそのクエリが否定的述語を含む場合は無効になり得るので、ユーザが当該検索クエリの無効性に気付くのを難しくする。
図3Aおよび3Bを参照すると、イベント・シーケンス解析のための、否定的述語を備えた検索クエリの例、およびイベント・シーケンス・データから検索クエリと合致するエレメントのリストを読み出すクエリ処理の例が表されている。図3Aは、有効な事例を表しており、図3Bは無効な事例を表している。
一般に、制約は処理の順序を有し、NOTオプションは、全ての制約が処理された後で処理されてよい。図3Aに示されるように、検索クエリ220のこの例は、1つの肯定的述語222(図3A中では「A」で示され、NOTオプションなしのキー・値の対「症状−頭痛」を表している)、および制約226(「0〜5日」)の付いた1つの否定的述語224(図3A中ではNOTオプションありの「B」で示され、キー・値の対「投薬−ロキソプロフェン」)を表している)を含む。検索クエリ220は、「頭痛を有し、だが5日以内にロキソプロフェンを処方されなかった患者」といったステートメントを満たすエレメントの対のリストを読み出すために用いることができる。
この検索クエリ220のクエリ処理は、
(i)イベント・シーケンス・データから、述語222(A)に対するリスト232を読み出すステップと、
(ii)イベント・シーケンス・データから、述語224(B)に対するリスト234を読み出すステップと、
(iii)肯定的述語222(A)への制約226に合致する、リスト234(B)中のゼロ個以上のエレメント236を特定するステップと、
(iv)1つ以上のそれぞれのエレメント236を有するリスト232(A)から、リスト234(B)中の5日以内のゼロ個以上のエレメント238を除去するステップと、
を含んでよい。
図3A中に表された事例において、イベント・シーケンス解析エンジン120は、前述のステートメントが意味を成すように、ユーザの意図に整合する結果を返すことができる。
他方で、図3Bに示された検索クエリ240の例は、1つの肯定的述語242(図3B中に「A」で示されている)と、制約248(「0〜5日」」の付いた1つの否定的述語244(図3B中ではNOTオプションありの「B」で示されている)と、制約250(「0〜10日」」の付いた他の肯定的述語246(図3B中に「C」によって示され、これはキー・値の対「回復−頭痛」を表す)とを含む。
この検索クエリ240のクエリ処理は、通常、
(i)イベント・シーケンス・データから述語242(A)に対するリスト252を読み出すステップと、
(ii)イベント・シーケンス・データから述語244(B)に対するリスト254を読み出すステップと、
(iii)イベント・シーケンス・データから述語246(C)に対するリスト256を読み出すステップと、
(iv)肯定的述語242(A)への制約248に合致する、リスト254(B)中のゼロ個以上のエレメント258を特定するステップと、
(v)肯定的述語246(C)への制約250にさらに合致する、リスト254(B)中のゼロ個以上のエレメント260を特定するステップと、
(vi)リスト252(A)から、述語244(B)に対するリスト260中に1つ以上のそれぞれのエレメントを有する、ゼロ個以上のエレメント262を除去するステップと、
(vii)リスト256(C)から、述語244(B)に対するリスト260中に1つ以上のそれぞれのエレメントを有する、ゼロ個以上のエレメント264を除去するステップと、
を含んでよい。
図3B中に表された事例において、イベント・シーケンス解析エンジン120は、肯定的述語244、246(A、C)に対して残ったエレメントの2つのリスト、または、いわゆるクロス・ジョイントであってよいこれらリスト(A、C)の組み合わせ、を含む結果を返すことができようが、この両方ともユーザの意図とは整合しない可能性がある。
この検索クエリをイベント・シーケンス解析エンジン120に発行することによって、ユーザは、ユーザが期待外れの結果を得るか、またはユーザが時間切れによってどんな結果も得られないので、この検索クエリのかかる無効性を知ることができる。しかして、ユーザは、少なくとも或る一定の期間、イベント・シーケンス解析エンジン120からの実際の応答を待つことができよう。
上記のように、この例示的な実施形態において、検索ユーザ・インターフェース110は諸機能を提供し、これらの機能によって、検索クエリを発行することによって実際の応答を待つことなしに、検索クエリの有効性を検証することが可能である。
図1に戻って参照すると、検索ユーザ・インターフェース110は、検索クエリの妥当性確認をするためのクエリ妥当性確認モジュール112、および当初の検索クエリが無効である判断されたときに、代替検索クエリを設けるために検索クエリを修正するための、クエリ修正モジュール114を含むことができる。
検索クエリの妥当性確認をするために、クエリ妥当性確認モジュール112は、サブグラフG1がグラフG2中の述語、すなわち当初の検索クエリ中の述語の中の1つ以上の肯定的述語のサブセット、から成るような仕方で、当初の検索クエリのグラフG2からサブグラフG1を生成するように構成される。サブグラフG1は、グラフG2コピーし、そのグラフG2のコピーから否定的述語およびそれに連結されている制約を除去することによって生成することが可能である。上記に換えて、サブグラフG1は、グラフG2から、否定的述語およびその制約を除外しながら肯定的述語およびそれらの間の制約を抽出することによって生成することもできる。当初の検索クエリの有効性を確認するために、ノードおよびエッジが、それぞれ、肯定的述語(すなわち、NOTオプションなしの述語)およびそれらの間の制約を表すサブグラフG1が生成される。
クエリ妥当性確認モジュール112は、当初の検索クエリを表現するグラフG2およびそれから生成されたサブグラフG1を使って、当初の検索クエリの妥当性確認をすることができる。クエリ妥当性確認モジュール112は、グラフG2自体が連結されていないと判断される場合、当初の検索クエリが無効であると判断し、代替検索クエリを設けることを断念してよい。クエリ妥当性確認モジュール112は、グラフG2およびサブグラフG1の両方が連結されていると判断される場合、当初の検索クエリは有効であると判断してよい。クエリ妥当性確認モジュール112は、当初の検索クエリを無効にすることができるが、サブグラフG1が複数の構成要素を有する、すなわち、サブグラフG1は連結されていないと判断されるが、グラフG2は連結されていると判断される場合、クエリ修正モジュール114に当初の検索クエリを修正するように要求することが可能である。
クエリ修正モジュール114は、サブグラフG1は連結されていないと判断されるが、グラフG2は連結されていると判断される場合、すなわち、当初の検索クエリは無効であるが修正が可能であると判断される場合、代替検索クエリを設けるために、当初の検索クエリの修正を行うように構成することができる。クエリ修正モジュール114は、当初の検索クエリに対する代替検索クエリを設けるために、サブグラフG1中の相異なる連結された構成要素に属する肯定的述語の対を見出して、その肯定的述語の対の間に新規の制約を加えるように構成することが可能である。また、クエリ修正モジュール114は、新規の制約の内容を導出するように構成することができる。以下の諸フローチャートを参照しながら検索クエリの修正をさらに詳しく説明することとする。
図4を参照すると、イベント・シーケンス・データから情報を読み出すために用いられる検索クエリを確認するためのプロセスがより詳細に示されている。なお、図4に示されたプロセスは、図1に示されたクエリ妥当性確認モジュール112を実装している処理装置によって実行することが可能である。
図4に示されたプロセスは、ユーザから検索クエリの確認についての要求を受信するのに応じて、ステップS100で開始してよい。ユーザは、画面上に表示されている検索クエリを確認するように、検索ユーザ・インターフェース110に明示または黙示で要求することができる。例えば、述語もしくは制約またはその両方の付加、NOTオプションの真または偽への設定、制約の内容の変更など、検索クエリの操作が、検索クエリの確認処理を発動することが可能である。
ステップS101で、処理装置は、1つ以上の述語および1つ以上の制約を含む検索クエリを受信することができる。
ステップS102で、処理装置は、当初の検索クエリを表現するグラフG2を得ることができ、その中では、各肯定的または否定的述語はノードで表され、述語の対に関連付けられた各制約は、対応するノードの対に関連付けられたエッジで表されている。図6Aは、当初の検索クエリを表現するグラフ270の一例を示す。
ステップS103で、処理装置は、グラフG2が連結されているかいないかを判断することが可能である。グラフG2が連結されていないと判断される(S103のいいえ)のに応じて、コントロールはステップS104に移ってよい。ステップS104で、処理装置は、検索クエリを無効にすることができ、代替検索クエリを設けることを断念して本プロセスを終了するために、コントロールはステップS111に直接進んでよい。この状態のクエリは処理されないことになる。
他方、グラフG2が連結されていると判断される(S103のはい)のに応じて、コントロールはステップS105に移ってよい。ステップS105で、処理装置は、グラフG2をコピーし、グラフG2のコピーから、否定的述語およびそれらに連結されている制約を除去するか、あるいは、否定的述語およびそれらに連結されている制約を除外しながら、肯定的述語およびそれらの間の制約を抽出することによって、グラフG2からサブグラフG1をさらに生成することができる。サブグラフG1は、検索クエリ中の述語の中の1つ以上の肯定的述語から成り得る、すなわち、サブグラフG1はいわゆるグラフG2の誘導サブグラフであってよく、これは、肯定的述語(NOTオプションなし)に対応するノードのサブセット、および検索クエリ中の肯定的述語の対の間の制約に対応して、そのサブセット中のノードの対を連結しているエッジを含む。
図6Bは、図6Aに示されたグラフ270から生成されたサブグラフ280の一例を示す。図6Aと6Bとを比べると、否定的述語272とそれに対して設けられた制約274a、274bがグラフ270から除去されてサブグラフ280が形成されている。
ステップS106で、処理装置は、サブグラフG1が複数の連結された構成要素を有するのか、または単一の連結された構成要素を有するのか、すなわち、サブグラフG1が連結されていないのか、いるのかどうかを判断することができる。なお、サブグラフG1中の各連結された構成要素は、サブグラフG1のサブグラフであり、その中では、どの2つのノードもパスで連結されているが、どのノードもサブグラフG1中のさらなるノードには連結されていない。どのエッジにも関連付けられていないノードもまた連結された構成要素である。サブグラフG1が単一の連結された構成要素を有すると判断される(S106のはい)のに応じ、コントロールはステップS107に移ってよい。ステップS107で、処理装置は、検索クエリがそのままで有効であると判断し、本プロセスを終了するため、コントロールはステップS111に直接進んでよい。この状態のクエリは、イベント・シーケンス解析エンジン120に発行し処理することができよう。
他方、サブグラフG1が複数の連結された構成要素を有すると判断される(ステップS106のいいえ)のに応じ、コントロールはステップS108に移ってよい。ステップS108で、処理装置は、当該検索クエリを無効にすることができる。ステップS109で、処理装置は、代替検索クエリを設けるために当該検索クエリの修正を発動することができる。検索クエリの修正は、後記で図5を参照しながらさらに詳しく説明することとする。ステップS110で、処理装置は、当初の検索クエリから変更された修正検索クエリを代替検索クエリとして提案し、本プロセスを終了するため、コントロールはステップS111に進んでよい。この状態のクエリは、イベント・シーケンス解析エンジン120に発行し処理することができよう。
図5を参照すると、代替検索クエリを設けるために検索クエリを修正するためのプロセスが示されている。なお、図5に示されたプロセスは、少なくとも図1に示されたクエリ修正モジュール114を実装している処理装置によって実行することが可能である。図5に示されたプロセスは、図4中のステップS109で検索クエリの修正プロセスが発動されるのに応じて、ステップS200で開始することができる。
ステップS201で、処理装置は、各対の中の肯定的述語X、YがサブグラフG1中の連結された相異なる構成要素に属し、グラフG2中の1つ以上の否定的述語Zを介して相互の連結を有するような仕方で、サブグラフG1中の肯定的述語X、Yの1つ以上の対を列挙することができる。
さらに図6Cを参照すると、サブグラフG1中の肯定的述語X、Yの対を見出すやり方がさらに表されている。図6Cに示されるように、サブグラフ280’は、複数の連結された構成要素282a、282bを有し、それらの各々は、それぞれ1つ以上の肯定的述語284a、284bを含む。サブグラフ280’中の相異なる連結された構成要素282a、282bに属し、グラフ270中の否定的述語272介した相互の連結(図6C中に矢印286で示されている)を有する肯定的述語284a、284bが、列挙対象の肯定的述語X、Yの対として見出される。
図5に戻って参照すると、ステップS202で、処理装置は、ステップS201で列挙された1つ以上の対の中から1つの未処理の肯定的述語X、Yの対を選択することが可能である。図5に示されたプロセスは、サブグラフG1が少なくとも初期に複数の連結された構成要素を有するときに発動されるので、前述した条件に合致する肯定的述語の少なくとも1つの対が存在する。
ステップS203で、処理装置は、選択された肯定的述語X、Yの対の間に新規の制約を加えることができる。図6Cをさらに参照すると、サブグラフ280’中の肯定的述語の対の間に新規の制約を加えるやり方がさらに示されている。図6Cに示されるように、新規の制約288は、サブグラフ280’中の相異なる連結された構成要素282a、282bに属する肯定的述語284a、284bの間に加えられる。
ステップS204で、処理装置は、グラフG2中の否定的述語Zを介した肯定的述語X、Yの対の間の制約(X、Z)、(Z、Y)の内容に基づいて新規の制約の内容を導出することができる。或る特定の実施形態において、肯定的述語X、Yの対の間の制約(X、Z)、(Z、Y)の組み合わせの必要条件の1つが、新規の制約の内容として計算されてよい。或る好適な実施形態において、新規の制約の内容として、これら必要条件のうちの最強の制約が計算されてよい。
図6Aに表されているように、グラフG2中の肯定的述語(X、Y)の対の間に1つの否定的述語(Z)があると仮定しよう。この場合、新規の制約の内容は、全ての制約(X、Z)、(Z、Y)の必要条件中の最強の制約である。例えば、2つの制約の必要条件は次のように計算することができる。
(XからZへの時間:0〜5日)∧(ZからYへの時間:0〜10日)
=(XからYへの時間:0〜20日、0〜15日、0〜30日、・・・)。
必要条件は、これら制約(X、Z)、(Z、Y)の全てを満たすために少なくとも満たされるべき、肯定的述語(X、Y)に対する条件のセットであり、このことは、たとえ条件を仮定しても、制約(X、Z)、(Z、Y)を満たす否定的述語Zのエレメントを除外する可能性はないことを意味する。これら可能な必要条件のうち、最強の条件(XからYへの時間:0〜15日)を新規の制約の内容として選択することが可能である。もっと複雑な検索クエリに対する新規の制約の内容の導出を、好適な実施形態として後記で説明することとする。
ステップS205で、処理装置はこの新規の制約を使ってサブグラフG1を更新することができる。この肯定的述語X、Yの選択された対は「処理済み」として標識される。ステップS206で、処理装置は、更新されたサブグラフG1’が連結されているかどうかを判断することが可能である。サブグラフG1’が連結されていないと判断される(S206のいいえ)のに応じ、コントロールは、肯定的述語の未処理の対をさらに処理するために、ステップS202に移ってよい。その後、処理装置は、サブグラフが連結されるまで、新規の制約の付加とサブグラフの更新を繰り返し行うことができる。
他方で、サブグラフが連結されていると判断される(S206のはい)のに応じ、コントロールは、ステップS207に移ってよい。列挙された肯定的述語の対の数は有限なので、このループは有限の反復で完了する。ステップS207で、処理装置は、グラフG2中の新規の制約の全ての付加を反映させることによって、修正されたクエリを表現する更新されたグラフG2’を生成することができる。次いで、本プロセスは、ステップS208で終了してよく、コントロールは、図4中のステップS110に戻ってよい。新規の制約を使って当該検索クエリから修正された検索クエリは、代替検索クエリとしてプロセスのS110でユーザに提案することができよう。
図6Dを参照すると、修正されたクエリを表現する更新されたグラフ290が表されている。図6Aと6Dとを比べると、更新されたグラフ290は、当初の検索クエリの当初のグラフ270に新規の制約294cを加えることによって得られた構造体を有する。この状態の得られたクエリは、イベント・シーケンス解析エンジン120に発行し処理することができよう。
有効な検索クエリ(すなわち、図4中のS107で有効と判断された検索クエリ、または、図4中のS110で提案された代替検索クエリ)は次のように処理することが可能である。
1.その有効な検索クエリ中の各述語{p:i=1,・・・,N}に対して、イベント・シーケンス・データからリストを読み出す。
2.述語{p,・・・,p}に対する同値の条件Cを初期化する。これは、以下の命題によって、述語p、pのあらゆる対の間の関係を保持するためのデータ構造である。
⇔ i=j
上式の〜Cは、同値であることを示す。なお、述語pとqとの間の関係(p〜Cq)が、同値条件Cで同値に設定された場合、述語pのリストおよび述語qのリストは「リンクされている」と言われる。また、述語pのリストおよび述語qのリストが「リンクされている」場合、一方のリスト中の或るエレメントが除去されるとき、他方のリンクされたリストの同じインデックスに対応するエレメントも除去され得る。この初期化によって、同値の条件Cは、各述語{p,・・・,p}がそれ自体だけとリンクされるような仕方で初期化される。
3.有効な当該検索クエリ中の同型(両方とも肯定的または否定的)の述語pとqとの対の間の各制約に対し、同型の述語p、qに対するそれぞれのリストがリンクされるように、述語p、qに対するそれぞれのリストから、各制約を満たすそれぞれのエレメントの対を抽出する。なお、抽出の後、これら2つのリストは、同じ長さを有し、同じインデックスのエレメントは当該制約を満たす。実際のシステムでは、制約の適用に対する結果の中の冗長さを取り除くことが望ましい。上記により、或る特定の実施形態では、2つ以上のエレメントの対(a1,b)および(a2,b)が制約を満たす場合、それらの対の最短の1つ(例えば、(a1,b)だけ)を抽出することができよう。他の実施形態において、エレメント(a1,b)および(a2,b)の2つ以上の対が制約を満たす場合、対(a1,b)および(a2,b)の両方が抽出されることになる、すなわちエレメントbは重複することになろう。
このとき、述語pとqとの間の関係(p〜Cq)は、同値の条件Cで同値に設定される。これにより、述語pのリストと他の述語xのリストとが既にリンクされていて(x〜Cp)、さらに述語qのリストと他の述語yのリストとが既にリンクされ(y〜Cq)ている場合、(x〜Cp)に対するxのリストおよび(y〜Cq)に対するyのリストも同様にリンクされる。
4.上記ステップ3が完了したかどうかを判断する。なお、ステップ3は同値の条件Cで完了し、このとき、有効な検索クエリを表現するグラフG2またはG2’は連結されているので、肯定的述語(NOTオプションなしの述語)に対する全リストがリンクされている。
有効な当該検索クエリ中の、否定的述語pと肯定的述語qとの対の間の各制約に対し、肯定的述語qに対するリストから、各制約を満たすエレメントを除去する。
図7を参照すると、イベント・シーケンス解析のための代替の有効な検索クエリ290の一例、およびイベント・シーケンス・データから代替の有効な検索クエリ290に合致するエレメントのリストを読み出すクエリ処理が表されている。
図7に示された代替の有効な検索クエリ290のこの例は、1つの肯定的述語292a(図7中では「A」によって示されている)と、制約294a(「0〜5日」)の付いた1つの否定的述語292b(図7中ではNOTオプションありの「B」によって示されている)と、制約294b(「0〜10」日)の付いた他の肯定的述語292c(図7中では「C」によって示されている)とを含む。代替の有効な検索クエリ290は、新規の制約294c(「0〜15」日)をさらに含む。この代替検索クエリ290は、ステートメント「頭痛を有し、だが5日以内にロキソプロフェンを処方されなかった、しかしその後10日間ロキソプロフェンを処方されずに発症から15日以内に回復した患者」を満たすエレメントの対のリストを読み出すために用いることができる。
この検索クエリ240のクエリ処理は、通常、
(i)各述語292a、292b、292c(A、B、C)に対する各リスト296a、296b、296c(A、B、C)を読み出すステップを含んでよい。
A:(0,8/10)、(1,8/3)、(2,8/5)、(2,8/18)
B:(1,8/6)、(2,8/12)、(2,8/21)、(3,8/10)
C:(0,8/12、(1,8/5)、(2,8/30)、(3,8/5)
また、検索クエリ240のクエリ処理は、
(ii)述語292a、292cに対するそれぞれのリスト296a、296cがリンクされるように、述語292a(A)および292c(C)に対するそれぞれのリスト296a、296cから新規の制約294cを満たすそれぞれのエレメントの対を抽出するステップも含んでよい。
A:(0,8/10)、(1,8/3)、(2,8/18)
C:(0,8/12、(1,8/5)、(2,8/30)
なお、図7に表されているように、抽出の後、15日以内にAとCとの対にならなかったエレメントはAのリスト296aおよびCのリスト296cからフィルタ除去される。同じ長さを有し、同じインデックスの要素がその制約を満たす、リンクされたリスト298a、298cが得られる。
検索クエリ240のクエリ処理は、
(iii)肯定的述語292a(A)に付いた制約294aに合致する、リスト296b(B)中のゼロ個以上のエレメント300を特定するステップと、
(1,8/6)、(2,8/21)
(iv)肯定的述語292c(C)に付いた制約294bにさらに合致する、リスト296b(B)中のゼロ個以上のエレメント302を特定するステップと、
(2,8/21)
(v)リスト302中に1つ以上のそれぞれのエレメントを有するリンクされたリスト298aから、ゼロ個以上のエレメント304を除去するステップと、
をさらに含むことが可能である。
なお、それぞれのリンクされたリスト298a、298c中のエレメントの対は「リンク」されているので、一方のリスト298a中の或るエレメント304が除去されるとき、他方のリスト298cの同じインデックスのエレメント306も除去され得る。
A:(0,8/10)、(1,8/3)
C:(0,8/12)、(1,8/5)
検索クエリ240のクエリ処理は、
(vi)リスト302中に1つ以上のそれぞれのエレメントを有するリンクされたリスト298cから、ゼロ個以上のエレメントを除去するステップ、
をさらに含むことが可能である。この例では、リンクされたリスト298cからはエレメントは除去されていない。
A:(0,8/10)、(1,8/3)
C:(0,8/12)、(1,8/5)
以下に、クエリ処理の数式表現をさらに説明することとする。Sが記録の全セットを表すセットを指し、P,P,・・・,Pが、それぞれ述語p,p,・・・,pに対し読み出されたリストを表すセットSのサブセットを指し、C,C,・・・,Cが、制約を表すマップ:S×S→{真、偽}を指すと定義しよう。上記において、x,y∈Sに対しC(x,y)=真は、エレメント(x,y)の対が制約Cを満たすことを意味するものとする。
各々の記録がIDおよび時間を含む記録の全セットは、次のように表すことができる。
S={(i,t),(i,t),...,(i,t)}。
上式のi∈整数、t∈実数)、k=1,2,・・・,K。
第一および第二記録が同じIDを有し、第二記録が第一記録から5日以内に発生したことを定義する制約は次のように表すことができる。
C((i,t),(j,s))=(i=j)且つ(t≦s)且つ(s≦t+5)。
図3Aに示された有効なクエリに対する検索結果は次のように表すことができる。
={a∈P|(〜∃b∈P)CAB(a,b)}。
上式のCAB(a,b)は、CAB(a,b)=真、すなわち、エレメント(a,b)の対が制約CABを満たすことを意味する。
図3Bに示された無効なクエリに対する検索結果は次のように表すことができる。
={(a,c)∈P×P|(〜∃b∈P)(CAB(a,b)且つCBC(b,c))}。
図7に示された代替の有効なクエリに対する検索結果は次のように表すことができる。
={(a,c)∈P×P|CAB(a,c)且つ(〜∃b∈P)(CAB(a,b)且つCBC(b,c))}。
この場合、大まかに言えば、検索結果のサイズが最大限でも読み出された記録のリストのサイズの線型オーダーであるとき、新しい妥当性確認技法によって「有効性」を判断することができる。なお、図3Bに示された無効なクエリの結果は、
|R|〜|P||P
となり得る。
図8を参照すると、無効なクエリを生じ得る典型的なユーザの操作の概略図が示されている。また、図8には、編集画面上に表現された検索クエリの例も示されている。
例としてこの臨床データを取り上げると、ユーザは、「何人の患者がロキソプロフェンを使ったか」を知りたがることであろう。図8Aに示された編集画面上の検索クエリ310は、ユーザの関心事項に従ってユーザによって入力することができよう。次いで、ユーザは、「ロキソプロフェンが使われない場合はどうなのか」知りたがることであろう。各述語は、編集画面上の操作を介して肯定的または否定的に規定することができる。この編集画面上で、図8Aに示された検索クエリ310は、図8Bに示されるように、ユーザの関心事項に従って述語312のNOTオプションを真に設定することによって変更することができよう。
この事例では、検索クエリ310’は、クエリ妥当性確認モジュール112によって無効と判断されることになり、図8C中に示されるように、クエリ修正モジュール114によって生成された、当初の検索クエリ310に対する代替検索クエリ310”が、ビジュアル・キュー(連結曲線314および吹出し316)と一緒に編集画面上に提示され、現在表示されている検索クエリ310’は無効であることが通知されることになろう。ビジュアル・キュー314、316は、新規の制約を付加するために推奨される箇所を示す。また、新規の制約の内容は、編集画面上の表示318を用いて提案されることができよう。提案された代替検索クエリ310”がユーザに受諾されたならば、その代替検索クエリ310”は新規の検索クエリになることになろう。
この例において、ユーザの検索の意図は、「何人の患者が、頭痛を有し、且つ5日以内にロキソプロフェンを用いず、且つ特定の期間内に回復したか」を含むことになろう。この例では、検索ユーザ・インターフェース110は、「この特定の期間」を発症から「15日」と解釈することができる。
この例示的な実施形態において、たとえ、検索クエリが、一般に検索クエリの無効性に気付くのを難しくする否定的述語を含んでいても、検索クエリの有効性は、その検索クエリを実際に発行することなく、それがユーザの意図に整合しない結果をもたらすことが予期されるかどうかの観点から検証することが可能である。さらに、ユーザは、肯定的述語の対の間の2つ以上の制約から得られる可能な制約の中で最も適していると予期される新規の制約を備えた代替クエリを得ることができる。
前述の例示的な実施形態において、修正の対象を、肯定的述語X、Yの対の間で簡単な構造を有する検索クエリとして説明してきた。しかしながら、修正の対象は、前述のような簡単な検索クエリに限定されるものでなく、無効と判断されたもっと複雑な検索クエリも同様に修正することが可能である。以降において、一連の図9〜11を参照しながら、本発明の好適な実施形態による、イベント・シーケンス解析に用いられる検索クエリを確認するためのコンピュータ・システムおよび方法を説明し、これらにおいては、無効と判断されたもっと複雑な検索クエリを修正することができる。
本発明のこの好適な実施形態による、イベント・シーケンス解析システムのブロック図、ならびに検索クエリを確認するためのプロセスおよび検索クエリを修正するためのプロセスのフローチャートは、前述の例示的な実施形態のものとほぼ同じである。しかして、以降においては、主として、上記の例示的な実施形態と異なる特徴に焦点を当てることとする。
上記の例示的な実施形態と同様に、クエリ修正モジュール114は、当初の検索クエリが無効ではあるが修正が可能と判断された場合に、代替検索クエリを設けるために当該検索クエリの修正を行うように構成される。
代替検索クエリを設けるために、クエリ修正モジュール114は、前述の例示的な実施形態と同様に、サブグラフG1中の連結された相異なる構成要素に属する肯定的述語X、Yの対を見出し、その肯定的述語X、Yの対の間に新規の制約を加えるように構成される。この好適な実施形態によるクエリ修正モジュール114は、1つ以上の否定的述語Z1,Z,・・・,Zを介した肯定的述語X、Yの対の間の1つ以上の制約(X,Z),(Z,Z),・・・,(Z,Y)に基づいて新規の制約の内容を導出するようにさらに構成される。新規の制約の内容は、肯定的述語X、Yの対の間の全ての制約(X,Z),(Z,Z),・・・,(Z,Y)の必要条件中の最強の制約であってよい。
図9は、複雑な検索クエリ320、および新規の制約332を備えたその代替検索クエリの例を示す。検索クエリ320は、2つの肯定的述語324a、324bの第一グループ322、3つの肯定的述語328a〜328cの第二グループ326、およびグループ322、326の間に2つの否定的述語330a、330bを含む。図9において、実線および点線で示された述語および制約は、複雑な検索クエリ320を表現するグラフG2を構成する。実線で示された述語および制約は、サブグラフG1だけを構成する。さらに、破線は、代替検索クエリに対する新規の制約332を示す。
図9に示されるように、この検索クエリ中のどの2つの述語もパスで連結されており、しかしてグラフG2は連結されている。図9に示されたサブグラフG1は、複数の連結された構成要素を有し、その各々は各グループ322、326に対応する。それぞれ異なる連結された構成要素に属する、肯定的述語324a(図9中に「X」で示されている)と、述語328a(図9中に「Y」で示されている)との対の間に2つの否定的述語330a、330b(図9中に、NOTオプション付きの「Z」および「Z」でそれぞれ示されている)がある。2つの否定的述語(Z、Z)を介した肯定的述語X、Yの対の間に4つの制約C1〜C4がある。この4つの制約C1〜C4は、各々の関係において並列または直列に配置されている。この好適な実施形態において、クエリ修正モジュール114は、肯定的述語324a、328bの対の間に新規の制約332を加えることによって、かかる複雑な検索クエリ320を修正することができる。
図10を参照すると、肯定的述語X、Yの対の間の新規の制約の内容を導出するためのプロセスが表されている。なお、図10に示されたプロセスは、少なくとも図1に示されたクエリ修正モジュール114を実装している処理装置によって実行することが可能である。図10に示されたプロセスは、図5中のステップS204の詳細なプロセスであってよい。しかして、本プロセスは、図5中のステップS204で新規の制約の導出処理が発動されるのに応じて、ステップS300で開始することができる。
ステップS301で、処理装置は、グラフG2中の、否定的述語Z、Zを介した肯定的述語X、Yの対の間の制約に対応する部分構造体を生成することができる。
ステップS302で、処理装置は、直列または並列に配置された制約の対を見出すように試みることができる。ステップS302で、述語P、Q、およびRが2つの制約によって直列に連結されている場合、PとQとの間の制約およびQとRとの間の制約は直列の制約として見出される。述語P、Qが2つの並列の制約で連結されている場合、PとQとの間のその2つの制約の対は、並列に配置された一対として見出される。ステップS303で、処理装置は、制約の対が見出されたかどうかを判断することができる。制約の対が見出されたと判断する(S303のはい)に応じ、コントロールはステップS304に移ってよい。ステップS304で、本プロセスは、その見出された対の中の制約が直列に配置されているか並列かに応じて分岐することができる。
制約の対が並列に配置されていることを見出す(S304の並列)のに応じて、コントロールはステップS305に分岐してよい。ステップS305で、処理装置は、第一ルールに基づいて、見出された制約の対を代替制約に置き換えることができ、その後、コントロールはステップS302に折り返してよい。或る特定の実施形態において、各制約は、各制約に関連付けられた述語の間の「t〜t日」の形の時間ギャップの間隔を含む。この特定の実施形態において、部分構造体中に見出された制約の対は、制約の対が開始点中の最新の点で始まり、制約の対が終了点中の最早の点で終わる代替間隔を有する代替制約に置き換えることができる。述語PとQとが2つの並列の制約「s〜s日」および「t〜t日」によって連結されている場合、この2つの制約は、1つの代替制約「{s、t}の最大〜{s、t}の最小の日」に置き換えることができよう。
制約の対が直列に配置されていることを見出す(S304の直列)のに応じて、コントロールはステップS306に分岐してよい。ステップS306で、処理装置は、第二ルールに基づいて、見出された制約の対を代替制約に置き換えることができ、その後、コントロールはステップS302に折り返してよい。各制約が、述語の間の時間ギャップの間隔を含む或る特定の実施形態において、部分構造体中に見出された制約の対は、制約の対の開始点の和で始まり、制約の対の終了点の和で終わる代替間隔を有する代替制約に置き換えることができる。述語P、Q、およびRが2つの制約「s〜s日」および「t〜t日」によって直列に連結されている場合、この2つの制約は、1つ代替制約「s+t〜s+t日」によって置き換えることができよう。
直列または並列に配置された制約の対がないのに(S303のいいえ)応じて、コントロールはステップS307に分岐してよい。ステップS307で、処理装置は、得られた部分構造体の合成に基づいて、新規の制約の内容を計算することができ、ステップS308で本プロセスは終了する。
図11を参照すると、新規の制約の内容を導出し、検索クエリを修正するやり方の例が示されている。図11Aに示されるように、2つの否定的述語(Z1、Z2)を介した肯定的述語X、Yの対の間には4つの制約C1〜C4がある。これらの制約C1、C2、C3、およびC4は、それぞれ、「0〜3日」、「0〜5日」、「0〜2日」、および「0〜4日」である。
最初に、制約C3とC4とが直列に配置された対であることが見出される。しかして、図11Bに示されるように、制約C3およびC4は(第二ルールに基づいて)ZとYとの間の新規の代替制約C5「0〜6日」に置き換えることができよう。次いで、C2とC5とが並列に配置された対であることが見出される。しかして、図11Cに示されるように、制約C2およびC5は、(第一ルールに基づいて)ZとYとの間の新規の代替制約C6「0〜5日」に置き換えることができよう。制約C1とC6とが直列に配置された対であることが見出され、図11Dに示されるように、制約C1およびC6は(第二ルールに基づいて)XとYとの間の新規の代替制約C7「0〜8日」に置き換えることができよう。
図11Eに示されるように、得られた部分構造体の合成に基づいて、C7「0〜8日」である新規の制約の内容を計算することができよう。
並列の制約に対する前述の第一ルールは、以下のように一般化することができる。並列の制約C1とC2とは、代替制約がこれら並列の制約の論理積(C1 AND C2)となるような仕方で、該代替制約によって置き換えることができよう。
直列の制約に対する前述の第二ルールは、以下のように一般化することができる。述語PとQとの間の制約C1および述語QとRとの間の制約C2の直列連結は、制約C1、C2の両方を満たす中間の述語Qが存在する(「(∃Q)((P,Q)がC1を満たし且つ(Q,R)がC2を満たす)」と等しい)ような仕方で、述語PとRとの間の代替制約によって置き換えることができよう。
この好適な実施形態では、たとえ検索クエリが複雑な構造を有していても、無効と判断されたかかる複雑な検索クエリを修正することができる。ユーザは、肯定的述語の対の間の2つ以上の制約に基づいて、最も適切と予期される新規の制約を備えた代替クエリを得ることが可能である。
クエリがNOTオプションを有さない場合、無効なクエリは連結のないグラフの構造を有するので、検索クエリの無効性を認識するのは難しくない。しかしながら、クエリがNOTオプション有する場合は、たとえ連結されたグラフ構造を有するクエリであっても無効であり得ることに気付くのは難しい。システムが、無効なクエリからユーザの意図を理解できると見なすのは軽いことではない。
イベント・シーケンス解析エンジン120は、その検索処理の過程で検索クエリの妥当性確認をすることはできるが、但し、それだけでは十分でなく、ユーザ・インターフェースが、システム・エラーによる無効なクエリを見分ける検査の失敗に対する理由を示すことができるのが望ましい。本発明の1つ以上の実施形態による新しいクエリの妥当性確認機能を用いることによって、検索ユーザ・インターフェース110は、検索クエリを実際に発行することなく、無効なクエリを検出することができる。さらに、本発明の1つ以上の実施形態によるクエリ修正機能を用いることによって、検索ユーザ・インターフェース110は、その無効なクエリを修正することが可能である。この妥当性確認および修正は、ユーザが自分の意図と自分が生成したクエリと間のギャップを認識することを可能にする。
コンピュータのハードウェア構成要素
ここで図12を参照すると、イベント・シーケンス解析システム100のために用いることが可能なコンピュータ・システム10の一例の概略図が示されている。図12に示されたコンピュータ・システム10は、コンピュータ・システムとして実装されている。コンピュータ・システム10は、適切な処理デバイスの単なる一例であって、本明細書に記載された本発明の諸実施形態の用途または機能の範囲についてのいかなる限定も示唆することは意図されていない。ともあれ、コンピュータ・システム10は、本明細書の上記で述べた機能のいずれをも実装するもしくは実行する、またはその両方を行うことができる。
コンピュータ・システム10は、数多の他の汎用または特定用途向けのコンピューティング・システム環境または構成と共に動作可能である。コンピュータ・システム10と共に使用するのに適し得る周知のコンピューティング・システム、環境、もしくは構成、またはこれらの組み合わせの例には、以下に限らないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、車載デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラマブル・コンシューマ電子機器、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および前述のシステムまたはデバイスのいずれかを含む分散型クラウド・コンピューティング環境などが含まれる。
コンピュータ・システム10は、コンピュータ・システムによって実行される、プログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的なコンテキストで表すことが可能である。一般に、プログラム・モジュールは、特定のタスクを実行する、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造体を含んでよい。
図12に示されるように、コンピュータ・システム10は、汎用コンピューティング・デバイスの形で示されている。コンピュータ・システム10のコンポーネントは、以下に限らないが、プロセッサ(または処理装置)12と、メモリ・バス含むバスまたはメモリ・コントローラによってプロセッサ12に連結されたメモリ16と、様々なバス・アーキテクチャのいずれかを用いた処理装置またはローカル・バスを含んでよい。
コンピュータ・システム10は、通常、様々なコンピュータ・システム可読媒体を含む。かかる媒体は、コンピュータ・システム10によるアクセスが可能な任意の利用可能な媒体であってよく、これは、揮発性および不揮発性媒体、着脱式および固定式媒体の両方を含む。
メモリ16は、ランダム・アクセス・メモリ(RAM:random access memory)など、揮発性メモリの形でコンピュータ・システム可読の媒体を含むことができる。コンピュータ・システム10は、他の着脱式/固定式、揮発性/不揮発性コンピュータ・システム・ストレージ媒体をさらに含んでよい。単なる例として、ストレージ・システム18は、固定式、不揮発性の磁気媒体からの読み取りおよびこれへの書込みをするように設けることができる。以下にさらに提示し説明するように、ストレージ・システム18は、本発明の諸実施形態の機能を実行するように構成されたプログラム・モジュールの(例えば、少なくとも1つの)セットを有する少なくとも1つのプログラム製品を含むことができる。
ストレージ・システム18中には、例であり限定ではないが、プログラム・モジュールの(少なくとも1つの)セットを有するプログラム/ユーティリティ、ならびにオペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを格納することが可能である。これらオペレーティング・システム、1つ以上のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データの各々、またはこれらの何らかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラム・モジュールは、本明細書で説明したように、一般に、本発明の諸実施形態の機能もしくは方法、またはその両方を実行する。
また、コンピュータ・システム10は、キーボード、ポインティング・デバイス、カー・ナビゲーション・システム、オーディオ・システムなど、1つ以上の周辺機器24、ディスプレイ26、ユーザがコンピュータ・システム10とやり取りすることを可能にする1つ以上のデバイス、もしくは、コンピュータ・システム10が1つ以上の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、またはこれらの組み合わせと通信することが可能である。かかる通信は入力/出力(I/O:Input/Output)インターフェース22を介して行うことができる。さらにまだ、コンピュータ・システム10は、ネットワーク・アダプタ20を介し、ローカル・エリア・ネットワーク(LAN:local area network)、一般広域ネットワーク(WAN:wide area network)、もしくは公衆ネットワーク(例えばインターネット)、またはこれらの組み合わせなど、1つ以上のネットワークと通信することが可能である。図示のように、ネットワーク・アダプタ20は、バスを介してコンピュータ・システム10の他のコンポーネントと通信する。当然のことながら、図示はされていないが、他のハードウェアもしくはソフトウェア・コンポーネントまたはその両方を、コンピュータ・システム10と共に用いることができよう。諸例には、以下に限らないが、マイクロコード、デバイス・ドライバ、冗長処理装置、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、データ・アーカイブ・ストレージ・システムなどが含まれる。
特定の諸実施形態において、図1中に表されたイベント・シーケンス解析システム100中のモジュール110およびそのサブモジュール112、114は、以下に限らないが、図12に示されたハードウェア・コンポーネントと連動するプログラム命令もしくはデータ構造体またはその両方、電子回路構成を含むハードウェア・モジュール、またはこれらの組み合わせとして実装されてよい。図1中に表されたモジュール110およびそのサブモジュール112、114は、図12に示された単一のコンピュータ・システム中に実装することが可能である。イベント・シーケンス解析エンジン120およびイベント記録システム140は、それぞれ、モジュール110およびそのサブモジュール112、114が実装されたコンピュータ・システム10に、または他のコンピュータ・システムに実装することができる。イベント集合データベース130は、コンピュータ・システム10がアクセス可能な任意の内部または外部ストレージ・デバイスまたは媒体を用いて設けることが可能である。
コンピュータ・プログラムの実装
本発明は、コンピュータ・システム、方法、もしくはコンピュータ・プログラム製品またはこれらの組み合わせとすることができる。このコンピュータ・プログラム製品は、プロセッサに本発明の諸態様を実行させるためのコンピュータ可読のプログラム命令を有する、コンピュータ可読ストレージ媒体(または媒体群)を含むことができる。
このコンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持または格納できる有形のデバイスとすることができる。本コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電気的ストレージ・デバイス、磁気的ストレージ・デバイス、光学的ストレージ・デバイス、電磁気的ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のさらに具体的な例の非包括的リストには、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去およびプログラム可能読み取り専用メモリ(EPROM:erasable programmable read−only memoryまたはフラッシュ・メモリ)、静的ランダム・アクセス・メモリ(SRAM:static random access memory)、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フレキシブル・ディスク、パンチカードまたは記録された命令を有する溝中の嵩上げ構造体などの機械的符号化デバイス、および前述の任意の適切な組み合わせが含まれる。本明細書で用いられるコンピュータ可読ストレージ媒体は、無線波または他の自由に伝播する電磁波、ウェーブガイドまたは他の送信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通って送信される電気信号など、本質的に一時的な信号であると解釈されるものではない。
本明細書に述べられたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング/処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくはワイヤレス・ネットワークまたはこれらの組み合わせなどのネットワークを介して、外部のコンピュータもしくは外部のストレージ・デバイスにダウンロードすることが可能である。このネットワークは、銅送信ケーブル、光送信ファイバ、ワイヤレス通信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバまたはこれらの組み合わせを含んでもよい。それぞれのコンピューティング/処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、ストレージのため、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体中に転送する。
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令集合アーキテクチャ(ISA:instruction−set−architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの従来式の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで記述されたソース・コードもしくはオブジェクト・コードであってよい。このコンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うことも可能である。いくつかの実施形態において、例えば、プログラム可能論理回路、フィールドプログラム可能ゲート・アレイ(FPGA:field−programmable gate array)、またはプログラム可能論理アレイ(PLA:programmable logic array)を含む電子回路は、本発明の諸態様を実行すべく、該電子回路をカスタマイズするためコンピュータ可読プログラム命令の状態情報を利用することによって、該コンピュータ可読プログラム命令を実行することができる。
本発明の諸態様は、本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら本明細書で説明されている。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装することが可能である。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに提供し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群/動作群を実装するための手段を生成するようにすることができる。また、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイスまたはこれらの組み合わせに対し特定の仕方で機能するよう命令することが可能なこれらのコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体に格納し、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に特定されている機能/動作の諸態様を実装する命令群を包含する製造品を構成するようにすることができる。
さらに、これらコンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上で、他のプログラム可能装置上で、または他のデバイス上で一連のオペレーション・ステップを実施させて、コンピュータ実装のプロセスを作り出し、当該コンピュータ上で、他のプログラム可能装置上でもしくは他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群/動作群を実装するようにすることも可能である。
諸図面中のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品から可能となる実装のアーキテクチャ、機能性、およびオペレーションを表している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定の論理機能(群)を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、または命令の部分を表し得る。一部の別の実装においては、ブロック中に記載された機能が、図面に記載された順序から外れて行われ得る。例えば、連続して示された2つのブロックが、関与する機能性に応じ、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステムによって実装でき、または特殊用途ハードウェアとコンピュータ命令との組み合わせを作動または実行できることにも留意すべきである。
本明細書で使用する用語は、単に特定の実施形態を説明する目的のためのものであり、本発明を限定することは意図されていない。本明細書で用いられる、単数形「或る(a、an)」、および「該(the)」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことが意図されている。さらに、当然のことながら、本明細書で用いられる場合の用語「含む(comprise)」もしくは「含んでいる(comprising)」またはその両方は、述べられた特徴、完全体、ステップ、オペレーション、要素、もしくはコンポーネント、またはこれらの組み合わせの存在を特定するが、一つ以上の他の特徴、完全体、ステップ、オペレーション、要素、コンポーネント、もしくはこれらの群、またはこれらの組み合わせの存在または追加を排除するものではない。
添付の請求項中のミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションの要素全ての、対応する構造、材料、動作および均等物は、もしあれば、具体的に請求された他の請求要素と組み合わせてその機能を実施するための、一切の構造、材料または動作を包含することが意図されている。本発明の1つ以上の態様の記述は、例示および説明の目的で提示されたものであり、網羅的であることも、または本発明を開示した形態に限定することも意図されていない。
当業者には、記述された諸実施形態の範囲および趣旨から逸脱することのない多くの修改および別形が明白であろう。本明細書で用いられた用語は、諸実施形態の原理、実際上の応用、または市販の技術の技術的な改良を最善に説明し、あるいは他の当業者が本明細書に開示された諸実施形態を理解できるように選択されたものである。
100 イベント・シーケンス解析システム
110 検索ユーザ・インターフェース
120 イベント・シーケンス解析エンジン
130 イベント集合データベース
140 イベント記録システム
112 クエリ妥当性確認モジュール
114 クエリ修正モジュール

Claims (25)

  1. 記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ実装の方法であって、前記方法は、
    複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリ受信するステップであって、各述語は肯定的または否定的であるように規定され、前記複数の述語が前記1つ以上の制約と合わさって論理グラフを形成する、前記受信するステップと、
    前記グラフから、前記検索クエリ中の前記複数の前記述語のうち肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップと、
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記検索クエリを無効にするステップと、
    を含む、方法。
  2. 前記方法が、
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記サブグラフ中の異なる構成要素に属する述語の対の間に新規の制約を加えることによって代替クエリをさらに設けるステップであって、前記述語の対は、前記グラフ中の否定的であるように規定された1つ以上の述語を介して相互の連結を有する、前記さらに設けるステップ、
    をさらに含む、請求項1に記載の方法。
  3. 前記方法が、
    否定的であるように規定された前記1つ以上の述語を介した前記述語の対の間の2つ以上の制約から前記新規の制約の内容を導出するステップ、
    をさらに含む、請求項2に記載の方法。
  4. 前記導出するステップが、
    前記新規の制約の前記内容として、前記述語の対の間の前記2つ以上の制約の組み合わせの必要条件中の最強の制約を計算するステップ、
    を含む、請求項3に記載の方法。
  5. 前記2つ以上の制約が、前記2つ以上の制約に関連付けられた前記述語の対の間に時間ギャップまたは距離の間隔を含み、前記導出するステップが、
    前記述語の対の間の前記2つ以上の制約を表す部分構造体を生成するステップと、
    前記部分構造体中に直列に配置された制約の第一対を見出すステップと、
    前記部分構造体中の前記制約の第一対を第一代替間隔を有する第一代替制約に置き換えるステップであって、前記第一代替間隔は、前記制約の第一対の開始点の和で始まり、前記制約の第一対の終了点の和で終わる、前記置き換えるステップと、
    得られた前記部分構造体から前記新規の制約の前記内容を計算するステップと、
    を含む、請求項3に記載の方法。
  6. 前記2つ以上の制約が、前記2つ以上の制約に関連付けられた前記述語の対の間の時間ギャップまたは距離の間隔を含み、前記導出するステップが、
    前記述語の対の間の前記2つ以上の制約を表す部分構造体を生成するステップと、
    前記部分構造体中に並列に配置された制約の第二対を見出すステップと、
    前記部分構造体中の前記制約の第二対を第二代替間隔を有する第二代替制約に置き換えるステップであって、前記第二代替間隔は、前記制約の第二対の開始点中の最大で始まり、前記制約の第二対の終了点中の最小で終わる、前記置き換えるステップと、
    得られた前記部分構造体から前記新規の制約の前記内容を計算するステップと、
    を含む、請求項3に記載の方法。
  7. 前記導出するステップが、
    前記述語の対の間の前記2つ以上の制約を表す部分構造体を生成するステップと、
    直列に配置された制約の第一対を見出すステップと、
    前記制約の第一対を、前記制約の第一対中の前記2つ以上の制約を満たす中間の述語が存在するように、第一代替制約に置き換えるステップと、
    並列に配置された制約の第二対を見出すステップと、
    前記制約の第二対を、第二代替制約が前記制約の第二対中の前記2つ以上の制約の論理積となるように、前記第二代替制約に置き換えるステップと、
    得られた前記部分構造体から前記新規の制約の前記内容を計算するステップと、
    を含む、請求項3に記載の方法。
  8. 前記代替クエリを設けるステップが、
    前記新規の制約を用いて前記サブグラフを更新するステップと、
    前記サブグラフが連結されていると判断されるのに応じて、前記新規の制約を用いて前記検索クエリから修正された前記代替クエリを提案するステップと、
    前記サブグラフが連結されていないと判断されるのに応じて、前記サブグラフが連結されるまで、前記加えるステップおよび前記更新するステップを繰り返して行うステップと、
    を含む、請求項2に記載の方法。
  9. 前記方法が、
    前記グラフが連結されていないと判断されるのに応じ、前記検索クエリを無効にし、前記代替クエリを設けることを断念するステップ、または
    前記グラフが連結されていると判断され、前記サブグラフが単一の構成要素を有すると判断されるのに応じ、前記検索クエリが有効であると判断するステップ、
    をさらに含む、請求項2に記載の方法。
  10. 前記検索クエリが、前記検索クエリをその上で編集可能なグラフィカル・ユーザ・インターフェースを介して受信され、前記代替クエリが前記グラフィカル・ユーザ・インターフェース中にビジュアル・キューによって提示され、前記ビジュアル・キューが前記新規の制約を加えるために推奨される箇所を示す、請求項1に記載の方法。
  11. 前記グラフおよび前記サブグラフ中で、各述語はノードによって表され、各制約はエッジによって表され、否定的であるように規定され各述語は述語の否認であり、各述語は前記集合からのリストを読み出すために用いられ、各制約は、各制約に関連付けられた述語に対するそれぞれのリストから前記制約を満たすそれぞれのエレメントの対を抽出するために用いられる、請求項1に記載の方法。
  12. 前記方法が、
    前記代替検索クエリ中の各述語に対し、前記記録の前記集合からリストを読み出すステップと、
    前記代替検索クエリ中の同型の述語の対の間の各制約に対し、前記同型の前記述語に対し読み出されたそれぞれのリストがリンクされるように、各制約に関連付けられた前記述語に対する前記それぞれのリストから各制約を満たすそれぞれのエレメントの対を抽出するするステップと、
    前記代替検索クエリ中の肯定的であるように規定された第一述語と否定的であるように規定された第二述語との対の間の各制約に対し、前記第一述語に対応するリストから、各制約を満たすエレメントを除去するステップと、
    をさらに含む、請求項2に記載の方法。
  13. 記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ実装の方法であって、前記方法は、
    複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリ受信するステップであって、各述語は肯定的または否定的であるように規定され、前記複数の述語が前記1つ以上の制約と合わさって論理グラフを形成する、前記受信するステップと、
    前記グラフから、前記検索クエリ中の前記複数の述語のうち肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップと、
    前記対中の前記1つ以上の述語が前記サブグラフ中の相異なる構成要素に属するように、前記サブグラフ中の述語の対を見出すステップと、
    代替クエリを設けるために、前記述語の対の間に新規の制約を加えるステップであって、前記新規の制約が、前記グラフ中の前記述語の対の間の2つ以上の制約から導出された内容を有する、前記加えるステップと、
    を含む、方法。
  14. 前記方法が、
    前記グラフが連結されていないと判断されるのに応じ、前記検索クエリを無効にし、前記代替クエリを設けることを断念するステップ、
    をさらに含む、請求項13に記載の方法。
  15. 前記新規の制約の前記内容が、前記2つ以上の制約の組み合わせの必要条件中の最強の制約である、
    請求項13に記載の方法。
  16. プログラム命令を実行することによって、記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ・システムであって、前記コンピュータ・システムは、
    前記プログラム命令を実体的に格納するメモリと、
    前記プログラム命令を実行するため、前記メモリと通信しているプロセッサと、
    を含み、前記プログラム命令が、
    複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリ受信し、各述語は肯定的または否定的であるように規定され、前記複数の述語が前記1つ以上の制約と合わさって論理グラフを形成し、
    前記グラフから、前記検索クエリ中の前記複数の前記述語のうち肯定的であるように規定された1つ以上の述語を含むサブグラフを生成し、および
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記検索クエリを無効にする、
    ための命令を含む、コンピュータ・システム。
  17. 前記コンピュータ・システムが、
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記サブグラフ中の異なる構成要素に属する述語の対の間に新規の制約を加えることによって代替クエリを設け、前記述語の対は、前記グラフ中の否定的であるように規定された1つ以上の述語を介して相互の連結を有する、
    ようにさらに構成される、請求項16に記載のコンピュータ・システム。
  18. 前記コンピュータ・システムが、
    否定的であるように規定された前記1つ以上の述語を介した前記述語の対の間の2つ以上の制約から前記新規の制約の内容を導出する、
    ようにさらに構成される、請求項17に記載のコンピュータ・システム。
  19. 前記コンピュータ・システムが、
    前記新規の制約の前記内容として、前記述語の対の間の2つ以上の制約の組み合わせの必要条件中の最強の制約を計算する、
    ようにさらに構成される、請求項18に記載のコンピュータ・システム。
  20. 前記2つ以上の制約が、前記2つ以上の制約に関連付けられた述語の間の時間ギャップまたは距離の間隔を含み、前記コンピュータ・システムが、
    前記述語の対の間の2つ以上の制約を表す部分構造体を生成し、
    前記部分構造体中に直列に配置された制約の第一対を見出し、
    前記部分構造体中の前記制約の第一対を第一代替間隔を有する第一代替制約に置き換え、前記第一代替間隔は、前記制約の第一対の開始点の和で始まり、前記制約の第一対の終了点の和で終わり、および
    得られた前記部分構造体から前記新規の制約の前記内容を計算する、
    ようにさらに構成される、請求項18に記載のコンピュータ・システム。
  21. 前記2つ以上の制約が、前記2つ以上の制約に関連付けられた述語の間の時間ギャップまたは距離の間隔を含み、前記コンピュータ・システムが、
    前記述語の対の間の前記2つ以上の制約を表す部分構造体を生成し、
    前記部分構造体中に並列に配置された制約の第二対を見出し、
    前記部分構造体中の前記制約の第二対を第二代替間隔を有する第二代替制約に置き換え、前記第二代替間隔は、前記制約の第二対の開始点中の最大で始まり、前記制約の第二対の終了点中の最小で終わり、および
    得られた前記部分構造体から前記新規の制約の前記内容を計算する、
    ようにさらに構成される、請求項18に記載のコンピュータ・システム。
  22. 記録の集合から情報を読み出すために用いられる検索クエリを確認するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、具現化されたプログラム命令を有するコンピュータ可読ストレージ媒体を含み、前記プログラム命令は、コンピュータに、
    複数の述語と、各々が複数の述語に関連付けられた1つ以上の制約とを含む検索クエリ受信するステップであって、各述語は肯定的または否定的であるように規定され、前記複数の前記述語が前記1つ以上の制約と合わさって論理グラフを形成する、前記受信するステップと、
    前記グラフから、前記検索クエリ中の前記複数の述語のうち肯定的であるように規定された1つ以上の述語を含むサブグラフを生成するステップと、
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記検索クエリを無効にするステップと、
    を含む方法を行わせるため、前記コンピュータによって実行される、
    コンピュータ・プログラム製品。
  23. 前記方法が、
    前記サブグラフが複数の構成要素を有すると判断されるのに応じて、前記サブグラフ中の異なる構成要素に属する述語の対の間に新規の制約を加えることによって代替クエリをさらに設けるステップであって、前記述語の対は、前記グラフ中の否定的であるように規定された1つ以上の述語を介して相互の連結を有する、前記さらに設けるステップと、
    否定的であるように規定された前記1つ以上の述語を介した前記述語の対の間の2つ以上の制約から前記新規の制約の内容を導出するステップと、
    をさらに含む、請求項22に記載のコンピュータ・プログラム製品。
  24. 記録の集合から情報を読み出すために用いられる検索クエリをその上で編集可能なユーザ・インターフェースを提供するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、具現化されたプログラム命令を有するコンピュータ可読のストレージ媒体を含み、前記プログラム命令は、コンピュータに、
    グラフの形で検索クエリがグラフィカルにその上で表現される前記ユーザ・インターフェースの画面を提供するステップであって、前記検索クエリ中の各述語は前記グラフ中にノードで表され、前記検索クエリ中の複数の述語に関連付けられた各制約は前記グラフ中にエッジで表され、各述語は、前記画面上での操作を介して肯定的または否定的であるように規定される、前記提供するステップと、
    前記検索クエリの中の肯定的であるように規定された1つ以上の述語を含むサブグラフが複数の構成要素を有する場合、現在表示されている前記検索クエリが無効であることを通知するステップと
    を含む方法を行わせるため、前記コンピュータによって実行可能である、
    コンピュータ・プログラム製品。
  25. 前記方法が、
    前記検索クエリが無効であることを通知するのに応じて、前記サブグラフ中の相異なる構成要素に属する述語の対の間への新規の制約の付加を視覚的に提案するステップであって、前記述語の対は、前記グラフ中の否定的であるように規定された1つ以上の述語を介して相互の連結を有する、前記提案するステップと、
    前記画面上で前記新規の制約の内容を起案するステップであって、前記新規の制約の前記内容は、前記検索クエリ中の前記述語の対の間の2つ以上の制約の組み合わせの必要条件中の最強の制約である、前記起案するステップと、
    をさらに含む、請求項24に記載のコンピュータ・プログラム製品。
JP2019564431A 2017-05-31 2018-05-30 データ解析システムにおける検索クエリの妥当性確認 Active JP6995141B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/609,246 2017-05-31
US15/609,246 US10528523B2 (en) 2017-05-31 2017-05-31 Validation of search query in data analysis system
PCT/IB2018/053838 WO2018220545A1 (en) 2017-05-31 2018-05-30 Validation of search query in data analysis system

Publications (2)

Publication Number Publication Date
JP2020522788A true JP2020522788A (ja) 2020-07-30
JP6995141B2 JP6995141B2 (ja) 2022-01-14

Family

ID=64456079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019564431A Active JP6995141B2 (ja) 2017-05-31 2018-05-30 データ解析システムにおける検索クエリの妥当性確認

Country Status (5)

Country Link
US (1) US10528523B2 (ja)
JP (1) JP6995141B2 (ja)
CN (1) CN110637293B (ja)
GB (1) GB2576663A (ja)
WO (1) WO2018220545A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210596B1 (en) 2020-11-06 2021-12-28 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11488044B2 (en) * 2018-04-27 2022-11-01 P44, Llc Classification and transformation of sequential event data
US20230083598A1 (en) * 2021-09-14 2023-03-16 International Business Machines Corporation Suggesting query terms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
WO2011048812A1 (ja) * 2009-10-21 2011-04-28 オリンパスメディカルシステムズ株式会社 医療業務支援装置
JP2014206916A (ja) * 2013-04-15 2014-10-30 株式会社日立製作所 作業履歴分析装置及び作業履歴分析システム並びに作業履歴分析方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001257190A1 (en) * 2000-04-25 2001-11-07 Invention Machine Corporation, Inc. Synonym extension of search queries with validation
US8447775B2 (en) 2003-06-13 2013-05-21 Microsoft Corporation Database query user interface to assist in efficient and accurate query construction
US20050210023A1 (en) * 2004-03-18 2005-09-22 Renato Barrera Query optimizer using implied predicates
US8594942B2 (en) * 2004-07-30 2013-11-26 Metabolon, Inc. Computational method and system for identifying network patterns in complex biological systems data
US8788517B2 (en) * 2006-06-28 2014-07-22 Microsoft Corporation Intelligently guiding search based on user dialog
US20080005095A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Validation of computer responses
US8065319B2 (en) 2007-04-01 2011-11-22 Nec Laboratories America, Inc. Runtime semantic query optimization for event stream processing
CN102053989A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 用于确定要被物化的节点的方法和系统
US8700577B2 (en) * 2009-12-07 2014-04-15 Accenture Global Services Limited GmbH Method and system for accelerated data quality enhancement
US20110314010A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Keyword to query predicate maps for query translation
US20130297586A1 (en) * 2012-05-07 2013-11-07 International Business Machines Corporation Optimizing queries using predicate mappers
US9229930B2 (en) * 2012-08-27 2016-01-05 Oracle International Corporation Normalized ranking of semantic query search results
US9201860B1 (en) * 2013-03-12 2015-12-01 Guangsheng Zhang System and methods for determining sentiment based on context
CN104915340B (zh) * 2014-03-10 2019-09-10 北京大学 自然语言问答方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222996A1 (en) * 2004-03-30 2005-10-06 Oracle International Corporation Managing event-condition-action rules in a database system
CN1938703A (zh) * 2004-03-30 2007-03-28 甲骨文国际公司 管理数据库系统中的事件-条件-操作规则
JP2007531161A (ja) * 2004-03-30 2007-11-01 オラクル・インターナショナル・コーポレイション データベースシステムにおけるイベント−条件−動作の規則の管理
WO2011048812A1 (ja) * 2009-10-21 2011-04-28 オリンパスメディカルシステムズ株式会社 医療業務支援装置
JP2014206916A (ja) * 2013-04-15 2014-10-30 株式会社日立製作所 作業履歴分析装置及び作業履歴分析システム並びに作業履歴分析方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210596B1 (en) 2020-11-06 2021-12-28 issuerPixel Inc. a Nevada C. Corp Self-building hierarchically indexed multimedia database
US11810007B2 (en) 2020-11-06 2023-11-07 Videoxrm Inc. Self-building hierarchically indexed multimedia database

Also Published As

Publication number Publication date
US20180349401A1 (en) 2018-12-06
GB201917130D0 (en) 2020-01-08
CN110637293A (zh) 2019-12-31
GB2576663A (en) 2020-02-26
US10528523B2 (en) 2020-01-07
CN110637293B (zh) 2023-04-04
WO2018220545A1 (en) 2018-12-06
JP6995141B2 (ja) 2022-01-14

Similar Documents

Publication Publication Date Title
US8898798B2 (en) Systems and methods for medical information analysis with deidentification and reidentification
JP6238993B2 (ja) データ系統システム
CN103562851B (zh) 使用单向散列的数据扰乱和匿名化
US10176541B2 (en) Medical information navigation engine (MINE) system
US20180239796A1 (en) Multi-tenant distribution of graph database caches
US8959070B2 (en) Processes and systems for collaborative manipulation of data
US10628492B2 (en) Distributed graph database writes
CN104346418A (zh) 用于数据的关系型上下文敏感匿名化的方法和系统
US11216492B2 (en) Document annotation based on enterprise knowledge graph
US11194840B2 (en) Incremental clustering for enterprise knowledge graph
US11163762B2 (en) Mapping document data to relational data
CN104636130B (zh) 用于生成事件树的方法和系统
US10586611B2 (en) Systems and methods employing merge technology for the clinical domain
Imam et al. Data modeling guidelines for NoSQL document-store databases
US20170235887A1 (en) Cognitive Mapping and Validation of Medical Codes Across Medical Systems
US10692593B1 (en) Identifying events in a badge of a graphical user interface
JP6995141B2 (ja) データ解析システムにおける検索クエリの妥当性確認
CA2887606A1 (en) Systems and methods for medical information analysis with deidentification and reidentification
US20170206326A1 (en) Systems and methods for the classification and indexing of contract documentation
US11068646B2 (en) Merging documents based on document schemas
Chrimes et al. Towards a real-time big data analytics platform for health applications
US20210241867A1 (en) Systems and methods for advanced tissue screening
Ravichandran et al. Implementing an NLP Tool to Address SDOH Needs
Oakley et al. Scrybe: A Secure Audit Trail for Clinical Trial Data Fusion
Bernasconi Integrating Genomic Data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211116

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211214

R150 Certificate of patent or registration of utility model

Ref document number: 6995141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150