信息查询方法及装置与流程

文档序号:11654314阅读:199来源:国知局
信息查询方法及装置与流程

本申请涉及互联网技术领域,尤其涉及一种信息查询方法及装置。



背景技术:

随着互联网技术的不断发展,使用互联网的用户数量越来越多,用户通过互联网查询需要的信息变得越来越频繁。

在一些特定的例如网站的自助服务、答疑机器人等场景下,用户可以发送用户问题来获得查询结果,而无需求助于人工客服。这样,可以大大降低人工客服的工作量。

现有技术中,由于不同用户需要查询的问题存在有不同的影响因素,而不同影响因素对应的结果也不相同;所以,通常会对不同影响因素一一列出对应的结果,生成一个静态文本(即查询结果)供用户查看。例如,用户查询转账到账时间,由于存在很多不同的影响因素,如转账银行(不同银行处理效率不同,会导致到账时间不同),转账发起时间(服务时间内转账和非服务时间转账的不同,也会导致到账时间不同)等;以下根据不同影响因素示出一个静态文本的表格答案:

表1

如上表1中仅列举了3个银行,而现实中存在的银行远远超过这个数量,如果每个银行的服务时间都不相同,甚至部分银行可能还会有特殊的转账到账时间限制,那么整个的静态文件就会变得又多又复杂,例如“服务时间内2小时内到账”这样的内容大量重复,在存储静态文件时就会造成占用较大存储空间的问题。

而且,用户需要的答案信息往往只是静态文件中的一小部分而已,为了这么一小部分,用户需要从大段的内容中找出需要的一小部分内容,这样就造成了用户可读性较差,体验较低的问题。



技术实现要素:

本申请提供的信息查询方法及装置,以解决现有技术中存在由于查询结果冗长,不仅占用大量的存储空间,而且用户可读性较差,用户体验较低的问题。

根据本申请实施例提供的一种信息查询方法,所述方法包括:

接收用户发送的根据问题集合所提供的答案集合;其中,所述答案集合由至少一个问题的答案组成;

根据所述答案集合和所述问题集合,在预设的信息树中进行匹配;其中,所述问题集合中的问题和所述答案集合中的答案一一对应,所述信息树为:由至少一个的节点构成的具有树形层次关系的节点集合,非叶子节点代表一个判断信息,所述判断信息为一个问题,非叶子节点与其不同子节点分别通过不同的条件信息关联,每个条件信息分别为一个答案,叶子节点代表“问题-答案”对和信息模版,所述信息模版具有待填字段;

在所述信息树中匹配到叶子节点时,获取该叶子节点代表的“问题-答案”对和信息模版;

将所述答案集合中的答案和所匹配到的叶子节点代表的答案写入到所匹配到的信息模版的待填字段中,从而生成查询结果。

可选的,根据所述答案集合和所述问题集合,在预设的信息树中进行匹配,具体包括:

a1:将所述信息树中的根节点确定为当前节点;

a2:在所述当前节点代表的判断信息与所述问题集合中任一问题匹配成功的情况下,获取所述当前节点与其不同子节点关联的条件信息;

a3:在所述匹配成功的问题对应答案与任一所述条件信息匹配成功的情况下,获取匹配成功的条件信息关联的子节点;

a4:将所述子节点确定为当前节点,重复执行a2,直到当前节点为叶子节点。

可选的,将所述答案信息集合中的答案和所匹配到的叶子节点中的答案写入到所匹配到的信息模版的待填字段中,具体包括:

在所述问题集合中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所述问题对应在所述答案集合中的答案赋予该待填字段;

在所匹配到的“问题-答案”对中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所匹配到的“问题-答案”对中答案赋予该待填字段。

可选的,所述方法还包括:

将所述查询结果返回给用户。

根据本申请实施例提供的一种信息查询装置,所述装置包括:

接收单元,接收用户发送的根据问题集合所提供的答案集合;其中,所述答案集合由至少一个问题的答案组成;

匹配单元,根据所述答案集合和所述问题集合,在预设的信息树中进行匹配;其中,所述问题集合中的问题和所述答案集合中的答案一一对应,所述信息树为:由至少一个的节点构成的具有树形层次关系的节点集合,非叶子节点代表一个判断信息,所述判断信息为一个问题,非叶子节点与其不同子节点分别通过不同的条件信息关联,每个条件信息分别为一个答案,叶子节点代表“问题-答案”对和信息模版,所述信息模版具有待填字段;

