数据查询方法和设备、数据处理方法与流程

文档序号:17696532发布日期:2019-05-17 21:35阅读:157来源:国知局
数据查询方法和设备、数据处理方法与流程

本申请涉及计算机技术领域,特别涉及一种数据查询方法和设备、数据处理方法。



背景技术:

当前各企业在将产品投放市场后,考虑到客户在使用过程中可能会遇到各种问题,各企业通常会建立一个问答平台,针对客户提出的问题给出相应的解决方案。对于客户而言,可以快速、精确地得到回复无疑是最重要的。

而现有的问答平台通常是采用人工的方式对客户提出的问题进行分析,并根据人为分析的结果在数据库中检索相似的问题以及解决方案提供给客户参考。由于数据库中的历史数据量巨大,无法快速的检索出有效的相似问题以及解决方案,并且对于多个相似问题通过人为主观因素确定最接近的问题,从而给出最佳解决方案的方式存在一定的偏差,无法确保给出的最佳解决方案的准确度。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种数据查询方法和设备、数据处理方法,以解决现有技术中通过人工检索的方式进行问答的方法,工作效率较低且准确度不高的问题。

本申请实施例提供了一种数据查询方法,包括:接收用户输入的目标问题;确定所述目标问题的文本特征向量;计算所述目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,其中所述查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组;在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量;根据所述三元数据组,确定所述相似度最高值对应的参考问题的文本特征向量对应的解决方案;将确定的解决方案作为所述目标问题的解决方案。

在一个实施例中,在接收用户发送的目标问题之前,还包括:获取多组问答数据,其中,所述问答数据包括:参考问题、参考问题对应的产品、参考问题对应的解决方案;确定各个参考问题的文本特征向量;根据所述各个参考问题的文本特征向量,通过预先建立的机器学习模型,确定分类模型,其中,所述分类模型包括:所述多组问答数据中的各个问答数据所属的问题类别,以及各个问题类别对应的产品;将各个参考问题对应的文本特征向量、产品以及解决方案,组成所述三元数据组;根据所述分类模型和所述三元数据组,建立所述查询数据库。

在一个实施例中,在计算所述目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度之后,还包括:在计算得到的相似度均小于所述第一预设阈值的情况下,根据所述分类模型,确定所述目标问题对应的产品;根据所述三元数据组,确定相似度最高的预定数量个对应的参考问题的文本特征向量对应的解决方案,作为参考解决方案;获取所述目标问题对应的产品所关联的处理对象;将所述目标问题和所述参考解决方案发送至所述处理对象;接收所述处理对象根据所述目标问题和所述参考解决方案返回的目标解决方案;将所述目标问题、目标解决方案和所述目标问题对应的产品,生成一个三元数据组;将生成的三元数据组添加至所述查询数据库中;将所述目标解决方案发送给所述用户。

在一个实施例中,在将确定的解决方案作为所述目标问题的解决方案之后,还包括:显示所述目标问题的解决方案;接收所述用户的第一反馈信息;在所述第一反馈信息为目标问题解决失败的情况下,根据所述分类模型,确定所述目标问题对应的产品;根据所述三元数据组,确定相似度最高的预定数量个对应的参考问题的文本特征向量对应的参考解决方案;获取对应的产品所关联的处理对象;将所述目标问题和所述参考解决方案发送至所述处理对象;接收所述处理对象根据所述目标问题和所述参考解决方案返回的目标解决方案;将所述目标解决方案发送给所述用户。

在一个实施例中,在将所述目标解决方案发送给所述用户之后,还包括:显示所述目标解决方案;接收所述用户的第二反馈信息;在所述第二反馈信息为目标问题解决成功的情况下,将所述目标问题、所述目标解决方案和所述目标问题对应的产品,生成一个三元数据组;将生成的三元数据组添加至所述查询数据库中。

在一个实施例中,在将确定的解决方案作为所述目标问题的解决方案之后,还包括:确定用户输入所述目标问题的次数是否达到第二预设阈值;在达到所述第二预设阈值的情况下,根据所述分类模型,确定所述目标问题对应的产品;获取对应的产品所关联的处理对象;将所述目标问题发送至所述处理对象;所述处理对象根据接收到的所述目标问题,对所述对应的产品进行调整。

