交互方法和装置与流程

文档序号:17663129发布日期:2019-05-15 22:31阅读:189来源:国知局
交互方法和装置与流程

本申请涉及计算机领域,具体涉及自然语言处理领域,尤其涉及交互方法和装置。



背景技术:

知识库问答技术(kb-qa)广泛应用于航空、通信、银行等领域。在知识库问答技术中,对用户输入的自然语言形式的查询语句进行理解以及结合知识库中的信息,得到查询语句对应的答案语句,将查询语句对应的答案语句反馈给用户。目前,通常采用的方式为以人工方式设置模版,将设置的模版与用户输入的查询语句进行匹配,确定判出用户的意图,再确定槽位的数值,得到查询语句对应的答案语句。

一方面,上述方式仅可通过实体和属性名称等查询出属性值而生成查询语句对应的答案语句,或者通过属性查找出实体而生成查询语句对应的答案语句,导致无法对诸如包含多个查询逻辑的复杂的查询语句进行分析而生成查询语句对应的答案语句。另一方面,对于每一个领域的查询语句,均需分别构建海量的模版、槽位,导致开发成本巨大。



技术实现要素:

本申请实施例提供了交互方法和装置。

第一方面,本申请实施例提供了交互方法,该方法包括:基于用户输入的查询语句中的成分关键词,生成所述查询语句对应的查询逻辑语句,其中,所述查询语句对应的查询逻辑语句指示与所述查询语句相关联的查询逻辑,所述查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识;基于所述查询语句对应的查询逻辑语句,获取用于生成所述查询语句对应的答案语句的信息;基于用于生成所述查询语句对应的答案语句的信息,生成所述查询语句对应的答案语句,以及将所述查询语句对应的答案语句反馈给所述用户。

第二方面,本申请实施例提供了交互装置,该装置包括:语句生成单元,被配置为基于用户输入的查询语句中的成分关键词,生成所述查询语句对应的查询逻辑语句,其中,所述查询语句对应的查询逻辑语句指示与所述查询语句相关联的查询逻辑,所述查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识;信息获取单元,被配置为基于所述查询语句对应的查询逻辑语句,获取用于生成所述查询语句对应的答案语句的信息;答案生成单元,被配置为基于用于生成所述查询语句对应的答案语句的信息,生成所述查询语句对应的答案语句,以及将所述查询语句对应的答案语句反馈给所述用户。

本申请实施例提供的交互方法和装置,通过基于用户输入的查询语句中的成分关键词,生成所述查询语句对应的查询逻辑语句,其中,所述查询语句对应的查询逻辑语句指示与所述查询语句相关联的查询逻辑,所述查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识;基于所述查询语句对应的查询逻辑语句,获取用于生成所述查询语句对应的答案语句的信息;基于用于生成所述查询语句对应的答案语句的信息,生成所述查询语句对应的答案语句,以及将所述查询语句对应的答案语句反馈给所述用户。实现了生成指示与用户输入的查询语句相关的查询逻辑的查询逻辑语句,对查询语句进行转换,得到生成答案语句所需的信息。查询逻辑语句可以同时指示多个查询逻辑,查询逻辑语句与具体的领域无关,查询逻辑语句可以对应于多个不同领域的查询逻辑相同的查询语句,查询逻辑语句可以适用于用于查询多个不同的领域的查询语句对应的答案语句。进一步的,每一步为了获取生成答案所需的信息进行的转换得到的表达式也与具体的领域无关,也可适用于用于查询多个不同的领域的查询语句对应的答案语句。从而,可以对诸如包含多个查询逻辑的复杂的查询语句进行分析而生成查询语句对应的答案语句,同时,减少了生成查询语句对应的答案语句的开销。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了适于用来实现本申请实施例的示例性系统架构;

图2示出了根据本申请的交互方法的一个实施例的流程图;

图3示出了根据本申请的交互方法的另一个实施例的流程图;

图4示出了根据本申请的交互装置的一个实施例的结构示意图;