获取单元,在所述信息树中匹配到叶子节点时,获取该叶子节点代表的“问题-答案”对和信息模版;

生成单元,将所述答案集合中的答案和所匹配到的叶子节点代表的答案写入到所匹配到的信息模版的待填字段中,从而生成查询结果。

可选的,所述匹配单元,具体包括:

确定子单元,将所述信息树中的根节点确定为当前节点;

第一获取子单元,在所述当前节点代表的判断信息与所述问题集合中任一问题匹配成功的情况下,获取所述当前节点与其不同子节点关联的条件信息;

第二获取子单元,在所述匹配成功的问题对应答案与任一所述条件信息匹配成功的情况下,获取匹配成功的条件信息关联的子节点;

循环控制子单元,将所述子节点确定为当前节点,在当前节点为非叶子节点时,重复执行所述第一获取子单元,直到当前节点为叶子节点。

可选的,所述生成单元,具体包括:

第一写入子单元,在所述问题集合中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所述问题对应在所述答案集合中的答案赋予该待填字段;

第二写入子单元,在所匹配到的“问题-答案”对中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所匹配到的“问题-答案”对中答案赋予该待填字段;

生成子单元,将赋值完成后的信息模版确定为查询结果。

可选的,所述装置还包括:

返回单元,将所述查询结果返回给用户。

本申请实施例中,运用了树这种数据结构,将原本静态文本中重复使用的内容以信息模版的形式存放在信息树的叶子节点中,将答案以“问题-答案”对的形式存放在同一个叶子节点中。如此,原本查询结果中重复存储的内容只需存储一次,避免了占用较多的存储空间;并且通过动态组装的方式得出的查询结果相比于现有技术较为简洁并且具有用户提供个性化答案,因此拥有更好的可读性,提升了用户体验。

附图说明

图1是本申请一实施例提供的信息查询方法的流程图;

图2是本申请提供的用户根据问题提供答案的示意图;

图3是本申请提供的树的结构示意图;

图4是本申请提供的信息树的结构示意图;

图5是本申请提供的信息模版示意图;

图6是本申请提供的查询结果示意图;

图7是本申请提供的另一个查询结果示意图;

图8是本申请提供的信息查询装置所在设备的一种硬件结构图;

图9是本申请一实施例提供的信息查询装置的模块示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

参见图1,为本申请一实施例提供的信息查询方法的流程图,该实施例从服务器侧进行描述,所述方法具体可以包括以下步骤:

步骤110:接收用户发送的根据问题集合所提供的答案集合。

本实施例中,所述答案集合由至少一个问题的答案组成。

举例说明:

例子1,如图2所示的用户根据问题提供答案的示意图中,整个过程从(a)到(h),通过用户和应用平台之间多次信息交互,并在(h)之后向服务器发送答案集合,该答案集合由每个问题对应的答案组合而成,如此服务器可以接收到所述答案集合。

(a)中,用户进入自主服务窗口,用户首先输入需要查询的内容“人工加急转账时间”,应用平台回复“请问您现在是否已经到账?”,用户在信息输入框中输入“未到账”并点击发送按钮;

(b)中,应用平台接收并缓存“未到账”,接着回复“请问您使用什么类型转账?”,用户在信息输入框中输入“银行”并点击发送按钮;

(c)中,应用平台接收并缓存“银行”,接着回复“请问具体是哪家银行?”,用户在信息输入框中输入“招商银行”并点击发送按钮;

(d)中,应用平台接收并缓存“招商银行”,接着回复“请问您是在什么时间转账的?”,用户在信息输入框中输入“2016-07-2514:24:30”并点击发送按钮;

(e)中,应用平台接收并缓存“2016-07-2514:24:30”,接着回复“请问当时是否为该银行服务时间?”,用户在信息输入框中输入“服务时间”并点击发送按钮;

(f)中,应用平台接收并缓存“服务时间”,接着回复“请问您的转账金额是多少?”,用户在信息输入框中输入“3000”并点击发送按钮;

(g)中,应用平台接收并缓存“3000”,接着回复“银行预计到账时间是?”,用户在信息输入框中输入“2016-07-2516:24:30”并点击发送按钮;

(h)中,应用平台接收并缓存“2016-07-2516:24:30”,接着回复“正在为您查询是否可以人工加急,请稍等~”;

然后,所述应用平台将上述缓存的答案组合后,生成答案集合。