在一个实施例中,按照以下公式,计算所述目标问题的文本特征向量与所述查询数据库中各个参考问题的文本特征向量之间的相似度:

其中,cosa为相似度,a为所述目标问题的文本特征向量;b为所述查询数据库中第n个参考问题的文本特征向量,n为大于等于1的正整数。

在一个实施例中,确定所述目标问题的文本特征向量,包括:将所述目标问题拆分为目标词向量;确定所述目标词向量中各个词的tf-idf值;根据所述目标词向量中各个词的tf-idf值,确定所述目标问题的文本特征向量。

本申请实施例还提供一种数据处理方法,包括:获取多组问答数据,其中,所述问答数据包括:参考问题、参考问题对应的产品、参考问题对应的解决方案;确定各个参考问题的文本特征向量;根据所述各个参考问题的文本特征向量,通过预先建立的机器学习模型,确定分类模型,其中,所述分类模型包括:所述多组问答数据中的各个参考问题对应的产品;将各个参考问题对应的文本特征向量、产品以及解决方案,组成三元数据组;根据所述分类模型和所述三元数据组,建立查询数据库。

在一个实施例中,确定各个参考问题的文本特征向量,包括:将所述各个参考问题拆分为词向量;计算所述词向量中各个词的tf-idf值;根据计算得到的所述各个参考问题的词向量中各个词的tf-idf值,确定所述各个参考问题的文本特征向量。

在一个实施例中,按照以下公式,计算所述词向量中各个词的tf-idf值:

tf-idf=tf*idf

其中,tf为目标词的词频;n1为所述目标词在目标文档中出现的次数;n1为所述目标文档的总字数;idf为所述目标词的逆文档频率;n2为包含所述目标词的文档数;n2为文档总数;tf-idf为所述目标词的词频-逆文档频率。

在一个实施例中,根据计算得到的所述各个参考问题的词向量中各个词的tf-idf值,确定所述各个参考问题的文本特征向量,包括:将计算得到的所述各个参考问题的词向量中各个词的tf-idf值进行归一化处理;根据归一化处理后的所述各个参考问题的词向量中各个词的tf-idf值,确定所述各个参考问题的文本特征向量。

本申请实施例还提供一种数据查询设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述数据查询方法的步骤。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述数据查询方法的步骤。

本申请实施例提供了一种数据查询方法,通过确定用户输入的目标问题的文本特征向量,可以快速准确的确定目标问题的特征信息;并通过计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量,由于查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组,因此,在确定相似度最高值对应的参考问题的文本特征向量之后,可以根据上述三元数据组快速、准确地确定目标问题的解决方案,使得在接收到用户输入的目标问题后可以高效、准确的给出解决方案,有效提高了用户体验度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:

图1是根据本申请实施例提供的数据查询方法的步骤示意图;

图2是根据本申请实施例提供的数据处理方法的步骤示意图;

图3是根据本申请具体实施例提供的数据查询方法的示意图;

图4是根据本申请实施例提供的数据查询电子设备的示意图。

具体实施方式

下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

考虑到现有的问答平台通常采用人工的方式在数据库中检索相似的问题以及解决方案提供给客户参考,但是数据库中的历史数据量巨大,使得采用人工的方式无法高效的找出相似问题以及对应的解决方案,并且当对于一个问题检索出多个相似问题时,通过人为主观因素确定最佳解决方案存在一定的偏差,无法确保给出的最佳解决方案的准确性。

基于以上问题,本申请实施例提供了一种数据查询方法,如图1所示,可以包括以下步骤:

s101:接收用户输入的目标问题。

为了高效地确定与用户输入的目标问题最接近的参考问题,在接收用户输入的目标问题之前,可以根据系统中的历史问答数据,建立查询数据库。具体的可以在系统中获取多组问答数据,其中,问答数据可以包括但不限于:参考问题、参考问题对应的产品、参考问题对应的解决方案。

