微信扫码
与创始人交个朋友
我要投稿
知识图谱(KGs)在网络对齐、问答和推荐系统(RSs)等应用中至关重要,因为它们提供了结构化的关系数据,便于推断间接关系。然而,基于KG的推荐系统在处理用户自然语言输入时面临重大挑战。首先,自然语言处理单元必须有效处理人类语言中的模糊性和变异性,以准确解释用户意图。其次,系统必须精确识别并链接实体,如产品名称,至其在KG中的相应节点。为克服这些挑战,在联想的支持下,我们开发了一款新型聊天机器人“普罗米修斯”,将KG与大型语言模型(LLM)相结合,专门用于推荐计算机组件。该聊天机器人能够准确解码用户请求,并提供基于KG的个性化推荐,确保对用户计算机设置需求的准确理解和响应。
关键词: 知识图谱;大型语言模型;推荐系统;自然语言处理;计算机组件
知识图谱(KG)是一种图结构,包含一系列事实,其中节点代表现实世界的实体、事件和对象,边表示两个节点之间的关系。自2012年首次出现以来,已经生成了多种知识图谱,包括Freebase、Yago、Wikidata等。知识图谱的应用非常广泛,从网络对齐、问答系统到推荐系统(RS)等。在这些应用中,基于知识图谱的推荐系统旨在处理用户输入并提供相关推荐。
任何推荐系统的核心是其个性化推荐算法。传统算法取得了显著成功,通常分为基于内容的过滤、协同过滤和混合过滤技术。尽管这些传统方法取得了成功,但仍面临未解决的问题,例如用户与项目之间的稀疏关系以及在向新用户推荐时遇到的冷启动问题。此外,将这些算法扩展以满足现实推荐场景的需求也带来了重大挑战。为了解决这些局限性,研究人员和工程师将辅助信息纳入推荐系统,包括用户和项目的属性特征、用户社交网络信息和多媒体信息(例如,文本、图像)。值得注意的是,知识图谱提供了丰富的项目背景信息,揭示了它们之间的隐藏关系,这显著提高了推荐质量。
最近,基于知识图谱的推荐系统引起了学术界和工业界的关注,导致在多个领域的发展。在教育领域,推荐系统现在是一个关键的研究领域,特别关注通过识别教育资源和适合整合到学习中的学术内容来帮助学习者。类似地,在旅游行业,这些推荐系统提供量身定制的信息,增强用户体验。知识图谱在健康、娱乐和商业等领域的应用也日益增多。
基于知识图谱的推荐系统通常由知识图谱、推荐模块和连接模块组成。其中,知识图谱存储关于实体的丰富语义信息,推荐模块计算用户与项目之间的关系。连接模块将语义信息映射到低维向量中,然后与推荐模块结合,以计算用户与项目之间的交互信息。与传统连接模型不同,我们使用大型语言模型(LLM)来处理用户输入。
在本论文中,在联想的支持下,我们探索创建一个独特的基于知识图谱的推荐系统,名为“Prometheus”聊天机器人,用于推荐计算机组件。该项目的主要目标是简化与文档的交互,并使用自然语言提取有价值的信息。Prometheus聊天机器人使用LangChain和GPT-4/ChatGPT构建,为用户提供流畅自然的对话体验,并得到Azure OpenAI服务和OpenAI的支持。我们工作的关键贡献如下:
我们使用联想的专有数据库开发了计算机组件的知识图谱,其中包括产品名称及其相关规则。
我们将知识图谱与大型语言模型结合,创建了Prometheus聊天机器人,确立了行业新标准,特别是在处理复杂计算机组件的领域。
Prometheus 聊天机器人集成了知识图谱构建、自然语言处理和聊天机器人设计,创建了一个完整的计算机组件推荐系统。该系统建立在三个主要支柱之上:用于构建知识图谱的 Neo4j 数据库、用于处理自然语言的 Azure OpenAI 服务,以及用于构建聊天机器人界面的 Streamlit。
KG 构建是一个迭代的工程过程,涉及各种方法和工具。这些方法可以分为两大类:自上而下和自下而上。
自上而下的方法根植于数据库构建中的建模过程。它从识别一个主题领域和研究需求列表开始,接着设计一个概念模型,以收集感兴趣的实体、它们之间的关系以及类别。像 CmapTools 这样的工具在概念建模中非常有价值。随后,创建逻辑模型和物理模型,为收集的实体和关系添加逻辑表示和断言。在技术开发和实施阶段,重要的考虑因素包括编码语言(例如 RDF 和 OWL)、序列化格式(例如 RDF/XML、Turtle 和 JSON-LD),以及 KG 开发平台,如 Protégé 和 DOGMA。最后一步是将 KG 部署为服务,以便社区重用和反馈,将领域知识转化为机器可读的表示。
相对而言,自下而上的 KG 构建方法依赖于众包数据,如社交媒体和传统文献。社交媒体的扩展和对已发布文献的开放获取显著增加了数据源,导致近年来使用这种方法的出版物数量上升。尽管自下而上的方法可以通过处理大量数据集快速构建大型 KG,但在实体和关系的精确逻辑表示和断言方面仍然存在挑战。
在本研究中,我们的方法是自上而下和自下而上方法的结合。我们首先采用自上而下的策略,从 SQLite 数据库 (T3.db) 中识别特定类型的规则(文本规则、推导和选择),并设计一个包含感兴趣实体及其相互关系的概念模型。这涉及逻辑和物理建模,其中提取的规则被标准化和处理,以在 Neo4j 中创建节点和关系,确保数据的结构化和精确表示。同时,我们通过 SQL 查询提取原始数据,并对其进行预处理,以去除不必要的元素并标准化格式,从而采用自下而上的方法。这种双重方法结合了自上而下方法的结构化设计,同时融入了自下而上方法特有的数据驱动提取和转换过程。
知识图谱的构建被认为是增强推荐系统的一个有前景的领域。在本研究中,我们使用图数据库 Neo4j 来构建 KG。Neo4j 的一个显著优势是其简化了识别数据点之间连接的方式。虽然像 Python 和 py2neo 这样的编程语言在查询时处理连接,但 Neo4j 直接在数据库中存储连接,显著提高了性能。本研究利用 Neo4j 的免费版本,允许我们结果的无限制复制。
Streamlit 应用程序作为与计算机组件知识图谱交互的用户友好前端。该接口利用 Azure OpenAI 服务来理解和处理自然语言查询,使得系统高度直观,即使对于技术知识有限的用户也能轻松访问。
大型语言模型(LLMs)在自然语言处理方面展现了令人印象深刻的能力,这些模型是基于变换器架构构建的。这些模型结合了大规模架构和大量的文本训练数据。这种扩展使得LLMs能够理解和生成与人类相当水平的文本。其中,ChatGPT在2022年底成为互联网的热门话题,并确立了其作为“文化现象”的地位。在本文中,我们使用Microsoft Azure OpenAI服务访问ChatGPT API,将用户的自然语言处理为Cypher查询。例如,用户可以输入问题或查询,如“请推荐我关于GFX 3050的电源。”或“如果我购买英特尔i7 CPU,推荐哪些组件?”LLM随后解释这些查询,并通过参考我们构建的知识图谱生成适当的响应。这种集成使得系统能够处理各种问题格式和复杂性,为用户提供精确的推荐。
搜索过程始于用户输入查询,例如“告诉我关于M70t Gen5的GFX3050 T3规则。”然后,LLM从查询中提取相关关键词,这里标识为 。这些关键词被注入到知识图谱中。查询寻求那些`name`属性包含 且`project name`属性包含'M70t Gen5'的节点,返回匹配节点的`T3 rules`属性。最后,系统从知识图谱中检索这些信息并向用户提供答案。
总体而言,我们开发了一种新工具,提高了计算机组件推荐的准确性。该系统简化了寻找兼容组件的过程,并使用LLM提供上下文感知和个性化的推荐。
此步骤涉及查询一个名为 T3.db 的 SQLite 数据库,这是联想公司拥有的专有数据库,以检索计算机组件的规则。我们专注于三种特定类型的规则:文本规则、派生规则和选择规则。SQL 查询旨在获取这些规则及其相关的元数据,确保根据相关性、规则类型和内容进行选择。此阶段对于收集原始数据以填充我们的知识图谱至关重要。
提取的规则随后被处理,以去除不必要的部分并标准化其格式。处理步骤包括:从原始规则中移除意外的单词和字符(如 ‘||’ 和 ‘&&’),为所有规则应用统一格式,以及将复杂规则分解为更简单的部分(对于结合多个简单标准的复杂规则,例如“( Intel i5-12400 2.5GHz/6C/12T/18M 65W DDR5
Intel i5-12400F 2.5GHz/6C/12T/18M 65W DDR5 4800|| ✔ Intel i5-12500 3.0GHz/6C/12T/18M 65W DDR5 4800)”。
清洗后的数据被用于使用Neo4j构建知识图谱。节点和关系被创建以分别表示组件及其相关规则。每个节点由其名称、原始规则、规则索引、类型、项目名称、日期和所有者组成。节点之间的关系根据规则定义,指示兼容性(应/不应)。Neo4j数据库被填充了节点和关系。以“推导”类型为例,创建了32,776个节点和24,971个关系。
在知识图谱中,每个计算机组件被表示为一个节点。节点之间的关系通过边表示,表示应该/不应该。
例如,一个内存单元 '64GB( ) DDR4 3200 UDIMM' 节点与其父节点 '32GB DDR4 3200 UDIMM' 之间存在关系,表明它是基础配置的扩展,允许在保持内存类型、速度和形状因素兼容性的同时增加内存容量。该结构使系统能够进行检查并建议针对特定用例优化的组件配对。
搜索结果和其他相关数据以清晰且有组织的表格格式呈现,使用户能够快速理解和比较不同的组件。
我们的工作表明,将知识图谱(KGs)与大型语言模型(LLMs)结合可以提高推荐系统(RSs)的效率。通过将数据库和基于图形的可视化与自然语言处理相结合,我们的方法处理了与推荐计算机组件相关的复杂性。结果显示,系统在提供精确和上下文相关建议的能力上有所改善。知识图谱使得数据的结构化和互联表示成为可能,这支持了更精细的推理和推断。同时,LLM允许用户以自然语言形式提出查询,具有很高的解释准确性。这种结合是基于知识图谱的推荐系统的一次进步。我们将这个推荐系统称为“普罗米修斯”,这是一个主要为联想内部使用而设计的聊天机器人。
然而,挑战仍然存在。构建一个广泛的知识图谱需要大量的努力来更新和确保原始数据的准确性。在未来,我们计划扩大我们的知识图谱的覆盖范围,以包含更多的组件和复杂的规则。这一扩展将进一步提升普罗米修斯聊天机器人的能力。此外,将我们的方法应用于其他领域的潜力提供了有前景的研究机会。具有复杂库存的行业,如汽车、电子或医疗保健,也可能从我们的方法中受益。整合知识图谱和大型语言模型的更广泛应用强调了未来基于人工智能的推荐系统的可能性。
总之,我们的工作展示了知识图谱协作大语言模型在改善推荐系统中的优势。Prometheus在工业中已被证明对更好的计算机组件推荐非常有用。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
大语言模型与图结构的融合:推荐系统中的新兴范式
2024-11-15
利用LLM构建非结构化文本的知识图谱
2024-11-13
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
2024-11-13
利用LLM Graph Transformer实现知识图谱的高效构建
2024-11-12
什么是知识图谱和AI多模态推理
2024-11-12
Graph Maker:轻松使用开源大模型将文本转为知识图谱,发现新知识!
2024-11-11
iText2KG:使用LLM构建增量知识图谱(KG)
2024-11-08
NebulaGraph 在中医药领域的应用:构建鼻炎知识图谱
2024-07-17
2024-07-11
2024-07-13
2024-08-13
2024-07-08
2024-07-12
2024-07-26
2024-07-04
2024-06-10
2024-06-24
2024-11-04
2024-10-10
2024-10-03
2024-09-27
2024-09-08
2024-09-05
2024-08-27
2024-08-24