一种针对问答系统的数据处理方法及系统与流程

文档序号:12470053阅读:529来源:国知局
一种针对问答系统的数据处理方法及系统与流程

本发明涉及机器人领域,具体说涉及一种针对问答系统的数据处理方法及系统。



背景技术:

对于现有的通用知识库体系,侧重的应用场景,主要是日常聊天或者自动客服。但是,对于行业垂直领域,通用化的知识问答系统,并不能很好地满足用户的基本需求。

比如,问答系统可以应答的问题是“macbook air的价格”。一方面,如果用户问,“macbook pro的价格”,对于现有的通用知识库的体系来说,这两句话,由于具有较多的关键词的匹配相似成分,所以,计算出来的相似度就会相对较高。其实,这两句话的答案,是完全不同的。这样造成的结果就是表意理解的错误,进而给用户提供错误的信息。另一方面,如果有用户问“air怎么卖的”。对于通用知识库的体系的匹配计算和相似度计算来说,一般情况下,是不能给出两条数据为相似的提问的结果的。

综上,为了使得问答系统的应答更为精确,提高问答系统的用户体验,需要一种更优的知识库数据处理方法。



技术实现要素:

为了使得问答系统的应答更为精确,本发明提供了一种针对问答系统的数据处理方法,所述方法包括:

对接收到的用户输入进行语义分析,将用户输入解构为用户问题数据;

调用用户定制知识库,对各个所述用户问题数据进行基于用户垂直领域的表意匹配,以获取所述用户输入的表意数据。

在一实施例中:

将用户输入解构为用户问题数据,其中,将用户输入解构为问题主语以及问题主题;

对各所述用户问题数据进行表意匹配,其中,对所述问题主语以及所述问题主题的用户问题数据进行表意匹配。

在一实施例中,所述方法还包括:

根据所述用户输入的表意数据生成相应的应答数据,其中,所述应答数据与所述问题主语以及所述问题主题的表意匹配结果表意匹配。

在一实施例中,所述用户定制知识库包含在所述用户对应垂直领域具有相同表意的多个不同的用户问题数据。

在一实施例中,构造用户定制知识库,其中:

将用户定制化数据和/或日志请求数据按照垂直领域进行表意类别划分以获取多个不同表意类别的用户问题数据,同一表意类别下的所述用户问题数据具有相同表意。

本发明还提出了一种针对问答系统的数据处理系统,所述系统包括:

存储模块,其配置为存储用户定制知识库;

语义分析模块,其配置为对接收到的用户输入进行语义分析,将用户输入解构为用户问题数据;

表意匹配模块,其配置为调用所述用户定制知识库,对各个所述用户问题数据进行基于垂直领域的表意匹配,以获取所述用户输入的表意数据。

在一实施例中:

所述语义分析模块配置为将用户输入解构为问题主语以及问题主题;

所述表意匹配模块配置为对所述问题主语以及所述问题主题的用户问题数据进行表意匹配。

在一实施例中,所述系统还包括:

应答模块,其配置为根据所述用户输入的表意数据生成相应的应答数据,其中,所述应答数据与所述问题主语以及所述问题主题的表意匹配结果表意匹配。

在一实施例中,所述存储模块配置为存储用户定制知识库,其中,所述用户定制知识库包含在所述用户对应垂直领域具有相同表意的多个不同的用户问题数据。

在一实施例中,所述系统还包括用户定制知识库构造模块,其配置为:

将用户定制化数据和/或日志请求数据按照垂直领域进行表意类别划分以获取多个不同表意类别的用户问题数据,同一表意类别下的所述用户问题数据以及所述标准问题数据具有相同表意。

根据本发明的方法以及系统可以对用户输入进行数据处理以完成对用户输入的表意理解;相较于现有技术,根据本发明的方法以及系统可以获得更为准确的表意数据,用户体验得到极大提高。本发明的其它特征或优点将在随后的说明书中阐述。

并且,本发明的部分特征或优点将通过说明书而变得显而易见,或者通过实施本发明而被了解。本发明的目的和部分优点可通过在说明书、权利要求书以及附图中所特别指出的步骤来实现或获得。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:

