领域应用 | 从本体论开始说起——运营商关系图谱的构建及应用

本文转载自公众号:中国联通大数据


联通大数据技术专家闫龙将从“本体论”说起,为大家介绍联通大数据关系图谱的构建与应用。

640?wx_fmt=jpeg


一.本体论


万维网之父Tim Berners-Lee教授在1998年将语义网络(Semantic web)带入人类的视线。目的是赋予网络理解词语、概念以及它们之间逻辑关系的能力,使人机交互变得更有效率。本体论(Ontology)做为语义网的核心,是研究实体存在及其本质的通用理论。1993年Thomas Gruber教授提出了本体论最广为认同的定义:共享概念模型的明确的形式化规范说明。这里面实际说了四个概念,即:“概念模型”(Conceptualization)指通过客观世界中一些现象的相关概念而得到的模型;“明确”(Explicit)指所使用的概念及其约束都有明确的定义;“形式化”(Formal)指Ontology是计算机可读的;“共享(Share)”指本体论中体现的是共同认可的知识,反映的是相关领域中公认的概念集。

本体论最初是形而上学的一个分支。对于形而上学的理解这里给出一个例子(如:图1)

640?wx_fmt=jpeg

(图1)

图中中文的“猫”与“猫咪”,英文的“cat”,“猫的图片”都可以用来描述“猫”这个实物。那么在哲学层面,“猫”这样一个实物就是亚里士多德口中的“实体”,巴门尼德口中的“存在”,以及本体论中所说的“本体”。而上图这些描述均指的是“猫”这个“本体”的符号。

从这里,我们能看出“本体”这个概念在哲学层面上是形而上的,是只可意会不可言传的。因此,对于一个实体,所有的描述都是这个“本体”的外在符号,我们感受到的,听到的,看到的,都成为符号到本体的某种映射。

解释完本体哲学层面的意思,我们是否对语义层面的本体有更好的理解呢?其实,其主要目的就是要建立这样一种映射,例如:{“猫”,“猫咪”,“喵咪”,“cat”}这个符号集都映射到“猫”这个“本体”上来。当我们建立了本体的集合,本体间的逻辑关系就是存在的(如:IF A⊆B and B⊆C,THEN A⊆C)。本体的逻辑层提供了公理和推理规则,进而实现相应的逻辑推理,有可能是“属性-本体”的关系,有可能是“子类-本体”的关系,也有可能是“本体-本体”的对立或者是近似关系。本体论最终的目的是去实现知识表达,构建知识库,实现知识推理,即借由本体论中的基本元素:实体与实体间的关联,作为描述真实世界的知识模型。

二.知识图谱


这种知识模型究竟有什么用呢?Google在2012年提出Knowledge Graph,就是为了将传统的keyword-based搜索向基于语义的搜索升级。知识图谱可以用来更好的查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。这里借用本体的概念给出我个人对知识图谱的理解:知识图谱就是用来描述真实世界中存在的各种实体,以及他们之间的关系,而实体本身会有多样实例,属性。就像之前“猫的例子”(如下图2),当我们查询“喵喵喵喵喵”时,返回的不会是抖音上很红的《学猫叫》,而是“猫”这个实体。同时,在其他知识的补充下我们可以知道“猫”有一个实例是“茄子”,而“茄子”的主人是我,我和小胡都就职于联通大数据,并且通话关系很密切。当我们知识库中的实体、关系、属性、实例等的量级非常大时就能绘制成一个巨型的网络关系拓扑图。有了这样的知识库,搜索引擎就能洞察用户查询背后的语义信息,返回更为精准的信息。换言之,知识图谱引入了更多的含义,对事物进行搜索,像人类一样去思考、联想、关联。这也印证了Google knowledge graph的初衷:“The world is not made of strings , but is made of things.”

640?wx_fmt=jpeg

(图2)

另外,如果我们把各种语言的“猫”都映射到“猫”这个本体上,再基于与名词主体、动词主体构建的逻辑关系或动宾短语等,通过反映射就可以实现简易的机器翻译。

三.图数据库


