本文共2865个字,预计阅读时间需要10分钟。

Aminer

科技情报大数据挖掘与服务系统平台AMiner是由清华大学计算机科学与技术系教授唐杰率领团队建立的,具有完全自主知识产权的新一代科技情报分析与挖掘平台 。

AMiner平台以科研人员、科技文献、学术活动三大类数据为基础,构建三者之间的关联关系,深入分析挖掘,面向全球科研机构及相关工作人员,提供学者、论文文献等学术信息资源检索以及面向科技文献、专利和科技新闻的语义搜索、语义分析、成果评价等知识服务。典型的知识服务包括:学者档案管理及分析挖掘、专家学者搜索及推荐、技术发展趋势分析、全球学者分布地图、全球学者迁徙图、开放平台等。


Academic Social Network数据集

数据集地址:https://www.aminer.cn/aminernetwork

Supplement: The relaionship between author id and paper id AMiner-Author2Paper.zip. The 1st column is index, the 2nd colum is auhor id, the 3rd column is paper id, the 4th column is author’s position.
连上补充数据一共4个数据集文件。

该数据的内容包括论文信息,论文引文,作者信息和作者协作。 2,092,356篇论文和8,024,869之间的引用被保存在文件AMiner-Paper.rar中; 1,712,433位作者被保存在AMiner-Author.zip文件中,4,258,615位合作关系被保存在文件AMiner-Coauthor.zip中。

连上补充数据一共4个数据集文件。


数据三元组转化与连接

将上述4个数据集下载到本地目录后通过Python脚本读取、处理、连接生成实体csv和关系csv文件。

脚本代码:https://github.com/xyjigsaw/Aminer2KG

脚本生成的数据包括一下几个部分:

  • author2csv.py includes
    e_author.csv: author entity
    e_affiliation.csv: affiliation entity
    e_concept.csv: concept entity
    r_author2affiliation.csv: relation between author and affiliation
    r_author2concept.csv: relation between author and concept
  • author2paper2csv.py includes
    r_author2paper.csv: relation between author and paper
  • paper2csv.py includes
    e_paper.csv: paper entity
    e_venue.csv: venue entity
    r_paper2venue.csv: relation between paper and venue
    r_citation.csv: relation between papers
    r_coauthor.csv: relation between authors

汇总

以上共5个实体类型,6个关系类型。

至此,生成了Aminer学术社交网络知识图谱三元组数据。


导入Neo4j

将上述11个csv文件放入Neo4j数据库的import文件夹中。

在Neo4j桌面端控制台一句一句执行下述CYPHER代码:

包含了实体节点导入、实体索引构建、关系导入、关系索引构建。

USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///e_author.csv" AS line
CREATE (author:AUTHOR{authorID:line.authorID, authorName:line.authorName, pc:line.pc, cn:line.cn, hi:line.hi, pi:line.pi, upi:line.upi})USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///e_affiliation.csv" AS line
CREATE (affiliation:AFFILIATION{affiliationID:line.affiliationID, affiliationName:line.affiliationName})USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///e_concept.csv" AS line
CREATE (concept:CONCEPT{conceptID:line.conceptID, conceptName:line.conceptName})USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///e_paper.csv" AS line
CREATE (paper:PAPER{paperID:line.paperID, paperTitle:line.title, paperYear:line.year, paperAbstract:line.abstract})USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///e_venue.csv" AS line
CREATE (venue:VENUE{venueID:line.venueID, venueName:line.name})CREATE INDEX ON: AUTHOR(authorID)CREATE INDEX ON: AFFILIATION(affiliationID)CREATE INDEX ON: CONCEPT(conceptID)CREATE INDEX ON: PAPER(paperID)CREATE INDEX ON: VENUE(venueID)USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///r_author2affiliation.csv" AS line
MATCH (FROM:AUTHOR{authorID:line.START_ID}), (TO:AFFILIATION{affiliationID:line.END_ID})
MERGE (FROM)-[AUTHOR2AFFILIATION: AUTHOR2AFFILIATION{type:line.TYPE}]->(TO)USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "file:///r_author2concept.csv" AS line
MATCH (FROM:AUTHOR{authorID:line.START_ID}), (TO:CONCEPT{conceptID:line.END_ID})
MERGE (FROM)-[AUTHOR2CONCEPT: AUTHOR2CONCEPT{type:line.TYPE}]->(TO)USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///r_author2paper.csv" AS line
MATCH (FROM:AUTHOR{authorID:line.START_ID}), (TO:PAPER{paperID:line.END_ID})
MERGE (FROM)-[AUTHOR2PAPER: AUTHOR2PAPER{type:line.TYPE, author_pos:line.author_position}]->(TO)USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///r_citation.csv" AS line
MATCH (FROM:PAPER{paperID:line.START_ID}), (TO:PAPER{paperID:line.END_ID})
MERGE (FROM)-[CITATION: CITATION{type:line.TYPE}]->(TO)USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///r_coauthor.csv" AS line
MATCH (FROM:AUTHOR{authorID:line.START_ID}), (TO:AUTHOR{authorID:line.END_ID})
MERGE (FROM)<-[COAUTHOR: COAUTHOR{type:line.TYPE, n_cooperation:line.n_cooperation}]->(TO)USING PERIODIC COMMIT 5000
LOAD CSV WITH HEADERS FROM "file:///r_paper2venue.csv" AS line
MATCH (FROM:PAPER{paperID:line.START_ID}), (TO:VENUE{venueID:line.END_ID})
MERGE (FROM)-[PAPER2VENUE: PAPER2VENUE{type:line.TYPE}]->(TO)CREATE INDEX ON: AUTHOR(authorName)CREATE INDEX ON: AFFILIATION(affiliationName)CREATE INDEX ON: CONCEPT(conceptName)CREATE INDEX ON: PAPER(paperTitle)CREATE INDEX ON: VENUE(venueName)

预览


知识图谱嵌入

这部分将上述千万级三元组训练成嵌入数据,PyTorch-BigGraph(PBG)给出了令人满意的解决方案。PBG是一个分布式大规模图嵌入系统,能够处理多达数十亿个实体和数万亿条边的大型网络图结构。图结构分区、分布式多线程和批处理负采样技术赋予了PBG处理大型图的能力。

这部分内容具体请看:https://www.omegaxyz.com/2020/07/12/aminer-academic-social-network/


项目代码:Aminer2KG

更多内容访问 omegaxyz.com
网站所有代码采用Apache 2.0授权
网站文章采用知识共享许可协议BY-NC-SA4.0授权
© 2020 • OmegaXYZ-版权所有 转载请注明出处

