基于知识图谱的数据预处理和内容推荐方法与流程

文档序号:20839046发布日期:2020-05-22 17:15阅读:3580来源:国知局
基于知识图谱的数据预处理和内容推荐方法与流程

本发明属于信息技术技术领域,具体涉及一种基于知识图谱的数据预处理和内容推荐方法。



背景技术:

数据的质量,直接决定了模型的预测和泛化能力的好坏。它涉及很多因素,包括:准确性、完整性、一致性、时效性、可信性和解释性。而在真实数据中,我们拿到的数据可能包含了大量的缺失值,可能包含大量的噪音,也可能因为人工录入错误导致有异常点存在,非常不利于算法模型的训练。数据清洗的结果是对各种脏数据进行对应方式的处理,得到标准的、干净的、连续的数据,提供给数据统计、数据挖掘等使用。数据预处理可以提高数据的质量,从而有助于提高后续学习过程的精度和性能。

数据预处理的主要步骤分为:数据清理、数据集成、数据规约和数据变换。数据清理的主要思想是通过填补缺失值、光滑噪声数据,平滑或删除离群点,并解决数据的不一致性来“清理“数据。数据分析任务多半涉及数据集成。数据集成将多个数据源中的数据结合成、存放在一个一致的数据存储,如数据仓库中。这些源可能包括多个数据库或一般文件。数据归约技术可以用来得到数据集的归约表示,它小得多,但仍接近地保持原数据的完整性。这样,在归约后的数据集上挖掘将更有效,并产生相同(或几乎相同)的分析结果。数据变换包括对数据进行规范化,离散化,稀疏化处理,达到适用于挖掘的目的。

推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络。所谓推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。推荐算法多采用基于内容的推荐(content-basedrecommendation),它是建立在项目的内容信息上做出推荐的,而不需要依据用户对项目的评价意见,更多地需要用机器学习的方法从关于内容的特征描述的事例中得到用户的兴趣资料。

推荐系统作为一种信息过滤的重要手段,是当前解决信息超载问题的最有效的方法之一,是面向用户的互联网产品的核心技术。知识图谱包含了实体之间丰富的语义关联,为推荐系统提供了潜在的辅助信息来源。知识图谱在诸多推荐场景中都有应用的潜力,和其它种类的辅助信息相比,知识图谱的引入可以让数据预处理以及推荐结果更加具有以下特征:

(1)精确性(precision):知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣;

(2)多样性(diversity):知识图谱提供了不同的关系连接种类,有利于推荐结果的发散,避免推荐结果局限于单一类型;

(3)可解释性(explainability):知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。

随着互联网技术和产业的迅速发展,接入互联网的服务器数量和网页数量也呈指数级上升。用户面临着海量的信息,传统的搜索算法只能呈现给用户相同的物品排序结果,无法针对不同用户的兴趣爱好提供相应的服务。信息爆炸使得信息的利用率反而降低,传统数据预处理与推荐算法无法提供更精准的推荐与服务。



技术实现要素:

本发明针对上述问题,提出基于自然语言的数据预处理方法,提高数据的利用率,并提出基于知识图谱的推荐算法,提高推荐服务的精确性、多样性以及可解释性。

本发明采用的技术方案如下:

一种基于知识图谱的数据预处理和内容推荐方法,包括以下步骤:

1)对收集到的数据进行预处理,包括语料清洗和自然语言处理;

2)利用经过预处理的数据构造数据集;

3)利用构造的数据集建立知识图谱,基于知识图谱进行特征提取;

4)利用提取的特征训练用于内容推荐的网络模型;

5)利用训练完成的网络模型进行内容推荐。

进一步地,所述语料清洗包括:

针对数据自动采集过程产生的数据质量问题,包括数据缺失、丢失和冗余,建立针对数据质量问题的检查规则引擎,包括准确性规则引擎、一致性规则引擎和完整性规则引擎;

在建立的检查规则引擎的基础上进行字段筛选,实现重复数据的智能冗余清除,并通过主数据模糊匹配规则实现数据的缺失填补和错误修正。

进一步地,所述准确性规则引擎包括值长度规则、值域规则、数目规则;所述一致性规则引擎包括格式规范规则、重复数据规则、类型规则、主键规则;所述完整性规则引擎包括空值规则、关联性规则。

进一步地,所述自然语言处理是利用分词工具对文本信息进行分词、词性标注、去停用词处理。

进一步地,步骤3)包括:

采用自然语言处理提取文本中的关系和实体,并利用实体链接技术将提取的知识补充到知识图谱库中;

训练知识图谱中实体和关系的向量,使训练得到的向量能够表达关系;

根据实体的上下文实体特征,得到上下文向量;

通过卷积神经网络提取句子的向量特征;

将每一个文本对应的实体向量、上下文向量、句子向量再通过一个卷积池化层,获取最终向量。

进一步地,通过卷积神经网络模型以及注意力机制来构建模型所述用于内容推荐的网络模型;通过注意力机制获取候选文本与用户点击过的文本关系向量,然后将文本关系向量连接,通过全连接网络计算概率,其取值范围为0~1,该概率表达的是候选文本与用户点击过的文本有关系的概率,概率越接近1表示有关系的可能性越大。