2018年9月,我们有一篇题为《专家课堂|NoSQL还是SQL》的公众号提到图数据库,文中给出了NoSQL or SQL, Why NoSQL之类的话题。其中的基于场景选择也有相应的介绍,这里就不做赘述了。从上一节的图中,我们可以清晰地看出,通话记录就能以实体及关系的方式存储。这是运营商数据的固有优势,在我们的场景里不用花太多时间去做基于nlp技术的实体抽取、关系抽取。我们关注的重点则是通话关系网络中,如何保证海量的动态更新的通话节点及关系载入图中、哪些人有哪些通话行为特征、这些图中挖掘出的特征如何贡献在现有的场景模型中等等。比如在风控领域,我们正在应用图发现相关方法探索样本号码或ID是否在一个诈骗社区,是否有稳定的通话社交圈,与黑产号码存在几度的关联,关联系数是怎样的,是否有多个电话组内关联等。这些都将是风控、反欺诈类模型的新特征。

测试数据集选用三个月全网用户的通话记录,节点属性包括是否联通号、手机号码对应职住经纬度等;边属性包括号码间三个月的主被叫通话次数、主被叫次数,天数,时长等。数据集大小约为750G,载入图数据库结果如图3。

640?wx_fmt=png

(图3)

载入后根据每台机器VertexCount和EdgeCount可以看到图数据库共加载了约17亿节点(号码),340亿边(通话关系)。其中NumOfSkippedVertices表达了一个去重的过程,即:每个节点只加载一遍。因此,partition size的总和只有590G左右,实际上是对数据进行了压缩。

做一个简单的号码关系查询(如图4),在百亿级边的图数据库里可以实现毫秒级响应。值得注意的有两点:1. 查询返回为json格式;2. 查询语言为类sql语言。

640?wx_fmt=jpeg(图4)

我们可以将查询语言以文件形式存储,通过install/run query进行查询。同时,在后台install一个查询还会生成一个REST端点,这样就可以通过http来调用参数化查询。如图5,通过查询语言进行图遍历,寻找两个号码间的最短距离。这样就能实现我们熟悉的六度空间理论(小世界理论),即:世界上任何两个人最多只需通过6个关系就能找到对方。

640?wx_fmt=jpeg

(图5)

如果我们定义号码与号码间的通话频次为关系权重,每个人的通话人数为通话活跃度。试想,一个人和你没有通话记录,但是和你的好朋友通话比较频繁,你是不是也有可能认识这个人呢?这个查询就是从图中挖掘你可能认识的人。查询输入是待查号码与最可能认识的k个手机号,返回是查询号码和输入号码的距离(如图6)。

640?wx_fmt=jpeg

(图6)

最后,给出一个真实的场景案例,是否能够通过企业少数员工号码、imei或其他ID,寻找企业员工群体,并对该群体进行分析,来反应企业实际经营地址、活跃度等情况呢?这里给出【2步邻居子图】的概念(以手机号做节点为例),即:输入号码联系人及联系人的联系人(如图7,这里使用可视化交互界面展示通话关系)。

640?wx_fmt=jpeg

(图7)

在模型搭建过程中,我们对通话时间段、时长、频次进行分析,评估可能存在的同事关系,并基于现有职住模型以及栅格技术挖掘企业真实经营地址。以我自己手机号为例(如图8),可以看到返回企业员工主要聚集的工作地(数字表示工作地在相应栅格内的人数),即:联通大数据公司两个办公区(职住数据取自2018年12月)、联通集团。

640?wx_fmt=png

(图8)

基于对人群行为的洞察,该模型能够帮助工商部门动态的、客观的对企业真实位置、企业活跃情况进行评估与判断,为相关监察监管提供数据支撑。

值得一提的是,基于联通大数据关系图谱,在十亿级节点、百亿级边的大型网络结构中,查询6步邻居子图也只需要不到1秒(如图9)。可视化交互界面如图10(中间白色点为我的手机号)。

640?wx_fmt=jpeg

(图9)

640?wx_fmt=png

(图10)