图1是根据本发明一实施例方法执行流程图;

图2是根据本发明一实施例系统结构简图。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实施人员可以充分理解本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程并依据上述实现过程具体实施本发明。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。

对于现有的通用知识库体系,侧重的应用场景,主要是日常聊天或者自动客服。但是,对于行业垂直领域,通用化的知识问答系统,并不能很好地满足用户的基本需求。

现有技术中,当用户提问后,问答系统的通常做法是将用户提问(用户输入)转化为问答系统可以理解的表意数据(例如特定的关键词),然后根据表意数据生成与表意数据对应的应答数据(通常的,问答系统从数据库中搜索输出表意匹配结果所对应的答案)。如果用户输入转化为表意数据这一过程出现错误,那么就相当于问答系统对用户输入的具体含义理解错误,问答系统也就不可能输出正确的回答。

在现有技术中,主要基于知识库完成用户输入到表意数据的转化。即基于知识库对用户输入进行表意匹配以获取表意数据。具体的,从知识库中搜索与用户输入匹配的表意数据。如果知识库中不存在与用户输入匹配的表意数据,那么表意匹配就无法完成。

一般情况下,问答系统的知识库包含了问答系统可应答领域的绝大多数问题样本。通常,只要用户提问没有超出问答系统的应答范围,其均可在知识库中搜索到与用户提问对应匹配的表意数据。

然而,在用户提问时,用户提问方式、问题表述方式等等是不受限的。尤其是在用户采用简化说法、违反语法格式的习惯用语等表述方式时,明明用户提问的本意(表意)是在问答系统的应答范围内,但是用户提问的具体表述并不常见,因此在知识库没有对应的匹配关系,用户提问无法转化为问答系统可以理解的表意数据,最终问答系统无法输出正确答案。

例如,在一应用环境中,问答系统可以回答的问题是“macbook air的价格”(“macbook air的价格”这一表意数据可被问答系统理解并回答)。如果用户直接问“macbook air的价格是多少”,其可以获得正确的应答。但是如果用户问“air的价格是多少”,由于现有的知识库中并不存在“macbook air”与“air”的匹配关系,因此无法将“air的价格是多少”表意匹配成“macbook air的价格”。

也就是说,问答系统不会认为“macbook air的价格”与“air的价格是多少”的表意是一致(近似)的。问答系统基于“air的价格是多少”在知识库中进行表意匹配,不可能得到“macbook air的价格”这一表意匹配结果。

为了解决上述问题,现有技术中采用的方法通常是增加知识库中的匹配关系(不断扩充知识库)。然而,简单的直接扩充知识库行为会带来负面效果。因为在实际应用场合中,数据表意的匹配(近似)关系是必须结合具体环境的。脱离了某些特定的应用环境,某些表意匹配关系(近似关系)就不成立了。

以上面的举例为例,如果是进行苹果电脑的销售询问,那么“macbook air”与“air”可以建立匹配关系,即“air”可以指代“macbook air”。但是,如果在日常对话里面,“air”则不会一定指代“macbook air”,其指代的可能是“空气”。

基于上述分析,为了使得问答系统的应答更为精确,提高问答系统的用户体验,本发明提出了一种针对问答系统的数据处理方法。

本发明的基本思路是从知识库入手。在特定的问答环境中,基本上不存在同一提问包含多种根本不同的表意解释的情况。即当具体的问答环境确定后,数据表意的匹配关系也就确立了。另外,针对特定的问答环境,其常用的(惯用的)提问规模基本上也是可以预期的(出现意料之外的提问的几率很小)。因此,在本发明一实施例中,针对不同的问答环境(用户对应垂直领域)构造不同的用户定制知识库。在问答系统进行人机交互问答时,根据当前的问答环境调用对应的用户定制知识库。这样就能大大提高提问数据的表意匹配成功率,避免出现用户提问无法识别或表意匹配错误的情况。

例如,在用户进行苹果牌电子产品价格咨询时,其问题中如果出现“air”,基本上不可能是表述“空气”这一表意,而是表述“macbook air”这一产品型号。因此构造针对应苹果牌电子产品价格咨询的用户定制知识库,在该用户定制知识库中“air”与“macbook air”匹配。