考虑到从业务系统中抽取而来的历史数据,避免不了有的数据是错误数据、数据相互之间有冲突,这些错误的或有冲突的数据是不符合要求的,可以称为“脏数据”。因此,可以先将获取的多组问答数据中的参考问题进行数据清洗,即按照一定的规则把“脏数据”“洗掉”。此外,还可以根据历史参考问题的格式、人工处理问题经验对系统中问题描述进行清洗,去掉问题提出人信息、联系电话、负责人信息、核心中身份证号、证件签发日期、证件到期日期、借记卡号等,为后续分词、查询数据库构建提供准确的数据信息。

在将参考问题进行数据清洗后,可以利用中文分词技术对进行数据清洗后的各个参考问题进行分词,其中,中文分词是将一个汉字序列切分成一个一个单独的词,即将连续的字序列按照一定的规范重新组合成词序列的过程。可以采用python中文分词工具进行中文分词,python中分分词工具可以包括但不限于:盘古分词、结巴分词、清华thulac(thulexicalanalyzerforchinese,中文词法分析工具包)。

进一步的,可以将进行中文分词后的参考问题过滤掉停用词以及标点符号,其中,为节省存储空间和提高搜索效率,在处理自然语言数据之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词,可以包括但不限于:语气助词、副词、介词、连接词,通常停用词自身并无明确的意义,只有将其放入一个完整的句子中才有一定作用,如常见的“的”、“在”之类。

进一步的,可以根据对参考问题进行数据清洗、中文分词以及去停用词的结果,生成对应的词向量,例如:我在美国消费90美元,为啥信用卡账单记的是100美元?这个参考问题进行数据清洗、中文分词以及去停用词后可以生成一个词向量(我,美国,消费,90美元,为啥,信用卡,账单,记,是,100美元)。

为了提取最具特征的词最为文本特征向量,可以计算各个参考问题生成的词向量中各个词的tf-idf(termfrequency–inversedocumentfrequency,词频-逆文本频率)值,其中,tf-idf是一种用于资讯检索与资讯探勘的常用加权技术,是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。在一份给定的文件里,词频(termfrequency,tf)是指某一个给定的词语在该文件中出现的次数。逆文本频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量,某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。其中,可以按照以下公式,计算词向量中各个词的tf-idf值:

tf-idf=tf*idf

其中,tf为目标词的词频;n1为目标词在目标文档中出现的次数;n1为目标文档的总字数;idf为目标词的逆文档频率;n2为包含目标词的文档数;n2为文档总数;tf-idf为目标词的词频-逆文档频率。在计算idf值时,如果上述目标词不在语料库中,就会导致被除数为零,因此一般情况下被除数使用:1+包含目标词的文档数。

进一步的,可以在计算得到词向量中各个词的tf-idf值后,进行归一化处理,例如:上述词向量(我,美国,消费,90美元,为啥,信用卡,账单,记,是,100美元),在计算得到tf-idf值并进行归一化处理后可以得到:(0.1,0.2,0.3,0.4,0.5,0.6,0.3,0.4,0.3,0.4)。可将归一化处理后tf-idf值为0的词删除,从而确定各个参考问题的文本特征向量。

在确定了各个参考问题的文本特征向量之后,可以通过预先建立的机器学习模型,确定分类模型,其中,上述分类模型可以是机器学习模型在学习各个参考问题属于哪个产品的过程中生成的智能化的针对产品的分类模型,可以智能化的对接收到的参考问题进行按所属产品的分类。进一步的,上述产品还可以关联有相应的处理对象,上述机器学习模型可以采用gbdt(gradientboostingdecisiontree,梯度提升决策树模型)和随机森林模型,本申请对此不作限定。

为了提高确定最佳解决方案的效率,可以将各个参考问题对应的文本特征向量、产品以及解决方案,组成三元数据组,例如:(问题:信用卡在美国消费记账错误,所属产品:信用卡中心,解决方案:客户额外给了小费),使得在确定最相似的参考问题后,可以直接根据上述三元数据组得到相应的解决方案。进一步的,可以根据上述分类模型以及上述各个参考问题对应的三元数据组,建立查询数据库。上述查询数据库可以接受用户输入的目标问题,按照预定的方法,将确定的解决方案反馈给用户。

