知识图谱入门:使用Python创建知识图,分析并训练嵌入模型

五种知识图式的绘制方法(思维导图、概念图、知识图谱、语义网络、认知图) 文章目录一、思维导图的绘制二、概念图的绘制三、知识图谱的绘制四、语义网络的绘制五、认知图的绘制 一、思维导图的绘制 绘制思维导图的步骤为: 第一步:拿出一张纸或使用软件,从中心开始绘制,周围留出空白。 第二步:画一幅图表达中心内容,或直接用关键词表示。 第三步:将中心图像和主要分支连接起来,然后把主要分支和二级分支连接起来,再把三级分支和二级分支连接起来,以此类推。 第四步:在每条线上使用一个关键词。 第五步:重复以上动作,把想表达的都画出来,一直联想,一直延申。 二、概念图的绘制 概念图的制作有一定的程 阅读详情
AI摘要

本文详细介绍了如何构建知识图谱,使用NetworkX处理数据,分析包括节点中心性、最短路径和图嵌入(如node2vec),并通过K-means和DBSCAN进行聚类。这些技术展示了在IT领域理解实体间关系的重要工具。

本文中我们将解释如何构建KG、分析它以及创建嵌入模型。

构建知识图谱

加载我们的数据。在本文中我们将从头创建一个简单的KG。

 import pandas as pd  
   
 # Define the heads, relations, and tails  
 head = ['drugA', 'drugB', 'drugC', 'drugD', 'drugA', 'drugC', 'drugD', 'drugE', 'gene1', 'gene2','gene3', 'gene4', 'gene50', 'gene2', 'gene3', 'gene4']  
 relation = ['treats', 'treats', 'treats', 'treats', 'inhibits', 'inhibits', 'inhibits', 'inhibits', 'associated', 'associated', 'associated', 'associated', 'associated', 'interacts', 'interacts', 'interacts']  
 tail = ['fever', 'hepatitis', 'bleeding', 'pain', 'gene1', 'gene2', 'gene4', 'gene20', 'obesity', 'heart_attack', 'hepatitis', 'bleeding', 'cancer', 'gene1', 'gene20', 'gene50']  
   
 # Create a dataframe  
 df = pd.DataFrame({'head': head, 'relation': relation, 'tail': tail})  
 df

接下来,创建一个NetworkX图(G)来表示KG。DataFrame (df)中的每一行都对应于KG中的三元组(头、关系、尾)。add_edge函数在头部和尾部实体之间添加边,关系作为标签。

 import networkx as nx  
 import matplotlib.pyplot as plt  
   
 # Create a knowledge graph  
 G = nx.Graph()  
 for _, row in df.iterrows():  
 G.add_edge(row['head'], row['tail'], label=row['relation'])

然后,绘制节点(实体)和边(关系)以及它们的标签。

 # Visualize the knowledge graph  
 pos = nx.spring_layout(G, seed=42, k=0.9)  
 labels = nx.get_edge_attributes(G, 'label')  
 plt.figure(figsize=(12, 10))  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=700, node_color='lightblue', edge_color='gray', alpha=0.6)  
 nx.draw_networkx_edge_labels(G, pos, edge_labels=labels, font_size=8, label_pos=0.3, verticalalignment='baseline')  
 plt.title('Knowledge Graph')  
 plt.show()

现在我们可以进行一些分析。

分析

对于KG,我们可以做的第一件事是查看它有多少个节点和边,并分析它们之间的关系。

 num_nodes = G.number_of_nodes()  
 num_edges = G.number_of_edges()  
 print(f'Number of nodes: {num_nodes}')  
 print(f'Number of edges: {num_edges}')  
 print(f'Ratio edges to nodes: {round(num_edges / num_nodes, 2)}')

1、节点中心性分析

节点中心性度量图中节点的重要性或影响。它有助于识别图结构的中心节点。一些最常见的中心性度量是:

Degree centrality 计算节点上关联的边的数量。中心性越高的节点连接越紧密。

 degree_centrality = nx.degree_centrality(G)  
 for node, centrality in degree_centrality.items():  
 print(f'{node}: Degree Centrality = {centrality:.2f}')