为了更细节的洞察网络中的关系,将展示阈值缩小(如图11)。经查验,中间环形结构上的每个点相互间都是同事关系。社交网络中环形结构上的点往往存在某种隐含关联,同事关系、亲疏关系、团伙关系、资金流向等等。基于不同样本、不同场景的应用,相较于传统数据库类型,图数据库可以最大程度挖掘样本间的关联关系。

640?wx_fmt=png(图11)

另外,大量经典的图挖掘算法,如:社区发现,Pagerank,LPA等也已ready,为传统机器学习模型入模特征增加更多的图特征。

总之,本体、知识图谱、图数据库都是用节点和关系为真实世界的各个场景直观地建模,运用“图”这种基础性、通用性的“语言”,“高保真”地表达这个多姿多彩世界的各种关系,并且非常直观、自然、直接和高效。联通数据拥有得天独厚的“节点”、“关系”优势,我们正坚定不移的走在图发现的道路上!


640?wx_fmt=jpeg



OpenKG


开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480072.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

史上最强多线程面试44题和答案:线程锁+线程池+线程同步等

最全BAT必考题答案系列 最全MySQL面试60题和答案 史上最全Spring面试71题与答案 史上最全Redis面试49题(含答案):哨兵复制事务集群持久化等 分布式缓存RedisMemcached经典面试题和答案 最全Java锁详解:独享锁/共享锁公平锁/非公平锁乐观锁…

部门直推!百度大搜索招聘NLP、搜索方向算法工程师!

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术工作职责负责百度搜索排序相关性(Relevance)策略。 职位要求-了解主流机器学习算法。 -优秀的分析问题和解决问题的能力,对解决具有挑战性问题充满激情。 -C/C语言编程&…

POJ 1276 ATM凑钱(动态规划)(未解答)

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. 代码2.1 Accepted代码1. 题目 1.1 题目链接 http://poj.org/problem?id1276 1.2 题目大意 需要凑的钱最多100000,面额最多10种,每种张数最多1000,面额最大不超过1000 1.3 解题思…

论文浅尝 | 为基于知识库的问答构建形式查询生成

论文笔记整理:刘晓臻,东南大学计算机科学与工程学院本科生。Citation: H.Zafar, G. Napolitano, and J. Lehmann. Formal query generation for questionanswering overknowledge bases. ESWC, 2018.https://link.springer.com/content/pdf/10.1007%2F97…

Java多线程系列(十一):ReentrantReadWriteLock的实现原理与锁获取详解

我们继续Java多线程与并发系列之旅,之前我们分享了Synchronized 和 ReentrantLock 都是独占锁,即在同一时刻只有一个线程获取到锁。 然而在有些业务场景中,我们大多在读取数据,很少写入数据,这种情况下,如…

这篇顶会paper,讲述了疫情期间憋疯的你和我

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术编 | 小轶2020年净忙着见证历史了。年初疫情爆发后,大家的生活模式也因为疫情发生了巨变。经历了史上最长假期,躺尸太久,到后来满脑子只想开学/复工。今年KDD会议上有一篇很…

论文浅尝 | Knowledge Vault: 全网规模的知识概率融合方法

论文笔记整理:吴桐桐,东南大学博士生,研究方向为自然语言处理。链接:https://www.cs.ubc.ca/~murphyk/Papers/kv-kdd14.pdf基于机器学习,Knowledge Vault不仅能够从多个来源(文本,表格数据&…

java程序员的必用的9款开发工具

今天推荐java程序员开发利器,包含如如下: 开发环境: Eclipse IntelliJ IDEA IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等&#xff…

动态规划应用--搜索引擎拼写纠错

文章目录1. 字符串相似度1.1 莱文斯坦距离1.2 最长公共子串长度2. 计算编辑距离2.1 莱文斯坦距离2.2 最长公共子串长度3. 搜索引擎拼写纠错4. 练习题在 Trie树那节讲过,利用Trie可以进行关键词提示,节省输入时间。在搜索框中你不小心打错了字&#xff0c…

玩转算法之面试第十章-贪心算法

leetcode 455 分配饼干 尝试将最大的饼干给最贪心的朋友 如果满足&#xff0c;则1 如果不满足&#xff0c;则将最大的饼干给次贪心的朋友&#xff0c;一次类推 试图让最多的小朋友开心 在这里插入代码片 #include<iostream> #include<vector>using namespace …

