python 知识图谱 包_python从零开始构建知识图谱笔记

本文是关于使用Python进行知识图谱构建的实践教程,涉及spacy库进行实体识别,通过自定义函数抽取主语和宾语,以及关系抽取。在实践中遇到的问题和解决方案也在文中进行了分享。
摘要由CSDN通过智能技术生成

教程:https://zhuanlan.zhihu.com/p/243211697

前面都进行的好好的,具体的理论因为我已经了解一点了,就不在赘述,教程里面有,直接开始实践,

前面都没啥问题,直接上代码

image.png

image.png

import re

import pandas as pd

import numpy as np

import bs4

import requests

import spacy

from spacy import displacy

nlp = spacy.load('en_core_web_sm')

from spacy.matcher import Matcher

from spacy.tokens import Span

import networkx as nx

import matplotlib.pyplot as plt

from tqdm import tqdm

pd.set_option('display.max_colwidth', 200)

%matplotlib inline

# import wikipedia sentences

candidate_sentences = pd.read_csv("wiki_sentences_v2.csv",header=0)

candidate_sentences.shape

candidate_sentences.sample(7)

doc = nlp("the drawdown process is governed by astm standard d823")

for tok in doc:

print(tok.text, "...", tok.dep_)

好了接下来重点在这里,接下来的一个函数,怎么也对不起行列,出来的答案为空,很奇怪

def get_entities(sent):

## chunk 1

# 我在这个块中定义了一些空变量。prv tok dep和prv tok text将分别保留句子中前一个单词和前一个单词本身的依赖标签。前缀和修饰符将保存与主题或对象相关的文本。

ent1 = ""

ent2 = ""

prv_tok_dep = "" # dependency tag of previous token in the sentence

prv_tok_text = "" # previous token in the sentence

prefix = ""

modifier = ""

#############################################################

for tok in nlp(sent):

## chunk 2

# 接下来,我们将遍历句子中的记号。我们将首先检查标记是否为标点符号。如果是,那么我们将忽略它并转移到下一个令牌。如果标记是复合单词的一部分(dependency tag = compound),我们将把它保存在prefix变量中。复合词是由多个单词组成一个具有新含义的单词(例如“Football Stadium”, “animal lover”)。

# 当我们在句子中遇到主语或宾语时,我们会加上这个前缀。我们将对修饰语做同样的事情,例如“nice shirt”, “big

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值