s102:确定目标问题的文本特征向量。

在确定查询数据库中与目标问题最相似的参考问题之前,由于用户输入的目标问题可能不符合格式的规范,因此,可以先对用户输入的目标问题进行处理,其处理方式可以参照在建立查询数据库时对参考问题进行处理的方式,重复之处不再赘述。通过对用户输入的目标问题进行数据清洗、中文分词以及去停用词,得到目标问题的词向量。

为了提取最具特征的词最为目标问题的文本特征向量,可以计算目标问题生成的词向量中各个词的tf-idf值,并对目标问题生成的词向量中各个词的tf-idf值进行归一化处理,根据归一化处理的结果,确定目标问题的文本特征向量。

s103:计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,其中查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组。

根据得到的目标问题的文本特征向量,计算与查询数据库中的中各个参考问题的文本特征向量之间的相似度,其中,上述相似度可以为余弦相似度或修正余弦相似度,本申请对此不作限定。进一步的,可以按照以下公式,计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度:

其中,cosa为相似度,a为所述目标问题的文本特征向量;b为所述查询数据库中第n个参考问题的文本特征向量,n为大于等于1的正整数。

s104:在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量。

在计算得到目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度后,在计算得到的相似度中至少有一个相似度大于第一预设阈值的情况下,可以将计算得到的多个大于第一预设阈值的相似度进行排序,并确定相似度最高值对应的参考问题的文本特征向量。

其中,上述第一预设阈值的取值范围可以为[0,1],上述第一预设阈值的可以根据以下方式确定。可以先获取系统中的部分参考问题作为测试集,例如:可以提取20%的参考问题作为测试集,通过设置[0,1]中不同的阈值,计算不同阈值下测试集的精确率以及召回率。

在二元分类中,两种可能的类别分别被标记为正类别和负类别。正类别结果是我们要测试的对象,例如:在医学检查中,正类别可以是“肿瘤”。在电子邮件分类器中,正类别可以是“垃圾邮件”。精确率是一种分类模型指标,是指模型正确预测正类别的频率,即在被识别为正类别的样本中,确实为正类别的比例,也可以理解为给出的结果有多少是正确的。召回率是也是一种分类模型指标,用于衡量在所有正类别样本中,被正确识别为正类别的比例,也可以理解为正确的结果有多少被给出了。

考虑到精确率指标和召回率指标可能会出现矛盾的情况,因此通过综合评价指标(f-measure,f值)综合考虑精确率和召回率,f值=正确率*召回率*2/(正确率+召回率),即f值为精确率和召回率的调和平均值。可以将计算得到的f值最大值对应的阈值,作为第一预设阈值。

s105:根据三元数据组,确定相似度最高值对应的参考问题的文本特征向量对应的解决方案。

根据查询数据库中的三元数据组,确定上述确定的相似度最高值对应的参考问题的文本特征向量,在三元数据组中对应的解决方案,可以将确定的解决方案作为用户输入的目标问题的解决方案发送给用户。

在一个实施例中,在计算得到目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度均小于第一预设阈值的情况下,可以根据上述查询数据库中分类模型确定目标问题所属的产品,提取计算得到目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度排序中,排序在前的预定数量个相似度值对应的参考问题文本特征向量,并根据查询数据库中的三元数据组,确定预定数量个参考问题文本特征向量对应的参考解决方案,上述确定的参考解决方案可以作为给出最终解决方案的参考解决方案。

进一步的,在确定预定数量个参考解决方案后,可以获取目标问题所属产品关联的处理对象,可以通过在查询数据库或业务系统中预存的各个产品关联的处理对象获取,其中,上述产品关联的处理对象可以是各个产品对应的产品维护人员。可以将用户输入的目标问题和上述确定的预定数量个参考解决方案发送给处理对象,处理对象可以根据接收到的目标问题和参考解决方案返回针对目标问题的目标解决方案,并将目标解决方案发送给用户。其中,上述预定数量可以为大于等于1的任意正整数,本申请对此不作限定。

