一种数据处理方法和系统与流程

文档序号:11286437阅读:184来源:国知局
一种数据处理方法和系统与流程
本发明实施例涉及人工智能
技术领域
,尤其涉及一种数据处理方法和系统。
背景技术
:智能问答是将积累的无序语料信息,进行有序和科学的整理,并建立基于知识的分类模型;这些分类模型可以指导新增加的语料咨询和服务信息,节约人力资源,提高信息处理的自动性,降低网站运行成本。传统的智能问答方案是基于问题的相似度计算,或者是基于句型模式匹配,都是在显示关系中进行挖掘,即寻找知识库中的相似问题进行问题匹配,将与匹配得到的问题对应的答案作为最终的答案。技术实现要素:本发明实施例提供了一种数据处理方法和系统,以解决现有的智能问答方案推荐的答案不准确的问题。根据本发明实施例的一方面,提供了一种数据处理方法,包括:获取待处理的第一数据;根据自然语言处理引擎抽取所述第一数据的关键词序列;根据协同过滤引擎确定所述关键词序列的推荐数据;查询预设的数据库,得到与所述推荐数据匹配的第二数据。根据本发明实施例的另一方面,还提供了一种数据处理系统,包括:获取模块,用于获取待处理的第一数据;抽取模块,用于根据自然语言处理引擎抽取所述第一数据的关键词序列;确定模块,用于根据协同过滤引擎确定所述关键词序列的推荐数据;查询模块,用于查询预设的数据库,得到与所述推荐数据匹配的第二数据。根据本发明实施例提供的一种数据处理方法和系统,获取待处理的第一数据,第一数据可以为用户输入的问题数据,进而根据自然语言处理引擎抽取第一数据的关键词序列,再根据协同过滤引擎确定关键词序列的推荐数据,该推荐数据可以理解为与第一数据相似的问题数据,最后查询预设的数据库,得到与推荐数据匹配的第二数据,该第二数据可以理解为推荐数据的答案数据。本发明实施例在获取到第一数据之后,抽取第一数据的关键词序列,进而根据协同过滤引擎确定关键词序列的推荐数据,再从预设的数据库中查找到与推荐数据匹配的第二数据作为第一数据的答案。与传统的直接从数据库中查找第一数据的相似数据不同,本发明实施例利用协同过滤引擎和第一数据的关键词序列确定第一数据的相似数据,即推荐数据,采用协同过滤技术确定第一数据的相似数据,提高了确定相似数据的准确率。当第一数据作为问题数据,第二数据作为答案数据时,本发明实施例也提高了答案推荐的准确率。附图说明图1是根据本发明实施例一的一种数据处理方法的步骤流程图;图2是根据本发明实施例一的一种数据处理方法中一种用户与物品的关联管理示意图;图3是根据本发明实施例一的一种数据处理方法中另一种用户与物品的关联管理示意图;图4是根据本发明实施例二的一种数据处理方法的步骤流程图;图5是根据本发明实施例二的一种数据处理方法中问题数据与关键词之间的隐式关系示意图;图6是根据本发明实施例二的一种数据处理方法中问答流程示意图;图7是根据本发明实施例二的一种数据处理方法中生成关键词-推荐问题词典的步骤流程图;图8是根据本发明实施例二的一种数据处理方法中生成新的隐式关系词典的步骤流程图;图9是根据本发明实施例三的一种数据处理系统的结构框图;图10是根据本发明实施例三的一种智能问答系统的逻辑架构示意图。具体实施方式下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。实施例一图1示出了根据本发明实施例一的一种数据处理方法的步骤流程图。本实施例提供的数据处理方法包括如下步骤。步骤s100、获取待处理的第一数据。本实施例中的第一数据可以理解为问题数据,本步骤s100具体可以获取用户输入的问题数据,用户输入问题数据的方式可以为键盘输入、手写输入或者语音输入等等,本实施例对用户输入问题数据的具体手段不做限制。而且,本实施例中的第一数据可以为任意语言类型的数据,包括中文、英文、日文等等,本实施例对第一数据的语言类型不做限制。步骤s102、根据自然语言处理引擎抽取第一数据的关键词序列。本实施例中的一个第一数据可以抽取出多个关键词,抽取出的多个关键词可以组成关键词序列。步骤s104、根据协同过滤引擎确定关键词序列的推荐数据。本实施例中的协同过滤(collaborativefiltering,cf)引擎采用协同过滤技术。协同过滤技术用于分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,进而对该指定用户对此信息的喜好程度进行预测。协同过滤技术的一个典型案例就是尿布与啤酒的例子:美国的妇女们经常会嘱咐她们的丈夫下班以后要为孩子买尿布。而丈夫在买完尿布之后又要顺手买回自己爱喝的啤酒,因此啤酒和尿布在一起购买的机会还是很多的。很多时候看似不相关的两种产品,却会存在某种神秘的隐含关系,获取这种关系将会对提高销售额起到推动作用,然而有时这种关联是很难通过理性的分析得到的。借助协同过滤技术可以挖掘人与人以及商品与商品的关联关系。简单来说,协同过滤技术是一种基于关联规则的算法,以购物行为为例。假设有甲和乙两名用户,有a、b、c三款产品。如果用户甲和乙都购买了a和b这两款产品,可以假定用户甲和乙有近似的购物品味。当用户甲购买了产品c而用户乙还没有购买产品c的时候,通过协同过滤技术就可以把产品c也推荐给用户乙。协同过滤技术是集体智慧的一个典型方法,要理解什么是协同过滤技术,首先想一个简单的问题,如果想看个电影,但不知道具体看哪部,可以问问周围的朋友有什么好看的电影推荐,人们一般更倾向于从口味比较类似的朋友那里得到推荐。这就是协同过滤技术的核心思想。要实现基于协同过滤技术进行数据算法,需要进行以下三个步骤:1)收集数据通常为用户的历史行为数据,比如用户的购买历史、关注、收藏行为、发表了某些评论、给某个物品打了多少分等等,都可以用来作为数据供协同过滤技术使用。需要特别指出的在于,不同的数据准确性不同粒度也不同,在使用时需要考虑到噪音所带来的影响。2)找到相似用户和物品就是计算用户间以及物品间的相似度。可以通过欧几里德距离、皮尔逊相关系数、余弦相似度和谷本(tanimoto)系数等计算相似度。3)进行推荐协同过滤技术主要包括两种过滤方法:一、基于用户的协同过滤;二、基于物品的协同过滤。基于用户的协同过滤的基本思想是基于用户对物品的偏好,找到邻居用户,然后将邻居用户喜欢的物品推荐给当前用户。具体地,将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度,找到多个邻居用户后,根据邻居用户的相似度权重以及他们对物品的偏好,预测当前用户没有偏好的未涉及物品,计算得到一个排序的物品列表作为推荐物品。如图2所示,用户a对物品1和物品3感兴趣,用户b对物品2感兴趣,用户c对物品1、物品2和物品4感兴趣。对于用户a来说,根据各用户的历史兴趣偏好信息,计算得到用户c为用户a的邻居用户,则可以将用户c感兴趣的物品4推荐给用户a。表1图2中的用户与物品的关联对照表,其中,√表示拥护对物品感兴趣。用户/物品物品1物品2物品3物品4用户a√√推荐用户b√用户c√√√表1基于物品的协同过滤的原理和基于用户的协同过滤类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对物品的偏好找到相似的物品,然后根据用户的历史偏好,推荐相似的物品。从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐物品。如图3所示,用户a对物品1和物品3感兴趣,用户b对物品1、物品2和物品3感兴趣,用户c对物品1感兴趣。对于物品1来说,根据所有用户的历史偏好,喜欢物品1的用户都喜欢物品3,得出物品1和物品3比较相似,而用户c喜欢物品1,则可以推断出用户c可能也喜欢物品3。表2为图3中的用户与物品的关联对照表,其中,√表示拥护对物品感兴趣。用户/物品物品1物品2物品3用户a√√用户b√√√用户c√推荐表2步骤s106、查询预设的数据库,得到与推荐数据匹配的第二数据。本实施例中,预设的数据库可以为包括具有对应关系的问题数据-答案数据的数据库。在查询数据库时,若推荐数据与数据库中的某个问题数据相同,则将与该问题数据具有对应关系的答案数据确定为与推荐数据匹配的第二数据,也就是说,本实施例中的第二数据为第一数据的答案数据。根据本实施例提供的一种数据处理方法,获取待处理的第一数据,第一数据可以为用户输入的问题数据,进而根据自然语言处理引擎抽取第一数据的关键词序列,再根据协同过滤引擎确定关键词序列的推荐数据,该推荐数据可以理解为与第一数据相似的问题数据,最后查询预设的数据库,得到与推荐数据匹配的第二数据,该第二数据可以理解为推荐数据的答案数据。本实施例在获取到第一数据之后,抽取第一数据的关键词序列,进而根据协同过滤引擎确定关键词序列的推荐数据,再从预设的数据库中查找到与推荐数据匹配的第二数据作为第一数据的答案。与传统的直接从数据库中查找第一数据的相似数据不同,本实施例利用协同过滤引擎和第一数据的关键词序列确定第一数据的相似数据,即推荐数据,采用协同过滤技术确定第一数据的相似数据,提高了确定相似数据的准确率。当第一数据作为问题数据,第二数据作为答案数据时,本实施例也提高了答案推荐的准确率。实施例二本实施例重点在于强调与上述实施例的不同之处,相同之处可以参照上述实施例中的相关说明,在此不再赘述。图4示出了根据本发明实施例二的一种数据处理方法的步骤流程图。本实施例提供的一种数据处理方法包括如下步骤。步骤s400、获取待处理的第一数据。本实施例以第一数据为中文问题数据为例进行说明,对于其他语言类型的第一数据均可以参照本实施例的相关介绍,在此不再赘述。步骤s402、根据自然语言处理引擎抽取第一数据的关键词序列。可选地,本步骤s402可以包括如下子步骤。子步骤s4020、对第一数据进行分词。词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而中文是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。本实施例中的分词方法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法;基于知识理解的分词方法。本实施例以词频度统计的分词方法为主,字典、词库与知识理解的分词方法为辅的方法实现中文分词。子步骤s4022、利用词频-逆向文件频率(termfrequency–inversedocumentfrequency,tf-idf)方式对分词结果进行加权,抽取第一数据的关键词序列。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。在一份给定的文件里,tf指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(termcount)的归一化,以防止它偏向长的文件(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否)。idf是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数。某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的tf-idf。步骤s404、根据协同过滤引擎确定关键词序列的推荐数据。一种可行的实施方式中,本步骤s404具体可以为:根据协同过滤引擎中的隐式关系词典,确定关键词序列的推荐数据。其中,隐式关系词典包括关键词与推荐数据的隐式关联关系。本实施例中,隐式关系词典包括多个问题数据,以及与每个问题数据关联的多个关键词,例如,从问题数据1中抽取出一组关键词,分别为关键词1、关键词2、关键词4……,从问题数据2抽取出一组关键词,分别为关键词1、关键词3、关键词4……,从问题数据3抽取出一组关键词,分别为关键词2、关键词3、关键词4……,通常,不同的问题数据之间会存在重复的关键词,因此,可以建立问题数据与关键词之间的隐式关系,如图5所示。步骤s406、查询预设的数据库,得到与推荐数据匹配的第二数据。基于本实施例的上述介绍,一种可行的实施方式中,如图6所示,用户输入问题数据,调用中文自然语言处理引擎,抽取问题数据的关键词,遍历抽取得到的所有关键词,查询关键词-推荐问题词典,寻找问题数据的推荐问题,对寻找到的全部推荐问题进行评分排序,得到最佳推荐问题,根据最佳推荐问题查询问题-答案知识库,得到问题数据的最佳答案,并返回至用户。可选地,在本实施例执行之前,需要预先生成关键词-推荐问题词典,如图7所示,先收集问题-答案对数据,调用中文自然语言处理引擎,抽取问题-答案对数据的关键词,对关键词的权重进行归一化处理,对所有关键词进行排序创建关键词序列,对所有问题进行排序创建问题序列,生成关键词-问题-权重的三元组矩阵,根据关键词-问题-权重的三元组矩阵进行协同过滤计算,遍历关键词序列,获得每个关键词的推荐问题,生成关键词-推荐文件词典。可选地,一个关键词在一个问题中只出现了一次,在实际应用中,一个关键词可以在一个问题中出现多次,因此,可以对协同过滤引擎进行优化,具体可以包括如下三方面:一方面、人工维护关键词的权重一种具体场景中,通过人工的形式为知识库中的问题-答案对给定关键词。该关键词有可能并未在文中出现,例如一篇介绍雾霾的问题-答案对,标注的关键词为“大气污染”,“pm2.5”。对于此类关键词,需要设定为最高权重。二方面、代入tf-idf值作为关键词与推荐数据的隐式关联关系的权重。在抽取关键词时,通过tf-idf计算的方式提取数值较高的关键词,同理,也可以对隐式关联关系的权重进行推荐计算,但是抽取关键词时的tf-idf计算结果的值域范围与协同过滤时计算隐式关联关系的权重的值域范围并不相同,因此,需要根据隐式关联关系的权重的值域范围对tf-idf计算结果进行等比例处理。三方面、利用用户反馈机制调整关键词与推荐数据的隐式关联关系的权重建立多种反馈机制,借助用户的反馈来维护关键词与推荐数据的隐式关联关系的权重。可以包括如下方法:1、对一段时间内的用户提问问题进行关键词抽取,统计出频率较高的关键词,整理出热门关键词,可以对这些热门关键词的关系进行适当加权。2、对一段时间内,统计出作为结果推荐次数较多的问题作为热门问题,可以对这些热门问题的关系进行适当加权。3、通过顶、踩、复制粘贴、评价等机制让用户对已回复的问题进行反馈,根据反馈结果重新进行权重计算。通过以上反馈机制对问答结果进行跟踪,获取行为数据,根据行为数据自动维护关键词与推荐数据的隐式关联关系的权重,并定期进行重新推荐,提高问答效果。因此,本实施例还可以定时地生成新的隐式关系词典,如图8所示,可以定时收集热门关键词、热门推荐数据、人工标注的关键词和返回行为数据,对热门关键词、热门推荐数据、人工标注的关键词和返回行为数据依次进行综合权重计算和协同过滤计算,生成新的隐式关系词典。根据本实施例提供的一种数据处理方法,获取待处理的第一数据,第一数据可以为用户输入的问题数据,进而根据自然语言处理引擎抽取第一数据的关键词序列,再根据协同过滤引擎确定关键词序列的推荐数据,该推荐数据可以理解为与第一数据相似的问题数据,最后查询预设的数据库,得到与推荐数据匹配的第二数据,该第二数据可以理解为推荐数据的答案数据。本实施例在获取到第一数据之后,抽取第一数据的关键词序列,进而根据协同过滤引擎确定关键词序列的推荐数据,再从预设的数据库中查找到与推荐数据匹配的第二数据作为第一数据的答案。与传统的直接从数据库中查找第一数据的相似数据不同,本实施例利用协同过滤引擎和第一数据的关键词序列确定第一数据的相似数据,即推荐数据,采用协同过滤技术确定第一数据的相似数据,提高了确定相似数据的准确率。当第一数据作为问题数据,第二数据作为答案数据时,本实施例也提高了答案推荐的准确率。实施例三图9示出了根据本发明实施例三的一种数据处理系统的结构框图。本实施例提供的一种数据处理系统包括:获取模块90,用于获取待处理的第一数据;抽取模块91,用于根据自然语言处理引擎抽取第一数据的关键词序列;确定模块92,用于根据协同过滤引擎确定关键词序列的推荐数据;查询模块93,用于查询预设的数据库,得到与推荐数据匹配的第二数据。可选地,确定模块92,用于根据协同过滤引擎中的隐式关系词典,确定关键词序列的推荐数据;其中,隐式关系词典包括关键词与推荐数据的隐式关联关系。可选地,确定模块92包括:遍历子模块920,用于遍历关键词序列中的各关键词,从隐式关系字典中确定各关键词的推荐数据;排序子模块921,用于将各关键词的推荐数据进行评分排序;确定子模块921,用于将评分最高的推荐数据确定为关键词序列的推荐数据。可选地,抽取模块91包括:分词子模块910,用于对第一数据进行分词;抽取子模块911,用于利用词频-逆向文件频率tf-idf方式对分词结果进行加权,抽取第一数据的关键词序列。可选地,数据处理系统还包括:收集模块94,用于收集热门关键词、热门推荐数据、人工标注的关键词和返回行为数据;生成模块95,用于对热门关键词、热门推荐数据、人工标注的关键词和返回行为数据依次进行综合权重计算和协同过滤计算,定时生成新的隐式关系词典。一种可行的实施方式中,采用本实施例中技术方案的一种智能问答系统的逻辑架构如图10所示,包括问答交互界面、协同过滤引擎、中文自然语言处理引擎和问题-答案知识库。其中,协同过滤引擎包括关键词序列、问题序列和关键词-问题隐式关系;中文自然语言处理引擎包括中文分词和关键词提取。根据本实施例提供的一种数据处理系统,获取待处理的第一数据,第一数据可以为用户输入的问题数据,进而根据自然语言处理引擎抽取第一数据的关键词序列,再根据协同过滤引擎确定关键词序列的推荐数据,该推荐数据可以理解为与第一数据相似的问题数据,最后查询预设的数据库,得到与推荐数据匹配的第二数据,该第二数据可以理解为推荐数据的答案数据。本实施例在获取到第一数据之后,抽取第一数据的关键词序列,进而根据协同过滤引擎确定关键词序列的推荐数据,再从预设的数据库中查找到与推荐数据匹配的第二数据作为第一数据的答案。与传统的直接从数据库中查找第一数据的相似数据不同,本实施例利用协同过滤引擎和第一数据的关键词序列确定第一数据的相似数据,即推荐数据,采用协同过滤技术确定第一数据的相似数据,提高了确定相似数据的准确率。当第一数据作为问题数据,第二数据作为答案数据时,本实施例也提高了答案推荐的准确率。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关
技术领域
的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1