接下来基于附图详细说明根据本发明一实施例的方法具体执行过程。附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的计算机系统中执行。虽然在流程图中示出了各步骤的逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图1所示,在本发明一实施例中,在进行问答过程中,问答系统首先对接收到的用户输入进行语义分析(步骤S110);然后将用户输入解构为用户问题数据(步骤S120)。具体的,步骤S120主要是将用户输入结构为多个用户问题数据(问题元素)。例如,“air的价格是多少”解构为“air”和“价格多少”。

接着调用用户定制知识库(步骤S130)。在步骤S130中,要根据当前问答的具体执行环境、语境和/或问答需求来调用匹配的用户定制知识库。

例如,如果当前进行的是苹果牌电子产品的销售价格咨询,则调用相应的用户定制知识库。在该知识库中,“Apple”的表意与“电子品牌苹果”匹配;“air”的表意与“产品型号macbook air”匹配。同样的,如果当前进行的是水果类相关的咨询,在调用的用户自定义知识库中,“Apple”的表意就与“水果-苹果”匹配。

进一步的,在本发明一实施例中,也可以根据用户身份属性或者是用户的历史问答记录调用对应的用户自定义知识库。

例如,如果用户的登陆身份是苹果电子产品销售人员,那么调用的用户自定义知识库中,“Apple”的表意与“电子品牌苹果”匹配。如果用户的历史问答记录大多是水果相关的咨询,调用的用户自定义知识库中,“Apple”的表意就与“水果-苹果”匹配。

在调用对应的用户自定义知识库后,就可以基于用户自定义知识库对各个用户问题数据进行基于垂直领域的表意匹配(步骤S140),并接下来根据表意匹配的结果获取用户输入的表意数据(步骤S150)。

具体的,在步骤S140中,将步骤S120中获取的各个用户问题数据(问题元素)分别进行表意匹配。例如,“air的价格是多少”解构为“air”和“的价格是多少”,表意匹配结果为“macbook air”和“价格”,最终在步骤S150中获取到的表意数据即“macbook air的价格”。

进一步的,基于步骤S150获取的表意数据,问答系统就可以生成对应的应答数据(步骤S160)。即根据用户输入的表意数据生成相应的应答数据。

在步骤S140中,由于匹配基准参考的是用户自定义知识库,因此大大降低了匹配错误或是无法匹配情况出现的几率,能获得比泛用的普通知识库更加正确合理的匹配结果。这就大大提高了获取到的用户输入的表意数据的准确程度,。随着问答系统获取的用户输入的表意数据准确度的提高,问答系统做出的应答的准确度也就相应提高。

进一步的,在用户提问时,由于用户提问方式、问题表述方式等等是不受限的,很多相似的用户输入表达的是同一意思。但是问答系统在进行匹配时,并不是如同人类思考流程一样以提问的含义为出发点,其进行匹配时是直接对比两组数据(如果两组数据不同就不能匹配)。在这种情况下,意思相同的用户输入因为一些与表意无关的微小不同被问答系统识别成具有完全不同表意的用户输入。按照完美匹配的方式从知识库中搜索用户输入完全一致的匹配关系),很可能造成表意匹配结果为空的情况发生。

针对上述问题,在本发明一实施例中,问答系统采用的近似匹配的模式。即在匹配时计算两组数据的相似度,如果相似度大于预设的阈值则认为两组数据含义相同,可以近似匹配。这样就能大大提高问答系统对用户输入进行表意匹配的灵活度,提高系统对用户输入的理解能力。

但是,在某些应用环境中,数据相似度很低的两组数据具备相同的表意。例如,“怎么卖”“多少钱”“价格”等多种异形同义词的表达,通用的知识库并不能很好的处理这种情况。在这种情况下,“air多少钱”和“air怎么卖”两句话的相似程度就会相对较低,其实它们的语义是完全相同的。

针对异形同义词的问题,在本发明一实施例中,采用语义分类的解决方案,基于语义将用户问题数据归类。用户定制知识库包含在对应的用户对应垂直领域具有相同表意的多个不同的用户问题数据。

