一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

跨表搜索方法、装置、设备以及存储介质与流程

2022-08-21 20:25:57 来源:中国专利 TAG:


1.本公开涉及人工智能领域,具体涉及自然语言处理、大数据、知识图谱技术,可应用在智能云、智慧城市、智能政务场景下。


背景技术:

2.表格检索是针对表格形式的结构化数据进行检索的方法。由于表格数据可以直接拿来用,相比其他形式如图谱,表格检索对现有知识改造要求低,这种搜索方案适用范围广。表格检索一般依赖搜索语句(query)理解出的意图和属性,然后根据意图和属性来对应到具体的表格和字段上。


技术实现要素:

3.本公开提供了一种跨表搜索方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种跨表搜索方法,包括:
5.对搜索语句进行解析,得到需要搜索的实体、属性和关系;
6.根据该实体、该属性和该关系,确定跨表搜索策略;
7.根据该跨表搜索策略执行跨表搜索操作。
8.根据本公开的另一方面,提供了一种跨表搜索装置,包括:
9.解析模块,用于对搜索语句进行解析,得到需要搜索的实体、属性和关系;
10.确定模块,用于根据该实体、该属性和该关系,确定跨表搜索策略;
11.执行模块,用于根据该跨表搜索策略执行跨表搜索操作。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与该至少一个处理器通信连接的存储器;其中,
15.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开中任一实施例的方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开中任一实施例的方法。
17.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开中任一实施例的方法。
18.本公开实施例能够支持跨表搜索,能够支持更复杂的使用场景。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.附图用于更好地理解本方案,不构成对本公开的限定。其中:
21.图1是根据本公开一实施例的跨表搜索方法的流程示意图;
22.图2是根据本公开另一实施例的跨表搜索方法的流程示意图;
23.图3是根据本公开另一实施例的跨表搜索方法的流程示意图;
24.图4是根据本公开另一实施例的跨表搜索方法的流程示意图;
25.图5是根据本公开一实施例的跨表搜索装置的结构示意图;
26.图6是根据本公开一实施例的跨表搜索装置的结构示意图;
27.图7是本公开实施例中抽象协议的示意图;
28.图8是用来实现本公开实施例的跨表搜索方法的电子设备的框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.图1是根据本公开一实施例的跨表搜索方法的流程示意图。该方法可以包括:
31.s101、对搜索语句进行解析,得到需要搜索的实体、属性和关系;
32.s102、根据所述实体、所述属性和所述关系,确定跨表搜索策略;
33.s103、根据所述跨表搜索策略执行跨表搜索操作。
34.在本公开实施例中,搜索也可以称为检索,搜索语句(query)也可以称为搜索请求、检索语句、检索请求等。搜索语句中可以包括用户需要搜索的具体内容例如多个搜索词。对搜索语句进行解析,可以确定用户需要搜索的具体的实体、属性和关系。不同实体关系的组合可以对应不同的意图。对一个搜索语句解析,可能得到一个或多个实体,也可能得到每个实体对应的一个或多个属性,还可能得到不同实体间的关系。例如,解析搜索语句得到《实体a,属性a1、a2》,《实体b,属性b1、b2、b3》,《实体c,属性c》,实体a与实体b是r1关系,实体b与实体c是r2关系。
35.根据解析得到的各实体、实体内的各属性和各实体间的关系,可以确定一个或多个跨表搜索策略。跨表搜索策略可以对应有需要执行的跨表搜索操作(或者称为跨表搜索行为)。例如,通过搜索协议的方式预先设置不同的跨表搜索策略需要执行的跨表搜索操作。在确定跨表搜索策略需要执行的跨表搜索操作之后,可以在搜索数据源中的执行按照该跨表搜索操作。其中,搜索的数据源可以包括若干个实体表组成的实体表集合。通过解析搜索语句,得到需要搜索的实体、属性和关系,根据实体、属性和关系确定的跨表搜索策略能够快速准确的执行跨表搜索操作,从而能够支持跨表搜索,能够支持更复杂的使用场景。例如,通过抽象协议设置跨表搜索策略,使意图、策略、数据解耦,拓展性更好,维护成本更低。由于采用的是抽象协议,而非特定数据库语言,能够支持多种类型数据库,产品可复制性更强。此外,通过抽象协议能指定数据库类型自动适配,不需要再转义开发。
36.图2是根据本公开另一实施例的跨表搜索方法的流程示意图。该实施例的方法包括上述跨表搜索方法实施例的一个或多个特征。在一种可能的实施方式中,在s102中,根据所述实体、所述属性和所述关系,确定跨表搜索策略,包括:
37.s201、根据所述实体和所述实体内的属性,确定实体内跨表搜索策略;
38.s202、根据所述实体间的关系,确定实体间跨表搜索策略。
39.在本公开实施例中,s201和s202不限定执行顺序,可以先执行s201再执行s202,也可以先执行s202再执行s201,还可以并行执行。如果解析搜索语句得到每个实体内包括的属性,可以确定每个实体对应的实体内跨表搜索策略。实体内跨表搜索策略可以对应有实体内跨表搜索操作。由于一个实体的特征匹配字段可能出现在多个表格中,因此,可以在该实体对应的多个表格、即实体表中,搜索与这个实体相关的一个或多个属性。如果需要搜索的该实体的属性较多,可能会分散在不同实体表中,可以在不同的实体表中分别进行搜索,执行实体内跨表搜索操作。如果解析搜索语句还得到多个实体以及实体间的关系,可以按照实体间的关系确定实体间跨表搜索策略。实体间跨表搜索策略可以对应有实体间跨表搜索操作。在执行完一个实体的对应的实体内跨表搜索操作后,执行另一个实体的对应的实体内跨表搜索操作。通过实体内跨表搜索策略和实体间跨表搜索策略,可以支持跨表搜索的操作,能够支持多实体的更复杂的使用场景。
40.在一种可能的实施方式中,在s201中,根据所述实体和所述实体内的属性,确定实体内跨表搜索策略,包括:确定所述实体对应的特征匹配字段;确定所述实体内的属性对应的属性匹配字段。
41.在本公开实施例中,每个实体可以具有用于唯一确定该实体的特征匹配字段。特征匹配字段可以在搜索协议中预先配置,从搜索语句中解析出实体后,可以查找该实体对应的特征匹配字段。特征匹配字段也可以在搜索语句中携带,通过解析搜索语句直接获取。每个实体的特征匹配字段可能有一个,也可能有多个。不同类型的实体的特征匹配字段可能不同。例如,酒店的特征匹配字段可以包括“酒店名称”和“电话号码”,航班的特征匹配字段可以包括“航班号”和“归属公司”。根据搜索语句可能解析出实体内的多个属性。基于实体内的属性,可以确定该实体需要搜索的属性匹配字段。不同实体需要搜索的属性匹配字段可能不同,也可能有部分相同。特征匹配字段和属性匹配字段可以相同或部分相同,也可以不同。不同的属性匹配字段可能分散在多个实体表中,可以在多个实体表中搜索获取所需的结果。通过特征匹配字段和属性匹配字段能够确定需要搜索的实体和实体内的属性所归属的实体表,从而能够执行实体内跨表搜索操作。
42.在一种可能的实施方式中,如图3所示,在s103中,根据所述跨表搜索策略执行跨表搜索操作,包括:
43.s301、在实体表集合中,查找包括各特征匹配字段的各相关实体表,所述特征匹配字段用于确定目标实体的特征的字段;
44.s302、从各所述相关实体表中,查找包括至少一个属性匹配字段的目标实体表,所述属性匹配字段为所述目标实体内的目标属性对应的字段;
45.s303、在所述目标实体表中,搜索与匹配条件对应的搜索结果,所述匹配条件包括根据所述目标实体内的目标属性确定的需要匹配的条件;
46.其中,在存在多个目标实体表的情况下,基于前一个目标实体表的搜索结果和后一个目标实体表涉及的实体属性确定后一个目标实体表的匹配条件。然后,重复执行s303。
47.在本公开实施例中,在确定出实体内跨表搜索策略后,可以根据实体内跨表搜索策略执行对应的实体内跨表搜索操作。具体地,根据目标实体的各特征匹配字段可能在实体表集合中查找到符合要求的一个或多个目标实体表。如果查找到一个目标实体表,则根据需要搜索的目标实体内的目标属性,在该目标实体表内根据匹配条件搜索得到搜索结
果。如果查找到多个目标实体表,可以根据需要搜索的目标实体内的目标属性确定出包括具体属性匹配字段的一个或多个目标实体表。如果只有一个目标实体表,可以该目标实体表中根据匹配条件进行查找。如果有多个目标实体表,可以在多个目标实体表中串行搜索,基于前一个目标实体表的搜索结果和后一个目标实体表涉及的实体属性,得到后一个目标实体表的搜索结果,直到搜索完所有的目标实体表,得到目标实体对应的搜索结果。例如,在实体表集合中,包括实体m的特征匹配字段m1和m2的相关实体表为t1、t2和t3。其中,t1包括实体m的属性匹配字段m3,t2包括实体m的属性匹配字段m4和m5。t1和t2可以是实体对应的目标实体表。根据属性匹配字段m3对应的匹配条件在t1搜索,根据属性匹配字段m4和m5对应的匹配条件在t2搜索。
48.在本公开实施例中,可以根据目标实体内的需要搜索的属性确定的匹配条件、即属性匹配条件。例如,如果某个实体“酒店”的一个需要搜索的属性名为“地址”,属性值为“xx路x号”,可以将该属性名和该属性值作为一个属性匹配条件。再如,如果某个实体“航班”的一个需要搜索的属性名为“飞行日期”,属性值为“x月x日”,可以将该属性名和该属性值作为一个属性匹配条件。根据不同的属性匹配条件可能在目标实体表中查找到不同的结果。此外,目标实体表所用的属性匹配条件可以是一个,也可以是多个。不同目标实体表所用的属性匹配条件可能相同,可能部分相同,也可能不同。
49.如果某个目标实体存在多个目标实体表,可以串行搜索,例如基于前一个目标实体表的属性匹配条件得到搜索结果后,可以将基于该搜索结果得到下一个目标实体表的部分属性匹配条件,也可以为下一个目标实体表增加其他的属性匹配条件,然后在该下一个目标实体表进行搜索。
50.在本公开实施例中,通过特征匹配字段确定出各相关实体表后,可以通过属性匹配字段从相关实体表中进一步确定各目标实体表,从而能够在符合属性要求的各目标实体表中分别进行搜索,得到更加全面准确的目标实体的搜索结果。
51.在一种可能的实施方式中,在s202中,根据所述实体间的关系,确定实体间跨表搜索策略,包括:根据所述实体间的关系,获取多个实体的表间级联关系。
52.在本公开实施例中,实体间的关系可能有多种类型。例如,人物和酒店之间的入住关系,人物和航班之间的乘坐关系,城市和酒店之间的位置归属关系等。可以预先设置各种实体间的关系对应的表间级联关系。例如,在乘坐关系中,需要基于人物的基础信息表的搜索结果,搜索航班的基础信息表,获取航班相关字段的内容。再如,在位置归属关系中,需要基于城市的基础信息表的搜索结果,搜索酒店的基础信息表,获取酒店相关字段的内容。在根据搜索语句解析得到实体间的关系后,可以基于实体间的关系在预先设置的表间级联关系中,查找到该实体间的关系对应的表间级联关系。如果解析得到实体间的关系的数量有多个,可以分别查找每个实体间的关系对应的表间级联关系。通过多个实体的表间级联关系可以在不同实体的实体表之间跳转查找,能够支持涉及更多实体的复杂的搜索场景。
53.在一种可能的实施方式中,所述表间级联关系包括每次搜索的表名和搜索逻辑,在所述实体间的关系为第一目标实体与第二目标实体的关系的情况下,所述表间级联关系中的起始表名为第一目标实体的相关实体表的表名,和/或,所述表间级联关系中的终止表名为第二目标实体的相关实体表的表名。
54.在本公开实施例中,表间级联关系可以采用json(javascript object notation,
javascript对象表示法)进行描述。表间级联关系可以包括每次搜索某个实体间的关系涉及的哪个表格的哪些字段,基于怎样的搜索逻辑搜索该表格的这些字段。表间级联关系还可以包括本次搜索完毕后是结束,还是继续搜索下一个表格,以及继续搜索的表名、匹配字段的名称和匹配条件等。例如,一种表间搜索关系可以表示:基于人基础表的搜索结果,在航班表中搜索是否有人物“张三”的航班信息。再如,一种表间搜索关系可以表示:基于人基础表的搜索结果,在酒店入住表中搜索与人物“张三”在某段时间同住一个酒店的其他入住人员信息。基于其他入住人员信息,在航班表中搜索其他入住人员在某时间范围的航班号。
55.表间级联关系中每次搜索的表名可能是第一目标实体的某个相关实体表的表名,也可能是第二目标实体的某个相关实体表的表名。如果根据表间级联关系只需要进行一次搜索,这次搜索的表名可以既是起始表名,也是终止表名。如果根据表间级联关系需要进行多次搜索,则可以从起始表名对应的实体表到终止表名对应的实体表逐个进行搜索。表间级联关系中每次搜索的搜索逻辑可能包括需要搜索的匹配字段,还可能包括匹配方式,还可能包括目标字段。匹配方式可以包括例如,精确匹配、模糊匹配、语义匹配、关系匹配、范围匹配等。目标字段可以包括需要输出的具体字段名,例如与第二目标实体的相关的某个字段名。
56.通过表间级联关系可以执行不同实体间的跨表搜索操作,支持多实体的复杂搜索场景。
57.在一种可能的实施方式中,如图4所示,根据所述跨表搜索策略执行跨表搜索操作,包括:
58.s401、根据所述表间级联关系的第一次搜索的起始表名,在所述起始表名对应的实体表中基于起始匹配条件进行搜索,得到第一次搜索结果,所述起始匹配条件是基于第一目标实体的搜索结果和本次搜索逻辑确定的。
59.在本公开实施例中,如果某个表间级联关系只包括一次搜索,第一次搜索也是最后一次搜索,则基于第一次搜索结果可以得到第二目标实体所需的匹配条件,然后根据第二目标实体的特征匹配字段、属性匹配字段可以进行第二目标实体内的跨表搜索操作(参见步骤s301至s303)。如果某个表间级联关系包括多次搜索,则第一次搜索结果可以用于和下一次的搜索逻辑结合确定下一次搜索的匹配条件。例如,将第一次搜索结果包括的字段值,输入下一次的搜索逻辑中对应的匹配字段中,按照下一次的搜索逻辑的匹配方式进行搜索。通过起始匹配条件可以将之前搜索的第一目标实体的搜索结果和本次搜索逻辑结合起来,在与第一目标实体相关的起始表名对应的实体表中进行搜索,从而能够将第一目标实体与其他实体关联搜索。
60.在一种可能的实施方式中,如图4所示,根据所述跨表搜索策略执行跨表搜索操作,还包括:
61.s403、根据所述表间级联关系的最后一次搜索的终止表名,在所述最后一次搜索对应的实体表中基于终止匹配条件进行搜索,得到最后一次搜索结果,所述终止匹配条件是基于上一次搜索结果和本次搜索逻辑确定的。
62.在本公开实施例中,如果某个表间级联关系只包括两次搜索,最后一次搜索的终止匹配条件是基于第一次搜索结果和本次搜索逻辑确定的。例如,将第一次搜索结果包括的字段值,输入最后一次的搜索逻辑中对应的匹配字段中,按照最后一次的搜索逻辑的匹
配方式进行搜索。
63.如果某个表间级联关系包括大于两次的搜索,最后一次搜索的终止匹配条件是基于上次的中间搜索结果和本次搜索逻辑确定的。例如,将上次的中间搜索结果包括的字段值,输入最后一次的搜索逻辑中对应的匹配字段中,按照最后一次的搜索逻辑的匹配方式进行搜索。
64.基于最后一次搜索结果可以得到第二目标实体所需的匹配条件,然后根据第二目标实体的特征匹配字段、属性匹配字段可以进行第二目标实体内的跨表搜索操作(参见步骤s301至s303)。
65.通过终止匹配条件可以将之前的搜索结果和本次搜索逻辑结合起来,在与第二目标实体相关的终止表名对应的实体表中进行搜索,从而能够将第一目标实体与第二目标实体关联搜索。
66.在一种可能的实施方式中,如图4所示,在所述第一次搜索和所述最后一次搜索之间包括至少一个中间搜索的情况下,根据所述跨表搜索策略执行跨表搜索操作,还包括:
67.s402、根据所述表间级联关系的中间搜索的中间表名和中间匹配条件进行搜索,在所述中间搜索对应的实体表中基于所述中间匹配条件和中间匹配逻辑进行搜索,得到中间搜索结果,所述中间匹配条件是基于上一次搜索结果和本次搜索逻辑确定的。
68.在本公开实施例中,某个表间级联关系可能包括一次或多次中间搜索,可以循环执行多次s402,每次中间搜索的中间匹配条件是基于上一次搜索结果和本次搜索逻辑确定的。例如,将一次搜索结果包括的字段值,输入本次搜索逻辑中对应的匹配字段中,按照本次搜索逻辑的匹配方式进行搜索。
69.通过中间搜索可以支持表间级联关系包括更加复杂的搜索逻辑,拓展表格搜索的适用场景复杂度。
70.图5是根据本公开一实施例的跨表搜索装置的结构示意图,该装置可以包括:
71.解析模块501,用于对搜索语句进行解析,得到需要搜索的实体、属性和关系;
72.确定模块502,用于根据所述实体、所述属性和所述关系,确定跨表搜索策略;
73.执行模块503,用于根据所述跨表搜索策略执行跨表搜索操作。
74.图6是根据本公开另一实施例的跨表搜索装置的结构示意图。该实施例的装置包括上述跨表搜索装置实施例的一个或多个特征。在一种可能的实施方式中,所述确定模块502包括:
75.第一确定子模块601,用于根据所述实体和所述实体内的属性,确定实体内跨表搜索策略;
76.第二确定子模块602,用于根据所述实体间的关系,确定实体间跨表搜索策略。
77.在一种可能的实施方式中,所述第一确定子模块601用于:确定所述实体对应的特征匹配字段;确定所述实体内的属性对应的属性匹配字段。
78.在一种可能的实施方式中,所述执行模块503包括:
79.相关实体表查找子模块603,用于在实体表集合中,查找包括各特征匹配字段的各相关实体表,所述特征匹配字段用于确定目标实体的特征的字段;
80.目标实体表查找子模块604,用于从各所述相关实体表中,查找包括至少一个属性匹配字段的目标实体表,所述属性匹配字段为所述目标实体内的目标属性对应的字段;
81.搜索子模块605,用于在所述目标实体表中,搜索与匹配条件对应的搜索结果,所述匹配条件包括根据所述目标实体内的目标属性确定的需要匹配的条件;
82.其中,在存在多个目标实体表的情况下,基于前一个目标实体表的搜索结果和后一个目标实体表涉及的实体属性确定后一个目标实体表的匹配条件。
83.在一种可能的实施方式中,所述第二确定子模块602用于根据所述实体间的关系,获取多个实体的表间级联关系。
84.在一种可能的实施方式中,所述表间级联关系包括每次搜索的表名和搜索逻辑,在所述实体间的关系为第一目标实体与第二目标实体的关系的情况下,所述表间级联关系中的起始表名为第一目标实体的相关实体表的表名,和/或,所述表间级联关系中的终止表名为第二目标实体的相关实体表的表名。
85.在一种可能的实施方式中,所述执行模块503包括:
86.起始子模块607,用于根据所述表间级联关系的第一次搜索的起始表名,在所述起始表名对应的实体表中基于起始匹配条件进行搜索,得到第一次搜索结果,所述起始匹配条件是基于第一目标实体的搜索结果和本次搜索逻辑确定的。
87.在一种可能的实施方式中,所述执行模块503还包括:
88.终止子模块608,用于根据所述表间级联关系的最后一次搜索的终止表名,在所述最后一次搜索对应的实体表中基于终止匹配条件进行搜索,得到最后一次搜索结果,所述终止匹配条件是基于上一次搜索结果和本次搜索逻辑确定的。
89.在一种可能的实施方式中,所述执行模块503还包括:
90.中间子模块609,用于在所述第一次搜索和所述最后一次搜索之间包括至少一个中间搜索的情况下,根据所述表间级联关系的中间搜索的中间表名和中间匹配条件进行搜索,在所述中间搜索对应的实体表中基于所述中间匹配条件和中间匹配逻辑进行搜索,得到中间搜索结果,所述中间匹配条件是基于上一次搜索结果和本次搜索逻辑确定的。
91.本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
92.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
93.相关技术中的表格搜索大多是单表搜索,因为从搜索语句(query)理解到具体表间操作难以表示,且query理解层面也无法确定数据是如何分表存储的,因此难以映射。少数跨表搜索需要采用定制化的方案,需要将query意图与搜索表的范围绑定,并在策略中实现每种意图的处理逻辑,这样query理解、搜索策略、数据管理相互间完全耦合,维护和拓展成本很大。
94.本公开实施例提供的跨表搜索方法是一种基于抽象协议的跨表格搜索的方法,可以极大地拓展表格搜索的适用场景复杂度,降低维护成本。
95.本公开实施例可用于多种场景例如智能云、智慧城市、智能政务场景、公安场景等。如果数据分散在多个部门的多类表格中,通过本公开实施例的搜索方案,能够较好地满足了用户的信息搜索需求。
96.本公开实施例的跨表搜索方法,可以将跨表搜索需要的信息进行进一步的抽象提炼,各模块间在抽象表示层通信,将query理解、搜索策略、数据管理相互之间解耦,使整个
知识搜索系统更灵活,极大降低了维护成本并提高可拓展性和易用性。
97.该跨表搜索方法可以通过抽象协议使意图、策略、数据解耦,拓展性更好,维护成本更低。如图7所示,抽象协议主要可以涉及以下内容:
98.701、搜索语句(query)理解的输出协议:相关技术query理解出的是意图、属性,本公开实施例query理解出的是实体、关系和属性。不同实体关系的组合对应不同的意图。实体、关系数量远小于意图数,而属性与实体的关系也更具现实意义,从而使搜索策略的设计能更抽象和普适。此外,表格本身不是基于意图而是基于实体来进行的梳理归纳,因此query理解、搜索策略、表格管理的对话能更流畅(各个模块都能较好地理解上下游)。
99.702、搜索策略的输出协议:相关技术搜索策略产出的是数据库语言,如sql(structured query language,结构化查询语言)、dsl(domain specified language,领域专用语言)。本公开实施例将搜索策略的表达对多类数据库进行了抽象。例如,一次单表搜索需要的信息可以包括:表名、目标字段、匹配字段(例如特征匹配字段、属性匹配字段等)、匹配方式的一项或者多项。跨表搜索过程可以包括顺序地进行单表搜索,从而对不同存储介质更兼容。通过搜索依赖并行、大数据集群计算等具体搜索执行方法,使得搜索过程也能变得更灵活可控。
100.703、跨表操作的策略协议,或称为搜索执行的策略协议:跨表搜索的主要难点是跨表关系难以表达,因此现有的跨表搜索都是定制化实现。
101.本公开实施例可以将跨表行为设置为多种类型,例如:单实体内跨表行为和实体间的关系的跨表行为。表格搜索的基本信息可以包括:表名、匹配字段、目标字段中的一项或者多项,上次搜索输出目标字段作为下次搜索的匹配字段,从而实现跨表。
102.将实体内跨表行为设置为依次查找匹配属性条件的实体表,其中实体表通过实体唯一字段、属性对应的字段自动查找(可能在多张表里都包含实体唯一字段,如姓名、身份证)。
103.将实体间的关系的跨表行为用json描述为指定表名、匹配字段、目标字段的表间级联关系。搜索策略可识别。
104.704、表格管理(注册)的协议,或称为配置协议:相关技术对于表格数据的变更,需要同时更新意图-表映射、表-字段映射、字段-属性名映射。在本公开实施例中,只需要维护字段-属性名的映射、有限一些关系的表间级联json描述(即关系-跨表定义)。例如,json描述中可以包括2个核心表名、几个核心字段名、每次搜索的约束条件等。
105.进一步地,搜索方法的执行过程中具有以下特点:
106.数据依赖:配置表格字段名与属性名的映射关系,配置关系对应的最小粒度表间级联。
107.搜索过程:从上游query理解模块获取query里包含的实体、实体内的属性、实体间的关系,搜索策略将实体、属性、关系解析成支持跨表的抽象的搜索协议,发往下游执行搜索协议涉及的搜索操作。
108.除了抽象协议,还可以在第三方的基础上扩展协议到多种数据库的解释器,从而直接支持多种数据库的搜索。
109.一种搜索过程的示例可以包括:
110.1.通过搜索语句(query)理解解析出实体,如:人
111.2.根据配置找到实体对应的特征匹配字段,如:人的特征匹配字段包括“姓名”和“身份证”。
112.3.通过实体的特征匹配字段找该实体所有相关的实体表(包含这两个特征匹配字段的表)。如:“姓名”和“身份证”字段同时存在与“人基础表”、“酒店入住表”、其他表等。
113.4.通过实体属性从所有相关的实体表中找到要匹配条件的字段(即属性匹配字段)所在目标实体表,如:人的匹配条件包括(性别“男”,出生地“xxx”、入住时间“x月x日”),在人基础表中查找“性别”和“出生地”,在酒店入住表查找“入住时间”。
114.5.通过上述信息执行搜索过程,输出的目标字段可以包括目标实体表的默认字段,可以返回满足条件的实体的所有信息。输出的目标字段也可以目标实体表中的指定字段,可以返回满足条件的实体的部分信息。如上面的实体内跨表查询过程可以包括:人基础表(性别=男,出生地=xxx)-》酒店入住表(姓名=前表查询姓名,身份证号=前表查询身份证号,酒店入住时间=x月x日)。
115.本公开实施例能够支持跨表搜索,能支持更复杂的使用场景;通过抽象协议使意图、策略、数据解耦,拓展性更好,维护成本更低;由于采用的是抽象协议,且支持转换成多种类型数据库语言,产品可复制性更强。
116.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
117.图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
118.如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
119.设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
120.计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如跨表搜索方法。例如,在一些实施例中,跨表搜索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程
序加载到ram 803并由计算单元801执行时,可以执行上文描述的跨表搜索方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行跨表搜索方法。
121.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
122.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
123.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
124.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
125.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
126.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
127.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
128.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献