Betweenness centrality 衡量一个节点位于其他节点之间最短路径上的频率,或者说衡量一个节点对其他节点之间信息流的影响。具有高中间性的节点可以作为图的不同部分之间的桥梁。

 betweenness_centrality = nx.betweenness_centrality(G)  
 for node, centrality in betweenness_centrality.items():  
 print(f'Betweenness Centrality of {node}: {centrality:.2f}')

Closeness centrality 量化一个节点到达图中所有其他节点的速度。具有较高接近中心性的节点被认为更具中心性,因为它们可以更有效地与其他节点进行通信。

 closeness_centrality = nx.closeness_centrality(G)  
 for node, centrality in closeness_centrality.items():  
 print(f'Closeness Centrality of {node}: {centrality:.2f}')

可视化

 # Calculate centrality measures  
 degree_centrality = nx.degree_centrality(G)  
 betweenness_centrality = nx.betweenness_centrality(G)  
 closeness_centrality = nx.closeness_centrality(G)  
   
 # Visualize centrality measures  
 plt.figure(figsize=(15, 10))  
   
 # Degree centrality  
 plt.subplot(131)  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=[v * 3000 for v in degree_centrality.values()], node_color=list(degree_centrality.values()), cmap=plt.cm.Blues, edge_color='gray', alpha=0.6)  
 plt.title('Degree Centrality')  
   
 # Betweenness centrality  
 plt.subplot(132)  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=[v * 3000 for v in betweenness_centrality.values()], node_color=list(betweenness_centrality.values()), cmap=plt.cm.Oranges, edge_color='gray', alpha=0.6)  
 plt.title('Betweenness Centrality')  
   
 # Closeness centrality  
 plt.subplot(133)  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=[v * 3000 for v in closeness_centrality.values()], node_color=list(closeness_centrality.values()), cmap=plt.cm.Greens, edge_color='gray', alpha=0.6)  
 plt.title('Closeness Centrality')  
   
 plt.tight_layout()  
 plt.show()

2、最短路径分析

最短路径分析的重点是寻找图中两个节点之间的最短路径。这可以帮助理解不同实体之间的连通性,以及连接它们所需的最小关系数量。例如,假设你想找到节点“gene2”和“cancer”之间的最短路径:

 source_node = 'gene2'  
 target_node = 'cancer'  
   
 # Find the shortest path  
 shortest_path = nx.shortest_path(G, source=source_node, target=target_node)  
   
 # Visualize the shortest path  
 plt.figure(figsize=(10, 8))  
 path_edges = [(shortest_path[i], shortest_path[i + 1]) for i in range(len(shortest_path) — 1)]  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=700, node_color='lightblue', edge_color='gray', alpha=0.6)  
 nx.draw_networkx_edges(G, pos, edgelist=path_edges, edge_color='red', width=2)  
 plt.title(f'Shortest Path from {source_node} to {target_node}')  
 plt.show()  
 print('Shortest Path:', shortest_path)

源节点“gene2”和目标节点“cancer”之间的最短路径用红色突出显示,整个图的节点和边缘也被显示出来。这可以帮助理解两个实体之间最直接的路径以及该路径上的关系。

图嵌入

图嵌入是连续向量空间中图中节点或边的数学表示。这些嵌入捕获图的结构和关系信息,允许我们执行各种分析,例如节点相似性计算和在低维空间中的可视化。