图5示出了适于用来实现本申请实施例的终端、服务器的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,其示出了适于用来实现本申请的实施例的示例性系统架构。

如图1所示,终端101、网络102、服务器103。网络102可以为有线通信网络或无线通信网络。

终端101可以为智能设备、智能手机、平板电脑、车载终端。智能设备可以包括但不限于:智能交互机器人、智能音箱。

当终端101的用户需要获取信息时,终端101的用户可以输入查询语句。终端101的用户可以输入查询语音。可以在终端101或在服务器103对对用户输入的查询语音进行识别,得到用户输入的查询语句。在服务器103上得到用户输入的查询语句对应的答案语句,服务器103可以将用户输入的查询语句对应的答案语句发送至终端101。在终端101将用户输入的查询语句对应的答案信息反馈给终端101的用户。

请参考图2,其示出了根据本申请的交互方法的一个实施例的流程。该方法包括以下步骤:

步骤201,基于用户输入的查询语句中的成分关键词,生成查询语句对应的查询逻辑语句。

在本实施例中,用户输入的查询语句对应的查询逻辑语句指示与用户输入的查询语句相关联的查询逻辑,用户输入的查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识。

在本实施例中,为了生成用户输入的查询语句对应的查询逻辑语句,可以首先确定用户输入的查询语句中的成分关键词。

在本实施例中,当确定用户输入的查询语句中的成分关键词时,可以采用对语句中的词语的成分类型进行识别的模型识别出用户输入的查询语句中的成分关键词。

例如,采用bi-lstm-crf等序列标注模型对用户输入的查询语句中的词语的类型进行识别。bi-lstm-crf等序列标注模型可以识别出每一个词语的类型是否为成分关键词的类型。例如,识别一个词语的类型是否词语属于实体类型、实体类别类型、实体属性类型、实体属性的属性值类型等成分关键词的类型中一个类型。当识别出一个词语的类型为成分关键词的类型时,可以确定该词语为成分关键词。

在本实施例的一些可选的实现方式中,当确定用户输入的查询语句中的成分关键词时,可以根据知识库中的关键词,确定用户输入的查询语句中的成分关键词。知识库中的所有关键词的类型中可以包括但不限于:实体类型、实体类别类型、实体之间的关系类型、实体属性类型、实体属性的属性值类型、指示实体属性的属性值之间的比较结果的形容词。知识库中包含海量的实体类型的关键词、实体类别类型的关键词、实体属性类型的关键词、实体之间的关系类型的关键词、实体属性的属性值类型的关键词等。当用户输入的查询语句中的一个词语为知识库中的关键词或与知识库中的关键词的语义相同时,则可以确定该词语与知识库中的一个类型的关键词匹配,可以确定该词语为成分关键词。该成分关键词的类型为知识库中与该成分关键词相同或语义相似的关键词所属的类型。

在本实施例中,对于每一个成分关键词,分别利用一个与成分关键词的类型相同的类型的成分标识表示。利用每一个成分标识分别替换用户输入的查询语句中的成分标识所表示的成分关键词,得到用户输入的查询语句对应的查询逻辑表达式。

例如,用户输入的查询语句为“新春那个套餐和冰淇淋套餐哪个价格低”,“新春那个套餐”与新春套餐这一实体相关、“冰淇淋套餐”与冰淇淋套餐这一实体相关。“新春那个套餐”、“冰淇淋套餐”为实体这一类型的成分关键词。“价格”与实体属性这一类型的成分关键词。成分标识的类型中的实体这一类型利用e表示,成分标识的类型中的实体属性这一类型利用p表示。利用属于实体这一成分类型的成分标识e0表示成分关键词“新春那个套餐”,利用成分标识的类型中的实体这一类型的成分标识e1表示成分关键词的类型中的实体这一类型的成分关键词“冰淇淋套餐”。利用成分标识的类型中的属于实体属性这一类型的成分标识p0表示成分关键词的类型中的实体属性这一类型的成分关键词“价格”。然后,可以利用e0替换“新春那个套餐”,利用e1替换“冰淇淋套餐”,利用p0替换“价格”,得到查询逻辑语句“e0和e1哪个p0低?”。查询逻辑语句“e0和e1哪个p0低?”指示与用户输入的查询语句“新春那个套餐和冰淇淋套餐哪个价格低”相关联的查询逻辑,即就一个实体属性而言,一个实体和另一个实体哪个低。