考虑到若目标问题未在查询数据库中找到相似度大于第一预设阈值的参考问题的文本特征向量,则说明查询数据库中还未存储关于该问题的解决方案,为了进一步完善查询数据库,可以根据目标问题、目标问题对应的产品以及处理对象给出的目标解决方案,生成一个三元数据组,并将生成的三元数据组添加至查询数据库中。

s106:将确定的解决方案作为目标问题的解决方案。

为了提高用户的体验感,用户在看到显示的目标问题的解决方案后,可以根据实际情况提供第一反馈信息。其中,在上述第一反馈信息为目标问题解决失败的情况下,可以根据查询数据库中分类模型,确定目标问题所属的产品,提取计算得到目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度排序中,排序在前的预定数量个相似度值对应的参考问题文本特征向量,并根据查询数据库中的三元数据组,确定预定数量个参考问题文本特征向量对应的参考解决方案,上述确定的参考解决方案可以作为给出最终解决方案的参考解决方案。

进一步的,在确定预定数量个参考解决方案后,可以获取目标问题所属产品关联的处理对象,可以通过在查询数据库或业务系统中预存的各个产品关联的处理对象获取,其中,上述产品关联的处理对象可以是各个产品对应的产品维护人员。可以将用户输入的目标问题和上述确定的预定数量个参考解决方案发送给处理对象,处理对象可以根据接收到的目标问题和参考解决方案返回针对目标问题的目标解决方案,并将目标解决方案发送给用户。

考虑到在上述情况下,在查询数据库中所匹配的目标问题的解决方案不能实际解决用户输入的目标问题,因此,可以在将通过处理对象确定的目标解决方案发送给用户并显示之后,接收用户针对目标解决方案的第二反馈信息,在上述第二反馈信息为目标问题解决成功的情况下,可以根据目标问题、目标问题对应的产品以及处理对象给出的目标解决方案,生成一个三元数据组,并将生成的三元数据组添加至查询数据库中,从而提高查询数据库给出解决方案的精确度。

在一个实施例中,如果上述第二反馈信息仍为目标问题解决失败,那么可以用户可以对目标问题进行进一步的描述或者给出问题解决失败的具体情况,并将该些信息反馈至上述产品的同一个处理对象处,根据用户提供的相关信息给出进一步的解决方案。或者转接至人工语音处理,本申请对此不作限定。

进一步的,系统可以对用户输入的目标问题的次数进行统计和分析,根据系统统计和分析的信息确定用户输入目标问题的次数是否达到第二预设阈值。在达到第二预设阈值的情况下,可以根据上述查询数据库中的分类模型,确定目标问题所属的产品,并获取目标问题所属产品关联的处理对象,可以通过在查询数据库或业务系统中预存的各个产品关联的处理对象获取。可以将用户输入的目标问题和目标问题输入次数超过第二预设阈值的警告信息发送给处理对象,处理对象可以根据接收到的目标问题对对应的产品进行优化,以提高用户体验感。

系统还可以预先对用户输入的目标问题进行分类,可以通过上述查询数据库中的分类模型,确定问题所属的产品,在针对同一产品的某一类别的问题提出次数达到第二预设阈值的情况下,获取问题所属产品关联的处理对象,可以将这一类别的问题均发送至处理对象,并发出相关警告信息,处理对象可以根据相关信息,针对这一类别的问题进行产品优化。

其中,上述第二预设阈值可以为大于等于2的任意正整数;上述产品关联的处理对象可以是各个产品对应的产品维护人员;可以通过聚类分析技术对用户输入目标问题的次数进行统计和分析,本申请对此不作限定。

从以上的描述中,可以看出,本申请实施例实现了如下技术效果:通过确定用户输入的目标问题的文本特征向量,可以快速准确的确定目标问题的特征信息;并通过计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量,由于查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组,因此,在确定相似度最高值对应的参考问题的文本特征向量之后,可以根据上述三元数据组快速准确地确定目标问题的解决方案,使得在接收到用户输入的目标问题后可以高效、准确的给出解决方案,有效提高了用户体验度。