我们将使用node2vec算法,该算法通过在图上执行随机游走并优化以保留节点的局部邻域结构来学习嵌入。

 `from node2vec import Node2Vec        # Generate node embeddings using node2vec    node2vec = Node2Vec(G, dimensions=64, walk_length=30, num_walks=200, workers=4) # You can adjust these parameters    model = node2vec.fit(window=10, min_count=1, batch_words=4) # Training the model        # Visualize node embeddings using t-SNE    from sklearn.manifold import TSNE    import numpy as np        # Get embeddings for all nodes    embeddings = np.array([model.wv[node] for node in G.nodes()])        # Reduce dimensionality using t-SNE    tsne = TSNE(n_components=2, perplexity=10, n_iter=400)    embeddings_2d = tsne.fit_transform(embeddings)        # Visualize embeddings in 2D space with node labels    plt.figure(figsize=(12, 10))    plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1], c='blue', alpha=0.7)        # Add node labels    for i, node in enumerate(G.nodes()):    plt.text(embeddings_2d[i, 0], embeddings_2d[i, 1], node, fontsize=8)    plt.title('Node Embeddings Visualization')    plt.show()`![](https://mmbiz.qpic.cn/mmbiz_png/gX9JE5tiaI79h7BWILMY26FvMiaYnCw1mASYr5Tjc8umw2rOqezRobrZKLVHNjkZekm3axTibDELCYeTnxduXpMIg/640?wx_fmt=png)node2vec算法用于学习KG中节点的64维嵌入。然后使用t-SNE将嵌入减少到2维。并将结果以散点图方式进行可视化。不相连的子图是可以在矢量化空间中单独表示的

聚类

聚类是一种寻找具有相似特征的观察组的技术。因为是无监督算法,所以不必特别告诉算法如何对这些观察进行分组,算法会根据数据自行判断一组中的观测值(或数据点)比另一组中的其他观测值更相似。

1、K-means

K-means使用迭代细化方法根据用户定义的聚类数量(由变量K表示)和数据集生成最终聚类。

我们可以对嵌入空间进行K-means聚类。这样可以清楚地了解算法是如何基于嵌入对节点进行聚类的:

 # Perform K-Means clustering on node embeddings  
 num_clusters = 3 # Adjust the number of clusters  
 kmeans = KMeans(n_clusters=num_clusters, random_state=42)  
 cluster_labels = kmeans.fit_predict(embeddings)  
   
 # Visualize K-Means clustering in the embedding space with node labels  
 plt.figure(figsize=(12, 10))  
 plt.scatter(embeddings_2d[:, 0], embeddings_2d[:, 1], c=cluster_labels, cmap=plt.cm.Set1, alpha=0.7)  
   
 # Add node labels  
 for i, node in enumerate(G.nodes()):  
 plt.text(embeddings_2d[i, 0], embeddings_2d[i, 1], node, fontsize=8)  
   
 plt.title('K-Means Clustering in Embedding Space with Node Labels')  
   
 plt.colorbar(label=”Cluster Label”)  
 plt.show()

每种颜色代表一个不同的簇。现在我们回到原始图,在原始空间中解释这些信息:

 from sklearn.cluster import KMeans  
   
 # Perform K-Means clustering on node embeddings  
 num_clusters = 3 # Adjust the number of clusters  
 kmeans = KMeans(n_clusters=num_clusters, random_state=42)  
 cluster_labels = kmeans.fit_predict(embeddings)  
   
 # Visualize clusters  
 plt.figure(figsize=(12, 10))  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=700, node_color=cluster_labels, cmap=plt.cm.Set1, edge_color=’gray’, alpha=0.6)  
 plt.title('Graph Clustering using K-Means')  
   
 plt.show()

2、DBSCAN

DBSCAN是基于密度的聚类算法,并且不需要预设数量的聚类。它还可以将异常值识别为噪声。下面是如何使用DBSCAN算法进行图聚类的示例,重点是基于从node2vec算法获得的嵌入对节点进行聚类。

 from sklearn.cluster import DBSCAN  
   
 # Perform DBSCAN clustering on node embeddings  
 dbscan = DBSCAN(eps=1.0, min_samples=2) # Adjust eps and min_samples  
 cluster_labels = dbscan.fit_predict(embeddings)  
   
 # Visualize clusters  
 plt.figure(figsize=(12, 10))  
 nx.draw(G, pos, with_labels=True, font_size=10, node_size=700, node_color=cluster_labels, cmap=plt.cm.Set1, edge_color='gray', alpha=0.6)  
 plt.title('Graph Clustering using DBSCAN')  
 plt.show()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面的 eps 参数定义了两个样本之间的最大距离,min_samples 参数确定了一个被认为是核心点的邻域内的最小样本数。可以看到 DBSCAN 将节点分配到簇,并识别不属于任何簇的噪声点。

总结

分析KGs可以为实体之间的复杂关系和交互提供宝贵的见解。通过结合数据预处理、分析技术、嵌入和聚类分析,可以发现隐藏的模式,并更深入地了解底层数据结构。

本文中的方法可以有效地可视化和探索KGs,是知识图谱学习中的必要的入门知识。

作者:Diego Lopez Yse