在本实施例中,在用户输入的查询语句中,可能存在部分成分关键词被省略的情况,在确定用户输入的查询语句中的成分关键词的同时,可以确定被省略的成分关键词和被省略的成分关键词的类型。用户输入的查询语句包含的成分关键词和成分关键词的类型、被省略的成分关键词和被省略的成分关键词的类型可被用于生成逻辑表达式。

例如,用户输入的查询语句为“50元的流量包”。“50元”为实体属性的属性值这一类型的成分关键词,“流量包”为实体类别这一类型的成分关键词。成分标识的类型中的实体属性的属性值这一类型利用a表示,成分标识的类型中的实体类别这一成分类型利用t表示。利用成分标识的类型中的实体属性的属性值这一类型的成分标识a0表示“50元”,利用成分标识的类型中的实体类别这一类型的成分标识t0表示“流量包”。利用a0替换“50元”,利用t0替换“流量包”,得到用户输入的查询语句对应的查询逻辑语句“a0的t0”。用户输入的查询语句中省略了属性值的属性这一类型的成分关键词“价格”,被省略的、成分标识的类型中的实体属性这一类型利用pe表示。利用被省略的、成分标识的类型中的实体属性这一类型的成分标识pe0表示被省略的成分标识的类型中的实体属性这一类型的成分关键词“价格”。

在本实施例中,多个查询语句的查询逻辑可以为同一个查询逻辑,换言之,多个查询语句所关联的查询逻辑相同时,多个查询语句对应于同一个查询逻辑语句。

步骤202,基于查询逻辑语句,获取用于生成用户输入的查询语句对应的答案语句的信息。

在本实施例中,当基于用户输入的查询语句对应的查询逻辑语句,获取用于生成用户输入的查询语句对应的答案语句的信息时,可以生成对应于用户输入的查询语句对应的查询逻辑语句的数据库查询语句,利用对应于用户输入的查询语句对应的查询逻辑语句的数据库查询语句从数据库中查询出用于生成用户输入的查询语句对应的答案语句的信息。

在本实施例中,可以预先建立海量的不同的查询逻辑语句和数据库查询语句的对应关系。每一个查询逻辑语句分别对应一个数据库查询语句。

对于一个查询逻辑语句,该查询逻辑语句对应的数据库查询语句用于完成由该查询逻辑语句指示需要完成的操作。该查询逻辑语句中包含与该查询逻辑语句指示需要完成的操作相关的成分标识。该查询逻辑语句对应的数据库查询语句中包含对应于与该查询逻辑语句指示需要完成的操作相关的成分标识的部分。

当生成对应于用户输入的查询语句对应的查询逻辑语句的数据库查询语句,可以根据海量的不同的查询逻辑语句与数据库查询语句的对应关系,首先确定对应于用户输入的查询语句对应的查询逻辑语句的数据库查询语句。然后,利用查询逻辑语句中包含的每一个与由该查询逻辑语句指示需要完成的操作相关的成分标识各自对应的成分关键词分别替换对应于用户输入的查询语句对应的查询逻辑语句的数据库查询语句中的每一个与由该查询逻辑语句指示完成的操作相关的成分标识各自对应的部分,得到可以查询出用于生成用户输入的查询语句对应的答案语句的信息的查询语句,利用可以查询出用于生成用户输入的查询语句对应的答案语句的信息的查询语句从数据库中查询出用于生成用户输入的查询语句对应的答案语句的信息。