本申请实施例还提供了一种数据处理方法,如图2所示,可以包括以下步骤:

s201:获取多组问答数据,其中,问答数据包括:参考问题、参考问题对应的产品、参考问题对应的解决方案。

为了高效地确定与用户输入的目标问题最接近的参考问题,在接收用户输入的目标问题之前,可以根据系统中的历史数据,建立查询数据库。具体的可以在系统中获取多组问答数据,其中,问答数据可以包括但不限于:参考问题、参考问题对应的产品、参考问题对应的解决方案。

s202:确定各个参考问题的文本特征向量。

考虑到从业务系统中抽取而来的多组历史问答数据,避免不了有的数据是错误数据、有的数据相互之间有冲突,这些错误的或有冲突的数据显然是我们不想要的,称为“脏数据”。因此,可以先将获取的多组问答数据中的参考问题进行数据清洗,即按照一定的规则把“脏数据”“洗掉”。此外,还可以根据历史参考问题的格式、人工处理问题经验对系统中问题描述进行清洗,去掉问题提出人信息、联系电话、负责人信息、核心中身份证号、证件签发日期、证件到期日期、借记卡号等,为后续分词、查询数据库构建提供准确的数据信息。

在将参考问题进行数据清洗后,可以利用中文分词技术对进行数据清洗后的各个参考问题进行分词,其中,中文分词是将一个汉字序列切分成一个一个单独的词,即将连续的字序列按照一定的规范重新组合成词序列的过程。可以采用python中文分词工具进行中文分词,python中分分词工具可以包括但不限于:盘古分词、结巴分词、清华thulac。

进一步的,可以将进行中文分词后的参考问题过滤掉停用词以及标点符号,其中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词,可以包括但不限于:语气助词、副词、介词、连接词,通常停用词自身并无明确的意义,只有将其放入一个完整的句子中才有一定作用,如常见的“的”、“在”之类。

进一步的,可以根据对参考问题进行数据清洗、中文分词以及去停用词的结果,生成对应的词向量,例如:我在美国消费90美元,为啥信用卡账单记的是100美元?这个参考问题进行数据清洗、中文分词以及去停用词后可以生成一个词向量(我,美国,消费,90美元,为啥,信用卡,账单,记,是,100美元)。

为了提取最具特征的词最为文本特征向量,可以计算各个参考问题生成的词向量中各个词的tf-idf(termfrequency–inversedocumentfrequency,词频-逆文本频率)值,其中,tf-idf是一种用于资讯检索与资讯探勘的常用加权技术,是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。在一份给定的文件里,词频(termfrequency,tf)是指某一个给定的词语在该文件中出现的次数。逆文本频率(inversedocumentfrequency,idf)是一个词语普遍重要性的度量,某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。其中,可以按照以下公式,计算词向量中各个词的tf-idf值:

tf-idf=tf*idf

其中,tf为目标词的词频;n1为目标词在目标文档中出现的次数;n1为目标文档的总字数;idf为目标词的逆文档频率;n2为包含目标词的文档数;n2为文档总数;tf-idf为目标词的词频-逆文档频率。在计算idf值时,如果上述目标词不在语料库中,就会导致被除数为零,因此一般情况下被除数使用:1+包含目标词的文档数。

进一步的,可以在计算得到词向量中各个词的tf-idf值后,进行归一化处理,例如:上述词向量(我,美国,消费,90美元,为啥,信用卡,账单,记,是,100美元),在计算得到tf-idf值并进行归一化处理后可以得到:(0.1,0.2,0.3,0.4,0.5,0.6,0.3,0.4,0.3,0.4)。可将归一化处理后tf-idf值为0的词删除,从而确定各个参考问题的文本特征向量。

s203:根据各个参考问题的文本特征向量,通过预先建立的机器学习模型,确定分类模型,其中,分类模型包括:多组问答数据中的各个参考问题对应的产品。