本文转自网络,如有侵权,请联系删除。

学习资源推荐

除了上述分享,如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

这里给大家展示一下我进的兼职群和最近接单的截图

兼职群

私单

😝朋友们如果有需要的话,可以V扫描下方二维码联系领取

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

image-20230619144606466

因篇幅有限,仅展示部分资料,添加上方即可获取
python构建知识图谱_Python从零开始构建知识图谱 “他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注。作者:知乎—wxj630地址:https://www.zhihu.com/people/wxj630知识图谱是数据科学中最迷人的概念之一学习如何构建知识图谱... 阅读详情

相关推荐

10大Python知识图谱开源项目全解析

本文分析了Python知识图谱生态中的9个主流开源项目,涵盖知识图谱构建全流程。OpenKE和PyKEEN专注于知识图谱嵌入,支持多种算法和优化;AmpliGraph侧重工业应用;NeuralKG融合多种表示学习方法;μKG支持多源知识图谱联合学习;Pykg2vec适合教学;DeepKE专注知识抽取;GraphRAG结合知识图谱与LLM。各项目定位不同:PyKEEN、NeuralKG适合研究;AmpliGraph、GraphRAG适合工业部署;μKG擅长多源处理;Pykg2vec适合教育。开发者可根据需求(

kcarly的专栏 2766

7套干货,Python常用技术学习知识图谱!!(史上最全,建议收藏)

给大家推荐几个宝藏级教程,你可以根据自己的自身情况进行选择: ...一、Python入门 二、Python数据分析 三、Python爬虫 四、Python学习技术问题汇总 五、数据结构与算法 六、计算机基础 七、MySQL

m0_59162248的博客 1068

我用Python 实现了一个将word变成向量知识图谱的工具(RAG入门)

本文介绍了一个Python项目,将Word文档转化为向量知识图谱。项目通过提取Word文档文本,进行分块处理和向量化,利用HuggingFace的预训练模型(如BERT)将文本转换为向量表示,再基于向量相似度构建可视化知识图谱。核心功能包括文档解析、语义检索和图谱编辑,技术实现涉及文本向量化、相似度计算(使用余弦相似度)和节点搜索。该项目可帮助用户更好地理解和组织文档内容,建立知识点间的关联关系。

JAMES费的空间 1201

python知识图谱工具_个人的Python小工具(6.表格转知识图谱)

根据neo4j-admin的上传格式(仅保留最重要的参数):>> neo4j-admin import --nodes nodesFile1.csv--nodes nodesFile2.csv--relationships relationFile1.csv--relationships relationFile2.csv而neo4j根据nodes与relationships的文件内部...

weixin_39857174的博客 982

知识图谱补全技术-Recsal篇

随着知识图谱在搜索引擎、推荐系统等领域的广泛应用,如何补全图谱中的缺失信息成为一个重要的研究方向。知识补全的任务是根据已知的三元组(头实体-关系-尾实体)推断出未知的三元组,从而完善知识图谱。然而,知识图谱中的关系复杂多样,很多传统模型如 TransE 等只能处理简单的线性关系,对于多对多的复杂关系表现不佳。为了解决这一问题,Rescal 模型被提出。与 TransE 等模型将关系表示为向量不同,Rescal 使用矩阵来表示关系,这使得它能够捕捉到更复杂的实体交互。

weixin_47482014的博客 2372

知识图谱推理:基于表示学习的知识图谱推理

知识图谱是一种用于表示和组织知识的结构,它由实体和它们之间的关系构成。在这篇文章中,我们将探讨基于表示学习的知识图谱推理方法,并提供相应的源代码示例。在知识图谱推理中,表示学习可以用于学习实体和关系的嵌入表示,从而使得推理任务更加高效和准确。表示学习的知识图谱推理方法可以扩展到更复杂的推理任务,例如预测缺失的关系、计算关系相似性等。通过学习实体和关系的嵌入表示,我们可以使用这些表示来推断新的关系、找到隐藏的模式和规律。通过使用表示学习模型,我们可以更好地理解和利用知识图谱中的信息,并进行各种推理任务。

StnIot的博客 539

知识图谱嵌入从未如此简单:PromptKG助力研究者快速实现SOTA模型

你是否曾为知识图谱嵌入(Knowledge Graph Embedding)的复杂实现而头疼?🤔 传统的知识图谱嵌入方法需要大量代码编写和复杂的模型调优,对于新手研究者来说门槛极高。今天,我要为你介绍一个革命性的工具——PromptKG,它能让你在几分钟内搭建起最先进的知识图谱嵌入模型!🚀 PromptKG是一个专注于提示学习与知识图谱相关研究的开源项目集合,提供了完整的知识图谱嵌入解决方案

gitblog_00943的博客 1083

Python知识图谱嵌入学习指南

知识图谱是一个结构化的语义知识库,它使用图的结构将信息链接起来,构建起一个庞大的知识网络。这种网络由实体(如人、地点、组织等)和它们之间的关系组成,每一个实体或关系都可以被视为图中的节点或边。知识图谱能够表达复杂的概念和它们之间的关系,极大地增强了机器对知识的处理能力和对信息的深入理解。知识图谱嵌入技术是构建和扩展知识图谱的关键技术之一。通过将图谱中的实体和关系映射到低维向量空间,不仅使得图谱的存储和处理变得更为高效,同时也极大地增强了图谱的应用潜力,特别是在机器学习和数据挖掘任务中。

weixin_34547628的博客 977

以知识图谱进行思考:通过结构化数据提升大型语言模型推理能力

大型语言模型 (LLM) 在自然语言理解和生成方面表现出卓越的能力。然而,他们经常与复杂的推理任务作斗争,并且容易产生幻觉。最近的研究表明,在利用知识图谱 (KG) 提高 LLM 性能方面取得了可喜的结果。KG 提供实体及其关系的结构化表示,提供丰富的信息源,可以增强 LLM 的推理能力。在这项工作中,我们开发了不同的技术,将 KG 结构和语义紧密集成到 LLM 表示中。我们的结果表明,我们能够显著提高 LLM 在复杂推理场景中的性能,并使用 KG 为推理过程奠定基础。

2401_85373898的博客 2283

探索PyPI中的torchkge库:知识图谱嵌入的Python工具包

Python Package Index,简称PyPI,是一个存放Python软件包的数据库,为Python社区提供了一个便于查找和安装第三方库的平台。它相当于软件界的“应用商店”,开发者可以在此发布自己的Python包,而用户则可以从中找到满足特定需求的工具包并轻松安装到自己的环境中。访问PyPI官网,首先映入眼帘的是一个简洁的搜索栏,用户可以输入自己想要查找的包名或关键词。官网提供了详尽的分类,可以帮助用户从不同维度对包进行筛选和搜索。此外,官网还会展示一些热门包的列表,便于用户发现流行的趋势。

weixin_29069575的博客 726

即梦AI使用教程

摘要: 即梦AI是字节跳动推出的多模态AI创作平台,整合图片、视频、智能编辑功能,基于OmniHuman模型支持中英日三语操作。核心特点包括: 技术升级:4.0版本强化中文语义理解与微观表现力,新增故事分镜生成; 创作功能:支持文本/图片转视频、AI对口型、商业级抠图与多图层融合; 用户友好:移动/网页双端适配,灵感社区复用提示词,剪映生态无缝衔接; 应用场景:覆盖电商换装、虚拟主播、设计融合等需求,未来将开放API拓展生态。 (字数:149)

专业深耕,技术前沿 6323

知识图谱补全技术-DistMult篇

在自然语言处理和机器学习领域,知识图谱是一种至关重要的数据结构。知识图谱通过节点表示实体,边表示实体之间的关系,构建了一个复杂的网络结构。在知识图谱中,如何高效地表示实体和关系是一个关键问题。为了解决这个问题,知识图谱补全技术应运而生。它通过预测和填补知识图谱中的缺失三元组,增强了数据的完整性和实用性。知识图谱补全技术利用嵌入模型和图神经网络等先进的机器学习方法,广泛应用于搜索引擎、推荐系统和智能问答系统等领域,从而显著提升了这些系统的性能和用户体验。

weixin_47482014的博客 4926

Jetson Orin边缘语音AI实战:用Riva ASR/TTS + Llama 2打造离线智能语音助手

本文详细介绍了如何利用NVIDIA Jetson Orin的边缘计算能力,结合Riva ASR/TTS语音引擎和Llama 2大语言模型,构建完全离线的智能语音助手。通过硬件优化、量化部署和性能调优,实现在网络不稳定环境下的高效语音交互,适用于智能家居、车载系统等场景。

weixin_29053383的博客 243

Ampligraph——基于tensorflow的python库,可用于知识图谱嵌入和链接预测

Ampligraph——基于tensorflow的python库,可用于知识图谱嵌入和链接预测

weixin_44458771的博客 3581

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

【2023】Java利用modbus4j实现工业设备Modbus TCP数据采集与解析

本文详细介绍了在2023年使用Java和modbus4j库实现工业设备Modbus TCP数据采集与解析的完整实践。内容涵盖开发环境搭建、TCP连接建立、开关量与模拟量数据的读取与解析、批量读取性能优化、控制指令写入以及常见错误排查指南,为开发者构建稳定高效的工业物联网数据采集系统提供全面指导。

rose2的博客 723

基于RotatE模型的知识图谱嵌入技术详解

RotatE模型是一种基于复数空间的知识图谱嵌入方法,提出了将关系表示为复数空间中的旋转。该模型的基本思想是:通过将头实体向量绕关系的相位进行旋转,来生成尾实体向量。

Y-starrydreamer的博客 1746

别再只会用官网例子了!Vxe-Table过滤功能深度自定义:从下拉框到服务端筛选的完整配置流程

本文深入解析Vxe-Table表格组件的过滤功能,从基础UI定制到服务端筛选的完整实现流程。通过实战案例演示如何超越官方示例,实现下拉框、日期范围等复杂过滤交互,并详细讲解混合过滤策略与性能优化技巧,帮助开发者应对大数据量场景下的表格筛选需求。

weixin_42526353的博客 206

Python知识图谱框架

Python中用于构建知识图谱的框架和库有很多,它们各自有不同的特点和功能,适用于不同的应用场景。

翱翔-蓝天 1472

我的GIT练习ONE

Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理每一次的练习,都是对自身知识的巩固,以及对自身知识的一个测试。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 8874

大模型——dify实战通过dify搭建你自己的图片识别服务

本文介绍了如何通过Dify平台搭建图片识别服务。首先创建工作流,添加支持图片上传的字段,并配置视觉模型qwen-vl-max-latest进行图像分析。文章详细说明了各步骤操作,包括字段设置、模型选择、提示词编写等。在测试阶段发现URL解析问题后,提供了解决方案:修改Dify的.env文件,调整FILES_URL配置并重启服务。最终成功实现上传图片或输入图片链接后,AI能够准确分析并返回简洁的图片内容描述。这一方案适用于需要快速部署图像识别功能的场景。

1930

知识图谱嵌入的Translate模型汇总(TransE,TransH,TransR,TransD

一文打尽图嵌入Translate模型,各种模型的动机,优缺点分析。 本文对知识图谱嵌入/知识表示的转换模型进行了简要的总结。你可以从TensorFlow-TransX中找到开源的TensorFlow代码。 知识表示的一些背景知识 通常,我们使用三元组(head, relation, tail)来表示知识。在这里,头和尾是实体。例如,(sky tree, location, Tokyo)。我们可以用独热向量来表示这个知识。但实体和关系太多,维度太大。当两个实体或关系很近时,独热向量无法捕捉相似度。受

朝闻道 3418

Oracle EBS与SAP数据数据切换至迁移华为MetaERP分析

Oracle EBS到华为MetaERP的数据迁移可采用“表对表复制”思路,因其模块化设计下数据模型标准化、边界清晰。核心业务对象存储在结构明确的主表中,与MetaERP模型兼容度高,便于直接映射。而SAP到MetaERP的迁移则因SAP高度优化的复杂表结构(如簇表/池表)、数据分散冗余、深度依赖配置等特点,无法简单复制,必须采用基于业务对象的迁移方法,通过视图/BAPI提取数据并进行深度转换。两种迁移的本质差异源于源系统的数据模型设计理念不同。

金牌架构师 1379
上一篇: Python安装一文搞定!(Mac篇)
下一篇: 手把手教你用python接私活赚钱
大模型应用场景
博客等级 码龄5年 7670粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值