例如,用户输入的查询语句为“新春套餐和冰淇淋套餐哪个价格低”。“新春套餐”与新春套餐这一实体相关、“冰淇淋套餐”与冰淇淋套餐这一实体相关。“新春套餐”、“冰淇淋套餐”为实体这一类型的成分关键词。“价格”为实体属性这一类型的成分关键词。成分标识的类型中的实体这一类型利用e表示,成分标识的类型中的实体属性这一类型利用p表示。利用成分标识的类型中的实体这一类型的成分标识e0表示成分关键词的类型中的实体这一类型的成分关键词“新春套餐”,利用成分标识的类型中的实体这一类型的成分标识e1表示成分关键词的类型中的实体这一类型的成分关键词“冰淇淋套餐”。利用成分标识的类型中的实体属性这一类型的成分标识p0表示成分关键词的类型中的实体属性这一类型的成分关键词“价格”。然后,可以利用e0替换“新春套餐”,利用e1替换“冰淇淋套餐”,利用p0替换“价格”,得到查询逻辑语句“e0和e1哪个p0低?”。

该查询逻辑语句“e0和e1哪个p0低?”指示需要完成的操作为查询出e0、e1在p0上的取值,然后,将e0、e1在p0上的取值进行比较,确定哪个较小。该查询逻辑语句对应的数据库查询语句可以查询出e0、e1在p0上的取值,调用数据库提供的用于比较两个数值哪个较小的函数。与该查询逻辑语句指示需要完成的操作相关的成分关键词包含e0、e1、p0。利用e0对应的“新春套餐”、e1对应的“冰淇淋套餐”、p0对应的“价格”分别替换查询逻辑语句对应的数据库查询语句中的e0、e1、p0各自对应的部分,得到可以查询出新春套餐的价格、冰淇淋套餐的价格,调用数据库提供的用于比较两个数值哪个较小的函数来比较新春套餐的价格和冰淇淋套餐的价格哪一个价格低的数据库查询语句,利用该数据库查询语句完成该查询逻辑语句指示需要完成的操作。

步骤203,生成查询语句对应的答案语句,以及将查询语句对应的答案语句反馈给用户。

在本实施例中,在得到用于生成用户输入的查询语句对应的答案语句的信息之后,可以基于用于生成用户输入的查询语句对应的答案语句的信息,生成用户输入的查询语句对应的答案语句。然后,将用户输入的查询语句对应的答案语句反馈给用户。

例如,用户输入的查询语句为“新春套餐和冰淇淋套餐哪个价格低”。对应于利用用户输入的查询语句对应的查询逻辑语句的数据库查询语句从数据库中的查询出新春套餐的价格、冰淇淋套餐的价格,然后,比较两个价格哪个低,得到价格相对较低的套餐的名称。可以根据价格相对较低的套餐的名称,生成用户输入的查询语句对应的答案语句,将生成用户输入的查询语句对应的答案语句呈现给用户。

请参考图3,其示出了根据本申请的交互方法的另一个实施例的流程。该方法包括以下步骤:

步骤301,基于用户输入的查询语句中的成分关键词,生成查询语句对应的查询逻辑语句。

在本实施例中,用户输入的查询语句对应的查询逻辑语句指示与用户输入的查询语句相关联的查询逻辑,用户输入的查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识。用于表示成分关键词的成分标识的成分类型为多个成分类型中的成分关键词的成分类型。

在本实施例中,多个成分类型包括:实体类别、实体、实体属性、实体属性的属性值、实体关系、指示实体属性的属性值之间的比较结果的形容词。

步骤302,生成查询逻辑语句对应的查询逻辑表达式,基于查询逻辑表达式,得到具有查询关键词的查询逻辑表达式对应的数据库查询语句。