论文浅尝 | 基于知识库的自然语言理解 04#

本文转载自公众号&#xff1a;知识工场。罗康琦&#xff0c;上海交通大学计算机系2019届博士&#xff0c;研究方向为自然语义理解和知识图谱。2012年获得华中科技大学软件工程学士学位&#xff0c;现就职于京东数据科学实验室&#xff08;Data Science Lab&#xff09;。他曾在…

BERT跨模态之后:占领了视觉常识推理任务榜单TOP 2!

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 小鹿鹿lulu编 | YY前言由于 BERT-like 模型在 NLP 领域上的成功&#xff0c;研究者们开始尝试将其应用到更为复杂的 多模态 任务上。要求模型除文本数据以外&#xff0c;还要接收其他模态的数据&#xf…

常见的算法面试问题以及代码实现

1 时间复杂度分析 一个简单的时间测试代码如下&#xff1a; #include<iostream> #include<cmath> #include<ctime>using namespace std;int main(){for(int x1;x<9;x){int npow(10,x);clock_t startTimeclock();int sum0;for(int i0;i<n;i)sumi;clock…

阿里P8架构师谈:高并发与多线程的关系、区别、高并发的技术方案

什么是高并发&#xff1f; 高并发&#xff08;High Concurrency&#xff09;是一种系统运行过程中遇到的一种“短时间内遇到大量操作请求”的情况&#xff0c;主要发生在web系统集中大量访问收到大量请求&#xff08;例如&#xff1a;12306的抢票情况&#xff1b;天猫双十一活动…

LeetCode 1. 两数之和(哈希)

文章目录1. 题目2. 解题1. 暴力解法2. 哈希法3. python3解答1. 题目 题目链接&#xff1a;https://leetcode-cn.com/problems/two-sum/ 给定一个整数数组 nums 和一个目标值 target&#xff0c;请你在该数组中找出和为目标值的那 两个 整数&#xff0c;并返回他们的数组下标。…

论文浅尝 | TuckER:基于张量分解的知识图谱补全

笔记整理&#xff1a;孙泽群&#xff0c;南京大学计算机科学与技术系&#xff0c;博士研究生。论文链接&#xff1a;https://arxiv.org/abs/1901.09590背景知识图谱是图结构的数据库&#xff0c;以三元组(es, r, eo)的形式存储事实&#xff0c;其中es和eo分别表示主语和宾语实体…

阿里Java P系列技术要求(P5-P7)

阿里p系列薪资&#xff08;最新数据比这个高1倍左右&#xff09; 阿里P5&#xff08;高级研发工程师&#xff09; 工作要求&#xff1a; 能独立完成日常工作&#xff0c;并能够对一些方案提出自己的建议。 基本考核就是能上手独立完成工作&#xff0c;熟练掌握。 技能要求…

如何配置一台深度学习工作站?

星标/置顶小屋&#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术这篇文章主要介绍的是家用的深度学习工作站&#xff0c;典型的配置有两种&#xff0c;分别是一个 GPU 的机器和四个 GPU的机器。如果需要更多的 GPU 可以考虑配置两台四个 GPU 的机器。如果希望一台机器同时具…

LeetCode 2. 两数相加(单链表反转)

题目链接&#xff1a;https://leetcode-cn.com/problems/add-two-numbers/ 给出两个 非空 的链表用来表示两个非负的整数。其中&#xff0c;它们各自的位数是按照 逆序 的方式存储的&#xff0c;并且它们的每个节点只能存储 一位 数字。 如果&#xff0c;我们将这两个数相加起…

报名 | 全国知识图谱与语义计算大会(CCKS 2019)评测任务发布

全国知识图谱与语义计算大会是由中国中文信息学会语言与知识计算专委会定期举办的全国年度学术会议。CCKS 2018吸引了来自学术界和工业界的超800人参加。2019 年全国知识图谱和语义计算大会(www.ccks2019.cn) 将于2019年8月24日至8月27日在杭州召开&#xff0c;CCKS 2019的主题…