Aminer学术社交网络数据知识图谱构建(三元组与嵌入)相关推荐

  1. 图谱实战 | 知识图谱构建的一站式平台gBuilder

    OpenKG地址:http://openkg.cn/tool/gbuilder 网站地址:http://gbuilder.gstore.cn 知识图谱能够让机器去理解和认知世界中的事物和现象,并解释现 ...

  2. 【知识图谱】知识图谱数据构建的“硬骨头”,阿里工程师如何拿下?深度学习在知识图谱构建中的应用。

    阿里妹导读:搜索"西红柿",你不但能知道它的营养功效.热量,还能顺带学会煲个牛腩.炒个鸡蛋!搜索引擎何时变成"暖男"了?原来背后有"知识图谱" ...

  3. AI比赛-三元组抽取:CCKS2023 开放环境下的知识图谱构建与补全评测任务一:指令驱动的自适应知识图谱构建

    任务描述 指令驱动的自适应知识图谱构建(InstructionKGC)是一种以用户指令为基础,实时更新和优化知识图谱结构的方法.这种方法的核心目标是根据用户需求调整知识图谱的表示,从而实现更准确.更高 ...

  4. 工业安全大数据汇聚与治理、2、多模态数据挖掘与知识图谱构建、3、超融合软件平台构建与工程应用概念

    1.工业安全大数据汇聚与治理 大数据汇聚,即将多元化数据整合,由于时空大数据来源广泛.渠道繁杂.形式各异,汇聚时要采用一定方法如:多源异构数据自适应汇聚.数据汇聚系统是多源异构生态系统科学数据的汇聚平 ...

  5. 知识图谱构建3——使用D2RQ将mysql数据转换成RDF数据

    知识图谱构建3--使用D2RQ将mysql数据转换成RDF数据 D2RQ的安装可以参考:https://blog.csdn.net/weixin_41104835/article/details/88 ...

  6. 虚拟专题:知识图谱 | 医学知识图谱构建关键技术及研究进展

    来源:<大数据> 医学知识图谱构建关键技术及研究进展 谭玲1, 鄂海红1, 匡泽民2, 宋美娜1, 刘毓1, 陈正宇1, 谢晓璇1, 李峻迪1, 范家伟1, 王晴川1, 康霄阳1 1 北京 ...

  7. 多模态数据+知识图谱,这次你的疑难杂症有解了!

    数据是AI的基础,不同行业领域的数据来源广泛.形式多样,其每一种来源或形式都可以看作是一种模态,例如视频.图片.语音以及工业场景下的传感数据,红外.声谱等. 多模态数据的语义理解与知识表示让智能体能更 ...

  8. CCKS-2017 行业知识图谱构建与应用-下篇

    http://www.sohu.com/a/192557627_99934777 摘要: 这篇是PPT的下半部分,更加偏重于实战中关键技术的难点剖析. 行业知识图谱关键技术 上篇我们讲行业知识图谱生命 ...

  9. 技术动态 | 知识图谱构建的研究已走入下半场,但大规模落地应用仍需时间

    本文转载自公众号:AI前线. 作者 | 李冬梅 采访嘉宾 | 唐杰 知识图谱是近年来人工智能技术蓬勃发展的核心驱动力之一,已广泛应用在金融.电商.医疗.政务等众多领域,经过短短几年的发展,热度依旧不减 ...

  10. 虚拟专题:知识图谱 | 流程工业控制系统的知识图谱构建

    来源:智能科学与技术学报 流程工业控制系统的知识图谱构建 牟天昊1, 李少远1,2 1 上海交通大学电子信息与电气工程学院 2 上海交通大学系统控制与信息处理教育部重点实验室 摘要:近年来,工业控制系 ...

最新文章

  1. 认识一下Global.asa 文件
  2. 卷积神经网络(CNN)之池化层的实现
  3. 【2021Java最新学习路线】java前端开发
  4. 2021-09-07客户端向 NameNode 请求创建文件,NameNode 根据元数据信息计算出文件的元数 据信息
  5. SQL查找是否存在,别再count了
  6. JDK7和JDK8的区别
  7. QSS设置字体透明度
  8. 创业维艰:为啥大多数创业者都不开心?
  9. 一篇文教你使用python Turtle库画出“精美碎花小清新风格树”快来拿代码!
  10. C语言回车符号和换行符
  11. 【ASM】字节码操作 ClassWriter COMPUTE_FRAMES 的作用 与 visitMaxs 的关系
  12. apache poi-检测到Zip Bomb解决方案
  13. 从社会网络角度再现 老干妈和腾讯事件(0712,咯咯咯)
  14. 云计算与云存储,具体是什么关系?
  15. 饿了么UI图片上传的实现
  16. 烧菜技巧 如何炒辣椒油
  17. Axure原型图设计工具使用记录
  18. Android系统的由来
  19. 参加面试除了带简历外还要带哪些去面试
  20. 防关联浏览器使用案例:安全、电子商务、营销

热门文章

  1. 03. 绝对不要以多态(polymorphically)方式处理数组
  2. 平面图设计软件测试自学,CAD平面自学网教程
  3. 吉大计算机学院周柚,周柚
  4. dubbo的基于java的路由_1 | Dubbo:探讨标签路由的实现
  5. mysql连网安装和断网安装的区别_Linux 断网安装MySQL5.x操作步骤
  6. 递归和迭代_斐波那契数列的实现:递归方式和迭代方式
  7. python123词频统计之哈姆雷特_基于Yarn的Spark环境,统计哈姆雷特词频(1)-阿里云开发者社区...
  8. jQuery特效:实现网站导航抖动效果
  9. LMM(LightMoonMovie)亮月湾电影分享管理系统;
  10. C++_实现一个简单的智能指针shared_ptr