在本实施例中,当基于用户输入的查询语句对应的查询逻辑语句,获取用于生成用户输入的查询语句对应的答案语句的信息时,可以首先生成用户输入的查询逻辑语句对应的查询逻辑表达式。查询逻辑表达式包括:操作标识、成分标识。逻辑表达式可以采用为树形结构表示。查询逻辑表达式中的操作标识为查询逻辑表达式指示需要完成的操作的标识,查询逻辑表达式指示需要完成的操作的标识可以称之为查询逻辑算子。

在本实施例中,可以预先定义多个查询逻辑算子和查询逻辑算子的参数的类型。例如,可以预先定义filter算子、mathcompute算子、singleton算子、getrelation算子、getproperty算子、concat算子等算子。filter算子表示执行某种条件过滤,filter算子的参数包括集合和对应的条件表达式。singleton算子表示获取某个类别的所有实体。mathcompute算子表示计算出某个结果,mathcompute算子的参数包括:数学操作符、集合、操作的属性。getrelation算子表示获取实体指定关系的另一实体,getrelation算子的参数包括:实体名称、实体之间的关系的关系名称。getproperty算子表示获取实体的指定属性,getproperty算子的参数包括实体名称、属性名称。concat算子表示求两个集合的并集,concat算子的参数包括两个集合。

在本实施例中,可以预先建立海量的不同的查询逻辑语句与查询逻辑表达式的对应关系。当需要生成查询逻辑语句对应的查询逻辑表达式时,可以根据预先建立的海量的不同的查询逻辑语句与查询逻辑表达式的对应关系,查找出对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式。

例如,用户输入的查询语句“可以在外省使用的流量包”,利用成分标识的类型中的实体属性的属性值这一类型的成分标识a0表示成分关键词的类型中的实体属性的属性值这一类型的成分关键词“可以在外省使用”,利用成分标识的类型中的实体类别这一类型的成分标识t0表示成分关键词的类型中的实体类别这一类型的成分关键词“流量包”。生成的查询逻辑语句为“a0的t0”。用户输入的查询语句中省略了实体属性这一类型的成分关键词“使用地域”,成分标识的类型中的实体属性这一类型利用pe表示。可以利用成分标识的类型中的实体属性这一类型的成分标识pe0表示被省略的成分关键词的类型中的实体属性这一类型的成分关键词“使用地域”。所有查询逻辑表达中,包含在省略了实体省略了实体属性这一类型的成分关键词的情况下,“a0的t0”对应的查询逻辑表达式为filter((singletont0)pe0=a0)。从而,可以生成对应于用户输入的查询语句“可以在外省使用的流量包”对应的查询逻辑语句“a0的t0”查询逻辑表达式filter((singletont0)pe0=a0)。

在本实施例中,可以采用利用查询逻辑理解模型基于用户输入的查询语句对应的查询逻辑语句,生成对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式。

在本实施例中,经过利用训练样本进行训练之后可以用于生成查询逻辑表达式的神经网络可以称之为查询逻辑理解模型。查询逻辑理解模型预先利用训练样本进行训练得到,即用于生成查询逻辑表达式的神经网络预先利用训练样本进行训练得到。训练样本包括:用于训练的查询逻辑语句、作为目标输出的用于训练的查询逻辑语句对应的查询逻辑表达式。在训练时,可以采用端到端的方式进行训练,预先定义指示将用于训练的查询逻辑语句输入到用于生成查询逻辑表达式的神经网络得到的输出与目标输出的差异的损失函数。利用多个训练样本进行训练,迭代地调整神经网络的参数,得到用于生成查询逻辑表达式的神经网络。

在本实施例中,可以将用户输入的查询语句对应的查询逻辑语句输入到查询逻辑理解模型即用于生成查询逻辑表达式的神经网络,得到对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式。查询逻辑理解模型即用于生成查询逻辑表达式的神经网络可以采用encoder-decoder的方式基于用户输入的查询语句对应的查询逻辑语句,输出对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式。

