AIGC 背后的技术分析 | 知识图谱
简介: 知识图谱是知识工程的一个分支,以知识工程中语义网络作为理论基础,并且结合了机器学习、自然语言处理以及知识表示和推理的最新成果,在大数据的推动下受到了业界和学术界的广泛关注。知识图谱对于解决大数据中文本分析和图像理解问题发挥了重要作用。 下述内容使用知识图谱和深度学习进行数据分析,该案例需要使用 pip 工具安装以下第三方库:
01、案例实践
1●导入所需的包
2●准备 data.txt 文件
今天美国众议院金融服务委员会针对 Facebook Libra 举行听证会,针对所担心的问题向 Facebook Libra 项目负责人大卫·马库斯(David Marcus)发问。这也是 Libra 面临的第二场听证会。
美国众议院金融服务委员会议员询问,第三方 Libra 钱包是否可以整合入 WhatsApp 和 Facebook Messenger 中,马库斯没有正面回应这一问题。综合昨日马库斯与美国参议院的听证会证词,第三方 Libra 钱包可能无法整合入 WhatsApp 和 Facebook Messenger。读取后的 full_data 变量如下:
3●编写代码
下面一部分代码从 data.txt 文件读取若干段文本,构建文本中出现的单词的上下文图(以 networkx 库中的有向图表示)。
首先用 jieba 分词将每行文本转为单词序列,然后将单词作为节点加入上下文图,最后计算两个单词作为相邻单词出现的次数、并将次数作为节点之间连线的权重;调用 PageRank 算法计算节点的 PageRank 值;最后构建出每个节点的上下文关系数据集:
参考代码如下:
执行代码,所展示的单词节点上下文图如图 1 所示。
图 1 单词节点上下文图
在目标单词上下文中用 jiacobian 距离计算单词的相似性,意味着与目标单词紧挨着的两个词。
下面一部分代码基于上一步得到的 context1 和 context2 计算任意两个节点之间的相似性。基于 context1 计算相似性:节点 a 与节点 b 的相似性等于 a 的所有父子节点与 b 的所有父子节点的并集除以交集。输出相似性大于 0.5 的组合。基于 context2 计算相似性的方法与此类似。
单词相似性:管制 数字 1.0 上线 都 1.0 事实 提问 1.0 阻止 要求 1.0 瑞士 日内瓦 1.0 称 表示 1.0
参考代码如下:
单词相似性:
需要 但 0.9166666666666666 需要 现在 0.9166666666666666 据 需要 0.9166666666666666 上线 强调 0.9090909090909091 事实 提问 1.0 那么 需要 0.9166666666666666 今天 需要 0.9166666666666666 对 需要 0.9166666666666666 透露 手续费 0.9090909090909091 透露 中 0.9090909090909091 透露 强调 0.9523809523809523 透露 上线 0.9523809523809523 透露 报道 0.9090909090909091 透露 日讯 0.9090909090909091 瑞士 日内瓦 1.0 称 表示 1.0 具体 需要 0.9166666666666666 时 透露 0.9090909090909091
node2vec 和 word2vec 是等价图。不同的是在对如上所示的同样的单词上下文图运行了不同的算法。
正如所见两个单词出现时彼此位置很近。
并且为“表示”而选出的最相近前 5 个单词也是有意义的,如表 1 所示。
表 1 单词相似性
版权声明: 本文为 InfoQ 作者【TiAmo】的原创文章。
原文链接:【http://xie.infoq.cn/article/a1cb9f5fc013d58a22c9aa1f3】。文章转载请联系作者。
评论