问答方法、装置及设备与流程

文档序号:28942871发布日期:2022-02-19 07:25阅读:58来源:国知局
1.本技术涉及自然语言处理
技术领域
:,具体涉及自动问答方法和装置,以及电子设备。
背景技术
::2.问答系统以一问一答形式,精确的定位用户所需要的提问知识,通过与用户进行交互,为用户提供个性化的信息服务。该类系统采用自然语言处理技术,一方面完成对用户疑问的理解;另一方面完成正确答案的生成。3.一种典型的问答系统是基于问答领域知识库实现的系统。该系统需要预先构建问答领域的知识库;在接收到用户问题后,通过问句理解模块识别问题,并通过答案检索模块在知识库中检索得到与该问题对应的答案,将答案返回至用户端,供用户查看。该系统通常是将机器与人对话的范围设定在一个固定流程里,在机器跟人对话时,按照约定好流程来执行,如“开发票”任务对话,首先需要确定时间,再确定金额,最后确定单位和细明,整个流程一步步走完才能实现开发票的功能。4.然而,在实现本发明过程中,发明人发现现有技术至少存在如下问题:这种基于知识库实现的自动问答系统,只适用于处理固定知识类问题的问答场景,其并不具备基于基础数据表格的问答能力,无法满足用户用自然语言提出的依赖于数据查询处理的问题答复需求。综上所述,如何构建具有表格问答能力的自动问答系统,以满足用户用自然语言提出的依赖于数据查询处理的问题答复需求,成为本领域技术人员需要迫切解决的问题。技术实现要素:5.本技术提供问答方法,以解决现有技术存在的不具备表格问答能力的问题。本技术另外提供问答装置,以及电子设备。6.本技术提供一种问答方法,包括:7.接收用户的查询信息;8.在所述查询信息中抽取实体信息;9.对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;10.根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;11.根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。12.可选的,还包括:接收目标领域的数据表,并根据所述数据表构建目标领域的问答数据库。13.可选的,所述查询条件子句采用如下步骤拼接:14.确定数据名、数据值和操作符;15.若数据值的属性支持所述操作符、且数据值和操作符在所述提问信息中的文本距离小于第一距离阈值,以及若数据名的属性支持所述操作符、且数据名和操作符在所述提问信息中的文本距离小于第二距离阈值,则将数据名、数据值和操作符拼接为查询条件,将查询条件中的数据名作为第一数据名;16.确定各个查询条件间的逻辑关系;17.根据所述逻辑关系,将多个查询条件拼接为查询条件子句。18.可选的,所述查询数据名子句采用如下步骤拼接:19.根据所述第一数据名和实体词,确定与查询数据名子句相关的第二数据名和/或聚合函数;20.若与第二数据名对应的数据值属性支持聚合函数、且第二数据名和聚合函数在所述提问信息中的文本距离小于第三距离阈值,则根据第二数据名和聚合函数,生成聚合数据名;21.将未关联聚合函数的第二数据名和聚合数据名拼接为查询数据名子句。22.可选的,还包括:23.确定目标领域各个数据的数据名与数据名同义词间的对应关系;24.相应的,所述在所述查询信息中抽取实体信息,包括:25.根据所述对应关系,在所述查询信息中抽取相关的实体词。26.可选的,还包括:27.通过机器学习算法,从训练数据集中学习得到实体词识别模型;28.所述在所述查询信息中抽取相关的实体词,包括:29.通过所述识别模型抽取相关的实体词。30.可选的,还包括:31.接收目标领域各个数据的数据名同义词;32.存储目标领域各个数据的数据名与数据名同义词间的对应关系。33.本技术还提供一种问答方法,包括:34.向服务端发送用户的自然语言查询信息;35.显示服务端回送的所述查询信息的应答内容;36.其中,服务端采用如下步骤确定所述应答内容:在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。37.本技术还提供一种问答装置,包括:38.查询信息接收单元,用于接收用户的查询信息;39.实体信息抽取单元,用于在所述查询信息中抽取实体信息;40.查询语句子句生成单元,用于对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;41.查询语句生成单元,用于根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;42.查询单元,用于根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。43.本技术还提供一种电子设备,包括:44.处理器;以及45.存储器,用于存储实现问答方法的程序,该设备通电并通过所述处理器运行该方法的程序后,执行下述步骤:接收用户的查询信息;在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。46.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。47.本技术还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。48.与现有技术相比,本技术具有以下优点:49.本技术实施例提供的问答方法,通过接收用户的查询信息;在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容;这种处理方式,使得基于目标领域的数据表格自动构建该领域的问答系统,使得问答系统具有轻量级表格问答能力;因此,可以有效满足用户用自然语言提出的依赖于数据查询处理的问题答复需求。附图说明50.图1本技术提供的一种问答方法的实施例的流程图;51.图2本技术提供的一种问答方法的实施例的应用场景示意图;52.图3本技术提供的一种问答方法的实施例的设备交互示意图;53.图4本技术提供的一种问答方法的实施例的系统架构图;54.图5本技术提供的一种问答方法的实施例的sql子句构成示意图;55.图6本技术提供的一种问答方法的实施例的sql解析框架图;具体实施方式56.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。57.在本技术中,提供了问答方法和装置,以及电子设备。在下面的实施例中逐一对各种方案进行详细说明。58.第一实施例59.请参考图1,其为本技术的问答方法的实施例的流程图,该方法的执行主体包括但不限于服务端,也可以是能够实现所述方法的任意设备。在本实施例中,所述方法可包括如下步骤:60.步骤s101:接收用户的查询信息。61.在本实施例中,问答系统包括:服务端,第一客户端。所述服务端,可以是部署在云端服务器上的服务端,也可以是专用于实现自动问答系统的服务器,可部署在数据中心。服务器,可以是集群服务器,也可以是单台服务器。所述第一客户端,包括但不限于移动通讯设备,即:通常所说的手机或者智能手机,还包括个人电脑、pad、ipad等终端设备。62.请参考图2,其为本技术的自动问答系统的场景示意图。服务端和第一客户端间可通过网络连接,如第一客户端可通过wifi等方式联网,等等。在本实施例中,服务端根据目标领域的数据表构建该领域的问答系统,如金融领域问答系统;提问方用户通过其第一客户端与服务端交互,如询问“沪深300a的基金代码是多少?”、“最近半年涨幅大于10%有哪些?”等等;服务端将用户提问转换为数据库查询语句(如sql语句),从金融领域数据表中查询得到与用户提问相关的金融数据,并根据查询结果生成回复信息,如“沪深300a的基金代码是961”、“最近半年涨幅大于10%有创业板a、医药100a、计算机a”等等,将答复信息回送至第一客户端,第一客户端显示该答复信息,供提问用户查看。63.请参考图3,其为本技术的问答系统的实施例的设备交互示意图。在本实施例中,服务端用于根据目标领域的数据表,构建目标领域的问答系统;以及,通过所述目标领域问答系统包括的数据库查询语句解析模型,将第一客户端发送的针对目标领域的自然语言提问信息转换为针对所述数据表的数据库查询语句;执行所述查询语句,并根据查询结果生成答复信息,将所述答复信息回送至第一客户端;相应的,第一客户端用于向服务端发送所述提问信息;显示服务端回送的答复信息。64.所述目标领域,可以是金融领域、餐饮领域、电力领域、汽车领域等等。所述目标领域数据,可包括该领域的各种基础数据。所述目标领域数据,可以是实时变化的数据,也可以是在一段时间内相对固定的数据。65.以金融领域为例,用户想要询问某种金融产品的代码(如沪深300a的基金代码)、该基金产品的最新净值、累积净值、近半年涨幅等信息,那么这些信息均可来源于基金信息数据表。其中,基金名称和基金代码为固定数据,基金产品的最新净值、累积净值、近半年涨幅等数据可以是实时更新的可变数据。66.以餐饮领域为例,用户要通过线上点餐方式,从某咖啡连锁点订购咖啡,想要询问某种咖啡的价格(如拿铁咖啡多少钱)、该种咖啡有哪些杯型(如中杯、大杯、小杯)、该种咖啡可以加哪些配料(如加牛奶),等等信息,那么这些信息均可来源于该咖啡点店的商品信息数据表。67.所述目标领域的数据表,可以是存储在数据库的数据表。所述数据库可以是关系型数据库(如mysql、oracle数据库等),也可以是非关系型数据库(如bigtable、mongodb数据库等),还可以是键值(key-value)数据库(如leveldb)。所述目标领域的数据表,也可以是电子表格软件的数据表,如excel表格。68.在本实施例中,将目标领域数据存储在数据库中。具体实施时,由于不同领域的数据结构不同,因此不同领域的数据通常存储在不同的数据表中。在同一数据库中可以存储多个领域的数据表。表1列出了金融领域的数据表结构及其内容。[0069][0070]表1、金融领域数据表[0071]表2列出了某咖啡连锁店的商品信息数据表结构及其内容。[0072][0073][0074]表2、咖啡店商品信息数据表[0075]由表1和表2可见,不同领域的数据表在列数、列名(数据名)、列属性、列值属性等方面均不相同。[0076]在一个示例中,所述方法还可包括如下步骤:接收目标领域的数据表,并根据所述数据表构建目标领域的问答数据库。在本实施例中,所述系统还可包括第二客户端。所述第二客户端,用于向服务端发送目标领域数据;服务端具体用于根据目标领域数据,在所述数据库中创建所述数据表,将目标领域数据存储至所述数据表中。[0077]第二客户端供数据所属方提交数据所用,如金融公司通过其第二客户端将其拥有的金融领域数据提交至服务端。所述第二客户端,包括但不限于移动通讯设备,即:通常所说的手机或者智能手机,还包括个人电脑、pad、ipad等终端设备。[0078]在另一个示例中,服务端可通过网络爬虫技术从互联网中搜集多种领域的数据,将这些数据存储在数据库中,依托这些数据向用户提供多个领域的信息咨询问答服务。[0079]在本实施例中,所述服务端将目标领域数据存储至数据库后,构建与目标领域数据表关联的目标领域问答系统。所述服务端自动对目标领域数据表格进行分析处理,构建与表格关联的机器人(即目标领域问答系统),用户即可向机器人提问与表格相关的问题,如用户针对表1给出的表格信息,可以问:“沪深300a的基金代码是多少?”、“最近半年涨幅大于10%有哪些基金?”等。[0080]在一个示例中,构建与目标领域数据表关联的机器人,需要以下数据表信息:数据表格中列名(数据名)及其同义词、列值(数据值)及列值属性等;构建机器人可包括如下具体步骤:[0081]s1:第二客户端用户通过第二客户端向服务端上传表格数据,服务端配置好列名、列值和列名同义词、列值属性等;[0082]s2:服务端将表格数据存储到数据库和缓存中;[0083]s3:从缓存中读取数据,并构建自然语言到数据库查询语句的能力,针对于提供的诸如sql解析框架,填充上传的表格数据。[0084]以上步骤都是自动完成,完成这个步骤后就可以提供基于表格的问答能力。[0085]如图4所示,当提问用户对机器人进行提问时,可先由对话管理模块(uniformdm:dialogmanger)将该用户query(提问信息,查询信息)发送给数据库查询语句解析模型(如nl2sql模块);然后,可通过nl2sql模块对用户query进行nl2sql处理,将用户query转换成相应的sql语句;接下来,利用sql语句查找数据库;最后,将数据库结果返回给提问用户。[0086]应用本技术实施例提供的问答方法,用户只需要通过自然语言表达数据查询意图,数据库查询语句解析模型将其转换为数据库查询语句。如果数据库是关系型数据库,则通过nl2sql(naturallanguagetosql)会将其转换为结构化查询语句sql,如果数据库是非关系型数据库,则通过nl2nosql会将其转换为nosql的查询语句,这样会大大缩短用户与目标领域数据之间的距离。可将这种自然语言-sql任务称为语义解析,即把自然语言自动转化为一种机器可以理解并执行的sql表达形式。[0087]在本实施例中,图4中对话管理模块是对话机器人的核心模块,负责资源的统一调度。在表格问答中,由对话管理模块负责把用户查询转发nl2sql,并根据nl2sql返回的解析后的sql语句和当前的对话状态,决定下一步执行的动作。[0088]在本实施例中,服务端还可用于通过问答系统包括的对话管理模块,确定对话状态信息;若所述对话状态信息包括上下文信息,则根据所述上下文信息和所述提问信息包括的数据值,确定所述查询语句。[0089]所述对话管理模块记录对话状态信息,所述对话状态可以是“查询”、“上下文继承”、“拒识”、“常规对话”等等。如果当前对话状态是“查询”(执行sql动作),则调用数据库执行sql语句,并把查找后返回的结果,通过包装返回给第一客户端用户。如果当前对话状态是“上下文继承”,则本次提问信息需要结合上下文信息进行sql语句的解析,如上次提问信息为“基金a最近3个月涨幅是多少”,则上下文信息包括“基金a”,如果本次提问信息为“最近半年涨幅呢”,则结合上下文信息确定的本次完整提问信息为“基金a最近半年涨幅是多少”。如果当前对话状态是“拒识”,则表示用户提问与表格数据无关,无需答复。如果当前对话状态是常规对话,则可通过常规对话模块确定向第一客户端用户回复的信息,如用户说“谢谢”,系统回复“欢迎再来”。[0090]在本实施例中,服务端根据所述数据表的结构信息,构建所述解析模型。在上述步骤s3中,服务端从缓存中读取数据,并构建nl2sql能力,针对于提供的sql解析框架,填充上传的表格数据,形成如图6所示的目标领域的sql解析框架。在构建目标领域的nl2sql能力后,就可以通过目标领域的sql解析框架,将用户提问信息转换成sql语句。[0091]所述方法可首先对表格进行预处理,并把相关的列名和列值信息存储到后台数据库中,然后针对用户对表格提问query,对用户的query进行解析,转换成相应的sql。如下图5所示,基于sql包括两部分:select部分和where部分,其中select分别由聚合函数agg和列名组成,where部分由条件和连接符组成,其中条件部分包括列名、操作符和列值,连接符可以是两种情况,and或者or。[0092]如图6所示,在本实施例中,通过sql解析框架解析用户提问信息的处理过程可包括如下步骤:[0093]步骤s103:在所述查询信息中抽取实体信息。[0094]本步骤是在用户的query基础上,识别出query中所有可能跟sql相关的实体词,包括列名、列值、聚合函数、操作符以及连接符。例如,问题“沪深300a的基金代码是多少?”,列名为:基金代码,列值:沪深300a。[0095]步骤s105:对所述实体信息进行拼接,得到查询条件子句和查询数据名子句。[0096]本步骤可以是根据查询语句语法规则,将实体词拼接成查询条件子句和查询数据名子句。在本实施例中,本步骤是在实体识别的基础上,基于sql语法规则进行实体拼接。[0097]首先说明查询条件子句的形成过程,本实施例为拼接where部分。具体实施时,可采用如下方式实现拼接得到所述查询条件子句:1)确定数据名、数据值和操作符;2)若数据值的属性支持所述操作符、且数据值和操作符在所述提问信息中的文本距离小于第一距离阈值(如该值为0),以及若数据名的属性支持所述操作符、且数据名和操作符在所述提问信息中的文本距离小于第二距离阈值(如该值为0),则将数据名、数据值和操作符拼接为查询条件,将查询条件中的数据名作为第一数据名;3)确定各个查询条件间的逻辑关系;4)根据所述逻辑关系,将多个查询条件拼接为查询条件子句。[0098]在本实施例中,针对每一个可能的列值,优先确定列值的所有候选列名信息,可基于列值和列名在提问文本中的距离、列值和列名在数据表中关系来判断,如果能关联上则保留,否则抛弃该值。在确定列值和列名后,再利用列值所在属性(文本或者数字)以及列值和操作符在提问文本中距离来判断是否保留,最终确定where部分。[0099]所述候选列是指在用户查询中通过实体识别出所有可能列和表格中唯一列。例如:用户查询“最近半年涨幅大于10%”,其候选列为“近6月涨幅”;用户查询“沪深300a的近3月涨幅”,由于“沪深300a”只可能在“基金名称”中出现,所以“基金名称”是候选列。[0100]以提问信息“近半年涨幅大于10%为例”说明拼接where部分的处理过程。在添加同义词“近半年涨幅”-》”近6月涨幅”后,系统识别出实体词表格列“近6月涨幅”、操作符“大于”、列值“10%”,接下来拼接成sql的where部分:[0101]首先,取出列值信息“10%”,然后确定该列值的操作符,默认操作为“等于”,由于实体识别出操作符“大于”,判断“大于”操作是否跟列值“10%”匹配,需要进行两步判断:[0102]第一步、列值“10%”的列值属性是“number”,支持“大于”操作符。[0103]第二步、判断列值“10%”与操作符“大于”的距离,由于在原文本中这两个实体相邻,其距离为0,所以可以判定列值“10%”的操作符为“大于”。[0104]如果上述两个条件有一个不满足,则列值“10%”的操作符为默认操作符“等于”。[0105]然后,再判断列值“10%”的列信息,通过实体识别列信息为“近6月涨幅”,通过上述同样的步骤,如果满足则“近6月涨幅”与“10%”组成where条件,如果不满足则不能组成where条件,如果含有多个条件,则通过上述的方法分别处理。最终生成where条件。[0106]最后,确定每一个条件之间的连接关系,利用实体识别结果,判断连接关系为and还是or,通常默认为and。[0107]至此说明了where条件的形成过程,接下来说明查询条件子句的形成过程,本实施例为拼接select部分。[0108]在本实施例中,所述查询数据名子句采用如下步骤拼接:1)根据所述第一数据名和实体词,确定与查询数据名子句相关的第二数据名,或者是第二数据名和聚合函数;2)若与第二数据名对应的数据值属性支持聚合函数、且第二数据名和聚合函数在所述提问信息中的文本距离小于第三距离阈值(如该值为0),则根据第二数据名和聚合函数,生成聚合数据名;3)将未关联聚合函数的第二数据名和聚合数据名拼接为查询数据名子句。[0109]要确定select部分,可利用实体识别的列信息和聚合函数,以及where部分结果,首先去除掉已经在where部分出现的列名,再分别针对每一个列名,同聚合函数进行适配,判断条件为列属性以及在文本中出现的距离来判断,如果都没有关联上,则默认是没有聚合函数。[0110]以上述表1为例,如使用者提问“基金名称的最高近3月涨幅是多少?”,首先通过实体识别能判断“基金名称”和“近3月涨幅”是表格列名,“最高”是聚合函数“max”,然后需要判断聚合函数“max”跟哪一个列名进行组合。如图6所示,在本实施例中,列名的默认聚合函数是“null”,要生成select部分,可判断每一列名对应的列值所含有的聚合函数,判断的条件可以有两个:一、聚合函数是否跟列值属性匹配,如列值属性为number,则聚合函数可以是max\min\count等;二、聚合函数在提问文本中的位置与列名出现在文本中的位置距离。[0111]例如,“基金名称”其列值属性是“text”,文本“text”没有最大值,明显聚合函数“max”不能匹配,因此基金名称的聚合函数是“null”。[0112]例如,“近3月涨幅”其列值属性为“number”,正好与聚合函数“max”可以匹配,另外聚合函数“max”在文本中的位置与“近3月涨幅”在文本中位置相邻,距离为0,所以“近3月涨幅”的聚合函数为“max”。[0113]步骤s107:根据所述查询条件子句和所述查询数据名子句生成结构化查询语句。[0114]本步骤是根据查询条件子句和查询数据名子句,生成查询语句。本实施例生成sql查询语句,利用实体拼接的where部分和select部分,基于sql语法,对sql进行拼接,生成最终的sql语句。[0115]至此,对sql解析过程进行了说明。[0116]在一个示例中,服务端还可用于确定目标领域各个数据的数据名与数据名同义词间的对应关系;根据所述对应关系,识别所述提问信息中与查询语句相关的实体词。[0117]在本实施例中,通过用户上传表格,并配置少量的同义词,以提高系统的泛化能力。以表1中的列“基金名称”为例,如果只有“基金名称”,那么构建好的表格问答机器人只能识别“基金名称”,而不能识别“基金简称”、“基金产品名”等,这时为了提高系统识别能力,需要提供同义词,如“基金名称”-“基金简称”、“基金名称”-“基金产品名”等等。[0118]在一个示例中,通过机器学习算法,从训练数据集中学习得到实体词识别模型;在这种情况下,可通过所述识别模型,根据所述提问信息,识别所述实体词。其中,训练数据可包括用户提问信息与查询语句解析信息间的对应关系。采用这种方式,使得通过识别模型自动确定用户提问文本中数据名的同义词,无需人工配置,因此可以进一步提升系统泛化能力。[0119]步骤s107:根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0120]在生成结构化查询语句后,就可以在问答数据库中获得所述查询信息的应答内容。[0121]需要说明的是,本技术实施例提供的问答系统的任务对话流不同于现有技术下基于知识库的任务对话流。对于任务型对话(带有一定任务的对话,如办理移动套餐、开发票等)来说,人可以自由交流,但是机器目前并不能做到,这时候需要有一些约束,把机器与人对话的范围设定在一个固定流程(如开发票任务对话,首先需要确定时间,再确定金额,最后确定单位和细明,整个流程一步步走完才能实现开发票的功能)里,然后机器跟人对话,按照约定好流程来执行。本技术实施例提供的表格问答系统的任务流也是如此,由图4可见,其与现有技术下任务流的生成方式的区别在于:不需要人为设置任务对话流,而是基于数据表自动执行生成流程,可以将这个流程视为一个虚拟步骤,生成的流程就是收集对话中where和select信息,然后就可以输出结果。[0122]从上述实施例可见,本技术实施例提供的问答方法,通过接收用户的查询信息;在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容;这种处理方式,使得基于目标领域的数据表格自动构建该领域的问答系统,使得问答系统具有轻量级表格问答能力;因此,可以有效满足用户用自然语言提出的依赖于数据查询处理的问题答复需求。[0123]第二实施例[0124]在上述的实施例中,提供了一种问答方法,与之相对应的,本技术还提供一种问答装置。该装置是与上述方法的实施例相对应。[0125]本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本技术提供的一种问答装置包括:[0126]查询信息接收单元,用于接收用户的查询信息;[0127]实体信息抽取单元,用于在所述查询信息中抽取实体信息;[0128]查询语句子句生成单元,用于对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;[0129]查询语句生成单元,用于根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;[0130]查询单元,用于根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0131]第三实施例[0132]本技术还提供一种电子设备。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。[0133]本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现问答方法的程序,该设备通电并通过所述处理器运行该方法的程序后,执行下述步骤:接收用户的查询信息;在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0134]第四实施例[0135]与上述的问答方法相对应,本技术还提供一种问答方法,该方法的执行主体包括但不限于第一客户端,也可以是能够实现所述方法的任意设备。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。[0136]在本实施例中,所述问答方法包括如下步骤:[0137]步骤1:向服务端发送用户的自然语言查询信息;[0138]步骤2:显示服务端回送的所述查询信息的应答内容;[0139]其中,服务端采用如下步骤确定所述应答内容:在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0140]第五实施例[0141]在上述的实施例中,提供了一种问答方法,与之相对应的,本技术还提供一种问答装置。该装置是与上述方法的实施例相对应。[0142]本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本技术提供的一种问答装置包括:[0143]查询信息发送单元,用于向服务端发送用户的自然语言查询信息;[0144]应答信息显示单元,用于显示服务端回送的所述查询信息的应答内容;[0145]其中,服务端采用如下步骤确定所述应答内容:在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0146]第六实施例[0147]本技术还提供一种电子设备实施例。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。[0148]本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现问答方法的程序,该设备通电并通过所述处理器运行该方法的程序后,执行下述步骤:向服务端发送用户的自然语言查询信息;显示服务端回送的所述查询信息的应答内容;其中,服务端采用如下步骤确定所述应答内容:在所述查询信息中抽取实体信息;对所述实体信息进行拼接,得到查询条件子句和查询数据名子句;根据所述查询条件子句和所述查询数据名子句生成结构化查询语句;根据所述结构化查询语句在问答数据库中获得所述查询信息的应答内容。[0149]本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。[0150]在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。[0151]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。[0152]1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0153]2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1