具体的,问答系统使用了词向量和支持向量机(svm)等自然语言处理工具,采用数据训练的方式构造用户定制知识库。

词向量,是指通过神经网络的训练模型,可以把每一个自然语言的词汇,表示成多维空间中的一个向量表示。在这样的一个维度下,词语是可计算的,因此,就可以得到两个词之间的距离,这个数值,正是两个词语的相近程度的数学表示。如果距离很近甚至接近相等的话,系统就可以处理这两个词语,认为这两个词基本是表意相同的,比如“怎么卖”和“价格”。

SVM,即支持向量机,是一种典型的有监督学习的分类算法。svm首先要求有多个标注好的类别,作为数据分类的依据。这些数据作为svm的输入,同样也是向量形式的数学表示,此过程称之为训练。把更多的数据作为模型的输入,模型的输出结果就是算法的分类结果。因此,在本发明一实施例中,把相同答案的问题,也就是相同的语义的不同问题的问法,作为svm定义的类别。然后拿客户提供的数据以及用户请求的日志数据,作为模型的输入,然后,算法输出的分类类别就是需要的语义处理的结果。

通过词向量和svm的模型,得到的所有的数据的分类,如果说两条数据在同一类,那么该系统认为,它们的语义是完全相同的,比如“多少钱”和“价格”。因此,在这样的一个层面上,便解决了相同的语义但是相似度很低的问题,由此,相较于通用化的知识库,便可以提高系统的整体召回率。

对应用户定制知识库的语义分类结构,在本发明一实施例中,基于对用户定制化数据和/或日志请求数据按照垂直领域进行表意类别划分来构造用户定制知识库。在构造用户定制知识库的过程中将用户定制化数据和/或日志请求数据按照垂直领域进行表意类别划分以获取多个不同表意类别的用户问题数据,同一表意类别下的所述用户问题数据具有相同表意。

进一步的,为了简化用户定制知识库的建立流程,在一实施例中,采用数据训练的方式构造用户定制知识库。定制化知识库,需要两个层面的数据作为数据输入。一部分是客户提供的,需要训练的定制化数据,可选的,由于其专业化和定制属性,也可以使用该客户的用户的所有日志请求数据,作为训练数据。另外的一个部分的系统的输入,就是该客户的用户的正常数据请求,亦即系统最核心的部分,实现的语义理解的工作,最终按照客户的意图输出用户需求的正确答案。

具体的,对于数据训练的流程,在接收到客户提供的需要训练的数据之后,系统会首先经过数据的过滤和预处理的步骤,然后根据用户提供的多条问题和一条答案,对相应的数据,进行分类,在这样的一个过程中,会同时对一个问题进行数据标注,每一个分类,标注一条数据或者几条数据即可。之后通过切词,使用词向量,得到每一个词语的向量表示。然后这些数据,就可以作为SVM算法的输入,SVM的输出数据,恰好就是需要的每一个问题的同义的多种不同表述。

基于上述方法,可以实现异形同义词、相似同义词的语义匹配。但是,在有些应用环境中,近似匹配会造成匹配错误。具体的,问答系统在进行近似匹配时,其匹配过程仍然是对比两组数据,与完全匹配不同的只是对比时不会要求数据百分之百相同。也就是说,其匹配基础仍然并不是对用户输入的具体含义的理解。那么,两组数据极为相似但是具体含义不同时,问答系统会基于数据对比结果将两组数据视为相似输入(含义相同的提问),这就必然造成表意理解上的错误。

例如,问答系统所能够回答的标准问题是“macbook air的价格”,如果用户问“macbook pro的价格”,对于问答来说,这两句话,由于具有较多的关键词的匹配相似成分,所以,近似匹配得出的结果是这两个提问的含义相同。其实,这两句话的答案,是完全不同的。这样造成的结果就是表意理解的错误,进而给用户提供错误的信息。

