技术应用 | 应用知识图谱设计智能推荐系统的探索
- 2025-08-06 01:59:38
- 159
文/上交所技术有限责任公司陈洪炎徐子祺张紫佼
近年来,随着业务需求的增加,推荐系统已经广泛应用在实际生活中的很多场景,特别是对个性化推荐系统已经有越来越多的研究和落地的优秀实践。但是推荐系统仍然面临着一些问题,例如数据稀疏、冷启动、可解释性差等。
知识图谱是一种高效的知识表达模型,知识图谱能够帮助人们更快速有效获取不同领域知识之间的逻辑关系。成熟的知识图谱可以应用于搜索引擎、智能问答、知识挖掘和金融业务决策中。应用知识图谱设计的推荐系统利用了知识图谱对多源异构数据库的整合,对大数据环境下互联网数据进行知识抽取和知识融合,得到更细粒度的用户特征信息和物品信息,精准进行特征计算从而给用户提供更精准的推荐结果。
根据官方预测数据,已超过80%的业务数据将是以文本、图像、音频、视频或其他格式存储,而大规模存储和查询非结构化数据是一个非常大的挑战,大量的业务需求催生了向量数据库的发展。知识图谱作为人工智能的重要基石,能从海量数据中抽取并表达先验知识,在一定程度上解决智能推荐系统可解释性差的问题。智能推荐系统是基于用户行为和兴趣来进行的千人千面的自动推荐,可以有效帮助用户缓解信息过载的问题,在海量数据中快速并精准找到有价值的信息。
构建知识图谱
知识图谱广义上是一种工程技术的总称,是人工智能领域的新研究,狭义上是指大规模语义网络。一般知识图谱以图结构来描述结构化知识的表示方式,基本数据结构由节点和边组成。从领域特性角度知识图谱分为领域知识图谱和通识知识图谱。知识图谱的构建过程一般包含数据采集、知识抽取、知识推理、知识融合和知识存储。
1.数据采集。数据源质量与数量是构建知识图谱完备性的重要保证之一。常见数据采集的方法是爬虫技术,爬虫技术是请求网站并提取数据的自动化程序。爬虫按照实现技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类型。爬虫基本流程是发起请求、获取响应内容、解析内容和保存数据。常见内容的解析方式有分类、回归、聚类相似度匹配、统计和因果分析。一般将解析结果按照不同的数据结构存储在关系型数据库和非关系型数据库中。
2.知识抽取。知识抽取是从不同来源、不同结构的数据中进行知识提取,面向开放的链接数据,通过自动化的技术抽取出可用的知识单元,形成一系列高质量的事实表达,将数据采集到的原始知识转化为计算机可以处理的数据形式。知识抽取一般分为面向结构化、非结构化和半结构化这几种类型。
3.知识表示。知识表示是将知识抽取出的知识单元利用计算符号运算来表示人脑中的知识和推理过程,知识表示一般分为两种:(1)基于离散符号的知识表示法,如:资源描述框架(RDF)。(2)基于连续向量的知识表示法,如:基于距离的模型。RDF是W3C提出的一种语义网描述框架,假定任何复杂的语义都可以通过多个三元组的组合来表示,RDF有一套完整的知识查询语言(SPARQL)。
4.知识融合。数据采集到的数据单元之间缺乏层次性和逻辑性,并且存在大量冗余和错误信息,知识融合是将多个来源的关于同一个实体或概念的描述信息融合起来,将多个知识库进行知识整合和实体消歧。知识融合包含本体层融合和实例层融合,本体层融合重点关注类、属性和关系,而实例层融合则更加注重真实世界中指代的具体事物。知识融合面临的主要挑战是数据质量与数据规模,数据源质量的好坏也影响知识融合后的结果是否会失真,而当数据量规模很大时需要的算力也会大幅提升。
5.知识推理和存储。知识推理是从已有知识图谱中的实体关系数据出发,经过计算和推理,建立实体之间的新关系,从而扩展和丰富成知识图谱。常见的知识推理有基于演绎的知识图谱推理和基于归纳的知识图谱推理。知识存储一般是将融合消歧后的知识存在图数据库。
设计智能推荐系统
1.智能推荐系统的架构设计。智能推荐系统是人工智能中一个重要的应用领域,能帮助用户在海量信息中快速找到精准的有效信息,通过理解用户兴趣和偏好帮助用户过滤大量无效信息并获取有用信息。传统主流的推荐系统有基于离线的历史用户数据和不断训练和优化的线下模型,训练所使用的过滤算法普遍存在的问题是基于稀疏且有噪声的数据的推荐结果,故并不可靠。传统的过滤算法基于用户清楚自身偏好及忽略对结果有影响的上下文环境因素,这种假设导致推荐结果不精准,不符合用户的预期。智能推荐系统通过特征抽取、特征计算和有效的策略模型处理,并在处理中考虑用户偏好和上下文信息;通过不断训练模型,并用不断更新的知识作为数据源输入来增强原有的知识图谱;通过反馈机制来调优原有的模型,最终可以使推荐结果更加精准。
智能推荐系统的业务模块一般包括数据收集、特征抽取、特征计算、结果排序和UI展示。其中,特征抽取、特征计算和推荐结果的排序是智能推荐系统中的核心模块。智能推荐系统的架构设计分为海量数据层、特征策略处理层、模型计算层、结果输出层和UI展示层。
海量数据层中存储的数据主要包含业务数据和日志数据,负责从各个数据源抓取和整合数据,经过数据清洗、数据转换、统一数据格式、数据存储后,提供给上层的特征策略处理层。
特征策略处理层主要对来自海量数据层提供的数据进行进一步数据处理,再进行特征抽取、特征计算和策略模型处理。特征抽取一般需对数据进行分词、降维、去噪和向量化,生成出特征向量后,提供给策略模型处理模块进行建模。常用的策略模型包括语义模型、长短期记忆模型(简称LSTM模型)、近邻模型、协调模型、FM模型、DNN模型和加权模型等。以LSTM模型为例,是具有记忆长短期信息的能力的神经网络,能长短期记忆网络,主要用来解决循环神经网络(RNN)中存在的长期依赖问题。
结果输出层主要对特征策略处理层处理的结果进行过滤和排序。通过调整生成规则来给用户展示推荐结果,以提供给UI层展示给用户。
2.推荐算法的比较。推荐算法是推荐系统的核心要素,比较常见的推荐算法有基于过滤思想的推荐算法,如:协调过滤、内容过滤、深度学习推荐、图像处理推荐、时间序列推荐、强化学习推荐等。
协同过滤一般针对用户兴趣建模,基于内容过滤一般需要提取特征并进行大量计算,但协同过滤一般会出现数据稀疏和冷启动问题,而且协同过滤需要大量的数据,计算成本和存储成本都很高。
内容过滤主要思路是基于用户对相似物品的兴趣,因此只计算物品之间的相似度,减少了计算成本和存储成本,而且对于用户不感兴趣的物品也会通过物品相似度进行计算,一定程度上解决了长尾问题。内容过滤缺点是无法对新物品进行相似度计算,影响推荐系统的扩展性。
深度学习推荐是基于用户行为和物品特征进行学习,深度学习可以很好地处理非线性关系,而且在处理数据规模上深度学习也具有优势,可以将算法实现为分布式计算。但深度学习依赖大量数据的计算和训练;在海量数据基础上训练出的模型较好;若数据量小,训练的模型的推荐效果较差。
现在互联网上的图片资源越来越多,基于图片处理的推荐模型通过对物品图片提取特征,处理物品之间相似度的计算,图片处理比内容过滤有优势的地方是可以识别并处理新物品,因为基于图片处理过滤是根据物品的特征来进行推荐。但缺点和深度学习推荐一样,基于图片处理的推荐模型也需要大量数据模型的训练。
时间序列推荐是通过用户对物品的历史行为进行时间序列分析来预测用户对物品的兴趣程度,但时间序列没有考虑上下文场景,也没有考虑用户随着时间会对物品的兴趣发生变化。
强化学习是通过学习用户历史行为数据,并且会通过用户的反馈来进行调整,强化学习可以抓取到用户随时间对物品兴趣的变化,但和深度学习一样,也需要大量数据的训练才能得到好的推荐效果。
不同的推荐效果有不同的使用场景和优势,一般实际应用中常常会综合多个推荐算法使用,比如综合协同过滤和内容过滤来同时计算行为相似性和内容知识相似性,并结合深度学习和强化学习的训练,再在训练基础上加入用户反馈来及时调整训练模型,最终获得较好的推荐效果。
3.应用图卷积网络GCN设计推荐系统。卷积神经网络(简称CNN)具有强大的表示特征的能力,在自然语言领域中CNN应用较广泛,文本、图像和视频均是定义在规则网格上的数据,它们能对应地视为分布在一维、二维和三维网格支撑集上,CNN能够方便地运算可归因于这些网格的规则性。如果将CNN推广到能够处理更复杂的图信号的卷积网络,即图卷积网络(简称GCN)。
一般应用在智能推荐系统中有两种图卷积网络:同质顶点图卷积和异质顶点图卷积。同质顶点图卷积通过处理同一类型的节点和边,从同构图中学习到有用的特征,将图中的每个节点表示为一个神经网络单元,使用递归的方式更新每个节点的特征。异质顶点图卷积通过对不同类型的节点和边进行统一的处理,先将异构图转化为一组同构图,然后将该组同构图通过卷积网络进行消息传递并更新节点特征。为同时利用异质和同质顶点交互信息,通过信息互助来提高推荐系统的计算性能,本文通过同异质顶点图卷积进行全连接,加入特征值进行特征聚合,并将聚合后的特征向量嵌入模型,以预测图中节点之间的连接关系。
向量数据库技术
向量数据库主要用于存储非结构化数据,应用高维向量嵌入技术来查找和检索对象。应用向量检索算法和索引技术实现了向量数据库在高维大数据下快速响应。向量数据库区别于关系型数据库,关系型数据库主要存储表格形式的结构化数据,查询结果基于关键字的匹配度,而向量数据库基于查询对象的相似性。向量数据库中采用的技术一般是将非结构化数据转换为向量进行存储,通过向量相似性搜索技术进行语义相关性搜索,而快速地存储、索引和搜索Embedding向量,正是向量数据库的核心优势。Embedding技术是浮点数的向量的嵌入式表征,两个向量之间的距离表示它们的相关性。
1.向量数据库分层架构。向量数据库架构分为四层:数据接入层、协调调用服务层、工作节点层和数据存储层。数据接入主要是通过调用SDK服务,经过负载均衡后,进行数据清洗,归一处理,将数据定义传输给协调调用服务层;将非结构化数据传输给工作节点层分别处理为数据节点、文件节点和索引节点;再由工作节点层传输给数据存储层进行存储。
2.向量数据库工作原理。向量数据库的工作主要分为几个方面:数据向量化、相似度计算和向量检索。数据向量化是将图片、文本和音视频等原始数据转化为向量数据。向量数据库中的相似度是由两个向量之间的距离来衡量的,常见的向量距离计算方式有余弦距离、欧式距离和计算向量内积这几种计算方式。向量检索的算法常见的有基于倒排索引、基于哈希、基于乘积量化和基于图搜索等方式。检索算法越来越往海量数据规模发展,并且对响应速度、算法计算复杂度、内存和CPU消耗、召回率等指标都有越来越高的要求。一般业务应用场景中需考虑综合使用多个算法,在CPU等硬件条件不足的时候,需要优化检索算法,使用GPU加速计算也是一个思路,综合各个算法的优势,但在设计算法时也需要考虑计算性能,准确编排好计算单元和控制单元。
应用知识图谱嵌入设计智能推荐系统
应用知识图谱设计的智能推荐系统,按照应用知识图谱的方式可以分为三种类型:基于嵌入方法的知识图谱、基于连接方法的知识图谱和基于传播方法的知识图谱。
1.基于嵌入方法的知识图谱。知识图谱的最基本单位是三元组(即头实体、关系和尾实体),三元组的数据结构增加了知识图谱的操作难度,进而催生了知识图谱嵌入和知识表示学习(注:知识表示学习是通过学习一种有效的表示方法,将知识图谱中的复杂结构和语义信息映射到一个低维的向量空间中)的研发和发展,知识图谱嵌入模型有卷积神经网络模型、旋转模型和其他模型。基于嵌入方法的知识图谱是将实体和关系嵌入到连续的向量空间中来简化对知识图谱的应用,通过计算实体和关系的低维度相似性来捕获实体和关系之间的相似性。此外,将知识图谱嵌入方法应用在推荐系统中需要考虑图嵌入和推荐模块的设计。
2.基于连接方法的知识图谱。基于连接方法的知识图谱利用图中的连接模式来建立模型。探索实体间的连接信息一般有两种:一是利用图中的元结构,包括元路径和元图,来计算实体之间的相似度。二是将实体之间的连接模式编码为向量。两种方式都依赖于连接模式,通过枚举所有可能的元路径和元图来表达实体之间的关系。但枚举所有元路径和原图会增加计算复杂性,对于计算的硬件性能要求较高,当数据规模很大时,对算法优化的要求也会增加。
3.基于传播方法的知识图谱。基于传播的知识图谱采用了图神经网络(GNN)技术,GNN使用神经网络来处理具有复杂结构的数据,将具有复杂结构的数据转换为特征值,从而为模型的训练提供有用的信息。GNN集成了实体之间高阶连接模式,GNN可以更好地捕捉实体关系间的复杂性,从而提高模型的精度,并且可以很好地补全信息。
4.三种不同知识图谱应用方式的比较。基于嵌入方法的知识图谱编码较简单应用比较广泛,当数据量较大时,计算复杂度会很高,因此,不适合使用在海量数据集场景中。基于嵌入的知识图谱通过广泛的语义关系来丰富实体的知识表示,缺点是捕捉不到实体之间的高阶关系,应用在推荐系统中会影响推荐的精准度。
基于连接方法的知识图谱用图的连接信息来表达实体间的关系,但因为连接方式的知识图谱利用了线性路径表达连接模式,所以丢失了实体之间的关联信息。基于连接的知识图谱难点在于定义元图和元路径,且对数据源质量要求高。数据稀疏的源数据较难训练出元路径和元图,在历史数据集中训练得到的元图和元路径较难泛化到新的数据集中,在实际应用中基于连接的知识图谱在推荐系统中的使用难度较大。
基于传播方法的知识图谱集成了实体、关系表示、高阶连接模式,通过聚合多跳邻居嵌入知识表示来细化实体和实体间的关系信息,实现更加精准和个性化的推荐需求。但基于传播方式的算力成本较高,在智能搜索使用场景中会综合考虑三种不同知识图谱的优缺点来取长补短。
5.应用知识图谱设计智能推荐系统。传统推荐系统主要面临的问题:冷启动问题、数据稀疏问题、较难获得用户偏好和不可解释性问题。冷启动问题是由于推荐系统需要大量用户历史信息,对于新的用户和物品信息来说没有历史数据,导致新数据的相似性和关联性无法计算。数据稀疏问题是由于有效数据在整个数据集中占比很小,这会严重影响推荐结果的质量。较难获得用户偏好是因为一般推荐系统没有很好的根据上下文信息来推荐结果,现实应用场景中上下文信息对用户的偏好产生较大影响,推荐系统需要结合上下文信息才能保证推荐质量。不可解释性问题是由于近几年发展的推荐模型一般集成为大型系统,大部分深度学习算法不能被用户和内容提供者理解其中的推荐逻辑,这不利于内容提供者优化内容产出,也不利于设计研发模型的工程师改善其算法,更不利于推荐系统的平台维护者后续发展。
本文将知识图谱应用在设计智能推荐系统中,以尝试解决传统推荐面临的上述四个主要问题。知识图谱可以提供多样化的领域知识,也可以有效利用知识图谱中的语义关系来提高推荐系统的准确性和延展性。
应用知识图谱技术进行智能推荐的业务流,一般分为三个步骤:(1)原始数据处理,对结构化和非结构化数据进行数据清洗、知识抽取及知识融合。(2)通过从数据中抽取出实体、关系及属性,构建知识图谱。(3)基于知识图谱执行推荐任务,将知识图谱中丰富的语义信息与协同过滤推荐,或者将基于内容推荐和基于混合推荐等算法结合,最终用户可以获得精准的推荐结果,用于辅助用户进行业务决策。
智能推荐系统的工作流水线分为两个主要部分:(1)离线推荐引擎。(2)在线推荐输出。先通过离线推荐引擎计算,将原始数据进行离散化、归一化和编码;基于用户偏好、历史数据和历史评分的冷启动处理和过滤快速召回,再应用图卷积算法(GCN)进行计算;将离线推荐结果进行过滤和数据修正,结合在线推荐系统中不断更新的知识库进行深度融合,最终获得精准的推荐结果。
基于知识图谱的智能推荐系统利用了代表用户的实体、要推荐的物品及其相互之间的相关性。智能推荐系统使用各种连接来识别目标用户可能感兴趣的物品集合。基于传统特征值的推荐系统忽略了通过连接之间应用推理发现的新连接而产生的额外价值,而应用知识图谱设计的智能推荐系统弥补了传统推荐系统忽略新连接的问题。将半结构化和非结构化的数据经过数据处理、文档标注、模型训练和反馈调优后,结合结构化数据进行数据整合,通过实体对齐和消歧构建本体,进行知识推理后再进行知识融合,根据不断更新的知识信息来不断调优知识图谱并进行质量评估,并将抽取出的特征向量存储在向量数据库中,以供下游的智能搜索系统使用,将推荐过滤算法和排序算法应用在智能搜索系统中,就可以得到满足用户需求的精准搜索结果。
总结与展望
知识图谱作为一种语义网络,拥有极强的表达能力和建模灵活性,基于知识图谱的智能推荐系统在推荐精准度和推荐结果的可解释性方面,都比原来传统推荐系统具有明显的优势。
本文应用知识图谱设计智能推荐系统,并做了一些创新研究。如:将图卷积网络应用在推荐结果的计算上,将实体连接的信息转化成向量信息存储在向量数据库中,搜索系统可以通过向量数据量信息结合更新的知识信息不断优化和修正推荐结果。未来还有其他方向值得研究和探索,具体如下。
动态智能推荐系统:传统推荐系统一般采用离线搜索推荐,数据源来自于用户行为的静态数据和物品静态信息。随着移动互联网的快速发展,线上实时信息对用户行为和偏好的影响越来越大,本文在描述智能推荐的工作流程中提供了一个思路,可以利用静态推荐系统作为输入来设计动态智能推荐系统。
跨领域推荐系统:不同领域的数据信息差异大,通过迁移学习技术可以将不同领域的知识进行相互补充,共享不同领域的知识以便更好的精准推荐。例如,可以将领域知识图谱和通识知识图谱结合,设计跨领域推荐系统。
知识增强推荐系统:将知识增强的表达技术策略应用在推荐系统中,可以更好的学习实体之间的关系,能得到更加精准的推荐结果。
更深入的知识图谱嵌入智能推荐系统研究:已有的知识图谱嵌入智能推荐系统的研究仅停留在将嵌入技术应用在推荐任务中,还没有对知识图谱嵌入技术进行统一,在不同的数据源、数据规模、应用领域、推荐场景和模型架构下使用的知识图谱技术相差甚远,需要统一知识图谱嵌入的具体使用场景,以及对比在不同场景下使用的优劣。
(此文刊发于《金融电子化》2025年5月上半月刊)
- 上一篇:麻花特开心一看全是沈腾的兵
- 下一篇:曾写满分作文的妈妈再写还是满分