例如,用于生成查询逻辑表达式的神经网络中的编码部件采用bi-lstm,对用户输入的查询语句对应的查询逻辑语句进行编码,得到用户输入的查询语句对应的查询逻辑语句的编码表示。用于生成查询逻辑表达式的神经网络中的解码部件可以采用循环神经网络(recurrentneuralnetworks,rnns)。将用户输入的查询语句对应的查询逻辑语句的编码表示输入到用于生成查询逻辑表达式的神经网络中的解码部件进行解码,输出对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式。

在本实施例中,查询逻辑表达式可以采用为树形结构表示。表示查询逻辑表达式的树形结构中,查询逻辑算子和成分标识作为一个节点。查询逻辑算子也可称之为动作。在解码过程中,可以进行自顶向下的树形推导,解码出树形结构的每一个节点和每一个节点的位置,得到表示查询逻辑表达式的树形结构,进而得到查询逻辑表达式。通过进行自顶向下的树形推导可以减小解码空间,避免生成错误或无法执行的查询逻辑表达式,同时,可以引入语法和语义上的关系。

在本实施例中,在解码过程中,用于生成查询逻辑表达式的神经网络中的解码部件可以采用注意力机制,基于用户输入的查询语句对应的查询逻辑语句的编码表示、当前节点的表示、包含已经确定的所有查询逻辑算子的查询逻辑算子序列的表示,预测出当前节点的子节点。当预测的节点为查询逻辑算子时,可以在已经预测出的查询逻辑算子的基础上预测出查询逻辑算子和查询逻辑算子的位置即预测嵌套在已经预测出的查询逻辑算子中的查询逻辑算子。通过解码过程,最终解码出一系列的动作即一系列的查询逻辑算子,生成查询逻辑表达式。

在本实施例中,通过采用用于生成查询逻辑表达式的神经网络基于查询逻辑语句,生成查询逻辑表达式,使得查询逻辑表达式与具体的领域无关,用于生成查询逻辑表达式的神经网络可以适用于不同的领域。

在本实施例中,在生成对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式之后,可以确定对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的成分标识对应的查询关键词。然后,可以基于成分标识对应的查询关键词和对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式,生成具有查询关键词的查询逻辑表达式。

在本实施例中,对于用户输入的查询语句中的一个成分关键词,当知识库中包含该成分关键词时,该成分关键词可以直接作为对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的表示该成分关键词的成分标识对应的查询关键词。对于用户输入的查询语句中的一个成分关键词,当知识库中未包含成分关键词但包含与成分关键词语义相似的词语或者可替换该成分关键词的词语时,可以将与成分关键词语义相似的词语或可替换该成分关键词的词语作为对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的表示该成分关键词的成分标识对应的查询关键词。

例如,用户输入的查询语句中包含成分关键词“冰淇淋套餐”,知识库中包含与成分关键词语义相似的词语“冰激凌套餐”,则“冰激凌套餐”可以作为对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的表示该成分关键词“冰淇淋套餐”的成分标识对应的查询关键词。用户输入的查询语句中包含成分关键词“价格”,知识库中包含与“价格”语义相似的词语“套餐费”,则“套餐费”可以作为对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的表示该成分关键词“价格”的成分标识对应的查询关键词。用户输入的查询语句中包含成分关键词“可以在外省使用”,知识库中包含关键词“可以在全国使用”。“可以在全国使用”指示的范围比“可以在外省使用”指示的范围大,“可以在全国使用”可替换“可以在外省使用”,则“可以在全国使用”可以作为对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的表示该成分关键词“可以在外省使用”的成分标识对应的查询关键词。

在本实施例中,当基于对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式,生成具有查询关键词的查询逻辑表达式时,可以利用对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的成分标识对应的查询关键词替换对应于用户输入的查询语句对应的查询逻辑语句的查询逻辑表达式中的成分标识,得到具有查询关键词的查询逻辑表达式。

