如何实现依据依存关系构造邻接矩阵(有向图)

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@Filename :depency_matix.py
@Description :
@Datatime :2021/10/08 11:03:42
@Author :qtxu
@Version :v1.0
@function:通过依存关系生成邻接矩阵
'''import spacy
from tqdm import tqdm
import numpy as npdef adj_dependcy_tree(argments, max_length):# nlp = spacy.load('en')nlp = spacy.load("en_core_web_sm")depend = []depend1 = []doc = nlp(str(argments)) # doc表示当前的sentenceprint(doc)d = {}i = 0for(_, token) in enumerate(doc):if str(token) in d.keys():continued[str(token)] = ii = i+1for token in doc:depend.append((token.text, token.head.text)) #将关系对加入depend[]# print("token.text: ",token.text)# print("token.head.text:", token.head.text)depend1.append((d[str(token)], d[str(token.head)]))ze = np.identity(max_length) # np.identity(n) 创建n*n的矩阵for(i,j) in depend1:if i >= max_length or j >= max_length:continueze[i][j] = 1# D = np.array(np.sum(ze, axis=1))# D = np.matrix(np.diag(D))# DSN = np.sqrt(D** -1)# DN = D ** -1# return ze, DN, DSNreturn zeif __name__ == "__main__":cur_length = 5  # 长度大于等于句子长度即可argments = "I love eating apple."print(adj_dependcy_tree(argments,max_length=cur_length) )

程序结果:

[[1. 1. 0. 0. 0.][0. 1. 0. 0. 0.][0. 1. 1. 0. 0.][0. 0. 1. 1. 0.][0. 1. 0. 0. 1.]]

python 如何实现依据依存关系构造邻接矩阵(有向图)相关推荐

  1. python叫什么-Python为什么叫爬虫?Python与爬虫有什么关系?

    今天听到有人问:Python为什么叫爬虫?我的脑袋里第一反应不是答案,而是为什么有人会问这个问题,我想大家对Python的概念有点模糊,将Python与爬虫混淆,所以今天我向大家解释一下. 什么是Py ...

  2. python爬虫什么意思-Python为什么叫爬虫?Python与爬虫有什么关系?

    今天听到有人问:Python为什么叫爬虫?我的脑袋里第一反应不是答案,而是为什么有人会问这个问题,我想大家对Python的概念有点模糊,将Python与爬虫混淆,所以今天我向大家解释一下. 什么是Py ...

  3. NER依存关系模型:原理,建模及代码实现

    NER依存关系模型:原理,建模及代码实现 seq2seq理论基础 NER依存关系建模 代码实现 命名实体识别(Named Entity Recognization, NER)是AI任务中重要的一类,而 ...

  4. python 数据分析学什么-学好python和数据分析有什么关系?

    原标题:学好python和数据分析有什么关系? 没有一毛钱关系,可能存在一分钱的关系 先从2则高级数据分析师的招聘看起: 第一个: 任职要求: 1.统计学,数学,计算机等专业本科及以上学历,3~8年或 ...

  5. Effective C++笔记_条款31将文件间的编译依存关系降至最低

    Effective C++笔记_条款31将文件间的编译依存关系降至最低 这个章节,读了两遍还是不是很清楚,有一种没法和作者沟通的感觉,看来我还是一个C++的初学者呀.好吧,不多说了,回归主题,今天的笔 ...

  6. Effective C++ 阅读笔记(一)透彻了解inline以及降低编译依存关系

    inline内敛 1.类似于C中的#define 在C++中,提供了inline函数来代替C中的宏定义.(通常可以使用const来代替单纯变量的宏定义,它可以提供类型检查.对于形似函数的宏,最好改用i ...

  7. java来构造邻接矩阵

    使用java来构造邻接矩阵 "代码如下" FileUtil,java package com.gongjiao;import java.io.BufferedReader; imp ...

  8. NLP入门概览(9) ——句法分析c:局部句法分析、依存关系分析

      在上一部分中,我们介绍了基于规则法.概率统计法.神经网络法的完全句法分析方法(NLP入门概览(8)--句法分析b:完全句法分析).   在这一部分中,我们将介绍句法分析中的另外两种类型:局部句法分 ...

  9. 词性、句法分析、依存关系的符号解释

    词性.句法分析.依存关系的符号解释 (来源:Stanford Parser的使用--进行词法语法分析) 词性解释 CC: conjunction, coordinatin 表示连词 CD: numer ...

最新文章

  1. 微信公众号中网页安全提示去掉
  2. VTK:网格之CapClip
  3. DL HARQ UCI in PUCCH — R16
  4. 一行Python代码
  5. html 常见hack,针对主流浏览器的CSS-HACK写法及IE常用条件注释
  6. uni-app/微信小程序:验证手机号 身份证 邮箱(正则表达式)
  7. 80-200-040-原理-MySQL服务端架构
  8. 什么是php 的精华,在用PHP开发中的精华和技巧总结
  9. ubuntu 18.04,无线网卡无驱动,连不上wifi,显示wifi没有适配器的解决方法
  10. C# 置顶EXE 把EXE放最前面 ProcessStartInfo
  11. 关于合格工程师素养的一些思考
  12. c#餐饮系统打印机_C#实现打印机功能
  13. android 信号检测,卫星、手机信号都能测!安卓神器你值得拥有
  14. 用java根据年份判断生肖_怎样根据年份确定生肖
  15. Ubuntu 16.04 系统装机、编译环境配置及代码编译过程小结
  16. MySQL版本号后面包含“-log”代表什么意思?
  17. motd 自定义欢迎界面
  18. 具有路线规划功能的外卖平台(Qt,C++,C/S架构,MySql)
  19. padStart()和padEnd()
  20. 手把手带你学习微信小程序 —— 十(icon 标签【微信默认标签】)

热门文章

  1. 【Codeforces 538 H】Summer Dichotomy(二分图染色)
  2. 保研之路——上科大信息学院直硕夏令营
  3. IPv6邻居发现协议--NDP详解
  4. 为什么定义补码等于反码加一,知其所以然
  5. canal deployer+canal adapter自动同步MySQL数据到ElasticSearch
  6. 从0到1 开启商业与未来的秘密读书笔记
  7. ERROR Deployer not found: git
  8. win10 截图工具
  9. PAT : 基础编程题目集_函数题答案(6-1 ~ 6-13)(C语言)
  10. 浏览器火狐3.0发布之盛况