针对上述情况,在本发明一实施例中,对问答系统进行相似匹配做细节限制,将语义解析出的某些词进行严格匹配。具体的,在步骤S120中,从用户输入中解构出关键的用户问题数据(直接影响问题具体表意的关键问题元素)。然后在执行步骤S140时,对关键的用户问题数据进行更为严格的表意匹配(例如完全匹配或是相似度要求更高的近似匹配)。

在实际应用环境中,对于特定的用户提问,都包含主语和主题两个成分,这两个成分,代表了该条请求的最核心和最关键的信息,绝对不容有差。例如,“macbook air的价格”和“macbook pro的价格”的主语分别是“macbook air”和“macbook pro”,无论它们字面上多么相像,它们(主语)表意上的不同都决定了两个问题表意上的根本不同。

又如,“奥迪A6后备箱开口宽度是多少”和“奥迪A6后备箱开口高度是多少”。两句话的主语相同,都是“奥迪A6”,但是一个的主题是“后备箱开口宽度”,另外一个的主题是“后备厢开口高度”,无论它们字面上多么相像,主题表意上的不同都决定了两个问题表意上的根本不同。

因此,在本发明一实施例中:

在图1所示的步骤S120中,将用户输入解构为用户问题数据,其中,将用户输入解构为问题主语以及问题主题;

在图1所示的步骤S140中,对各用户问题数据进行表意匹配,其中,对所述问题主语以及所述问题主题的用户问题数据进行表意匹配(尤其的,该匹配为完全匹配或是相似度极高的近似匹配)。

进一步的,在图1所示的步骤S160中,应答数据与问题主语以及问题主题的表意匹配结果表意匹配。具体的,只有该应答数据,完全与问题主语以及问题主题的表意匹配结果表意匹配,然后,提问数据的剩余数据又没有其他的干扰信息,才会返回该应答数据,作为此系统处理的最终输出结果。

进一步的,在本发明一实施例中,将用户定制知识库与通用知识库结合,用户定制知识库作为通用知识库的补充优化。问答系统在用户正常请求的时候,进行账号的判断。如果该账号是用户定制知识库的用户,那么在调用通用的知识库的同时(如果他也有通用知识库数据的话),也会调用用户定制知识库。如果两个知识库的结果有冲突,会优先取用用户定制知识库的匹配结果作为最终的结果。

综上,根据本发明的方法可以对用户输入进行数据处理以完成对用户输入的表意理解。相较于现有技术,根据本发明的方法可以获得更为准确的表意数据,用户体验得到极大提高。

基于本发明的方法,本发明还提出了一种针对问答系统的数据处理系统。如图2所示,在本发明一实施例中,系统包括:

存储模块210,其配置为存储用户定制知识库211;

语义分析模块220,其配置为对接收到的用户输入进行语义分析,将用户输入解构为用户问题数据;

表意匹配模块230,其配置为调用用户定制知识库211,对各个用户问题数据进行基于垂直领域的表意匹配,以获取用户输入的表意数据。

进一步的,系统还包括应答模块240,其配置为根据用户输入的表意数据生成相应的应答数据。

为了提高问答系统的应答准确程度,在一实施例中,语义分析模块220配置为将用户输入解构为问题主语以及问题主题;表意匹配模块230配置为对问题主语以及问题主题的用户问题数据进行表意匹配。对应的,应答模块240配置为应答数据与用户输入的问题主语以及问题主题的表意匹配结果表意匹配。

进一步的,在一实施例中,用户定制知识库211包含在用户对应垂直领域具有相同表意的多个不同的用户问题数据。对应的,在一实施例中,系统还包含用于构造用户定制知识库211的用户定制知识库构造模块。用户定制知识库构造模块配置为:将用户定制化数据和/或日志请求数据按照垂直领域进行表意类别划分以获取多个不同表意类别的用户问题数据,同一表意类别下的用户问题数据以及标准问题数据具有相同表意。

综上,根据本发明的系统,可以实现对用户输入的数据进行表意理解并输出对应的应答。相较于现有技术,本发明的系统输出的应答数据的准确率大大提高,用户体验得到极大增强。

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

虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。本发明所述的方法还可有其他多种实施例。在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变或变形,但这些相应的改变或变形都应属于本发明的权利要求的保护范围。

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