在确定了各个参考问题的文本特征向量之后,可以通过预先建立的机器学习模型,确定分类模型,其中,上述分类模型可以是机器学习模型在学习各个参考问题属于哪个产品的过程中生成的智能化的针对产品的分类模型,可以智能化的对接收到的参考问题进行按所属产品的分类。进一步的,上述产品还可以关联有相应的处理对象,上述机器学习模型可以采用gbdt(gradientboostingdecisiontree,梯度提升决策树模型)和随机森林模型,本申请对此不作限定。

s204:将各个参考问题对应的文本特征向量、产品以及解决方案,组成三元数据组。

为了提高确定最佳解决方案的效率,可以根据多组问答数据将各个参考问题对应的文本特征向量、产品以及解决方案,组成三元数据组,例如:(问题:信用卡在美国消费记账错误,所属产品:信用卡中心,解决方案:客户额外给了小费),使得在确定最相似的参考问题后,可以直接根据上述三元数据组得到相应的解决方案。

s205:根据分类模型和三元数据组,建立查询数据库。

可以根据上述分类模型以及上述多组问答数据中各个参考问题对应的三元数据组,建立查询数据库。上述查询数据库可以接受用户输入的目标问题,按照预定的方法,将确定的解决方案反馈给用户。

下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。

在本申请具体实施例中提供了一种数据查询方法,如图3所示,可以包括:

步骤1:获取银行faq(frequentlyaskedquestions,常见问题解答)系统以及工单系统中的历史数据,其中上述历史数据包括:问题描述、所属产品以及解决方案,首先可以对历史数据中的问题描述进行数据清洗,将不影响问题描述的词语进行删除,留下完整的含义。根据历史数据中的问题描述格式、人工处理问题经验对工单系统中问题描述进行清洗,去掉问题提出人信息、联系电话、负责人信息、核心中身份证号、证件签发日期、证件到期日期、借记卡号等,可以为后续分词、知识库模型构建提供准确信息。

步骤2:利用中文分词技术进行分词,并过滤掉停用词、标点符号等等生成词向量。其中,上述中文分词技术可以采用python中文分词工具结巴分词。进一步的,可以将进行中文分词后的问题描述过滤掉停用词以及标点符号,其中,为节省存储空间和提高搜索效率,在处理自然语言数据之前或之后会自动过滤掉某些字或词,这些字或词即被称为停用词,可以包括但不限于:语气助词、副词、介词、连接词,通常停用词自身并无明确的意义,只有将其放入一个完整的句子中才有一定作用,如常见的“的”、“在”之类。

步骤3:根据数据清洗、中文分词和去停用词的结果,可以将任何语素单位(字、词)表示成一个低维空间的连续变量,即词向量。根据tf-idf算法提取特征值,结合gbdt梯度提升决策树模型和随机森林模型针对问题描述进行分类形成智能知识库模型。具体步骤如下:

s31:计算词向量中每个词的tf=某个词文档中出现次数/文章中总字数。

s32:计算逆文档频率idf,即词向量中各个词在整个文档库中出现的频率。

idf=lg(语料库的文档总数/包含该词的文档数+1)

s33:计算tf-idf值,tf-idf与一个词在文档中的出现次数成正比,与该词在整个文档库中的出现次数成反比。

tf-idf=tf*idf

s34:对s31-s33计算得到的词向量,进行归一化处理,提取最具有特征的词保存为问题描述的特征词向量,也可称作是文本特征向量。

例如:“我在美国消费90美元,为啥信用卡账单记的是100美元”这个问题数据清洗和中文分词后变成一个词向量(我,美国,消费,90美元,为啥,信用卡,账单,记,的,是,100美元)。假设历史工单系统的数据均已经按问题拆分为词向量。计算上面每个词在知识库中出现的次数为词频;计算包含某个词的知识库中问题数据为逆词频;计算词频和逆文本频率的乘积;词向量通过归一化处理变成(0.1,0.2,0.3,0.4,0.5,0.6,0.3,0.4,0.1,0.3,0.4)。