例如,用户输入的查询语句“可以在外省使用的流量包”,利用成分标识的类型中的实体属性的属性值这一类型的成分标识a0表示“可以在外省使用”,利用成分标识的类型中的实体类别这一成分类型的成分标识t0表示“流量包”。生成的查询逻辑语句为“a0的t0”。用户输入的查询语句中省略了实体属性这一类型的成分关键词“使用地域”,成分标识的类型中的实体属性这一类型利用pe表示。利用成分标识的类型中的实体属性这一类型的成分标识pe0表示成分关键词的类型中的实体属性这一类型的成分关键词“使用地域”。所有查询逻辑表达中,包含在省略了实体属性这一类型的成分关键词的情况下,“a0的t0”对应的查询逻辑表达式为filter((singletont0)pe0=a0)。从而,可以生成对应于用户输入的查询语句“可以在外省使用的流量包”对应的查询逻辑语句“a0的t0”的查询逻辑表达式filter((singletont0)pe0=a0)。t0对应的查询关键词为“流量包”,pe0对应的查询关键词为“使用地域”,a0对应的查询关键词为“可以在全国使用”,具有查询关键词的查询逻辑表达式为filter((singleton流量包)使用地域=可以在全国使用)。

在本实施例中,在得到具有查询关键词的查询逻辑表达式之后,可以解析具有查询关键词的查询逻辑表达式,得到具有查询关键词的查询逻辑表达式对应的数据库查询语句。

在本实施例中,当解析具有查询关键词的查询逻辑表达式,可以通过具有查询关键词的查询逻辑表达式的语法规则,采用自动机对具有查询关键词的查询逻辑表达式进行解析,确定需要查询的信息,得到具有查询关键词的查询逻辑表达式对应的数据库查询语句。

例如,具有查询关键词的查询逻辑表达式为filter((singleton流量包)使用地域=可以在全国使用),可以按照具有查询关键词的查询逻辑表达式的语法规则对具有查询关键词的查询逻辑表达式filter((singleton流量包)使用地域=可以在全国使用)进行解析,确定需要查询的信息为使用地域为可以在全国使用的流量包。进而可以得到用于从数据库中查询出使用地域为可以在全国使用的流量包的该具有查询关键词的查询逻辑表达式对应的数据库查询语句。

在本实施例中,通过生成具有查询关键词的查询逻辑表达式,解析具有查询关键词的查询逻辑表达式,得到具有查询关键词的查询逻辑表达式对应的数据库查询语句。查询逻辑表达式可以自由地适配不同类型的数据库及查询语言。查询逻辑表达式可转换为不同类型的数据库的查询语句,例如,sql、gremlin、cypher等不同的数据查询语言,从而,灵活适配不同的查询需求。

在本实施例中,在得到具有查询关键词的查询逻辑表达式对应的数据库查询语句之后,可以利用查询逻辑表达式对应的数据库查询语句从数据库中查询出与用于生成用户输入的查询语句对应的答案语句的信息。

例如,用户输入的查询语句“可以在外省使用的流量包”,具有查询关键词的查询逻辑表达式为filter((singleton流量包)使用地域=可以在全国使用)。可以利用该具有查询关键词的查询逻辑表达式对应的数据库查询语句从数据库中查询出可以在全国使用的流量包的属性信息。

步骤303,生成查询语句对应的答案语句,以及将查询语句对应的答案语句反馈给用户。

在本实施例中,在得到用于生成用户输入的查询语句对应的答案语句的信息之后,可以基于用于生成用户输入的查询语句对应的答案语句的信息,生成用户输入的查询语句对应的答案语句。然后,将用户输入的查询语句对应的答案语句反馈给用户。

例如,用户输入的查询语句“可以在外省使用的流量包”,具有查询关键词的查询逻辑表达式为filter((singleton流量包)使用地域=可以在全国使用)。可以利用该具有查询关键词的查询逻辑表达式对应的数据库查询语句从数据库中查询出可以在全国使用的流量包的属性信息。可以根据从数据库中查询出的可以在全国使用的流量包的属性信息,生成用户输入的查询语句对应的答案语句,将生成用户输入的查询语句对应的答案语句呈现给用户。