则该例子1中的答案集合可以为{2016-07-2514:24:30,招商银行,未到账,银行,服务时间,3000,2016-07-2516:24:30};

值得一提的是,所述答案集合中的答案和对应的问题集合中的问题是一一对应。

一般的,由于问题的内容较长,所以会使用一个对应的字段名来替代问题。例如,该例子1中的问题集合可以是{transfer_time,transfer_bank,transfer_state,transfer_tpye,transfer_time_tpye,transfer_amount,transfer_predict_time}

其中,transfer_time表示转账时间即为问题,2016-07-2514:24:30为该问题(转账时间)的答案;

transfer_bank表示银行名词即为问题,招商银行为该问题(银行名词)的答案;

transfer_state表示到账情况即为问题,未到账为该问题(到账情况)的答案;

transfer_tpye表示转账类型即为问题,银行为该问题(转账类型)的答案;

transfer_time_tpye表示是否在服务时间即为问题,服务时间为该问题(转账时间)的答案;

transfer_amount表示转账金额即为问题,3000为该问题(转账金额)的答案;

transfer_predict_time表示预计到账时间即为问题,2016-07-2516:24:30为该问题(预计到账时间)的答案。

值得一提的是,在实际应用中,用户发送的集合还可以是以“问题-答案”对的形式组成的。具体地,可以是键值对的形式组合的,即问题对应了键,答案对应了值。

步骤120:根据所述答案集合和所述问题集合,在预设的信息树中进行匹配。

本实施例中,服务器在接收到用户发送的答案集合后,可以结合所述问题集合,在预设的信息树中进行匹配。如前所述,所述问题集合中的问题和所述答案集合中的答案一一对应。

所述信息树是一种树形的数据结构,而所述数据结构是计算机中存储、组织数据的方式。

如图3所示的树的结构示意图,之所以将其称之为树,是因为该结构看起来像一棵倒挂的树,即树的根朝上,叶朝下。所述树具有如下特点:

不同相邻层次的节点之间通过条件信息关联,例如图3中节点1和节点2关联的线即为一个条件信息;

一个子节点有且只有一个父节点,例如图3中的节点8有且只有一个父节点3;

没有父节点的节点称为根节点,一个树结构中根节点只有1个,例如图3中的节点1;

没有子节点的节点称为叶子节点,例如图3中节点5、6、7、8、…、或14;

有子节点的节点称为非叶子节点,例如图3中的节点1、2、3或4;

本实施例中,可以在服务器中预先配置信息树,

具体地,所述信息树为:

由至少一个的节点构成的具有树形层次关系的节点集合,非叶子节点代表一个判断信息,所述判断信息为一个问题,非叶子节点与其不同子节点分别通过不同的条件信息关联,每个条件信息分别为一个答案,叶子节点代表“问题-答案”对和信息模版,所述信息模版具有待填字段。

本实施例中,所述步骤120具体可以包括如下步骤:

a1:将所述信息树中的根节点确定为当前节点;

a2:在所述当前节点代表的判断信息与所述问题集合中任一问题匹配成功的情况下,获取所述当前节点与其不同子节点关联的条件信息;

a3:在所述匹配成功的问题对应答案与任一所述条件信息匹配成功的情况下,获取匹配成功条件信息关联的子节点;

a4:将所述子节点确定为当前节点,重复执行a2,直到当前节点为叶子节点。

举例说明:

例子2,继续沿用步骤110中例子1所示的答案集合为{2016-07-2514:24:30,招商银行,未到账,银行,服务时间,3000,2016-07-2516:24:30};

所述问题集合为{transfer_time,transfer_bank,transfer_state,transfer_tpye,transfer_time_tpye,transfer_amount,transfer_predict_time};

根据上述答案集合和问题集合在图4所示的信息树中进行匹配,步骤a1-a3的执行过程如下所示:

执行a1,将该信息树中的根节点即节点1确定为当前节点;

执行a2,由于节点1中的判断信息“transfer_state”与问题集合中“transfer_state”相同,所以可以获取该节点1下的条件信息即“已到帐”和“未到账”;

执行a3,由于问题“transfer_state”对应在答案集合中的答案是“未到账”,与该节点1下的条件信息“未到账”相同,所以进一步可以获取该条件信息“未到账”关联的子节点,即节点3;

执行a4,将节点3确定为当前节点,由于节点3是非叶子节点,