s35:根据问题描述生成的对应的文本特征向量,通过python中的开源机器学习库scikit-learn中的gbdt(gradientboostingdecisiontree,梯度提升决策树模型)和随机森林模型针对问题描述进行分类。计算出该问题描述属于哪个产品,应由哪些产品的开发人员解决,并将得到的各个问题描述对应的文本特征向量,结合对应的所属产品以及解决方案,生成三元数据组,根据上述分类确定的分类模型以及各个问题描述对应的三元数据组,构建智能知识库。

步骤4:对用户输入的问题进行数据预处理、中文分词、归一化处理后,得到用户输入的问题的词向量,然后与知识库模型中各个问题描述的词向量进行相似度计算,利用余弦相似度计算向量空间中两个向量夹角的余弦值,作为衡量两个个体间差异的大小标准,找出最佳匹配答案。

其中,用户输入的问题生成的对应的词向量可以为a,智能知识库中各个问题描述对应的词向量可以为bn,则用户输入的问题生成的对应的词向量a与智能知识库中各个问题描述对应的词向量bn之间的余弦相似度可以为:

如果计算得到的相似度值中至少有一个相似度值大于0.5时,则将相似度最高值对应的问题描述的文本特征向量最为最佳匹配,并根据智能知识库中的三元数据组确定最佳匹配的问题描述的文本特征向量对应的最佳解决方案,并将该最佳解决方案发送给用户,用户接收最佳解决方案,配置完成。

进一步的,接收用户是否成功解决问题的反馈信息,如果用户反馈问题已成功解决,则结束该流程;如果用户反馈问题未成功解决,则通过上述分类模型确定用户输入的问题所属的产品,并确定该产品的产品维护人员,将用户输入的问题以及相似度最高的三个值对应的解决方案发送至对应的产品维护人员,产品维护人员根据接收到的问题的三个参考的解决方案确定针对用户输入的问题的解决方案,将最终确定的解决方案发送给用户,并将产品维护人员给出的解决方案、用户输入的问题、所属产品生成一个三元数据组,添加至智能知识库中。

如果计算得到的相似度值均小于0.5,则通过上述分类模型确定用户输入的问题所属的产品,并确定该产品的产品维护人员,将用户输入的问题以及相似度最高的三个值对应的解决方案发送至对应的产品维护人员,产品维护人员根据接收到的问题的三个参考的解决方案确定针对用户输入的问题的解决方案,将最终确定的解决方案发送给用户,并将产品维护人员给出的解决方案、用户输入的问题、所属产品生成一个三元数据组,添加至智能知识库中。

当系统接收到预定次数的同一问题时,向相关产品的维护人员发出警报,从而对该高频问题进行优化,提高用户的体验感。

本申请实施方式还提供了一种电子设备,具体可以参阅图4所示的基于本申请实施例提供的数据查询方法的电子设备组成结构示意图,所述电子设备具体可以包括输入设备41、处理器42、存储器43。其中,输入设备41具体可以用于输入目标问题。处理器42具体可以用于确定目标问题的文本特征向量;计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,其中查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组;在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量;根据三元数据组,确定相似度最高值对应的参考问题的文本特征向量对应的解决方案;将确定的解决方案作为目标问题的解决方案。所述存储器43具体可以用于存储三元数据组、计算得到的相似度值等参数。

在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如ram、fifo等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、tf卡等。

在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。

本申请实施方式中还提供了一种基于数据查询方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收用户输入的目标问题;确定目标问题的文本特征向量;计算目标问题的文本特征向量与查询数据库中各个参考问题的文本特征向量之间的相似度,其中查询数据库中包括:各个参考问题对应的文本特征向量、产品以及解决方案的三元数据组;在计算得到至少一个相似度大于等于第一预设阈值的情况下,确定相似度最高值对应的参考问题的文本特征向量;根据三元数据组,确定相似度最高值对应的参考问题的文本特征向量对应的解决方案;将确定的解决方案作为目标问题的解决方案。

在本实施方式中,上述存储介质包括但不限于随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、缓存(cache)、硬盘(harddiskdrive,hdd)或者存储卡(memorycard)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。

在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。

显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。

应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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