请参考图4,作为对上述各图所示方法的实现,本申请提供了一种交互装置的一个实施例,该装置实施例与图2所示的方法实施例相对应。

如图4所示,本实施例的交互装置包括:语句生成单元401,信息获取单元402,答案生成单元403。其中,语句生成单元401被配置为基于用户输入的查询语句中的成分关键词,生成所述查询语句对应的查询逻辑语句,其中,所述查询语句对应的查询逻辑语句指示与所述查询语句相关联的查询逻辑,所述查询语句对应的查询逻辑语句包括:用于表示成分关键词的成分标识;信息获取单元402被配置为基于所述查询语句对应的查询逻辑语句,获取用于生成所述查询语句对应的答案语句的信息;答案生成单元403被配置为基于用于生成所述查询语句对应的答案语句的信息,生成所述查询语句对应的答案语句,以及将所述查询语句对应的答案语句反馈给所述用户。

在本实施例的一些可选的实现方式中,交互装置还包括:成分关键词确定单元,被配置为在基于用户输入的查询语句中的成分关键词,生成所述查询语句对应的查询逻辑语句之前,通过以下步骤确定用户输入的查询语句中的成分关键词:判断用户输入的查询语句中的词语是否与知识库中的以下任一类型的关键词匹配:实体类别、实体、实体属性、实体属性的属性值、实体关系、指示实体属性的属性值之间的比较结果的形容词;若是,将所述词语确定为成分关键词。

在本实施例的一些可选的实现方式中,信息获取单元进一步被配置为生成对应于所述查询语句对应的查询逻辑语句的查询逻辑表达式,所述查询逻辑表达式包括:操作标识、用于表示所述查询语句中的成分关键词的成分标识;基于所述查询逻辑表达式,生成具有查询关键词的查询逻辑表达式,具有查询关键词的查询逻辑表达式包括:用于表示所述查询语句中的成分关键词的成分标识对应的查询关键词;解析所述具有查询关键词的查询逻辑表达式,得到所述具有查询关键词的查询逻辑表达式对应的数据库查询语句;利用所述具有查询关键词的查询逻辑表达式对应的数据库查询语句从数据库中查询出用于生成所述查询语句对应的答案语句的信息。

在本实施例的一些可选的实现方式中,信息获取单元进一步被配置为利用查询逻辑理解模型基于所述查询语句对应的查询逻辑语句,生成对应于所述查询语句对应的查询逻辑语句的查询逻辑表达式,其中,查询逻辑理解模型预先利用训练样本进行训练得到,训练样本包括:用于训练的查询逻辑语句、作为目标输出的用于训练的查询逻辑语句对应的查询逻辑表达式。

在本实施例的一些可选的实现方式中,查询逻辑表达式还包括:用于表示所述查询语句中的被省略的成分关键词的成分标识,所述具有查询关键词的查询逻辑表达式还包括:用于表示所述查询语句中的被省略的成分关键词的成分标识对应的查询关键词。

图5示出了适于用来实现本申请实施例的终端、服务器的计算机系统的结构示意图。

如图5所示,计算机系统包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机获取存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有计算机系统操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

以下部件连接至i/o接口505:输入部分506;输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

特别地,本申请的实施例中描述的过程可以被实现为计算机程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包括用于执行流程图所示的方法的指令。该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本申请的方法中限定的上述功能。

本申请还提供了一种电子设备,该电子设备可以配置有一个或多个处理器;存储器,用于存储一个或多个程序,一个或多个程序中可以包含用以执行上述实施例中描述的操作的指令。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例中描述的操作的指令。

本申请还提供了一种计算机可读介质,该计算机可读介质可以是电子设备中所包括的;也可以是单独存在,未装配入电子设备中。上述计算机可读介质承载有一个或者多个程序,当一个或者多个程序被电子设备执行时,使得电子设备执行上述实施例中描述的操作。

需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被消息执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多方面形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由消息执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行消息。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机消息的组合来实现。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术实施例,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术实施例。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术实施例。

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