所以重复执行a2,由于节点3中的判断信息“transfer_tpye”与问题集合中“transfer_tpye”相同,所以可以获取该节点3下的条件信息即“支付宝余额”和“银行”;

执行a3,由于问题“transfer_tpye”对应在答案集合中的答案“银行”,与该节点3下的条件信息“银行”相同,所以进一步可以获取该条件信息“银行”关联的子节点,即节点5;

执行a4,将节点5确定为当前节点,由于节点5是非叶子节点,

所以继续重复执行a2,由于节点5中的判断信息“transfer_time”与问题集合中“transfer_time”相同,所以可以获取该节点5下的条件信息即“服务时间”和“非服务时间”;

执行a3,由于问题“transfer_time_tpye”对应在答案集合中的答案“服务时间”,与该节点5下的条件信息“服务时间”相同,所以进一步可以获取该条件信息“服务时间”关联的子节点,即节点6;

执行a4,将节点6确定为当前节点,由于节点6是叶子节点,所以可以执行后续步骤130。

步骤130:在所述信息树中匹配到叶子节点时,获取该叶子节点代表的“问题-答案”对和信息模版。

本实施例中,沿用上一步骤中的例子,假设节点6代表的“问题-答案”对为“can_accelerate:不能”,所述“can_accelerate”表示人工加急即问题,“不能”为该问题“can_accelerate”的答案。所述节点6的信息模版如图5所示。

在其它的具体实施例中,节点6的信息模版可以是一个信息模版标识,服务器根据所述信息模版标识查询到对应的信息模版。

步骤140:将所述答案集合的答案和所匹配到的叶子节点代表的答案写入到所匹配到的信息模版的待填字段中,从而生成查询结果。

本实施例中,如图5所示信息模版中存在若干个待填字段,例如“transfer_bank”。

服务器在获取了叶子节点代表的“问题-答案”对和信息模版后,还需要从答案集合和“问题-答案”对中答案,来填充所述待填字段的内容。在将所有待填字段都填充完毕后,即可以得到最终生成的查询结果。这样,通过动态组装的方式,使得查询结果中具有很多用户所提供的个性化的答案,所以每一个用户的查询结果都是不同的、个性化的。

具体地,所述步骤140中的将所述答案信息集合中的答案和所匹配到的叶子节点中的答案写入到所匹配到的信息模版的待填字段中,具体可以包括:

在所述问题集合中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所述问题对应在所述答案集合中的答案赋予该待填字段;

在所匹配到的“问题-答案”对中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所匹配到的“问题-答案”对中答案赋予该待填字段。

举例说明:

例子3,继续沿用步骤120中例子2所示的问题集合、答案集合以及图5所示节点6中的信息模版和节点6的“问题-答案”对“can_accelerate:不能”。

由于信息模版中待填字段“transfer_time”与问题集合中“transfer_time”相同,所以可以将所述问题“transfer_time”对应在答案集合中的答案“2016-07-2514:24:30”赋予信息模版的待填字段“transfer_time”;

由于信息模版中待填字段“transfer_bank”与问题集合中“transfer_bank”相同,所以可以将所述问题“transfer_bank”对应在答案集合中的答案“招商银行”赋予信息模版的待填字段“transfer_bank”;

由于信息模版中待填字段“transfer_amount”与问题集合中“transfer_amount”相同,所以将所述问题“transfer_amount”对应在答案集合中的答案“3000”赋予信息模版的待填字段“transfer_amount”;

由于信息模版中待填字段“transfer_state”与问题集合中“transfer_state”相同,所以将所述问题“transfer_state”对应在答案集合中的答案“未到账”赋予信息模版的待填字段“transfer_state”;

由于信息模版中待填字段“transfer_predict_time”与问题集合中“transfer_predict_time”相同,所以将所述问题“transfer_predict_time”对应在答案集合中的答案“2016-07-2516:24:30”赋予信息模版的待填字段“transfer_predict_time”;

由于信息模版中待填字段“can_accelerate”与“问题-答案”对中问题“can_accelerate”相同,所以将所述问题“can_accelerate”对应的答案“不能”赋予信息模版的待填字段“can_accelerate”;

如此,生成的查询结果可以如图6所示,即“你好,你在2016-07-2514:24:30转出到招商银行的3000元,目标未到账,预计到账时间2016-07-2516:24:30,不能进行人工加急,请您耐心等待。”其中,加粗的文字即为写入的答案。

在本实施例中,在所述生成查询结果之后,还可以包括:

将所述查询结果返回给用户。

本申请实施例中,运用了树这种数据结构,将原本静态文本中重复使用的内容以信息模版的形式存放在信息树的叶子节点中,将答案以节点信息存放在同一个叶子节点中。如此,原本查询结果中重复存储的内容只需存储一次,避免了占用较多的存储空间;并且通过动态组装的方式得出的查询结果相比于现有技术较为简洁并且具有用户提供个性化答案,因此拥有更好的可读性,提升了用户体验。

在实际应用中,叶子节点代表的信息不一定是一个固定“问题-答案”对,例如用户查询账户余额的情况,则最终匹配到的叶子节点代表的信息不可能是一个固定的数值,通常还需要到对应的系统查询账户余额。

所以,在所述叶子节点代表的信息为查询信息的情况下,通过该查询信息进行查询;将查询到的信息确定为“问题-答案”对中的答案。例如通过sql查询语句到对应系统查询具体的数据,最终将查询到的数据作为“问题-答案”对中的答案。

在本申请的一个具体的实施例中,所述步骤130中,如果匹配到多个叶子节点,也可以同时使用两个信息模版,将生成的两个查询结果拼接后使用。

例如图7所示为另一个查询结果的示意图,该查询结果就是通过拼接后形成的。

与前述信息查询方法实施例相对应,本申请还提供了信息查询装置的实施例。

本申请信息查询装置的实施例可以分别应用在信息查询设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请信息查询装置所在设备的一种硬件结构图,除了图8所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据该信息查询的实际功能,还可以包括其他硬件,对此不再赘述。

参见图9,为本申请一实施例提供的信息查询装置的模块图,该实施例从服务器侧进行描述,所述装置包括:接收单元210、输入单元220、匹配单元230和生成单元240。

其中,接收单元210,接收用户发送的根据问题集合所提供的答案集合;其中,所述答案集合由至少一个问题的答案组成;

匹配单元220,根据所述答案集合和所述问题集合,在预设的信息树中进行匹配;其中,所述问题集合中的问题和所述答案集合中的答案一一对应,所述信息树为:由至少一个的节点构成的具有树形层次关系的节点集合,非叶子节点代表一个判断信息,所述判断信息为一个问题,非叶子节点与其不同子节点分别通过不同的条件信息关联,每个条件信息分别为一个答案,叶子节点代表“问题-答案”对和信息模版,所述信息模版具有待填字段;

获取单元230,在所述信息树中匹配到叶子节点时,获取该叶子节点代表的“问题-答案”对和信息模版;

生成单元240,将所述答案集合中的答案和所匹配到的叶子节点代表的答案写入到所匹配到的信息模版的待填字段中,从而生成查询结果。

在一个可选的实现方式中:

所述匹配单元220,具体包括:

确定子单元,将所述信息树中的根节点确定为当前节点;

第一获取子单元,在所述当前节点代表的判断信息与所述问题集合中任一问题匹配成功的情况下,获取所述当前节点与其不同子节点关联的条件信息;

第二获取子单元,在所述匹配成功的问题对应答案与任一所述条件信息匹配成功的情况下,获取匹配成功的条件信息关联的子节点;

循环控制子单元,将所述子节点确定为当前节点,在当前节点为非叶子节点时,重复执行所述第一获取子单元,直到当前节点为叶子节点。

在一个可选的实现方式中:

所述生成单元,具体包括:

第一写入子单元,在所述问题集合中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所述问题对应在所述答案集合中的答案赋予该待填字段;

第二写入子单元,在所匹配到的“问题-答案”对中的问题与所匹配到的信息模版中的待填字段相同的情况下,将所匹配到的“问题-答案”对中答案赋予该待填字段;

生成子单元,将赋值完成后的信息模版确定为查询结果。

在一个可选的实现方式中:

所述装置还包括:

返回单元,将所述查询结果返回给用户。

通过本实施例,运用了树这种数据结构,将原本静态文本中重复使用的内容以信息模版的形式存放在信息树的叶子节点中,将答案以节点信息存放在同一个叶子节点中。如此,原本查询结果中重复存储的内容只需存储一次,避免了占用较多的存储空间;并且通过动态组装的方式得出的查询结果相比于现有技术较为简洁并且具有用户提供个性化答案,因此拥有更好的可读性,提升了用户体验。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1