本发明的有益效果如下:

本发明可以提高数据的利用率,挖掘出更多的数据关联关系,帮助产品提供更精准的推荐服务。本发明的优势在于知识图谱特征学习模块和推荐系统模块相互独立。在真实场景中,特别是知识图谱很大的情况下,进行一次知识图谱特征学习的时间开销会很大,而一般而言,知识图谱远没有推荐模块更新地快。因此可以先通过一次训练得到实体和关系向量,以后每次推荐系统模块需要更新时都可以直接使用这些向量作为输入,而无需重新训练。

附图说明

图1是本发明方法的总体流程图。

图2是语料清洗的规则引擎示意图。

图3是注意力机制示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。

本发明提供的完整技术方案如图1所示,包括以下步骤:

1.数据收集

主要收集和公司、资讯相关的数据,具体收集字段如表1~8所示:

表1

表2

表3

表4

表5

表6

表7

表8

2.数据预处理:对收集到的数据进行清洗并利用自然语言进行预处理;

1)语料清洗:通过数据智能冗余清洗技术进行语料的清洗。

针对数据自动采集过程产生的数据缺失、丢失和冗余等质量问题,首先建立针对数据质量问题的检查规则引擎,包括准确性(值长度、值域、数目等规则)、一致性(格式规范、重复数据、类型、主键等规则)和完整性(空值、关联性等规则)等规则引擎,如图2所示。

在建立针对数据质量问题的检查规则引擎的基础上,通过少量人工干预进行字段筛选,相比传统方法,可实现重复数据的智能冗余清除;最后通过主数据模糊匹配规则(可采用现有技术实现),实现数据的缺失填补和错误修正。

其中,处理空缺值的规则包括忽略该记录、去掉属性、手工填写空缺值、使用默认值、使用属性平均值、使用同类样本平均值、预测最可能的值;冗余数据的处理规则生成包括利用了分箱(box-plot)、聚类、计算机和人工检查结合、回归等方法。分箱方法是一种简单常用的预处理方法,通过考察相邻数据来确定最终值。

检查规则列表如下面的表9:

表9

2)自然语言处理:利用jieba分词包(一种现有的分词工具)对文本信息进行分词、词性标注、去停用词等处理。

3.构造数据集

利用经过预处理的业务数据,构造数据集,在切分训练、测试、验证集时应该合理根据业务逻辑来进行切分;

构造数据集的具体过程是:

1)爬取网络新闻,根据新闻标题人工对标题进行类别(如体育中篮球、足球等)标注。

2)按照比例6-2-2将数据分为训练集、验证集和测试集。

4.模型构建

1)特征提取

①构建和完善知识图谱:采用自然语言处理提取文本中的关系和实体,常采用的算法是bert+crf和rnn+crf。并利用实体链接技术将提取的知识补充到知识图谱库中,目前实体链接技术通常采用已有的开源算法。

②训练知识图谱中实体和关系的向量(entityembedding),使训练得到的向量能够表达关系,如,x的妻子是y,提取实体“x”、“y”和关系“妻子”,训练结果获得一个三个向量e,向量关系“ex+e妻子=ey”,目前应用算法为开源的trans系列算法。

③为了更准确地刻画实体,使用一个实体的上下文实体特征(contextualentityembeddings)。一个实体e的上下文实体是e的所有一跳邻居节点,e的上下文实体特征为e的所有上下文实体特征的平均值:

其中,ei表示实体或关系的向量,context(e)表示某个实体的所有一跳实体个数。这里可以理解为x的妻子是y,x的岗位是z等等,我们则是将y、z等相关实体向量平均作为上下文向量。

④通过卷积神经网络提取句子的向量特征,初始是一个句子矩阵,每一行代表词的向量,通过多尺寸的卷积网络获取句子提取后的特征。

⑤将每一个文本对应的实体向量、上下文向量、句子向量再通过一个卷积池化层(kcnn),获取最终向量。

2)模型计算

①训练:通过卷积神经网络模型以及注意力机制来构建模型。通过注意力机制(attentionnet)获取候选文本与用户点击过的文本关系向量,然后将文本关系向量连接,通过全连接网络计算概率(0~1),该概率表达的是候选文本与用户点击过的文本有关系的概率,概率越接近1表示有关系的可能性越大。图3是注意力网络的示意图。

②超参选择:模型涉及到的超参数为学习率、卷积核大小等,通过模拟多种超参数组合选取适合的超参数,并且尝试了不同的梯度更新算法,如梯度下降算法,adam梯度更新算法。

③在线a/btest:选择优化过后的模型和原先模型进行a/btest,若性能有提升则替换原先模型。a/btest(a/b测试,也称为分割测试或桶测试)是一种将网页或应用程序的两个版本相互比较以确定哪个版本的性能更好的方法。ab测试本质上是一个实验,其中页面的两个或多个变体随机显示给用户,统计分析确定哪个变体对于给定的转换目标效果更好。

④进行推荐:

新输入一个候选的标题文本或句子,模型会计算当前文本标题与用户点击过的文本标题并输出一个概率值,该概率值表示用户点击该候选的文本标题的可能性。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

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