CN110637293A - 数据分析系统中搜索查询的验证 - Google Patents
数据分析系统中搜索查询的验证 Download PDFInfo
- Publication number
- CN110637293A CN110637293A CN201880031919.3A CN201880031919A CN110637293A CN 110637293 A CN110637293 A CN 110637293A CN 201880031919 A CN201880031919 A CN 201880031919A CN 110637293 A CN110637293 A CN 110637293A
- Authority
- CN
- China
- Prior art keywords
- predicates
- constraints
- pair
- graph
- search query
- 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
Links
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/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/156—Query results presentation
-
- 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/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/487—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/489—Retrieval 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
公开了一种用于检查搜索查询的计算机实现的方法,所述搜索查询用于在事件序列分析系统中从记录的集合检索信息。该方法包括接收搜索查询,该搜索查询包括多个谓词以及一个或多个约束,每个约束与复数谓词相关联,其中每个谓词被指定为肯定或否定,并且多个谓词与一个或多个约束一起形成逻辑图。该方法还包括从所述图中生成子图,该子图包括在搜索查询的多个谓词中被指定为肯定的一个或多个谓词。该方法还包括确定子图是否具有复数组件,以及响应于确定子图具有复数组件,使搜索查询无效。
Description
背景技术
本公开一般涉及数据分析,更具体地,涉及用于检查用于从数据分析系统中的记录集合中检索信息的搜索查询的技术。
由于在各种领域中每天每时都在记录大量数据,因此已经进行了大量努力来开发技术以从记录集合中提取有意义信息。事件序列分析是用于从事件序列数据中检索有意义的模式的技术。这种事件序列数据的示例可以包括医院中的临床数据、社交网络服务中的消息数据等。
在事件序列分析中使用的搜索查询可以包括一个或多个谓词,每个谓词用于检索键值对的列表,以及两个谓词之间的约束,每个谓词用于从两个谓词的列表中提取具有某种时间关系的元素对。
由于其复杂性,通常已经开发了图形用户界面,用户可以在其上本能地创建搜索查询以从事件序列数据中提取期望的模式。但是,在典型的图形用户界面中,用户对查询的操作的组合可能会得到一种会导致用户不期望的结果的查询。这种实际上无用的查询即使它在语法上是正确的(即,无论用户的意图如何,它都可以给出一些结果),也被认为是无效的。
关于用于创建搜索查询的图形用户界面,已经开发了基于正则表达式用于创建对数据序列的查询的可视化查询界面(例如,E.Zgraggen等人:用于查询和探索事件序列的可视化正则表达式(Visual Regular Expressions for Querying and Exploring EventSequences)。CHI'15:第33届计算系统人为因素年度ACM会议论文集(CHI'15:Proceedingsof the 33rd Annual ACM Conference on Human Factors in Computing Systems):2683-2692,2015)。在该文献中,已经提出了一种基于触摸的系统,其以易理解的方式提出正则表达式的完整表达能力并且已经提出了将查询规范与结果可视化进行交织。然而,该文献没有提到上述结果查询的无效性。
需要一种计算机实现的方法、相关的计算机系统和计算机程序产品,能够不实际发布搜索查询就检查搜索查询的有效性,以便不给出与用户的意图不一致的结果。
发明内容
根据本发明的实施例,提供了一种用于检查用于从记录集合中检索信息的搜索查询的计算机实现的方法。该方法包括接收包括多个谓词和一个或多个约束的搜索查询,每个约束与复数(plural)谓词相关联,每个谓词被指定为肯定或否定,多个谓词与一个或多个约束一起形成逻辑图。该方法还包括从图中生成子图,该子图包括在搜索查询的多个谓词中被指定为肯定的一个或多个谓词。该方法还包括确定子图是否具有复数组件,并且响应于子图被确定为具有复数组件而使搜索查询无效。
根据本发明实施例的方法,即使搜索查询包括被指定为否定的谓词,这通常使得难以注意到搜索查询的无效性,也可以检查搜索查询的有效性,而不需要通过实际发出搜索查询等待从记录集合中获得的结果。
在优选实施例中,该方法还包括,响应于确定子图具有复数组件,通过在属于子图中的不同组件的一对谓词之间添加新约束并且在图中具有通过指定为否定的一个或多个谓词相互连接来提供备选查询。从而,用户可以及时地获得基于原始搜索查询修改的备选查询,以便给出预期与原始搜索查询相比更符合用户意图的结果。
在其他优选实施例中,该方法还包括通过指定为否定的一个或多个谓词从该对谓词之间的两个或更多个约束导出新约束的内容。因此,用户可以获得具有新约束的备选查询,该新约束取决于要用新约束添加的谓词对之间的两个或更多个约束。
在进一步的其他优选实施例中,导出包括在一对谓词之间的两个或更多个约束的组合的必要条件中计算最强约束作为新约束的内容。因此,用户可以获得具有新约束的备选查询,该新约束预期是从该对谓词之间的两个或更多个约束获得的可能约束中的适当约束。
本文还描述并要求保护与本发明的一个或多个方面有关的计算机系统和计算机程序产品。
根据本发明的另一实施例,提供了一种用于检查用于从记录的集合中检索信息的搜索查询的计算机实现的方法。该方法包括接收包括多个谓词以及一个或多个约束的搜索查询,每个谓词被指定为肯定或否定,每个约束与复数谓词相关联,多个谓词与一个或多个约束一起形成逻辑图。该方法还包括从图中生成子图,该子图包括在搜索查询中的多个谓词中被指定为肯定的一个或多个谓词。该方法还包括在子图中找到一对谓词以使得该对谓词中的谓词属于子图中的不同组件的方式。该方法还包括,响应于找到该对谓词,在该对谓词之间添加新约束以提供备选查询,其中新约束具有从图中该对谓词之间的两个或更多个约束导出的内容。
根据本发明另一实施例的方法,即使搜索查询包括被指定为否定的谓词,用户也可以及时获得备选查询,以便给出预期比原始搜索查询与用户的意图更匹配的结果,而无需等待通过实际发布搜索查询从记录的集合中检索的结果。新约束可以具有内容,取决于要用新约束添加的谓词对之间的两个或更多个约束。
根据本发明的另一个实施例,提供了一种用于提供用户界面的计算机程序产品,在该用户界面上用于从记录的集合中检索信息的搜索查询是可编辑的。该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有嵌入其中的程序指令,并且该程序指令可由计算机执行以使计算机执行以下方法。该方法包括提供用户界面的屏幕,在该屏幕上以图的形式图形地表示搜索查询。搜索查询中的每个谓词由节点表示。与搜索查询中的复数谓词相关联的每个约束由边表示。通过屏幕上的操作将每个谓词指定为肯定或否定。该方法还包括:如果包括在搜索查询中指定为肯定的一个或多个谓词的子图具有复数组件,则通知当前正在显示的搜索查询是无效的。
根据本发明实施例的计算机程序产品,即使搜索查询包括指定为否定的谓词,可以向用户通知搜索查询的有效性,无需通过发出搜索查询而等待从记录的集合获得的实际结果。
通过本发明的技术实现了附加的特征和优点。本文详细描述了本发明的其他实施方案和方面,并将其视为要求保护的发明的一部分。
附图说明
在说明书结论的权利要求中特别指出并清楚地要求保护被视为本发明的主题。从以下结合附图的详细描述中,本发明的前述和其他特征和优点是显而易见的,其中:
图1示出了根据本发明示例性实施例的事件序列分析系统的框图;
图2A示出了在根据本发明示例性实施例的事件序列分析系统中管理的事件序列数据的数据结构;
图2B描述了用于从事件序列数据中检索与搜索查询匹配的元素列表的事件序列分析和查询处理的搜索查询的简单示例;
图3A和3B示出了具有用于事件序列分析的否定谓词的搜索查询的示例以及从事件序列数据中检索与搜索查询匹配的元素列表的查询处理的示例;
图4描述了根据本发明的示例性实施例的用于检查用于从事件序列数据检索信息的搜索查询的过程的流程图;
图5描述了根据本发明示例性实施例的用于校正搜索查询以提供备选搜索查询的过程的流程图;
图6A、6B、6C和6D描述了根据本发明示例性实施例的校正搜索查询的处理的示例;
图7描述了根据本发明示例性实施例的用于从事件序列数据中检索与备选有效搜索查询匹配的元素列表的事件序列分析和查询处理的备选有效搜索查询的示例;
图8A、8B和8C示出了根据本发明示例性实施例的导致无效查询的典型用户操作以及在用户界面的编辑屏幕上表示的搜索查询的示例的示意图;
图9示出了根据本发明优选实施例的具有用于事件序列分析的否定谓词的复杂搜索查询的示例;
图10描述了根据本发明优选实施例的用于导出新约束的内容以提供备选搜索查询的过程的流程图;
图11A、11B、11C、11D和11E描述了根据本发明优选实施例的导出新约束的内容并校正搜索查询的方式的示例;
图12描述了根据本发明的一个或多个实施例的计算机系统。
具体实施方式
现在,将使用特定实施例来描述本发明,并且下文描述的实施例被理解为仅被称为示例,并且不旨在限制本发明的范围。
根据本发明的一个或多个实施例涉及用于检查搜索查询的计算机实现的方法、计算机系统和计算机程序产品,该搜索查询用于从数据分析系统中的记录集合中检索信息。
事件序列分析是从记录集合中提取洞察力,尤其是来自事件序列数据的有意义的模式的技术之一。参照图1-11,示出了根据本发明的一个或多个实施例的用于检查用于事件序列分析的搜索查询的计算机系统和方法。
在下文中,首先参照图1-8的系列,将描述根据本发明示例性实施例的用于检查用于事件序列分析的搜索查询的计算机系统和方法,其中可以检测搜索查询的无效性并且可以更正确定为无效的搜索查询,以提供备选搜索查询。然后,参照图9-11的系列,将描述根据本发明优选实施例的用于检查用于事件序列分析的搜索查询的计算机系统和方法,其中可以校正被确定为无效的更复杂的搜索查询。
参照图1,示出了根据本发明示例性实施例的事件序列分析系统100的框图。如图1所示,事件序列分析系统100可以包括搜索用户界面110,用于提供图形用户界面,在该图形用户界面上,搜索查询以图形结构的形式可图形编辑;事件序列分析引擎120,用于根据输入的搜索查询从事件序列数据中检索信息;事件收集数据库130,用于存储事件序列数据;事件记录系统140,用于将事件信息记录到事件收集数据库130中。
事件记录系统140可以收集源自一个或多个事件源的事件信息,并将收集的事件信息作为记录记录到事件收集数据库130中。这样的事件源可以包括但不限于电子健康记录系统、社交网络服务、可穿戴设备、传感器网络等,仅举几个例子。
事件收集数据库130可以在一个或多个存储介质或设备中存储构成事件序列数据的记录集合。参考图2A,示出了存储在事件收集数据库130中的事件序列数据的数据结构。图2A中所示的示例是在医院中管理的示意性临床数据。
如图2A所示,事件序列数据包括一系列记录,每个记录包括标识符字段,用于保持患者标识符;时间字段,用于保持关于患者的事件发生时间和/或日期;以及键值对字段,用于保持描述关于患者的事件的内容的键值对。键值对字段的一对键和对应值可以取决于已从其获取事件序列数据的域(domain)。以临床数据为例,每个键可以是属性“症状”、“药物”或“恢复”。例如,属性“症状”和“恢复”的值可以包括“头痛”、“胃痛”、“轻微发烧”。属性“药物”的值可包括例如“洛索洛芬”、“硫糖铝”、“布洛芬”。
在示例性实施例中,每个记录保持键值对,并且搜索查询以每个具有特定键值对的记录为目标。然而,在其他实施例中,每个记录可以仅保持标签而不是键值对,并且搜索查询可以针对每个具有特定标签的记录。
此外,事件序列数据不限于临床数据。包括社交网络服务中的消息数据,传感器网络中的传感器数据等的任何类型的事件序列数据可以是事件序列分析的目标。以社交网络服务中的消息数据为例,每个键可以是“食物”或“形容词”。属性“食物”的值可以包括例如“曲奇”、“煎饼”,属性“形容词”的值例如可以包括“美味”、“多汁”。
返回参考图1,搜索用户界面110被配置为从用户接收搜索查询并向事件序列分析引擎120发出搜索查询。搜索查询可以包括多个谓词和一个或多个约束。每个谓词用于检索具有由每个谓词指定的特定键值对的元素列表。每个约束与一对谓词相关联,并用于从与每个约束相关联的谓词的相应列表中提取满足每个约束的各个元素的对。每个约束是一对元素上的相对条件,并且可以包括与每个约束相关联的谓词之间的时间间隔的区间(表示最小值和最大值之间的值的范围)。因此,将从与每个约束相关联的谓词的相应列表中提取具有一些时间关系的各个元素对(例如,在5天内发生的一个事件和其他事件的元素对)。
在示例性实施例中,因为事件序列数据包括源自多个源的记录,每个约束还包括标识关于事件的对象的标识符的条件(例如,具有与临床数据相同的患者ID,具有与传感器数据相同的传感器ID或传感器组ID等)。然而,约束的内容可以不限于上述具体示例。在其他实施例中,如果事件序列数据包括仅源自单个源的数据,则可以省略对标识符的条件。例如,通过使用可穿戴设备获取的个人健康日志数据可以包括源自佩戴可穿戴设备的单个人的事件数据。此外,搜索查询的目标可以不限于事件序列数据。在其他实施例中,任何种类的记录集合可以是数据分析的目标。例如,地点(商店,饭店,旅馆等)的位置信息可以是目标。因此,约束的内容不限于上述示例。在其他实施例中,每个约束可以包括谓词之间的距离区间。对于场所的位置信息,约束可以包括谓词之间的地理距离的区间(例如,一对商店和位于1km内的车站)。
在特定实施例中,搜索用户界面110可以被配置为提供用户界面的编辑屏幕,在该编辑屏幕上以图的形式图形化地表示和编辑搜索查询,该图由节点组成,该节点由通过边连接。在用户界面的编辑屏幕上,每个谓词由节点表示,并且与两个谓词相关联的每个约束由与对应于两个谓词的两个节点相关联的边表示。搜索用户界面110还可以被配置为接收用于发布在编辑屏幕上创建的搜索查询的请求,并在用户界面的屏幕上显示搜索查询的搜索结果。
事件序列分析引擎120可以从搜索用户界面110接收搜索查询,检索与搜索查询匹配的信息,并将搜索查询的结果返回给搜索用户界面110。
参见图2B,描绘了用于从事件序列数据检索与搜索查询匹配的元素列表的事件序列分析和查询处理的搜索查询的简单示例。
如图2B所示,搜索查询200的示例包括两个谓词202、204(“症状—头痛”和“药物—洛索洛芬”),之间具有约束206(“0~5天”)。注意,在图2B所示的示例中,约束206包括隐含条件,即除了两个谓词之间的时间间隔的区间之外,患者ID在两个谓词之间是相同的。该搜索查询200可用于检索满足诸如“患有头痛并且在5天内被给予洛索洛芬”的陈述的元素对的列表。
该搜索查询200的查询处理可以包括:
(i)从事件序列数据中检索第一谓词202(“症状—头痛”)的列表212的步骤;
(ii)从事件序列数据中检索第二谓词204(“药物—洛索洛芬”)的列表214的步骤;以及
(iii)提取列表212中的元素对和列表214中的对应元素的步骤,列表214在列表212中的元素的5天内发生,如由图2B中的箭头连接的虚线圆圈对所指示。
在示例性实施例中,每个谓词可被指定为肯定的,即,检索与包含的谓词匹配的元素列表,或者否定的,即检索与排除的谓词匹配的元素列表。可以通过搜索用户界面110提供的编辑屏幕上的操作来指定谓词是肯定的还是否定的。在特定实施例中,每个谓词具有NOT选项,通过该选项将谓词指定为肯定的或否定的。如果谓词的NOT选项设置为假(false),则谓词(不带NOT选项)被指定为肯定的,并称为肯定(或赞同的)谓词。另一方面,如果将NOT选项设置为true,则谓词(带有NOT选项)被指定为否定的,并称为否定谓词,这意味着谓词的否定。
通过使用上述用户界面,用户可以容易地为事件序列分析创建期望的搜索查询。但是,用户操作的某种组合,例如(1)添加具有约束的新谓词;(2)删除谓词;(3)设置将谓词的NOT选项设置为真(true),可以创建一种查询,即使它在语法上是正确的,也导致用户不期望的结果。在搜索查询导致与用户意图不一致的结果的意义上,这些实际上无用的查询可被视为“无效”。特别地,否定谓词的存在使得难以注意到用户的搜索查询的无效性,因为如果查询包括否定谓词,即使具有连接的图结构的查询也可能是无效的。
参见图3A和3B,示出了具有用于事件序列分析的否定谓词的搜索查询的示例以及从事件序列数据中检索与搜索查询匹配的元素列表的查询处理的示例。图3A示出了有效的情况,而图3B示出了无效的情况。
通常,约束具有要处理的顺序,并且可以在处理所有约束之后处理NOT选项。如图3A所示,搜索查询220的示例包括一个肯定谓词222(在图3A中由“A”表示,其表示没有NOT选项的键值对“症状—头痛”)和一个否定谓词224(在图3A中由具有NOT选项的“B”表示,其表示具有约束226(“0~5天”)的键值对“药物—洛索洛芬”。搜索查询220可用于检索满足诸如“患有头痛但在5天内未给予洛索洛芬的患者”的陈述的元素对的列表。
该搜索查询220的查询处理可以包括:
(i)从事件序列数据中检索谓词222(A)的列表232的步骤;
(ii)从事件序列数据中检索谓词224(B)的列表234的步骤;
(iii)确定列表234(B)中与肯定谓词222(A)匹配约束226的零个或多个元素236的步骤;以及
(iv)从列表232(A)中删除零个或多个在5天内具有列表234(B)中的一个或多个相应元素236的元素238的步骤。
在图3A中描述的情况下,事件序列分析引擎120可以返回与用户意图一致的结果,因为上述陈述是有意义的。
另一方面,图3B中所示的搜索查询240的示例包括:一个肯定谓词242(在图3B中用“A”表示),一个否定谓词244(在图3B中用“B”表示,带有NOT选项),具有约束248(“0~5天”)和其他具有约束250(“0~10”天)的肯定谓词246(在图3B中用“C”表示,其表示键值对“恢复—头痛”)。
该搜索查询240的查询处理通常可以包括:
(i)从事件序列数据中检索谓词242(A)的列表252的步骤;
(ii)从事件序列数据中检索谓词244(B)的列表254的步骤;
(iii)从事件序列数据中检索谓词246(C)的列表256的步骤;
(iv)确定列表254(B)中与肯定谓词242(A)匹配约束248的零个或多个元素258的步骤;
(v)确定列表254(B)中与肯定谓词246(C)进一步匹配约束250的零个或多个元素260的步骤;
(vi)从列表252(A)中删除零个或多个元素262的步骤,其在列表260中具有用于谓词244(B)的一个或多个相应元素;以及
(vii)从列表256(C)中移除零个或多个元素264的步骤,其在列表260中具有用于谓词244(B)的一个或多个相应元素。
在图3B中描述的情况下,事件序列分析引擎120将返回包括用于肯定谓词244、246(A,C)的剩余元素的两个列表的结果,或可以是所谓的交叉联合的列表(A,C)的组合,两者可能都与用户的意图不一致。
通过向事件序列分析引擎120发出搜索查询,用户可以知道搜索查询的这种无效性,因为用户获得了不期望的结果,或者用户由于超时而没有得到任何结果。因此,用户将等待来自事件序列分析引擎120的实际响应至少一段时间。
因此,在示例性实施例中,搜索用户界面110提供功能,其中可以在不等待通过发出搜索查询的实际响应的情况下检查搜索查询的无效性。
返回参考图1,搜索用户界面110可以包括查询验证模块112,用于验证搜索查询;查询校正模块114,用于在确定原始搜索查询无效时,校正搜索查询以提供备选搜索查询。
为了验证搜索查询,查询验证模块112被配置为以这样的方式从原始搜索查询的图G2生成子图G1,使得子图G1由图G2的谓词(即原始搜索查询中的谓词中的一个或多个肯定谓词)的子集组成。可以通过复制图形G2并从图形G2的副本中移除与其连接的否定谓词和约束来生成子图G1。或者,可以通过从图形G2中提取其中的肯定谓词和约束来生成子图G1,同时排除对其的否定谓词和约束。其节点和边表示肯定谓词(即,没有NOT选项的谓词)和它们之间的约束的子图G1分别被生成用于检查原始搜索查询的有效性。
查询验证模块112可以通过使用表示原始搜索查询的图G2和从其生成的子图G1来验证原始搜索查询。如果确定图G2本身被未连接的,查询验证模块112可以确定原始搜索查询是无效的,并且放弃提供备选搜索查询。如果确定图G2和子图G1都连接的,则查询验证模块112可以确定原始搜索查询是有效的。查询验证模块112可以使原始搜索查询无效,但是如果子图G1具有复数组件,即确定子图G1是未连接的但是图G2被确定为连接的,则请求查询校正模块114修改原始搜索查询。
查询校正模块114可以被配置为如果确定子图G1是未连接的但是确定图表G2是连接的,即确定原始搜索查询无效但可以更正,则执行原始搜索查询的校正以提供备选搜索查询。为了提供原始搜索查询的备选搜索查询,查询校正模块114可以被配置为在子图G1中找到属于不同连接组件的一对肯定谓词,并在该对肯定谓词之间添加新约束。查询校正模块114还可以被配置为导出新约束的内容。将通过参考以下流程图更详细地描述搜索查询的校正。
参见图4,更详细地示出了用于检查用于从事件序列数据检索信息的搜索查询的过程。注意,图4中所示的过程可以由实现图1所示的查询验证模块112的处理单元执行。
图4所示的过程可以从在步骤S100响应于从用户接收到检查搜索查询的请求而开始。用户可以显式或隐式地请求搜索用户界面110检查正在屏幕上显示的搜索查询。例如,对搜索查询的操纵,诸如添加谓词和/或约束、将NOT选项设置为真或假、改变约束的内容可以调用搜索查询的检查处理。
在步骤S101,处理单元可以接收包括一个或多个谓词和一个或多个约束的搜索查询。
在步骤S102,处理单元可以获得表示原始搜索查询的图G2,其中每个肯定或否定谓词由节点表示,并且与一对谓词相关联的每个约束由与相应的节点对关联的边表示。图6A示出了表示原始搜索查询的图270的示例。
在步骤S103,处理单元可以确定图G2是连接的还是未连接的。响应于确定图G2是未连接的(S103:否),控制可以转移到步骤S104。在步骤S104,处理单元可以使搜索查询无效,并且控制可以直接进行到步骤S111以使用放弃提供备选搜索查询来结束处理。此条件下的查询将不会被处理。
另一方面,响应于确定图G2是连接的(S103:是),控制可以转移到步骤S105。在步骤S105,处理单元可以通过复制图G2并从图G2的副本中移除否定谓词和与其连接的约束,或者通过从图G2中提取肯定谓词和其间的约束,同时排除否定谓词和其间的约束,从图G2进一步生成子图G1。子图G1可以由搜索查询中的谓词中的一个或多个肯定谓词构成,即,子图G1是图G2的所谓的诱导子图,其包括与肯定谓词对应的节点的子集(没有“NOT”选项)和连接该子集中的节点对的边,其对应于搜索查询中的肯定谓词对之间的约束。
图6B示出了从图6A中所示的曲线图270生成的子图280的示例。通过比较图6A和图6B,从图270中移除为其提供的否定谓词272和为其提供的约束274a,274b以形成子图280。
在步骤S106,处理单元可以确定子图G1是否具有复数连接组件或单个连接组件,即子图G1是未连接的还是连接的。注意,子图G1中的每个连接组件是子图G1的子图,其中任何两个节点通过路径连接,但是任何节点在子图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,处理单元可以以这样的方式列举子图G1中的一对或多对肯定谓词X、Y,使得每对中的肯定谓词X、Y属于子图G1中的不同的连接组件,并且通过图G2中的一个或多个否定谓词Z彼此连接。
进一步参见图6C,还描述了在子图G1中找到一对肯定谓词X、Y的方法。如图6C所示,子图280具有复数连接组件282a、282b,每个组件分别包括一个或多个肯定谓词284a、284b。发现属于子图280中的不同连接组件282a、282b并且经由图270中的否定谓词272彼此连接的肯定谓词284a、284b(由图6C中的箭头286指示)为要列举的一对肯定谓词X、Y。
返回参考图5,在步骤S202,处理单元可以在步骤S201中列举的一对或多对中选择一对未处理的肯定谓词X、Y。当子图G1具有复数连接组件时,由于图5中所示的过程被调用,至少在初始时,存在至少一对与上述条件匹配的肯定谓词。
在步骤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)的组合的必要条件之一作为新约束的内容。在优选实施例中,可以计算必要条件中的最强约束作为新约束的内容。
让我们假设在图G2中的一对肯定谓词(X,Y)之间存在一个否定谓词(Z),如图6A中所描述的。在这种情况下,新约束的内容是所有约束(X,Z)、(Z,Y)的必要条件中的最强约束。例如,两个约束的必要条件可以如下计算:
(从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具有通过将新约束294c添加到原始搜索查询的原始图270而获得的结构。在这种情况下获得的查询将被发布到事件序列分析引擎120并被处理。
有效搜索查询(即,在图4中的S107处确定为有效的搜索查询或者在图4中的S110处提出的备选搜索查询)可以处理如下:
1.对于有效搜索查询中的每个谓词{pi:i=1,...,N},检索来自事件序列数据的列表。
2.在谓词{p1,...pN}上初始化等效条件C,其是用于通过以下命题保持每对谓词pi,pj之间的关系的数据结构:
其中~C表示等价。注意,如果谓词p和q(p~Cq)之间的关系在等效条件C中被设置为等效,则谓词p的列表和谓词q的列表被称为“链接”。此外,如果谓词p的列表和谓词q的列表是“链接的”,则当移除一个列表中的元素时,可以移除其他链接列表的相同索引处的对应元素。通过初始化,以这样的方式初始化等效条件C以使得每个谓词{p1,...pN}仅与其自身链接。
3.对于有效搜索查询中相同类型(肯定或否定)的一对谓词p和q之间的每个约束,提取满足来自谓词p,q的各个列表的每个约束的一对相应元素,使得相同类型的谓词p,q的相应列表被链接。注意,在提取之后,两个列表具有相同的长度,并且在相同索引处的元素满足约束。在实际系统中,最好在应用约束的结果中消除冗余。因此,在特定实施例中,如果两个或更多对元素(a1,b)和(a2,b)满足约束,则将提取最近的一对(例如,(a1,b))。在其他实施例中,如果两个或更多对元素(a1,b)和(a2,b)满足约束,则将提取两对(a1,b)和(a2,b),即,元素b将被复制。
然后,谓词p和q(p~Cq)之间的关系在等效条件C中被设置为等效。因此,如果谓词p的列表和其他谓词x的列表已经被链接(x~Cp)并且谓词q的列表以及其他谓词y的列表已经被链接(y~Cq),x的列表(x~Cp)和y的列表(y~Cq)也被链接。
4.确定步骤3是否已经完成。注意,步骤3以等效条件C结束,其中肯定谓词(没有Not选项的谓词)的所有列表被链接,因为表示有效搜索查询的图G2或G2'是连接的。
5.对于有效搜索查询中的一对否定谓词p和肯定谓词q之间的每个约束,移除满足来自肯定谓词q的列表中的每个约束的元素。
参见图7,描述了用于从事件序列数据中检索与备选有效搜索查询290匹配的元素列表的事件序列分析和查询处理的备选有效搜索查询290的示例。
图7中所示的备选有效搜索查询290的示例包括一个肯定谓词292a(在图7中用“A”表示),一个否定谓词292b(在图7中用“B”表示,具有“NOT”选项),具有约束294a(“0~5天”))和其他具有约束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:(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(A)和292c(C)的各个列表296a,296c中提取满足新约束294c的一对相应元素的步骤,使得用于谓词292a,292c的相应列表296a,296c是链接的。
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)确定列表296b(B)中与肯定谓词292a(A)匹配约束294a的零个或多个元素300的步骤;
(1,8/6),(2,8/21)
(iv)确定列表296b(B)中进一步与肯定谓词292c(C)匹配约束294b的零个或多个元素302的步骤;以及
(2,8/21)
(v)从链表298a中移除列表302中具有一个或多个相应元素的零个或多个元素304的步骤。
注意,由于相应链接列表298a、298c中的元素对是“链接的”,当移除一个列表298a中的元素304时,可以移除位于另一个列表298c的相同索引处的元素306。
A:(0,8/10),(1,8/3)
C:(0,8/12),(1,8/5)
搜索查询240的查询处理还可以包括:
(vi)从链表298c中删除列表302中具有一个或多个相应元素的零个或多个元素的步骤。在该示例中,没有元素从链表298c中移除。
A:(0,8/10),(1,8/3)
C:(0,8/12),(1,8/5)
下面将进一步描述查询处理的数学表达。让我们定义S表示表示整组记录的集合,P1,P2,...,PN表示集合S的子集,其表示针对各个谓词p1,p2,...,pN的检索列表,以及C1,C2,......,CM表示映射:SxS→{真,假}表示约束,其表示约束,其中对于x,y∈S,C(x,y)=真表示一对元素(x,y)满足约束C。
整个记录集合,每个记录包括ID和时间,可以表示如下:
S={(i1,t1),(i2,t2),...,(iK,tK)},
其中ik∈整数,tk∈实数,k=1,2,...,K。
定义第一和第二记录具有相同ID并且第二记录在第一记录的5天内发生的约束可以表示如下:
C((i,t),(j,s))=(i=j)&(t<=s)&(s<=t+5)。
图3A中所示的有效查询的搜索结果可表示如下:
其中CAB(a,b)表示CAB(a,b)=真,即一对元素(a,b)满足约束CAB。
图3B中所示的无效查询的搜索结果可表示如下:
图7中所示的备选有效查询的搜索结果可表示如下:
在那种情况下,粗略地说,当搜索结果的大小最多是检索到的记录列表的大小的线性阶次时,可以通过新颖的验证技术确定搜索查询“有效”。注意,图3B中所示的无效查询的结果是可以是:
|R2|~|PA||PC|。
参见图8,示出了可能导致无效查询的典型用户操作的示意图。在图8中,还示出了在编辑屏幕上表示的搜索查询的示例。
以临床数据为例,用户会想知道“有多少患者使用洛索洛芬”。在编辑屏幕上图8A中所示的搜索查询310会被用户根据用户的兴趣输入。然后,用户会想知道“如果不使用洛索洛芬会怎么样”。通过编辑屏幕上的操作可以将每个谓词指定为肯定或否定。在编辑屏幕上,图8A中所示的搜索查询310可以通过根据用户的兴趣将谓词312的NOT选项设置为真来改变,如图8B所示。
在这种情况下,查询验证模块112将确定搜索查询310'无效,并且由查询校正模块114针对原始搜索查询310生成的备选搜索查询310”将与在编辑屏幕上的视觉提示(连接曲线314和气球316)一起展示,如图8C所示,通知当前正在显示的搜索查询310'是无效的。视觉提示314、316指示建议添加新约束的位置。还可以通过在编辑屏幕上使用指示318来建议新约束的内容。如果用户接受所提出的备选搜索查询310“,则备选搜索查询310”将成为新的搜索查询。
在该示例中,用户的搜索意图将包括“有多少患者:头痛;在5天内未使用洛索洛芬;并且在一定时期内恢复”。在该示例中,搜索用户界面110可以将“特定时段”解释为症状的“15天”。
根据示例性实施例,即使搜索查询包括通常使得难以注意到搜索查询的无效性的否定谓词,可以从是否期望得到不符合用户意图的结果的观点来检查搜索查询的有效性,而无需实际发出搜索查询。此外,用户可以获得具有新约束的备选查询,该新约束被期望是从肯定谓词对之间的两个或更多个约束获得的可能约束中最适合的。
在上述实施例中,校正目标被描述为在一对肯定谓词X、Y之间具有简单结构的搜索查询,然而,校正目标不限于上述简单搜索查询,被确定为无效的更复杂的搜索查询也可以被校正。在下文中,参考图9-11的系列,描述了根据本发明的优选实施例的用于检查用于事件序列分析的搜索查询的计算机系统和方法,其中可以校正被确定为无效的更复杂的搜索查询。
根据本发明的优选实施例的事件序列分析系统的框图和用于检查搜索查询的过程的流程图和用于校正搜索查询的过程与前述示例性实施例的几乎相同。因此,在下文中,将主要关注与示例性实施例不同的主要特征。
与示例性实施例类似,查询校正模块114被配置为如果确定原始搜索查询无效但允许校正,则执行搜索查询的校正以提供备选搜索查询。
为了提供备选搜索查询,查询校正模块114被配置为在子图G1中找到属于不同连接组件的一对肯定谓词X、Y,并在该对肯定谓词X、Y之间添加新约束,与前述示例性实施例类似。根据优选实施例的查询校正模块114还被配置为通过一个或多个否定谓词Z1,Z2,...,Zn,基于肯定谓词X、Y对之间的一个或多个约束(X,Z1),(Z1,Z2),...,(Zn,Y)导出新约束的内容。新约束的内容可以是肯定谓词对X、Y之间的所有约束(X,Z1),(Z1,Z2),...,(Zn,Y)的必要条件中的最强约束。
图9示出了具有新约束332的复杂搜索查询320及其备选搜索查询的示例。搜索查询320包括两个肯定谓词324a、324b的第一组322;三个肯定谓词328a~328c的第二组326;在组322、326之间有两个否定谓词324a、324b。在图9中,由实线和点线指示的谓词和约束构成表示复杂搜索查询320的图G2。由实线指示的谓词和约束仅构成子图G1。此外,虚线表示备选搜索查询的新约束332。
如图9所示,搜索查询中的任何两个谓词通过路径连接,因此图形G2是连接的。图9中所示的子图G1具有复数连接组件,每个组件对应于每个组322、326。在一对肯定谓词324a(在图9中用“X”表示)和谓词328a(在图9中用“Y”表示)之间存在两个否定谓词330a,330b(在图9中分别由“Z1”和“Z2”表示,具有NOT选项),分别属于不同的连接组件。在考虑两个否定谓词(Z1,Z2)的一对肯定谓词X、Y之间存在四个约束C1~C4。四个约束C1~C4在每个关系中并行或串行布置。在优选实施例中,查询校正模块114可以通过在一对肯定谓词324a、328a之间添加新约束332来校正这种复杂搜索查询320。
参考图10,描述了用于导出肯定谓词X、Y对之间的新约束的内容的过程。注意,图10所示的过程可由至少实现图1所示的查询校正模块114的处理单元来执行,图10所示的过程可以是图5中步骤S204的详细处理,因此,响应于在图5中步骤S204调用新约束的推导处理,该过程可在步骤S300开始。
在步骤S301,处理单元可以通过图G2中的否定谓词Z1,Z2生成与一对肯定谓词X、Y之间的约束相对应的部分结构。
在步骤S302,处理单元可以尝试找到串行或并行布置的一对约束。在步骤S302中,如果谓词P、Q和R通过两个约束串行连接,则P和Q之间的约束以及Q和R之间的约束被找到作为串行约束。如果谓词P、Q由两个并行约束连接,则P和Q之间的两个约束的对被找到为并行布置的对。在步骤S303,处理单元可确定是否找到约束对。响应于确定找到约束对(S303:是),控制可以转到步骤S304。在步骤S304,处理可以根据所找到的对中的约束是串行还是并行来分支。
响应于找到并行布置的约束对(S304:并行),控制可以分支到步骤S305。在步骤S305,处理单元可以基于第一规则用备选约束来替换所找到的约束对,然后,控制可以循环回到步骤S302。在特定实施例中,每个约束包括与每个约束相关联的谓词之间的时间间隔的区间,其形式为"t1~t2天"。在该特定实施例中,在部分结构中找到的约束对可以由具有备选区间的备选约束来替换,该备选区间开始于约束对的最晚开始处,并且结束于约束对的最早结束处。如果谓词P和Q由两个并行约束"s1~s2天"和"t1~t2天"连接,则两个约束将由一个备选约束"max{s1,t1}~min{s2,t2}天"代替。
响应于找到串行布置的约束对(S304:串行),控制可以分支到步骤S306。在步骤S306,处理单元可以基于第二规则用备选约束来替换所找到的约束对,然后,控制可以循环回到步骤S302。在每个约束包括谓词之间的时间间隔的区间的特定实施例中,在部分结构中找到的约束对可以由具有备选区间的备选约束来替换,该备选区间开始于约束对的开始的和,并且结束于约束对的结束的和。在谓词P、Q和R由两个约束"s1~s2天"和"t1~t2天"串行连接的情况下,两个约束将由一个备选约束"s1+t1~s2+t2天"代替。
响应于没有发现串行或并行布置的约束对(S303:否),控制可以分支到步骤S307。在步骤S307,处理单元可以基于获得的部分结构的结果计算新约束的内容,并且处理在步骤S308结束。
参考图11,示出了导出新约束的内容并校正搜索查询的方式的示例。如图11A所示,在考虑两个否定谓词(Z1,Z2)的一对肯定谓词X、Y之间存在四个约束C1~C4。约束条件C1、C2、C3和C4分别为"0~3天"、"0~5天"、"0~2天"和"0~4天"。
首先,发现约束C3和C4是串行布置的对。因此,约束C3和C4将被Z1和Y之间的新的备选约束C5"0~6天"(基于第二规则)代替,如图11B所示。然后,发现约束C2和C5是平行排列的对。因此,约束C2和C5将被Z1和Y之间的新的备选约束C6"0~5天"(基于第一规则)代替,如图11C所示。发现约束C1和C6是串行布置的对,并且约束C1和C6将被X和Y之间的新的备选约束C7"0~8天"(基于第二规则)替换,如图11D所示。
如图11E所示,新约束的内容C7"0~8天"将基于获得的部分结构的结果来计算。
上述用于并行约束的第一规则可以概括如下:并行约束C1和C2将以这样的方式被替换成备选约束,使得备选约束是并行约束(C1和C2)的结合。
前述用于系列约束的第二规则可以概括如下:
谓词P和Q之间的约束C1和谓词Q和R之间的约束C2的系列将被谓词P和R之间的备选约束以这样的方式替换,使得满足约束C1和C2的中间谓词Q存在(等同于"((P,Q)满足C1且(Q,R)满足C2)")。
根据本发明的优选实施例,即使搜索查询具有复杂的结构,这种被确定为无效的复杂搜索查询也可以被校正。用户可以获得具有新约束的备选查询,该新约束被预期是根据肯定谓词对之间的两个或更多个约束的最适合的。
在查询不具有NOT选项的情况下,由于无效查询具有未连接的图的结构,因此不难识别搜索查询的无效性。然而,难以注意到当查询具有NOT选项时,即使具有连接图结构的查询也可能是无效的。考虑系统可以从无效查询中理解用户的意图并非微不足道。
尽管事件序列分析引擎120可以在其搜索过程中验证搜索查询,但是这是不够的,因为优选的是用户界面可以示出搜索失败的原因以从系统错误区分无效查询。通过使用根据本发明的一个或多个实施例的新颖的查询验证功能,搜索用户界面110可以检测无效查询而不实际发出搜索查询。此外,通过使用根据本发明的一个或多个实施例的查询校正功能,搜索用户界面110可以校正无效查询。验证和校正允许用户识别他们的意图和他们创建的查询之间的差距。
计算机硬件组件
现在参考图12,示出了计算机系统10的示例的示意图,其可以用于事件序列分析系统100。图12所示的计算机系统10被实现为计算机系统。计算机系统10仅是合适的处理设备的一个示例,并且不旨在对本文描述的本发明的实施例的使用范围或功能提出任何限制。无论如何,计算机系统10能够被实现和/或执行上文所阐述的任何功能。
计算机系统10可与许多其他通用或专用计算系统环境或配置一起操作。可适用于计算机系统10的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、车载设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统以及包括任何上述系统或设备的分布式云计算环境,等等。
可以在由计算机系统执行的计算机系统可执行指令(例如程序模块)的一般上下文中描述计算机系统10。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。
如图12所示,计算机系统10以通用计算设备的形式示出。计算机系统10的组件可包括但不限于处理器(或处理单元)12和通过总线耦合到处理器12的存储器16,总线包括使用各种总线架构的存储器总线或存储器控制器,以及处理器或本地总线。
计算机系统10典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统10访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器16可以包括以易失性存储器(例如随机存取存储器(RAM))形式的计算机系统可读介质。计算机系统10还可以包括其它可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统18可被提供用于从不可移动、非易失性磁介质读取和向其写入。如下面将进一步描绘和描述的,存储系统18可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在例如存储器18中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统10也可以与一个或多个外部设备24(例如键盘、指向设备、汽车导航系统、语音系统、显示器26等)通信,还可与一个或者多个使得用户能与该计算机系统10交互的设备通信,和/或与使得该计算机系统10能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统10还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器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或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
这里使用的术语仅用于描述特定实施例的目的,并不意图限制本发明。如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或者添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或它们的组。
以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作和等同物(如果有的话)旨在包括用于结合其他要求保护的元件执行功能的任何结构、材料或动作。为了说明和描述的目的,已经给出了本发明的一个或多个方面的描述,但是不是穷举的,或者不是要将本发明限制为所公开的形式。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (25)
1.一种用于检查用于从记录的集合中检索信息的搜索查询的计算机实现的方法,该方法包括:
接收包括多个谓词和一个或多个约束的搜索查询,每个约束与复数谓词相关联,每个谓词被指定为肯定或否定,所述多个谓词与所述一个或多个约束一起形成逻辑图;
从所述图中生成子图,该子图包括在所述搜索查询的所述多个谓词中被指定为肯定的一个或多个谓词;以及
响应于确定所述子图具有复数组件,使所述搜索查询无效。
2.如权利要求1所述的方法,其中,所述方法还包括:
响应于确定所述子图具有复数组件,通过在属于所述子图中的不同组件的一对谓词之间添加新约束来进一步提供备选查询,其中该对谓词在所述图中通过一个或多个指定为否定的谓词彼此连接。
3.如权利要求2所述的方法,其中,所述方法还包括:
通过指定为否定的所述一个或多个谓词,从该对谓词之间的两个或更多个约束导出所述新约束的内容。
4.如权利要求3所述的方法,其中,所述导出包括:
在该对谓词之间的所述两个或更多个约束的组合的必要条件中计算最强约束作为所述新约束的内容。
5.如权利要求3所述的方法,其中,所述两个或更多个约束包括与所述两个或更多个约束相关联的该对谓词之间的时间间隔或距离的区间,并且所述推导包括:
生成表示该对谓词之间的两个或更多个约束的部分结构;
找到在所述部分结构中串行排列的第一对约束;
通过使用具有第一备选区间的第一备选约束替换所述部分结构中的所述第一对约束,所述第一备选区间从所述第一对约束的开始的总和开始并且以所述第一对约束的结束的总和结束;以及
从获得的所述部分结构计算所述新约束的所述内容。
6.如权利要求3所述的方法,其中,所述两个或更多个约束包括与所述两个或更多个约束相关联的该对谓词之间的时间间隔或距离的区间,并且所述推导包括:
生成表示该对谓词之间的所述两个或更多个约束的部分结构;
找到在所诉部分结构中并行排列的第二对约束;
通过使用具有第二备选区间的第二备选约束替换所述部分结构中的所述第二对约束,所述第二备选区间从所述第二对约束的最大开始开始并且在所述第二对约束的最小端处结束;以及
从获得的所述部分结构计算所述新约束的所述内容。
7.如权利要求3所述的方法,其中,所述导出包括:
生成表示该对谓词之间的所述两个或更多个约束的部分结构;
找到串行排列的第一对约束;
通过使用第一备选约束替换所述第一对约束,使得存在满足所述第一对约束中的两个或更多个约束的中间谓词;
找到并行排列的第二对约束;
通过使用第二备选约束替换所述第二对约束,使得所述第二备选约束是所述第二对约束中的所述两个或更多个约束的结合;以及
从获得的所述部分结构计算所述新约束的所述内容。
8.如权利要求2所述的方法,其中提供所述备选查询包括:
使用所述新约束更新所述子图;以及
响应于所述子图被确定为连接的,提议从所述搜索查询使用所述新约束修改的备选查询;或者
响应于所述子图被确定为未连接的,重复执行所述添加和所述更新,直到所述子图变成连接的。
9.如权利要求2所述的方法,其中,所述方法还包括:
响应于所述图被确定为未连接的,使所述搜索查询无效并放弃提供所述备选查询;或者
响应于所述图被确定为连接的,确定所述搜索查询有效并且确定所述子图具有单个组件。
10.如权利要求1所述的方法,其中通过图形用户界面接收所述搜索查询,在所述图形用户界面上所述搜索查询是可编辑的,并且所述备选查询由所述图形用户界面中的视觉提示呈现,所述视觉提示指示被建议添加的所述新约束的位置。
11.如权利要求1所述的方法,其中在所述图和所述子图上,每个谓词由节点表示,并且每个约束由边表示,并且每个指定为否定的谓词是谓词的否定,每个谓词用于从集合中检索列表,每个约束用于从与每个约束相关联的谓词的相应列表中提取满足约束的一对相应元素。
12.如权利要求2所述的方法,其中,所述方法还包括:
为所述备选搜索查询中的每个谓词检索所述记录的所述集合中的列表;
对于所述备选搜索查询中的相同类型的一对谓词之间的每个约束,提取满足来自与每个约束相关联的所述谓词的相应列表的每个约束的一对相应元素,使得针对相同类型的谓词检索的相应列表被链接;以及
对于在所述备选搜索查询中指定为肯定的第一谓词对和指定为否定的第二谓词之间的每个约束,从对应于所述第一谓词的列表中移除满足每个约束的元素。
13.一种用于检查用于从记录的集合中检索信息的搜索查询的计算机实现的方法,该方法包括:
接收包括多个谓词和一个或多个约束的搜索查询,每个约束与复数谓词相关联,每个谓词被指定为肯定或否定,所述多个谓词与所述一个或多个约束一起形成逻辑图形;
从所述图中生成子图,该子图包括在所述搜索查询的所述多个谓词中被指定为肯定的一个或多个谓词;
在所述子图中找到一对谓词,使得该对谓词中的一个或多个谓词属于所述子图中的不同组件;以及
在该对谓词之间添加新约束以提供备选查询,所述新约束具有从所述图中的该对谓词之间的两个或更多个约束导出的内容。
14.如权利要求13所述的方法,其中,所述方法还包括:
响应于所述图被确定为未连接的,使所述搜索查询无效并放弃提供所述备选查询。
15.如权利要求13所述的方法,其中,所述新约束的所述内容是所述两个或更多个约束的组合的必要条件中的最强约束。
16.一种计算机系统,用于通过执行程序指令来检查用于从记录的集合中检索信息的搜索查询,该计算机系统包括:
存储器,有形地存储所述程序指令;
处理器,与所述存储器通信以执行所述程序指令,所述程序指令包括以下指令:
接收包括多个谓词和一个或多个约束的搜索查询,每个约束与复数谓词相关联,每个谓词被指定为肯定或否定,所述多个谓词与所述一个或多个约束一起形成逻辑图;
从所述图中生成子图,该子图包括在所述搜索查询的所述多个谓词中被指定为肯定的一个或多个谓词;以及
响应于确定所述子图具有复数组件,使所述搜索查询无效。
17.如权利要求16所述的计算机系统,其中,所述计算机系统还被配置为:
响应于确定所述子图具有复数组件,通过在属于所述子图中的不同组件的一对谓词之间添加新约束来提供备选查询,其中该对谓词在所述图中通过一个或多个指定为否定的谓词彼此连接。
18.如权利要求17所述的计算机系统,其中,所述计算机系统还被配置为:
通过指定为否定的所述一个或多个谓词,从该对谓词之间的两个或更多个约束导出所述新约束的内容。
19.如权利要求18所述的计算机系统,其中,所述计算机系统还被配置为:
在两个或更多个约束的组合的必要条件下,在这对谓词之间计算最强约束作为新约束的内容。
20.如权利要求18所述的计算机系统,其中,所述两个或更多个约束包括与所述两个或更多个约束相关联的该对谓词之间的时间间隔或距离的区间,并且所述计算机系统还被配置为:
生成表示该对谓词之间的两个或更多个约束的部分结构;
找到在所述部分结构中串行排列的第一对约束;
通过使用具有第一备选区间的第一备选约束替换所述部分结构中的所述第一对约束,所述第一备选区间从所述第一对约束的开始的总和开始并且以所述第一对约束的结束的总和结束;以及
从获得的所述部分结构计算所述新约束的所述内容。
21.如权利要求18所述的计算机系统,其中,所述两个或更多个约束包括与所述两个或更多个约束相关联的该对谓词之间的时间间隔或距离的区间,并且所述计算机系统还被配置为:
生成表示该对谓词之间的所述两个或更多个约束的部分结构;
找到在所诉部分结构中并行排列的第二对约束;
通过使用具有第二备选区间的第二备选约束替换所述部分结构中的所述第二对约束,所述第二备选区间从所述第二对约束的最大开始开始并且在所述第二对约束的最小端处结束;以及
从获得的所述部分结构计算所述新约束的所述内容。
22.一种用于检查用于从记录的集合中检索信息的搜索查询的计算机程序产品,该计算机程序产品包括具有与其入其中的程序指令的计算机可读存储介质,该程序指令可由计算机执行以使该计算机能够执行包括以下的方法:
接收包括多个谓词和一个或多个约束的搜索查询,每个约束与复数谓词相关联,每个谓词被指定为肯定或否定,所述多个谓词与所述一个或多个约束一起形成逻辑图;
从所述图中生成子图,该子图包括在所述搜索查询的所述多个谓词中被指定为肯定的一个或多个谓词;以及
响应于确定所述子图具有复数组件,使所述搜索查询无效。
23.如权利要求22所述的计算机程序产品,其中,所述方法还包括:
响应于确定所述子图具有复数组件,通过在属于所述子图中的不同组件的一对谓词之间添加新约束来进一步提供备选查询,其中该对谓词在所述图中通过一个或多个指定为否定的谓词彼此连接;以及
通过指定为否定的所述一个或多个谓词,从该对谓词之间的两个或更多个约束导出所述新约束的内容。
24.一种用于提供用户界面的计算机程序产品,在该用户界面上用于从记录的集合中检索信息的搜索查询是可编辑的,所述计算机程序产品包括具有嵌入其中的程序指令的计算机可读存储介质,所述程序指令可被计算机执行,使该计算机执行包括以下的方法:
提供用户界面的屏幕,在该屏幕上以图的形式图形表示搜索查询,所述搜索查询中的每个谓词由图中的节点表示,与所述搜索查询中的复数谓词相关联的每个约束由图中的边表示,通过在所述屏幕上的操作将每个谓词指定为肯定或否定;
如果包括在所述搜索查询中被指定为肯定的一个或多个谓词的所述子图具有复数组件,则通知当前被显示的所述搜索查询是无效的。
25.如权利要求24所述的计算机程序产品,其中,所述方法还包括:
响应于通知搜索查询无效,在视觉上提议在属于所述子图中的不同组件的一对谓词之间添加新约束,其中该对谓词在所述图中通过一个或多个指定为否定的谓词彼此连接;以及
在屏幕上建议所述新约束的内容,所述新约束的所述内容是在所述搜索查询中的所述谓词对之间的两个或更多个约束的组合的必要条件中的最强约束。
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 |
---|---|
CN110637293A true CN110637293A (zh) | 2019-12-31 |
CN110637293B CN110637293B (zh) | 2023-04-04 |
Family
ID=64456079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880031919.3A Active CN110637293B (zh) | 2017-05-31 | 2018-05-30 | 数据分析系统中搜索查询的验证 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10528523B2 (zh) |
JP (1) | JP6995141B2 (zh) |
CN (1) | CN110637293B (zh) |
GB (1) | GB2576663A (zh) |
WO (1) | WO2018220545A1 (zh) |
Families Citing this family (3)
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 |
US11210596B1 (en) | 2020-11-06 | 2021-12-28 | issuerPixel Inc. a Nevada C. Corp | Self-building hierarchically indexed multimedia database |
US20230083598A1 (en) * | 2021-09-14 | 2023-03-16 | International Business Machines Corporation | Suggesting query terms |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670729A (zh) * | 2004-03-18 | 2005-09-21 | 微软公司 | 使用隐含谓词的改善的查询优化器 |
CN102053989A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于确定要被物化的节点的方法和系统 |
US20110314010A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Keyword to query predicate maps for query translation |
US20140059043A1 (en) * | 2012-08-27 | 2014-02-27 | Oracle International Corporation | Normalized ranking of semantic query search results |
CN104285222A (zh) * | 2012-05-07 | 2015-01-14 | 国际商业机器公司 | 使用谓词映射器优化查询 |
CN104915340A (zh) * | 2014-03-10 | 2015-09-16 | 北京大学 | 自然语言问答方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082137A1 (en) * | 2000-04-25 | 2001-11-01 | 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 |
US20050222996A1 (en) | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
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 |
EP2455908A4 (en) | 2009-10-21 | 2012-08-01 | Olympus Medical Systems Corp | MEDICAL WORK SUPPORT SYSTEM |
US8700577B2 (en) * | 2009-12-07 | 2014-04-15 | Accenture Global Services Limited GmbH | Method and system for accelerated data quality enhancement |
US9201860B1 (en) * | 2013-03-12 | 2015-12-01 | Guangsheng Zhang | System and methods for determining sentiment based on context |
JP2014206916A (ja) | 2013-04-15 | 2014-10-30 | 株式会社日立製作所 | 作業履歴分析装置及び作業履歴分析システム並びに作業履歴分析方法 |
-
2017
- 2017-05-31 US US15/609,246 patent/US10528523B2/en active Active
-
2018
- 2018-05-30 GB GB1917130.5A patent/GB2576663A/en not_active Withdrawn
- 2018-05-30 CN CN201880031919.3A patent/CN110637293B/zh active Active
- 2018-05-30 JP JP2019564431A patent/JP6995141B2/ja active Active
- 2018-05-30 WO PCT/IB2018/053838 patent/WO2018220545A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1670729A (zh) * | 2004-03-18 | 2005-09-21 | 微软公司 | 使用隐含谓词的改善的查询优化器 |
CN102053989A (zh) * | 2009-10-30 | 2011-05-11 | 国际商业机器公司 | 用于确定要被物化的节点的方法和系统 |
US20110314010A1 (en) * | 2010-06-17 | 2011-12-22 | Microsoft Corporation | Keyword to query predicate maps for query translation |
CN104285222A (zh) * | 2012-05-07 | 2015-01-14 | 国际商业机器公司 | 使用谓词映射器优化查询 |
US20140059043A1 (en) * | 2012-08-27 | 2014-02-27 | Oracle International Corporation | Normalized ranking of semantic query search results |
CN104915340A (zh) * | 2014-03-10 | 2015-09-16 | 北京大学 | 自然语言问答方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20180349401A1 (en) | 2018-12-06 |
WO2018220545A1 (en) | 2018-12-06 |
GB2576663A (en) | 2020-02-26 |
GB201917130D0 (en) | 2020-01-08 |
JP6995141B2 (ja) | 2022-01-14 |
CN110637293B (zh) | 2023-04-04 |
JP2020522788A (ja) | 2020-07-30 |
US10528523B2 (en) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6865219B2 (ja) | 連続クエリ処理におけるイベントバッチ処理、出力シーケンス化、およびログベースの状態記憶 | |
JP6306599B2 (ja) | 関連情報伝播システム | |
CN110637293B (zh) | 数据分析系统中搜索查询的验证 | |
CN104636130B (zh) | 用于生成事件树的方法和系统 | |
JP2017509971A (ja) | データへの論理的妥当性検査規則の指定および適用 | |
CN109542966B (zh) | 数据融合方法、装置、电子设备及计算机可读介质 | |
US20210133216A1 (en) | Document annotation based on enterprise knowledge graph | |
CN103329130A (zh) | 管理数据集合的更改 | |
JP2012155498A (ja) | データベースサーバ装置、データベース更新方法及びデータベース更新プログラム | |
US20130054539A1 (en) | Database Record Repair | |
US10692593B1 (en) | Identifying events in a badge of a graphical user interface | |
US11557384B2 (en) | Collaborative synthesis-based clinical documentation | |
US20170109409A1 (en) | Event log versioning, synchronization, and consolidation | |
CN111143422A (zh) | 数据检索方法、数据检索装置、存储介质及电子设备 | |
Rentsch et al. | Point-of-contact Interactive Record Linkage (PIRL): A software tool to prospectively link demographic surveillance and health facility data | |
US20180046779A1 (en) | Caching technology for clinical data sources | |
US10311074B1 (en) | Identification and compiling of information relating to an entity | |
CA3169635A1 (en) | Selective synchronization of database objects | |
Waruru et al. | Where no universal health care identifier exists: comparison and determination of the utility of score-based persons matching algorithms using demographic data | |
EP2742443B1 (en) | Database record repair | |
US20160321124A1 (en) | Request processing system that maps errors to corresponding data sources | |
Dewri et al. | Linking health records for federated query processing | |
US9727621B2 (en) | Systems and methods for servicing database events | |
Ravichandran et al. | Implementing an NLP Tool to Address SDOH Needs | |
Busch et al. | Predicting sepsis mortality and costs using medicare claims: a method to the madness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |